<?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>190069</bug_id>
          
          <creation_ts>2018-09-27 21:39:48 -0700</creation_ts>
          <short_desc>Replace every use of Node::offsetInCharacters() by Node::isCharacterDataNode()</short_desc>
          <delta_ts>2018-09-28 12:48:31 -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>DOM</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="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>cdumez</cc>
    
    <cc>darin</cc>
    
    <cc>koivisto</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1464297</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2018-09-27 21:39:48 -0700</bug_when>
    <thetext>The implementation of Node::offsetInCharacters() is identical to Node::isCharacterDataNode().

It&apos;s super confusing because offsetInCharacters() sounds like a function
which returns the number of characters in the node, or some kind of an offset within the characters.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1464299</commentid>
    <comment_count>1</comment_count>
      <attachid>351052</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2018-09-27 21:45:19 -0700</bug_when>
    <thetext>Created attachment 351052
Cleanup</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1464463</commentid>
    <comment_count>2</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2018-09-28 12:47:25 -0700</bug_when>
    <thetext>Committed r236607: &lt;https://trac.webkit.org/changeset/236607&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1464465</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-09-28 12:48:31 -0700</bug_when>
    <thetext>&lt;rdar://problem/44872083&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>351052</attachid>
            <date>2018-09-27 21:45:19 -0700</date>
            <delta_ts>2018-09-28 12:41:33 -0700</delta_ts>
            <desc>Cleanup</desc>
            <filename>bug-190069-20180927214518.patch</filename>
            <type>text/plain</type>
            <size>14153</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIzNjU4NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ3IEBACisyMDE4LTA5LTI3ICBSeW9zdWtl
IE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIFJlcGxhY2UgZXZlcnkgdXNlIG9m
IE5vZGU6Om9mZnNldEluQ2hhcmFjdGVycygpIGJ5IE5vZGU6OmlzQ2hhcmFjdGVyRGF0YU5vZGUo
KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkwMDY5
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3Zl
ZCBOb2RlOjpvZmZzZXRJbkNoYXJhY3RlcnMoKSBhbmQgcmVwbGFjZWQgZXZlcnkgdXNlIG9mIGl0
IGJ5IGlzQ2hhcmFjdGVyRGF0YU5vZGUoKQorICAgICAgICBiZWNhdXNlIHRoZWlyIGltcGxlbWVu
dGF0aW9ucyBhcmUgaWRlbnRpY2FsLgorCisgICAgICAgIE5vdGUgdGhhdCBvZmZzZXRJbkNoYXJh
Y3RlcnMoKSBzb3VuZHMgbGlrZSBhIGZ1bmN0aW9uIHdoaWNoIHJldHVybnMgc29tZSBraW5kIG9m
IGFuIG9mZnNldAorICAgICAgICBidXQgaXQgZG9lc24ndC4gSXQgcmV0dXJucyB0cnVlIHdoZW4g
Y2FsbGVkIG9uIGEgQ2hhcmFjdGVyRGF0YSBhbmQgZmFsc2UgZWxzZXdoZXJlLgorCisgICAgICAg
ICogYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNo
YXJhY3Rlck9mZnNldHNJbk9yZGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6
OnN0YXJ0T3JFbmRDaGFyYWN0ZXJPZmZzZXRGb3JSYW5nZSk6CisgICAgICAgIChXZWJDb3JlOjpB
WE9iamVjdENhY2hlOjpjaGFyYWN0ZXJPZmZzZXRGcm9tVmlzaWJsZVBvc2l0aW9uKToKKyAgICAg
ICAgKiBkb20vQ2hhcmFjdGVyRGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDaGFyYWN0ZXJE
YXRhOjpvZmZzZXRJbkNoYXJhY3RlcnMgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIGRvbS9D
aGFyYWN0ZXJEYXRhLmg6CisgICAgICAgICogZG9tL05vZGUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Tm9kZTo6b2Zmc2V0SW5DaGFyYWN0ZXJzIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBk
b20vTm9kZS5oOgorICAgICAgICAqIGRvbS9Qb3NpdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpQb3NpdGlvbjo6cGFyZW50QW5jaG9yZWRFcXVpdmFsZW50IGNvbnN0KToKKyAgICAgICAgKiBk
b20vUG9zaXRpb24uaDoKKyAgICAgICAgKFdlYkNvcmU6Omxhc3RPZmZzZXRJbk5vZGUpOgorICAg
ICAgICAoV2ViQ29yZTo6bWluT2Zmc2V0Rm9yTm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpvZmZz
ZXRJc0JlZm9yZUxhc3ROb2RlT2Zmc2V0KToKKyAgICAgICAgKiBkb20vUmFuZ2UuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UmFuZ2U6OmZpcnN0Tm9kZSBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpSYW5nZTo6cGFzdExhc3ROb2RlIGNvbnN0KToKKyAgICAgICAgKiBkb20vUmFuZ2VCb3VuZGFy
eVBvaW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpSYW5nZUJvdW5kYXJ5UG9pbnQ6OnNldE9mZnNl
dCk6CisgICAgICAgIChXZWJDb3JlOjpSYW5nZUJvdW5kYXJ5UG9pbnQ6OnNldFRvRW5kT2ZOb2Rl
KToKKyAgICAgICAgKiBlZGl0aW5nL0VkaXRpbmcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6bGFz
dE9mZnNldEZvckVkaXRpbmcpOgorICAgICAgICAqIGVkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Om5leHRJblByZU9yZGVyQ3Jvc3NpbmdTaGFkb3dCb3VuZGFyaWVz
KToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRJdGVyYXRvcjo6bm9kZSBjb25zdCk6CisgICAgICAg
IChXZWJDb3JlOjpTaW1wbGlmaWVkQmFja3dhcmRzVGV4dEl0ZXJhdG9yOjpTaW1wbGlmaWVkQmFj
a3dhcmRzVGV4dEl0ZXJhdG9yKToKKyAgICAgICAgKiBwYWdlL0RPTVNlbGVjdGlvbi5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpET01TZWxlY3Rpb246OmV4dGVuZCk6CisKIDIwMTgtMDktMjYgIFJ5
b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVXNlIGVudW0gY2xhc3Mg
aW4gY3JlYXRlTWFya3VwIGFyZ3VtZW50cwpJbmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BWE9iamVjdENhY2hlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCShyZXZpc2lvbiAyMzY1ODIpCisrKyBTb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0xODIzLDkgKzE4MjMsOSBAQCBzdGF0aWMgYm9vbCBjaGFyYWN0ZXJPZmZzZXRzSW5PcmRlcihj
b25zCiAgICAgCiAgICAgTm9kZSogbm9kZTEgPSBjaGFyYWN0ZXJPZmZzZXQxLm5vZGU7CiAgICAg
Tm9kZSogbm9kZTIgPSBjaGFyYWN0ZXJPZmZzZXQyLm5vZGU7Ci0gICAgaWYgKCFub2RlMS0+b2Zm
c2V0SW5DaGFyYWN0ZXJzKCkgJiYgIWlzUmVwbGFjZWROb2RlT3JCUihub2RlMSkgJiYgbm9kZTEt
Pmhhc0NoaWxkTm9kZXMoKSkKKyAgICBpZiAoIW5vZGUxLT5pc0NoYXJhY3RlckRhdGFOb2RlKCkg
JiYgIWlzUmVwbGFjZWROb2RlT3JCUihub2RlMSkgJiYgbm9kZTEtPmhhc0NoaWxkTm9kZXMoKSkK
ICAgICAgICAgbm9kZTEgPSBub2RlMS0+dHJhdmVyc2VUb0NoaWxkQXQoY2hhcmFjdGVyT2Zmc2V0
MS5vZmZzZXQpOwotICAgIGlmICghbm9kZTItPm9mZnNldEluQ2hhcmFjdGVycygpICYmICFpc1Jl
cGxhY2VkTm9kZU9yQlIobm9kZTIpICYmIG5vZGUyLT5oYXNDaGlsZE5vZGVzKCkpCisgICAgaWYg
KCFub2RlMi0+aXNDaGFyYWN0ZXJEYXRhTm9kZSgpICYmICFpc1JlcGxhY2VkTm9kZU9yQlIobm9k
ZTIpICYmIG5vZGUyLT5oYXNDaGlsZE5vZGVzKCkpCiAgICAgICAgIG5vZGUyID0gbm9kZTItPnRy
YXZlcnNlVG9DaGlsZEF0KGNoYXJhY3Rlck9mZnNldDIub2Zmc2V0KTsKICAgICAKICAgICBpZiAo
IW5vZGUxIHx8ICFub2RlMikKQEAgLTE5NTEsMTQgKzE5NTEsMTQgQEAgQ2hhcmFjdGVyT2Zmc2V0
IEFYT2JqZWN0Q2FjaGU6OnN0YXJ0T3JFbgogICAgIGJvb2wgc3RheVdpdGhpblJhbmdlID0gIWlz
U3RhcnQ7CiAgICAgCiAgICAgTm9kZSYgZW5kTm9kZSA9IHJhbmdlLT5lbmRDb250YWluZXIoKTsK
LSAgICBpZiAoZW5kTm9kZS5vZmZzZXRJbkNoYXJhY3RlcnMoKSAmJiAhaXNTdGFydCkKKyAgICBp
ZiAoZW5kTm9kZS5pc0NoYXJhY3RlckRhdGFOb2RlKCkgJiYgIWlzU3RhcnQpCiAgICAgICAgIHJl
dHVybiB0cmF2ZXJzZVRvT2Zmc2V0SW5SYW5nZShyYW5nZUZvck5vZGVDb250ZW50cygmZW5kTm9k
ZSksIHJhbmdlLT5lbmRPZmZzZXQoKSwgVHJhdmVyc2VPcHRpb25WYWxpZGF0ZU9mZnNldCk7CiAg
ICAgCiAgICAgUmVmPFJhbmdlPiBjb3B5UmFuZ2UgPSAqcmFuZ2U7CiAgICAgLy8gQ2hhbmdlIHRo
ZSBzdGFydCBvZiB0aGUgcmFuZ2UsIHNvIHRoZSBjaGFyYWN0ZXIgb2Zmc2V0IHN0YXJ0cyBmcm9t
IG5vZGUgYmVnaW5uaW5nLgogICAgIGludCBvZmZzZXQgPSAwOwogICAgIE5vZGUmIG5vZGUgPSBj
b3B5UmFuZ2UtPnN0YXJ0Q29udGFpbmVyKCk7Ci0gICAgaWYgKG5vZGUub2Zmc2V0SW5DaGFyYWN0
ZXJzKCkpIHsKKyAgICBpZiAobm9kZS5pc0NoYXJhY3RlckRhdGFOb2RlKCkpIHsKICAgICAgICAg
Q2hhcmFjdGVyT2Zmc2V0IG5vZGVTdGFydE9mZnNldCA9IHRyYXZlcnNlVG9PZmZzZXRJblJhbmdl
KHJhbmdlRm9yTm9kZUNvbnRlbnRzKCZub2RlKSwgcmFuZ2UtPnN0YXJ0T2Zmc2V0KCksIFRyYXZl
cnNlT3B0aW9uVmFsaWRhdGVPZmZzZXQpOwogICAgICAgICBpZiAoaXNTdGFydCkKICAgICAgICAg
ICAgIHJldHVybiBub2RlU3RhcnRPZmZzZXQ7CkBAIC0yMTM1LDcgKzIxMzUsNyBAQCBDaGFyYWN0
ZXJPZmZzZXQgQVhPYmplY3RDYWNoZTo6Y2hhcmFjdGVyCiAgICAgTm9kZSogZG9tTm9kZSA9IGRl
ZXBQb3MuZGVwcmVjYXRlZE5vZGUoKTsKICAgICBBU1NFUlQoZG9tTm9kZSk7CiAgICAgCi0gICAg
aWYgKGRvbU5vZGUtPm9mZnNldEluQ2hhcmFjdGVycygpKQorICAgIGlmIChkb21Ob2RlLT5pc0No
YXJhY3RlckRhdGFOb2RlKCkpCiAgICAgICAgIHJldHVybiB0cmF2ZXJzZVRvT2Zmc2V0SW5SYW5n
ZShyYW5nZUZvck5vZGVDb250ZW50cyhkb21Ob2RlKSwgZGVlcFBvcy5kZXByZWNhdGVkRWRpdGlu
Z09mZnNldCgpLCBUcmF2ZXJzZU9wdGlvblZhbGlkYXRlT2Zmc2V0KTsKICAgICAKICAgICBSZWZQ
dHI8QWNjZXNzaWJpbGl0eU9iamVjdD4gb2JqID0gdGhpcy0+Z2V0T3JDcmVhdGUoZG9tTm9kZSk7
CkBAIC0yMTY3LDcgKzIxNjcsNyBAQCBDaGFyYWN0ZXJPZmZzZXQgQVhPYmplY3RDYWNoZTo6Y2hh
cmFjdGVyCiAgICAgICAgICAgICAgICAgY2hhcmFjdGVyT2Zmc2V0LS07CiAgICAgICAgIH0gZWxz
ZSB7CiAgICAgICAgICAgICAvLyBTb21ldGltZXMgVmlzaWJsZVBvc2l0aW9uIHdpbGwgbW92ZSBt
dWx0aXBsZSBjaGFyYWN0ZXJzLCBsaWtlIGVtb2ppLgotICAgICAgICAgICAgaWYgKGN1cnJlbnRQ
b3NpdGlvbi5kZXByZWNhdGVkTm9kZSgpLT5vZmZzZXRJbkNoYXJhY3RlcnMoKSkKKyAgICAgICAg
ICAgIGlmIChjdXJyZW50UG9zaXRpb24uZGVwcmVjYXRlZE5vZGUoKS0+aXNDaGFyYWN0ZXJEYXRh
Tm9kZSgpKQogICAgICAgICAgICAgICAgIGNoYXJhY3Rlck9mZnNldCArPSBjdXJyZW50UG9zaXRp
b24ub2Zmc2V0SW5Db250YWluZXJOb2RlKCkgLSBwcmV2aW91c1Bvc2l0aW9uLm9mZnNldEluQ29u
dGFpbmVyTm9kZSgpIC0gMTsKICAgICAgICAgfQogICAgIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2RvbS9DaGFyYWN0ZXJEYXRhLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20v
Q2hhcmFjdGVyRGF0YS5jcHAJKHJldmlzaW9uIDIzNjU4MikKKysrIFNvdXJjZS9XZWJDb3JlL2Rv
bS9DaGFyYWN0ZXJEYXRhLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjM5LDkgKzIzOSw0IEBAIGlu
dCBDaGFyYWN0ZXJEYXRhOjptYXhDaGFyYWN0ZXJPZmZzZXQoKSAKICAgICByZXR1cm4gc3RhdGlj
X2Nhc3Q8aW50PihsZW5ndGgoKSk7CiB9CiAKLWJvb2wgQ2hhcmFjdGVyRGF0YTo6b2Zmc2V0SW5D
aGFyYWN0ZXJzKCkgY29uc3QKLXsKLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0NoYXJhY3RlckRhdGEuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vQ2hhcmFjdGVyRGF0YS5oCShyZXZpc2lvbiAy
MzY1ODIpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vQ2hhcmFjdGVyRGF0YS5oCSh3b3JraW5nIGNv
cHkpCkBAIC02NCw3ICs2NCw2IEBAIHByaXZhdGU6CiAgICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0
Tm9kZVZhbHVlKGNvbnN0IFN0cmluZyYpIGZpbmFsOwogICAgIGJvb2wgaXNDaGFyYWN0ZXJEYXRh
Tm9kZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KICAgICBpbnQgbWF4Q2hhcmFjdGVy
T2Zmc2V0KCkgY29uc3QgZmluYWw7Ci0gICAgYm9vbCBvZmZzZXRJbkNoYXJhY3RlcnMoKSBjb25z
dCBmaW5hbDsKICAgICB2b2lkIHNldERhdGFBbmRVcGRhdGUoY29uc3QgU3RyaW5nJiwgdW5zaWdu
ZWQgb2Zmc2V0T2ZSZXBsYWNlZERhdGEsIHVuc2lnbmVkIG9sZExlbmd0aCwgdW5zaWduZWQgbmV3
TGVuZ3RoKTsKICAgICB2b2lkIG5vdGlmeVBhcmVudEFmdGVyQ2hhbmdlKENvbnRhaW5lck5vZGU6
OkNoaWxkQ2hhbmdlU291cmNlKTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAkocmV2aXNpb24gMjM2
NTgyKQorKysgU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0x
NjA2LDExICsxNjA2LDYgQEAgRXhjZXB0aW9uT3I8dm9pZD4gTm9kZTo6c2V0VGV4dENvbnRlbnQo
YwogICAgIHJldHVybiB7IH07CiB9CiAKLWJvb2wgTm9kZTo6b2Zmc2V0SW5DaGFyYWN0ZXJzKCkg
Y29uc3QKLXsKLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0KIHN0YXRpYyBTSEExOjpEaWdlc3QgaGFz
aFBvaW50ZXIodm9pZCogcG9pbnRlcikKIHsKICAgICBTSEExIHNoYTE7CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9kb20vTm9kZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Ob2Rl
LmgJKHJldmlzaW9uIDIzNjU4MikKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmgJKHdvcmtp
bmcgY29weSkKQEAgLTM5Nyw4ICszOTcsNiBAQCBwdWJsaWM6CiAgICAgYm9vbCBjb250YWluc0lu
Y2x1ZGluZ1NoYWRvd0RPTShjb25zdCBOb2RlKikgY29uc3Q7CiAgICAgYm9vbCBjb250YWluc0lu
Y2x1ZGluZ0hvc3RFbGVtZW50cyhjb25zdCBOb2RlKikgY29uc3Q7CiAKLSAgICAvLyBVc2VkIHRv
IGRldGVybWluZSB3aGV0aGVyIHJhbmdlIG9mZnNldHMgdXNlIGNoYXJhY3RlcnMgb3Igbm9kZSBp
bmRpY2VzLgotICAgIHZpcnR1YWwgYm9vbCBvZmZzZXRJbkNoYXJhY3RlcnMoKSBjb25zdDsKICAg
ICAvLyBOdW1iZXIgb2YgRE9NIDE2LWJpdCB1bml0cyBjb250YWluZWQgaW4gbm9kZS4gTm90ZSB0
aGF0IHJlbmRlcmVkIHRleHQgbGVuZ3RoIGNhbiBiZSBkaWZmZXJlbnQgLSBlLmcuIGJlY2F1c2Ug
b2YKICAgICAvLyBjc3MtdHJhbnNmb3JtOmNhcGl0YWxpemUgYnJlYWtpbmcgdXAgcHJlY29tcG9z
ZWQgY2hhcmFjdGVycyBhbmQgbGlnYXR1cmVzLgogICAgIHZpcnR1YWwgaW50IG1heENoYXJhY3Rl
ck9mZnNldCgpIGNvbnN0OwpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL1Bvc2l0aW9uLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vUG9zaXRpb24uY3BwCShyZXZpc2lvbiAy
MzY1ODIpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vUG9zaXRpb24uY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0yMzcsNyArMjM3LDcgQEAgUG9zaXRpb24gUG9zaXRpb246OnBhcmVudEFuY2hvcmVkRXF1
aXZhbAogICAgICAgICByZXR1cm4gUG9zaXRpb24obV9hbmNob3JOb2RlLmdldCgpLCAwLCBQb3Np
dGlvbklzT2Zmc2V0SW5BbmNob3IpOwogICAgIH0KIAotICAgIGlmICghbV9hbmNob3JOb2RlLT5v
ZmZzZXRJbkNoYXJhY3RlcnMoKQorICAgIGlmICghbV9hbmNob3JOb2RlLT5pc0NoYXJhY3RlckRh
dGFOb2RlKCkKICAgICAgICAgJiYgKG1fYW5jaG9yVHlwZSA9PSBQb3NpdGlvbklzQWZ0ZXJBbmNo
b3IgfHwgbV9hbmNob3JUeXBlID09IFBvc2l0aW9uSXNBZnRlckNoaWxkcmVuIHx8IHN0YXRpY19j
YXN0PHVuc2lnbmVkPihtX29mZnNldCkgPT0gbV9hbmNob3JOb2RlLT5jb3VudENoaWxkTm9kZXMo
KSkKICAgICAgICAgJiYgKGVkaXRpbmdJZ25vcmVzQ29udGVudCgqbV9hbmNob3JOb2RlKSB8fCBp
c1JlbmRlcmVkVGFibGUobV9hbmNob3JOb2RlLmdldCgpKSkKICAgICAgICAgJiYgY29udGFpbmVy
Tm9kZSgpKSB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vUG9zaXRpb24uaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vUG9zaXRpb24uaAkocmV2aXNpb24gMjM2NTgyKQorKysg
U291cmNlL1dlYkNvcmUvZG9tL1Bvc2l0aW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTI4Nyw3ICsy
ODcsNyBAQCBpbmxpbmUgUG9zaXRpb24gcG9zaXRpb25BZnRlck5vZGUoTm9kZSogCiAKIGlubGlu
ZSBpbnQgbGFzdE9mZnNldEluTm9kZShOb2RlKiBub2RlKQogewotICAgIHJldHVybiBub2RlLT5v
ZmZzZXRJbkNoYXJhY3RlcnMoKSA/IG5vZGUtPm1heENoYXJhY3Rlck9mZnNldCgpIDogc3RhdGlj
X2Nhc3Q8aW50Pihub2RlLT5jb3VudENoaWxkTm9kZXMoKSk7CisgICAgcmV0dXJuIG5vZGUtPmlz
Q2hhcmFjdGVyRGF0YU5vZGUoKSA/IG5vZGUtPm1heENoYXJhY3Rlck9mZnNldCgpIDogc3RhdGlj
X2Nhc3Q8aW50Pihub2RlLT5jb3VudENoaWxkTm9kZXMoKSk7CiB9CiAKIC8vIGZpcnN0UG9zaXRp
b25Jbk5vZGUgYW5kIGxhc3RQb3NpdGlvbkluTm9kZSByZXR1cm4gcGFyZW50LWFuY2hvcmVkIHBv
c2l0aW9ucywgbGFzdFBvc2l0aW9uSW5Ob2RlIGNvbnN0cnVjdGlvbiBpcyBPKG4pIGR1ZSB0byBj
b3VudENoaWxkTm9kZXMoKQpAQCAtMzA3LDcgKzMwNyw3IEBAIGlubGluZSBQb3NpdGlvbiBsYXN0
UG9zaXRpb25Jbk5vZGUoTm9kZSoKIAogaW5saW5lIGludCBtaW5PZmZzZXRGb3JOb2RlKE5vZGUq
IGFuY2hvck5vZGUsIGludCBvZmZzZXQpCiB7Ci0gICAgaWYgKGFuY2hvck5vZGUtPm9mZnNldElu
Q2hhcmFjdGVycygpKQorICAgIGlmIChhbmNob3JOb2RlLT5pc0NoYXJhY3RlckRhdGFOb2RlKCkp
CiAgICAgICAgIHJldHVybiBzdGQ6Om1pbihvZmZzZXQsIGFuY2hvck5vZGUtPm1heENoYXJhY3Rl
ck9mZnNldCgpKTsKIAogICAgIGludCBuZXdPZmZzZXQgPSAwOwpAQCAtMzE5LDcgKzMxOSw3IEBA
IGlubGluZSBpbnQgbWluT2Zmc2V0Rm9yTm9kZShOb2RlKiBhbmNob3IKIAogaW5saW5lIGJvb2wg
b2Zmc2V0SXNCZWZvcmVMYXN0Tm9kZU9mZnNldChpbnQgb2Zmc2V0LCBOb2RlKiBhbmNob3JOb2Rl
KQogewotICAgIGlmIChhbmNob3JOb2RlLT5vZmZzZXRJbkNoYXJhY3RlcnMoKSkKKyAgICBpZiAo
YW5jaG9yTm9kZS0+aXNDaGFyYWN0ZXJEYXRhTm9kZSgpKQogICAgICAgICByZXR1cm4gb2Zmc2V0
IDwgYW5jaG9yTm9kZS0+bWF4Q2hhcmFjdGVyT2Zmc2V0KCk7CiAKICAgICBpbnQgY3VycmVudE9m
ZnNldCA9IDA7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vUmFuZ2UuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9SYW5nZS5jcHAJKHJldmlzaW9uIDIzNjU4MikKKysrIFNv
dXJjZS9XZWJDb3JlL2RvbS9SYW5nZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExMzIsNyArMTEz
Miw3IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IFJhbmdlOjpzZXRTdGFydEJlZm9yZSgKIAogTm9kZSog
UmFuZ2U6OmZpcnN0Tm9kZSgpIGNvbnN0CiB7Ci0gICAgaWYgKHN0YXJ0Q29udGFpbmVyKCkub2Zm
c2V0SW5DaGFyYWN0ZXJzKCkpCisgICAgaWYgKHN0YXJ0Q29udGFpbmVyKCkuaXNDaGFyYWN0ZXJE
YXRhTm9kZSgpKQogICAgICAgICByZXR1cm4gJnN0YXJ0Q29udGFpbmVyKCk7CiAgICAgaWYgKE5v
ZGUqIGNoaWxkID0gc3RhcnRDb250YWluZXIoKS50cmF2ZXJzZVRvQ2hpbGRBdChtX3N0YXJ0Lm9m
ZnNldCgpKSkKICAgICAgICAgcmV0dXJuIGNoaWxkOwpAQCAtMTE0OCw3ICsxMTQ4LDcgQEAgU2hh
ZG93Um9vdCogUmFuZ2U6OnNoYWRvd1Jvb3QoKSBjb25zdAogCiBOb2RlKiBSYW5nZTo6cGFzdExh
c3ROb2RlKCkgY29uc3QKIHsKLSAgICBpZiAoZW5kQ29udGFpbmVyKCkub2Zmc2V0SW5DaGFyYWN0
ZXJzKCkpCisgICAgaWYgKGVuZENvbnRhaW5lcigpLmlzQ2hhcmFjdGVyRGF0YU5vZGUoKSkKICAg
ICAgICAgcmV0dXJuIE5vZGVUcmF2ZXJzYWw6Om5leHRTa2lwcGluZ0NoaWxkcmVuKGVuZENvbnRh
aW5lcigpKTsKICAgICBpZiAoTm9kZSogY2hpbGQgPSBlbmRDb250YWluZXIoKS50cmF2ZXJzZVRv
Q2hpbGRBdChtX2VuZC5vZmZzZXQoKSkpCiAgICAgICAgIHJldHVybiBjaGlsZDsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2RvbS9SYW5nZUJvdW5kYXJ5UG9pbnQuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9kb20vUmFuZ2VCb3VuZGFyeVBvaW50LmgJKHJldmlzaW9uIDIzNjU4MikKKysr
IFNvdXJjZS9XZWJDb3JlL2RvbS9SYW5nZUJvdW5kYXJ5UG9pbnQuaAkod29ya2luZyBjb3B5KQpA
QCAtMTI0LDcgKzEyNCw3IEBAIGlubGluZSB2b2lkIFJhbmdlQm91bmRhcnlQb2ludDo6c2V0KFJl
ZjwKIGlubGluZSB2b2lkIFJhbmdlQm91bmRhcnlQb2ludDo6c2V0T2Zmc2V0KHVuc2lnbmVkIG9m
ZnNldCkKIHsKICAgICBBU1NFUlQobV9jb250YWluZXJOb2RlKTsKLSAgICBBU1NFUlQobV9jb250
YWluZXJOb2RlLT5vZmZzZXRJbkNoYXJhY3RlcnMoKSk7CisgICAgQVNTRVJUKG1fY29udGFpbmVy
Tm9kZS0+aXNDaGFyYWN0ZXJEYXRhTm9kZSgpKTsKICAgICBBU1NFUlQobV9vZmZzZXRJbkNvbnRh
aW5lcik7CiAgICAgQVNTRVJUKCFtX2NoaWxkQmVmb3JlQm91bmRhcnkpOwogICAgIG1fb2Zmc2V0
SW5Db250YWluZXIgPSBvZmZzZXQ7CkBAIC0xNTYsNyArMTU2LDcgQEAgaW5saW5lIHZvaWQgUmFu
Z2VCb3VuZGFyeVBvaW50OjpzZXRUb1N0YQogaW5saW5lIHZvaWQgUmFuZ2VCb3VuZGFyeVBvaW50
OjpzZXRUb0VuZE9mTm9kZShSZWY8Tm9kZT4mJiBjb250YWluZXIpCiB7CiAgICAgbV9jb250YWlu
ZXJOb2RlID0gV1RGTW92ZShjb250YWluZXIpOwotICAgIGlmIChtX2NvbnRhaW5lck5vZGUtPm9m
ZnNldEluQ2hhcmFjdGVycygpKSB7CisgICAgaWYgKG1fY29udGFpbmVyTm9kZS0+aXNDaGFyYWN0
ZXJEYXRhTm9kZSgpKSB7CiAgICAgICAgIG1fb2Zmc2V0SW5Db250YWluZXIgPSBtX2NvbnRhaW5l
ck5vZGUtPm1heENoYXJhY3Rlck9mZnNldCgpOwogICAgICAgICBtX2NoaWxkQmVmb3JlQm91bmRh
cnkgPSBudWxscHRyOwogICAgIH0gZWxzZSB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L0VkaXRpbmcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdGlu
Zy5jcHAJKHJldmlzaW9uIDIzNjU4MikKKysrIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdGlu
Zy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM3NSw3ICszNzUsNyBAQCBUZXh0RGlyZWN0aW9uIGRp
cmVjdGlvbk9mRW5jbG9zaW5nQmxvY2soCiAvLyBvbiBhIFBvc2l0aW9uIGJlZm9yZSB1c2luZyBp
dCB0byBjcmVhdGUgYSBET00gUmFuZ2UsIG9yIGFuIGV4Y2VwdGlvbiB3aWxsIGJlIHRocm93bi4K
IGludCBsYXN0T2Zmc2V0Rm9yRWRpdGluZyhjb25zdCBOb2RlJiBub2RlKQogewotICAgIGlmIChu
b2RlLm9mZnNldEluQ2hhcmFjdGVycygpKQorICAgIGlmIChub2RlLmlzQ2hhcmFjdGVyRGF0YU5v
ZGUoKSkKICAgICAgICAgcmV0dXJuIG5vZGUubWF4Q2hhcmFjdGVyT2Zmc2V0KCk7CiAKICAgICBp
ZiAobm9kZS5oYXNDaGlsZE5vZGVzKCkpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Rl
eHRJdGVyYXRvci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0
SXRlcmF0b3IuY3BwCShyZXZpc2lvbiAyMzY1ODIpCisrKyBTb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L1RleHRJdGVyYXRvci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE5MCw3ICsxOTAsNyBAQCB1bnNp
Z25lZCBCaXRTdGFjazo6c2l6ZSgpIGNvbnN0CiAvLyBUaGlzIGZ1bmN0aW9uIGlzIGxpa2UgUmFu
Z2U6OnBhc3RMYXN0Tm9kZSwgZXhjZXB0IGZvciB0aGUgZmFjdCB0aGF0IGl0IGNhbiBjbGltYiB1
cCBvdXQgb2Ygc2hhZG93IHRyZWVzLgogc3RhdGljIE5vZGUqIG5leHRJblByZU9yZGVyQ3Jvc3Np
bmdTaGFkb3dCb3VuZGFyaWVzKE5vZGUmIHJhbmdlRW5kQ29udGFpbmVyLCBpbnQgcmFuZ2VFbmRP
ZmZzZXQpCiB7Ci0gICAgaWYgKHJhbmdlRW5kT2Zmc2V0ID49IDAgJiYgIXJhbmdlRW5kQ29udGFp
bmVyLm9mZnNldEluQ2hhcmFjdGVycygpKSB7CisgICAgaWYgKHJhbmdlRW5kT2Zmc2V0ID49IDAg
JiYgIXJhbmdlRW5kQ29udGFpbmVyLmlzQ2hhcmFjdGVyRGF0YU5vZGUoKSkgewogICAgICAgICBp
ZiAoTm9kZSogbmV4dCA9IHJhbmdlRW5kQ29udGFpbmVyLnRyYXZlcnNlVG9DaGlsZEF0KHJhbmdl
RW5kT2Zmc2V0KSkKICAgICAgICAgICAgIHJldHVybiBuZXh0OwogICAgIH0KQEAgLTEyNjcsNyAr
MTI2Nyw3IEBAIE5vZGUqIFRleHRJdGVyYXRvcjo6bm9kZSgpIGNvbnN0CiAgICAgUmVmPFJhbmdl
PiB0ZXh0UmFuZ2UgPSByYW5nZSgpOwogCiAgICAgTm9kZSYgbm9kZSA9IHRleHRSYW5nZS0+c3Rh
cnRDb250YWluZXIoKTsKLSAgICBpZiAobm9kZS5vZmZzZXRJbkNoYXJhY3RlcnMoKSkKKyAgICBp
ZiAobm9kZS5pc0NoYXJhY3RlckRhdGFOb2RlKCkpCiAgICAgICAgIHJldHVybiAmbm9kZTsKICAg
ICAKICAgICByZXR1cm4gbm9kZS50cmF2ZXJzZVRvQ2hpbGRBdCh0ZXh0UmFuZ2UtPnN0YXJ0T2Zm
c2V0KCkpOwpAQCAtMTI4NCwxMyArMTI4NCwxMyBAQCBTaW1wbGlmaWVkQmFja3dhcmRzVGV4dEl0
ZXJhdG9yOjpTaW1wbGlmCiAgICAgaW50IHN0YXJ0T2Zmc2V0ID0gcmFuZ2Uuc3RhcnRPZmZzZXQo
KTsKICAgICBpbnQgZW5kT2Zmc2V0ID0gcmFuZ2UuZW5kT2Zmc2V0KCk7CiAKLSAgICBpZiAoIXN0
YXJ0Tm9kZS0+b2Zmc2V0SW5DaGFyYWN0ZXJzKCkpIHsKKyAgICBpZiAoIXN0YXJ0Tm9kZS0+aXND
aGFyYWN0ZXJEYXRhTm9kZSgpKSB7CiAgICAgICAgIGlmIChzdGFydE9mZnNldCA+PSAwICYmIHN0
YXJ0T2Zmc2V0IDwgc3RhdGljX2Nhc3Q8aW50PihzdGFydE5vZGUtPmNvdW50Q2hpbGROb2Rlcygp
KSkgewogICAgICAgICAgICAgc3RhcnROb2RlID0gc3RhcnROb2RlLT50cmF2ZXJzZVRvQ2hpbGRB
dChzdGFydE9mZnNldCk7CiAgICAgICAgICAgICBzdGFydE9mZnNldCA9IDA7CiAgICAgICAgIH0K
ICAgICB9Ci0gICAgaWYgKCFlbmROb2RlLT5vZmZzZXRJbkNoYXJhY3RlcnMoKSkgeworICAgIGlm
ICghZW5kTm9kZS0+aXNDaGFyYWN0ZXJEYXRhTm9kZSgpKSB7CiAgICAgICAgIGlmIChlbmRPZmZz
ZXQgPiAwICYmIGVuZE9mZnNldCA8PSBzdGF0aWNfY2FzdDxpbnQ+KGVuZE5vZGUtPmNvdW50Q2hp
bGROb2RlcygpKSkgewogICAgICAgICAgICAgZW5kTm9kZSA9IGVuZE5vZGUtPnRyYXZlcnNlVG9D
aGlsZEF0KGVuZE9mZnNldCAtIDEpOwogICAgICAgICAgICAgZW5kT2Zmc2V0ID0gbGFzdE9mZnNl
dEluTm9kZShlbmROb2RlKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NU2VsZWN0aW9u
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVNlbGVjdGlvbi5jcHAJ
KHJldmlzaW9uIDIzNjU4MikKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NU2VsZWN0aW9uLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMjc5LDcgKzI3OSw3IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IERP
TVNlbGVjdGlvbjo6ZXh0ZW5kKE4KIHsKICAgICBpZiAoIW1fZnJhbWUpCiAgICAgICAgIHJldHVy
biB7IH07Ci0gICAgaWYgKG9mZnNldCA+IChub2RlLm9mZnNldEluQ2hhcmFjdGVycygpID8gY2Fy
ZXRNYXhPZmZzZXQobm9kZSkgOiBub2RlLmNvdW50Q2hpbGROb2RlcygpKSkKKyAgICBpZiAob2Zm
c2V0ID4gKG5vZGUuaXNDaGFyYWN0ZXJEYXRhTm9kZSgpID8gY2FyZXRNYXhPZmZzZXQobm9kZSkg
OiBub2RlLmNvdW50Q2hpbGROb2RlcygpKSkKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IElu
ZGV4U2l6ZUVycm9yIH07CiAgICAgaWYgKCFpc1ZhbGlkRm9yUG9zaXRpb24oJm5vZGUpKQogICAg
ICAgICByZXR1cm4geyB9Owo=
</data>
<flag name="review"
          id="368416"
          type_id="1"
          status="+"
          setter="zalan"
    />
          </attachment>
      

    </bug>

</bugzilla>