<?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>35590</bug_id>
          
          <creation_ts>2010-03-02 11:06:01 -0800</creation_ts>
          <short_desc>DOM insertion mutation events should dispatch after a node is attached to the render tree</short_desc>
          <delta_ts>2010-03-04 10:17:36 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Antoine Quint">ml</reporter>
          <assigned_to name="Antoine Quint">ml</assigned_to>
          <cc>ap</cc>
    
    <cc>aroben</cc>
    
    <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>195119</commentid>
    <comment_count>0</comment_count>
    <who name="Antoine Quint">ml</who>
    <bug_when>2010-03-02 11:06:01 -0800</bug_when>
    <thetext>The insertion mutation events, such as DOMNodeInserted and DOMNodeInsertedIntoDocument, are dispatched before -&gt;attach() is called on the inserted node. This causes computed style to be meaningless in handlers for such events and differs from the Firefox and Opera implementations that provide such useful information.

It&apos;s worth noting that DOMSubtreeModified is dispatched _after_ the element was attached to the render tree.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195121</commentid>
    <comment_count>1</comment_count>
      <attachid>49819</attachid>
    <who name="Antoine Quint">ml</who>
    <bug_when>2010-03-02 11:07:07 -0800</bug_when>
    <thetext>Created attachment 49819
Testcase showing the width value of computedStyle for an appended element after various mutation events are dispatched</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195132</commentid>
    <comment_count>2</comment_count>
    <who name="Antoine Quint">ml</who>
    <bug_when>2010-03-02 11:26:29 -0800</bug_when>
    <thetext>rdar://problem/7707492</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195612</commentid>
    <comment_count>3</comment_count>
      <attachid>49910</attachid>
    <who name="Antoine Quint">ml</who>
    <bug_when>2010-03-03 07:54:18 -0800</bug_when>
    <thetext>Created attachment 49910
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195616</commentid>
    <comment_count>4</comment_count>
      <attachid>49910</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2010-03-03 07:57:56 -0800</bug_when>
    <thetext>Comment on attachment 49910
Patch

The code changes look good. But I think you should test insertBefore and replaceChild, too, since you modified those.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195626</commentid>
    <comment_count>5</comment_count>
      <attachid>49912</attachid>
    <who name="Antoine Quint">ml</who>
    <bug_when>2010-03-03 08:45:23 -0800</bug_when>
    <thetext>Created attachment 49912
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195630</commentid>
    <comment_count>6</comment_count>
      <attachid>49912</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-03-03 08:58:13 -0800</bug_when>
    <thetext>Comment on attachment 49912
Patch

Moving the childrenChanged call after the attach call might lead to bugs like the one fixed in &lt;http://trac.webkit.org/changeset/55462&gt; because all the code run inside attach will be done while functions like HTMLSelectElement::childrenChanged have not yet been called. For example, the select element&apos;s list of items will still be wrong. And Element::childrenChanged won&apos;t run, which has something to do with updating style sharing data structures.

The test cases check only the mutation event aspect of this change, so if we had not moved the childrenChanged function calls, the test would still pass. The test doesn&apos;t show us possible problems created or bugs fixed by moving the childrenChanged calls.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195962</commentid>
    <comment_count>7</comment_count>
    <who name="Antoine Quint">ml</who>
    <bug_when>2010-03-04 02:16:56 -0800</bug_when>
    <thetext>I&apos;ve moved only the dispatchChildInsertionEvents() calls after the render tree attachments, and left the childrenChanged() calls where they were which still fixes the original issue, but breaks a fair few layout tests, specifically for app cache.

By the looks of it dispatchChildInsertionEvents() actually does a bit more than dispatching just the insertion DOM events and some of its calls probably alter the process here. My guess is that dispatchChildInsertionEvents() should split off the actual event dispatching code to be on its own so that part only can be moved post render tree attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196100</commentid>
    <comment_count>8</comment_count>
      <attachid>50029</attachid>
    <who name="Antoine Quint">ml</who>
    <bug_when>2010-03-04 09:26:56 -0800</bug_when>
    <thetext>Created attachment 50029
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196102</commentid>
    <comment_count>9</comment_count>
    <who name="Antoine Quint">ml</who>
    <bug_when>2010-03-04 09:29:43 -0800</bug_when>
    <thetext>So I split off the internal-to-WebCore notification bits from
dispatchChildInsertionEvents() into a new static function
notifyChildInserted(), and now dispatchChildInsertionEvents() is called _after_
attachment of the node to the render tree.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196115</commentid>
    <comment_count>10</comment_count>
      <attachid>50029</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-03-04 10:17:31 -0800</bug_when>
    <thetext>Comment on attachment 50029
Patch

Clearing flags on attachment: 50029

Committed r55532: &lt;http://trac.webkit.org/changeset/55532&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196116</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-03-04 10:17:36 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>49819</attachid>
            <date>2010-03-02 11:07:07 -0800</date>
            <delta_ts>2010-03-02 11:07:07 -0800</delta_ts>
            <desc>Testcase showing the width value of computedStyle for an appended element after various mutation events are dispatched</desc>
            <filename>mutations.html</filename>
            <type>text/html</type>
            <size>1161</size>
            <attacher name="Antoine Quint">ml</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEvL0VOIiAiaHR0cDov
L3d3dy53My5vcmcvVFIvaHRtbDQvc3RyaWN0LmR0ZCI+CjxodG1sPgoKICA8aGVhZD4KICAgIDx0
aXRsZT5NdXRhdGlvbiBFdmVudCBUZXN0czwvdGl0bGU+CiAgICA8bWV0YSBodHRwLWVxdWl2PSJj
b250ZW50LXR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCI+CiAgICA8c2Ny
aXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgY2hhcnNldD0idXRmLTgiPgoKICAgICAgdmFyIGVs
ZW1lbnQ7CgogICAgICB2YXIgZm9vID0gewogICAgICAgIGhhbmRsZUV2ZW50IDogZnVuY3Rpb24g
KGV2ZW50KSB7CiAgICAgICAgICBhbGVydChldmVudC50eXBlICsgJyA9ICcgKyB3aW5kb3cuZ2V0
Q29tcHV0ZWRTdHlsZShlbGVtZW50LCBudWxsKS53aWR0aCk7CiAgICAgICAgfQogICAgICB9Cgog
ICAgICBmdW5jdGlvbiBpbml0ICgpIHsKICAgICAgICBkb2N1bWVudC5ib2R5LmFkZEV2ZW50TGlz
dGVuZXIoJ0RPTVN1YnRyZWVNb2RpZmllZCcsIGZvbywgdHJ1ZSk7CiAgICAgICAgZG9jdW1lbnQu
Ym9keS5hZGRFdmVudExpc3RlbmVyKCdET01Ob2RlSW5zZXJ0ZWQnLCBmb28sIHRydWUpOwogICAg
ICAgIGFwcGVuZEVsZW1lbnQoKTsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gYXBwZW5kRWxlbWVu
dCAoKSB7CiAgICAgICAgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwog
ICAgICAgIGVsZW1lbnQuaW5uZXJUZXh0ID0gJ0hlbGxvIFdvcmxkISc7CiAgICAgICAgZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChlbGVtZW50KTsKICAgICAgfQoKICAgICAgd2luZG93LmFkZEV2
ZW50TGlzdGVuZXIoJ2xvYWQnLCBpbml0LCBmYWxzZSk7CgogICAgPC9zY3JpcHQ+CiAgICA8c3R5
bGUgdHlwZT0idGV4dC9jc3MiIG1lZGlhPSJzY3JlZW4iPgogICAgICAKICAgICAgZGl2IHsKICAg
ICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICB3aWR0aDogYXV0bzsKICAgICAgICBjb2xvcjog
YmxhY2s7CiAgICAgIH0KICAgICAgCiAgICA8L3N0eWxlPgogIDwvaGVhZD4KCiAgPGJvZHk+CiAg
ICA8YnV0dG9uIG9uY2xpY2s9ImFwcGVuZEVsZW1lbnQoKSI+QXBwZW5kIEVsZW1lbnQ8L2J1dHRv
bj4KICA8L2JvZHk+Cgo8L2h0bWw+
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>49910</attachid>
            <date>2010-03-03 07:54:18 -0800</date>
            <delta_ts>2010-03-03 08:45:17 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-35590-20100303165342.patch</filename>
            <type>text/plain</type>
            <size>5833</size>
            <attacher name="Antoine Quint">ml</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1NTQ2MikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjEgQEAKKzIwMTAtMDMtMDMgIEFudG9pbmUgUXVpbnQgIDxtbEBncmFvdWdyYW91
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBE
T00gaW5zZXJ0aW9uIG11dGF0aW9uIGV2ZW50cyBzaG91bGQgZGlzcGF0Y2ggYWZ0ZXIgYSBub2Rl
IGlzIGF0dGFjaGVkIHRvIHRoZSByZW5kZXIgdHJlZSB0byB0aGUgZG9jdW1lbnQKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM1NTkwCisKKyAgICAgICAg
VGVzdDogZmFzdC9ldmVudHMvZG9tbm9kZWluc2VydGVkaW50b2RvY3VtZW50LWRpc3BhdGNoZWQt
cG9zdC1yZW5kZXJpbmcuaHRtbAorCisgICAgICAgIENoYW5nZWQgdG8gY2FsbCBjaGlsZHJlbkNo
YW5nZWQoKSBhbmQgZGlzcGF0Y2hDaGlsZEluc2VydGlvbkV2ZW50cygpIGFmdGVyIGFuIGluc2Vy
dGVkCisgICAgICAgIGNoaWxkIGlzIGF0dGFjaGVkIHRvIHRoZSByZW5kZXIgdHJlZSwgYW5kIGNv
dXBsZWQgd2l0aCBvdGhlciBtdXRhdGlvbiBldmVudHMgc3VjaCBhcworICAgICAgICBET01TdWJU
cmVlTW9kaWZpZWQuCisKKyAgICAgICAgKiBkb20vQ29udGFpbmVyTm9kZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpDb250YWluZXJOb2RlOjppbnNlcnRCZWZvcmUpOgorICAgICAgICAoV2ViQ29y
ZTo6Q29udGFpbmVyTm9kZTo6cmVwbGFjZUNoaWxkKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRh
aW5lck5vZGU6OmFwcGVuZENoaWxkKToKKwogMjAxMC0wMy0wMyAgRGFuIEJlcm5zdGVpbiAgPG1p
dHpAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNhbSBXZWluaWcuCkluZGV4OiBX
ZWJDb3JlL2RvbS9Db250YWluZXJOb2RlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9D
b250YWluZXJOb2RlLmNwcAkocmV2aXNpb24gNTU0NjIpCisrKyBXZWJDb3JlL2RvbS9Db250YWlu
ZXJOb2RlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTQzLDEwICsxNDMsNiBAQCBib29sIENvbnRh
aW5lck5vZGU6Omluc2VydEJlZm9yZShQYXNzUmVmCiAgICAgICAgIGNoaWxkLT5zZXRQcmV2aW91
c1NpYmxpbmcocHJldik7CiAgICAgICAgIGNoaWxkLT5zZXROZXh0U2libGluZyhuZXh0LmdldCgp
KTsKICAgICAgICAgYWxsb3dFdmVudERpc3BhdGNoKCk7Ci0KLSAgICAgICAgLy8gRGlzcGF0Y2gg
dGhlIG11dGF0aW9uIGV2ZW50cy4KLSAgICAgICAgY2hpbGRyZW5DaGFuZ2VkKGZhbHNlLCByZWZD
aGlsZFByZXZpb3VzU2libGluZy5nZXQoKSwgbmV4dC5nZXQoKSwgMSk7Ci0gICAgICAgIGRpc3Bh
dGNoQ2hpbGRJbnNlcnRpb25FdmVudHMoY2hpbGQuZ2V0KCkpOwogICAgICAgICAgICAgICAgIAog
ICAgICAgICAvLyBBZGQgY2hpbGQgdG8gdGhlIHJlbmRlcmluZyB0cmVlLgogICAgICAgICBpZiAo
YXR0YWNoZWQoKSAmJiAhY2hpbGQtPmF0dGFjaGVkKCkgJiYgY2hpbGQtPnBhcmVudCgpID09IHRo
aXMpIHsKQEAgLTE1Niw2ICsxNTIsMTAgQEAgYm9vbCBDb250YWluZXJOb2RlOjppbnNlcnRCZWZv
cmUoUGFzc1JlZgogICAgICAgICAgICAgICAgIGNoaWxkLT5hdHRhY2goKTsKICAgICAgICAgfQog
CisgICAgICAgIC8vIERpc3BhdGNoIHRoZSBtdXRhdGlvbiBldmVudHMuCisgICAgICAgIGNoaWxk
cmVuQ2hhbmdlZChmYWxzZSwgcmVmQ2hpbGRQcmV2aW91c1NpYmxpbmcuZ2V0KCksIG5leHQuZ2V0
KCksIDEpOworICAgICAgICBkaXNwYXRjaENoaWxkSW5zZXJ0aW9uRXZlbnRzKGNoaWxkLmdldCgp
KTsKKwogICAgICAgICBjaGlsZCA9IG5leHRDaGlsZC5yZWxlYXNlKCk7CiAgICAgfQogCkBAIC0y
NTUsOSArMjU1LDYgQEAgYm9vbCBDb250YWluZXJOb2RlOjpyZXBsYWNlQ2hpbGQoUGFzc1JlZgog
ICAgICAgICBjaGlsZC0+c2V0UHJldmlvdXNTaWJsaW5nKHByZXYuZ2V0KCkpOwogICAgICAgICBj
aGlsZC0+c2V0TmV4dFNpYmxpbmcobmV4dCk7CiAgICAgICAgIGFsbG93RXZlbnREaXNwYXRjaCgp
OwotCi0gICAgICAgIC8vIERpc3BhdGNoIHRoZSBtdXRhdGlvbiBldmVudHMKLSAgICAgICAgZGlz
cGF0Y2hDaGlsZEluc2VydGlvbkV2ZW50cyhjaGlsZC5nZXQoKSk7CiAgICAgICAgICAgICAgICAg
CiAgICAgICAgIC8vIEFkZCBjaGlsZCB0byB0aGUgcmVuZGVyaW5nIHRyZWUKICAgICAgICAgaWYg
KGF0dGFjaGVkKCkgJiYgIWNoaWxkLT5hdHRhY2hlZCgpICYmIGNoaWxkLT5wYXJlbnQoKSA9PSB0
aGlzKSB7CkBAIC0yNjcsNiArMjY0LDkgQEAgYm9vbCBDb250YWluZXJOb2RlOjpyZXBsYWNlQ2hp
bGQoUGFzc1JlZgogICAgICAgICAgICAgICAgIGNoaWxkLT5hdHRhY2goKTsKICAgICAgICAgfQog
CisgICAgICAgIC8vIERpc3BhdGNoIHRoZSBtdXRhdGlvbiBldmVudHMKKyAgICAgICAgZGlzcGF0
Y2hDaGlsZEluc2VydGlvbkV2ZW50cyhjaGlsZC5nZXQoKSk7CisKICAgICAgICAgcHJldiA9IGNo
aWxkOwogICAgICAgICBjaGlsZCA9IG5leHRDaGlsZC5yZWxlYXNlKCk7CiAgICAgfQpAQCAtNDkw
LDEwICs0OTAsNiBAQCBib29sIENvbnRhaW5lck5vZGU6OmFwcGVuZENoaWxkKFBhc3NSZWZQCiAg
ICAgICAgIG1fbGFzdENoaWxkID0gY2hpbGQuZ2V0KCk7CiAgICAgICAgIGFsbG93RXZlbnREaXNw
YXRjaCgpOwogCi0gICAgICAgIC8vIERpc3BhdGNoIHRoZSBtdXRhdGlvbiBldmVudHMKLSAgICAg
ICAgY2hpbGRyZW5DaGFuZ2VkKGZhbHNlLCBwcmV2LmdldCgpLCAwLCAxKTsKLSAgICAgICAgZGlz
cGF0Y2hDaGlsZEluc2VydGlvbkV2ZW50cyhjaGlsZC5nZXQoKSk7Ci0KICAgICAgICAgLy8gQWRk
IGNoaWxkIHRvIHRoZSByZW5kZXJpbmcgdHJlZQogICAgICAgICBpZiAoYXR0YWNoZWQoKSAmJiAh
Y2hpbGQtPmF0dGFjaGVkKCkgJiYgY2hpbGQtPnBhcmVudCgpID09IHRoaXMpIHsKICAgICAgICAg
ICAgIGlmIChzaG91bGRMYXp5QXR0YWNoKQpAQCAtNTAxLDYgKzQ5NywxMCBAQCBib29sIENvbnRh
aW5lck5vZGU6OmFwcGVuZENoaWxkKFBhc3NSZWZQCiAgICAgICAgICAgICBlbHNlCiAgICAgICAg
ICAgICAgICAgY2hpbGQtPmF0dGFjaCgpOwogICAgICAgICB9CisKKyAgICAgICAgLy8gRGlzcGF0
Y2ggdGhlIG11dGF0aW9uIGV2ZW50cworICAgICAgICBjaGlsZHJlbkNoYW5nZWQoZmFsc2UsIHBy
ZXYuZ2V0KCksIDAsIDEpOworICAgICAgICBkaXNwYXRjaENoaWxkSW5zZXJ0aW9uRXZlbnRzKGNo
aWxkLmdldCgpKTsKICAgICAgICAgCiAgICAgICAgIGNoaWxkID0gbmV4dENoaWxkLnJlbGVhc2Uo
KTsKICAgICB9CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA1NTQ2MikKKysrIExheW91dFRlc3RzL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDEwLTAzLTAzICBBbnRvaW5l
IFF1aW50ICA8bWxAZ3Jhb3VncmFvdS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgRE9NIGluc2VydGlvbiBtdXRhdGlvbiBldmVudHMgc2hvdWxk
IGRpc3BhdGNoIGFmdGVyIGEgbm9kZSBpcyBhdHRhY2hlZCB0byB0aGUgcmVuZGVyIHRyZWUgdG8g
dGhlIGRvY3VtZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0zNTU5MAorCisgICAgICAgICogZmFzdC9ldmVudHMvZG9tbm9kZWluc2VydGVkaW50b2Rv
Y3VtZW50LWRpc3BhdGNoZWQtcG9zdC1yZW5kZXJpbmctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2V2ZW50cy9kb21ub2RlaW5zZXJ0ZWRpbnRvZG9jdW1lbnQtZGlzcGF0Y2hl
ZC1wb3N0LXJlbmRlcmluZy5odG1sOiBBZGRlZC4KKwogMjAxMC0wMy0wMyAgRGFuIEJlcm5zdGVp
biAgPG1pdHpAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNhbSBXZWluaWcuCklu
ZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9kb21ub2RlaW5zZXJ0ZWRpbnRvZG9jdW1lbnQt
ZGlzcGF0Y2hlZC1wb3N0LXJlbmRlcmluZy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvZmFzdC9ldmVudHMvZG9tbm9kZWluc2VydGVkaW50b2RvY3VtZW50LWRpc3BhdGNo
ZWQtcG9zdC1yZW5kZXJpbmctZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVz
dHMvZmFzdC9ldmVudHMvZG9tbm9kZWluc2VydGVkaW50b2RvY3VtZW50LWRpc3BhdGNoZWQtcG9z
dC1yZW5kZXJpbmctZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDMgQEAKK1BB
U1MKKworCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9kb21ub2RlaW5zZXJ0ZWRpbnRv
ZG9jdW1lbnQtZGlzcGF0Y2hlZC1wb3N0LXJlbmRlcmluZy5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2Zhc3QvZXZlbnRzL2RvbW5vZGVpbnNlcnRlZGludG9kb2N1bWVudC1kaXNwYXRj
aGVkLXBvc3QtcmVuZGVyaW5nLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0
L2V2ZW50cy9kb21ub2RlaW5zZXJ0ZWRpbnRvZG9jdW1lbnQtZGlzcGF0Y2hlZC1wb3N0LXJlbmRl
cmluZy5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDMzIEBACis8IWRvY3R5cGUgaHRtbD4K
KzxodG1sIGNsYXNzPSJhIj4KKyA8aGVhZD4KKyAgPHRpdGxlPkRPTU5vZGVJbnNlcnRlZEludG9E
b2N1bWVudDogZGlzcGF0Y2ggYWZ0ZXIgYXBwZW5kaW5nIHRvIHRoZSByZW5kZXIgdHJlZTwvdGl0
bGU+CisgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisKKyAgICBkaXYgeworICAgICAgZGlzcGxh
eTogYmxvY2s7CisgICAgICB3aWR0aDogMjAwcHg7CisgICAgfQorCisgIDwvc3R5bGU+CisgPC9o
ZWFkPgorIDxib2R5PgorICA8cCBpZD0iciI+RkFJTCAoc2NyaXB0IGRpZCBub3QgcnVuKTwvcD4K
KyAgPHNjcmlwdD4KKworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgCisgICAgdmFyIGVsZW1l
bnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKworICAgIGVsZW1lbnQuYWRkRXZl
bnRMaXN0ZW5lcignRE9NTm9kZUluc2VydGVkSW50b0RvY3VtZW50JywgZnVuY3Rpb24gKGV2ZW50
KSB7CisgICAgICB2YXIgd2lkdGggPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCBu
dWxsKS53aWR0aDsKKyAgICAgIHZhciBwYXNzID0gKHdpZHRoID09ICcyMDBweCcpOworICAgICAg
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3InKS50ZXh0Q29udGVudCA9IHBhc3MgPyAnUEFTUycg
OiAnRkFJTCAoZ290IHdpZHRoID0gIicgKyB3aWR0aCArICciKSc7CisgICAgfSwgZmFsc2UpOwor
CisgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlbGVtZW50KTsKKworICA8L3NjcmlwdD4K
KyA8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>49912</attachid>
            <date>2010-03-03 08:45:23 -0800</date>
            <delta_ts>2010-03-04 06:38:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-35590-20100303174521.patch</filename>
            <type>text/plain</type>
            <size>7126</size>
            <attacher name="Antoine Quint">ml</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1NTQ2MikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjEgQEAKKzIwMTAtMDMtMDMgIEFudG9pbmUgUXVpbnQgIDxtbEBncmFvdWdyYW91
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBE
T00gaW5zZXJ0aW9uIG11dGF0aW9uIGV2ZW50cyBzaG91bGQgZGlzcGF0Y2ggYWZ0ZXIgYSBub2Rl
IGlzIGF0dGFjaGVkIHRvIHRoZSByZW5kZXIgdHJlZSB0byB0aGUgZG9jdW1lbnQKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM1NTkwCisKKyAgICAgICAg
VGVzdDogZmFzdC9ldmVudHMvZG9tbm9kZWluc2VydGVkaW50b2RvY3VtZW50LWRpc3BhdGNoZWQt
cG9zdC1yZW5kZXJpbmcuaHRtbAorCisgICAgICAgIENoYW5nZWQgdG8gY2FsbCBjaGlsZHJlbkNo
YW5nZWQoKSBhbmQgZGlzcGF0Y2hDaGlsZEluc2VydGlvbkV2ZW50cygpIGFmdGVyIGFuIGluc2Vy
dGVkCisgICAgICAgIGNoaWxkIGlzIGF0dGFjaGVkIHRvIHRoZSByZW5kZXIgdHJlZSBvZiB0aGUg
ZG9jdW1lbnQsIGFuZCBjb3VwbGVkIHdpdGggb3RoZXIgbXV0YXRpb24KKyAgICAgICAgZXZlbnRz
IHN1Y2ggYXMgRE9NU3ViVHJlZU1vZGlmaWVkLgorCisgICAgICAgICogZG9tL0NvbnRhaW5lck5v
ZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29udGFpbmVyTm9kZTo6aW5zZXJ0QmVmb3JlKToK
KyAgICAgICAgKFdlYkNvcmU6OkNvbnRhaW5lck5vZGU6OnJlcGxhY2VDaGlsZCk6CisgICAgICAg
IChXZWJDb3JlOjpDb250YWluZXJOb2RlOjphcHBlbmRDaGlsZCk6CisKIDIwMTAtMDMtMDMgIERh
biBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBTYW0g
V2VpbmlnLgpJbmRleDogV2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZS5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZS5jcHAJKHJldmlzaW9uIDU1NDYyKQorKysgV2Vi
Q29yZS9kb20vQ29udGFpbmVyTm9kZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE0MywxMCArMTQz
LDYgQEAgYm9vbCBDb250YWluZXJOb2RlOjppbnNlcnRCZWZvcmUoUGFzc1JlZgogICAgICAgICBj
aGlsZC0+c2V0UHJldmlvdXNTaWJsaW5nKHByZXYpOwogICAgICAgICBjaGlsZC0+c2V0TmV4dFNp
YmxpbmcobmV4dC5nZXQoKSk7CiAgICAgICAgIGFsbG93RXZlbnREaXNwYXRjaCgpOwotCi0gICAg
ICAgIC8vIERpc3BhdGNoIHRoZSBtdXRhdGlvbiBldmVudHMuCi0gICAgICAgIGNoaWxkcmVuQ2hh
bmdlZChmYWxzZSwgcmVmQ2hpbGRQcmV2aW91c1NpYmxpbmcuZ2V0KCksIG5leHQuZ2V0KCksIDEp
OwotICAgICAgICBkaXNwYXRjaENoaWxkSW5zZXJ0aW9uRXZlbnRzKGNoaWxkLmdldCgpKTsKICAg
ICAgICAgICAgICAgICAKICAgICAgICAgLy8gQWRkIGNoaWxkIHRvIHRoZSByZW5kZXJpbmcgdHJl
ZS4KICAgICAgICAgaWYgKGF0dGFjaGVkKCkgJiYgIWNoaWxkLT5hdHRhY2hlZCgpICYmIGNoaWxk
LT5wYXJlbnQoKSA9PSB0aGlzKSB7CkBAIC0xNTYsNiArMTUyLDEwIEBAIGJvb2wgQ29udGFpbmVy
Tm9kZTo6aW5zZXJ0QmVmb3JlKFBhc3NSZWYKICAgICAgICAgICAgICAgICBjaGlsZC0+YXR0YWNo
KCk7CiAgICAgICAgIH0KIAorICAgICAgICAvLyBEaXNwYXRjaCB0aGUgbXV0YXRpb24gZXZlbnRz
LgorICAgICAgICBjaGlsZHJlbkNoYW5nZWQoZmFsc2UsIHJlZkNoaWxkUHJldmlvdXNTaWJsaW5n
LmdldCgpLCBuZXh0LmdldCgpLCAxKTsKKyAgICAgICAgZGlzcGF0Y2hDaGlsZEluc2VydGlvbkV2
ZW50cyhjaGlsZC5nZXQoKSk7CisKICAgICAgICAgY2hpbGQgPSBuZXh0Q2hpbGQucmVsZWFzZSgp
OwogICAgIH0KIApAQCAtMjU1LDkgKzI1NSw2IEBAIGJvb2wgQ29udGFpbmVyTm9kZTo6cmVwbGFj
ZUNoaWxkKFBhc3NSZWYKICAgICAgICAgY2hpbGQtPnNldFByZXZpb3VzU2libGluZyhwcmV2Lmdl
dCgpKTsKICAgICAgICAgY2hpbGQtPnNldE5leHRTaWJsaW5nKG5leHQpOwogICAgICAgICBhbGxv
d0V2ZW50RGlzcGF0Y2goKTsKLQotICAgICAgICAvLyBEaXNwYXRjaCB0aGUgbXV0YXRpb24gZXZl
bnRzCi0gICAgICAgIGRpc3BhdGNoQ2hpbGRJbnNlcnRpb25FdmVudHMoY2hpbGQuZ2V0KCkpOwog
ICAgICAgICAgICAgICAgIAogICAgICAgICAvLyBBZGQgY2hpbGQgdG8gdGhlIHJlbmRlcmluZyB0
cmVlCiAgICAgICAgIGlmIChhdHRhY2hlZCgpICYmICFjaGlsZC0+YXR0YWNoZWQoKSAmJiBjaGls
ZC0+cGFyZW50KCkgPT0gdGhpcykgewpAQCAtMjY3LDYgKzI2NCw5IEBAIGJvb2wgQ29udGFpbmVy
Tm9kZTo6cmVwbGFjZUNoaWxkKFBhc3NSZWYKICAgICAgICAgICAgICAgICBjaGlsZC0+YXR0YWNo
KCk7CiAgICAgICAgIH0KIAorICAgICAgICAvLyBEaXNwYXRjaCB0aGUgbXV0YXRpb24gZXZlbnRz
CisgICAgICAgIGRpc3BhdGNoQ2hpbGRJbnNlcnRpb25FdmVudHMoY2hpbGQuZ2V0KCkpOworCiAg
ICAgICAgIHByZXYgPSBjaGlsZDsKICAgICAgICAgY2hpbGQgPSBuZXh0Q2hpbGQucmVsZWFzZSgp
OwogICAgIH0KQEAgLTQ5MCwxMCArNDkwLDYgQEAgYm9vbCBDb250YWluZXJOb2RlOjphcHBlbmRD
aGlsZChQYXNzUmVmUAogICAgICAgICBtX2xhc3RDaGlsZCA9IGNoaWxkLmdldCgpOwogICAgICAg
ICBhbGxvd0V2ZW50RGlzcGF0Y2goKTsKIAotICAgICAgICAvLyBEaXNwYXRjaCB0aGUgbXV0YXRp
b24gZXZlbnRzCi0gICAgICAgIGNoaWxkcmVuQ2hhbmdlZChmYWxzZSwgcHJldi5nZXQoKSwgMCwg
MSk7Ci0gICAgICAgIGRpc3BhdGNoQ2hpbGRJbnNlcnRpb25FdmVudHMoY2hpbGQuZ2V0KCkpOwot
CiAgICAgICAgIC8vIEFkZCBjaGlsZCB0byB0aGUgcmVuZGVyaW5nIHRyZWUKICAgICAgICAgaWYg
KGF0dGFjaGVkKCkgJiYgIWNoaWxkLT5hdHRhY2hlZCgpICYmIGNoaWxkLT5wYXJlbnQoKSA9PSB0
aGlzKSB7CiAgICAgICAgICAgICBpZiAoc2hvdWxkTGF6eUF0dGFjaCkKQEAgLTUwMSw2ICs0OTcs
MTAgQEAgYm9vbCBDb250YWluZXJOb2RlOjphcHBlbmRDaGlsZChQYXNzUmVmUAogICAgICAgICAg
ICAgZWxzZQogICAgICAgICAgICAgICAgIGNoaWxkLT5hdHRhY2goKTsKICAgICAgICAgfQorCisg
ICAgICAgIC8vIERpc3BhdGNoIHRoZSBtdXRhdGlvbiBldmVudHMKKyAgICAgICAgY2hpbGRyZW5D
aGFuZ2VkKGZhbHNlLCBwcmV2LmdldCgpLCAwLCAxKTsKKyAgICAgICAgZGlzcGF0Y2hDaGlsZElu
c2VydGlvbkV2ZW50cyhjaGlsZC5nZXQoKSk7CiAgICAgICAgIAogICAgICAgICBjaGlsZCA9IG5l
eHRDaGlsZC5yZWxlYXNlKCk7CiAgICAgfQpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gNTU0NjIpCisrKyBM
YXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAx
MC0wMy0wMyAgQW50b2luZSBRdWludCAgPG1sQGdyYW91Z3Jhb3UuY29tPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERPTSBpbnNlcnRpb24gbXV0YXRp
b24gZXZlbnRzIHNob3VsZCBkaXNwYXRjaCBhZnRlciBhIG5vZGUgaXMgYXR0YWNoZWQgdG8gdGhl
IHJlbmRlciB0cmVlIHRvIHRoZSBkb2N1bWVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzU1OTAKKworICAgICAgICAqIGZhc3QvZXZlbnRzL2RvbW5v
ZGVpbnNlcnRlZGludG9kb2N1bWVudC1kaXNwYXRjaGVkLXBvc3QtcmVuZGVyaW5nLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9ldmVudHMvZG9tbm9kZWluc2VydGVkaW50b2Rv
Y3VtZW50LWRpc3BhdGNoZWQtcG9zdC1yZW5kZXJpbmcuaHRtbDogQWRkZWQuCisKIDIwMTAtMDMt
MDMgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBTYW0gV2VpbmlnLgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZG9tbm9kZWluc2Vy
dGVkaW50b2RvY3VtZW50LWRpc3BhdGNoZWQtcG9zdC1yZW5kZXJpbmctZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2RvbW5vZGVpbnNlcnRlZGludG9k
b2N1bWVudC1kaXNwYXRjaGVkLXBvc3QtcmVuZGVyaW5nLWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
MCkKKysrIExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2RvbW5vZGVpbnNlcnRlZGludG9kb2N1bWVu
dC1kaXNwYXRjaGVkLXBvc3QtcmVuZGVyaW5nLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSw1IEBACitQQVNTCisKK1BBU1MKKworUEFTUwpJbmRleDogTGF5b3V0VGVzdHMvZmFz
dC9ldmVudHMvZG9tbm9kZWluc2VydGVkaW50b2RvY3VtZW50LWRpc3BhdGNoZWQtcG9zdC1yZW5k
ZXJpbmcuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9kb21ub2Rl
aW5zZXJ0ZWRpbnRvZG9jdW1lbnQtZGlzcGF0Y2hlZC1wb3N0LXJlbmRlcmluZy5odG1sCShyZXZp
c2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZG9tbm9kZWluc2VydGVkaW50b2Rv
Y3VtZW50LWRpc3BhdGNoZWQtcG9zdC1yZW5kZXJpbmcuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAs
MCArMSw2NyBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbCBjbGFzcz0iYSI+CisgPGhlYWQ+Cisg
IDx0aXRsZT5ET01Ob2RlSW5zZXJ0ZWRJbnRvRG9jdW1lbnQ6IGRpc3BhdGNoIGFmdGVyIGFwcGVu
ZGluZyB0byB0aGUgcmVuZGVyIHRyZWU8L3RpdGxlPgorICA8c3R5bGUgdHlwZT0idGV4dC9jc3Mi
PgorCisgICAgLmFwcGVuZGVkIHsKKyAgICAgIHdpZHRoOiAxMDBweDsKKyAgICB9CisKKyAgICAu
aW5zZXJ0ZWQgeworICAgICAgd2lkdGg6IDIwMHB4OworICAgIH0KKworICAgIC5yZXBsYWNlZCB7
CisgICAgICB3aWR0aDogMzAwcHg7CisgICAgfQorCisgIDwvc3R5bGU+CisgPC9oZWFkPgorIDxi
b2R5PgorICA8cCBpZD0ib3JpZ2luYWwtbWVzc2FnZSI+RkFJTCAoc2NyaXB0IGRpZCBub3QgcnVu
KTwvcD4KKyAgPHNjcmlwdD4KKworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIp
CisgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisKKyAgICB2YXIgYm9k
eSA9IGRvY3VtZW50LmJvZHk7CisgICAgdmFyIGV4cGVjdGVkX3Jlc3VsdCA9ICcyMDBweCc7CisK
KyAgICBmdW5jdGlvbiBsb2cgKG1zZykgeworICAgICAgdmFyIG9yaWdpbmFsX21lc3NhZ2UgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgnb3JpZ2luYWwtbWVzc2FnZScpOworICAgICAgaWYgKG9y
aWdpbmFsX21lc3NhZ2UpIHsKKyAgICAgICAgYm9keS5yZW1vdmVDaGlsZChvcmlnaW5hbF9tZXNz
YWdlKTsKKyAgICAgIH0KKyAgICAgIGJvZHkuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgncCcpKS50ZXh0Q29udGVudCA9IG1zZzsKKyAgICB9OworCisgICAgZnVuY3Rpb24gdGVz
dCAoZWxlbWVudCwgZXhwZWN0ZWRfd2lkdGgsIG1ldGhvZE5hbWUpIHsKKyAgICAgIHZhciB3aWR0
aCA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQsIG51bGwpLndpZHRoOworICAgICAg
bG9nKCh3aWR0aCA9PSBleHBlY3RlZF93aWR0aCkgPyAnUEFTUycgOiAnRkFJTDogZ290IHdpZHRo
ID0gIicgKyB3aWR0aCArICciIGZvciBlbGVtZW50IGFkZGVkIHRvIHRoZSB0cmVlIHdpdGggJyAr
IG1ldGhvZE5hbWUgKyAnKCknKTsKKyAgICB9OworCisgICAgdmFyIGFwcGVuZGVkX2VsZW1lbnQg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKyAgICBhcHBlbmRlZF9lbGVtZW50LmNs
YXNzTmFtZSA9ICdhcHBlbmRlZCc7CisgICAgYXBwZW5kZWRfZWxlbWVudC5hZGRFdmVudExpc3Rl
bmVyKCdET01Ob2RlSW5zZXJ0ZWRJbnRvRG9jdW1lbnQnLCBmdW5jdGlvbiAoZXZlbnQpIHsKKyAg
ICAgIHRlc3QoYXBwZW5kZWRfZWxlbWVudCwgJzEwMHB4JywgJ2FwcGVuZENoaWxkJyk7CisgICAg
fSwgZmFsc2UpOworICAgIGJvZHkuYXBwZW5kQ2hpbGQoYXBwZW5kZWRfZWxlbWVudCk7CisKKyAg
ICB2YXIgaW5zZXJ0ZWRfZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwor
ICAgIGluc2VydGVkX2VsZW1lbnQuY2xhc3NOYW1lID0gJ2luc2VydGVkJzsKKyAgICBpbnNlcnRl
ZF9lbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ0RPTU5vZGVJbnNlcnRlZEludG9Eb2N1bWVudCcs
IGZ1bmN0aW9uIChldmVudCkgeworICAgICAgdGVzdChpbnNlcnRlZF9lbGVtZW50LCAnMjAwcHgn
LCAnaW5zZXJ0QmVmb3JlJyk7CisgICAgfSwgZmFsc2UpOworICAgIGJvZHkuaW5zZXJ0QmVmb3Jl
KGluc2VydGVkX2VsZW1lbnQsIGFwcGVuZGVkX2VsZW1lbnQpOworCisgICAgdmFyIHJlcGxhY2Vk
X2VsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKyAgICByZXBsYWNlZF9l
bGVtZW50LmNsYXNzTmFtZSA9ICdyZXBsYWNlZCc7CisgICAgcmVwbGFjZWRfZWxlbWVudC5hZGRF
dmVudExpc3RlbmVyKCdET01Ob2RlSW5zZXJ0ZWRJbnRvRG9jdW1lbnQnLCBmdW5jdGlvbiAoZXZl
bnQpIHsKKyAgICAgIHRlc3QocmVwbGFjZWRfZWxlbWVudCwgJzMwMHB4JywgJ3JlcGxhY2VDaGls
ZCcpOworICAgIH0sIGZhbHNlKTsKKyAgICBib2R5LnJlcGxhY2VDaGlsZChyZXBsYWNlZF9lbGVt
ZW50LCBpbnNlcnRlZF9lbGVtZW50KTsKKworICA8L3NjcmlwdD4KKyA8L2JvZHk+Cis8L2h0bWw+
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>50029</attachid>
            <date>2010-03-04 09:26:56 -0800</date>
            <delta_ts>2010-03-04 10:17:31 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-35590-20100304182654.patch</filename>
            <type>text/plain</type>
            <size>8469</size>
            <attacher name="Antoine Quint">ml</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1NTUyOCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjUgQEAKKzIwMTAtMDMtMDQgIEFudG9pbmUgUXVpbnQgIDxtbEBncmFvdWdyYW91
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBE
T00gaW5zZXJ0aW9uIG11dGF0aW9uIGV2ZW50cyBzaG91bGQgZGlzcGF0Y2ggYWZ0ZXIgYSBub2Rl
IGlzIGF0dGFjaGVkIHRvIHRoZSByZW5kZXIgdHJlZQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzU1OTAKKworICAgICAgICBUZXN0OiBmYXN0L2V2ZW50
cy9kb21ub2RlaW5zZXJ0ZWRpbnRvZG9jdW1lbnQtZGlzcGF0Y2hlZC1wb3N0LXJlbmRlcmluZy5o
dG1sCisKKyAgICAgICAgU3BsaXQgb2ZmIHRoZSBpbnRlcm5hbC10by1XZWJDb3JlIG5vZGUgaW5z
ZXJ0aW9uIG5vdGlmaWNhdGlvbiBjb2RlIGZyb20gdGhlIERPTSBtdXRhdGlvbgorICAgICAgICBl
dmVudCBkaXNwYXRjaGluZywgb3JpZ2luYWxseSBpbiBkaXNwYXRjaENoaWxkSW5zZXJ0aW9uRXZl
bnRzKCksIHRvIGEgbmV3IHN0YXRpYyBmdW5jdGlvbgorICAgICAgICBjYWxsZWQgbm90aWZ5Q2hp
bGRJbnNlcnRlZCgpLiBUaGlzIGFsbG93cyB1cyB0byBkaXNwYXRjaCB0aGUgbXV0YXRpb24gZXZl
bnRzIGF0IGEgbGF0ZXIKKyAgICAgICAgdGltZSB1cG9uIGluc2VydGlvbiBvZiBhIGNoaWxkIGlu
dG8gdG8gdGhlIHRyZWUsIHNwZWNpZmljYWxseSBfYWZ0ZXJfIGF0dGFjaG1lbnQgdG8gdGhlIHJl
bmRlcgorICAgICAgICB0cmVlLgorCisgICAgICAgICogZG9tL0NvbnRhaW5lck5vZGUuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Q29udGFpbmVyTm9kZTo6aW5zZXJ0QmVmb3JlKToKKyAgICAgICAg
KFdlYkNvcmU6OkNvbnRhaW5lck5vZGU6OnJlcGxhY2VDaGlsZCk6CisgICAgICAgIChXZWJDb3Jl
OjpDb250YWluZXJOb2RlOjphcHBlbmRDaGlsZCk6CisgICAgICAgIChXZWJDb3JlOjpub3RpZnlD
aGlsZEluc2VydGVkKToKKyAgICAgICAgKFdlYkNvcmU6OmRpc3BhdGNoQ2hpbGRJbnNlcnRpb25F
dmVudHMpOgorCiAyMDEwLTAzLTA0ICBMYXN6bG8gR29tYm9zICA8bGFzemxvLjEuZ29tYm9zQG5v
a2lhLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkIGJ1aWxkIGZpeC4KSW5kZXg6IFdlYkNvcmUv
ZG9tL0NvbnRhaW5lck5vZGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL0NvbnRhaW5l
ck5vZGUuY3BwCShyZXZpc2lvbiA1NTUyNykKKysrIFdlYkNvcmUvZG9tL0NvbnRhaW5lck5vZGUu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Myw2ICs0Myw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAorc3RhdGljIHZvaWQgbm90aWZ5Q2hpbGRJbnNlcnRlZChOb2RlKik7CiBzdGF0aWMgdm9p
ZCBkaXNwYXRjaENoaWxkSW5zZXJ0aW9uRXZlbnRzKE5vZGUqKTsKIHN0YXRpYyB2b2lkIGRpc3Bh
dGNoQ2hpbGRSZW1vdmFsRXZlbnRzKE5vZGUqKTsKIApAQCAtMTQ0LDkgKzE0NSw5IEBAIGJvb2wg
Q29udGFpbmVyTm9kZTo6aW5zZXJ0QmVmb3JlKFBhc3NSZWYKICAgICAgICAgY2hpbGQtPnNldE5l
eHRTaWJsaW5nKG5leHQuZ2V0KCkpOwogICAgICAgICBhbGxvd0V2ZW50RGlzcGF0Y2goKTsKIAot
ICAgICAgICAvLyBEaXNwYXRjaCB0aGUgbXV0YXRpb24gZXZlbnRzLgorICAgICAgICAvLyBTZW5k
IG5vdGlmaWNhdGlvbiBhYm91dCB0aGUgY2hpbGRyZW4gY2hhbmdlLgogICAgICAgICBjaGlsZHJl
bkNoYW5nZWQoZmFsc2UsIHJlZkNoaWxkUHJldmlvdXNTaWJsaW5nLmdldCgpLCBuZXh0LmdldCgp
LCAxKTsKLSAgICAgICAgZGlzcGF0Y2hDaGlsZEluc2VydGlvbkV2ZW50cyhjaGlsZC5nZXQoKSk7
CisgICAgICAgIG5vdGlmeUNoaWxkSW5zZXJ0ZWQoY2hpbGQuZ2V0KCkpOwogICAgICAgICAgICAg
ICAgIAogICAgICAgICAvLyBBZGQgY2hpbGQgdG8gdGhlIHJlbmRlcmluZyB0cmVlLgogICAgICAg
ICBpZiAoYXR0YWNoZWQoKSAmJiAhY2hpbGQtPmF0dGFjaGVkKCkgJiYgY2hpbGQtPnBhcmVudCgp
ID09IHRoaXMpIHsKQEAgLTE1Niw2ICsxNTcsMTAgQEAgYm9vbCBDb250YWluZXJOb2RlOjppbnNl
cnRCZWZvcmUoUGFzc1JlZgogICAgICAgICAgICAgICAgIGNoaWxkLT5hdHRhY2goKTsKICAgICAg
ICAgfQogCisgICAgICAgIC8vIE5vdyB0aGF0IHRoZSBjaGlsZCBpcyBhdHRhY2hlZCB0byB0aGUg
cmVuZGVyIHRyZWUsIGRpc3BhdGNoCisgICAgICAgIC8vIHRoZSByZWxldmFudCBtdXRhdGlvbiBl
dmVudHMuCisgICAgICAgIGRpc3BhdGNoQ2hpbGRJbnNlcnRpb25FdmVudHMoY2hpbGQuZ2V0KCkp
OworCiAgICAgICAgIGNoaWxkID0gbmV4dENoaWxkLnJlbGVhc2UoKTsKICAgICB9CiAKQEAgLTI1
Niw4ICsyNjEsNyBAQCBib29sIENvbnRhaW5lck5vZGU6OnJlcGxhY2VDaGlsZChQYXNzUmVmCiAg
ICAgICAgIGNoaWxkLT5zZXROZXh0U2libGluZyhuZXh0KTsKICAgICAgICAgYWxsb3dFdmVudERp
c3BhdGNoKCk7CiAKLSAgICAgICAgLy8gRGlzcGF0Y2ggdGhlIG11dGF0aW9uIGV2ZW50cwotICAg
ICAgICBkaXNwYXRjaENoaWxkSW5zZXJ0aW9uRXZlbnRzKGNoaWxkLmdldCgpKTsKKyAgICAgICAg
bm90aWZ5Q2hpbGRJbnNlcnRlZChjaGlsZC5nZXQoKSk7CiAgICAgICAgICAgICAgICAgCiAgICAg
ICAgIC8vIEFkZCBjaGlsZCB0byB0aGUgcmVuZGVyaW5nIHRyZWUKICAgICAgICAgaWYgKGF0dGFj
aGVkKCkgJiYgIWNoaWxkLT5hdHRhY2hlZCgpICYmIGNoaWxkLT5wYXJlbnQoKSA9PSB0aGlzKSB7
CkBAIC0yNjcsNiArMjcxLDEwIEBAIGJvb2wgQ29udGFpbmVyTm9kZTo6cmVwbGFjZUNoaWxkKFBh
c3NSZWYKICAgICAgICAgICAgICAgICBjaGlsZC0+YXR0YWNoKCk7CiAgICAgICAgIH0KIAorICAg
ICAgICAvLyBOb3cgdGhhdCB0aGUgY2hpbGQgaXMgYXR0YWNoZWQgdG8gdGhlIHJlbmRlciB0cmVl
LCBkaXNwYXRjaAorICAgICAgICAvLyB0aGUgcmVsZXZhbnQgbXV0YXRpb24gZXZlbnRzLgorICAg
ICAgICBkaXNwYXRjaENoaWxkSW5zZXJ0aW9uRXZlbnRzKGNoaWxkLmdldCgpKTsKKwogICAgICAg
ICBwcmV2ID0gY2hpbGQ7CiAgICAgICAgIGNoaWxkID0gbmV4dENoaWxkLnJlbGVhc2UoKTsKICAg
ICB9CkBAIC00OTAsOSArNDk4LDkgQEAgYm9vbCBDb250YWluZXJOb2RlOjphcHBlbmRDaGlsZChQ
YXNzUmVmUAogICAgICAgICBtX2xhc3RDaGlsZCA9IGNoaWxkLmdldCgpOwogICAgICAgICBhbGxv
d0V2ZW50RGlzcGF0Y2goKTsKIAotICAgICAgICAvLyBEaXNwYXRjaCB0aGUgbXV0YXRpb24gZXZl
bnRzCisgICAgICAgIC8vIFNlbmQgbm90aWZpY2F0aW9uIGFib3V0IHRoZSBjaGlsZHJlbiBjaGFu
Z2UuCiAgICAgICAgIGNoaWxkcmVuQ2hhbmdlZChmYWxzZSwgcHJldi5nZXQoKSwgMCwgMSk7Ci0g
ICAgICAgIGRpc3BhdGNoQ2hpbGRJbnNlcnRpb25FdmVudHMoY2hpbGQuZ2V0KCkpOworICAgICAg
ICBub3RpZnlDaGlsZEluc2VydGVkKGNoaWxkLmdldCgpKTsKIAogICAgICAgICAvLyBBZGQgY2hp
bGQgdG8gdGhlIHJlbmRlcmluZyB0cmVlCiAgICAgICAgIGlmIChhdHRhY2hlZCgpICYmICFjaGls
ZC0+YXR0YWNoZWQoKSAmJiBjaGlsZC0+cGFyZW50KCkgPT0gdGhpcykgewpAQCAtNTAxLDYgKzUw
OSwxMCBAQCBib29sIENvbnRhaW5lck5vZGU6OmFwcGVuZENoaWxkKFBhc3NSZWZQCiAgICAgICAg
ICAgICBlbHNlCiAgICAgICAgICAgICAgICAgY2hpbGQtPmF0dGFjaCgpOwogICAgICAgICB9CisK
KyAgICAgICAgLy8gTm93IHRoYXQgdGhlIGNoaWxkIGlzIGF0dGFjaGVkIHRvIHRoZSByZW5kZXIg
dHJlZSwgZGlzcGF0Y2gKKyAgICAgICAgLy8gdGhlIHJlbGV2YW50IG11dGF0aW9uIGV2ZW50cy4K
KyAgICAgICAgZGlzcGF0Y2hDaGlsZEluc2VydGlvbkV2ZW50cyhjaGlsZC5nZXQoKSk7CiAgICAg
ICAgIAogICAgICAgICBjaGlsZCA9IG5leHRDaGlsZC5yZWxlYXNlKCk7CiAgICAgfQpAQCAtODc2
LDcgKzg4OCw3IEBAIE5vZGUgKkNvbnRhaW5lck5vZGU6OmNoaWxkTm9kZSh1bnNpZ25lZCAKICAg
ICByZXR1cm4gbjsKIH0KIAotc3RhdGljIHZvaWQgZGlzcGF0Y2hDaGlsZEluc2VydGlvbkV2ZW50
cyhOb2RlKiBjaGlsZCkKK3N0YXRpYyB2b2lkIG5vdGlmeUNoaWxkSW5zZXJ0ZWQoTm9kZSogY2hp
bGQpCiB7CiAgICAgQVNTRVJUKCFldmVudERpc3BhdGNoRm9yYmlkZGVuKCkpOwogCkBAIC04OTYs
NiArOTA4LDE0IEBAIHN0YXRpYyB2b2lkIGRpc3BhdGNoQ2hpbGRJbnNlcnRpb25FdmVudHMKICAg
ICAgICAgYy0+aW5zZXJ0ZWRJbnRvVHJlZSh0cnVlKTsKIAogICAgIGRvY3VtZW50LT5pbmNET01U
cmVlVmVyc2lvbigpOworfQorCitzdGF0aWMgdm9pZCBkaXNwYXRjaENoaWxkSW5zZXJ0aW9uRXZl
bnRzKE5vZGUqIGNoaWxkKQoreworICAgIEFTU0VSVCghZXZlbnREaXNwYXRjaEZvcmJpZGRlbigp
KTsKKworICAgIFJlZlB0cjxOb2RlPiBjID0gY2hpbGQ7CisgICAgUmVmUHRyPERvY3VtZW50PiBk
b2N1bWVudCA9IGNoaWxkLT5kb2N1bWVudCgpOwogCiAgICAgaWYgKGMtPnBhcmVudE5vZGUoKSAm
JiBkb2N1bWVudC0+aGFzTGlzdGVuZXJUeXBlKERvY3VtZW50OjpET01OT0RFSU5TRVJURURfTElT
VEVORVIpKQogICAgICAgICBjLT5kaXNwYXRjaEV2ZW50KE11dGF0aW9uRXZlbnQ6OmNyZWF0ZShl
dmVudE5hbWVzKCkuRE9NTm9kZUluc2VydGVkRXZlbnQsIHRydWUsIGMtPnBhcmVudE5vZGUoKSkp
OwpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L0NoYW5nZUxvZwkocmV2aXNpb24gNTU1MjgpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdv
cmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAxMC0wMy0wNCAgQW50b2luZSBRdWludCAg
PG1sQGdyYW91Z3Jhb3UuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIERPTSBpbnNlcnRpb24gbXV0YXRpb24gZXZlbnRzIHNob3VsZCBkaXNwYXRj
aCBhZnRlciBhIG5vZGUgaXMgYXR0YWNoZWQgdG8gdGhlIHJlbmRlciB0cmVlCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNTU5MAorCisgICAgICAgICog
ZmFzdC9ldmVudHMvZG9tbm9kZWluc2VydGVkaW50b2RvY3VtZW50LWRpc3BhdGNoZWQtcG9zdC1y
ZW5kZXJpbmctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9kb21u
b2RlaW5zZXJ0ZWRpbnRvZG9jdW1lbnQtZGlzcGF0Y2hlZC1wb3N0LXJlbmRlcmluZy5odG1sOiBB
ZGRlZC4KKwogMjAxMC0wMy0wNCAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3ZWJraXQub3Jn
PgogCiAgICAgICAgIFVucmV2aWV3ZWQuCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9k
b21ub2RlaW5zZXJ0ZWRpbnRvZG9jdW1lbnQtZGlzcGF0Y2hlZC1wb3N0LXJlbmRlcmluZy1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZG9tbm9kZWlu
c2VydGVkaW50b2RvY3VtZW50LWRpc3BhdGNoZWQtcG9zdC1yZW5kZXJpbmctZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZG9tbm9kZWluc2VydGVk
aW50b2RvY3VtZW50LWRpc3BhdGNoZWQtcG9zdC1yZW5kZXJpbmctZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiAwKQpAQCAtMCwwICsxLDUgQEAKK1BBU1MKKworUEFTUworCitQQVNTCkluZGV4OiBMYXlv
dXRUZXN0cy9mYXN0L2V2ZW50cy9kb21ub2RlaW5zZXJ0ZWRpbnRvZG9jdW1lbnQtZGlzcGF0Y2hl
ZC1wb3N0LXJlbmRlcmluZy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZXZl
bnRzL2RvbW5vZGVpbnNlcnRlZGludG9kb2N1bWVudC1kaXNwYXRjaGVkLXBvc3QtcmVuZGVyaW5n
Lmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9kb21ub2RlaW5z
ZXJ0ZWRpbnRvZG9jdW1lbnQtZGlzcGF0Y2hlZC1wb3N0LXJlbmRlcmluZy5odG1sCShyZXZpc2lv
biAwKQpAQCAtMCwwICsxLDY2IEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sIGNsYXNzPSJhIj4K
KyA8aGVhZD4KKyAgPHRpdGxlPkRPTU5vZGVJbnNlcnRlZEludG9Eb2N1bWVudDogZGlzcGF0Y2gg
YWZ0ZXIgYXBwZW5kaW5nIHRvIHRoZSByZW5kZXIgdHJlZTwvdGl0bGU+CisgIDxzdHlsZSB0eXBl
PSJ0ZXh0L2NzcyI+CisKKyAgICAuYXBwZW5kZWQgeworICAgICAgd2lkdGg6IDEwMHB4OworICAg
IH0KKworICAgIC5pbnNlcnRlZCB7CisgICAgICB3aWR0aDogMjAwcHg7CisgICAgfQorCisgICAg
LnJlcGxhY2VkIHsKKyAgICAgIHdpZHRoOiAzMDBweDsKKyAgICB9CisKKyAgPC9zdHlsZT4KKyA8
L2hlYWQ+CisgPGJvZHk+CisgIDxwIGlkPSJvcmlnaW5hbC1tZXNzYWdlIj5GQUlMIChzY3JpcHQg
ZGlkIG5vdCBydW4pPC9wPgorICA8c2NyaXB0PgorCisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0
Q29udHJvbGxlcikKKyAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKwor
ICAgIHZhciBib2R5ID0gZG9jdW1lbnQuYm9keTsKKworICAgIGZ1bmN0aW9uIGxvZyAobXNnKSB7
CisgICAgICB2YXIgb3JpZ2luYWxfbWVzc2FnZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdv
cmlnaW5hbC1tZXNzYWdlJyk7CisgICAgICBpZiAob3JpZ2luYWxfbWVzc2FnZSkgeworICAgICAg
ICBib2R5LnJlbW92ZUNoaWxkKG9yaWdpbmFsX21lc3NhZ2UpOworICAgICAgfQorICAgICAgYm9k
eS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdwJykpLnRleHRDb250ZW50ID0g
bXNnOworICAgIH07CisKKyAgICBmdW5jdGlvbiB0ZXN0IChlbGVtZW50LCBleHBlY3RlZF93aWR0
aCwgbWV0aG9kTmFtZSkgeworICAgICAgdmFyIHdpZHRoID0gd2luZG93LmdldENvbXB1dGVkU3R5
bGUoZWxlbWVudCwgbnVsbCkud2lkdGg7CisgICAgICBsb2coKHdpZHRoID09IGV4cGVjdGVkX3dp
ZHRoKSA/ICdQQVNTJyA6ICdGQUlMOiBnb3Qgd2lkdGggPSAiJyArIHdpZHRoICsgJyIgZm9yIGVs
ZW1lbnQgYWRkZWQgdG8gdGhlIHRyZWUgd2l0aCAnICsgbWV0aG9kTmFtZSArICcoKScpOworICAg
IH07CisKKyAgICB2YXIgYXBwZW5kZWRfZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
J2RpdicpOworICAgIGFwcGVuZGVkX2VsZW1lbnQuY2xhc3NOYW1lID0gJ2FwcGVuZGVkJzsKKyAg
ICBhcHBlbmRlZF9lbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ0RPTU5vZGVJbnNlcnRlZEludG9E
b2N1bWVudCcsIGZ1bmN0aW9uIChldmVudCkgeworICAgICAgdGVzdChhcHBlbmRlZF9lbGVtZW50
LCAnMTAwcHgnLCAnYXBwZW5kQ2hpbGQnKTsKKyAgICB9LCBmYWxzZSk7CisgICAgYm9keS5hcHBl
bmRDaGlsZChhcHBlbmRlZF9lbGVtZW50KTsKKworICAgIHZhciBpbnNlcnRlZF9lbGVtZW50ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisgICAgaW5zZXJ0ZWRfZWxlbWVudC5jbGFz
c05hbWUgPSAnaW5zZXJ0ZWQnOworICAgIGluc2VydGVkX2VsZW1lbnQuYWRkRXZlbnRMaXN0ZW5l
cignRE9NTm9kZUluc2VydGVkSW50b0RvY3VtZW50JywgZnVuY3Rpb24gKGV2ZW50KSB7CisgICAg
ICB0ZXN0KGluc2VydGVkX2VsZW1lbnQsICcyMDBweCcsICdpbnNlcnRCZWZvcmUnKTsKKyAgICB9
LCBmYWxzZSk7CisgICAgYm9keS5pbnNlcnRCZWZvcmUoaW5zZXJ0ZWRfZWxlbWVudCwgYXBwZW5k
ZWRfZWxlbWVudCk7CisKKyAgICB2YXIgcmVwbGFjZWRfZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoJ2RpdicpOworICAgIHJlcGxhY2VkX2VsZW1lbnQuY2xhc3NOYW1lID0gJ3JlcGxh
Y2VkJzsKKyAgICByZXBsYWNlZF9lbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ0RPTU5vZGVJbnNl
cnRlZEludG9Eb2N1bWVudCcsIGZ1bmN0aW9uIChldmVudCkgeworICAgICAgdGVzdChyZXBsYWNl
ZF9lbGVtZW50LCAnMzAwcHgnLCAncmVwbGFjZUNoaWxkJyk7CisgICAgfSwgZmFsc2UpOworICAg
IGJvZHkucmVwbGFjZUNoaWxkKHJlcGxhY2VkX2VsZW1lbnQsIGluc2VydGVkX2VsZW1lbnQpOwor
CisgIDwvc2NyaXB0PgorIDwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>