<?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>86958</bug_id>
          
          <creation_ts>2012-05-20 01:10:04 -0700</creation_ts>
          <short_desc>[WebSocket] WebSocket object should fire a simple event named error when it is required to fail the websocket connection.</short_desc>
          <delta_ts>2012-05-22 03:51:30 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Li Yin">li.yin</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ap</cc>
    
    <cc>bashi</cc>
    
    <cc>tkent</cc>
    
    <cc>toyoshim</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yutak</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>628557</commentid>
    <comment_count>0</comment_count>
    <who name="Li Yin">li.yin</who>
    <bug_when>2012-05-20 01:10:04 -0700</bug_when>
    <thetext>Spec:http://dev.w3.org/html5/websockets/#feedback-from-the-protocol
If the user agent was required to fail the websocket connection or the WebSocket connection is closed with prejudice, fire a simple event named error at the WebSocket object.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>628579</commentid>
    <comment_count>1</comment_count>
      <attachid>142903</attachid>
    <who name="Li Yin">li.yin</who>
    <bug_when>2012-05-20 06:56:05 -0700</bug_when>
    <thetext>Created attachment 142903
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>629078</commentid>
    <comment_count>2</comment_count>
    <who name="Takashi Toyoshima">toyoshim</who>
    <bug_when>2012-05-21 07:28:44 -0700</bug_when>
    <thetext>Hi Li,
Thank you for sending a patch.
Actually, this is a bug and should be fixed.

A filed bug in chromium side issue tracker is here.
http://code.google.com/p/chromium/issues/detail?id=128057

I think original code just missed to call WebSocketChannelClient::didReceiveMessageError() in WebSocketChannel::fail().

Yuta,
I think you write this part. Could you check this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>629936</commentid>
    <comment_count>3</comment_count>
    <who name="Yuta Kitamura">yutak</who>
    <bug_when>2012-05-21 22:37:00 -0700</bug_when>
    <thetext>Seems like the spec changed at http://html5.org/tools/web-apps-tracker?from=6376&amp;to=6377
(see also https://www.w3.org/Bugs/Public/show_bug.cgi?id=13294)

As Takashi said, I think you just need to call didReceiveMessageError() in fail(). You don&apos;t have to add a new function to WebSocketChannelClient.

You probably need to have a line like &quot;RefPtr&lt;WebSocketChannel&gt; protect;&quot; before calling didReceiveMessageError(), otherwise this function may cause the channel to get removed (because users may do &quot;ws.close()&quot; in onerror handler).

Also, you might need to change the definition of didReceiveMessageError() to let it fire the event when the state is not OPEN or CLOSING. This is old code based on the old API spec, and I guess this restriction is leftover from the old age.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>629940</commentid>
    <comment_count>4</comment_count>
      <attachid>142903</attachid>
    <who name="Yuta Kitamura">yutak</who>
    <bug_when>2012-05-21 22:44:22 -0700</bug_when>
    <thetext>Comment on attachment 142903
Patch

r- because adding a new callback fireErrorEvent() is clearly unacceptable. fireErrorEvent() doesn&apos;t work properly in Web Workers, as the definition for workers isn&apos;t provided.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>630026</commentid>
    <comment_count>5</comment_count>
    <who name="Li Yin">li.yin</who>
    <bug_when>2012-05-22 00:19:25 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Seems like the spec changed at http://html5.org/tools/web-apps-tracker?from=6376&amp;to=6377
&gt; (see also https://www.w3.org/Bugs/Public/show_bug.cgi?id=13294)
&gt; 
&gt; As Takashi said, I think you just need to call didReceiveMessageError() in fail(). You don&apos;t have to add a new function to WebSocketChannelClient.
&gt; 
&gt; You probably need to have a line like &quot;RefPtr&lt;WebSocketChannel&gt; protect;&quot; before calling didReceiveMessageError(), otherwise this function may cause the channel to get removed (because users may do &quot;ws.close()&quot; in onerror handler).
&gt; 
&gt; Also, you might need to change the definition of didReceiveMessageError() to let it fire the event when the state is not OPEN or CLOSING. This is old code based on the old API spec, and I guess this restriction is leftover from the old age.

Thanks for your review and good solution, I have updated the patch, please review it again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>630029</commentid>
    <comment_count>6</comment_count>
      <attachid>143210</attachid>
    <who name="Li Yin">li.yin</who>
    <bug_when>2012-05-22 00:21:23 -0700</bug_when>
    <thetext>Created attachment 143210
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>630048</commentid>
    <comment_count>7</comment_count>
      <attachid>143210</attachid>
    <who name="Yuta Kitamura">yutak</who>
    <bug_when>2012-05-22 00:41:45 -0700</bug_when>
    <thetext>Comment on attachment 143210
Patch

Looks fine. Please wait for comments from a reviewer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>630189</commentid>
    <comment_count>8</comment_count>
      <attachid>143210</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-22 03:51:26 -0700</bug_when>
    <thetext>Comment on attachment 143210
Patch

Clearing flags on attachment: 143210

Committed r117944: &lt;http://trac.webkit.org/changeset/117944&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>630190</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-22 03:51:30 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>142903</attachid>
            <date>2012-05-20 06:56:05 -0700</date>
            <delta_ts>2012-05-22 00:21:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-86958-20120521215925.patch</filename>
            <type>text/plain</type>
            <size>7141</size>
            <attacher name="Li Yin">li.yin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE3NTMwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWVlM2U0ZjQzNzQyMTJl
MzYxM2JkNzAxMTUyYTNjNGYyYTcxYjFkMC4uN2RmYTMyYjRiMDkyMWJmMzRiOTkxZDBiZGM4NjNi
ZDRmYWI3YTM4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEyLTA1LTIxICBMaSBZ
aW4gIDxsaS55aW5AaW50ZWwuY29tPgorCisgICAgICAgIFtXZWJTb2NrZXRdIFdlYlNvY2tldCBv
YmplY3Qgc2hvdWxkIGZpcmUgYSBzaW1wbGUgZXZlbnQgbmFtZWQgZXJyb3Igd2hlbiBpdCBpcyBy
ZXF1aXJlZCB0byBmYWlsIHRoZSB3ZWJzb2NrZXQgY29ubmVjdGlvbi4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg2OTU4CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU3BlYzpodHRwOi8vZGV2LnczLm9yZy9o
dG1sNS93ZWJzb2NrZXRzLyNmZWVkYmFjay1mcm9tLXRoZS1wcm90b2NvbAorICAgICAgICBJZiB0
aGUgdXNlciBhZ2VudCB3YXMgcmVxdWlyZWQgdG8gZmFpbCB0aGUgd2Vic29ja2V0IGNvbm5lY3Rp
b24gb3IgCisgICAgICAgIHRoZSBXZWJTb2NrZXQgY29ubmVjdGlvbiBpcyBjbG9zZWQgd2l0aCBw
cmVqdWRpY2UsIGZpcmUgYSBzaW1wbGUgZXZlbnQgCisgICAgICAgIG5hbWVkIGVycm9yIGF0IHRo
ZSBXZWJTb2NrZXQgb2JqZWN0LgorCisgICAgICAgIFRlc3Q6IGh0dHAvdGVzdHMvd2Vic29ja2V0
L3Rlc3RzL2h5YmkvY2xvc2UuaHRtbAorCisgICAgICAgICogTW9kdWxlcy93ZWJzb2NrZXRzL1dl
YlNvY2tldC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJTb2NrZXQ6OmZpcmVFcnJvckV2ZW50
KToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIE1vZHVsZXMvd2Vic29ja2V0cy9XZWJT
b2NrZXQuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJTb2NrZXRDaGFubmVsOjpmYWlsKToKKyAgICAgICAg
KiBNb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbENsaWVudC5oOgorICAgICAgICAo
V2ViQ29yZTo6V2ViU29ja2V0Q2hhbm5lbENsaWVudDo6ZmlyZUVycm9yRXZlbnQpOgorCiAyMDEy
LTA1LTE3ICBBbWkgRmlzY2htYW4gIDxmaXNjaG1hbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
W0Nocm9taXVtXSBTdG9yZSBIVFRQIHZlcnNpb24gaW4gV2ViVVJMUmVzcG9uc2UKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXQuY3BwIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldC5jcHAKaW5kZXggOTJmMWYy
NmJhNTU1NjVkOGEzZmFmYjIwZWMyNjY2YjlhMzljYTg4My4uMzM2OWNkOWM5ZDA0ZTk5Y2E4MmZk
ODE4ZjNmMDg2MGJkNzM0NzdhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJzb2NrZXRzL1dlYlNvY2tldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJz
b2NrZXRzL1dlYlNvY2tldC5jcHAKQEAgLTU3MCw2ICs1NzAsMTEgQEAgdm9pZCBXZWJTb2NrZXQ6
OmRpZENsb3NlKHVuc2lnbmVkIGxvbmcgdW5oYW5kbGVkQnVmZmVyZWRBbW91bnQsIENsb3NpbmdI
YW5kc2hha2UKICAgICAgICAgQWN0aXZlRE9NT2JqZWN0Ojp1bnNldFBlbmRpbmdBY3Rpdml0eSh0
aGlzKTsKIH0KIAordm9pZCBXZWJTb2NrZXQ6OmZpcmVFcnJvckV2ZW50KCkKK3sKKyAgICBkaXNw
YXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmVycm9yRXZlbnQsIGZhbHNlLCBm
YWxzZSkpOworfQorCiBFdmVudFRhcmdldERhdGEqIFdlYlNvY2tldDo6ZXZlbnRUYXJnZXREYXRh
KCkKIHsKICAgICByZXR1cm4gJm1fZXZlbnRUYXJnZXREYXRhOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldC5oIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldC5oCmluZGV4IGYyNWM1NWMzODY1NzA4NGVhNTc5
MDkwMjAzZGViYWQzODQ4MmE1YWMuLmVkYTM1MWNlN2I1YWU1YTQzYmYxNWZkYjgxZGRiZWRmZTY4
MmYwMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJT
b2NrZXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0
LmgKQEAgLTExMSw2ICsxMTEsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRpZFVwZGF0
ZUJ1ZmZlcmVkQW1vdW50KHVuc2lnbmVkIGxvbmcgYnVmZmVyZWRBbW91bnQpIE9WRVJSSURFOwog
ICAgIHZpcnR1YWwgdm9pZCBkaWRTdGFydENsb3NpbmdIYW5kc2hha2UoKSBPVkVSUklERTsKICAg
ICB2aXJ0dWFsIHZvaWQgZGlkQ2xvc2UodW5zaWduZWQgbG9uZyB1bmhhbmRsZWRCdWZmZXJlZEFt
b3VudCwgQ2xvc2luZ0hhbmRzaGFrZUNvbXBsZXRpb25TdGF0dXMsIHVuc2lnbmVkIHNob3J0IGNv
ZGUsIGNvbnN0IFN0cmluZyYgcmVhc29uKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQgZmly
ZUVycm9yRXZlbnQoKSBPVkVSUklERTsKIAogcHJpdmF0ZToKICAgICBXZWJTb2NrZXQoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3BwCmluZGV4IDYyMzFmNjg4ODgxNGY4ODE0ZmUy
MzAxMmJhYTZkNWRmYzllNzdkNDEuLjdmOWQ4YjJiYTViOWYyMmFiYjFlZGNiNWNjODMzYTU5YzBi
Zjg3MmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJT
b2NrZXRDaGFubmVsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMv
V2ViU29ja2V0Q2hhbm5lbC5jcHAKQEAgLTIyNiw2ICsyMjYsNyBAQCB2b2lkIFdlYlNvY2tldENo
YW5uZWw6OmZhaWwoY29uc3QgU3RyaW5nJiByZWFzb24pCiAgICAgICAgIG1fZGVmbGF0ZUZyYW1l
ci5kaWRGYWlsKCk7CiAgICAgICAgIG1faGFzQ29udGludW91c0ZyYW1lID0gZmFsc2U7CiAgICAg
ICAgIG1fY29udGludW91c0ZyYW1lRGF0YS5jbGVhcigpOworICAgICAgICBtX2NsaWVudC0+Zmly
ZUVycm9yRXZlbnQoKTsKICAgICB9CiAgICAgaWYgKG1faGFuZGxlICYmICFtX2Nsb3NlZCkKICAg
ICAgICAgbV9oYW5kbGUtPmRpc2Nvbm5lY3QoKTsgLy8gV2lsbCBjYWxsIGRpZENsb3NlKCkuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hh
bm5lbENsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tl
dENoYW5uZWxDbGllbnQuaAppbmRleCAzMWQxODkyMTdmNzQ2NmFhNDc0Mzk5N2RkOTVhZjY0ODQ0
YmM1N2Q4Li4wNTQ1ZTg3YmU3NTdlZTk0MWM0YzY2ZmU5OWMwYTM0MDNhMjUwYjYzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbENs
aWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRD
aGFubmVsQ2xpZW50LmgKQEAgLTUzLDYgKzUzLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
ICAgICAgICAgQ2xvc2luZ0hhbmRzaGFrZUNvbXBsZXRlCiAgICAgICAgIH07CiAgICAgICAgIHZp
cnR1YWwgdm9pZCBkaWRDbG9zZSh1bnNpZ25lZCBsb25nIC8qIHVuaGFuZGxlZEJ1ZmZlcmVkQW1v
dW50ICovLCBDbG9zaW5nSGFuZHNoYWtlQ29tcGxldGlvblN0YXR1cywgdW5zaWduZWQgc2hvcnQg
LyogY29kZSAqLywgY29uc3QgU3RyaW5nJiAvKiByZWFzb24gKi8pIHsgfQorICAgICAgICB2aXJ0
dWFsIHZvaWQgZmlyZUVycm9yRXZlbnQoKSB7IH0KIAogICAgIHByb3RlY3RlZDoKICAgICAgICAg
V2ViU29ja2V0Q2hhbm5lbENsaWVudCgpIHsgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDhkMzBjNTVmNjMyOGI4YTE2ODc5
NjYxNjQxMDhhMzIzMDBmZDlmMTYuLmU3Y2EwYjE0MDIxN2U0NzliYjAyNTc3OTM5NzQzYThlYTBh
ODExNTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMi0wNS0yMSAgTGkgWWluICA8bGkueWlu
QGludGVsLmNvbT4KKworICAgICAgICBbV2ViU29ja2V0XSBXZWJTb2NrZXQgb2JqZWN0IHNob3Vs
ZCBmaXJlIGEgc2ltcGxlIGV2ZW50IG5hbWVkIGVycm9yIHdoZW4gaXQgaXMgcmVxdWlyZWQgdG8g
ZmFpbCB0aGUgd2Vic29ja2V0IGNvbm5lY3Rpb24uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Njk1OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFNwZWM6aHR0cDovL2Rldi53My5vcmcvaHRtbDUvd2Vic29j
a2V0cy8jZmVlZGJhY2stZnJvbS10aGUtcHJvdG9jb2wKKyAgICAgICAgSWYgdGhlIHVzZXIgYWdl
bnQgd2FzIHJlcXVpcmVkIHRvIGZhaWwgdGhlIHdlYnNvY2tldCBjb25uZWN0aW9uIG9yIHRoZSAK
KyAgICAgICAgV2ViU29ja2V0IGNvbm5lY3Rpb24gaXMgY2xvc2VkIHdpdGggcHJlanVkaWNlLCBm
aXJlIGEgc2ltcGxlIGV2ZW50IAorICAgICAgICBuYW1lZCBlcnJvciBhdCB0aGUgV2ViU29ja2V0
IG9iamVjdC4KKworICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvY2xv
c2UtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5
YmkvY2xvc2UuaHRtbDoKKwogMjAxMi0wNS0xNyAgUGV0ZXIgS2FzdGluZyAgPHBrYXN0aW5nQGdv
b2dsZS5jb20+CiAKICAgICAgICAgW2Nocm9taXVtXSBQcnVuZSB1bm5lY2Vzc2FyeSBmYWlsdXJl
IGV4cGVjdGF0aW9ucy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29j
a2V0L3Rlc3RzL2h5YmkvY2xvc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9jbG9zZS1leHBlY3RlZC50eHQKaW5kZXggZGI5MjliMDU5
MzQ2Y2UxYjRiYTcxNDJkZDYxM2M5ZWMwMWMyYjhlMS4uMmQxZTA1ODYxNzZjZGE3ODU5NmY4MDIx
NWZjNDlmMzRhMjMzMGJjOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJz
b2NrZXQvdGVzdHMvaHliaS9jbG9zZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9jbG9zZS1leHBlY3RlZC50eHQKQEAgLTU4LDYg
KzU4LDcgQEAgSW52YWxpZCBjb2RlIHRlc3Q6IDEyCiBDb2RlIE5hTiBtdXN0IGNhdXNlIElOVkFM
SURfQUNDRVNTX0VSUi4KIFBBU1MgZXhjZXB0aW9uUHJvdG8gPT09IERPTUV4Y2VwdGlvbi5wcm90
b3R5cGUgaXMgdHJ1ZQogUEFTUyBleGNlcHRpb25OYW1lIGlzIGludmFsaWRBY2Nlc3NFcnIKK1BB
U1Mgb25lcnJvciB3YXMgY2FsbGVkLgogcnVuQ29kZVRlc3Q6IG9uY2xvc2UoKS4KIFBBU1MgY2xv
c2VFdmVudC5jb2RlIGlzIGFibm9ybWFsQ2xvc3VyZQogU2tpcCBpbnZhbGlkIHN0cmluZyB0ZXN0
LgpAQCAtNzQsNiArNzUsNyBAQCBQQVNTIHJlc3VsdCBpcyBmYWxzZQogUEFTUyBleGNlcHRpb25Q
cm90byA9PT0gRE9NRXhjZXB0aW9uLnByb3RvdHlwZSBpcyB0cnVlCiBQQVNTIGV4Y2VwdGlvbk5h
bWUgaXMgc3ludGF4RXJyCiBSZWFzb24gdGVzdDogMgorUEFTUyBvbmVycm9yIHdhcyBjYWxsZWQu
CiBydW5SZWFzb25UZXN0OiBvbmNsb3NlKCkuCiBQQVNTIGNsb3NlRXZlbnQuY29kZSBpcyBhYm5v
cm1hbENsb3N1cmUKIENvZGUgYW5kIHJlYXNvbiB0ZXN0OiAwCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2Nsb3NlLmh0bWwgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2Nsb3NlLmh0bWwKaW5kZXggY2Rm
YWI4M2E5ZTg0NDUzZmMyNmI0NzNhZGFlZTc2NzdjNTVkZWIwMy4uY2U5MzE2MmQwMjUzZGQwNTY5
OGIwYjZiZDc2MmZkNmMxZTc5YzVhNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9jbG9zZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvY2xvc2UuaHRtbApAQCAtODksNiArODksMTAgQEAg
ZnVuY3Rpb24gcnVuQ29kZVRlc3QoKQogICAgICAgICAgICAgICAgIGlmIChjbG9zZUV2ZW50LmNv
ZGUgPT0gYWJub3JtYWxDbG9zdXJlKQogICAgICAgICAgICAgICAgICAgICBydW5JbnZhbGlkU3Ry
aW5nVGVzdCgpOwogICAgICAgICAgICAgfTsKKyAgICAgICAgICAgIHdzLm9uZXJyb3IgPSBmdW5j
dGlvbigpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgib25lcnJv
ciB3YXMgY2FsbGVkLiIpOworICAgICAgICAgICAgfTsKICAgICAgICAgfQogICAgICAgICB0cnkg
ewogICAgICAgICAgICAgd3MuY2xvc2UoY29kZVRlc3RDb2Rlc1tpZF0pOwpAQCAtMTI3LDYgKzEz
MSwxMCBAQCBmdW5jdGlvbiBydW5SZWFzb25UZXN0KCkKICAgICAgICAgICAgICAgICBpZiAoY2xv
c2VFdmVudC5jb2RlID09IGFibm9ybWFsQ2xvc3VyZSkKICAgICAgICAgICAgICAgICAgICAgcnVu
Q29kZUFuZFJlYXNvblRlc3QoKTsKICAgICAgICAgICAgIH07CisgICAgICAgICAgICB3cy5vbmVy
cm9yID0gZnVuY3Rpb24oKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHRlc3RQYXNz
ZWQoIm9uZXJyb3Igd2FzIGNhbGxlZC4iKTsKKyAgICAgICAgICAgIH07CiAgICAgICAgIH0KICAg
ICAgICAgdHJ5IHsKICAgICAgICAgICAgIHdzLmNsb3NlKG5vcm1hbENsb3N1cmUsIHJlYXNvblRl
c3RSZWFzb25zW2lkXSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>143210</attachid>
            <date>2012-05-22 00:21:23 -0700</date>
            <delta_ts>2012-05-22 03:51:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-86958-20120523152446.patch</filename>
            <type>text/plain</type>
            <size>6113</size>
            <attacher name="Li Yin">li.yin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE3ODk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjgyYzI1ZjY4MGU4ODI3
ZmM3YWVlZGQxZDkwYTIwZjBmNTYzYzRhNC4uOGY0MDM0MTM5OWQzOGQ4OWRkNzVlMTU0MDA0YWMx
MDFjZWZmYTVkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTA1LTIzICBMaSBZ
aW4gIDxsaS55aW5AaW50ZWwuY29tPgorCisgICAgICAgIFtXZWJTb2NrZXRdIFdlYlNvY2tldCBv
YmplY3Qgc2hvdWxkIGZpcmUgYSBzaW1wbGUgZXZlbnQgbmFtZWQgZXJyb3Igd2hlbiBpdCBpcyBy
ZXF1aXJlZCB0byBmYWlsIHRoZSB3ZWJzb2NrZXQgY29ubmVjdGlvbi4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg2OTU4CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU3BlYzpodHRwOi8vZGV2LnczLm9yZy9o
dG1sNS93ZWJzb2NrZXRzLyNmZWVkYmFjay1mcm9tLXRoZS1wcm90b2NvbAorICAgICAgICBJZiB0
aGUgdXNlciBhZ2VudCB3YXMgcmVxdWlyZWQgdG8gZmFpbCB0aGUgd2Vic29ja2V0IGNvbm5lY3Rp
b24gb3IgdGhlIAorICAgICAgICBXZWJTb2NrZXQgY29ubmVjdGlvbiBpcyBjbG9zZWQgd2l0aCBw
cmVqdWRpY2UsIGZpcmUgYSBzaW1wbGUgZXZlbnQgCisgICAgICAgIG5hbWVkIGVycm9yIGF0IHRo
ZSBXZWJTb2NrZXQgb2JqZWN0LgorCisgICAgICAgIFRlc3RzOiBodHRwL3Rlc3RzL3dlYnNvY2tl
dC90ZXN0cy9oeWJpL2Nsb3NlLmh0bWwKKworICAgICAgICAqIE1vZHVsZXMvd2Vic29ja2V0cy9X
ZWJTb2NrZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViU29ja2V0OjpkaWRSZWNlaXZlTWVz
c2FnZUVycm9yKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5l
bC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJTb2NrZXRDaGFubmVsOjpmYWlsKToKKwogMjAx
Mi0wNS0yMSAgSGFqaW1lIE1vcnJpdGEgIDxtb3JyaXRhQGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBVbnJldmlld2VkIFF0IGJ1aWxkIGZpeCBhZ2FpbnN0IHIxMTc4OTguCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXQuY3BwCmluZGV4IDkyZjFmMjZiYTU1
NTY1ZDhhM2ZhZmIyMGVjMjY2NmI5YTM5Y2E4ODMuLjM5ZGMwNDVjM2E4NDZkNDkyYTE2NTZhNzY3
NGI4Njc5NWFmNWE5MDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29j
a2V0cy9XZWJTb2NrZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0
cy9XZWJTb2NrZXQuY3BwCkBAIC01MzEsNyArNTMxLDcgQEAgdm9pZCBXZWJTb2NrZXQ6OmRpZFJl
Y2VpdmVCaW5hcnlEYXRhKFBhc3NPd25QdHI8VmVjdG9yPGNoYXI+ID4gYmluYXJ5RGF0YSkKIHZv
aWQgV2ViU29ja2V0OjpkaWRSZWNlaXZlTWVzc2FnZUVycm9yKCkKIHsKICAgICBMT0coTmV0d29y
aywgIldlYlNvY2tldCAlcCBkaWRSZWNlaXZlRXJyb3JNZXNzYWdlIiwgdGhpcyk7Ci0gICAgaWYg
KG1fc3RhdGUgIT0gT1BFTiAmJiBtX3N0YXRlICE9IENMT1NJTkcpCisgICAgaWYgKG1fdXNlSGl4
aWU3NlByb3RvY29sICYmIG1fc3RhdGUgIT0gT1BFTiAmJiBtX3N0YXRlICE9IENMT1NJTkcpCiAg
ICAgICAgIHJldHVybjsKICAgICBBU1NFUlQoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKICAg
ICBkaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmVycm9yRXZlbnQsIGZh
bHNlLCBmYWxzZSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2Nr
ZXRzL1dlYlNvY2tldENoYW5uZWwuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2Nr
ZXRzL1dlYlNvY2tldENoYW5uZWwuY3BwCmluZGV4IDYyMzFmNjg4ODgxNGY4ODE0ZmUyMzAxMmJh
YTZkNWRmYzllNzdkNDEuLjJjZTY5ZGQzOGQ1NTE1OWFkNjkyMGRlOGZmNzIxODA1ZGI3NTEwNTcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRD
aGFubmVsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29j
a2V0Q2hhbm5lbC5jcHAKQEAgLTIyMCwxMiArMjIwLDE0IEBAIHZvaWQgV2ViU29ja2V0Q2hhbm5l
bDo6ZmFpbChjb25zdCBTdHJpbmcmIHJlYXNvbikKICAgICAgICAgLy8gSHliaS0xMCBzcGVjaWZp
Y2F0aW9uIGV4cGxpY2l0bHkgc3RhdGVzIHdlIG11c3Qgbm90IGNvbnRpbnVlIHRvIGhhbmRsZSBp
bmNvbWluZyBkYXRhCiAgICAgICAgIC8vIG9uY2UgdGhlIFdlYlNvY2tldCBjb25uZWN0aW9uIGlz
IGZhaWxlZCAoc2VjdGlvbiA3LjEuNykuCiAgICAgICAgIC8vIEZJWE1FOiBTaG91bGQgd2UgZG8g
dGhpcyBpbiBoaXhpZS03NiB0b28/CisgICAgICAgIFJlZlB0cjxXZWJTb2NrZXRDaGFubmVsPiBw
cm90ZWN0KHRoaXMpOyAvLyBUaGUgY2xpZW50IGNhbiBjbG9zZSB0aGUgY2hhbm5lbCwgcG90ZW50
aWFsbHkgcmVtb3ZpbmcgdGhlIGxhc3QgcmVmZXJlbmNlLgogICAgICAgICBtX3Nob3VsZERpc2Nh
cmRSZWNlaXZlZERhdGEgPSB0cnVlOwogICAgICAgICBpZiAobV9idWZmZXIpCiAgICAgICAgICAg
ICBza2lwQnVmZmVyKG1fYnVmZmVyU2l6ZSk7IC8vIFNhdmUgbWVtb3J5LgogICAgICAgICBtX2Rl
ZmxhdGVGcmFtZXIuZGlkRmFpbCgpOwogICAgICAgICBtX2hhc0NvbnRpbnVvdXNGcmFtZSA9IGZh
bHNlOwogICAgICAgICBtX2NvbnRpbnVvdXNGcmFtZURhdGEuY2xlYXIoKTsKKyAgICAgICAgbV9j
bGllbnQtPmRpZFJlY2VpdmVNZXNzYWdlRXJyb3IoKTsKICAgICB9CiAgICAgaWYgKG1faGFuZGxl
ICYmICFtX2Nsb3NlZCkKICAgICAgICAgbV9oYW5kbGUtPmRpc2Nvbm5lY3QoKTsgLy8gV2lsbCBj
YWxsIGRpZENsb3NlKCkuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNDI1NzgzZGRmOGU1YWFjMTMyYTUwMGZhYTI2ZWM5NDc0
ZTkwMWQ1NC4uODJlODhjYjNiY2QwYmRiMWYyNDE2NTNmZDI3MjFlYjBlZWNiNjgyZSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE4IEBACisyMDEyLTA1LTIzICBMaSBZaW4gIDxsaS55aW5AaW50ZWwuY29tPgor
CisgICAgICAgIFtXZWJTb2NrZXRdIFdlYlNvY2tldCBvYmplY3Qgc2hvdWxkIGZpcmUgYSBzaW1w
bGUgZXZlbnQgbmFtZWQgZXJyb3Igd2hlbiBpdCBpcyByZXF1aXJlZCB0byBmYWlsIHRoZSB3ZWJz
b2NrZXQgY29ubmVjdGlvbi4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTg2OTU4CisKKyAgICAgICAgU3BlYzpodHRwOi8vZGV2LnczLm9yZy9odG1sNS93
ZWJzb2NrZXRzLyNmZWVkYmFjay1mcm9tLXRoZS1wcm90b2NvbAorICAgICAgICBJZiB0aGUgdXNl
ciBhZ2VudCB3YXMgcmVxdWlyZWQgdG8gZmFpbCB0aGUgd2Vic29ja2V0IGNvbm5lY3Rpb24gb3Ig
dGhlIAorICAgICAgICBXZWJTb2NrZXQgY29ubmVjdGlvbiBpcyBjbG9zZWQgd2l0aCBwcmVqdWRp
Y2UsIGZpcmUgYSBzaW1wbGUgZXZlbnQgCisgICAgICAgIG5hbWVkIGVycm9yIGF0IHRoZSBXZWJT
b2NrZXQgb2JqZWN0LgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9jbG9zZS1leHBlY3RlZC50
eHQ6CisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9jbG9zZS5odG1s
OgorCiAyMDEyLTA1LTIxICBUb255IENoYW5nICA8dG9ueUBjaHJvbWl1bS5vcmc+CiAKICAgICAg
ICAgYXV0byBtYXJnaW5zIG9uIGZsZXhib3ggc2hvdWxkIGFsbG9jYXRlIHNwYWNlIGluIHRoZSBm
bGV4IGRpcmVjdGlvbgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2Nr
ZXQvdGVzdHMvaHliaS9jbG9zZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3dlYnNvY2tldC90ZXN0cy9oeWJpL2Nsb3NlLWV4cGVjdGVkLnR4dAppbmRleCBkYjkyOWIwNTkz
NDZjZTFiNGJhNzE0MmRkNjEzYzllYzAxYzJiOGUxLi4yZDFlMDU4NjE3NmNkYTc4NTk2ZjgwMjE1
ZmM0OWYzNGEyMzMwYmM5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNv
Y2tldC90ZXN0cy9oeWJpL2Nsb3NlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2Nsb3NlLWV4cGVjdGVkLnR4dApAQCAtNTgsNiAr
NTgsNyBAQCBJbnZhbGlkIGNvZGUgdGVzdDogMTIKIENvZGUgTmFOIG11c3QgY2F1c2UgSU5WQUxJ
RF9BQ0NFU1NfRVJSLgogUEFTUyBleGNlcHRpb25Qcm90byA9PT0gRE9NRXhjZXB0aW9uLnByb3Rv
dHlwZSBpcyB0cnVlCiBQQVNTIGV4Y2VwdGlvbk5hbWUgaXMgaW52YWxpZEFjY2Vzc0VycgorUEFT
UyBvbmVycm9yIHdhcyBjYWxsZWQuCiBydW5Db2RlVGVzdDogb25jbG9zZSgpLgogUEFTUyBjbG9z
ZUV2ZW50LmNvZGUgaXMgYWJub3JtYWxDbG9zdXJlCiBTa2lwIGludmFsaWQgc3RyaW5nIHRlc3Qu
CkBAIC03NCw2ICs3NSw3IEBAIFBBU1MgcmVzdWx0IGlzIGZhbHNlCiBQQVNTIGV4Y2VwdGlvblBy
b3RvID09PSBET01FeGNlcHRpb24ucHJvdG90eXBlIGlzIHRydWUKIFBBU1MgZXhjZXB0aW9uTmFt
ZSBpcyBzeW50YXhFcnIKIFJlYXNvbiB0ZXN0OiAyCitQQVNTIG9uZXJyb3Igd2FzIGNhbGxlZC4K
IHJ1blJlYXNvblRlc3Q6IG9uY2xvc2UoKS4KIFBBU1MgY2xvc2VFdmVudC5jb2RlIGlzIGFibm9y
bWFsQ2xvc3VyZQogQ29kZSBhbmQgcmVhc29uIHRlc3Q6IDAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvY2xvc2UuaHRtbCBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvY2xvc2UuaHRtbAppbmRleCBjZGZh
YjgzYTllODQ0NTNmYzI2YjQ3M2FkYWVlNzY3N2M1NWRlYjAzLi4xNzc0YWUwMjRhNTQ4NjdjZDlh
ZWE5NTlkYjk3ODJiZTlmZWQ5MjQxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3dlYnNvY2tldC90ZXN0cy9oeWJpL2Nsb3NlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9jbG9zZS5odG1sCkBAIC04OSw2ICs4OSwxMCBAQCBm
dW5jdGlvbiBydW5Db2RlVGVzdCgpCiAgICAgICAgICAgICAgICAgaWYgKGNsb3NlRXZlbnQuY29k
ZSA9PSBhYm5vcm1hbENsb3N1cmUpCiAgICAgICAgICAgICAgICAgICAgIHJ1bkludmFsaWRTdHJp
bmdUZXN0KCk7CiAgICAgICAgICAgICB9OworICAgICAgICAgICAgd3Mub25lcnJvciA9IGZ1bmN0
aW9uKCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCJvbmVycm9y
IHdhcyBjYWxsZWQuIik7CisgICAgICAgICAgICB9OwogICAgICAgICB9CiAgICAgICAgIHRyeSB7
CiAgICAgICAgICAgICB3cy5jbG9zZShjb2RlVGVzdENvZGVzW2lkXSk7CkBAIC0xMjcsNiArMTMx
LDEwIEBAIGZ1bmN0aW9uIHJ1blJlYXNvblRlc3QoKQogICAgICAgICAgICAgICAgIGlmIChjbG9z
ZUV2ZW50LmNvZGUgPT0gYWJub3JtYWxDbG9zdXJlKQogICAgICAgICAgICAgICAgICAgICBydW5D
b2RlQW5kUmVhc29uVGVzdCgpOwogICAgICAgICAgICAgfTsKKyAgICAgICAgICAgIHdzLm9uZXJy
b3IgPSBmdW5jdGlvbigpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgdGVzdFBhc3Nl
ZCgib25lcnJvciB3YXMgY2FsbGVkLiIpOworICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAg
ICAgIHRyeSB7CiAgICAgICAgICAgICB3cy5jbG9zZShub3JtYWxDbG9zdXJlLCByZWFzb25UZXN0
UmVhc29uc1tpZF0pOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>