<?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>148384</bug_id>
          
          <creation_ts>2015-08-24 11:57:06 -0700</creation_ts>
          <short_desc>Wheel events stop propagating when target element is removed from DOM</short_desc>
          <delta_ts>2015-08-25 11:03:12 -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>Layout and Rendering</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="Brent Fulgham">bfulgham</reporter>
          <assigned_to name="Brent Fulgham">bfulgham</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>kangil.han</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1120332</commentid>
    <comment_count>0</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-08-24 11:57:06 -0700</bug_when>
    <thetext>When listening to the ‘wheel’ or ‘mousewheel’ event on the document, if the event’s original target element is removed from the DOM the wheel event is no longer dispatched. 

1. Add a listener for ‘wheel’ on the document that removes the target of the event from the DOM. Have this happen after the element moves a specific amount or a certain number of events is received.
2. Scroll on the page (over the relevant element)
3. Keep scrolling

You will observe that the DOM event is no longer dispatched.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1120333</commentid>
    <comment_count>1</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-08-24 11:57:48 -0700</bug_when>
    <thetext>&lt;rdar://problem/19732211&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1120338</commentid>
    <comment_count>2</comment_count>
      <attachid>259762</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-08-24 12:01:31 -0700</bug_when>
    <thetext>Created attachment 259762
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1120341</commentid>
    <comment_count>3</comment_count>
      <attachid>259762</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2015-08-24 12:08:02 -0700</bug_when>
    <thetext>Comment on attachment 259762
Patch

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

&gt; Source/WebCore/page/mac/EventHandlerMac.mm:919
&gt; +        return false;

Frames can be removed...

&gt; Source/WebCore/page/mac/EventHandlerMac.mm:922
&gt; +        return true;

Anonymous nodes can&apos;t be scrollable? (probably true)

&gt; Source/WebCore/page/mac/EventHandlerMac.mm:925
&gt; +        return true;

What if a node is moved around in the DOM? (removed and reinserted before we get here) Is that OK?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1120365</commentid>
    <comment_count>4</comment_count>
      <attachid>259762</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-08-24 14:00:15 -0700</bug_when>
    <thetext>Comment on attachment 259762
Patch

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

&gt;&gt; Source/WebCore/page/mac/EventHandlerMac.mm:925
&gt;&gt; +        return true;
&gt; 
&gt; What if a node is moved around in the DOM? (removed and reinserted before we get here) Is that OK?

It does seem like it would be a problem if we removed a node from one scrolling container, and inserted it into a new location. In that case, even with this code, we would start our event handling with this &quot;migrated&quot; node.

Maybe it would be better to just break the caching state in Element::removedFrom.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1120432</commentid>
    <comment_count>5</comment_count>
      <attachid>259786</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-08-24 15:46:01 -0700</bug_when>
    <thetext>Created attachment 259786
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1120474</commentid>
    <comment_count>6</comment_count>
      <attachid>259797</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-08-24 17:35:06 -0700</bug_when>
    <thetext>Created attachment 259797
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1120634</commentid>
    <comment_count>7</comment_count>
      <attachid>259797</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2015-08-25 10:54:02 -0700</bug_when>
    <thetext>Comment on attachment 259797
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1120646</commentid>
    <comment_count>8</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-08-25 11:03:12 -0700</bug_when>
    <thetext>Committed r188920: &lt;http://trac.webkit.org/changeset/188920&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>259762</attachid>
            <date>2015-08-24 12:01:31 -0700</date>
            <delta_ts>2015-08-24 15:45:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-148384-20150824120122.patch</filename>
            <type>text/plain</type>
            <size>2599</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4ODg3NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBACisyMDE1LTA4LTI0ICBCcmVudCBG
dWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIFdoZWVsIGV2ZW50cyBzdG9w
IHByb3BhZ2F0aW5nIHdoZW4gdGFyZ2V0IGVsZW1lbnQgaXMgcmVtb3ZlZCBmcm9tIERPTQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ4Mzg0CisgICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS8xOTczMjIxMT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0ZWQgYnkgdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcv
bGF0Y2hlZC10by1kZWxldGVkLW5vZGUuaHRtbAorCisgICAgICAgIFdlIG5lZWQgdG8gcmVzZXQg
b3VyIGxhdGNoaW5nIHN0YXRlIGlmIHRoZSB0YXJnZXRlZCBub2RlIGlzIHJlbW92ZWQgZnJvbSB0
aGUgRE9NLgorICAgICAgICBBZGQgYSBjaGVjayBpbiAncGxhdGZvcm1QcmVwYXJlRm9yV2hlZWxF
dmVudHMnIHRoYXQgY2hlY2tzIGlmIHRoZSBleHBlY3RlZCBsYXRjaGluZworICAgICAgICB0YXJn
ZXQgbm9kZSB3YXMgYWxyZWFkeSByZW1vdmVkIGZyb20gdGhlIERPTS4gSWYgaXQgd2FzLCB3ZSBz
aG91bGQgbm90IHNlbmQgZXZlbnRzCisgICAgICAgIHRvIGl0LCBhbmQgc2hvdWxkIHJlc2V0IGxh
dGNoaW5nIHN0YXRlIHNvIHdlIGNhbiBhdHRhY2ggdG8gdGhlIG5leHQgcmVsZXZhbnQgbm9kZS4K
KworICAgICAgICAqIHBhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbToKKyAgICAgICAgKFdlYkNv
cmU6OmxhdGNoZWROb2RlV2FzUmVtb3ZlZCk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6RXZl
bnRIYW5kbGVyOjpwbGF0Zm9ybVByZXBhcmVGb3JXaGVlbEV2ZW50cyk6CisKIDIwMTUtMDgtMjQg
IFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAKICAgICAgICAgRml4IHRo
ZSBidWlsZC4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5t
bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9FdmVudEhhbmRsZXJNYWMu
bW0JKHJldmlzaW9uIDE4ODcxNikKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFu
ZGxlck1hYy5tbQkod29ya2luZyBjb3B5KQpAQCAtOTEzLDYgKzkxMywyMCBAQCBzdGF0aWMgYm9v
bCBsYXRjaGVkVG9GcmFtZU9yQm9keShDb250YWluCiAgICAgcmV0dXJuIGlzPEhUTUxGcmFtZVNl
dEVsZW1lbnQ+KGNvbnRhaW5lcikgfHwgaXM8SFRNTEJvZHlFbGVtZW50Pihjb250YWluZXIpOwog
fQogCitzdGF0aWMgYm9vbCBsYXRjaGVkTm9kZVdhc1JlbW92ZWQoQ29udGFpbmVyTm9kZSYgY29u
dGFpbmVyKQoreworICAgIGlmIChsYXRjaGVkVG9GcmFtZU9yQm9keShjb250YWluZXIpKQorICAg
ICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoIWNvbnRhaW5lci5yZW5kZXJlcigpKQorICAg
ICAgICByZXR1cm4gdHJ1ZTsKKworICAgIGlmICghY29udGFpbmVyLnBhcmVudE5vZGUoKSkKKyAg
ICAgICAgcmV0dXJuIHRydWU7CisKKyAgICByZXR1cm4gZmFsc2U7Cit9CisgICAgCiB2b2lkIEV2
ZW50SGFuZGxlcjo6cGxhdGZvcm1QcmVwYXJlRm9yV2hlZWxFdmVudHMoY29uc3QgUGxhdGZvcm1X
aGVlbEV2ZW50JiB3aGVlbEV2ZW50LCBjb25zdCBIaXRUZXN0UmVzdWx0JiByZXN1bHQsIFJlZlB0
cjxFbGVtZW50PiYgd2hlZWxFdmVudFRhcmdldCwgUmVmUHRyPENvbnRhaW5lck5vZGU+JiBzY3Jv
bGxhYmxlQ29udGFpbmVyLCBTY3JvbGxhYmxlQXJlYSomIHNjcm9sbGFibGVBcmVhLCBib29sJiBp
c092ZXJXaWRnZXQpCiB7CiAgICAgRnJhbWVWaWV3KiB2aWV3ID0gbV9mcmFtZS52aWV3KCk7CkBA
IC05NjcsNiArOTgxLDExIEBAIHZvaWQgRXZlbnRIYW5kbGVyOjpwbGF0Zm9ybVByZXBhcmVGb3JX
aGUKICAgICAgICAgaWYgKGxhdGNoaW5nSXNMb2NrZWRUb0FuY2VzdG9yT2ZUaGlzRnJhbWUobV9m
cmFtZSkpCiAgICAgICAgICAgICByZXR1cm47CiAKKyAgICAgICAgaWYgKGxhdGNoZWROb2RlV2Fz
UmVtb3ZlZCgqbGF0Y2hpbmdTdGF0ZS0+d2hlZWxFdmVudEVsZW1lbnQoKSkpIHsKKyAgICAgICAg
ICAgIGNsZWFyTGF0Y2hlZFN0YXRlKCk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0K
KyAgICAgICAgICAgIAogICAgICAgICB3aGVlbEV2ZW50VGFyZ2V0ID0gbGF0Y2hpbmdTdGF0ZS0+
d2hlZWxFdmVudEVsZW1lbnQoKTsKICAgICAgICAgaXNPdmVyV2lkZ2V0ID0gbGF0Y2hpbmdTdGF0
ZS0+d2lkZ2V0SXNMYXRjaGVkKCk7CiAgICAgICAgIHNjcm9sbGFibGVDb250YWluZXIgPSBsYXRj
aGluZ1N0YXRlLT5zY3JvbGxhYmxlQ29udGFpbmVyKCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>259786</attachid>
            <date>2015-08-24 15:46:01 -0700</date>
            <delta_ts>2015-08-24 17:35:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-148384-20150824154552.patch</filename>
            <type>text/plain</type>
            <size>3652</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4ODg4OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBACisyMDE1LTA4LTI0ICBCcmVudCBG
dWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIFdoZWVsIGV2ZW50cyBzdG9w
IHByb3BhZ2F0aW5nIHdoZW4gdGFyZ2V0IGVsZW1lbnQgaXMgcmVtb3ZlZCBmcm9tIERPTQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ4Mzg0CisgICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS8xOTczMjIxMT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0ZWQgYnkgdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcv
bGF0Y2hlZC10by1kZWxldGVkLW5vZGUuaHRtbAorCisgICAgICAgIFdlIG5lZWQgdG8gcmVzZXQg
b3VyIGxhdGNoaW5nIHN0YXRlIGlmIHRoZSB0YXJnZXRlZCBub2RlIGlzIHJlbW92ZWQgZnJvbSB0
aGUgRE9NLgorICAgICAgICBBZGQgYSBjaGVjayBpbiAncGxhdGZvcm1QcmVwYXJlRm9yV2hlZWxF
dmVudHMnIHRoYXQgY2hlY2tzIGlmIHRoZSBleHBlY3RlZCBsYXRjaGluZworICAgICAgICB0YXJn
ZXQgbm9kZSB3YXMgYWxyZWFkeSByZW1vdmVkIGZyb20gdGhlIERPTS4gSWYgaXQgd2FzLCB3ZSBz
aG91bGQgbm90IHNlbmQgZXZlbnRzCisgICAgICAgIHRvIGl0LCBhbmQgc2hvdWxkIHJlc2V0IGxh
dGNoaW5nIHN0YXRlIHNvIHdlIGNhbiBhdHRhY2ggdG8gdGhlIG5leHQgcmVsZXZhbnQgbm9kZS4K
KworICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6
OnJlbW92ZWRGcm9tKTogUmVtb3ZlIGFueSBsYXRjaGVkIHdoZWVsIGV2ZW50IHN0YXRlIG9iamVj
dHMgdGhhdAorICAgICAgICBtYXRjaCB0aGUgY3VycmVudCBlbGVtZW50LgorICAgICAgICAqIHBh
Z2UvTWFpbkZyYW1lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1haW5GcmFtZTo6cmVtb3ZlTGF0
Y2hpbmdTdGF0ZUZvclRhcmdldCk6IFJlbW92ZSBhbnkgbGF0Y2hlZCB3aGVlbCBldmVudAorICAg
ICAgICBzdGF0ZSBzdHJ1Y3R1cmVzIHRoYXQgbWF0Y2ggdGhlIHBhc3NlZCB3aGVlbCBldmVudCB0
YXJnZXQuCisgICAgICAgICogcGFnZS9NYWluRnJhbWUuaDoKKwogMjAxNS0wOC0yNCAgTXlsZXMg
Qy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCB0aGUgYnVp
bGQgZml4ZXMgaW4gcjE4ODg3NSBhbmQgcjE4ODg3NApJbmRleDogU291cmNlL1dlYkNvcmUvZG9t
L0VsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNw
cAkocmV2aXNpb24gMTg4ODc1KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC01Niw2ICs1Niw3IEBACiAjaW5jbHVkZSAiSWRUYXJnZXRPYnNlcnZl
clJlZ2lzdHJ5LmgiCiAjaW5jbHVkZSAiSW5zZXJ0aW9uUG9pbnQuaCIKICNpbmNsdWRlICJLZXli
b2FyZEV2ZW50LmgiCisjaW5jbHVkZSAiTWFpbkZyYW1lLmgiCiAjaW5jbHVkZSAiTXV0YXRpb25P
YnNlcnZlckludGVyZXN0R3JvdXAuaCIKICNpbmNsdWRlICJNdXRhdGlvblJlY29yZC5oIgogI2lu
Y2x1ZGUgIk5vZGVSZW5kZXJTdHlsZS5oIgpAQCAtNzEsNiArNzIsNyBAQAogI2luY2x1ZGUgIlNW
R0RvY3VtZW50RXh0ZW5zaW9ucy5oIgogI2luY2x1ZGUgIlNWR0VsZW1lbnQuaCIKICNpbmNsdWRl
ICJTVkdOYW1lcy5oIgorI2luY2x1ZGUgIlNjcm9sbExhdGNoaW5nU3RhdGUuaCIKICNpbmNsdWRl
ICJTZWxlY3RvclF1ZXJ5LmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKICNpbmNsdWRlICJTdHls
ZVByb3BlcnRpZXMuaCIKQEAgLTE1OTEsNiArMTU5MywxMiBAQCB2b2lkIEVsZW1lbnQ6OnJlbW92
ZWRGcm9tKENvbnRhaW5lck5vZGUmCiAKICAgICBpZiAoaGFzUGVuZGluZ1Jlc291cmNlcygpKQog
ICAgICAgICBkb2N1bWVudCgpLmFjY2Vzc1NWR0V4dGVuc2lvbnMoKS5yZW1vdmVFbGVtZW50RnJv
bVBlbmRpbmdSZXNvdXJjZXModGhpcyk7CisKKworI2lmIFBMQVRGT1JNKE1BQykKKyAgICBpZiAo
RnJhbWUqIGZyYW1lID0gZG9jdW1lbnQoKS5mcmFtZSgpKQorICAgICAgICBmcmFtZS0+bWFpbkZy
YW1lKCkucmVtb3ZlTGF0Y2hpbmdTdGF0ZUZvclRhcmdldCgqdGhpcyk7CisjZW5kaWYKIH0KIAog
dm9pZCBFbGVtZW50Ojp1bnJlZ2lzdGVyTmFtZWRGbG93Q29udGVudEVsZW1lbnQoKQpJbmRleDog
U291cmNlL1dlYkNvcmUvcGFnZS9NYWluRnJhbWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3BhZ2UvTWFpbkZyYW1lLmNwcAkocmV2aXNpb24gMTg4ODc1KQorKysgU291cmNlL1dl
YkNvcmUvcGFnZS9NYWluRnJhbWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjQsNiArMTI0LDIw
IEBAIHZvaWQgTWFpbkZyYW1lOjpwb3BMYXRjaGluZ1N0YXRlKCkKIHsKICAgICBtX2xhdGNoaW5n
U3RhdGUucmVtb3ZlTGFzdCgpOwogfQorCit2b2lkIE1haW5GcmFtZTo6cmVtb3ZlTGF0Y2hpbmdT
dGF0ZUZvclRhcmdldChFbGVtZW50JiB0YXJnZXROb2RlKQoreworICAgIGlmIChtX2xhdGNoaW5n
U3RhdGUuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm47CisKKyAgICBtX2xhdGNoaW5nU3RhdGUu
cmVtb3ZlQWxsTWF0Y2hpbmcoWyZ0YXJnZXROb2RlXSAoU2Nyb2xsTGF0Y2hpbmdTdGF0ZSYgc3Rh
dGUpIHsKKyAgICAgICAgYXV0byogd2hlZWxFbGVtZW50ID0gc3RhdGUud2hlZWxFdmVudEVsZW1l
bnQoKTsKKyAgICAgICAgaWYgKCF3aGVlbEVsZW1lbnQpCisgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CisKKyAgICAgICAgcmV0dXJuIHRhcmdldE5vZGUuaXNFcXVhbE5vZGUod2hlZWxFbGVtZW50
KTsKKyAgICB9KTsKK30KICNlbmRpZgogCiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL01h
aW5GcmFtZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvTWFpbkZyYW1lLmgJ
KHJldmlzaW9uIDE4ODg3NSkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvTWFpbkZyYW1lLmgJKHdv
cmtpbmcgY29weSkKQEAgLTU5LDYgKzU5LDcgQEAgcHVibGljOgogICAgIHZvaWQgcHVzaE5ld0xh
dGNoaW5nU3RhdGUoKTsKICAgICB2b2lkIHBvcExhdGNoaW5nU3RhdGUoKTsKICAgICB2b2lkIHJl
c2V0TGF0Y2hpbmdTdGF0ZSgpOworICAgIHZvaWQgcmVtb3ZlTGF0Y2hpbmdTdGF0ZUZvclRhcmdl
dChFbGVtZW50Jik7CiAjZW5kaWYgLy8gUExBVEZPUk0oTUFDKQogCiAgICAgV0VCQ09SRV9FWFBP
UlQgRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQmIGRpYWdub3N0aWNMb2dnaW5nQ2xpZW50KCkgY29u
c3Q7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>259797</attachid>
            <date>2015-08-24 17:35:06 -0700</date>
            <delta_ts>2015-08-25 10:54:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-148384-20150824173457.patch</filename>
            <type>text/plain</type>
            <size>11494</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4ODg4OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBACisyMDE1LTA4LTI0ICBCcmVudCBG
dWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIFdoZWVsIGV2ZW50cyBzdG9w
IHByb3BhZ2F0aW5nIHdoZW4gdGFyZ2V0IGVsZW1lbnQgaXMgcmVtb3ZlZCBmcm9tIERPTQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ4Mzg0CisgICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS8xOTczMjIxMT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0ZWQgYnkgdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcv
bGF0Y2hlZC10by1kZWxldGVkLW5vZGUuaHRtbAorCisgICAgICAgIFdlIG5lZWQgdG8gcmVzZXQg
b3VyIGxhdGNoaW5nIHN0YXRlIGlmIHRoZSB0YXJnZXRlZCBub2RlIGlzIHJlbW92ZWQgZnJvbSB0
aGUgRE9NLgorICAgICAgICBBZGQgYSBjaGVjayBpbiAncGxhdGZvcm1QcmVwYXJlRm9yV2hlZWxF
dmVudHMnIHRoYXQgY2hlY2tzIGlmIHRoZSBleHBlY3RlZCBsYXRjaGluZworICAgICAgICB0YXJn
ZXQgbm9kZSB3YXMgYWxyZWFkeSByZW1vdmVkIGZyb20gdGhlIERPTS4gSWYgaXQgd2FzLCB3ZSBz
aG91bGQgbm90IHNlbmQgZXZlbnRzCisgICAgICAgIHRvIGl0LCBhbmQgc2hvdWxkIHJlc2V0IGxh
dGNoaW5nIHN0YXRlIHNvIHdlIGNhbiBhdHRhY2ggdG8gdGhlIG5leHQgcmVsZXZhbnQgbm9kZS4K
KworICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6
OnJlbW92ZWRGcm9tKTogUmVtb3ZlIGFueSBsYXRjaGVkIHdoZWVsIGV2ZW50IHN0YXRlIG9iamVj
dHMgdGhhdAorICAgICAgICBtYXRjaCB0aGUgY3VycmVudCBlbGVtZW50LgorICAgICAgICAqIHBh
Z2UvTWFpbkZyYW1lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1haW5GcmFtZTo6cmVtb3ZlTGF0
Y2hpbmdTdGF0ZUZvclRhcmdldCk6IFJlbW92ZSBhbnkgbGF0Y2hlZCB3aGVlbCBldmVudAorICAg
ICAgICBzdGF0ZSBzdHJ1Y3R1cmVzIHRoYXQgbWF0Y2ggdGhlIHBhc3NlZCB3aGVlbCBldmVudCB0
YXJnZXQuCisgICAgICAgICogcGFnZS9NYWluRnJhbWUuaDoKKwogMjAxNS0wOC0yNCAgTXlsZXMg
Qy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCB0aGUgYnVp
bGQgZml4ZXMgaW4gcjE4ODg3NSBhbmQgcjE4ODg3NApJbmRleDogU291cmNlL1dlYkNvcmUvZG9t
L0VsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNw
cAkocmV2aXNpb24gMTg4ODc1KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC01Niw2ICs1Niw3IEBACiAjaW5jbHVkZSAiSWRUYXJnZXRPYnNlcnZl
clJlZ2lzdHJ5LmgiCiAjaW5jbHVkZSAiSW5zZXJ0aW9uUG9pbnQuaCIKICNpbmNsdWRlICJLZXli
b2FyZEV2ZW50LmgiCisjaW5jbHVkZSAiTWFpbkZyYW1lLmgiCiAjaW5jbHVkZSAiTXV0YXRpb25P
YnNlcnZlckludGVyZXN0R3JvdXAuaCIKICNpbmNsdWRlICJNdXRhdGlvblJlY29yZC5oIgogI2lu
Y2x1ZGUgIk5vZGVSZW5kZXJTdHlsZS5oIgpAQCAtNzEsNiArNzIsNyBAQAogI2luY2x1ZGUgIlNW
R0RvY3VtZW50RXh0ZW5zaW9ucy5oIgogI2luY2x1ZGUgIlNWR0VsZW1lbnQuaCIKICNpbmNsdWRl
ICJTVkdOYW1lcy5oIgorI2luY2x1ZGUgIlNjcm9sbExhdGNoaW5nU3RhdGUuaCIKICNpbmNsdWRl
ICJTZWxlY3RvclF1ZXJ5LmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKICNpbmNsdWRlICJTdHls
ZVByb3BlcnRpZXMuaCIKQEAgLTE1OTEsNiArMTU5MywxMiBAQCB2b2lkIEVsZW1lbnQ6OnJlbW92
ZWRGcm9tKENvbnRhaW5lck5vZGUmCiAKICAgICBpZiAoaGFzUGVuZGluZ1Jlc291cmNlcygpKQog
ICAgICAgICBkb2N1bWVudCgpLmFjY2Vzc1NWR0V4dGVuc2lvbnMoKS5yZW1vdmVFbGVtZW50RnJv
bVBlbmRpbmdSZXNvdXJjZXModGhpcyk7CisKKworI2lmIFBMQVRGT1JNKE1BQykKKyAgICBpZiAo
RnJhbWUqIGZyYW1lID0gZG9jdW1lbnQoKS5mcmFtZSgpKQorICAgICAgICBmcmFtZS0+bWFpbkZy
YW1lKCkucmVtb3ZlTGF0Y2hpbmdTdGF0ZUZvclRhcmdldCgqdGhpcyk7CisjZW5kaWYKIH0KIAog
dm9pZCBFbGVtZW50Ojp1bnJlZ2lzdGVyTmFtZWRGbG93Q29udGVudEVsZW1lbnQoKQpJbmRleDog
U291cmNlL1dlYkNvcmUvcGFnZS9NYWluRnJhbWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3BhZ2UvTWFpbkZyYW1lLmNwcAkocmV2aXNpb24gMTg4ODc1KQorKysgU291cmNlL1dl
YkNvcmUvcGFnZS9NYWluRnJhbWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjQsNiArMTI0LDIw
IEBAIHZvaWQgTWFpbkZyYW1lOjpwb3BMYXRjaGluZ1N0YXRlKCkKIHsKICAgICBtX2xhdGNoaW5n
U3RhdGUucmVtb3ZlTGFzdCgpOwogfQorCit2b2lkIE1haW5GcmFtZTo6cmVtb3ZlTGF0Y2hpbmdT
dGF0ZUZvclRhcmdldChFbGVtZW50JiB0YXJnZXROb2RlKQoreworICAgIGlmIChtX2xhdGNoaW5n
U3RhdGUuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm47CisKKyAgICBtX2xhdGNoaW5nU3RhdGUu
cmVtb3ZlQWxsTWF0Y2hpbmcoWyZ0YXJnZXROb2RlXSAoU2Nyb2xsTGF0Y2hpbmdTdGF0ZSYgc3Rh
dGUpIHsKKyAgICAgICAgYXV0byogd2hlZWxFbGVtZW50ID0gc3RhdGUud2hlZWxFdmVudEVsZW1l
bnQoKTsKKyAgICAgICAgaWYgKCF3aGVlbEVsZW1lbnQpCisgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CisKKyAgICAgICAgcmV0dXJuIHRhcmdldE5vZGUuaXNFcXVhbE5vZGUod2hlZWxFbGVtZW50
KTsKKyAgICB9KTsKK30KICNlbmRpZgogCiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL01h
aW5GcmFtZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvTWFpbkZyYW1lLmgJ
KHJldmlzaW9uIDE4ODg3NSkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvTWFpbkZyYW1lLmgJKHdv
cmtpbmcgY29weSkKQEAgLTU5LDYgKzU5LDcgQEAgcHVibGljOgogICAgIHZvaWQgcHVzaE5ld0xh
dGNoaW5nU3RhdGUoKTsKICAgICB2b2lkIHBvcExhdGNoaW5nU3RhdGUoKTsKICAgICB2b2lkIHJl
c2V0TGF0Y2hpbmdTdGF0ZSgpOworICAgIHZvaWQgcmVtb3ZlTGF0Y2hpbmdTdGF0ZUZvclRhcmdl
dChFbGVtZW50Jik7CiAjZW5kaWYgLy8gUExBVEZPUk0oTUFDKQogCiAgICAgV0VCQ09SRV9FWFBP
UlQgRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQmIGRpYWdub3N0aWNMb2dnaW5nQ2xpZW50KCkgY29u
c3Q7CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxODg4OTgpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNCBAQAorMjAxNS0wOC0yNCAgQnJlbnQgRnVsZ2hh
bSAgPGJmdWxnaGFtQGFwcGxlLmNvbT4KKworICAgICAgICBXaGVlbCBldmVudHMgc3RvcCBwcm9w
YWdhdGluZyB3aGVuIHRhcmdldCBlbGVtZW50IGlzIHJlbW92ZWQgZnJvbSBET00KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0ODM4NAorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vMTk3MzIyMTE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiB0aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9sYXRjaGVkLXRvLWRl
bGV0ZWQtbm9kZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHRpbGVkLWRyYXdpbmcv
c2Nyb2xsaW5nL2xhdGNoZWQtdG8tZGVsZXRlZC1ub2RlLmh0bWw6IEFkZGVkLgorCiAyMDE1LTA4
LTI0ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgogCiAgICAgICAgIFJvbGwg
b3V0IHIxODg4MjcsIGJlY2F1c2UgaXQgZGlkbid0IGhlbHAuCkluZGV4OiBMYXlvdXRUZXN0cy90
aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9sYXRjaGVkLXRvLWRlbGV0ZWQtbm9kZS1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvbGF0
Y2hlZC10by1kZWxldGVkLW5vZGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0
VGVzdHMvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvbGF0Y2hlZC10by1kZWxldGVkLW5vZGUtZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTggQEAKK0NvbnRhaW5lcgorCitB
ZnRlciBtb3ZpbmcgNDBweCB1cCBvciBkb3duIHdlIHJlbW92ZSB0aGUgaW5pdGlhbCB0YXJnZXQg
ZWxlbWVudCBvZiB3aGVlbCBldmVudCBmcm9tCit0aGUgZG9tLiBJbiBzYWZhcmkgdGhpcyBjYXVz
ZXMgdGhlIHdoZWVsIGV2ZW50IHRvIHN0b3AgZmlyaW5nIG9uIHRoZSBjdXJyZW50IGZyYW1lLCBi
dXQgaXQKK3RoZW4gc3RhcnRzIGZpcmluZyBvbiB0aGUgcGFyZW50IGZyYW1lLgorCitUZXN0cyB0
aGF0IGlmcmFtZSBkb2Vzbid0IGNvbnN1bWUgd2hlZWwgZXZlbnRzIHdoZW4gc2Nyb2xsaW5nIGEg
c2VsZWN0IGluIGFuIGlmcmFtZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BB
U1MgUmVtb3ZlZCB0aGUgdGFyZ2V0IGVsZW1lbnQKK1BBU1MgUGFnZSBkaWQgbm90IHNjcm9sbAor
UEFTUyBkaXYgY29udGludWVkIHNjcm9sbGluZyBhZnRlciB0YXJnZXQgZWxlbWVudCB3YXMgZGVs
ZXRlZC4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CkluZGV4OiBMYXlvdXRUZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9sYXRjaGVkLXRvLWRl
bGV0ZWQtbm9kZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3RpbGVkLWRyYXdpbmcv
c2Nyb2xsaW5nL2xhdGNoZWQtdG8tZGVsZXRlZC1ub2RlLmh0bWwJKHJldmlzaW9uIDApCisrKyBM
YXlvdXRUZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9sYXRjaGVkLXRvLWRlbGV0ZWQtbm9k
ZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTgxIEBACis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+CisJPHN0eWxlPgorCSNwYW5lIHsKKyAgICAgIGRpc3BsYXk6aW5saW5l
LWJsb2NrOworCSAgd2lkdGg6MjAwcHg7CisJICBoZWlnaHQ6NTAwcHg7CisJfQorCSNib3h1cCB7
CisJICBwb3NpdGlvbjogYWJzb2x1dGU7CisJICB0b3A6MHB4OworCSAgd2lkdGg6MjAwcHg7CisJ
ICBoZWlnaHQ6MjMwcHg7CisJICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOworCSAgb3BhY2l0eTou
NDsKKwl9CisJI2JveGRvd24geworCSAgcG9zaXRpb246IGFic29sdXRlOworCSAgdG9wOjI3MHB4
OworCSAgd2lkdGg6MjAwcHg7CisJICBoZWlnaHQ6MjMwcHg7CisJICBiYWNrZ3JvdW5kLWNvbG9y
OiAjMDAwOworCSAgb3BhY2l0eTouNDsKKwl9CisJI29iamVjdEJhY2sgeworCSAgcG9zaXRpb246
IGFic29sdXRlOworCSAgdG9wOjIwMHB4OworCSAgd2lkdGg6MjAwcHg7CisJICBoZWlnaHQ6MTAw
cHg7CisJICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmM2OworCX0KKwkjdGFyZ2V0RWxlbWVudCB7CisJ
ICBwb3NpdGlvbjogYWJzb2x1dGU7CisJICB0b3A6MzBweDsKKwkgIHdpZHRoOjIwMHB4OworCSAg
aGVpZ2h0OjQwcHg7CisJICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzY2OworCX0KKwk8L3N0eWxlPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InNldHVwVG9wTGV2ZWwoKTsiPgorPHNjcmlwdD4KK3dpbmRv
dy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwordmFyIHBhZ2VTY3JvbGxQb3NpdGlvbkJlZm9yZUdl
c3R1cmU7Cit2YXIgZGl2RWxlbWVudDsKK3ZhciBkaXZTY3JvbGxQb3NpdGlvbkJlZm9yZUdlc3R1
cmU7CisKK3ZhciBkZWxldGVUaHJlc2hob2xkID0gNDA7CisKK2Z1bmN0aW9uIGxvY2F0aW9uSW5X
aW5kb3dDb29yZGluYXRlcyhlbGVtZW50KQoreworICAgIHZhciBwb3NpdGlvbiA9IHt9OworICAg
IHBvc2l0aW9uLnggPSBlbGVtZW50Lm9mZnNldExlZnQ7CisgICAgcG9zaXRpb24ueSA9IGVsZW1l
bnQub2Zmc2V0VG9wOworCisgICAgd2hpbGUgKGVsZW1lbnQub2Zmc2V0UGFyZW50KSB7CisgICAg
ICAgIHBvc2l0aW9uLnggPSBwb3NpdGlvbi54ICsgZWxlbWVudC5vZmZzZXRQYXJlbnQub2Zmc2V0
TGVmdDsKKyAgICAgICAgcG9zaXRpb24ueSA9IHBvc2l0aW9uLnkgKyBlbGVtZW50Lm9mZnNldFBh
cmVudC5vZmZzZXRUb3A7CisgICAgICAgIGlmIChlbGVtZW50ID09IGRvY3VtZW50LmdldEVsZW1l
bnRzQnlUYWdOYW1lKCJib2R5IilbMF0pCisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBl
bGVtZW50ID0gZWxlbWVudC5vZmZzZXRQYXJlbnQ7CisgICAgfQorCisgICAgcmV0dXJuIHBvc2l0
aW9uOworfQorCitkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIiwg
ZnVuY3Rpb24oKSB7CisJdmFyIG9iamVjdEJhY2sgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
b2JqZWN0QmFjayIpOworCXZhciB0YXJnZXRFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInRhcmdldEVsZW1lbnQiKTsKKwl2YXIgaW5JRnJhbWUgPSB3aW5kb3cucGFyZW50ICE9PSB3
aW5kb3c7CisJdmFyIHBvcyA9IDA7CisJCisJCisJZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigi
d2hlZWwiLCBmdW5jdGlvbihldmVudCkgeworCQlwb3MgPSBwb3MgLSBldmVudC5kZWx0YVkgOwor
CQltb3ZlKG9iamVjdEJhY2ssIHBvcyk7CisJCWlmIChNYXRoLmFicyhwb3MpID4gZGVsZXRlVGhy
ZXNoaG9sZCkgeworCQkJLy8gZG9uJ3QgcmVtb3ZlIGl0IHR3aWNlCisJCQlpZiAodGFyZ2V0RWxl
bWVudC5wYXJlbnROb2RlKSB7CisJCQkJdmFyIHBhcmVudCA9IHRhcmdldEVsZW1lbnQucGFyZW50
Tm9kZTsKKwkJCQlwYXJlbnQucmVtb3ZlQ2hpbGQodGFyZ2V0RWxlbWVudCk7CisgICAgICAgICAg
ICAgICAgdGVzdFBhc3NlZCgiUmVtb3ZlZCB0aGUgdGFyZ2V0IGVsZW1lbnQiKTsKKwkJCX0KKwkJ
fQorCQlldmVudC5wcmV2ZW50RGVmYXVsdCgpOworCX0pOworCQorCS8vIFNldHVwCisgICAgdGFy
Z2V0RWxlbWVudC5pbm5lckhUTUwgPSAiUHV0IGN1cnNvciBoZXJlLiBTY3JvbGwgdXAvZG93biI7
CisKKwlmdW5jdGlvbiBtb3ZlKGVsZW1lbnQsIHBvcykgeworCQllbGVtZW50LnN0eWxlLnRyYW5z
Zm9ybSA9ICJ0cmFuc2xhdGVZKCIgKyBwb3MgKyAicHgpIjsKKyAgICB9Cit9KTsJCisKK2Z1bmN0
aW9uIGNoZWNrRm9yU2Nyb2xsKCkKK3sKKyAgICB2YXIgcGFnZVNjcm9sbFBvc2l0aW9uQWZ0ZXJH
ZXN0dXJlID0gZG9jdW1lbnQuYm9keS5zY3JvbGxUb3A7CisKKyAgICAvLyBUaGUgcGFnZSBzaG91
bGQgbm90IGhhdmUgc2Nyb2xsZWQKKyAgICBpZiAocGFnZVNjcm9sbFBvc2l0aW9uQmVmb3JlR2Vz
dHVyZSAhPSBwYWdlU2Nyb2xsUG9zaXRpb25BZnRlckdlc3R1cmUpCisgICAgICAgIHRlc3RGYWls
ZWQoIlBhZ2UgcmVjZWl2ZWQgc2Nyb2xsIGV2ZW50cywgd2hlbiBpdCBzaG91bGQgbm90IGhhdmUu
IEV4cGVjdGVkICIgKyBwYWdlU2Nyb2xsUG9zaXRpb25CZWZvcmVHZXN0dXJlICsgIiwgYnV0IGdv
dCAiICsgcGFnZVNjcm9sbFBvc2l0aW9uQWZ0ZXJHZXN0dXJlKTsKKyAgICBlbHNlCisgICAgICAg
IHRlc3RQYXNzZWQoIlBhZ2UgZGlkIG5vdCBzY3JvbGwiKTsKKworICAgIHZhciBkaXZTY3JvbGxQ
b3NpdGlvbkFmdGVyR2VzdHVyZSA9IGRpdkVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCku
dG9wOworCisgICAgLy8gVGhlIGRpdiBzaG91bGQgaGF2ZSBjb250aW51ZWQgbW92aW5nIGFmdGVy
IHRoZSBlbGVtZW50IHdhcyBkZWxldGVkCisgICAgaWYgKGRpdlNjcm9sbFBvc2l0aW9uQWZ0ZXJH
ZXN0dXJlID4gKGRpdlNjcm9sbFBvc2l0aW9uQmVmb3JlR2VzdHVyZSAtIGRlbGV0ZVRocmVzaGhv
bGQgLSAxMCkpCisgICAgICAgIHRlc3RGYWlsZWQoImRpdiBkaWQgbm90IHNjcm9sbCB0byBwcm9w
ZXIgbG9jYXRpb24uIEV4cGVjdGVkICIgKyBkaXZTY3JvbGxQb3NpdGlvbkJlZm9yZUdlc3R1cmUg
KyAiLCBidXQgZ290ICIgKyBkaXZTY3JvbGxQb3NpdGlvbkFmdGVyR2VzdHVyZSk7CisgICAgZWxz
ZQorICAgICAgICB0ZXN0UGFzc2VkKCJkaXYgY29udGludWVkIHNjcm9sbGluZyBhZnRlciB0YXJn
ZXQgZWxlbWVudCB3YXMgZGVsZXRlZC4iKTsKKworICAgIGZpbmlzaEpTVGVzdCgpOworfQorCitm
dW5jdGlvbiBzY3JvbGxUZXN0KCkKK3sKKyAgICBwYWdlU2Nyb2xsUG9zaXRpb25CZWZvcmVHZXN0
dXJlID0gZG9jdW1lbnQuYm9keS5zY3JvbGxUb3A7CisKKyAgICBkaXZFbGVtZW50ID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ29iamVjdEJhY2snKTsKKworICAgIGRpdlNjcm9sbFBvc2l0aW9u
QmVmb3JlR2VzdHVyZSA9IGRpdkVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wOwor
CisgICAgdmFyIHdpbmRvd1Bvc2l0aW9uID0gbG9jYXRpb25JbldpbmRvd0Nvb3JkaW5hdGVzKGRp
dkVsZW1lbnQpOworCisgICAgdmFyIHN0YXJ0UG9zWCA9IHdpbmRvd1Bvc2l0aW9uLnggKyAwLjUg
KiBkaXZFbGVtZW50LmNsaWVudFdpZHRoOworICAgIHZhciBzdGFydFBvc1kgPSB3aW5kb3dQb3Np
dGlvbi55ICsgMC41ICogZGl2RWxlbWVudC5jbGllbnRIZWlnaHQ7CisgICAgCisgICAgZXZlbnRT
ZW5kZXIubW91c2VNb3ZlVG8oc3RhcnRQb3NYLCBzdGFydFBvc1kpOworICAgIGV2ZW50U2VuZGVy
Lm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygwLCAtMSwgJ2JlZ2FuJywg
J25vbmUnKTsKKyAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50
dW1QaGFzZXMoMCwgLTUsICdjaGFuZ2VkJywgJ25vbmUnKTsKKyAgICBldmVudFNlbmRlci5tb3Vz
ZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgLTUsICdjaGFuZ2VkJywgJ25v
bmUnKTsKKyAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1Q
aGFzZXMoMCwgMCwgJ2VuZGVkJywgJ25vbmUnKTsKKyAgICBldmVudFNlbmRlci5tb3VzZVNjcm9s
bEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgLTEsICdub25lJywgJ2JlZ2luJyk7Cisg
ICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKDAs
IC0xLCAnbm9uZScsICdjb250aW51ZScpOworICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlX
aXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygwLCAwLCAnbm9uZScsICdlbmQnKTsKKyAgICBldmVu
dFNlbmRlci5jYWxsQWZ0ZXJTY3JvbGxpbmdDb21wbGV0ZXMoY2hlY2tGb3JTY3JvbGwpOworfQor
CitmdW5jdGlvbiBzZXR1cFRvcExldmVsKCkKK3sKKyAgICBpZiAod2luZG93LmV2ZW50U2VuZGVy
KSB7CisgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgICAgICB0ZXN0UnVubmVy
LndhaXRVbnRpbERvbmUoKTsKKworICAgICAgICBldmVudFNlbmRlci5tb25pdG9yV2hlZWxFdmVu
dHMoKTsKKyAgICAgICAgc2V0VGltZW91dChzY3JvbGxUZXN0LCAwKTsKKyAgICB9IGVsc2Ugewor
ICAgICAgICB2YXIgbWVzc2FnZUxvY2F0aW9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Bh
cmVudCcpOworICAgICAgICB2YXIgbWVzc2FnZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2Rp
dicpOworICAgICAgICBtZXNzYWdlLmlubmVySFRNTCA9ICI8cD5UaGlzIHRlc3QgaXMgYmV0dGVy
IHJ1biB1bmRlciBEdW1wUmVuZGVyVHJlZS4gVG8gbWFudWFsbHkgdGVzdCBpdCwgcGxhY2UgdGhl
IG1vdXNlIHBvaW50ZXI8YnIvPiIKKyAgICAgICAgICAgICsgImF0IHRoZSB0b3Agb2YgdGhlIHBh
Z2UsIGFuZCB0aGVuIHVzZSB0aGUgbW91c2Ugd2hlZWwgb3IgYSB0d28tZmluZ2VyIHN3aXBlIHRv
IHNjcm9sbCB0aGU8YnIvPiIKKyAgICAgICAgICAgICsgImRvd24gcGFzdCB0aGUgaWZyYW1lLjxi
ci8+PGJyLz4iCisgICAgICAgICAgICArICJUaGUgaWZyYW1lIHNob3VsZCBub3Qgc2Nyb2xsLjwv
cD4iOworICAgICAgICBtZXNzYWdlTG9jYXRpb24uYXBwZW5kQ2hpbGQobWVzc2FnZSk7CisgICAg
fQorfQorPC9zY3JpcHQ+Cis8ZGl2IGlkPSJwYXJlbnQiIHN0eWxlPSJoZWlnaHQ6IDIwMDBweDsi
PgorICAgIDxkaXYgaWQ9InBhbmUiPgorICAgIAk8aDM+Q29udGFpbmVyPC9oMz4KKyAgICAJPGRp
diBpZD0ib2JqZWN0QmFjayI+PGRpdiBpZD0idGFyZ2V0RWxlbWVudCI+PC9kaXY+PC9kaXY+Cisg
ICAgCTxkaXYgaWQ9ImJveHVwIj48L2Rpdj4KKyAgICAJPGRpdiBpZD0iYm94ZG93biI+PC9kaXY+
CisgICAgPC9kaXY+CisgICAgPHAgY2xhc3M9ImRlc2NyaXB0aW9uIj5BZnRlciBtb3ZpbmcgNDBw
eCB1cCBvciBkb3duIHdlIHJlbW92ZSB0aGUgaW5pdGlhbCB0YXJnZXQgZWxlbWVudCBvZiB3aGVl
bCBldmVudCBmcm9tPGJyLz4KKyAgICAgICAgdGhlIGRvbS4gSW4gc2FmYXJpIHRoaXMgY2F1c2Vz
IHRoZSB3aGVlbCBldmVudCB0byBzdG9wIGZpcmluZyBvbiB0aGUgY3VycmVudCBmcmFtZSwgYnV0
IGl0PGJyLz4KKyAgICAgICAgdGhlbiBzdGFydHMgZmlyaW5nIG9uIHRoZSBwYXJlbnQgZnJhbWUu
PC9wPgorPC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CitkZXNjcmlw
dGlvbigiVGVzdHMgdGhhdCBpZnJhbWUgZG9lc24ndCBjb25zdW1lIHdoZWVsIGV2ZW50cyB3aGVu
IHNjcm9sbGluZyBhIHNlbGVjdCBpbiBhbiBpZnJhbWUuIik7Cis8L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCg==
</data>
<flag name="review"
          id="284993"
          type_id="1"
          status="+"
          setter="hyatt"
    />
          </attachment>
      

    </bug>

</bugzilla>