<?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>126368</bug_id>
          
          <creation_ts>2014-01-01 17:51:38 -0800</creation_ts>
          <short_desc>Remove public attachRenderTree</short_desc>
          <delta_ts>2014-01-02 01:46:43 -0800</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>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>eflews.bot</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>japhet</cc>
    
    <cc>kangil.han</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>963650</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2014-01-01 17:51:38 -0800</bug_when>
    <thetext>Remove the remaining explicit render tree construction.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>963651</commentid>
    <comment_count>1</comment_count>
      <attachid>220198</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2014-01-01 17:57:27 -0800</bug_when>
    <thetext>Created attachment 220198
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>963652</commentid>
    <comment_count>2</comment_count>
      <attachid>220198</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2014-01-01 18:03:25 -0800</bug_when>
    <thetext>Comment on attachment 220198
patch

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

r=me

&gt; Source/WebCore/html/shadow/InsertionPoint.h:100
&gt; +inline InsertionPoint&amp; toInsertionPoint(Node&amp; node)
&gt; +{
&gt; +    ASSERT_WITH_SECURITY_IMPLICATION(node.isInsertionPoint());
&gt; +    return static_cast&lt;InsertionPoint&amp;&gt;(node);
&gt; +}
&gt; +
&gt; +inline const InsertionPoint&amp; toInsertionPoint(const Node&amp; node)
&gt; +{
&gt; +    ASSERT_WITH_SECURITY_IMPLICATION(node.isInsertionPoint());
&gt; +    return static_cast&lt;const InsertionPoint&amp;&gt;(node);
&gt; +}

Could we replace this gunk with NODE_TYPE_CASTS(InsertionPoint) instead?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>963663</commentid>
    <comment_count>3</comment_count>
      <attachid>220198</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2014-01-01 19:45:29 -0800</bug_when>
    <thetext>Comment on attachment 220198
patch

Attachment 220198 did not pass efl-wk2-ews (efl-wk2):
Output: http://webkit-queues.appspot.com/results/5956219843903488</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>963697</commentid>
    <comment_count>4</comment_count>
      <attachid>220207</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2014-01-01 23:52:53 -0800</bug_when>
    <thetext>Created attachment 220207
another</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>963712</commentid>
    <comment_count>5</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2014-01-02 01:46:43 -0800</bug_when>
    <thetext>https://trac.webkit.org/r161205 (with fixes)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>220198</attachid>
            <date>2014-01-01 17:57:27 -0800</date>
            <delta_ts>2014-01-01 23:52:53 -0800</delta_ts>
            <desc>patch</desc>
            <filename>remove-attach.patch</filename>
            <type>text/plain</type>
            <size>10408</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2MTIwMSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ2IEBACisyMDE0LTAxLTAxICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgYXR0YWNoUmVuZGVy
VHJlZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI2
MzY4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVt
b3ZlIHRoZSByZW1haW5pbmcgZXhwbGljaXQgcmVuZGVyIHRyZWUgY29uc3RydWN0aW9uLgorCisg
ICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojpj
cmVhdGVSZW5kZXJUcmVlKToKKyAgICAgICAgCisgICAgICAgICAgICBPbmx5IHRoZSBkb2N1bWVu
dCByZW5kZXJlciBuZWVkcyB0byBiZSBjb25zdHJ1Y3RlZCBzeW5jaHJvbm91c2x5LgorCisgICAg
ICAgICogaHRtbC9IVE1MVmlld1NvdXJjZURvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxWaWV3U291cmNlRG9jdW1lbnQ6OmFkZFRleHQpOgorICAgICAgICAKKyAgICAgICAgICAg
IFJlbW92ZSBmb3Jnb3R0ZW4gYXR0YWNoVGV4dFJlbmRlcmVyLgorCisgICAgICAgICogaHRtbC9z
aGFkb3cvSW5zZXJ0aW9uUG9pbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zZXJ0aW9uUG9p
bnQ6Okluc2VydGlvblBvaW50KToKKyAgICAgICAgCisgICAgICAgICAgICBSZW1vdmUgd2lsbEF0
dGFjaFJlbmRlcmVycy9kaWRBdHRhY2hSZW5kZXJlcnMgaGFjay4KKworICAgICAgICAqIGh0bWwv
c2hhZG93L0luc2VydGlvblBvaW50Lmg6CisgICAgICAgIChXZWJDb3JlOjp0b0luc2VydGlvblBv
aW50KToKKyAgICAgICAgKiBsb2FkZXIvUGxhY2Vob2xkZXJEb2N1bWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpQbGFjZWhvbGRlckRvY3VtZW50OjpjcmVhdGVSZW5kZXJUcmVlKToKKyAgICAg
ICAgCisgICAgICAgICAgICBTZXJpb3VzbHksIG5vdGhpbmcgdG8gZG8gaGVyZS4KKworICAgICAg
ICAqIHN0eWxlL1N0eWxlUmVzb2x2ZVRyZWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGU6
OmF0dGFjaERpc3RyaWJ1dGVkQ2hpbGRyZW4pOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OmF0
dGFjaENoaWxkcmVuKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjpkZXRhY2hEaXN0cmlidXRl
ZENoaWxkcmVuKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjpkZXRhY2hDaGlsZHJlbik6Cisg
ICAgICAgIAorICAgICAgICAgICAgTWFraW5nIGF0dGFjaGluZyBhbmQgZGV0YWNoaW5nIGRpc3Ry
aWJ1dGVkIGluc2VydGlvbiBwb2ludCBjaGlsZHJlbiBwYXJ0IG9mIFJlc29sdmVUcmVlIGludGVy
bmFscy4KKworICAgICAgICAqIHN0eWxlL1N0eWxlUmVzb2x2ZVRyZWUuaDoKKyAgICAgICAgCisg
ICAgICAgICAgICBSZW1vdmUgaW50ZXJmYWNlcyB3aXRoIG5vIGNsaWVudHMuCisKIDIwMTQtMDEt
MDEgIFJ5dWFuIENob2kgIDxyeXVhbi5jaG9pQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFtFRkxd
IFVucmV2aWV3ZWQgYnVpbGQgZml4IGFmdGVyIHIxNjA5MDMgd2hlbiBBQ0NFU1NJQklMSVRZIGlz
IGRpc2FibGVkCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJKHJldmlzaW9uIDE2MTE5NikK
KysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE5
NTgsMTAgKzE5NTgsNyBAQCB2b2lkIERvY3VtZW50OjpjcmVhdGVSZW5kZXJUcmVlKCkKICAgICBy
ZW5kZXJWaWV3KCktPnNldElzSW5XaW5kb3codHJ1ZSk7CiAjZW5kaWYKIAotICAgIHJlY2FsY1N0
eWxlKFN0eWxlOjpGb3JjZSk7Ci0KLSAgICBpZiAobV9kb2N1bWVudEVsZW1lbnQpCi0gICAgICAg
IFN0eWxlOjphdHRhY2hSZW5kZXJUcmVlKCptX2RvY3VtZW50RWxlbWVudCk7CisgICAgc2V0TmVl
ZHNTdHlsZVJlY2FsYyhSZWNvbnN0cnVjdFJlbmRlclRyZWUpOwogfQogCiBzdGF0aWMgdm9pZCBw
YWdlV2hlZWxFdmVudEhhbmRsZXJDb3VudENoYW5nZWQoUGFnZSYgcGFnZSkKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTFZpZXdTb3VyY2VEb2N1bWVudC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVmlld1NvdXJjZURvY3VtZW50LmNwcAkocmV2aXNpb24g
MTYxMTk1KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVmlld1NvdXJjZURvY3VtZW50LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMjQwLDcgKzI0MCw2IEBAIHZvaWQgSFRNTFZpZXdTb3VyY2VE
b2N1bWVudDo6YWRkVGV4dChjb24KICAgICAgICAgfQogICAgICAgICBSZWZQdHI8VGV4dD4gdGV4
dCA9IFRleHQ6OmNyZWF0ZSgqdGhpcywgc3Vic3RyaW5nKTsKICAgICAgICAgbV9jdXJyZW50LT5w
YXJzZXJBcHBlbmRDaGlsZCh0ZXh0KTsKLSAgICAgICAgU3R5bGU6OmF0dGFjaFRleHRSZW5kZXJl
cigqdGV4dCk7CiAgICAgICAgIGlmIChpIDwgc2l6ZSAtIDEpCiAgICAgICAgICAgICBmaW5pc2hM
aW5lKCk7CiAgICAgfQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSW5zZXJ0aW9u
UG9pbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0luc2Vy
dGlvblBvaW50LmNwcAkocmV2aXNpb24gMTYxMTk0KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9z
aGFkb3cvSW5zZXJ0aW9uUG9pbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Myw0NCArNDMsMTIg
QEAgSW5zZXJ0aW9uUG9pbnQ6Okluc2VydGlvblBvaW50KGNvbnN0IFF1YQogICAgIDogSFRNTEVs
ZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQsIENyZWF0ZUluc2VydGlvblBvaW50KQogICAgICwgbV9o
YXNEaXN0cmlidXRpb24oZmFsc2UpCiB7Ci0gICAgc2V0SGFzQ3VzdG9tU3R5bGVSZXNvbHZlQ2Fs
bGJhY2tzKCk7CiB9CiAKIEluc2VydGlvblBvaW50Ojp+SW5zZXJ0aW9uUG9pbnQoKQogewogfQog
Ci12b2lkIEluc2VydGlvblBvaW50Ojp3aWxsQXR0YWNoUmVuZGVyZXJzKCkKLXsKLSAgICBpZiAo
U2hhZG93Um9vdCogc2hhZG93Um9vdCA9IGNvbnRhaW5pbmdTaGFkb3dSb290KCkpCi0gICAgICAg
IENvbnRlbnREaXN0cmlidXRvcjo6ZW5zdXJlRGlzdHJpYnV0aW9uKHNoYWRvd1Jvb3QpOwotICAg
IGZvciAoTm9kZSogY3VycmVudCA9IGZpcnN0RGlzdHJpYnV0ZWQoKTsgY3VycmVudDsgY3VycmVu
dCA9IG5leHREaXN0cmlidXRlZFRvKGN1cnJlbnQpKSB7Ci0gICAgICAgIGlmIChjdXJyZW50LT5p
c1RleHROb2RlKCkpIHsKLSAgICAgICAgICAgIGlmIChjdXJyZW50LT5yZW5kZXJlcigpKQotICAg
ICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgU3R5bGU6OmF0dGFjaFRleHRSZW5k
ZXJlcigqdG9UZXh0KGN1cnJlbnQpKTsKLSAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICB9
Ci0gICAgICAgIGlmIChjdXJyZW50LT5pc0VsZW1lbnROb2RlKCkpIHsKLSAgICAgICAgICAgIGlm
IChjdXJyZW50LT5yZW5kZXJlcigpKQotICAgICAgICAgICAgICAgIFN0eWxlOjpkZXRhY2hSZW5k
ZXJUcmVlKCp0b0VsZW1lbnQoY3VycmVudCkpOwotICAgICAgICAgICAgU3R5bGU6OmF0dGFjaFJl
bmRlclRyZWUoKnRvRWxlbWVudChjdXJyZW50KSk7Ci0gICAgICAgIH0KLSAgICB9Ci19Ci0KLXZv
aWQgSW5zZXJ0aW9uUG9pbnQ6OndpbGxEZXRhY2hSZW5kZXJlcnMoKQotewotICAgIGZvciAoTm9k
ZSogY3VycmVudCA9IGZpcnN0RGlzdHJpYnV0ZWQoKTsgY3VycmVudDsgY3VycmVudCA9IG5leHRE
aXN0cmlidXRlZFRvKGN1cnJlbnQpKSB7Ci0gICAgICAgIGlmIChjdXJyZW50LT5pc1RleHROb2Rl
KCkpIHsKLSAgICAgICAgICAgIFN0eWxlOjpkZXRhY2hUZXh0UmVuZGVyZXIoKnRvVGV4dChjdXJy
ZW50KSk7Ci0gICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgfQotICAgICAgICBpZiAoY3Vy
cmVudC0+aXNFbGVtZW50Tm9kZSgpKQotICAgICAgICAgICAgU3R5bGU6OmRldGFjaFJlbmRlclRy
ZWUoKnRvRWxlbWVudChjdXJyZW50KSk7Ci0gICAgfQotfQotCiBib29sIEluc2VydGlvblBvaW50
OjpzaG91bGRVc2VGYWxsYmFja0VsZW1lbnRzKCkgY29uc3QKIHsKICAgICByZXR1cm4gaXNBY3Rp
dmUoKSAmJiAhaGFzRGlzdHJpYnV0aW9uKCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL3No
YWRvdy9JbnNlcnRpb25Qb2ludC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwv
c2hhZG93L0luc2VydGlvblBvaW50LmgJKHJldmlzaW9uIDE2MTE5NCkKKysrIFNvdXJjZS9XZWJD
b3JlL2h0bWwvc2hhZG93L0luc2VydGlvblBvaW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTU1LDkg
KzU1LDYgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBNYXRjaFR5cGUgbWF0Y2hUeXBlRm9yKE5v
ZGUqKSBjb25zdCB7IHJldHVybiBBbHdheXNNYXRjaGVzOyB9CiAKLSAgICB2aXJ0dWFsIHZvaWQg
d2lsbEF0dGFjaFJlbmRlcmVycygpIE9WRVJSSURFOwotICAgIHZpcnR1YWwgdm9pZCB3aWxsRGV0
YWNoUmVuZGVyZXJzKCkgT1ZFUlJJREU7Ci0KICAgICBib29sIHNob3VsZFVzZUZhbGxiYWNrRWxl
bWVudHMoKSBjb25zdDsKIAogICAgIE5vZGUqIGZpcnN0RGlzdHJpYnV0ZWQoKSBjb25zdDsKQEAg
LTkwLDYgKzg3LDE4IEBAIGlubGluZSBjb25zdCBJbnNlcnRpb25Qb2ludCogdG9JbnNlcnRpb24K
ICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgSW5zZXJ0aW9uUG9pbnQqPihub2RlKTsKIH0K
IAoraW5saW5lIEluc2VydGlvblBvaW50JiB0b0luc2VydGlvblBvaW50KE5vZGUmIG5vZGUpCit7
CisgICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04obm9kZS5pc0luc2VydGlvblBv
aW50KCkpOworICAgIHJldHVybiBzdGF0aWNfY2FzdDxJbnNlcnRpb25Qb2ludCY+KG5vZGUpOwor
fQorCitpbmxpbmUgY29uc3QgSW5zZXJ0aW9uUG9pbnQmIHRvSW5zZXJ0aW9uUG9pbnQoY29uc3Qg
Tm9kZSYgbm9kZSkKK3sKKyAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTihub2Rl
LmlzSW5zZXJ0aW9uUG9pbnQoKSk7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IEluc2Vy
dGlvblBvaW50Jj4obm9kZSk7Cit9CisKIGlubGluZSBib29sIGlzQWN0aXZlSW5zZXJ0aW9uUG9p
bnQoY29uc3QgTm9kZSogbm9kZSkKIHsKICAgICByZXR1cm4gbm9kZSAmJiBub2RlLT5pc0luc2Vy
dGlvblBvaW50KCkgJiYgdG9JbnNlcnRpb25Qb2ludChub2RlKS0+aXNBY3RpdmUoKTsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2xvYWRlci9QbGFjZWhvbGRlckRvY3VtZW50LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvUGxhY2Vob2xkZXJEb2N1bWVudC5jcHAJKHJldmlz
aW9uIDE2MTE5NikKKysrIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9QbGFjZWhvbGRlckRvY3VtZW50
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzMsOSArMzMsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiB2b2lkIFBsYWNlaG9sZGVyRG9jdW1lbnQ6OmNyZWF0ZVJlbmRlclRyZWUoKQogewogICAgIEFT
U0VSVCghcmVuZGVyVmlldygpKTsKLQotICAgIGZvciAoYXV0byYgY2hpbGQgOiBjaGlsZHJlbk9m
VHlwZTxFbGVtZW50PigqdGhpcykpCi0gICAgICAgIFN0eWxlOjphdHRhY2hSZW5kZXJUcmVlKGNo
aWxkKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUv
c3R5bGUvU3R5bGVSZXNvbHZlVHJlZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
c3R5bGUvU3R5bGVSZXNvbHZlVHJlZS5jcHAJKHJldmlzaW9uIDE2MTE5OSkKKysrIFNvdXJjZS9X
ZWJDb3JlL3N0eWxlL1N0eWxlUmVzb2x2ZVRyZWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw2
ICszNCw3IEBACiAjaW5jbHVkZSAiRWxlbWVudFJhcmVEYXRhLmgiCiAjaW5jbHVkZSAiRWxlbWVu
dFRyYXZlcnNhbC5oIgogI2luY2x1ZGUgIkZsb3dUaHJlYWRDb250cm9sbGVyLmgiCisjaW5jbHVk
ZSAiSW5zZXJ0aW9uUG9pbnQuaCIKICNpbmNsdWRlICJOb2RlUmVuZGVyU3R5bGUuaCIKICNpbmNs
dWRlICJOb2RlUmVuZGVyaW5nVHJhdmVyc2FsLmgiCiAjaW5jbHVkZSAiTm9kZVRyYXZlcnNhbC5o
IgpAQCAtNjEsNiArNjIsNyBAQCBuYW1lc3BhY2UgU3R5bGUgewogZW51bSBEZXRhY2hUeXBlIHsg
Tm9ybWFsRGV0YWNoLCBSZWF0dGFjaERldGFjaCB9OwogCiBzdGF0aWMgdm9pZCBhdHRhY2hSZW5k
ZXJUcmVlKEVsZW1lbnQmLCBQYXNzUmVmUHRyPFJlbmRlclN0eWxlPik7CitzdGF0aWMgdm9pZCBh
dHRhY2hUZXh0UmVuZGVyZXIoVGV4dCYpOwogc3RhdGljIHZvaWQgZGV0YWNoUmVuZGVyVHJlZShF
bGVtZW50JiwgRGV0YWNoVHlwZSk7CiAKIENoYW5nZSBkZXRlcm1pbmVDaGFuZ2UoY29uc3QgUmVu
ZGVyU3R5bGUqIHMxLCBjb25zdCBSZW5kZXJTdHlsZSogczIsIFNldHRpbmdzKiBzZXR0aW5ncykK
QEAgLTQzMSw4ICs0MzMsMzAgQEAgdm9pZCB1cGRhdGVUZXh0UmVuZGVyZXJBZnRlckNvbnRlbnRD
aGFuZwogICAgIHRleHRSZW5kZXJlci0+c2V0VGV4dFdpdGhPZmZzZXQodGV4dE5vZGUuZGF0YUlt
cGwoKSwgb2Zmc2V0T2ZSZXBsYWNlZERhdGEsIGxlbmd0aE9mUmVwbGFjZWREYXRhKTsKIH0KIAor
c3RhdGljIHZvaWQgYXR0YWNoRGlzdHJpYnV0ZWRDaGlsZHJlbihJbnNlcnRpb25Qb2ludCYgaW5z
ZXJ0aW9uUG9pbnQpCit7CisgICAgaWYgKFNoYWRvd1Jvb3QqIHNoYWRvd1Jvb3QgPSBpbnNlcnRp
b25Qb2ludC5jb250YWluaW5nU2hhZG93Um9vdCgpKQorICAgICAgICBDb250ZW50RGlzdHJpYnV0
b3I6OmVuc3VyZURpc3RyaWJ1dGlvbihzaGFkb3dSb290KTsKKyAgICBmb3IgKE5vZGUqIGN1cnJl
bnQgPSBpbnNlcnRpb25Qb2ludC5maXJzdERpc3RyaWJ1dGVkKCk7IGN1cnJlbnQ7IGN1cnJlbnQg
PSBpbnNlcnRpb25Qb2ludC5uZXh0RGlzdHJpYnV0ZWRUbyhjdXJyZW50KSkgeworICAgICAgICBp
ZiAoY3VycmVudC0+aXNUZXh0Tm9kZSgpKSB7CisgICAgICAgICAgICBpZiAoY3VycmVudC0+cmVu
ZGVyZXIoKSkKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgIGF0dGFjaFRl
eHRSZW5kZXJlcigqdG9UZXh0KGN1cnJlbnQpKTsKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAg
ICAgICB9CisgICAgICAgIGlmIChjdXJyZW50LT5pc0VsZW1lbnROb2RlKCkpIHsKKyAgICAgICAg
ICAgIGlmIChjdXJyZW50LT5yZW5kZXJlcigpKQorICAgICAgICAgICAgICAgIGRldGFjaFJlbmRl
clRyZWUoKnRvRWxlbWVudChjdXJyZW50KSk7CisgICAgICAgICAgICBhdHRhY2hSZW5kZXJUcmVl
KCp0b0VsZW1lbnQoY3VycmVudCksIG51bGxwdHIpOworICAgICAgICB9CisgICAgfQorfQorCiBz
dGF0aWMgdm9pZCBhdHRhY2hDaGlsZHJlbihDb250YWluZXJOb2RlJiBjdXJyZW50KQogeworICAg
IGlmIChjdXJyZW50LmlzSW5zZXJ0aW9uUG9pbnQoKSkKKyAgICAgICAgYXR0YWNoRGlzdHJpYnV0
ZWRDaGlsZHJlbih0b0luc2VydGlvblBvaW50KGN1cnJlbnQpKTsKKwogICAgIGZvciAoTm9kZSog
Y2hpbGQgPSBjdXJyZW50LmZpcnN0Q2hpbGQoKTsgY2hpbGQ7IGNoaWxkID0gY2hpbGQtPm5leHRT
aWJsaW5nKCkpIHsKICAgICAgICAgQVNTRVJUKCFjaGlsZC0+cmVuZGVyZXIoKSB8fCBjdXJyZW50
LnNoYWRvd1Jvb3QoKSB8fCBjdXJyZW50LmlzSW5zZXJ0aW9uUG9pbnQoKSk7CiAgICAgICAgIGlm
IChjaGlsZC0+cmVuZGVyZXIoKSkKQEAgLTU0OSw4ICs1NzMsMjMgQEAgc3RhdGljIHZvaWQgYXR0
YWNoUmVuZGVyVHJlZShFbGVtZW50JiBjdQogICAgICAgICBjdXJyZW50LmRpZEF0dGFjaFJlbmRl
cmVycygpOwogfQogCitzdGF0aWMgdm9pZCBkZXRhY2hEaXN0cmlidXRlZENoaWxkcmVuKEluc2Vy
dGlvblBvaW50JiBpbnNlcnRpb25Qb2ludCkKK3sKKyAgICBmb3IgKE5vZGUqIGN1cnJlbnQgPSBp
bnNlcnRpb25Qb2ludC5maXJzdERpc3RyaWJ1dGVkKCk7IGN1cnJlbnQ7IGN1cnJlbnQgPSBpbnNl
cnRpb25Qb2ludC5uZXh0RGlzdHJpYnV0ZWRUbyhjdXJyZW50KSkgeworICAgICAgICBpZiAoY3Vy
cmVudC0+aXNUZXh0Tm9kZSgpKSB7CisgICAgICAgICAgICBkZXRhY2hUZXh0UmVuZGVyZXIoKnRv
VGV4dChjdXJyZW50KSk7CisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgfQorICAgICAg
ICBpZiAoY3VycmVudC0+aXNFbGVtZW50Tm9kZSgpKQorICAgICAgICAgICAgZGV0YWNoUmVuZGVy
VHJlZSgqdG9FbGVtZW50KGN1cnJlbnQpKTsKKyAgICB9Cit9CisKIHN0YXRpYyB2b2lkIGRldGFj
aENoaWxkcmVuKENvbnRhaW5lck5vZGUmIGN1cnJlbnQsIERldGFjaFR5cGUgZGV0YWNoVHlwZSkK
IHsKKyAgICBpZiAoY3VycmVudC5pc0luc2VydGlvblBvaW50KCkpCisgICAgICAgIGRldGFjaERp
c3RyaWJ1dGVkQ2hpbGRyZW4odG9JbnNlcnRpb25Qb2ludChjdXJyZW50KSk7CisKICAgICBmb3Ig
KE5vZGUqIGNoaWxkID0gY3VycmVudC5maXJzdENoaWxkKCk7IGNoaWxkOyBjaGlsZCA9IGNoaWxk
LT5uZXh0U2libGluZygpKSB7CiAgICAgICAgIGlmIChjaGlsZC0+aXNUZXh0Tm9kZSgpKSB7CiAg
ICAgICAgICAgICBTdHlsZTo6ZGV0YWNoVGV4dFJlbmRlcmVyKCp0b1RleHQoY2hpbGQpKTsKQEAg
LTg3NSwyMSArOTE0LDEwIEBAIHZvaWQgcmVzb2x2ZVRyZWUoRG9jdW1lbnQmIGRvY3VtZW50LCBD
aGEKICAgICByZXNvbHZlVHJlZSgqZG9jdW1lbnRFbGVtZW50LCBjaGFuZ2UpOwogfQogCi12b2lk
IGF0dGFjaFJlbmRlclRyZWUoRWxlbWVudCYgZWxlbWVudCkKLXsKLSAgICBhdHRhY2hSZW5kZXJU
cmVlKGVsZW1lbnQsIG51bGxwdHIpOwotICAgIHJlYXR0YWNoVGV4dFJlbmRlcmVyc0ZvcldoaXRl
c3BhY2VPbmx5U2libGluZ3NBZnRlckF0dGFjaElmTmVlZGVkKGVsZW1lbnQpOwotfQotCiB2b2lk
IGRldGFjaFJlbmRlclRyZWUoRWxlbWVudCYgZWxlbWVudCkKIHsKICAgICBkZXRhY2hSZW5kZXJU
cmVlKGVsZW1lbnQsIE5vcm1hbERldGFjaCk7CiB9CiAKLXZvaWQgZGV0YWNoUmVuZGVyVHJlZUlu
UmVhdHRhY2hNb2RlKEVsZW1lbnQmIGVsZW1lbnQpCi17Ci0gICAgZGV0YWNoUmVuZGVyVHJlZShl
bGVtZW50LCBSZWF0dGFjaERldGFjaCk7Ci19Ci0KIH0KIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3N0eWxlL1N0eWxlUmVzb2x2ZVRyZWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9z
dHlsZS9TdHlsZVJlc29sdmVUcmVlLmgJKHJldmlzaW9uIDE2MTE5OSkKKysrIFNvdXJjZS9XZWJD
b3JlL3N0eWxlL1N0eWxlUmVzb2x2ZVRyZWUuaAkod29ya2luZyBjb3B5KQpAQCAtNDEsMTIgKzQx
LDggQEAgZW51bSBDaGFuZ2UgeyBOb0NoYW5nZSwgTm9Jbmhlcml0LCBJbmhlcgogdm9pZCByZXNv
bHZlVHJlZShFbGVtZW50JiwgQ2hhbmdlKTsKIHZvaWQgcmVzb2x2ZVRyZWUoRG9jdW1lbnQmLCBD
aGFuZ2UpOwogCi12b2lkIGF0dGFjaFJlbmRlclRyZWUoRWxlbWVudCYpOwogdm9pZCBkZXRhY2hS
ZW5kZXJUcmVlKEVsZW1lbnQmKTsKLS8vIEZJWE1FOiBUaGlzIGlzIG9ubHkgdXNlZCBmb3IgImxh
enkgcmVhdHRhY2giIGZvciBzaGFkb3cgdHJlZXMuCi12b2lkIGRldGFjaFJlbmRlclRyZWVJblJl
YXR0YWNoTW9kZShFbGVtZW50Jik7CiAKLXZvaWQgYXR0YWNoVGV4dFJlbmRlcmVyKFRleHQmKTsK
IHZvaWQgZGV0YWNoVGV4dFJlbmRlcmVyKFRleHQmKTsKIHZvaWQgdXBkYXRlVGV4dFJlbmRlcmVy
QWZ0ZXJDb250ZW50Q2hhbmdlKFRleHQmLCB1bnNpZ25lZCBvZmZzZXRPZlJlcGxhY2VkRGF0YSwg
dW5zaWduZWQgbGVuZ3RoT2ZSZXBsYWNlZERhdGEpOwogCg==
</data>
<flag name="review"
          id="243882"
          type_id="1"
          status="+"
          setter="kling"
    />
    <flag name="commit-queue"
          id="243888"
          type_id="3"
          status="-"
          setter="eflews.bot"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>220207</attachid>
            <date>2014-01-01 23:52:53 -0800</date>
            <delta_ts>2014-01-01 23:52:53 -0800</delta_ts>
            <desc>another</desc>
            <filename>remove-attach-2.patch</filename>
            <type>text/plain</type>
            <size>10404</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2MTIwNCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ2IEBACisyMDE0LTAxLTAxICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgYXR0YWNoUmVuZGVy
VHJlZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI2
MzY4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVt
b3ZlIHRoZSByZW1haW5pbmcgZXhwbGljaXQgcmVuZGVyIHRyZWUgY29uc3RydWN0aW9uLgorCisg
ICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojpj
cmVhdGVSZW5kZXJUcmVlKToKKyAgICAgICAgCisgICAgICAgICAgICBPbmx5IHRoZSBkb2N1bWVu
dCByZW5kZXJlciBuZWVkcyB0byBiZSBjb25zdHJ1Y3RlZCBzeW5jaHJvbm91c2x5LgorCisgICAg
ICAgICogaHRtbC9IVE1MVmlld1NvdXJjZURvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxWaWV3U291cmNlRG9jdW1lbnQ6OmFkZFRleHQpOgorICAgICAgICAKKyAgICAgICAgICAg
IFJlbW92ZSBmb3Jnb3R0ZW4gYXR0YWNoVGV4dFJlbmRlcmVyLgorCisgICAgICAgICogaHRtbC9z
aGFkb3cvSW5zZXJ0aW9uUG9pbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zZXJ0aW9uUG9p
bnQ6Okluc2VydGlvblBvaW50KToKKyAgICAgICAgCisgICAgICAgICAgICBSZW1vdmUgd2lsbEF0
dGFjaFJlbmRlcmVycy9kaWRBdHRhY2hSZW5kZXJlcnMgaGFjay4KKworICAgICAgICAqIGh0bWwv
c2hhZG93L0luc2VydGlvblBvaW50Lmg6CisgICAgICAgIChXZWJDb3JlOjp0b0luc2VydGlvblBv
aW50KToKKyAgICAgICAgKiBsb2FkZXIvUGxhY2Vob2xkZXJEb2N1bWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpQbGFjZWhvbGRlckRvY3VtZW50OjpjcmVhdGVSZW5kZXJUcmVlKToKKyAgICAg
ICAgCisgICAgICAgICAgICBTZXJpb3VzbHksIG5vdGhpbmcgdG8gZG8gaGVyZS4KKworICAgICAg
ICAqIHN0eWxlL1N0eWxlUmVzb2x2ZVRyZWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGU6
OmF0dGFjaERpc3RyaWJ1dGVkQ2hpbGRyZW4pOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OmF0
dGFjaENoaWxkcmVuKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjpkZXRhY2hEaXN0cmlidXRl
ZENoaWxkcmVuKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjpkZXRhY2hDaGlsZHJlbik6Cisg
ICAgICAgIAorICAgICAgICAgICAgTWFraW5nIGF0dGFjaGluZyBhbmQgZGV0YWNoaW5nIGRpc3Ry
aWJ1dGVkIGluc2VydGlvbiBwb2ludCBjaGlsZHJlbiBwYXJ0IG9mIFJlc29sdmVUcmVlIGludGVy
bmFscy4KKworICAgICAgICAqIHN0eWxlL1N0eWxlUmVzb2x2ZVRyZWUuaDoKKyAgICAgICAgCisg
ICAgICAgICAgICBSZW1vdmUgaW50ZXJmYWNlcyB3aXRoIG5vIGNsaWVudHMuCisKIDIwMTQtMDEt
MDEgIFNlb2tqdSBLd29uICA8c2Vva2p1QHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmVtb3ZlIHN0
YWxlIFNjcmlwdFByb2ZpbGVyIG1ldGhvZHMKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAko
cmV2aXNpb24gMTYxMjA0KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMTk1OCwxMCArMTk1OCw4IEBAIHZvaWQgRG9jdW1lbnQ6OmNyZWF0ZVJl
bmRlclRyZWUoKQogICAgIHJlbmRlclZpZXcoKS0+c2V0SXNJbldpbmRvdyh0cnVlKTsKICNlbmRp
ZgogCi0gICAgcmVjYWxjU3R5bGUoU3R5bGU6OkZvcmNlKTsKLQotICAgIGlmIChtX2RvY3VtZW50
RWxlbWVudCkKLSAgICAgICAgU3R5bGU6OmF0dGFjaFJlbmRlclRyZWUoKm1fZG9jdW1lbnRFbGVt
ZW50KTsKKyAgICBtX3JlbmRlclZpZXctPmluaXRpYWxpemVTdHlsZSgpOworICAgIHNldE5lZWRz
U3R5bGVSZWNhbGMoUmVjb25zdHJ1Y3RSZW5kZXJUcmVlKTsKIH0KIAogc3RhdGljIHZvaWQgcGFn
ZVdoZWVsRXZlbnRIYW5kbGVyQ291bnRDaGFuZ2VkKFBhZ2UmIHBhZ2UpCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxWaWV3U291cmNlRG9jdW1lbnQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZXdTb3VyY2VEb2N1bWVudC5jcHAJKHJldmlzaW9uIDE2
MTIwNCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZXdTb3VyY2VEb2N1bWVudC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTI0MCw3ICsyNDAsNiBAQCB2b2lkIEhUTUxWaWV3U291cmNlRG9j
dW1lbnQ6OmFkZFRleHQoY29uCiAgICAgICAgIH0KICAgICAgICAgUmVmUHRyPFRleHQ+IHRleHQg
PSBUZXh0OjpjcmVhdGUoKnRoaXMsIHN1YnN0cmluZyk7CiAgICAgICAgIG1fY3VycmVudC0+cGFy
c2VyQXBwZW5kQ2hpbGQodGV4dCk7Ci0gICAgICAgIFN0eWxlOjphdHRhY2hUZXh0UmVuZGVyZXIo
KnRleHQpOwogICAgICAgICBpZiAoaSA8IHNpemUgLSAxKQogICAgICAgICAgICAgZmluaXNoTGlu
ZSgpOwogICAgIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0luc2VydGlvblBv
aW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9JbnNlcnRp
b25Qb2ludC5jcHAJKHJldmlzaW9uIDE2MTIwNCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvc2hh
ZG93L0luc2VydGlvblBvaW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDMsNDQgKzQzLDEyIEBA
IEluc2VydGlvblBvaW50OjpJbnNlcnRpb25Qb2ludChjb25zdCBRdWEKICAgICA6IEhUTUxFbGVt
ZW50KHRhZ05hbWUsIGRvY3VtZW50LCBDcmVhdGVJbnNlcnRpb25Qb2ludCkKICAgICAsIG1faGFz
RGlzdHJpYnV0aW9uKGZhbHNlKQogewotICAgIHNldEhhc0N1c3RvbVN0eWxlUmVzb2x2ZUNhbGxi
YWNrcygpOwogfQogCiBJbnNlcnRpb25Qb2ludDo6fkluc2VydGlvblBvaW50KCkKIHsKIH0KIAot
dm9pZCBJbnNlcnRpb25Qb2ludDo6d2lsbEF0dGFjaFJlbmRlcmVycygpCi17Ci0gICAgaWYgKFNo
YWRvd1Jvb3QqIHNoYWRvd1Jvb3QgPSBjb250YWluaW5nU2hhZG93Um9vdCgpKQotICAgICAgICBD
b250ZW50RGlzdHJpYnV0b3I6OmVuc3VyZURpc3RyaWJ1dGlvbihzaGFkb3dSb290KTsKLSAgICBm
b3IgKE5vZGUqIGN1cnJlbnQgPSBmaXJzdERpc3RyaWJ1dGVkKCk7IGN1cnJlbnQ7IGN1cnJlbnQg
PSBuZXh0RGlzdHJpYnV0ZWRUbyhjdXJyZW50KSkgewotICAgICAgICBpZiAoY3VycmVudC0+aXNU
ZXh0Tm9kZSgpKSB7Ci0gICAgICAgICAgICBpZiAoY3VycmVudC0+cmVuZGVyZXIoKSkKLSAgICAg
ICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgIFN0eWxlOjphdHRhY2hUZXh0UmVuZGVy
ZXIoKnRvVGV4dChjdXJyZW50KSk7Ci0gICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgfQot
ICAgICAgICBpZiAoY3VycmVudC0+aXNFbGVtZW50Tm9kZSgpKSB7Ci0gICAgICAgICAgICBpZiAo
Y3VycmVudC0+cmVuZGVyZXIoKSkKLSAgICAgICAgICAgICAgICBTdHlsZTo6ZGV0YWNoUmVuZGVy
VHJlZSgqdG9FbGVtZW50KGN1cnJlbnQpKTsKLSAgICAgICAgICAgIFN0eWxlOjphdHRhY2hSZW5k
ZXJUcmVlKCp0b0VsZW1lbnQoY3VycmVudCkpOwotICAgICAgICB9Ci0gICAgfQotfQotCi12b2lk
IEluc2VydGlvblBvaW50Ojp3aWxsRGV0YWNoUmVuZGVyZXJzKCkKLXsKLSAgICBmb3IgKE5vZGUq
IGN1cnJlbnQgPSBmaXJzdERpc3RyaWJ1dGVkKCk7IGN1cnJlbnQ7IGN1cnJlbnQgPSBuZXh0RGlz
dHJpYnV0ZWRUbyhjdXJyZW50KSkgewotICAgICAgICBpZiAoY3VycmVudC0+aXNUZXh0Tm9kZSgp
KSB7Ci0gICAgICAgICAgICBTdHlsZTo6ZGV0YWNoVGV4dFJlbmRlcmVyKCp0b1RleHQoY3VycmVu
dCkpOwotICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKGN1cnJl
bnQtPmlzRWxlbWVudE5vZGUoKSkKLSAgICAgICAgICAgIFN0eWxlOjpkZXRhY2hSZW5kZXJUcmVl
KCp0b0VsZW1lbnQoY3VycmVudCkpOwotICAgIH0KLX0KLQogYm9vbCBJbnNlcnRpb25Qb2ludDo6
c2hvdWxkVXNlRmFsbGJhY2tFbGVtZW50cygpIGNvbnN0CiB7CiAgICAgcmV0dXJuIGlzQWN0aXZl
KCkgJiYgIWhhc0Rpc3RyaWJ1dGlvbigpOwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9zaGFk
b3cvSW5zZXJ0aW9uUG9pbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL3No
YWRvdy9JbnNlcnRpb25Qb2ludC5oCShyZXZpc2lvbiAxNjEyMDQpCisrKyBTb3VyY2UvV2ViQ29y
ZS9odG1sL3NoYWRvdy9JbnNlcnRpb25Qb2ludC5oCSh3b3JraW5nIGNvcHkpCkBAIC01NSw5ICs1
NSw2IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgTWF0Y2hUeXBlIG1hdGNoVHlwZUZvcihOb2Rl
KikgY29uc3QgeyByZXR1cm4gQWx3YXlzTWF0Y2hlczsgfQogCi0gICAgdmlydHVhbCB2b2lkIHdp
bGxBdHRhY2hSZW5kZXJlcnMoKSBPVkVSUklERTsKLSAgICB2aXJ0dWFsIHZvaWQgd2lsbERldGFj
aFJlbmRlcmVycygpIE9WRVJSSURFOwotCiAgICAgYm9vbCBzaG91bGRVc2VGYWxsYmFja0VsZW1l
bnRzKCkgY29uc3Q7CiAKICAgICBOb2RlKiBmaXJzdERpc3RyaWJ1dGVkKCkgY29uc3Q7CkBAIC03
OCwxNyArNzUsOSBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9oYXNEaXN0cmlidXRpb247CiB9Owog
Ci1pbmxpbmUgSW5zZXJ0aW9uUG9pbnQqIHRvSW5zZXJ0aW9uUG9pbnQoTm9kZSogbm9kZSkKLXsK
LSAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTighbm9kZSB8fCBub2RlLT5pc0lu
c2VydGlvblBvaW50KCkpOwotICAgIHJldHVybiBzdGF0aWNfY2FzdDxJbnNlcnRpb25Qb2ludCo+
KG5vZGUpOwotfQoraW5saW5lIGJvb2wgaXNJbnNlcnRpb25Qb2ludChjb25zdCBOb2RlJiBub2Rl
KSB7IHJldHVybiBub2RlLmlzSW5zZXJ0aW9uUG9pbnQoKTsgfQogCi1pbmxpbmUgY29uc3QgSW5z
ZXJ0aW9uUG9pbnQqIHRvSW5zZXJ0aW9uUG9pbnQoY29uc3QgTm9kZSogbm9kZSkKLXsKLSAgICBB
U1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTighbm9kZSB8fCBub2RlLT5pc0luc2VydGlv
blBvaW50KCkpOwotICAgIHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBJbnNlcnRpb25Qb2ludCo+
KG5vZGUpOwotfQorTk9ERV9UWVBFX0NBU1RTKEluc2VydGlvblBvaW50KTsKIAogaW5saW5lIGJv
b2wgaXNBY3RpdmVJbnNlcnRpb25Qb2ludChjb25zdCBOb2RlKiBub2RlKQogewpJbmRleDogU291
cmNlL1dlYkNvcmUvbG9hZGVyL1BsYWNlaG9sZGVyRG9jdW1lbnQuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2xvYWRlci9QbGFjZWhvbGRlckRvY3VtZW50LmNwcAkocmV2aXNpb24g
MTYxMjA0KQorKysgU291cmNlL1dlYkNvcmUvbG9hZGVyL1BsYWNlaG9sZGVyRG9jdW1lbnQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0zMyw5ICszMyw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHZv
aWQgUGxhY2Vob2xkZXJEb2N1bWVudDo6Y3JlYXRlUmVuZGVyVHJlZSgpCiB7CiAgICAgQVNTRVJU
KCFyZW5kZXJWaWV3KCkpOwotCi0gICAgZm9yIChhdXRvJiBjaGlsZCA6IGNoaWxkcmVuT2ZUeXBl
PEVsZW1lbnQ+KCp0aGlzKSkKLSAgICAgICAgU3R5bGU6OmF0dGFjaFJlbmRlclRyZWUoY2hpbGQp
OwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdHls
ZS9TdHlsZVJlc29sdmVUcmVlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdHls
ZS9TdHlsZVJlc29sdmVUcmVlLmNwcAkocmV2aXNpb24gMTYxMjA0KQorKysgU291cmNlL1dlYkNv
cmUvc3R5bGUvU3R5bGVSZXNvbHZlVHJlZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM0LDYgKzM0
LDcgQEAKICNpbmNsdWRlICJFbGVtZW50UmFyZURhdGEuaCIKICNpbmNsdWRlICJFbGVtZW50VHJh
dmVyc2FsLmgiCiAjaW5jbHVkZSAiRmxvd1RocmVhZENvbnRyb2xsZXIuaCIKKyNpbmNsdWRlICJJ
bnNlcnRpb25Qb2ludC5oIgogI2luY2x1ZGUgIk5vZGVSZW5kZXJTdHlsZS5oIgogI2luY2x1ZGUg
Ik5vZGVSZW5kZXJpbmdUcmF2ZXJzYWwuaCIKICNpbmNsdWRlICJOb2RlVHJhdmVyc2FsLmgiCkBA
IC02MSw2ICs2Miw3IEBAIG5hbWVzcGFjZSBTdHlsZSB7CiBlbnVtIERldGFjaFR5cGUgeyBOb3Jt
YWxEZXRhY2gsIFJlYXR0YWNoRGV0YWNoIH07CiAKIHN0YXRpYyB2b2lkIGF0dGFjaFJlbmRlclRy
ZWUoRWxlbWVudCYsIFBhc3NSZWZQdHI8UmVuZGVyU3R5bGU+KTsKK3N0YXRpYyB2b2lkIGF0dGFj
aFRleHRSZW5kZXJlcihUZXh0Jik7CiBzdGF0aWMgdm9pZCBkZXRhY2hSZW5kZXJUcmVlKEVsZW1l
bnQmLCBEZXRhY2hUeXBlKTsKIAogQ2hhbmdlIGRldGVybWluZUNoYW5nZShjb25zdCBSZW5kZXJT
dHlsZSogczEsIGNvbnN0IFJlbmRlclN0eWxlKiBzMiwgU2V0dGluZ3MqIHNldHRpbmdzKQpAQCAt
NDMxLDggKzQzMywzMCBAQCB2b2lkIHVwZGF0ZVRleHRSZW5kZXJlckFmdGVyQ29udGVudENoYW5n
CiAgICAgdGV4dFJlbmRlcmVyLT5zZXRUZXh0V2l0aE9mZnNldCh0ZXh0Tm9kZS5kYXRhSW1wbCgp
LCBvZmZzZXRPZlJlcGxhY2VkRGF0YSwgbGVuZ3RoT2ZSZXBsYWNlZERhdGEpOwogfQogCitzdGF0
aWMgdm9pZCBhdHRhY2hEaXN0cmlidXRlZENoaWxkcmVuKEluc2VydGlvblBvaW50JiBpbnNlcnRp
b25Qb2ludCkKK3sKKyAgICBpZiAoU2hhZG93Um9vdCogc2hhZG93Um9vdCA9IGluc2VydGlvblBv
aW50LmNvbnRhaW5pbmdTaGFkb3dSb290KCkpCisgICAgICAgIENvbnRlbnREaXN0cmlidXRvcjo6
ZW5zdXJlRGlzdHJpYnV0aW9uKHNoYWRvd1Jvb3QpOworICAgIGZvciAoTm9kZSogY3VycmVudCA9
IGluc2VydGlvblBvaW50LmZpcnN0RGlzdHJpYnV0ZWQoKTsgY3VycmVudDsgY3VycmVudCA9IGlu
c2VydGlvblBvaW50Lm5leHREaXN0cmlidXRlZFRvKGN1cnJlbnQpKSB7CisgICAgICAgIGlmIChj
dXJyZW50LT5pc1RleHROb2RlKCkpIHsKKyAgICAgICAgICAgIGlmIChjdXJyZW50LT5yZW5kZXJl
cigpKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgYXR0YWNoVGV4dFJl
bmRlcmVyKCp0b1RleHQoY3VycmVudCkpOworICAgICAgICAgICAgY29udGludWU7CisgICAgICAg
IH0KKyAgICAgICAgaWYgKGN1cnJlbnQtPmlzRWxlbWVudE5vZGUoKSkgeworICAgICAgICAgICAg
aWYgKGN1cnJlbnQtPnJlbmRlcmVyKCkpCisgICAgICAgICAgICAgICAgZGV0YWNoUmVuZGVyVHJl
ZSgqdG9FbGVtZW50KGN1cnJlbnQpKTsKKyAgICAgICAgICAgIGF0dGFjaFJlbmRlclRyZWUoKnRv
RWxlbWVudChjdXJyZW50KSwgbnVsbHB0cik7CisgICAgICAgIH0KKyAgICB9Cit9CisKIHN0YXRp
YyB2b2lkIGF0dGFjaENoaWxkcmVuKENvbnRhaW5lck5vZGUmIGN1cnJlbnQpCiB7CisgICAgaWYg
KGN1cnJlbnQuaXNJbnNlcnRpb25Qb2ludCgpKQorICAgICAgICBhdHRhY2hEaXN0cmlidXRlZENo
aWxkcmVuKHRvSW5zZXJ0aW9uUG9pbnQoY3VycmVudCkpOworCiAgICAgZm9yIChOb2RlKiBjaGls
ZCA9IGN1cnJlbnQuZmlyc3RDaGlsZCgpOyBjaGlsZDsgY2hpbGQgPSBjaGlsZC0+bmV4dFNpYmxp
bmcoKSkgewogICAgICAgICBBU1NFUlQoIWNoaWxkLT5yZW5kZXJlcigpIHx8IGN1cnJlbnQuc2hh
ZG93Um9vdCgpIHx8IGN1cnJlbnQuaXNJbnNlcnRpb25Qb2ludCgpKTsKICAgICAgICAgaWYgKGNo
aWxkLT5yZW5kZXJlcigpKQpAQCAtNTQ5LDggKzU3MywyMyBAQCBzdGF0aWMgdm9pZCBhdHRhY2hS
ZW5kZXJUcmVlKEVsZW1lbnQmIGN1CiAgICAgICAgIGN1cnJlbnQuZGlkQXR0YWNoUmVuZGVyZXJz
KCk7CiB9CiAKK3N0YXRpYyB2b2lkIGRldGFjaERpc3RyaWJ1dGVkQ2hpbGRyZW4oSW5zZXJ0aW9u
UG9pbnQmIGluc2VydGlvblBvaW50KQoreworICAgIGZvciAoTm9kZSogY3VycmVudCA9IGluc2Vy
dGlvblBvaW50LmZpcnN0RGlzdHJpYnV0ZWQoKTsgY3VycmVudDsgY3VycmVudCA9IGluc2VydGlv
blBvaW50Lm5leHREaXN0cmlidXRlZFRvKGN1cnJlbnQpKSB7CisgICAgICAgIGlmIChjdXJyZW50
LT5pc1RleHROb2RlKCkpIHsKKyAgICAgICAgICAgIGRldGFjaFRleHRSZW5kZXJlcigqdG9UZXh0
KGN1cnJlbnQpKTsKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICB9CisgICAgICAgIGlm
IChjdXJyZW50LT5pc0VsZW1lbnROb2RlKCkpCisgICAgICAgICAgICBkZXRhY2hSZW5kZXJUcmVl
KCp0b0VsZW1lbnQoY3VycmVudCkpOworICAgIH0KK30KKwogc3RhdGljIHZvaWQgZGV0YWNoQ2hp
bGRyZW4oQ29udGFpbmVyTm9kZSYgY3VycmVudCwgRGV0YWNoVHlwZSBkZXRhY2hUeXBlKQogewor
ICAgIGlmIChjdXJyZW50LmlzSW5zZXJ0aW9uUG9pbnQoKSkKKyAgICAgICAgZGV0YWNoRGlzdHJp
YnV0ZWRDaGlsZHJlbih0b0luc2VydGlvblBvaW50KGN1cnJlbnQpKTsKKwogICAgIGZvciAoTm9k
ZSogY2hpbGQgPSBjdXJyZW50LmZpcnN0Q2hpbGQoKTsgY2hpbGQ7IGNoaWxkID0gY2hpbGQtPm5l
eHRTaWJsaW5nKCkpIHsKICAgICAgICAgaWYgKGNoaWxkLT5pc1RleHROb2RlKCkpIHsKICAgICAg
ICAgICAgIFN0eWxlOjpkZXRhY2hUZXh0UmVuZGVyZXIoKnRvVGV4dChjaGlsZCkpOwpAQCAtODc1
LDIxICs5MTQsMTAgQEAgdm9pZCByZXNvbHZlVHJlZShEb2N1bWVudCYgZG9jdW1lbnQsIENoYQog
ICAgIHJlc29sdmVUcmVlKCpkb2N1bWVudEVsZW1lbnQsIGNoYW5nZSk7CiB9CiAKLXZvaWQgYXR0
YWNoUmVuZGVyVHJlZShFbGVtZW50JiBlbGVtZW50KQotewotICAgIGF0dGFjaFJlbmRlclRyZWUo
ZWxlbWVudCwgbnVsbHB0cik7Ci0gICAgcmVhdHRhY2hUZXh0UmVuZGVyZXJzRm9yV2hpdGVzcGFj
ZU9ubHlTaWJsaW5nc0FmdGVyQXR0YWNoSWZOZWVkZWQoZWxlbWVudCk7Ci19Ci0KIHZvaWQgZGV0
YWNoUmVuZGVyVHJlZShFbGVtZW50JiBlbGVtZW50KQogewogICAgIGRldGFjaFJlbmRlclRyZWUo
ZWxlbWVudCwgTm9ybWFsRGV0YWNoKTsKIH0KIAotdm9pZCBkZXRhY2hSZW5kZXJUcmVlSW5SZWF0
dGFjaE1vZGUoRWxlbWVudCYgZWxlbWVudCkKLXsKLSAgICBkZXRhY2hSZW5kZXJUcmVlKGVsZW1l
bnQsIFJlYXR0YWNoRGV0YWNoKTsKLX0KLQogfQogfQpJbmRleDogU291cmNlL1dlYkNvcmUvc3R5
bGUvU3R5bGVSZXNvbHZlVHJlZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N0eWxl
L1N0eWxlUmVzb2x2ZVRyZWUuaAkocmV2aXNpb24gMTYxMjA0KQorKysgU291cmNlL1dlYkNvcmUv
c3R5bGUvU3R5bGVSZXNvbHZlVHJlZS5oCSh3b3JraW5nIGNvcHkpCkBAIC00MSwxMiArNDEsOCBA
QCBlbnVtIENoYW5nZSB7IE5vQ2hhbmdlLCBOb0luaGVyaXQsIEluaGVyCiB2b2lkIHJlc29sdmVU
cmVlKEVsZW1lbnQmLCBDaGFuZ2UpOwogdm9pZCByZXNvbHZlVHJlZShEb2N1bWVudCYsIENoYW5n
ZSk7CiAKLXZvaWQgYXR0YWNoUmVuZGVyVHJlZShFbGVtZW50Jik7CiB2b2lkIGRldGFjaFJlbmRl
clRyZWUoRWxlbWVudCYpOwotLy8gRklYTUU6IFRoaXMgaXMgb25seSB1c2VkIGZvciAibGF6eSBy
ZWF0dGFjaCIgZm9yIHNoYWRvdyB0cmVlcy4KLXZvaWQgZGV0YWNoUmVuZGVyVHJlZUluUmVhdHRh
Y2hNb2RlKEVsZW1lbnQmKTsKIAotdm9pZCBhdHRhY2hUZXh0UmVuZGVyZXIoVGV4dCYpOwogdm9p
ZCBkZXRhY2hUZXh0UmVuZGVyZXIoVGV4dCYpOwogdm9pZCB1cGRhdGVUZXh0UmVuZGVyZXJBZnRl
ckNvbnRlbnRDaGFuZ2UoVGV4dCYsIHVuc2lnbmVkIG9mZnNldE9mUmVwbGFjZWREYXRhLCB1bnNp
Z25lZCBsZW5ndGhPZlJlcGxhY2VkRGF0YSk7CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>