<?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>109361</bug_id>
          
          <creation_ts>2013-02-09 12:26:38 -0800</creation_ts>
          <short_desc>Move m_stateNodeMap from ScrollingCoordinatorMac to ScrollingStateTree</short_desc>
          <delta_ts>2013-02-11 13:30:25 -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>New Bugs</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="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>andersca</cc>
    
    <cc>bdakin</cc>
    
    <cc>buildbot</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>jamesr</cc>
    
    <cc>rniwa</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>829101</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-02-09 12:26:38 -0800</bug_when>
    <thetext>Move m_stateNodeMap from ScrollingCoordinatorMac to ScrollingStateTree</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>829102</commentid>
    <comment_count>1</comment_count>
      <attachid>187440</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-02-09 12:30:27 -0800</bug_when>
    <thetext>Created attachment 187440
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>829142</commentid>
    <comment_count>2</comment_count>
      <attachid>187440</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-02-09 17:04:00 -0800</bug_when>
    <thetext>Comment on attachment 187440
Patch

Attachment 187440 did not pass mac-wk2-ews (mac-wk2):
Output: http://queues.webkit.org/results/16468652

New failing tests:
compositing/checkerboard.html
accessibility/anchor-linked-anonymous-block-crash.html
compositing/absolute-inside-out-of-view-fixed.html
http/tests/cache/cancel-multiple-post-xhrs.html
animations/3d/state-at-end-event-transform.html
animations/animation-add-events-in-handler.html
animations/additive-transform-animations.html
http/tests/cache/history-only-cached-subresource-loads.html
compositing/bounds-in-flipped-writing-mode.html
accessibility/accessibility-node-reparent.html
animations/animation-border-overflow.html
accessibility/accessibility-object-detached.html
accessibility/anonymous-render-block-in-continuation-causes-crash.html
animations/animation-controller-drt-api.html
compositing/absolute-position-changed-with-composited-parent-layer.html
compositing/absolute-position-changed-in-composited-layer.html
http/tests/cache/iframe-304-crash.html
animations/3d/transform-perspective.html
http/tests/cache/cancel-during-failure-crash.html
canvas/philip/tests/2d.canvas.reference.html
canvas/philip/tests/2d.clearRect+fillRect.alpha0.5.html
canvas/philip/tests/2d.clearRect.basic.html
animations/3d/transform-origin-vs-functions.html
accessibility/accessibility-node-memory-management.html
animations/animation-css-rule-types.html
canvas/philip/tests/2d.clearRect+fillRect.basic.html
canvas/philip/tests/2d.clearRect+fillRect.alpha0.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>829152</commentid>
    <comment_count>3</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-02-09 18:38:43 -0800</bug_when>
    <thetext>Those failures are unrelated; the EWS bots are showing them for other patches too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>830051</commentid>
    <comment_count>4</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-02-11 13:30:25 -0800</bug_when>
    <thetext>https://bugs.webkit.org/show_bug.cgi?id=109361</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>187440</attachid>
            <date>2013-02-09 12:30:27 -0800</date>
            <delta_ts>2013-02-10 14:08:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-109361-20130209122701.patch</filename>
            <type>text/plain</type>
            <size>18528</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQyMzQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWYxMjg0MTIyYmYxNTQ1
YmQ4NTIxMDM2YmU4YzU4NWZjYWE2NzE0Mi4uYmZmZjBmZDdhODY3Y2Q4MzVkMDBhZTgxNWE1MjI1
ZDkyZWQ3MTI5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDEzLTAyLTA5ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIE1vdmUgbV9zdGF0
ZU5vZGVNYXAgZnJvbSBTY3JvbGxpbmdDb29yZGluYXRvck1hYyB0byBTY3JvbGxpbmdTdGF0ZVRy
ZWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwOTM2
MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICAKKyAgICAg
ICAgVGhlIG1hcCBvZiBzY3JvbGxpbmcgbm9kZSBJRHMgdG8gU2NvbGxpbmdTdGF0ZU5vZGVzIHdh
cyBtYWludGFpbmVkIGJ5CisgICAgICAgIFNjcm9sbGluZ0Nvb3JkaW5hdG9yTWFjLCByYXRoZXIg
dGhhbiBTY3JvbGxpbmdTdGF0ZVRyZWUuIFRoaXMgaXMgZGlmZmVyZW50CisgICAgICAgIGZyb20g
dGhlIFNjcm9sbGluZ1RyZWUgKHdoaWNoIG93bnMgaXRzIG5vZGUgbWFwKSwgYW5kIGFkZGVkIHNv
bWUgYW1vdW50CisgICAgICAgIG9mIHRvLWFuZC1mcm8gYmV0d2VlbiBTY3JvbGxpbmdTdGF0ZVRy
ZWUgYW5kIFNjcm9sbGluZ0Nvb3JkaW5hdG9yTWFjLgorICAgICAgICAKKyAgICAgICAgSGF2aW5n
IFNjcm9sbGluZ0Nvb3JkaW5hdG9yTWFjIG1haW50YWluIHRoZSBtYXAgb2YgSURzIHRvIHN0YXRl
IG5vZGVzCisgICAgICAgIHNpbXBsaWZpZXMgdGhpbmdzLgorCisgICAgICAgIE5vIGJlaGF2aW9y
IGNoYW5nZS4KKworICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlVHJlZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdTdGF0ZVRyZWU6OmF0dGFjaE5vZGUpOgor
ICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nU3RhdGVUcmVlOjpkZXRhY2hOb2RlKToKKyAgICAg
ICAgKFdlYkNvcmU6OlNjcm9sbGluZ1N0YXRlVHJlZTo6Y2xlYXIpOgorICAgICAgICAoV2ViQ29y
ZTo6U2Nyb2xsaW5nU3RhdGVUcmVlOjpyZW1vdmVOb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OlNj
cm9sbGluZ1N0YXRlVHJlZTo6c3RhdGVOb2RlRm9ySUQpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xs
aW5nL1Njcm9sbGluZ1N0YXRlVHJlZS5oOgorICAgICAgICAoU2Nyb2xsaW5nU3RhdGVUcmVlKTog
UmVtb3ZlIHNvbWUgc3RhbGUgY29tbWVudHMuCisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdT
dGF0ZVRyZWU6OnJlbW92ZWROb2Rlcyk6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvbWFjL1Nj
cm9sbGluZ0Nvb3JkaW5hdG9yTWFjLmg6CisgICAgICAgIChTY3JvbGxpbmdDb29yZGluYXRvck1h
Yyk6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTWFj
Lm1tOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWM6OmZyYW1lVmll
d0xheW91dFVwZGF0ZWQpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nQ29vcmRpbmF0b3JN
YWM6OnJlY29tcHV0ZVdoZWVsRXZlbnRIYW5kbGVyQ291bnRGb3JGcmFtZVZpZXcpOgorICAgICAg
ICAoV2ViQ29yZTo6U2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWM6OmZyYW1lVmlld1Jvb3RMYXllckRp
ZENoYW5nZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdDb29yZGluYXRvck1hYzo6cmVx
dWVzdFNjcm9sbFBvc2l0aW9uVXBkYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ0Nv
b3JkaW5hdG9yTWFjOjphdHRhY2hUb1N0YXRlVHJlZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3Jv
bGxpbmdDb29yZGluYXRvck1hYzo6ZGV0YWNoRnJvbVN0YXRlVHJlZSk6CisgICAgICAgIChXZWJD
b3JlOjpTY3JvbGxpbmdDb29yZGluYXRvck1hYzo6Y2xlYXJTdGF0ZVRyZWUpOgorICAgICAgICAo
V2ViQ29yZTo6U2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWM6OnVwZGF0ZVNjcm9sbGluZ05vZGUpOgor
ICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWM6OnVwZGF0ZVZpZXdwb3J0
Q29uc3RyYWluZWROb2RlKToKKwogMjAxMy0wMi0wOCAgRGVhbiBKYWNrc29uICA8ZGlub0BhcHBs
ZS5jb20+CiAKICAgICAgICAgU25hcHNob3R0ZWQgcGx1Zy1pbiBzaG91bGQgdXNlIHNoYWRvdyBy
b290CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdT
dGF0ZVRyZWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3Rh
dGVUcmVlLmNwcAppbmRleCBmN2MwYjRhNGNjYzEyMTg0ZTY0NTUzMDk3YjdhYThhZDY3ZmI3ZTlm
Li5iZDk3NWMyMTg5ZWQwODNmZmRlYjIzYmIxMzJkNjM3MzllY2E5MTc1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVRyZWUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlVHJlZS5jcHAKQEAg
LTI0LDEwICsyNCwxNSBAQAogICovCiAgCiAjaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAi
U2Nyb2xsaW5nU3RhdGVUcmVlLmgiCiAKICNpZiBFTkFCTEUoVEhSRUFERURfU0NST0xMSU5HKQog
CisjaW5jbHVkZSAiU2Nyb2xsaW5nU3RhdGVUcmVlLmgiCisKKyNpbmNsdWRlICJTY3JvbGxpbmdT
dGF0ZUZpeGVkTm9kZS5oIgorI2luY2x1ZGUgIlNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZS5o
IgorI2luY2x1ZGUgIlNjcm9sbGluZ1N0YXRlU3RpY2t5Tm9kZS5oIgorCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIFBhc3NPd25QdHI8U2Nyb2xsaW5nU3RhdGVUcmVlPiBTY3JvbGxpbmdTdGF0ZVRy
ZWU6OmNyZWF0ZSgpCkBAIC00NSw2ICs1MCw3OCBAQCBTY3JvbGxpbmdTdGF0ZVRyZWU6On5TY3Jv
bGxpbmdTdGF0ZVRyZWUoKQogewogfQogCitTY3JvbGxpbmdOb2RlSUQgU2Nyb2xsaW5nU3RhdGVU
cmVlOjphdHRhY2hOb2RlKFNjcm9sbGluZ05vZGVUeXBlIG5vZGVUeXBlLCBTY3JvbGxpbmdOb2Rl
SUQgbmV3Tm9kZUlELCBTY3JvbGxpbmdOb2RlSUQgcGFyZW50SUQpCit7CisgICAgQVNTRVJUKG5l
d05vZGVJRCk7CisKKyAgICBpZiAoU2Nyb2xsaW5nU3RhdGVOb2RlKiBub2RlID0gc3RhdGVOb2Rl
Rm9ySUQobmV3Tm9kZUlEKSkgeworICAgICAgICBTY3JvbGxpbmdTdGF0ZU5vZGUqIHBhcmVudCA9
IHN0YXRlTm9kZUZvcklEKHBhcmVudElEKTsKKyAgICAgICAgaWYgKCFwYXJlbnQpCisgICAgICAg
ICAgICByZXR1cm4gbmV3Tm9kZUlEOworICAgICAgICBpZiAobm9kZS0+cGFyZW50KCkgPT0gcGFy
ZW50KQorICAgICAgICAgICAgcmV0dXJuIG5ld05vZGVJRDsKKworICAgICAgICAvLyBUaGUgbm9k
ZSBpcyBiZWluZyByZS1wYXJlbnRlZC4gVG8gZG8gdGhhdCwgd2UnbGwgcmVtb3ZlIGl0LCBhbmQg
dGhlbiByZS1jcmVhdGUgYSBuZXcgbm9kZS4KKyAgICAgICAgcmVtb3ZlTm9kZShub2RlKTsKKyAg
ICB9CisKKyAgICBTY3JvbGxpbmdTdGF0ZU5vZGUqIG5ld05vZGU7CisgICAgaWYgKCFwYXJlbnRJ
RCkgeworICAgICAgICAvLyBJZiB3ZSdyZSByZXNldHRpbmcgdGhlIHJvb3Qgbm9kZSwgd2Ugc2hv
dWxkIGNsZWFyIHRoZSBIYXNoTWFwIGFuZCBkZXN0cm95IHRoZSBjdXJyZW50IGNoaWxkcmVuLgor
ICAgICAgICBjbGVhcigpOworCisgICAgICAgIHJvb3RTdGF0ZU5vZGUoKS0+c2V0U2Nyb2xsaW5n
Tm9kZUlEKG5ld05vZGVJRCk7CisgICAgICAgIG5ld05vZGUgPSByb290U3RhdGVOb2RlKCk7Cisg
ICAgfSBlbHNlIHsKKyAgICAgICAgU2Nyb2xsaW5nU3RhdGVOb2RlKiBwYXJlbnQgPSBzdGF0ZU5v
ZGVGb3JJRChwYXJlbnRJRCk7CisgICAgICAgIHN3aXRjaCAobm9kZVR5cGUpIHsKKyAgICAgICAg
Y2FzZSBGaXhlZE5vZGU6IHsKKyAgICAgICAgICAgIE93blB0cjxTY3JvbGxpbmdTdGF0ZUZpeGVk
Tm9kZT4gZml4ZWROb2RlID0gU2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGU6OmNyZWF0ZSh0aGlzLCBu
ZXdOb2RlSUQpOworICAgICAgICAgICAgbmV3Tm9kZSA9IGZpeGVkTm9kZS5nZXQoKTsKKyAgICAg
ICAgICAgIHBhcmVudC0+YXBwZW5kQ2hpbGQoZml4ZWROb2RlLnJlbGVhc2UoKSk7CisgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICBjYXNlIFN0aWNreU5vZGU6IHsKKyAgICAg
ICAgICAgIE93blB0cjxTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGU+IHN0aWNreU5vZGUgPSBTY3Jv
bGxpbmdTdGF0ZVN0aWNreU5vZGU6OmNyZWF0ZSh0aGlzLCBuZXdOb2RlSUQpOworICAgICAgICAg
ICAgbmV3Tm9kZSA9IHN0aWNreU5vZGUuZ2V0KCk7CisgICAgICAgICAgICBwYXJlbnQtPmFwcGVu
ZENoaWxkKHN0aWNreU5vZGUucmVsZWFzZSgpKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICB9CisgICAgICAgIGNhc2UgU2Nyb2xsaW5nTm9kZTogeworICAgICAgICAgICAgLy8gRklYTUU6
IFdlIGN1cnJlbnRseSBvbmx5IHN1cHBvcnQgY2hpbGQgbm9kZXMgdGhhdCBhcmUgZml4ZWQuCisg
ICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgICAgIE93blB0cjxTY3Jv
bGxpbmdTdGF0ZVNjcm9sbGluZ05vZGU+IHNjcm9sbGluZ05vZGUgPSBTY3JvbGxpbmdTdGF0ZVNj
cm9sbGluZ05vZGU6OmNyZWF0ZSh0aGlzLCBuZXdOb2RlSUQpOworICAgICAgICAgICAgbmV3Tm9k
ZSA9IHNjcm9sbGluZ05vZGUuZ2V0KCk7CisgICAgICAgICAgICBwYXJlbnQtPmFwcGVuZENoaWxk
KHNjcm9sbGluZ05vZGUucmVsZWFzZSgpKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9
CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAg
ICAgICAgfQorICAgIH0KKworICAgIG1fc3RhdGVOb2RlTWFwLnNldChuZXdOb2RlSUQsIG5ld05v
ZGUpOworICAgIHJldHVybiBuZXdOb2RlSUQ7Cit9CisKK3ZvaWQgU2Nyb2xsaW5nU3RhdGVUcmVl
OjpkZXRhY2hOb2RlKFNjcm9sbGluZ05vZGVJRCBub2RlSUQpCit7CisgICAgaWYgKCFub2RlSUQp
CisgICAgICAgIHJldHVybjsKKworICAgIC8vIFRoZSBub2RlIG1heSBub3QgYmUgZm91bmQgaWYg
Y2xlYXJTdGF0ZVRyZWUoKSB3YXMgcmVjZW50bHkgY2FsbGVkLgorICAgIFNjcm9sbGluZ1N0YXRl
Tm9kZSogbm9kZSA9IG1fc3RhdGVOb2RlTWFwLnRha2Uobm9kZUlEKTsKKyAgICBpZiAoIW5vZGUp
CisgICAgICAgIHJldHVybjsKKworICAgIHJlbW92ZU5vZGUobm9kZSk7Cit9CisKK3ZvaWQgU2Ny
b2xsaW5nU3RhdGVUcmVlOjpjbGVhcigpCit7CisgICAgcmVtb3ZlTm9kZShyb290U3RhdGVOb2Rl
KCkpOworfQorCiBQYXNzT3duUHRyPFNjcm9sbGluZ1N0YXRlVHJlZT4gU2Nyb2xsaW5nU3RhdGVU
cmVlOjpjb21taXQoKQogewogICAgIC8vIFRoaXMgZnVuY3Rpb24gY2xvbmVzIGFuZCByZXNldHMg
dGhlIGN1cnJlbnQgc3RhdGUgdHJlZSwgYnV0IGxlYXZlcyB0aGUgdHJlZSBzdHJ1Y3R1cmUgaW50
YWN0LiAKQEAgLTY1LDYgKzE0MiwxMiBAQCB2b2lkIFNjcm9sbGluZ1N0YXRlVHJlZTo6cmVtb3Zl
Tm9kZShTY3JvbGxpbmdTdGF0ZU5vZGUqIG5vZGUpCiB7CiAgICAgQVNTRVJUKG1fcm9vdFN0YXRl
Tm9kZSk7CiAgICAgbV9yb290U3RhdGVOb2RlLT5yZW1vdmVDaGlsZChub2RlKTsKKworICAgIC8v
IFNjcm9sbGluZ1N0YXRlVHJlZTo6cmVtb3ZlTm9kZSgpIHdpbGwgZGVzdHJveSBjaGlsZHJlbiwg
c28gd2UgaGF2ZSB0byBtYWtlIHN1cmUgd2UgcmVtb3ZlIHRob3NlIGNoaWxkcmVuCisgICAgLy8g
ZnJvbSB0aGUgSGFzaE1hcC4KKyAgICBzaXplX3Qgc2l6ZSA9IG1fbm9kZXNSZW1vdmVkU2luY2VM
YXN0Q29tbWl0LnNpemUoKTsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHNpemU7ICsraSkK
KyAgICAgICAgbV9zdGF0ZU5vZGVNYXAucmVtb3ZlKG1fbm9kZXNSZW1vdmVkU2luY2VMYXN0Q29t
bWl0W2ldKTsKIH0KIAogdm9pZCBTY3JvbGxpbmdTdGF0ZVRyZWU6OmRpZFJlbW92ZU5vZGUoU2Ny
b2xsaW5nTm9kZUlEIG5vZGVJRCkKQEAgLTczLDYgKzE1NiwxOCBAQCB2b2lkIFNjcm9sbGluZ1N0
YXRlVHJlZTo6ZGlkUmVtb3ZlTm9kZShTY3JvbGxpbmdOb2RlSUQgbm9kZUlEKQogICAgIG1faGFz
Q2hhbmdlZFByb3BlcnRpZXMgPSB0cnVlOwogfQogCitTY3JvbGxpbmdTdGF0ZU5vZGUqIFNjcm9s
bGluZ1N0YXRlVHJlZTo6c3RhdGVOb2RlRm9ySUQoU2Nyb2xsaW5nTm9kZUlEIHNjcm9sbExheWVy
SUQpCit7CisgICAgaWYgKCFzY3JvbGxMYXllcklEKQorICAgICAgICByZXR1cm4gMDsKKworICAg
IEhhc2hNYXA8U2Nyb2xsaW5nTm9kZUlELCBTY3JvbGxpbmdTdGF0ZU5vZGUqPjo6Y29uc3RfaXRl
cmF0b3IgaXQgPSBtX3N0YXRlTm9kZU1hcC5maW5kKHNjcm9sbExheWVySUQpOworICAgIGlmIChp
dCA9PSBtX3N0YXRlTm9kZU1hcC5lbmQoKSkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICByZXR1
cm4gaXQtPnZhbHVlOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBF
TkFCTEUoVEhSRUFERURfU0NST0xMSU5HKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVUcmVlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9TY3JvbGxpbmdTdGF0ZVRyZWUuaAppbmRleCA5ODY1OWZjYWUxODE3ZDU3ZTA4ZTA3
ZTBmOTJiM2JkMDg2M2VjMWEwLi41ZDZkODJiNzViYjU4ZDIyMjYxY2IwMTc5YWE0YzM4M2Y3N2Ji
ZDJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdT
dGF0ZVRyZWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdT
dGF0ZVRyZWUuaApAQCAtNDAsMjkgKzQwLDI1IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIC8vIHdp
bGwgYmUgaW5mb3JtZWQgYW5kIHdpbGwgc2NoZWR1bGUgYSB0aW1lciB0aGF0IHdpbGwgY2xvbmUg
dGhlIG5ldyBzdGF0ZSB0cmVlIGFuZCBzZW5kIGl0IG92ZXIgdG8KIC8vIHRoZSBzY3JvbGxpbmcg
dGhyZWFkLCBhdm9pZGluZyBsb2NraW5nLiAKIAotLy8gRklYTUU6IFJpZ2h0IG5vdyB0aGUgc2Ny
b2xsaW5nIHRocmVhZCBvbmx5IGV2ZXIgbG9va3MgYXQgdGhlIHJvb3Qgbm9kZS4gSW4gdGhlIGZ1
dHVyZSwgaXQgc2hvdWxkCi0vLyBsb29rIGF0IHRoZSB3aG9sZSB0cmVlIGFuZCBidWlsZCBhIFNj
cm9sbGluZ1RyZWUgdGhhdCBtaW1pY3MgdGhlIFNjcm9sbGluZ1N0YXRlVHJlZS4KLQotLy8gRklY
TUU6IFJpZ2h0IG5vdyB0aGVyZSBpcyBvbmx5IG9uZSB0eXBlIG9mIFNjcm9sbGluZ1N0YXRlTm9k
ZSwgd2hpY2ggaXMgdGhlIFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZS4KLS8vIEl0IGlzIGN1
cnJlbnRseSB1c2VkIGZvciB0aGUgbWFpbiBmcmFtZSwgYnV0IGluIHRoZSBmdXR1cmUgaXQgc2hv
dWxkIGJlIGFibGUgdG8gYmUgdXNlZCBmb3Igc3ViZnJhbWVzCi0vLyBhbmQgb3ZlcmZsb3cgYXJl
YXMuIEluIHRoZSBmdXR1cmUsIG1vcmUgY2xhc3NlcyB3aWxsIGluaGVyaXQgZnJvbSBTY3JvbGxp
bmdTdGF0ZU5vZGUsIHN1Y2ggYXMKLS8vIFNjcm9sbGluZ1N0YXRlRml4ZWROb2RlIGFuZCBTY3Jv
bGxpbmdTdGF0ZVN0aWNreU5vZGUgZm9yIGZpeGVkIHBvc2l0aW9uIG9iamVjdHMgYW5kIHN0aWNr
eSBwb3NpdG9uZWQKLS8vIG9iamVjdHMsIHJlc3BlY3RpdmVseS4KLQogY2xhc3MgU2Nyb2xsaW5n
U3RhdGVUcmVlIHsKKyAgICBmcmllbmQgY2xhc3MgU2Nyb2xsaW5nU3RhdGVOb2RlOwogcHVibGlj
OgorICAgIAogICAgIHN0YXRpYyBQYXNzT3duUHRyPFNjcm9sbGluZ1N0YXRlVHJlZT4gY3JlYXRl
KCk7CiAgICAgflNjcm9sbGluZ1N0YXRlVHJlZSgpOwogCiAgICAgU2Nyb2xsaW5nU3RhdGVTY3Jv
bGxpbmdOb2RlKiByb290U3RhdGVOb2RlKCkgY29uc3QgeyByZXR1cm4gbV9yb290U3RhdGVOb2Rl
LmdldCgpOyB9CisgICAgU2Nyb2xsaW5nU3RhdGVOb2RlKiBzdGF0ZU5vZGVGb3JJRChTY3JvbGxp
bmdOb2RlSUQpOworCisgICAgU2Nyb2xsaW5nTm9kZUlEIGF0dGFjaE5vZGUoU2Nyb2xsaW5nTm9k
ZVR5cGUsIFNjcm9sbGluZ05vZGVJRCwgU2Nyb2xsaW5nTm9kZUlEIHBhcmVudElEKTsKKyAgICB2
b2lkIGRldGFjaE5vZGUoU2Nyb2xsaW5nTm9kZUlEKTsKKyAgICB2b2lkIGNsZWFyKCk7CisgICAg
CisgICAgY29uc3QgVmVjdG9yPFNjcm9sbGluZ05vZGVJRD4mIHJlbW92ZWROb2RlcygpIGNvbnN0
IHsgcmV0dXJuIG1fbm9kZXNSZW1vdmVkU2luY2VMYXN0Q29tbWl0OyB9CiAKICAgICAvLyBDb3Bp
ZXMgdGhlIGN1cnJlbnQgdHJlZSBzdGF0ZSBhbmQgY2xlYXJzIHRoZSBjaGFuZ2VkIHByb3BlcnRp
ZXMgbWFzayBpbiB0aGUgb3JpZ2luYWwuCiAgICAgUGFzc093blB0cjxTY3JvbGxpbmdTdGF0ZVRy
ZWU+IGNvbW1pdCgpOwogCi0gICAgdm9pZCByZW1vdmVOb2RlKFNjcm9sbGluZ1N0YXRlTm9kZSop
OwotICAgIHZvaWQgZGlkUmVtb3ZlTm9kZShTY3JvbGxpbmdOb2RlSUQpOwotICAgIGNvbnN0IFZl
Y3RvcjxTY3JvbGxpbmdOb2RlSUQ+JiByZW1vdmVkTm9kZXMoKSBjb25zdCB7IHJldHVybiBtX25v
ZGVzUmVtb3ZlZFNpbmNlTGFzdENvbW1pdDsgfQotCiAgICAgdm9pZCBzZXRIYXNDaGFuZ2VkUHJv
cGVydGllcyhib29sIGNoYW5nZWRQcm9wZXJ0aWVzKSB7IG1faGFzQ2hhbmdlZFByb3BlcnRpZXMg
PSBjaGFuZ2VkUHJvcGVydGllczsgfQogICAgIGJvb2wgaGFzQ2hhbmdlZFByb3BlcnRpZXMoKSBj
b25zdCB7IHJldHVybiBtX2hhc0NoYW5nZWRQcm9wZXJ0aWVzOyB9CiAKQEAgLTcwLDkgKzY2LDEy
IEBAIHByaXZhdGU6CiAgICAgU2Nyb2xsaW5nU3RhdGVUcmVlKCk7CiAKICAgICB2b2lkIHNldFJv
b3RTdGF0ZU5vZGUoUGFzc093blB0cjxTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGU+IHJvb3RT
dGF0ZU5vZGUpIHsgbV9yb290U3RhdGVOb2RlID0gcm9vdFN0YXRlTm9kZTsgfQorICAgIHZvaWQg
cmVtb3ZlTm9kZShTY3JvbGxpbmdTdGF0ZU5vZGUqKTsKKyAgICB2b2lkIGRpZFJlbW92ZU5vZGUo
U2Nyb2xsaW5nTm9kZUlEKTsKIAogICAgIFBhc3NPd25QdHI8U2Nyb2xsaW5nU3RhdGVUcmVlPiBj
bG9uZSgpOwogCisgICAgSGFzaE1hcDxTY3JvbGxpbmdOb2RlSUQsIFNjcm9sbGluZ1N0YXRlTm9k
ZSo+IG1fc3RhdGVOb2RlTWFwOwogICAgIE93blB0cjxTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05v
ZGU+IG1fcm9vdFN0YXRlTm9kZTsKICAgICBWZWN0b3I8U2Nyb2xsaW5nTm9kZUlEPiBtX25vZGVz
UmVtb3ZlZFNpbmNlTGFzdENvbW1pdDsKICAgICBib29sIG1faGFzQ2hhbmdlZFByb3BlcnRpZXM7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5n
Q29vcmRpbmF0b3JNYWMuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3Jv
bGxpbmdDb29yZGluYXRvck1hYy5oCmluZGV4IDMwZTYxYWI0YWI5MTFkMWJmNmFhYWQwNTEzODY5
OTlhNDQ2NWYyNjYuLjQxYWZlYzVhZWYyOWUwNmY5OGNmMDk2ZjkwOGY2YzAzZGJiNmFkYjIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29y
ZGluYXRvck1hYy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3Jv
bGxpbmdDb29yZGluYXRvck1hYy5oCkBAIC05Niw3ICs5Niw2IEBAIHByaXZhdGU6CiAgICAgdmly
dHVhbCBib29sIGhhc1Zpc2libGVTbG93UmVwYWludFZpZXdwb3J0Q29uc3RyYWluZWRPYmplY3Rz
KEZyYW1lVmlldyopIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAKICAgICB2b2lkIGVuc3VyZVJv
b3RTdGF0ZU5vZGVGb3JGcmFtZVZpZXcoRnJhbWVWaWV3Kik7Ci0gICAgU2Nyb2xsaW5nU3RhdGVO
b2RlKiBzdGF0ZU5vZGVGb3JJRChTY3JvbGxpbmdOb2RlSUQpOwogCiAgICAgc3RydWN0IFNjcm9s
bFBhcmFtZXRlcnMgewogICAgICAgICBTY3JvbGxFbGFzdGljaXR5IGhvcml6b250YWxTY3JvbGxF
bGFzdGljaXR5OwpAQCAtMTI5LDEzICsxMjgsOSBAQCBwcml2YXRlOgogICAgIHZvaWQgc2Nyb2xs
aW5nU3RhdGVUcmVlQ29tbWl0dGVyVGltZXJGaXJlZChUaW1lcjxTY3JvbGxpbmdDb29yZGluYXRv
ck1hYz4qKTsKICAgICB2b2lkIGNvbW1pdFRyZWVTdGF0ZSgpOwogCi0gICAgdm9pZCByZW1vdmVO
b2RlKFNjcm9sbGluZ1N0YXRlTm9kZSopOwotCiAgICAgT3duUHRyPFNjcm9sbGluZ1N0YXRlVHJl
ZT4gbV9zY3JvbGxpbmdTdGF0ZVRyZWU7CiAgICAgUmVmUHRyPFNjcm9sbGluZ1RyZWU+IG1fc2Ny
b2xsaW5nVHJlZTsKICAgICBUaW1lcjxTY3JvbGxpbmdDb29yZGluYXRvck1hYz4gbV9zY3JvbGxp
bmdTdGF0ZVRyZWVDb21taXR0ZXJUaW1lcjsKLQotICAgIEhhc2hNYXA8U2Nyb2xsaW5nTm9kZUlE
LCBTY3JvbGxpbmdTdGF0ZU5vZGUqPiBtX3N0YXRlTm9kZU1hcDsKIH07CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21h
Yy9TY3JvbGxpbmdDb29yZGluYXRvck1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xs
aW5nL21hYy9TY3JvbGxpbmdDb29yZGluYXRvck1hYy5tbQppbmRleCAzMDBhMTJkMjhkMTNhYjQ0
ZmY0N2E1YWQ3NmQ0MmJhZTlkMjVhZTM3Li5mN2VhM2U3NmU5ZmFjN2E3ZDkzMDhmMDI1ODI3MTM1
ZDgwZTI2MjQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMv
U2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvbWFjL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTWFjLm1tCkBAIC0xMTksNyArMTE5LDcgQEAg
dm9pZCBTY3JvbGxpbmdDb29yZGluYXRvck1hYzo6ZnJhbWVWaWV3TGF5b3V0VXBkYXRlZChGcmFt
ZVZpZXcqIGZyYW1lVmlldykKICAgICBpZiAoIWNvb3JkaW5hdGVzU2Nyb2xsaW5nRm9yRnJhbWVW
aWV3KGZyYW1lVmlldykpCiAgICAgICAgIHJldHVybjsKIAotICAgIFNjcm9sbGluZ1N0YXRlU2Ny
b2xsaW5nTm9kZSogbm9kZSA9IHRvU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlKHN0YXRlTm9k
ZUZvcklEKGZyYW1lVmlldy0+c2Nyb2xsTGF5ZXJJRCgpKSk7CisgICAgU2Nyb2xsaW5nU3RhdGVT
Y3JvbGxpbmdOb2RlKiBub2RlID0gdG9TY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUobV9zY3Jv
bGxpbmdTdGF0ZVRyZWUtPnN0YXRlTm9kZUZvcklEKGZyYW1lVmlldy0+c2Nyb2xsTGF5ZXJJRCgp
KSk7CiAgICAgaWYgKCFub2RlKQogICAgICAgICByZXR1cm47CiAKQEAgLTE0MSw3ICsxNDEsNyBA
QCB2b2lkIFNjcm9sbGluZ0Nvb3JkaW5hdG9yTWFjOjpmcmFtZVZpZXdMYXlvdXRVcGRhdGVkKEZy
YW1lVmlldyogZnJhbWVWaWV3KQogCiB2b2lkIFNjcm9sbGluZ0Nvb3JkaW5hdG9yTWFjOjpyZWNv
bXB1dGVXaGVlbEV2ZW50SGFuZGxlckNvdW50Rm9yRnJhbWVWaWV3KEZyYW1lVmlldyogZnJhbWVW
aWV3KQogewotICAgIFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZSogbm9kZSA9IHRvU2Nyb2xs
aW5nU3RhdGVTY3JvbGxpbmdOb2RlKHN0YXRlTm9kZUZvcklEKGZyYW1lVmlldy0+c2Nyb2xsTGF5
ZXJJRCgpKSk7CisgICAgU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlKiBub2RlID0gdG9TY3Jv
bGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUobV9zY3JvbGxpbmdTdGF0ZVRyZWUtPnN0YXRlTm9kZUZv
cklEKGZyYW1lVmlldy0+c2Nyb2xsTGF5ZXJJRCgpKSk7CiAgICAgaWYgKCFub2RlKQogICAgICAg
ICByZXR1cm47CiAgICAgc2V0V2hlZWxFdmVudEhhbmRsZXJDb3VudEZvck5vZGUoY29tcHV0ZUN1
cnJlbnRXaGVlbEV2ZW50SGFuZGxlckNvdW50KCksIG5vZGUpOwpAQCAtMTYxLDcgKzE2MSw3IEBA
IHZvaWQgU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWM6OmZyYW1lVmlld1Jvb3RMYXllckRpZENoYW5n
ZShGcmFtZVZpZXcqIGZyYW1lVmlldykKIAogICAgIFNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpmcmFt
ZVZpZXdSb290TGF5ZXJEaWRDaGFuZ2UoZnJhbWVWaWV3KTsKIAotICAgIFNjcm9sbGluZ1N0YXRl
U2Nyb2xsaW5nTm9kZSogbm9kZSA9IHRvU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlKHN0YXRl
Tm9kZUZvcklEKGZyYW1lVmlldy0+c2Nyb2xsTGF5ZXJJRCgpKSk7CisgICAgU2Nyb2xsaW5nU3Rh
dGVTY3JvbGxpbmdOb2RlKiBub2RlID0gdG9TY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUobV9z
Y3JvbGxpbmdTdGF0ZVRyZWUtPnN0YXRlTm9kZUZvcklEKGZyYW1lVmlldy0+c2Nyb2xsTGF5ZXJJ
RCgpKSk7CiAgICAgc2V0U2Nyb2xsTGF5ZXJGb3JOb2RlKHNjcm9sbExheWVyRm9yRnJhbWVWaWV3
KGZyYW1lVmlldyksIG5vZGUpOwogICAgIHNldENvdW50ZXJTY3JvbGxpbmdMYXllckZvck5vZGUo
Y291bnRlclNjcm9sbGluZ0xheWVyRm9yRnJhbWVWaWV3KGZyYW1lVmlldyksIG5vZGUpOwogfQpA
QCAtMjA0LDcgKzIwNCw3IEBAIGJvb2wgU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWM6OnJlcXVlc3RT
Y3JvbGxQb3NpdGlvblVwZGF0ZShGcmFtZVZpZXcqIGZyYW1lVmlldywKICAgICBpZiAoZnJhbWVW
aWV3LT5mcmFtZSgpLT5kb2N1bWVudCgpLT5pblBhZ2VDYWNoZSgpKQogICAgICAgICByZXR1cm4g
dHJ1ZTsKIAotICAgIFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZSogc3RhdGVOb2RlID0gdG9T
Y3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUoc3RhdGVOb2RlRm9ySUQoZnJhbWVWaWV3LT5zY3Jv
bGxMYXllcklEKCkpKTsKKyAgICBTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUqIHN0YXRlTm9k
ZSA9IHRvU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlKG1fc2Nyb2xsaW5nU3RhdGVUcmVlLT5z
dGF0ZU5vZGVGb3JJRChmcmFtZVZpZXctPnNjcm9sbExheWVySUQoKSkpOwogICAgIGlmICghc3Rh
dGVOb2RlKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKQEAgLTIyOCwxMDAgKzIyOCwxNyBAQCBi
b29sIFNjcm9sbGluZ0Nvb3JkaW5hdG9yTWFjOjpoYW5kbGVXaGVlbEV2ZW50KEZyYW1lVmlldyos
IGNvbnN0IFBsYXRmb3JtV2hlZWxFdgogCiBTY3JvbGxpbmdOb2RlSUQgU2Nyb2xsaW5nQ29vcmRp
bmF0b3JNYWM6OmF0dGFjaFRvU3RhdGVUcmVlKFNjcm9sbGluZ05vZGVUeXBlIG5vZGVUeXBlLCBT
Y3JvbGxpbmdOb2RlSUQgbmV3Tm9kZUlELCBTY3JvbGxpbmdOb2RlSUQgcGFyZW50SUQpCiB7Ci0g
ICAgQVNTRVJUKG5ld05vZGVJRCk7Ci0KLSAgICBpZiAoU2Nyb2xsaW5nU3RhdGVOb2RlKiBub2Rl
ID0gc3RhdGVOb2RlRm9ySUQobmV3Tm9kZUlEKSkgewotICAgICAgICBTY3JvbGxpbmdTdGF0ZU5v
ZGUqIHBhcmVudCA9IHN0YXRlTm9kZUZvcklEKHBhcmVudElEKTsKLSAgICAgICAgaWYgKCFwYXJl
bnQpCi0gICAgICAgICAgICByZXR1cm4gbmV3Tm9kZUlEOwotICAgICAgICBpZiAobm9kZS0+cGFy
ZW50KCkgPT0gcGFyZW50KQotICAgICAgICAgICAgcmV0dXJuIG5ld05vZGVJRDsKLQotICAgICAg
ICAvLyBUaGUgbm9kZSBpcyBiZWluZyByZS1wYXJlbnRlZC4gVG8gZG8gdGhhdCwgd2UnbGwgcmVt
b3ZlIGl0LCBhbmQgdGhlbiByZS1jcmVhdGUgYSBuZXcgbm9kZS4KLSAgICAgICAgcmVtb3ZlTm9k
ZShub2RlKTsKLSAgICB9Ci0KLSAgICBTY3JvbGxpbmdTdGF0ZU5vZGUqIG5ld05vZGU7Ci0gICAg
aWYgKCFwYXJlbnRJRCkgewotICAgICAgICAvLyBJZiB3ZSdyZSByZXNldHRpbmcgdGhlIHJvb3Qg
bm9kZSwgd2Ugc2hvdWxkIGNsZWFyIHRoZSBIYXNoTWFwIGFuZCBkZXN0cm95IHRoZSBjdXJyZW50
IGNoaWxkcmVuLgotICAgICAgICBjbGVhclN0YXRlVHJlZSgpOwotCi0gICAgICAgIG1fc2Nyb2xs
aW5nU3RhdGVUcmVlLT5yb290U3RhdGVOb2RlKCktPnNldFNjcm9sbGluZ05vZGVJRChuZXdOb2Rl
SUQpOwotICAgICAgICBuZXdOb2RlID0gbV9zY3JvbGxpbmdTdGF0ZVRyZWUtPnJvb3RTdGF0ZU5v
ZGUoKTsKLSAgICB9IGVsc2UgewotICAgICAgICBTY3JvbGxpbmdTdGF0ZU5vZGUqIHBhcmVudCA9
IHN0YXRlTm9kZUZvcklEKHBhcmVudElEKTsKLSAgICAgICAgc3dpdGNoIChub2RlVHlwZSkgewot
ICAgICAgICBjYXNlIEZpeGVkTm9kZTogewotICAgICAgICAgICAgQVNTRVJUKHN1cHBvcnRzRml4
ZWRQb3NpdGlvbkxheWVycygpKTsKLSAgICAgICAgICAgIE93blB0cjxTY3JvbGxpbmdTdGF0ZUZp
eGVkTm9kZT4gZml4ZWROb2RlID0gU2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGU6OmNyZWF0ZShtX3Nj
cm9sbGluZ1N0YXRlVHJlZS5nZXQoKSwgbmV3Tm9kZUlEKTsKLSAgICAgICAgICAgIG5ld05vZGUg
PSBmaXhlZE5vZGUuZ2V0KCk7Ci0gICAgICAgICAgICBwYXJlbnQtPmFwcGVuZENoaWxkKGZpeGVk
Tm9kZS5yZWxlYXNlKCkpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAg
Y2FzZSBTdGlja3lOb2RlOiB7Ci0gICAgICAgICAgICBBU1NFUlQoc3VwcG9ydHNGaXhlZFBvc2l0
aW9uTGF5ZXJzKCkpOwotICAgICAgICAgICAgT3duUHRyPFNjcm9sbGluZ1N0YXRlU3RpY2t5Tm9k
ZT4gc3RpY2t5Tm9kZSA9IFNjcm9sbGluZ1N0YXRlU3RpY2t5Tm9kZTo6Y3JlYXRlKG1fc2Nyb2xs
aW5nU3RhdGVUcmVlLmdldCgpLCBuZXdOb2RlSUQpOwotICAgICAgICAgICAgbmV3Tm9kZSA9IHN0
aWNreU5vZGUuZ2V0KCk7Ci0gICAgICAgICAgICBwYXJlbnQtPmFwcGVuZENoaWxkKHN0aWNreU5v
ZGUucmVsZWFzZSgpKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgIGNh
c2UgU2Nyb2xsaW5nTm9kZTogewotICAgICAgICAgICAgLy8gRklYTUU6IFdlIGN1cnJlbnRseSBv
bmx5IHN1cHBvcnQgY2hpbGQgbm9kZXMgdGhhdCBhcmUgZml4ZWQuCi0gICAgICAgICAgICBBU1NF
UlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgICAgIE93blB0cjxTY3JvbGxpbmdTdGF0ZVNjcm9s
bGluZ05vZGU+IHNjcm9sbGluZ05vZGUgPSBTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGU6OmNy
ZWF0ZShtX3Njcm9sbGluZ1N0YXRlVHJlZS5nZXQoKSwgbmV3Tm9kZUlEKTsKLSAgICAgICAgICAg
IG5ld05vZGUgPSBzY3JvbGxpbmdOb2RlLmdldCgpOwotICAgICAgICAgICAgcGFyZW50LT5hcHBl
bmRDaGlsZChzY3JvbGxpbmdOb2RlLnJlbGVhc2UoKSk7Ci0gICAgICAgICAgICBicmVhazsKLSAg
ICAgICAgfQotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBtX3N0YXRlTm9kZU1hcC5zZXQobmV3Tm9kZUlE
LCBuZXdOb2RlKTsKLSAgICByZXR1cm4gbmV3Tm9kZUlEOworICAgIHJldHVybiBtX3Njcm9sbGlu
Z1N0YXRlVHJlZS0+YXR0YWNoTm9kZShub2RlVHlwZSwgbmV3Tm9kZUlELCBwYXJlbnRJRCk7CiB9
CiAKLXZvaWQgU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWM6OnJlbW92ZU5vZGUoU2Nyb2xsaW5nU3Rh
dGVOb2RlKiBub2RlKQordm9pZCBTY3JvbGxpbmdDb29yZGluYXRvck1hYzo6ZGV0YWNoRnJvbVN0
YXRlVHJlZShTY3JvbGxpbmdOb2RlSUQgbm9kZUlEKQogewotICAgIG1fc2Nyb2xsaW5nU3RhdGVU
cmVlLT5yZW1vdmVOb2RlKG5vZGUpOwotCi0gICAgLy8gU2Nyb2xsaW5nU3RhdGVUcmVlOjpyZW1v
dmVOb2RlKCkgd2lsbCBkZXN0cm95IGNoaWxkcmVuLCBzbyB3ZSBoYXZlIHRvIG1ha2Ugc3VyZSB3
ZSByZW1vdmUgdGhvc2UgY2hpbGRyZW4KLSAgICAvLyBmcm9tIHRoZSBIYXNoTWFwLgotICAgIGNv
bnN0IFZlY3RvcjxTY3JvbGxpbmdOb2RlSUQ+JiByZW1vdmVkTm9kZXMgPSBtX3Njcm9sbGluZ1N0
YXRlVHJlZS0+cmVtb3ZlZE5vZGVzKCk7Ci0gICAgc2l6ZV90IHNpemUgPSByZW1vdmVkTm9kZXMu
c2l6ZSgpOwotICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgc2l6ZTsgKytpKQotICAgICAgICBt
X3N0YXRlTm9kZU1hcC5yZW1vdmUocmVtb3ZlZE5vZGVzW2ldKTsKLX0KLQotdm9pZCBTY3JvbGxp
bmdDb29yZGluYXRvck1hYzo6ZGV0YWNoRnJvbVN0YXRlVHJlZShTY3JvbGxpbmdOb2RlSUQgc2Ny
b2xsTGF5ZXJJRCkKLXsKLSAgICBpZiAoIXNjcm9sbExheWVySUQpCi0gICAgICAgIHJldHVybjsK
LQotICAgIC8vIFRoZSBub2RlIG1heSBub3QgYmUgZm91bmQgaWYgY2xlYXJTdGF0ZVRyZWUoKSB3
YXMgcmVjZW50bHkgY2FsbGVkLgotICAgIFNjcm9sbGluZ1N0YXRlTm9kZSogbm9kZSA9IG1fc3Rh
dGVOb2RlTWFwLnRha2Uoc2Nyb2xsTGF5ZXJJRCk7Ci0gICAgaWYgKCFub2RlKQotICAgICAgICBy
ZXR1cm47Ci0KLSAgICByZW1vdmVOb2RlKG5vZGUpOworICAgIG1fc2Nyb2xsaW5nU3RhdGVUcmVl
LT5kZXRhY2hOb2RlKG5vZGVJRCk7CiB9CiAKIHZvaWQgU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWM6
OmNsZWFyU3RhdGVUcmVlKCkKIHsKLSAgICByZW1vdmVOb2RlKG1fc2Nyb2xsaW5nU3RhdGVUcmVl
LT5yb290U3RhdGVOb2RlKCkpOwotfQotCi1TY3JvbGxpbmdTdGF0ZU5vZGUqIFNjcm9sbGluZ0Nv
b3JkaW5hdG9yTWFjOjpzdGF0ZU5vZGVGb3JJRChTY3JvbGxpbmdOb2RlSUQgc2Nyb2xsTGF5ZXJJ
RCkKLXsKLSAgICBpZiAoIXNjcm9sbExheWVySUQpCi0gICAgICAgIHJldHVybiAwOwotCi0gICAg
SGFzaE1hcDxTY3JvbGxpbmdOb2RlSUQsIFNjcm9sbGluZ1N0YXRlTm9kZSo+Ojpjb25zdF9pdGVy
YXRvciBpdCA9IG1fc3RhdGVOb2RlTWFwLmZpbmQoc2Nyb2xsTGF5ZXJJRCk7Ci0gICAgaWYgKGl0
ID09IG1fc3RhdGVOb2RlTWFwLmVuZCgpKQotICAgICAgICByZXR1cm4gMDsKLQotICAgIHJldHVy
biBpdC0+dmFsdWU7CisgICAgbV9zY3JvbGxpbmdTdGF0ZVRyZWUtPmNsZWFyKCk7CiB9CiAKIHZv
aWQgU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWM6OmVuc3VyZVJvb3RTdGF0ZU5vZGVGb3JGcmFtZVZp
ZXcoRnJhbWVWaWV3KiBmcmFtZVZpZXcpCkBAIC00MTIsNyArMzI5LDcgQEAgdm9pZCBTY3JvbGxp
bmdDb29yZGluYXRvck1hYzo6c3luY0NoaWxkUG9zaXRpb25zKGNvbnN0IExheW91dFJlY3QmIHZp
ZXdwb3J0UmVjdCkKIAogdm9pZCBTY3JvbGxpbmdDb29yZGluYXRvck1hYzo6dXBkYXRlU2Nyb2xs
aW5nTm9kZShTY3JvbGxpbmdOb2RlSUQgbm9kZUlELCBHcmFwaGljc0xheWVyKiBzY3JvbGxMYXll
ciwgR3JhcGhpY3NMYXllciogY291bnRlclNjcm9sbGluZ0xheWVyKQogewotICAgIFNjcm9sbGlu
Z1N0YXRlU2Nyb2xsaW5nTm9kZSogbm9kZSA9IHRvU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2Rl
KHN0YXRlTm9kZUZvcklEKG5vZGVJRCkpOworICAgIFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9k
ZSogbm9kZSA9IHRvU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlKG1fc2Nyb2xsaW5nU3RhdGVU
cmVlLT5zdGF0ZU5vZGVGb3JJRChub2RlSUQpKTsKICAgICBBU1NFUlQobm9kZSk7CiAgICAgaWYg
KCFub2RlKQogICAgICAgICByZXR1cm47CkBAIC00MjgsMTMgKzM0NSwxMyBAQCB2b2lkIFNjcm9s
bGluZ0Nvb3JkaW5hdG9yTWFjOjp1cGRhdGVWaWV3cG9ydENvbnN0cmFpbmVkTm9kZShTY3JvbGxp
bmdOb2RlSUQgbm9kZQogCiAgICAgc3dpdGNoIChjb25zdHJhaW50cy5jb25zdHJhaW50VHlwZSgp
KSB7CiAgICAgY2FzZSBWaWV3cG9ydENvbnN0cmFpbnRzOjpGaXhlZFBvc2l0aW9uQ29uc3RhaW50
OiB7Ci0gICAgICAgIFNjcm9sbGluZ1N0YXRlRml4ZWROb2RlKiBub2RlID0gdG9TY3JvbGxpbmdT
dGF0ZUZpeGVkTm9kZShzdGF0ZU5vZGVGb3JJRChub2RlSUQpKTsKKyAgICAgICAgU2Nyb2xsaW5n
U3RhdGVGaXhlZE5vZGUqIG5vZGUgPSB0b1Njcm9sbGluZ1N0YXRlRml4ZWROb2RlKG1fc2Nyb2xs
aW5nU3RhdGVUcmVlLT5zdGF0ZU5vZGVGb3JJRChub2RlSUQpKTsKICAgICAgICAgc2V0U2Nyb2xs
TGF5ZXJGb3JOb2RlKGdyYXBoaWNzTGF5ZXIsIG5vZGUpOwogICAgICAgICBub2RlLT51cGRhdGVD
b25zdHJhaW50cygoY29uc3QgRml4ZWRQb3NpdGlvblZpZXdwb3J0Q29uc3RyYWludHMmKWNvbnN0
cmFpbnRzKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQogICAgIGNhc2UgVmlld3BvcnRDb25zdHJh
aW50czo6U3RpY2t5UG9zaXRpb25Db25zdHJhaW50OiB7Ci0gICAgICAgIFNjcm9sbGluZ1N0YXRl
U3RpY2t5Tm9kZSogbm9kZSA9IHRvU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlKHN0YXRlTm9kZUZv
cklEKG5vZGVJRCkpOworICAgICAgICBTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUqIG5vZGUgPSB0
b1Njcm9sbGluZ1N0YXRlU3RpY2t5Tm9kZShtX3Njcm9sbGluZ1N0YXRlVHJlZS0+c3RhdGVOb2Rl
Rm9ySUQobm9kZUlEKSk7CiAgICAgICAgIHNldFNjcm9sbExheWVyRm9yTm9kZShncmFwaGljc0xh
eWVyLCBub2RlKTsKICAgICAgICAgbm9kZS0+dXBkYXRlQ29uc3RyYWludHMoKGNvbnN0IFN0aWNr
eVBvc2l0aW9uVmlld3BvcnRDb25zdHJhaW50cyYpY29uc3RyYWludHMpOwogICAgICAgICBicmVh
azsK
</data>
<flag name="review"
          id="207247"
          type_id="1"
          status="+"
          setter="sam"
    />
    <flag name="commit-queue"
          id="207263"
          type_id="3"
          status="-"
          setter="buildbot"
    />
          </attachment>
      

    </bug>

</bugzilla>