<?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>80090</bug_id>
          
          <creation_ts>2012-03-01 20:19:22 -0800</creation_ts>
          <short_desc>Move the &apos;overflow&apos; event dispatching logic out of RenderLayer</short_desc>
          <delta_ts>2012-03-02 11:43:53 -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>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>
          
          <blocked>75568</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Julien Chaffraix">jchaffraix</reporter>
          <assigned_to name="Julien Chaffraix">jchaffraix</assigned_to>
          <cc>aestes</cc>
    
    <cc>hyatt</cc>
    
    <cc>jamesr</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>569201</commentid>
    <comment_count>0</comment_count>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-03-01 20:19:22 -0800</bug_when>
    <thetext>Currently RenderLayer keeps track of whether we overflow in order to properly dispatch an &apos;overflow&apos; event. Unfortunately this is not needed as RenderBox already knows whether it overflows (as it tracks its layout overflow) thus we could move the logic there. This would remove some unneeded logic from RenderLayer so that we can skip having them around.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>569209</commentid>
    <comment_count>1</comment_count>
      <attachid>129801</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-03-01 20:38:21 -0800</bug_when>
    <thetext>Created attachment 129801
Proposed refactoring: add an RAII class to handle dispatching events.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>569213</commentid>
    <comment_count>2</comment_count>
      <attachid>129801</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-03-01 20:44:48 -0800</bug_when>
    <thetext>Comment on attachment 129801
Proposed refactoring: add an RAII class to handle dispatching events.

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

&gt; Source/WebCore/rendering/RenderBlock.cpp:126
&gt; +    void computeOverflowStatus(bool&amp; hasHorizontalLayoutOverflow, bool&amp; hasVerticalLayoutOverflow)
&gt; +    {
&gt; +        hasHorizontalLayoutOverflow = m_block-&gt;hasHorizontalLayoutOverflow();
&gt; +        hasVerticalLayoutOverflow = m_block-&gt;hasVerticalLayoutOverflow();
&gt; +    }

Having this method seems like overkill, since it just retrieves two bools.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>569767</commentid>
    <comment_count>3</comment_count>
      <attachid>129801</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-03-02 10:50:27 -0800</bug_when>
    <thetext>Comment on attachment 129801
Proposed refactoring: add an RAII class to handle dispatching events.

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

FYI will also fix the bug mentioned by Stephen White in https://bugs.webkit.org/show_bug.cgi?id=52064#c3 as we now share the same logic as overflow-events.html

&gt;&gt; Source/WebCore/rendering/RenderBlock.cpp:126
&gt;&gt; +    }
&gt; 
&gt; Having this method seems like overkill, since it just retrieves two bools.

Makes sense. Will be removed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>569782</commentid>
    <comment_count>4</comment_count>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-03-02 11:24:36 -0800</bug_when>
    <thetext>Committed r109587: &lt;http://trac.webkit.org/changeset/109587&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>569797</commentid>
    <comment_count>5</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2012-03-02 11:37:27 -0800</bug_when>
    <thetext>Looks like this broke the build (at least on Lion): http://build.webkit.org/builders/SnowLeopard%20Intel%20Release%20%28Build%29/builds/39454/steps/compile-webkit/logs/stdio


/Users/estes/Safari/OpenSource/Source/WebCore/rendering/RenderBlock.cpp:123:38: error: unused parameter &apos;hasHorizontalLayoutOverflow&apos; [-Werror,-Wunused-parameter,2]
     void computeOverflowStatus(bool&amp; hasHorizontalLayoutOverflow, bool&amp; hasVerticalLayoutOverflow)
                                      ^
/Users/estes/Safari/OpenSource/Source/WebCore/rendering/RenderBlock.cpp:123:73: error: unused parameter &apos;hasVerticalLayoutOverflow&apos; [-Werror,-Wunused-parameter,2]
     void computeOverflowStatus(bool&amp; hasHorizontalLayoutOverflow, bool&amp; hasVerticalLayoutOverflow)
                                                                         ^
2 errors generated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>569802</commentid>
    <comment_count>6</comment_count>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-03-02 11:43:53 -0800</bug_when>
    <thetext>&gt; /Users/estes/Safari/OpenSource/Source/WebCore/rendering/RenderBlock.cpp:123:38: error: unused parameter &apos;hasHorizontalLayoutOverflow&apos; [-Werror,-Wunused-parameter,2]
&gt;      void computeOverflowStatus(bool&amp; hasHorizontalLayoutOverflow, bool&amp; hasVerticalLayoutOverflow)
&gt;                                       ^
&gt; /Users/estes/Safari/OpenSource/Source/WebCore/rendering/RenderBlock.cpp:123:73: error: unused parameter &apos;hasVerticalLayoutOverflow&apos; [-Werror,-Wunused-parameter,2]
&gt;      void computeOverflowStatus(bool&amp; hasHorizontalLayoutOverflow, bool&amp; hasVerticalLayoutOverflow)
&gt;                                                                          ^
&gt; 2 errors generated.

Apologies Andy, the build fix is committed in http://trac.webkit.org/changeset/109589. Let me know if you still see a build failure.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>129801</attachid>
            <date>2012-03-01 20:38:21 -0800</date>
            <delta_ts>2012-03-02 10:50:27 -0800</delta_ts>
            <desc>Proposed refactoring: add an RAII class to handle dispatching events.</desc>
            <filename>bug-80090-20120301203820.patch</filename>
            <type>text/plain</type>
            <size>14421</size>
            <attacher name="Julien Chaffraix">jchaffraix</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA5MzQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzE1MDM1NjYxYTY5NjMz
MzRlNGRmODczZGZjNWQ0OWZhMzNlNTk4ZS4uOTQ4MDlhOTkzZGQ4OGFlNGJhMzc4MWUzOGUxZjU2
OWFlY2ZlZmFkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDEyLTAzLTAxICBKdWxp
ZW4gQ2hhZmZyYWl4ICA8amNoYWZmcmFpeEB3ZWJraXQub3JnPgorCisgICAgICAgIE1vdmUgdGhl
ICdvdmVyZmxvdycgZXZlbnQgZGlzcGF0Y2hpbmcgbG9naWMgb3V0IG9mIFJlbmRlckxheWVyCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDA5MAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6IGZhc3Qv
ZXZlbnRzL292ZXJmbG93LWV2ZW50cy13cml0aW5nLW1vZGUuaHRtbAorCisgICAgICAgIFRoaXMg
bW92ZXMgdGhlICdvdmVyZmxvdycgZXZlbnQgZGlzcGF0Y2ggZnJvbSBSZW5kZXJMYXllciB0byBh
biBoZWxwZXIgY2xhc3MKKyAgICAgICAgT3ZlcmZsb3dFdmVudERpc3BhdGNoZXIuIEZvciBub3cs
IHRoZSBjbGFzcyBsaXZlcyBpbiBSZW5kZXJCbG9jayBhcyBpdCBtYXRjaGVzCisgICAgICAgIHRo
ZSBleGlzdGluZyBjb2RlIGJ1dCBpdCBtYXkgYmUgbW92ZWQgbGF0ZXIgdG8gaXRzIG93biBjbGFz
cyBhcyBGcmFtZVZpZXcgY291bGQKKyAgICAgICAgYmVuZWZpdCBmcm9tIGl0IHRvbyBvciBpZiB3
ZSBuZWVkIHRvIHN1cHBvcnQgJ292ZXJmbG93JyBldmVudHMgb24gUmVuZGVyQm94ZXMuCisKKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwOgorICAgICAgICAoV2ViQ29yZSk6Cisg
ICAgICAgIChPdmVyZmxvd0V2ZW50RGlzcGF0Y2hlcik6CisgICAgICAgIChXZWJDb3JlOjpPdmVy
Zmxvd0V2ZW50RGlzcGF0Y2hlcjo6T3ZlcmZsb3dFdmVudERpc3BhdGNoZXIpOgorICAgICAgICAo
V2ViQ29yZTo6T3ZlcmZsb3dFdmVudERpc3BhdGNoZXI6On5PdmVyZmxvd0V2ZW50RGlzcGF0Y2hl
cik6CisgICAgICAgIChXZWJDb3JlOjpPdmVyZmxvd0V2ZW50RGlzcGF0Y2hlcjo6Y29tcHV0ZU92
ZXJmbG93U3RhdHVzKToKKyAgICAgICAgUkFJSSBkaXNwYXRjaGVyIGNsYXNzIHRoYXQgc3RvcmVz
IHRoZSBpbmZvcm1hdGlvbiBiZWZvcmUgbGF5b3V0IGFuZCBjb21wYXJlCisgICAgICAgIHRoZW0g
YWZ0ZXIgdG8gZGlzcGF0Y2ggdGhlIHJpZ2h0IGluZm9ybWF0aW9uLgorCisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJCbG9jazo6bGF5b3V0KTogQWRkZWQgYW4gaW5zdGFuY2Ugb2YgT3ZlcmZsb3dF
dmVudERpc3BhdGNoZXIuCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94Lmg6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6Omhhc0hvcml6b250YWxMYXlvdXRPdmVyZmxvdyk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6Omhhc1ZlcnRpY2FsTGF5b3V0T3ZlcmZsb3cpOgor
ICAgICAgICBIZWxwZXIgbWV0aG9kIHRvIGtub3cgaWYgd2UgaGF2ZSBhbiBob3Jpem9udGFsIC8g
dmVydGljYWwgbGF5b3V0IG92ZXJmbG93LgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxh
eWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpSZW5kZXJMYXllcik6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6dXBkYXRlU2Nyb2xsSW5mb0FmdGVyTGF5b3V0
KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaDoKKyAgICAgICAgUmVtb3ZlZCB0
aGUgc2Nyb2xsIHRyYWNraW5nIGxvZ2ljIGFzIHdlIGRvbid0IG5lZWQgaXQgYW55bW9yZS4gVGhp
cyByZW1vdmVzCisgICAgICAgIDMgYm9vbGVhbnMgZnJvbSBSZW5kZXJMYXllci4KKwogMjAxMi0w
My0wMSAgVnNldm9sb2QgVmxhc292ICA8dnNldmlrQGNocm9taXVtLm9yZz4KIAogICAgICAgICBX
ZWIgSW5zcGVjdG9yOiBbSW5zcGVjdG9ySW5kZXhlZERCXSBTaG93IHRvb2x0aXBzIHdpdGggSW5k
ZXhlZERCIG9iamVjdHMgbWV0YSBpbmZvcm1hdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJCbG9jay5jcHAKaW5kZXggMDEzMWYwNjgyZTFkZjA4YTBhYzc4ZmJiOWJmOTljZjNmMTU5
ZWNlYS4uN2FlZDM3OWZhNjU4MjRmYmYxNmQyYzMyYWQ5M2UwNzFiOTVhZjczYyAxMDA3NTUKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCkBAIC0zOCw2ICszOCw3IEBACiAjaW5j
bHVkZSAiSW5saW5lSXRlcmF0b3IuaCIKICNpbmNsdWRlICJJbmxpbmVUZXh0Qm94LmgiCiAjaW5j
bHVkZSAiTGF5b3V0UmVwYWludGVyLmgiCisjaW5jbHVkZSAiT3ZlcmZsb3dFdmVudC5oIgogI2lu
Y2x1ZGUgIlBPREZyZWVMaXN0QXJlbmEuaCIKICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAi
UGFpbnRJbmZvLmgiCkBAIC04NSw2ICs4Niw1MSBAQCBzdGF0aWMgRGVsYXllZFVwZGF0ZVNjcm9s
bEluZm9TZXQqIGdEZWxheWVkVXBkYXRlU2Nyb2xsSW5mb1NldCA9IDA7CiAKIGJvb2wgUmVuZGVy
QmxvY2s6OnNfY2FuUHJvcGFnYXRlRmxvYXRJbnRvU2libGluZyA9IGZhbHNlOwogCisvLyBUaGlz
IGNsYXNzIGhlbHBzIGRpc3BhdGNoaW5nIHRoZSAnb3ZlcmZsb3cnIGV2ZW50IG9uIGxheW91dCBj
aGFuZ2UuIG92ZXJmbG93IGNhbiBiZSBzZXQgb24gUmVuZGVyQm94ZXMsIHlldCB0aGUgZXhpc3Rp
bmcgY29kZQorLy8gb25seSB3b3JrcyBvbiBSZW5kZXJCbG9ja3MuIElmIHRoaXMgY2hhbmdlLCB0
aGlzIGNsYXNzIHNob3VsZCBiZSBzaGFyZWQgd2l0aCBvdGhlciBSZW5kZXJCb3hlcy4KK2NsYXNz
IE92ZXJmbG93RXZlbnREaXNwYXRjaGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShPdmVy
Zmxvd0V2ZW50RGlzcGF0Y2hlcik7CitwdWJsaWM6CisgICAgT3ZlcmZsb3dFdmVudERpc3BhdGNo
ZXIoY29uc3QgUmVuZGVyQmxvY2sqIGJsb2NrKQorICAgICAgICA6IG1fYmxvY2soYmxvY2spCisg
ICAgICAgICwgbV9oYWRIb3Jpem9udGFsTGF5b3V0T3ZlcmZsb3coZmFsc2UpCisgICAgICAgICwg
bV9oYWRWZXJ0aWNhbExheW91dE92ZXJmbG93KGZhbHNlKQorICAgIHsKKyAgICAgICAgbV9zaG91
bGREaXNwYXRjaEV2ZW50ID0gIW1fYmxvY2stPmlzQW5vbnltb3VzKCkgJiYgbV9ibG9jay0+aGFz
T3ZlcmZsb3dDbGlwKCkgJiYgbV9ibG9jay0+ZG9jdW1lbnQoKS0+aGFzTGlzdGVuZXJUeXBlKERv
Y3VtZW50OjpPVkVSRkxPV0NIQU5HRURfTElTVEVORVIpOworICAgICAgICBpZiAobV9zaG91bGRE
aXNwYXRjaEV2ZW50KQorICAgICAgICAgICAgY29tcHV0ZU92ZXJmbG93U3RhdHVzKG1faGFkSG9y
aXpvbnRhbExheW91dE92ZXJmbG93LCBtX2hhZFZlcnRpY2FsTGF5b3V0T3ZlcmZsb3cpOworICAg
IH0KKworICAgIH5PdmVyZmxvd0V2ZW50RGlzcGF0Y2hlcigpCisgICAgeworICAgICAgICBpZiAo
IW1fc2hvdWxkRGlzcGF0Y2hFdmVudCkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBi
b29sIGhhc0hvcml6b250YWxMYXlvdXRPdmVyZmxvdzsKKyAgICAgICAgYm9vbCBoYXNWZXJ0aWNh
bExheW91dE92ZXJmbG93OworICAgICAgICBjb21wdXRlT3ZlcmZsb3dTdGF0dXMoaGFzSG9yaXpv
bnRhbExheW91dE92ZXJmbG93LCBoYXNWZXJ0aWNhbExheW91dE92ZXJmbG93KTsKKworICAgICAg
ICBib29sIGhvcml6b250YWxMYXlvdXRPdmVyZmxvd0NoYW5nZWQgPSBoYXNIb3Jpem9udGFsTGF5
b3V0T3ZlcmZsb3cgIT0gbV9oYWRIb3Jpem9udGFsTGF5b3V0T3ZlcmZsb3c7CisgICAgICAgIGJv
b2wgdmVydGljYWxMYXlvdXRPdmVyZmxvd0NoYW5nZWQgPSBoYXNWZXJ0aWNhbExheW91dE92ZXJm
bG93ICE9IG1faGFkVmVydGljYWxMYXlvdXRPdmVyZmxvdzsKKyAgICAgICAgaWYgKGhvcml6b250
YWxMYXlvdXRPdmVyZmxvd0NoYW5nZWQgfHwgdmVydGljYWxMYXlvdXRPdmVyZmxvd0NoYW5nZWQp
IHsKKyAgICAgICAgICAgIGlmIChGcmFtZVZpZXcqIGZyYW1lVmlldyA9IG1fYmxvY2stPmRvY3Vt
ZW50KCktPnZpZXcoKSkKKyAgICAgICAgICAgICAgICBmcmFtZVZpZXctPnNjaGVkdWxlRXZlbnQo
T3ZlcmZsb3dFdmVudDo6Y3JlYXRlKGhvcml6b250YWxMYXlvdXRPdmVyZmxvd0NoYW5nZWQsIGhh
c0hvcml6b250YWxMYXlvdXRPdmVyZmxvdywgdmVydGljYWxMYXlvdXRPdmVyZmxvd0NoYW5nZWQs
IGhhc1ZlcnRpY2FsTGF5b3V0T3ZlcmZsb3cpLCBtX2Jsb2NrLT5ub2RlKCkpOworICAgICAgICB9
CisgICAgfQorCitwcml2YXRlOgorICAgIHZvaWQgY29tcHV0ZU92ZXJmbG93U3RhdHVzKGJvb2wm
IGhhc0hvcml6b250YWxMYXlvdXRPdmVyZmxvdywgYm9vbCYgaGFzVmVydGljYWxMYXlvdXRPdmVy
ZmxvdykKKyAgICB7CisgICAgICAgIGhhc0hvcml6b250YWxMYXlvdXRPdmVyZmxvdyA9IG1fYmxv
Y2stPmhhc0hvcml6b250YWxMYXlvdXRPdmVyZmxvdygpOworICAgICAgICBoYXNWZXJ0aWNhbExh
eW91dE92ZXJmbG93ID0gbV9ibG9jay0+aGFzVmVydGljYWxMYXlvdXRPdmVyZmxvdygpOworICAg
IH0KKworICAgIGNvbnN0IFJlbmRlckJsb2NrKiBtX2Jsb2NrOworICAgIGJvb2wgbV9zaG91bGRE
aXNwYXRjaEV2ZW50OworICAgIGJvb2wgbV9oYWRIb3Jpem9udGFsTGF5b3V0T3ZlcmZsb3c7Cisg
ICAgYm9vbCBtX2hhZFZlcnRpY2FsTGF5b3V0T3ZlcmZsb3c7Cit9OworCiAvLyBPdXIgTWFyZ2lu
SW5mbyBzdGF0ZSB1c2VkIHdoZW4gbGF5aW5nIG91dCBibG9jayBjaGlsZHJlbi4KIFJlbmRlckJs
b2NrOjpNYXJnaW5JbmZvOjpNYXJnaW5JbmZvKFJlbmRlckJsb2NrKiBibG9jaywgTGF5b3V0VW5p
dCBiZWZvcmVCb3JkZXJQYWRkaW5nLCBMYXlvdXRVbml0IGFmdGVyQm9yZGVyUGFkZGluZykKICAg
ICA6IG1fYXRCZWZvcmVTaWRlT2ZCbG9jayh0cnVlKQpAQCAtMTMyMSw2ICsxMzY3LDggQEAgdm9p
ZCBSZW5kZXJCbG9jazo6dXBkYXRlU2Nyb2xsSW5mb0FmdGVyTGF5b3V0KCkKIAogdm9pZCBSZW5k
ZXJCbG9jazo6bGF5b3V0KCkKIHsKKyAgICBPdmVyZmxvd0V2ZW50RGlzcGF0Y2hlciBkaXNwYXRj
aGVyKHRoaXMpOworCiAgICAgLy8gVXBkYXRlIG91ciBmaXJzdCBsZXR0ZXIgaW5mbyBub3cuCiAg
ICAgdXBkYXRlRmlyc3RMZXR0ZXIoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJveC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5o
CmluZGV4IDVhMzZkODAyZWEyMjljZTYxMDU2NGUwYTZiZmYyMjVhMjBjMWNmNWQuLjAxNGU1YmMy
ZTU3MDM0MTA1NDFhNjgwMDBjOGM3MmQwMGMzNGE0OWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQm94LmgKQEAgLTQ1Miw2ICs0NTIsMjggQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBi
b29sIGhhc1JlbGF0aXZlRGltZW5zaW9ucygpIGNvbnN0OwogCisgICAgYm9vbCBoYXNIb3Jpem9u
dGFsTGF5b3V0T3ZlcmZsb3coKSBjb25zdAorICAgIHsKKyAgICAgICAgaWYgKFJlbmRlck92ZXJm
bG93KiBvdmVyZmxvdyA9IGhhc1JlbmRlck92ZXJmbG93KCkpIHsKKyAgICAgICAgICAgIExheW91
dFJlY3QgbGF5b3V0T3ZlcmZsb3dSZWN0ID0gb3ZlcmZsb3ctPmxheW91dE92ZXJmbG93UmVjdCgp
OworICAgICAgICAgICAgZmxpcEZvcldyaXRpbmdNb2RlKGxheW91dE92ZXJmbG93UmVjdCk7Cisg
ICAgICAgICAgICByZXR1cm4gbGF5b3V0T3ZlcmZsb3dSZWN0LngoKSA8IHgoKSB8fCBsYXlvdXRP
dmVyZmxvd1JlY3QubWF4WCgpID4geCgpICsgbG9naWNhbFdpZHRoKCk7CisgICAgICAgIH0KKwor
ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgYm9vbCBoYXNWZXJ0aWNhbExheW91
dE92ZXJmbG93KCkgY29uc3QKKyAgICB7CisgICAgICAgIGlmIChSZW5kZXJPdmVyZmxvdyogb3Zl
cmZsb3cgPSBoYXNSZW5kZXJPdmVyZmxvdygpKSB7CisgICAgICAgICAgICBMYXlvdXRSZWN0IGxh
eW91dE92ZXJmbG93UmVjdCA9IG92ZXJmbG93LT5sYXlvdXRPdmVyZmxvd1JlY3QoKTsKKyAgICAg
ICAgICAgIGZsaXBGb3JXcml0aW5nTW9kZShsYXlvdXRPdmVyZmxvd1JlY3QpOworICAgICAgICAg
ICAgcmV0dXJuIGxheW91dE92ZXJmbG93UmVjdC55KCkgPCB5KCkgfHwgbGF5b3V0T3ZlcmZsb3dS
ZWN0Lm1heFkoKSA+IHkoKSArIGxvZ2ljYWxIZWlnaHQoKTsKKyAgICAgICAgfQorCisgICAgICAg
IHJldHVybiBmYWxzZTsKKyAgICB9CisKIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIHZvaWQgd2ls
bEJlRGVzdHJveWVkKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3Bw
CmluZGV4IDBmYjBiNjQ2NGZmYTM5MmQ1MmYyMTUzYWQ1YjgyZDcxNjM0MDk1OWEuLjdhODkxZmJk
MjRkZmJlYWQyMjEwM2YxNGJiNTMwNDY3Mzg2M2Q5MWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxheWVyLmNwcApAQCAtMTUzLDcgKzE1Myw2IEBAIFJlbmRlckxheWVyOjpSZW5k
ZXJMYXllcihSZW5kZXJCb3hNb2RlbE9iamVjdCogcmVuZGVyZXIpCiAgICAgLCBtX3BhaW50aW5n
SW5zaWRlUmVmbGVjdGlvbihmYWxzZSkKICAgICAsIG1faW5PdmVyZmxvd1JlbGF5b3V0KGZhbHNl
KQogICAgICwgbV9yZXBhaW50U3RhdHVzKE5lZWRzTm9ybWFsUmVwYWludCkKLSAgICAsIG1fb3Zl
cmZsb3dTdGF0dXNEaXJ0eSh0cnVlKQogICAgICwgbV92aXNpYmxlQ29udGVudFN0YXR1c0RpcnR5
KHRydWUpCiAgICAgLCBtX2hhc1Zpc2libGVDb250ZW50KGZhbHNlKQogICAgICwgbV92aXNpYmxl
RGVzY2VuZGFudFN0YXR1c0RpcnR5KGZhbHNlKQpAQCAtMjI5MSwyOSArMjI5MCw2IEBAIHZvaWQg
UmVuZGVyTGF5ZXI6OmNvbXB1dGVTY3JvbGxEaW1lbnNpb25zKGJvb2wqIG5lZWRIQmFyLCBib29s
KiBuZWVkVkJhcikKICAgICAgICAgKm5lZWRWQmFyID0gcGl4ZWxTbmFwcGVkU2Nyb2xsSGVpZ2h0
KCkgPiBib3gtPnBpeGVsU25hcHBlZENsaWVudEhlaWdodCgpOwogfQogCi12b2lkIFJlbmRlckxh
eWVyOjp1cGRhdGVPdmVyZmxvd1N0YXR1cyhib29sIGhvcml6b250YWxPdmVyZmxvdywgYm9vbCB2
ZXJ0aWNhbE92ZXJmbG93KQotewotICAgIGlmIChtX292ZXJmbG93U3RhdHVzRGlydHkpIHsKLSAg
ICAgICAgbV9ob3Jpem9udGFsT3ZlcmZsb3cgPSBob3Jpem9udGFsT3ZlcmZsb3c7Ci0gICAgICAg
IG1fdmVydGljYWxPdmVyZmxvdyA9IHZlcnRpY2FsT3ZlcmZsb3c7Ci0gICAgICAgIG1fb3ZlcmZs
b3dTdGF0dXNEaXJ0eSA9IGZhbHNlOwotICAgICAgICByZXR1cm47Ci0gICAgfQotICAgIAotICAg
IGJvb2wgaG9yaXpvbnRhbE92ZXJmbG93Q2hhbmdlZCA9IChtX2hvcml6b250YWxPdmVyZmxvdyAh
PSBob3Jpem9udGFsT3ZlcmZsb3cpOwotICAgIGJvb2wgdmVydGljYWxPdmVyZmxvd0NoYW5nZWQg
PSAobV92ZXJ0aWNhbE92ZXJmbG93ICE9IHZlcnRpY2FsT3ZlcmZsb3cpOwotICAgIAotICAgIGlm
IChob3Jpem9udGFsT3ZlcmZsb3dDaGFuZ2VkIHx8IHZlcnRpY2FsT3ZlcmZsb3dDaGFuZ2VkKSB7
Ci0gICAgICAgIG1faG9yaXpvbnRhbE92ZXJmbG93ID0gaG9yaXpvbnRhbE92ZXJmbG93OwotICAg
ICAgICBtX3ZlcnRpY2FsT3ZlcmZsb3cgPSB2ZXJ0aWNhbE92ZXJmbG93OwotICAgICAgICAKLSAg
ICAgICAgaWYgKEZyYW1lVmlldyogZnJhbWVWaWV3ID0gcmVuZGVyZXIoKS0+ZG9jdW1lbnQoKS0+
dmlldygpKSB7Ci0gICAgICAgICAgICBmcmFtZVZpZXctPnNjaGVkdWxlRXZlbnQoT3ZlcmZsb3dF
dmVudDo6Y3JlYXRlKGhvcml6b250YWxPdmVyZmxvd0NoYW5nZWQsIGhvcml6b250YWxPdmVyZmxv
dywgdmVydGljYWxPdmVyZmxvd0NoYW5nZWQsIHZlcnRpY2FsT3ZlcmZsb3cpLAotICAgICAgICAg
ICAgICAgIHJlbmRlcmVyKCktPm5vZGUoKSk7Ci0gICAgICAgIH0KLSAgICB9Ci19Ci0KIHZvaWQg
UmVuZGVyTGF5ZXI6OnVwZGF0ZVNjcm9sbEluZm9BZnRlckxheW91dCgpCiB7CiAgICAgUmVuZGVy
Qm94KiBib3ggPSByZW5kZXJCb3goKTsKQEAgLTI0MDcsOSArMjM4Myw2IEBAIHZvaWQgUmVuZGVy
TGF5ZXI6OnVwZGF0ZVNjcm9sbEluZm9BZnRlckxheW91dCgpCiAKICAgICBpZiAoc2Nyb2xsT2Zm
c2V0T3JpZ2luYWwgIT0gc2Nyb2xsT2Zmc2V0KCkpCiAgICAgICAgIHNjcm9sbFRvT2Zmc2V0V2l0
aG91dEFuaW1hdGlvbihMYXlvdXRQb2ludChzY3JvbGxYT2Zmc2V0KCksIHNjcm9sbFlPZmZzZXQo
KSkpOwotCi0gICAgaWYgKHJlbmRlcmVyKCktPm5vZGUoKSAmJiByZW5kZXJlcigpLT5kb2N1bWVu
dCgpLT5oYXNMaXN0ZW5lclR5cGUoRG9jdW1lbnQ6Ok9WRVJGTE9XQ0hBTkdFRF9MSVNURU5FUikp
Ci0gICAgICAgIHVwZGF0ZU92ZXJmbG93U3RhdHVzKGhvcml6b250YWxPdmVyZmxvdywgdmVydGlj
YWxPdmVyZmxvdyk7CiB9CiAKIHZvaWQgUmVuZGVyTGF5ZXI6OnBhaW50T3ZlcmZsb3dDb250cm9s
cyhHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEludFBvaW50JiBwYWludE9mZnNldCwg
Y29uc3QgSW50UmVjdCYgZGFtYWdlUmVjdCwgYm9vbCBwYWludGluZ092ZXJsYXlDb250cm9scykK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKaW5kZXggNGM1YmUwY2RjNTVlOTE2
MjUyY2VkODI3YjNhYmM1MmM5ZDU3MDJhOS4uZWI5NzBlMGZjODY3NDIzY2NiMTQ0MjQ0NjA5Yzc1
NWNhMDk4Y2NmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxh
eWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKQEAgLTY4
MCw4ICs2ODAsNiBAQCBwcml2YXRlOgogCiAgICAgSW50U2l6ZSBzY3JvbGxiYXJPZmZzZXQoY29u
c3QgU2Nyb2xsYmFyKikgY29uc3Q7CiAgICAgCi0gICAgdm9pZCB1cGRhdGVPdmVyZmxvd1N0YXR1
cyhib29sIGhvcml6b250YWxPdmVyZmxvdywgYm9vbCB2ZXJ0aWNhbE92ZXJmbG93KTsKLQogICAg
IHZvaWQgY2hpbGRWaXNpYmlsaXR5Q2hhbmdlZChib29sIG5ld1Zpc2liaWxpdHkpOwogICAgIHZv
aWQgZGlydHlWaXNpYmxlRGVzY2VuZGFudFN0YXR1cygpOwogICAgIHZvaWQgdXBkYXRlVmlzaWJp
bGl0eVN0YXR1cygpOwpAQCAtNzczLDkgKzc3MSw2IEBAIHByb3RlY3RlZDoKICAgICBib29sIG1f
aW5PdmVyZmxvd1JlbGF5b3V0IDogMTsKICAgICB1bnNpZ25lZCBtX3JlcGFpbnRTdGF0dXMgOiAy
OyAvLyBSZXBhaW50U3RhdHVzCiAKLSAgICBib29sIG1fb3ZlcmZsb3dTdGF0dXNEaXJ0eSA6IDE7
Ci0gICAgYm9vbCBtX2hvcml6b250YWxPdmVyZmxvdyA6IDE7Ci0gICAgYm9vbCBtX3ZlcnRpY2Fs
T3ZlcmZsb3cgOiAxOwogICAgIGJvb2wgbV92aXNpYmxlQ29udGVudFN0YXR1c0RpcnR5IDogMTsK
ICAgICBib29sIG1faGFzVmlzaWJsZUNvbnRlbnQgOiAxOwogICAgIGJvb2wgbV92aXNpYmxlRGVz
Y2VuZGFudFN0YXR1c0RpcnR5IDogMTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAxNjc3Njk1YjIzNTM1NzdhNmJmMWFkZjA4
NjBjNTcyYTk0MDkxMDVhLi5hMTY2MDQ3ODFkNTczMjA0NmJlNGM1OWNlM2Q0Yzk0N2I2ZWNlYWI5
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMDMtMDEgIEp1bGllbiBDaGFmZnJhaXggIDxq
Y2hhZmZyYWl4QHdlYmtpdC5vcmc+CisKKyAgICAgICAgTW92ZSB0aGUgJ292ZXJmbG93JyBldmVu
dCBkaXNwYXRjaGluZyBsb2dpYyBvdXQgb2YgUmVuZGVyTGF5ZXIKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwMDkwCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2V2ZW50cy9vdmVyZmxvdy1ldmVu
dHMtd3JpdGluZy1tb2RlLmh0bWw6IEFkZGVkLgorICAgICAgICBBZGRlZCBhIHRlc3QgZm9yIG92
ZXJmbG93IGV2ZW50cyBpbiBhIHZlcnRpY2FsIHdyaXRpbmcgbW9kZS4KKwogMjAxMi0wMy0wMSAg
U3RlcGhlbiBDaGVubmV5ICA8c2NoZW5uZXlAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIENyYXNo
IGluIFdlYkNvcmU6OlNWR0RvY3VtZW50RXh0ZW5zaW9uczo6cmVtb3ZlQW5pbWF0aW9uRWxlbWVu
dEZyb21UYXJnZXQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL292ZXJmbG93
LWV2ZW50cy13cml0aW5nLW1vZGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL292ZXJm
bG93LWV2ZW50cy13cml0aW5nLW1vZGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMGIwZDY5MTY5OTdjZjQ0
ZmYzOWYwZjM5NWRiMTA3NmYyZTdmMzJiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9ldmVudHMvb3ZlcmZsb3ctZXZlbnRzLXdyaXRpbmctbW9kZS5odG1sCkBAIC0wLDAgKzEs
OTAgQEAKKzxodG1sPgorPGhlYWQ+CisgIDxzY3JpcHQ+CisgICAgdmFyIGxvbmdJbmxpbmVCbG9j
a0RpcmVjdGlvblRleHQgPSAibG9uZ2xvbmdsb25nbG9uZ2xvbmd0ZXh0PGJyPmxvbmdsb25nbG9u
Z2xvbmdsb25ndGV4dDxicj5sb25nbG9uZ2xvbmdsb25nbG9uZ3RleHQ8YnI+bG9uZ2xvbmdsb25n
bG9uZ2xvbmd0ZXh0PGJyPmxvbmdsb25nbG9uZ2xvbmdsb25ndGV4dDxicj5sb25nbG9uZ2xvbmds
b25nbG9uZ3RleHQ8YnI+IjsKKyAgICB2YXIgbG9uZ0lubGluZUJhc2VEaXJlY3Rpb25UZXh0ID0g
Imxvbmdsb25nbG9uZ2xvbmdsb25ndGV4dCI7CisgICAgdmFyIGxvbmdCbG9ja0Zsb3dEaXJlY3Rp
b25UZXh0PSJsb25nPGJyPmxvbmc8YnI+bG9uZzxicj5sb25nPGJyPmxvbmc8YnI+bG9uZzxicj5s
b25nPGJyPiI7CisgICAgdmFyIHNob3J0VGV4dCA9ICJsIjsKKyAgICBmdW5jdGlvbiBzZXR1cFRl
c3QoKSB7CisgICAgICAgIC8vIGhvcml6b250YWwgb3ZlcmZsb3cuCisgICAgICAgIHZhciBob3Jp
em9udGFsT3ZlcmZsb3cgPSB0ZXN0UmVzdWx0c1tjdXJyZW50VGVzdF1bMV07CisgICAgICAgIHZh
ciB2ZXJ0aWNhbE92ZXJmbG93ID0gdGVzdFJlc3VsdHNbY3VycmVudFRlc3RdWzJdOworCisgICAg
ICAgIGlmIChob3Jpem9udGFsT3ZlcmZsb3cgJiYgdmVydGljYWxPdmVyZmxvdykgeworICAgICAg
ICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NoaWxkJykuaW5uZXJIVE1MID0gbG9uZ0lu
bGluZUJsb2NrRGlyZWN0aW9uVGV4dDsKKyAgICAgICAgfSBlbHNlIGlmIChob3Jpem9udGFsT3Zl
cmZsb3cpIHsKKyAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjaGlsZCcpLmlu
bmVySFRNTCA9IGxvbmdCbG9ja0Zsb3dEaXJlY3Rpb25UZXh0OworICAgICAgICB9IGVsc2UgaWYg
KHZlcnRpY2FsT3ZlcmZsb3cpIHsKKyAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdjaGlsZCcpLmlubmVySFRNTCA9IGxvbmdJbmxpbmVCYXNlRGlyZWN0aW9uVGV4dDsKKyAgICAg
ICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjaGlsZCcp
LmlubmVySFRNTCA9IHNob3J0VGV4dDsKKyAgICAgICAgfQorICAgIH0KKworICAgIGZ1bmN0aW9u
IGZpbmlzaGVkKHJlc3VsdCkKKyAgICB7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdyZXN1bHQnKS5pbm5lckhUTUwgPSByZXN1bHQ7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdjaGlsZCcpLmlubmVySFRNTCA9ICIiOworCisgICAgICAgIGlmICh3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3Rp
ZnlEb25lKCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gbmV4dFRlc3QoKSB7CisgICAgICAgIGZv
cmNlTGF5b3V0KCk7CisgICAgICAgIHNldHVwVGVzdCgpOworICAgICAgICBmb3JjZUxheW91dCgp
OworICAgICAgICBmb3JjZUxheW91dCgpOworICAgIH0KKworICAgIGZ1bmN0aW9uIG92ZXJmbG93
Q2hhbmdlZChldmVudCkgeworICAgICAgICBpZiAoY3VycmVudFRlc3QgPT0gdGVzdFJlc3VsdHMu
bGVuZ3RoIC0gMSkgeworICAgICAgICAgICAgZmluaXNoZWQoIlNVQ0NFU1MiKTsKKyAgICAgICAg
ICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIHZhciByZXN1bHQgPSBbZXZlbnQub3Jp
ZW50LCBldmVudC5ob3Jpem9udGFsT3ZlcmZsb3csIGV2ZW50LnZlcnRpY2FsT3ZlcmZsb3ddOwor
CisgICAgICAgIGlmICgnJyArIHJlc3VsdCA9PSB0ZXN0UmVzdWx0c1tjdXJyZW50VGVzdF0pIHsK
KyAgICAgICAgICAgIGN1cnJlbnRUZXN0Kys7CisgICAgICAgICAgICBuZXh0VGVzdCgpOworICAg
ICAgICB9IGVsc2UKKyAgICAgICAgICAgIGZpbmlzaGVkKCJGQUlMVVJFOiBleHBlY3RlZCAiICsg
dGVzdFJlc3VsdHNbY3VycmVudFRlc3RdICsgIiBnb3QgIiArIHJlc3VsdCk7CisgICAgfQorCisg
ICAgZnVuY3Rpb24gZm9yY2VMYXlvdXQoKSB7CisgICAgICAgIGRvY3VtZW50LmJvZHkub2Zmc2V0
VG9wOworICAgIH0KKworICAgIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgIGlmICh3aW5k
b3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9s
bGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRV
bnRpbERvbmUoKTsKKyAgICAgICAgfQorCisgICAgICAgIHRlc3RSZXN1bHRzID0gW1tPdmVyZmxv
d0V2ZW50LkhPUklaT05UQUwsIHRydWUsIGZhbHNlXSwKKyAgICAgICAgICAgICAgICAgICAgICAg
W092ZXJmbG93RXZlbnQuSE9SSVpPTlRBTCwgZmFsc2UsIGZhbHNlXSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgW092ZXJmbG93RXZlbnQuVkVSVElDQUwsIGZhbHNlLCB0cnVlXSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgW092ZXJmbG93RXZlbnQuVkVSVElDQUwsIGZhbHNlLCBmYWxzZV0sCisg
ICAgICAgICAgICAgICAgICAgICAgIFtPdmVyZmxvd0V2ZW50LkJPVEgsIHRydWUsIHRydWVdLAor
ICAgICAgICAgICAgICAgICAgICAgICBbT3ZlcmZsb3dFdmVudC5CT1RILCBmYWxzZSwgZmFsc2Vd
LAorICAgICAgICAgICAgICAgICAgICAgICBbT3ZlcmZsb3dFdmVudC5WRVJUSUNBTCwgZmFsc2Us
IHRydWVdLAorICAgICAgICAgICAgICAgICAgICAgICBbT3ZlcmZsb3dFdmVudC5CT1RILCB0cnVl
LCBmYWxzZV0sCisgICAgICAgICAgICAgICAgICAgICAgIFtPdmVyZmxvd0V2ZW50LkJPVEgsIGZh
bHNlLCB0cnVlXV07CisKKyAgICAgICAgY3VycmVudFRlc3QgPSAwOworCisgICAgICAgIHZhciBj
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnRhaW5lcicpOworICAgICAgICBjLmFkZEV2
ZW50TGlzdGVuZXIoJ292ZXJmbG93Y2hhbmdlZCcsIG92ZXJmbG93Q2hhbmdlZCwgZmFsc2UpOwor
ICAgICAgICBuZXh0VGVzdCgpOworICAgIH0KKyAgPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBv
bmxvYWQ9InJ1blRlc3QoKSI+CisgICAgPGRpdiBpZD0iY29udGFpbmVyIiBzdHlsZT0id2lkdGg6
MTAwOyBoZWlnaHQ6MTAwcHg7IGJvcmRlcjogc29saWQgcmVkIDJweDsgb3ZlcmZsb3c6IGhpZGRl
biI+CisgICAgICAgIDxkaXYgaWQ9ImNoaWxkIiBzdHlsZT0ibWFyZ2luLXRvcDogMzBweDsgbWFy
Z2luLWxlZnQ6IDMwcHg7IGZvbnQtZmFtaWx5OiBBaGVtOyBib3JkZXI6IHNvbGlkIGJsdWUgMnB4
OyAtd2Via2l0LXdyaXRpbmctbW9kZTogdmVydGljYWwtbHI7Ij48L2Rpdj4KKyAgICA8L2Rpdj4K
KyAgICBUaGlzIHRlc3RzIHRoYXQgb3ZlcmZsb3djaGFuZ2VkIGV2ZW50cyBhcmUgZmlyZWQgY29y
cmVjdGx5IG9uIG5vZGVzIHdpdGggd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1sci4gSWYgdGhlIHRl
c3QgaXMgc3VjY2Vzc2Z1bCwgdGhlIHRleHQgIlNVQ0NFU1MiIHNob3VsZCBiZSBzaG93biBiZWxv
dy4KKyAgICA8ZGl2IGlkPSJyZXN1bHQiPkZBSUxVUkU8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4K
</data>
<flag name="review"
          id="132580"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>