<?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>176193</bug_id>
          
          <creation_ts>2017-08-31 16:01:47 -0700</creation_ts>
          <short_desc>Element focus appearance update should be either immediate or a post-layout task</short_desc>
          <delta_ts>2017-09-27 12:52:51 -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>WebCore Misc.</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="Andreas Kling">kling</reporter>
          <assigned_to name="Andreas Kling">kling</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>kling</cc>
    
    <cc>koivisto</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1344174</commentid>
    <comment_count>0</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2017-08-31 16:01:47 -0700</bug_when>
    <thetext>We currently have a zero-timer hack for delaying an element&apos;s &quot;focus appearance update&quot; (mostly about scrolling into view if needed.)
This is code from the long-long-ago that tried to avoid calling into layout during attach().

In modern day WebKit, we should be able to do this immediately when layout is clean, and as a post-layout callback otherwise.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1344180</commentid>
    <comment_count>1</comment_count>
      <attachid>319538</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2017-08-31 16:19:59 -0700</bug_when>
    <thetext>Created attachment 319538
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1344234</commentid>
    <comment_count>2</comment_count>
      <attachid>319552</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2017-08-31 17:30:34 -0700</bug_when>
    <thetext>Created attachment 319552
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1344236</commentid>
    <comment_count>3</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2017-08-31 17:35:05 -0700</bug_when>
    <thetext>r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1344257</commentid>
    <comment_count>4</comment_count>
      <attachid>319552</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-08-31 18:17:20 -0700</bug_when>
    <thetext>Comment on attachment 319552
Patch

Clearing flags on attachment: 319552

Committed r221464: &lt;http://trac.webkit.org/changeset/221464&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1344258</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-08-31 18:17:21 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1353707</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-09-27 12:52:51 -0700</bug_when>
    <thetext>&lt;rdar://problem/34694199&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>319538</attachid>
            <date>2017-08-31 16:19:59 -0700</date>
            <delta_ts>2017-08-31 17:30:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>ews-176193.diff</filename>
            <type>text/plain</type>
            <size>10384</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBmOWZmZmFlOGU3OS4uMjhkODkxODVjNDggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMCBAQAorMjAxNy0wOC0zMSAgQW5kcmVhcyBLbGluZyAgPGFrbGluZ0BhcHBsZS5jb20+
CisKKyAgICAgICAgRWxlbWVudCBmb2N1cyBhcHBlYXJhbmNlIHVwZGF0ZSBzaG91bGQgYmUgZWl0
aGVyIGltbWVkaWF0ZSBvciBhIHBvc3QtbGF5b3V0IHRhc2sKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NjE5MworCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkRvY3VtZW50OjpEb2N1bWVudCk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVu
dDo6dXBkYXRlRm9jdXNBcHBlYXJhbmNlU29vbik6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3Jl
OjpEb2N1bWVudDo6Y2FuY2VsRm9jdXNBcHBlYXJhbmNlVXBkYXRlKTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp1cGRhdGVGb2N1c0FwcGVhcmFuY2VUaW1lckZpcmVkKTog
RGVsZXRlZC4KKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKyAgICAgICAgKiBkb20vRWxlbWVu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50Ojpmb2N1cyk6CisgICAgICAgIChXZWJD
b3JlOjpFbGVtZW50OjpibHVyKToKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmNsZWFyU3R5
bGVEZXJpdmVkRGF0YUJlZm9yZURldGFjaGluZ1JlbmRlcmVyKToKKyAgICAgICAgKFdlYkNvcmU6
OkVsZW1lbnQ6OnVwZGF0ZUZvY3VzQXBwZWFyYW5jZUFmdGVyQXR0YWNoSWZOZWVkZWQpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6Y2FuY2VsRm9jdXNBcHBlYXJhbmNlVXBk
YXRlKTogRGVsZXRlZC4KKyAgICAgICAgKiBkb20vRWxlbWVudC5oOgorICAgICAgICAqIGRvbS9F
bGVtZW50UmFyZURhdGEuaDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnRSYXJlRGF0YTo6RWxl
bWVudFJhcmVEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnRSYXJlRGF0YTo6bmVlZHNG
b2N1c0FwcGVhcmFuY2VVcGRhdGVTb29uQWZ0ZXJBdHRhY2ggY29uc3QpOiBEZWxldGVkLgorICAg
ICAgICAoV2ViQ29yZTo6RWxlbWVudFJhcmVEYXRhOjpzZXROZWVkc0ZvY3VzQXBwZWFyYW5jZVVw
ZGF0ZVNvb25BZnRlckF0dGFjaCk6IERlbGV0ZWQuCisgICAgICAgICogaHRtbC9IVE1MSW5wdXRF
bGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6OmRpZEF0dGFj
aFJlbmRlcmVycyk6CisKIDIwMTctMDgtMzEgIE1pY2hhZWwgQ2F0YW56YXJvICA8bWNhdGFuemFy
b0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04ocjIyMTIyNik6IFtTT1VQXSBsaWJz
b3VwLUNSSVRJQ0FMICoqOiBzb3VwX2Nvb2tpZXNfdG9fY29va2llX2hlYWRlcjogYXNzZXJ0aW9u
ICdjb29raWVzICE9IE5VTEwnIGZhaWxlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggOWQ1
MTFjODg2NTguLjJkM2UyZWQzODY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTQ2MSw3
ICs0NjEsNiBAQCBEb2N1bWVudDo6RG9jdW1lbnQoRnJhbWUqIGZyYW1lLCBjb25zdCBVUkwmIHVy
bCwgdW5zaWduZWQgZG9jdW1lbnRDbGFzc2VzLCB1bnNpZwogICAgICwgbV92aXNpdGVkTGlua1N0
YXRlKHN0ZDo6bWFrZV91bmlxdWU8VmlzaXRlZExpbmtTdGF0ZT4oKnRoaXMpKQogICAgICwgbV9t
YXJrZXJzKHN0ZDo6bWFrZV91bmlxdWU8RG9jdW1lbnRNYXJrZXJDb250cm9sbGVyPigqdGhpcykp
CiAgICAgLCBtX3N0eWxlUmVjYWxjVGltZXIoW3RoaXNdIHsgdXBkYXRlU3R5bGVJZk5lZWRlZCgp
OyB9KQotICAgICwgbV91cGRhdGVGb2N1c0FwcGVhcmFuY2VUaW1lcigqdGhpcywgJkRvY3VtZW50
Ojp1cGRhdGVGb2N1c0FwcGVhcmFuY2VUaW1lckZpcmVkKQogICAgICwgbV9kb2N1bWVudENyZWF0
aW9uVGltZShNb25vdG9uaWNUaW1lOjpub3coKSkKICAgICAsIG1fc2NyaXB0UnVubmVyKHN0ZDo6
bWFrZV91bmlxdWU8U2NyaXB0UnVubmVyPigqdGhpcykpCiAgICAgLCBtX21vZHVsZUxvYWRlcihz
dGQ6Om1ha2VfdW5pcXVlPFNjcmlwdE1vZHVsZUxvYWRlcj4oKnRoaXMpKQpAQCAtNTQ4MCwyOSAr
NTQ3OSw2IEBAIHZvaWQgRG9jdW1lbnQ6OnN0YXRlUG9wcGVkKFJlZjxTZXJpYWxpemVkU2NyaXB0
VmFsdWU+JiYgc3RhdGVPYmplY3QpCiAgICAgICAgIG1fcGVuZGluZ1N0YXRlT2JqZWN0ID0gV1RG
TW92ZShzdGF0ZU9iamVjdCk7CiB9CiAKLXZvaWQgRG9jdW1lbnQ6OnVwZGF0ZUZvY3VzQXBwZWFy
YW5jZVNvb24oU2VsZWN0aW9uUmVzdG9yYXRpb25Nb2RlIG1vZGUpCi17Ci0gICAgbV91cGRhdGVG
b2N1c0FwcGVhcmFuY2VSZXN0b3Jlc1NlbGVjdGlvbiA9IG1vZGU7Ci0gICAgaWYgKCFtX3VwZGF0
ZUZvY3VzQXBwZWFyYW5jZVRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fdXBkYXRlRm9jdXNB
cHBlYXJhbmNlVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7Ci19Ci0KLXZvaWQgRG9jdW1lbnQ6OmNh
bmNlbEZvY3VzQXBwZWFyYW5jZVVwZGF0ZSgpCi17Ci0gICAgbV91cGRhdGVGb2N1c0FwcGVhcmFu
Y2VUaW1lci5zdG9wKCk7Ci19Ci0KLXZvaWQgRG9jdW1lbnQ6OnVwZGF0ZUZvY3VzQXBwZWFyYW5j
ZVRpbWVyRmlyZWQoKQotewotICAgIEVsZW1lbnQqIGVsZW1lbnQgPSBmb2N1c2VkRWxlbWVudCgp
OwotICAgIGlmICghZWxlbWVudCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgdXBkYXRlTGF5b3V0
KCk7Ci0gICAgaWYgKGVsZW1lbnQtPmlzRm9jdXNhYmxlKCkpCi0gICAgICAgIGVsZW1lbnQtPnVw
ZGF0ZUZvY3VzQXBwZWFyYW5jZShtX3VwZGF0ZUZvY3VzQXBwZWFyYW5jZVJlc3RvcmVzU2VsZWN0
aW9uKTsKLX0KLQogdm9pZCBEb2N1bWVudDo6YXR0YWNoUmFuZ2UoUmFuZ2UqIHJhbmdlKQogewog
ICAgIEFTU0VSVCghbV9yYW5nZXMuY29udGFpbnMocmFuZ2UpKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgK
aW5kZXggYzYxMzc3ZTUxMWIuLmQ2ZGYyMGI4MmY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAt
OTY2LDkgKzk2Niw2IEBAIHB1YmxpYzoKICAgICBib29sIGhhc05vZGVzV2l0aE1pc3NpbmdTdHls
ZSgpIGNvbnN0IHsgcmV0dXJuIG1faGFzTm9kZXNXaXRoTWlzc2luZ1N0eWxlOyB9CiAgICAgdm9p
ZCBzZXRIYXNOb2Rlc1dpdGhNaXNzaW5nU3R5bGUoKSB7IG1faGFzTm9kZXNXaXRoTWlzc2luZ1N0
eWxlID0gdHJ1ZTsgfQogCi0gICAgdm9pZCB1cGRhdGVGb2N1c0FwcGVhcmFuY2VTb29uKFNlbGVj
dGlvblJlc3RvcmF0aW9uTW9kZSk7Ci0gICAgdm9pZCBjYW5jZWxGb2N1c0FwcGVhcmFuY2VVcGRh
dGUoKTsKLQogICAgIC8vIEV4dGVuc2lvbiBmb3IgbWFuaXB1bGF0aW5nIGNhbnZhcyBkcmF3aW5n
IGNvbnRleHRzIGZvciB1c2UgaW4gQ1NTCiAgICAgc3RkOjpvcHRpb25hbDxSZW5kZXJpbmdDb250
ZXh0PiBnZXRDU1NDYW52YXNDb250ZXh0KGNvbnN0IFN0cmluZyYgdHlwZSwgY29uc3QgU3RyaW5n
JiBuYW1lLCBpbnQgd2lkdGgsIGludCBoZWlnaHQpOwogICAgIEhUTUxDYW52YXNFbGVtZW50KiBn
ZXRDU1NDYW52YXNFbGVtZW50KGNvbnN0IFN0cmluZyYgbmFtZSk7CkBAIC0xNDEyLDcgKzE0MDks
NiBAQCBwcml2YXRlOgogCiAgICAgdm9pZCB1cGRhdGVUaXRsZUZyb21UaXRsZUVsZW1lbnQoKTsK
ICAgICB2b2lkIHVwZGF0ZVRpdGxlKGNvbnN0IFN0cmluZ1dpdGhEaXJlY3Rpb24mKTsKLSAgICB2
b2lkIHVwZGF0ZUZvY3VzQXBwZWFyYW5jZVRpbWVyRmlyZWQoKTsKICAgICB2b2lkIHVwZGF0ZUJh
c2VVUkwoKTsKIAogICAgIHZvaWQgYnVpbGRBY2Nlc3NLZXlNYXAoVHJlZVNjb3BlKiByb290KTsK
QEAgLTE1MzcsNyArMTUzMyw2IEBAIHByaXZhdGU6CiAgICAgY29uc3Qgc3RkOjp1bmlxdWVfcHRy
PERvY3VtZW50TWFya2VyQ29udHJvbGxlcj4gbV9tYXJrZXJzOwogICAgIAogICAgIFRpbWVyIG1f
c3R5bGVSZWNhbGNUaW1lcjsKLSAgICBUaW1lciBtX3VwZGF0ZUZvY3VzQXBwZWFyYW5jZVRpbWVy
OwogCiAgICAgRWxlbWVudCogbV9jc3NUYXJnZXQgeyBudWxscHRyIH07CiAKQEAgLTE3MzIsNyAr
MTcyNyw2IEBAIHByaXZhdGU6CiAgICAgUGFnZUNhY2hlU3RhdGUgbV9wYWdlQ2FjaGVTdGF0ZSB7
IE5vdEluUGFnZUNhY2hlIH07CiAgICAgUmVmZXJyZXJQb2xpY3kgbV9yZWZlcnJlclBvbGljeSB7
IFJlZmVycmVyUG9saWN5OjpOb1JlZmVycmVyV2hlbkRvd25ncmFkZSB9OwogICAgIFJlYWR5U3Rh
dGUgbV9yZWFkeVN0YXRlIHsgQ29tcGxldGUgfTsKLSAgICBTZWxlY3Rpb25SZXN0b3JhdGlvbk1v
ZGUgbV91cGRhdGVGb2N1c0FwcGVhcmFuY2VSZXN0b3Jlc1NlbGVjdGlvbiB7IFNlbGVjdGlvblJl
c3RvcmF0aW9uTW9kZTo6U2V0RGVmYXVsdCB9OwogCiAgICAgTXV0YXRpb25PYnNlcnZlck9wdGlv
bnMgbV9tdXRhdGlvbk9ic2VydmVyVHlwZXMgeyAwIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcApp
bmRleCAxZDBjY2Y3ZGMwZC4uZjhhMWMyNmJjMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKQEAg
LTI0NTgsMTMgKzI0NTgsNiBAQCB2b2lkIEVsZW1lbnQ6OmZvY3VzKGJvb2wgcmVzdG9yZVByZXZp
b3VzU2VsZWN0aW9uLCBGb2N1c0RpcmVjdGlvbiBkaXJlY3Rpb24pCiAgICAgLy8gU2V0dGluZyB0
aGUgZm9jdXNlZCBub2RlIGFib3ZlIG1pZ2h0IGhhdmUgaW52YWxpZGF0ZWQgdGhlIGxheW91dCBk
dWUgdG8gc2NyaXB0cy4KICAgICBkb2N1bWVudCgpLnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdT
dHlsZXNoZWV0cygpOwogCi0gICAgaWYgKCFpc0ZvY3VzYWJsZSgpKSB7Ci0gICAgICAgIGVuc3Vy
ZUVsZW1lbnRSYXJlRGF0YSgpLnNldE5lZWRzRm9jdXNBcHBlYXJhbmNlVXBkYXRlU29vbkFmdGVy
QXR0YWNoKHRydWUpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotICAgICAgICAKLSAgICBjYW5j
ZWxGb2N1c0FwcGVhcmFuY2VVcGRhdGUoKTsKLQogICAgIFNlbGVjdGlvblJldmVhbE1vZGUgcmV2
ZWFsTW9kZSA9IFNlbGVjdGlvblJldmVhbE1vZGU6OlJldmVhbDsKICNpZiBQTEFURk9STShJT1Mp
CiAgICAgLy8gRm9jdXNpbmcgYSBmb3JtIGVsZW1lbnQgdHJpZ2dlcnMgYW5pbWF0aW9uIGluIFVJ
S2l0IHRvIHNjcm9sbCB0byB0aGUgcmlnaHQgcG9zaXRpb24uCkBAIC0yNDc4LDE4ICsyNDcxLDYg
QEAgdm9pZCBFbGVtZW50Ojpmb2N1cyhib29sIHJlc3RvcmVQcmV2aW91c1NlbGVjdGlvbiwgRm9j
dXNEaXJlY3Rpb24gZGlyZWN0aW9uKQogICAgIHVwZGF0ZUZvY3VzQXBwZWFyYW5jZShyZXN0b3Jl
UHJldmlvdXNTZWxlY3Rpb24gPyBTZWxlY3Rpb25SZXN0b3JhdGlvbk1vZGU6OlJlc3RvcmUgOiBT
ZWxlY3Rpb25SZXN0b3JhdGlvbk1vZGU6OlNldERlZmF1bHQsIHJldmVhbE1vZGUpOwogfQogCi12
b2lkIEVsZW1lbnQ6OnVwZGF0ZUZvY3VzQXBwZWFyYW5jZUFmdGVyQXR0YWNoSWZOZWVkZWQoKQot
ewotICAgIGlmICghaGFzUmFyZURhdGEoKSkKLSAgICAgICAgcmV0dXJuOwotICAgIEVsZW1lbnRS
YXJlRGF0YSogZGF0YSA9IGVsZW1lbnRSYXJlRGF0YSgpOwotICAgIGlmICghZGF0YS0+bmVlZHNG
b2N1c0FwcGVhcmFuY2VVcGRhdGVTb29uQWZ0ZXJBdHRhY2goKSkKLSAgICAgICAgcmV0dXJuOwot
ICAgIGlmIChpc0ZvY3VzYWJsZSgpICYmIGRvY3VtZW50KCkuZm9jdXNlZEVsZW1lbnQoKSA9PSB0
aGlzKQotICAgICAgICBkb2N1bWVudCgpLnVwZGF0ZUZvY3VzQXBwZWFyYW5jZVNvb24oU2VsZWN0
aW9uUmVzdG9yYXRpb25Nb2RlOjpTZXREZWZhdWx0KTsKLSAgICBkYXRhLT5zZXROZWVkc0ZvY3Vz
QXBwZWFyYW5jZVVwZGF0ZVNvb25BZnRlckF0dGFjaChmYWxzZSk7Ci19Ci0KIHZvaWQgRWxlbWVu
dDo6dXBkYXRlRm9jdXNBcHBlYXJhbmNlKFNlbGVjdGlvblJlc3RvcmF0aW9uTW9kZSwgU2VsZWN0
aW9uUmV2ZWFsTW9kZSByZXZlYWxNb2RlKQogewogICAgIGlmIChpc1Jvb3RFZGl0YWJsZUVsZW1l
bnQoKSkgewpAQCAtMjUxOCw3ICsyNDk5LDYgQEAgdm9pZCBFbGVtZW50Ojp1cGRhdGVGb2N1c0Fw
cGVhcmFuY2UoU2VsZWN0aW9uUmVzdG9yYXRpb25Nb2RlLCBTZWxlY3Rpb25SZXZlYWxNb2QKIAog
dm9pZCBFbGVtZW50OjpibHVyKCkKIHsKLSAgICBjYW5jZWxGb2N1c0FwcGVhcmFuY2VVcGRhdGUo
KTsKICAgICBpZiAodHJlZVNjb3BlKCkuZm9jdXNlZEVsZW1lbnRJblNjb3BlKCkgPT0gdGhpcykg
ewogICAgICAgICBpZiAoRnJhbWUqIGZyYW1lID0gZG9jdW1lbnQoKS5mcmFtZSgpKQogICAgICAg
ICAgICAgZnJhbWUtPnBhZ2UoKS0+Zm9jdXNDb250cm9sbGVyKCkuc2V0Rm9jdXNlZEVsZW1lbnQo
bnVsbHB0ciwgKmZyYW1lKTsKQEAgLTI5MjcsMTQgKzI5MDcsNiBAQCBMb2NhbGUmIEVsZW1lbnQ6
OmxvY2FsZSgpIGNvbnN0CiAgICAgcmV0dXJuIGRvY3VtZW50KCkuZ2V0Q2FjaGVkTG9jYWxlKGNv
bXB1dGVJbmhlcml0ZWRMYW5ndWFnZSgpKTsKIH0KIAotdm9pZCBFbGVtZW50OjpjYW5jZWxGb2N1
c0FwcGVhcmFuY2VVcGRhdGUoKQotewotICAgIGlmIChoYXNSYXJlRGF0YSgpKQotICAgICAgICBl
bGVtZW50UmFyZURhdGEoKS0+c2V0TmVlZHNGb2N1c0FwcGVhcmFuY2VVcGRhdGVTb29uQWZ0ZXJB
dHRhY2goZmFsc2UpOwotICAgIGlmIChkb2N1bWVudCgpLmZvY3VzZWRFbGVtZW50KCkgPT0gdGhp
cykKLSAgICAgICAgZG9jdW1lbnQoKS5jYW5jZWxGb2N1c0FwcGVhcmFuY2VVcGRhdGUoKTsKLX0K
LQogdm9pZCBFbGVtZW50Ojpub3JtYWxpemVBdHRyaWJ1dGVzKCkKIHsKICAgICBpZiAoIWhhc0F0
dHJpYnV0ZXMoKSkKQEAgLTM1MjgsNyArMzUwMCw2IEBAIHZvaWQgRWxlbWVudDo6cmVzZXRTdHls
ZVJlbGF0aW9ucygpCiB2b2lkIEVsZW1lbnQ6OmNsZWFyU3R5bGVEZXJpdmVkRGF0YUJlZm9yZURl
dGFjaGluZ1JlbmRlcmVyKCkKIHsKICAgICB1bnJlZ2lzdGVyTmFtZWRGbG93Q29udGVudEVsZW1l
bnQoKTsKLSAgICBjYW5jZWxGb2N1c0FwcGVhcmFuY2VVcGRhdGUoKTsKICAgICBjbGVhckJlZm9y
ZVBzZXVkb0VsZW1lbnQoKTsKICAgICBjbGVhckFmdGVyUHNldWRvRWxlbWVudCgpOwogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FbGVtZW50LmgKaW5kZXggNDJmNDZjZmIwYzMuLmEyZmJkZjg2NjMzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVt
ZW50LmgKQEAgLTYzOSw4ICs2MzksNiBAQCBwcml2YXRlOgogICAgIHZvaWQgZm9ybWF0Rm9yRGVi
dWdnZXIoY2hhciogYnVmZmVyLCB1bnNpZ25lZCBsZW5ndGgpIGNvbnN0IG92ZXJyaWRlOwogI2Vu
ZGlmCiAKLSAgICB2b2lkIGNhbmNlbEZvY3VzQXBwZWFyYW5jZVVwZGF0ZSgpOwotCiAgICAgLy8g
VGhlIGNsb25lTm9kZSBmdW5jdGlvbiBpcyBwcml2YXRlIHNvIHRoYXQgbm9uLXZpcnR1YWwgY2xv
bmVFbGVtZW50V2l0aC9XaXRob3V0Q2hpbGRyZW4gYXJlIHVzZWQgaW5zdGVhZC4KICAgICBSZWY8
Tm9kZT4gY2xvbmVOb2RlSW50ZXJuYWwoRG9jdW1lbnQmLCBDbG9uaW5nT3BlcmF0aW9uKSBvdmVy
cmlkZTsKICAgICB2aXJ0dWFsIFJlZjxFbGVtZW50PiBjbG9uZUVsZW1lbnRXaXRob3V0QXR0cmli
dXRlc0FuZENoaWxkcmVuKERvY3VtZW50Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRWxlbWVudFJhcmVEYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRh
LmgKaW5kZXggM2IyZjI5ZDFjODguLmJjNTM3ZTZkMzMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vRWxlbWVudFJhcmVEYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1l
bnRSYXJlRGF0YS5oCkBAIC01MSw5ICs1MSw2IEBAIHB1YmxpYzoKICAgICBib29sIHRhYkluZGV4
U2V0RXhwbGljaXRseSgpIGNvbnN0IHsgcmV0dXJuIG1fdGFiSW5kZXhXYXNTZXRFeHBsaWNpdGx5
OyB9CiAgICAgdm9pZCBjbGVhclRhYkluZGV4RXhwbGljaXRseSgpIHsgbV90YWJJbmRleCA9IDA7
IG1fdGFiSW5kZXhXYXNTZXRFeHBsaWNpdGx5ID0gZmFsc2U7IH0KIAotICAgIGJvb2wgbmVlZHNG
b2N1c0FwcGVhcmFuY2VVcGRhdGVTb29uQWZ0ZXJBdHRhY2goKSBjb25zdCB7IHJldHVybiBtX25l
ZWRzRm9jdXNBcHBlYXJhbmNlVXBkYXRlU29vbkFmdGVyQXR0YWNoOyB9Ci0gICAgdm9pZCBzZXRO
ZWVkc0ZvY3VzQXBwZWFyYW5jZVVwZGF0ZVNvb25BZnRlckF0dGFjaChib29sIG5lZWRzKSB7IG1f
bmVlZHNGb2N1c0FwcGVhcmFuY2VVcGRhdGVTb29uQWZ0ZXJBdHRhY2ggPSBuZWVkczsgfQotCiAg
ICAgYm9vbCBzdHlsZUFmZmVjdGVkQnlBY3RpdmUoKSBjb25zdCB7IHJldHVybiBtX3N0eWxlQWZm
ZWN0ZWRCeUFjdGl2ZTsgfQogICAgIHZvaWQgc2V0U3R5bGVBZmZlY3RlZEJ5QWN0aXZlKGJvb2wg
dmFsdWUpIHsgbV9zdHlsZUFmZmVjdGVkQnlBY3RpdmUgPSB2YWx1ZTsgfQogCkBAIC0xMjAsNyAr
MTE3LDYgQEAgcHJpdmF0ZToKICAgICBpbnQgbV90YWJJbmRleDsKICAgICB1bnNpZ25lZCBzaG9y
dCBtX2NoaWxkSW5kZXg7CiAgICAgdW5zaWduZWQgbV90YWJJbmRleFdhc1NldEV4cGxpY2l0bHkg
OiAxOwotICAgIHVuc2lnbmVkIG1fbmVlZHNGb2N1c0FwcGVhcmFuY2VVcGRhdGVTb29uQWZ0ZXJB
dHRhY2ggOiAxOwogICAgIHVuc2lnbmVkIG1fc3R5bGVBZmZlY3RlZEJ5QWN0aXZlIDogMTsKICAg
ICB1bnNpZ25lZCBtX3N0eWxlQWZmZWN0ZWRCeUVtcHR5IDogMTsKICAgICB1bnNpZ25lZCBtX3N0
eWxlQWZmZWN0ZWRCeUZvY3VzV2l0aGluIDogMTsKQEAgLTE2Niw3ICsxNjIsNiBAQCBpbmxpbmUg
RWxlbWVudFJhcmVEYXRhOjpFbGVtZW50UmFyZURhdGEoUmVuZGVyRWxlbWVudCogcmVuZGVyZXIp
CiAgICAgLCBtX3RhYkluZGV4KDApCiAgICAgLCBtX2NoaWxkSW5kZXgoMCkKICAgICAsIG1fdGFi
SW5kZXhXYXNTZXRFeHBsaWNpdGx5KGZhbHNlKQotICAgICwgbV9uZWVkc0ZvY3VzQXBwZWFyYW5j
ZVVwZGF0ZVNvb25BZnRlckF0dGFjaChmYWxzZSkKICAgICAsIG1fc3R5bGVBZmZlY3RlZEJ5QWN0
aXZlKGZhbHNlKQogICAgICwgbV9zdHlsZUFmZmVjdGVkQnlFbXB0eShmYWxzZSkKICAgICAsIG1f
c3R5bGVBZmZlY3RlZEJ5Rm9jdXNXaXRoaW4oZmFsc2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
SW5wdXRFbGVtZW50LmNwcAppbmRleCAzNzM3NzlmNDU5ZS4uYzA4Y2YzMzcwYzIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcApAQCAtODE3LDggKzgxNywxMSBAQCB2
b2lkIEhUTUxJbnB1dEVsZW1lbnQ6OmRpZEF0dGFjaFJlbmRlcmVycygpCiAKICAgICBtX2lucHV0
VHlwZS0+YXR0YWNoKCk7CiAKLSAgICBpZiAoZG9jdW1lbnQoKS5mb2N1c2VkRWxlbWVudCgpID09
IHRoaXMpCi0gICAgICAgIGRvY3VtZW50KCkudXBkYXRlRm9jdXNBcHBlYXJhbmNlU29vbihTZWxl
Y3Rpb25SZXN0b3JhdGlvbk1vZGU6OlJlc3RvcmUpOworICAgIGlmIChkb2N1bWVudCgpLmZvY3Vz
ZWRFbGVtZW50KCkgPT0gdGhpcykgeworICAgICAgICBkb2N1bWVudCgpLnZpZXcoKS0+cXVldWVQ
b3N0TGF5b3V0Q2FsbGJhY2soW3Byb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKV0geworICAg
ICAgICAgICAgcHJvdGVjdGVkVGhpcy0+dXBkYXRlRm9jdXNBcHBlYXJhbmNlKFNlbGVjdGlvblJl
c3RvcmF0aW9uTW9kZTo6UmVzdG9yZSwgU2VsZWN0aW9uUmV2ZWFsTW9kZTo6UmV2ZWFsKTsKKyAg
ICAgICAgfSk7CisgICAgfQogfQogCiB2b2lkIEhUTUxJbnB1dEVsZW1lbnQ6OmRpZERldGFjaFJl
bmRlcmVycygpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>319552</attachid>
            <date>2017-08-31 17:30:34 -0700</date>
            <delta_ts>2017-08-31 18:17:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-176193.diff</filename>
            <type>text/plain</type>
            <size>10886</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBmOWZmZmFlOGU3OS4uYjg5ZDAyMWJmMjIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzOCBAQAorMjAxNy0wOC0zMSAgQW5kcmVhcyBLbGluZyAgPGFrbGluZ0BhcHBsZS5jb20+
CisKKyAgICAgICAgRWxlbWVudCBmb2N1cyBhcHBlYXJhbmNlIHVwZGF0ZSBzaG91bGQgYmUgZWl0
aGVyIGltbWVkaWF0ZSBvciBhIHBvc3QtbGF5b3V0IHRhc2sKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NjE5MworCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgY2hhbmdlIHJlbW92ZXMgYW4gb2xkIG1l
Y2hhbmlzbSBmb3IgYXZvaWRpbmcgZWxlbWVudCBmb2N1cyBhcHBlYXJhbmNlIHVwZGF0ZXMKKyAg
ICAgICAgd2hpbGUgd2UgbWlnaHQgYmUgaW4gdGhlIG1pZGRsZSBvZiBhdHRhY2hpbmcgYSByZW5k
ZXJlci4KKworICAgICAgICBGb2N1cyBhcHBlYXJhbmNlIHVwZGF0ZXMgZGVwZW5kIG9uIGEgY2xl
YW4gbGF5b3V0LCBzaW5jZSB0aGV5IHdhbnQgdG8gYmUgYWJsZSB0bworICAgICAgICBzY3JvbGwg
dGhlIGVsZW1lbnQgaW50byB0aGUgdmlzaWJsZSB2aWV3cG9ydCBpZiBuZWVkZWQuCisgICAgICAg
IFdlIG5vdyBzaW1wbHkgZG8gdGhlIHVwZGF0ZXMgZWl0aGVyIGltbWVkaWF0ZWx5IGFmdGVyIGxh
eW91dCBpbiBFbGVtZW50Ojpmb2N1cygpLAorICAgICAgICBvciBhcyBhIHBvc3QtbGF5b3V0IGNh
bGxiYWNrIHdoZW4gbmVlZGVkIGZvciBIVE1MSW5wdXRFbGVtZW50OjpkaWRBdHRhY2hSZW5kZXJl
cnMoKS4KKworICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpE
b2N1bWVudDo6RG9jdW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnVwZGF0ZUZv
Y3VzQXBwZWFyYW5jZVNvb24pOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6
OmNhbmNlbEZvY3VzQXBwZWFyYW5jZVVwZGF0ZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3Jl
OjpEb2N1bWVudDo6dXBkYXRlRm9jdXNBcHBlYXJhbmNlVGltZXJGaXJlZCk6IERlbGV0ZWQuCisg
ICAgICAgICogZG9tL0RvY3VtZW50Lmg6CisgICAgICAgICogZG9tL0VsZW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RWxlbWVudDo6Zm9jdXMpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVu
dDo6Ymx1cik6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpjbGVhclN0eWxlRGVyaXZlZERh
dGFCZWZvcmVEZXRhY2hpbmdSZW5kZXJlcik6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50Ojp1
cGRhdGVGb2N1c0FwcGVhcmFuY2VBZnRlckF0dGFjaElmTmVlZGVkKTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmNhbmNlbEZvY3VzQXBwZWFyYW5jZVVwZGF0ZSk6IERlbGV0
ZWQuCisgICAgICAgICogZG9tL0VsZW1lbnQuaDoKKyAgICAgICAgKiBkb20vRWxlbWVudFJhcmVE
YXRhLmg6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50UmFyZURhdGE6OkVsZW1lbnRSYXJlRGF0
YSk6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50UmFyZURhdGE6Om5lZWRzRm9jdXNBcHBlYXJh
bmNlVXBkYXRlU29vbkFmdGVyQXR0YWNoIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNv
cmU6OkVsZW1lbnRSYXJlRGF0YTo6c2V0TmVlZHNGb2N1c0FwcGVhcmFuY2VVcGRhdGVTb29uQWZ0
ZXJBdHRhY2gpOiBEZWxldGVkLgorICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50OjpkaWRBdHRhY2hSZW5kZXJlcnMp
OgorCiAyMDE3LTA4LTMxICBNaWNoYWVsIENhdGFuemFybyAgPG1jYXRhbnphcm9AaWdhbGlhLmNv
bT4KIAogICAgICAgICBSRUdSRVNTSU9OKHIyMjEyMjYpOiBbU09VUF0gbGlic291cC1DUklUSUNB
TCAqKjogc291cF9jb29raWVzX3RvX2Nvb2tpZV9oZWFkZXI6IGFzc2VydGlvbiAnY29va2llcyAh
PSBOVUxMJyBmYWlsZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDlkNTExYzg4NjU4Li4y
ZDNlMmVkMzg2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC00NjEsNyArNDYxLDYgQEAg
RG9jdW1lbnQ6OkRvY3VtZW50KEZyYW1lKiBmcmFtZSwgY29uc3QgVVJMJiB1cmwsIHVuc2lnbmVk
IGRvY3VtZW50Q2xhc3NlcywgdW5zaWcKICAgICAsIG1fdmlzaXRlZExpbmtTdGF0ZShzdGQ6Om1h
a2VfdW5pcXVlPFZpc2l0ZWRMaW5rU3RhdGU+KCp0aGlzKSkKICAgICAsIG1fbWFya2VycyhzdGQ6
Om1ha2VfdW5pcXVlPERvY3VtZW50TWFya2VyQ29udHJvbGxlcj4oKnRoaXMpKQogICAgICwgbV9z
dHlsZVJlY2FsY1RpbWVyKFt0aGlzXSB7IHVwZGF0ZVN0eWxlSWZOZWVkZWQoKTsgfSkKLSAgICAs
IG1fdXBkYXRlRm9jdXNBcHBlYXJhbmNlVGltZXIoKnRoaXMsICZEb2N1bWVudDo6dXBkYXRlRm9j
dXNBcHBlYXJhbmNlVGltZXJGaXJlZCkKICAgICAsIG1fZG9jdW1lbnRDcmVhdGlvblRpbWUoTW9u
b3RvbmljVGltZTo6bm93KCkpCiAgICAgLCBtX3NjcmlwdFJ1bm5lcihzdGQ6Om1ha2VfdW5pcXVl
PFNjcmlwdFJ1bm5lcj4oKnRoaXMpKQogICAgICwgbV9tb2R1bGVMb2FkZXIoc3RkOjptYWtlX3Vu
aXF1ZTxTY3JpcHRNb2R1bGVMb2FkZXI+KCp0aGlzKSkKQEAgLTU0ODAsMjkgKzU0NzksNiBAQCB2
b2lkIERvY3VtZW50OjpzdGF0ZVBvcHBlZChSZWY8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiYmIHN0
YXRlT2JqZWN0KQogICAgICAgICBtX3BlbmRpbmdTdGF0ZU9iamVjdCA9IFdURk1vdmUoc3RhdGVP
YmplY3QpOwogfQogCi12b2lkIERvY3VtZW50Ojp1cGRhdGVGb2N1c0FwcGVhcmFuY2VTb29uKFNl
bGVjdGlvblJlc3RvcmF0aW9uTW9kZSBtb2RlKQotewotICAgIG1fdXBkYXRlRm9jdXNBcHBlYXJh
bmNlUmVzdG9yZXNTZWxlY3Rpb24gPSBtb2RlOwotICAgIGlmICghbV91cGRhdGVGb2N1c0FwcGVh
cmFuY2VUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3VwZGF0ZUZvY3VzQXBwZWFyYW5jZVRp
bWVyLnN0YXJ0T25lU2hvdCgwX3MpOwotfQotCi12b2lkIERvY3VtZW50OjpjYW5jZWxGb2N1c0Fw
cGVhcmFuY2VVcGRhdGUoKQotewotICAgIG1fdXBkYXRlRm9jdXNBcHBlYXJhbmNlVGltZXIuc3Rv
cCgpOwotfQotCi12b2lkIERvY3VtZW50Ojp1cGRhdGVGb2N1c0FwcGVhcmFuY2VUaW1lckZpcmVk
KCkKLXsKLSAgICBFbGVtZW50KiBlbGVtZW50ID0gZm9jdXNlZEVsZW1lbnQoKTsKLSAgICBpZiAo
IWVsZW1lbnQpCi0gICAgICAgIHJldHVybjsKLQotICAgIHVwZGF0ZUxheW91dCgpOwotICAgIGlm
IChlbGVtZW50LT5pc0ZvY3VzYWJsZSgpKQotICAgICAgICBlbGVtZW50LT51cGRhdGVGb2N1c0Fw
cGVhcmFuY2UobV91cGRhdGVGb2N1c0FwcGVhcmFuY2VSZXN0b3Jlc1NlbGVjdGlvbik7Ci19Ci0K
IHZvaWQgRG9jdW1lbnQ6OmF0dGFjaFJhbmdlKFJhbmdlKiByYW5nZSkKIHsKICAgICBBU1NFUlQo
IW1fcmFuZ2VzLmNvbnRhaW5zKHJhbmdlKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCmluZGV4IGM2MTM3
N2U1MTFiLi5kNmRmMjBiODJmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTk2Niw5ICs5NjYs
NiBAQCBwdWJsaWM6CiAgICAgYm9vbCBoYXNOb2Rlc1dpdGhNaXNzaW5nU3R5bGUoKSBjb25zdCB7
IHJldHVybiBtX2hhc05vZGVzV2l0aE1pc3NpbmdTdHlsZTsgfQogICAgIHZvaWQgc2V0SGFzTm9k
ZXNXaXRoTWlzc2luZ1N0eWxlKCkgeyBtX2hhc05vZGVzV2l0aE1pc3NpbmdTdHlsZSA9IHRydWU7
IH0KIAotICAgIHZvaWQgdXBkYXRlRm9jdXNBcHBlYXJhbmNlU29vbihTZWxlY3Rpb25SZXN0b3Jh
dGlvbk1vZGUpOwotICAgIHZvaWQgY2FuY2VsRm9jdXNBcHBlYXJhbmNlVXBkYXRlKCk7Ci0KICAg
ICAvLyBFeHRlbnNpb24gZm9yIG1hbmlwdWxhdGluZyBjYW52YXMgZHJhd2luZyBjb250ZXh0cyBm
b3IgdXNlIGluIENTUwogICAgIHN0ZDo6b3B0aW9uYWw8UmVuZGVyaW5nQ29udGV4dD4gZ2V0Q1NT
Q2FudmFzQ29udGV4dChjb25zdCBTdHJpbmcmIHR5cGUsIGNvbnN0IFN0cmluZyYgbmFtZSwgaW50
IHdpZHRoLCBpbnQgaGVpZ2h0KTsKICAgICBIVE1MQ2FudmFzRWxlbWVudCogZ2V0Q1NTQ2FudmFz
RWxlbWVudChjb25zdCBTdHJpbmcmIG5hbWUpOwpAQCAtMTQxMiw3ICsxNDA5LDYgQEAgcHJpdmF0
ZToKIAogICAgIHZvaWQgdXBkYXRlVGl0bGVGcm9tVGl0bGVFbGVtZW50KCk7CiAgICAgdm9pZCB1
cGRhdGVUaXRsZShjb25zdCBTdHJpbmdXaXRoRGlyZWN0aW9uJik7Ci0gICAgdm9pZCB1cGRhdGVG
b2N1c0FwcGVhcmFuY2VUaW1lckZpcmVkKCk7CiAgICAgdm9pZCB1cGRhdGVCYXNlVVJMKCk7CiAK
ICAgICB2b2lkIGJ1aWxkQWNjZXNzS2V5TWFwKFRyZWVTY29wZSogcm9vdCk7CkBAIC0xNTM3LDcg
KzE1MzMsNiBAQCBwcml2YXRlOgogICAgIGNvbnN0IHN0ZDo6dW5pcXVlX3B0cjxEb2N1bWVudE1h
cmtlckNvbnRyb2xsZXI+IG1fbWFya2VyczsKICAgICAKICAgICBUaW1lciBtX3N0eWxlUmVjYWxj
VGltZXI7Ci0gICAgVGltZXIgbV91cGRhdGVGb2N1c0FwcGVhcmFuY2VUaW1lcjsKIAogICAgIEVs
ZW1lbnQqIG1fY3NzVGFyZ2V0IHsgbnVsbHB0ciB9OwogCkBAIC0xNzMyLDcgKzE3MjcsNiBAQCBw
cml2YXRlOgogICAgIFBhZ2VDYWNoZVN0YXRlIG1fcGFnZUNhY2hlU3RhdGUgeyBOb3RJblBhZ2VD
YWNoZSB9OwogICAgIFJlZmVycmVyUG9saWN5IG1fcmVmZXJyZXJQb2xpY3kgeyBSZWZlcnJlclBv
bGljeTo6Tm9SZWZlcnJlcldoZW5Eb3duZ3JhZGUgfTsKICAgICBSZWFkeVN0YXRlIG1fcmVhZHlT
dGF0ZSB7IENvbXBsZXRlIH07Ci0gICAgU2VsZWN0aW9uUmVzdG9yYXRpb25Nb2RlIG1fdXBkYXRl
Rm9jdXNBcHBlYXJhbmNlUmVzdG9yZXNTZWxlY3Rpb24geyBTZWxlY3Rpb25SZXN0b3JhdGlvbk1v
ZGU6OlNldERlZmF1bHQgfTsKIAogICAgIE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zIG1fbXV0YXRp
b25PYnNlcnZlclR5cGVzIHsgMCB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKaW5kZXggMWQwY2Nm
N2RjMGQuLmY4YTFjMjZiYzAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCkBAIC0yNDU4LDEzICsy
NDU4LDYgQEAgdm9pZCBFbGVtZW50Ojpmb2N1cyhib29sIHJlc3RvcmVQcmV2aW91c1NlbGVjdGlv
biwgRm9jdXNEaXJlY3Rpb24gZGlyZWN0aW9uKQogICAgIC8vIFNldHRpbmcgdGhlIGZvY3VzZWQg
bm9kZSBhYm92ZSBtaWdodCBoYXZlIGludmFsaWRhdGVkIHRoZSBsYXlvdXQgZHVlIHRvIHNjcmlw
dHMuCiAgICAgZG9jdW1lbnQoKS51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMo
KTsKIAotICAgIGlmICghaXNGb2N1c2FibGUoKSkgewotICAgICAgICBlbnN1cmVFbGVtZW50UmFy
ZURhdGEoKS5zZXROZWVkc0ZvY3VzQXBwZWFyYW5jZVVwZGF0ZVNvb25BZnRlckF0dGFjaCh0cnVl
KTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLSAgICAgICAgCi0gICAgY2FuY2VsRm9jdXNBcHBl
YXJhbmNlVXBkYXRlKCk7Ci0KICAgICBTZWxlY3Rpb25SZXZlYWxNb2RlIHJldmVhbE1vZGUgPSBT
ZWxlY3Rpb25SZXZlYWxNb2RlOjpSZXZlYWw7CiAjaWYgUExBVEZPUk0oSU9TKQogICAgIC8vIEZv
Y3VzaW5nIGEgZm9ybSBlbGVtZW50IHRyaWdnZXJzIGFuaW1hdGlvbiBpbiBVSUtpdCB0byBzY3Jv
bGwgdG8gdGhlIHJpZ2h0IHBvc2l0aW9uLgpAQCAtMjQ3OCwxOCArMjQ3MSw2IEBAIHZvaWQgRWxl
bWVudDo6Zm9jdXMoYm9vbCByZXN0b3JlUHJldmlvdXNTZWxlY3Rpb24sIEZvY3VzRGlyZWN0aW9u
IGRpcmVjdGlvbikKICAgICB1cGRhdGVGb2N1c0FwcGVhcmFuY2UocmVzdG9yZVByZXZpb3VzU2Vs
ZWN0aW9uID8gU2VsZWN0aW9uUmVzdG9yYXRpb25Nb2RlOjpSZXN0b3JlIDogU2VsZWN0aW9uUmVz
dG9yYXRpb25Nb2RlOjpTZXREZWZhdWx0LCByZXZlYWxNb2RlKTsKIH0KIAotdm9pZCBFbGVtZW50
Ojp1cGRhdGVGb2N1c0FwcGVhcmFuY2VBZnRlckF0dGFjaElmTmVlZGVkKCkKLXsKLSAgICBpZiAo
IWhhc1JhcmVEYXRhKCkpCi0gICAgICAgIHJldHVybjsKLSAgICBFbGVtZW50UmFyZURhdGEqIGRh
dGEgPSBlbGVtZW50UmFyZURhdGEoKTsKLSAgICBpZiAoIWRhdGEtPm5lZWRzRm9jdXNBcHBlYXJh
bmNlVXBkYXRlU29vbkFmdGVyQXR0YWNoKCkpCi0gICAgICAgIHJldHVybjsKLSAgICBpZiAoaXNG
b2N1c2FibGUoKSAmJiBkb2N1bWVudCgpLmZvY3VzZWRFbGVtZW50KCkgPT0gdGhpcykKLSAgICAg
ICAgZG9jdW1lbnQoKS51cGRhdGVGb2N1c0FwcGVhcmFuY2VTb29uKFNlbGVjdGlvblJlc3RvcmF0
aW9uTW9kZTo6U2V0RGVmYXVsdCk7Ci0gICAgZGF0YS0+c2V0TmVlZHNGb2N1c0FwcGVhcmFuY2VV
cGRhdGVTb29uQWZ0ZXJBdHRhY2goZmFsc2UpOwotfQotCiB2b2lkIEVsZW1lbnQ6OnVwZGF0ZUZv
Y3VzQXBwZWFyYW5jZShTZWxlY3Rpb25SZXN0b3JhdGlvbk1vZGUsIFNlbGVjdGlvblJldmVhbE1v
ZGUgcmV2ZWFsTW9kZSkKIHsKICAgICBpZiAoaXNSb290RWRpdGFibGVFbGVtZW50KCkpIHsKQEAg
LTI1MTgsNyArMjQ5OSw2IEBAIHZvaWQgRWxlbWVudDo6dXBkYXRlRm9jdXNBcHBlYXJhbmNlKFNl
bGVjdGlvblJlc3RvcmF0aW9uTW9kZSwgU2VsZWN0aW9uUmV2ZWFsTW9kCiAKIHZvaWQgRWxlbWVu
dDo6Ymx1cigpCiB7Ci0gICAgY2FuY2VsRm9jdXNBcHBlYXJhbmNlVXBkYXRlKCk7CiAgICAgaWYg
KHRyZWVTY29wZSgpLmZvY3VzZWRFbGVtZW50SW5TY29wZSgpID09IHRoaXMpIHsKICAgICAgICAg
aWYgKEZyYW1lKiBmcmFtZSA9IGRvY3VtZW50KCkuZnJhbWUoKSkKICAgICAgICAgICAgIGZyYW1l
LT5wYWdlKCktPmZvY3VzQ29udHJvbGxlcigpLnNldEZvY3VzZWRFbGVtZW50KG51bGxwdHIsICpm
cmFtZSk7CkBAIC0yOTI3LDE0ICsyOTA3LDYgQEAgTG9jYWxlJiBFbGVtZW50Ojpsb2NhbGUoKSBj
b25zdAogICAgIHJldHVybiBkb2N1bWVudCgpLmdldENhY2hlZExvY2FsZShjb21wdXRlSW5oZXJp
dGVkTGFuZ3VhZ2UoKSk7CiB9CiAKLXZvaWQgRWxlbWVudDo6Y2FuY2VsRm9jdXNBcHBlYXJhbmNl
VXBkYXRlKCkKLXsKLSAgICBpZiAoaGFzUmFyZURhdGEoKSkKLSAgICAgICAgZWxlbWVudFJhcmVE
YXRhKCktPnNldE5lZWRzRm9jdXNBcHBlYXJhbmNlVXBkYXRlU29vbkFmdGVyQXR0YWNoKGZhbHNl
KTsKLSAgICBpZiAoZG9jdW1lbnQoKS5mb2N1c2VkRWxlbWVudCgpID09IHRoaXMpCi0gICAgICAg
IGRvY3VtZW50KCkuY2FuY2VsRm9jdXNBcHBlYXJhbmNlVXBkYXRlKCk7Ci19Ci0KIHZvaWQgRWxl
bWVudDo6bm9ybWFsaXplQXR0cmlidXRlcygpCiB7CiAgICAgaWYgKCFoYXNBdHRyaWJ1dGVzKCkp
CkBAIC0zNTI4LDcgKzM1MDAsNiBAQCB2b2lkIEVsZW1lbnQ6OnJlc2V0U3R5bGVSZWxhdGlvbnMo
KQogdm9pZCBFbGVtZW50OjpjbGVhclN0eWxlRGVyaXZlZERhdGFCZWZvcmVEZXRhY2hpbmdSZW5k
ZXJlcigpCiB7CiAgICAgdW5yZWdpc3Rlck5hbWVkRmxvd0NvbnRlbnRFbGVtZW50KCk7Ci0gICAg
Y2FuY2VsRm9jdXNBcHBlYXJhbmNlVXBkYXRlKCk7CiAgICAgY2xlYXJCZWZvcmVQc2V1ZG9FbGVt
ZW50KCk7CiAgICAgY2xlYXJBZnRlclBzZXVkb0VsZW1lbnQoKTsKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5o
CmluZGV4IDQyZjQ2Y2ZiMGMzLi5hMmZiZGY4NjYzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCkBAIC02
MzksOCArNjM5LDYgQEAgcHJpdmF0ZToKICAgICB2b2lkIGZvcm1hdEZvckRlYnVnZ2VyKGNoYXIq
IGJ1ZmZlciwgdW5zaWduZWQgbGVuZ3RoKSBjb25zdCBvdmVycmlkZTsKICNlbmRpZgogCi0gICAg
dm9pZCBjYW5jZWxGb2N1c0FwcGVhcmFuY2VVcGRhdGUoKTsKLQogICAgIC8vIFRoZSBjbG9uZU5v
ZGUgZnVuY3Rpb24gaXMgcHJpdmF0ZSBzbyB0aGF0IG5vbi12aXJ0dWFsIGNsb25lRWxlbWVudFdp
dGgvV2l0aG91dENoaWxkcmVuIGFyZSB1c2VkIGluc3RlYWQuCiAgICAgUmVmPE5vZGU+IGNsb25l
Tm9kZUludGVybmFsKERvY3VtZW50JiwgQ2xvbmluZ09wZXJhdGlvbikgb3ZlcnJpZGU7CiAgICAg
dmlydHVhbCBSZWY8RWxlbWVudD4gY2xvbmVFbGVtZW50V2l0aG91dEF0dHJpYnV0ZXNBbmRDaGls
ZHJlbihEb2N1bWVudCYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRS
YXJlRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5oCmluZGV4IDNi
MmYyOWQxYzg4Li5iYzUzN2U2ZDMzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0Vs
ZW1lbnRSYXJlRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEu
aApAQCAtNTEsOSArNTEsNiBAQCBwdWJsaWM6CiAgICAgYm9vbCB0YWJJbmRleFNldEV4cGxpY2l0
bHkoKSBjb25zdCB7IHJldHVybiBtX3RhYkluZGV4V2FzU2V0RXhwbGljaXRseTsgfQogICAgIHZv
aWQgY2xlYXJUYWJJbmRleEV4cGxpY2l0bHkoKSB7IG1fdGFiSW5kZXggPSAwOyBtX3RhYkluZGV4
V2FzU2V0RXhwbGljaXRseSA9IGZhbHNlOyB9CiAKLSAgICBib29sIG5lZWRzRm9jdXNBcHBlYXJh
bmNlVXBkYXRlU29vbkFmdGVyQXR0YWNoKCkgY29uc3QgeyByZXR1cm4gbV9uZWVkc0ZvY3VzQXBw
ZWFyYW5jZVVwZGF0ZVNvb25BZnRlckF0dGFjaDsgfQotICAgIHZvaWQgc2V0TmVlZHNGb2N1c0Fw
cGVhcmFuY2VVcGRhdGVTb29uQWZ0ZXJBdHRhY2goYm9vbCBuZWVkcykgeyBtX25lZWRzRm9jdXNB
cHBlYXJhbmNlVXBkYXRlU29vbkFmdGVyQXR0YWNoID0gbmVlZHM7IH0KLQogICAgIGJvb2wgc3R5
bGVBZmZlY3RlZEJ5QWN0aXZlKCkgY29uc3QgeyByZXR1cm4gbV9zdHlsZUFmZmVjdGVkQnlBY3Rp
dmU7IH0KICAgICB2b2lkIHNldFN0eWxlQWZmZWN0ZWRCeUFjdGl2ZShib29sIHZhbHVlKSB7IG1f
c3R5bGVBZmZlY3RlZEJ5QWN0aXZlID0gdmFsdWU7IH0KIApAQCAtMTIwLDcgKzExNyw2IEBAIHBy
aXZhdGU6CiAgICAgaW50IG1fdGFiSW5kZXg7CiAgICAgdW5zaWduZWQgc2hvcnQgbV9jaGlsZElu
ZGV4OwogICAgIHVuc2lnbmVkIG1fdGFiSW5kZXhXYXNTZXRFeHBsaWNpdGx5IDogMTsKLSAgICB1
bnNpZ25lZCBtX25lZWRzRm9jdXNBcHBlYXJhbmNlVXBkYXRlU29vbkFmdGVyQXR0YWNoIDogMTsK
ICAgICB1bnNpZ25lZCBtX3N0eWxlQWZmZWN0ZWRCeUFjdGl2ZSA6IDE7CiAgICAgdW5zaWduZWQg
bV9zdHlsZUFmZmVjdGVkQnlFbXB0eSA6IDE7CiAgICAgdW5zaWduZWQgbV9zdHlsZUFmZmVjdGVk
QnlGb2N1c1dpdGhpbiA6IDE7CkBAIC0xNjYsNyArMTYyLDYgQEAgaW5saW5lIEVsZW1lbnRSYXJl
RGF0YTo6RWxlbWVudFJhcmVEYXRhKFJlbmRlckVsZW1lbnQqIHJlbmRlcmVyKQogICAgICwgbV90
YWJJbmRleCgwKQogICAgICwgbV9jaGlsZEluZGV4KDApCiAgICAgLCBtX3RhYkluZGV4V2FzU2V0
RXhwbGljaXRseShmYWxzZSkKLSAgICAsIG1fbmVlZHNGb2N1c0FwcGVhcmFuY2VVcGRhdGVTb29u
QWZ0ZXJBdHRhY2goZmFsc2UpCiAgICAgLCBtX3N0eWxlQWZmZWN0ZWRCeUFjdGl2ZShmYWxzZSkK
ICAgICAsIG1fc3R5bGVBZmZlY3RlZEJ5RW1wdHkoZmFsc2UpCiAgICAgLCBtX3N0eWxlQWZmZWN0
ZWRCeUZvY3VzV2l0aGluKGZhbHNlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MSW5wdXRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVu
dC5jcHAKaW5kZXggMzczNzc5ZjQ1OWUuLmMwOGNmMzM3MGMyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTElucHV0RWxlbWVudC5jcHAKQEAgLTgxNyw4ICs4MTcsMTEgQEAgdm9pZCBIVE1MSW5w
dXRFbGVtZW50OjpkaWRBdHRhY2hSZW5kZXJlcnMoKQogCiAgICAgbV9pbnB1dFR5cGUtPmF0dGFj
aCgpOwogCi0gICAgaWYgKGRvY3VtZW50KCkuZm9jdXNlZEVsZW1lbnQoKSA9PSB0aGlzKQotICAg
ICAgICBkb2N1bWVudCgpLnVwZGF0ZUZvY3VzQXBwZWFyYW5jZVNvb24oU2VsZWN0aW9uUmVzdG9y
YXRpb25Nb2RlOjpSZXN0b3JlKTsKKyAgICBpZiAoZG9jdW1lbnQoKS5mb2N1c2VkRWxlbWVudCgp
ID09IHRoaXMpIHsKKyAgICAgICAgZG9jdW1lbnQoKS52aWV3KCktPnF1ZXVlUG9zdExheW91dENh
bGxiYWNrKFtwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyldIHsKKyAgICAgICAgICAgIHBy
b3RlY3RlZFRoaXMtPnVwZGF0ZUZvY3VzQXBwZWFyYW5jZShTZWxlY3Rpb25SZXN0b3JhdGlvbk1v
ZGU6OlJlc3RvcmUsIFNlbGVjdGlvblJldmVhbE1vZGU6OlJldmVhbCk7CisgICAgICAgIH0pOwor
ICAgIH0KIH0KIAogdm9pZCBIVE1MSW5wdXRFbGVtZW50OjpkaWREZXRhY2hSZW5kZXJlcnMoKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>