<?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>77336</bug_id>
          
          <creation_ts>2012-01-30 06:12:03 -0800</creation_ts>
          <short_desc>REGRESSION(r105797): prepare-ChangeLog for a .cpp file can output an empty method name (i.e. &quot;()&quot;)</short_desc>
          <delta_ts>2012-01-30 18:40:47 -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>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kentaro Hara">haraken</reporter>
          <assigned_to name="Kentaro Hara">haraken</assigned_to>
          <cc>dbates</cc>
    
    <cc>dcheng</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>545062</commentid>
    <comment_count>0</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-01-30 06:12:03 -0800</bug_when>
    <thetext>r105797 tried to detect a change outside methods, but it causes a bug that prepare-ChangeLog can output an empty method name, like this:

* foo/bar/baz.cpp:
(method1):
():
(method2):

This is because the cpp parser in prepare-ChangeLog cannot distinguish &apos;{&apos; as the beginning of a method with &apos;{&apos; as the beginning of an array definition at the top level.

int a = { 1, 2, 3 };  // This &apos;{&apos; is the beginning of an array definition.

void func() { // This &apos;{&apos; is the beginning of a method.
    ...;
}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>545065</commentid>
    <comment_count>1</comment_count>
      <attachid>124541</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-01-30 06:22:17 -0800</bug_when>
    <thetext>Created attachment 124541
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>545150</commentid>
    <comment_count>2</comment_count>
      <attachid>124541</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2012-01-30 09:18:42 -0800</bug_when>
    <thetext>Comment on attachment 124541
Patch

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

I&apos;m r-&apos;ing this patch because all the test cases use an invalid syntax for defining a C array and the regular expression we are using on line 758 of Tools/Scripts/prepare-ChangeLog isn&apos;t the most straightforward to read.

You may want to consider adding test cases for:

1. int a[] = { 1, 2, 3 };
2. int a[3] = { 1, 2, 3 };
3. int a[][3] = { {1, 2, 3}, {4, 5, 6} };
4. int a[2][3] = { {1, 2, 3}, {4, 5, 6} };
5. extern int a[];
6. char a[4] = &quot;test&quot;;

&gt; Tools/ChangeLog:21
&gt; +            int a = { 1, 2, 3 };  // This &apos;{&apos; is the beginning of an array definition.

Nit: I think you meant to write: int a[] = { 1, 2, 3 }.

(Notice the square brackets after the variable name a).

&gt; Tools/Scripts/prepare-ChangeLog:274
&gt; +                # This is a hack. The parsers are not perfect and sometimes function names
&gt; +                # cannot be retrieved correctly. If the function name is empty, skip it.

Can you elaborate on why function names may be retrieved incorrectly? At the very least I suggest that this comment be made into a FIXME comment. You may also want to consider filing a bug so as to make this FIXME actionable.

&gt; Tools/Scripts/webkitperl/prepare-ChangeLog_unittest/resources/cpp_unittests.cpp:324
&gt; +static int array1 = { };

&quot;int array1&quot; =&gt; &quot;int array1[]&quot;

&gt; Tools/Scripts/webkitperl/prepare-ChangeLog_unittest/resources/cpp_unittests.cpp:326
&gt; +static int array2 = {

&quot;int array2&quot; =&gt; &quot;int array2[]&quot;

&gt; Tools/Scripts/webkitperl/prepare-ChangeLog_unittest/resources/cpp_unittests.cpp:329
&gt; +static int array3 = { 1, 2, 3 };

&quot;int array3&quot; =&gt; &quot;int array3[]&quot;

&gt; Tools/Scripts/webkitperl/prepare-ChangeLog_unittest/resources/cpp_unittests.cpp:331
&gt; +static int array4 = {

&quot;int array4&quot; =&gt; &quot;int array4[]&quot;

&gt; Tools/Scripts/webkitperl/prepare-ChangeLog_unittest/resources/cpp_unittests.cpp:339
&gt; +static int array5 = { };

&quot;int array5&quot; =&gt; int array5[]&quot;

&gt; Tools/Scripts/webkitperl/prepare-ChangeLog_unittest/resources/cpp_unittests.cpp:341
&gt; +static int array6 = {

&quot;int array6&quot; =&gt; &quot;int array6[]&quot;

&gt; Tools/Scripts/webkitperl/prepare-ChangeLog_unittest/resources/cpp_unittests.cpp:344
&gt; +static int array7 = { 1, 2, 3 };

&quot;int array7&quot; =&gt; &quot;int array7[]&quot;

&gt; Tools/Scripts/webkitperl/prepare-ChangeLog_unittest/resources/cpp_unittests.cpp:346
&gt; +static int array8 = {

&quot;int array8&quot; =&gt; &quot;int array8[]&quot;

&gt; Tools/Scripts/webkitperl/prepare-ChangeLog_unittest/resources/cpp_unittests.cpp:353
&gt; +static int array9 = { };

&quot;int array9&quot; =&gt; &quot;int array9[]&quot;

&gt; Tools/Scripts/webkitperl/prepare-ChangeLog_unittest/resources/cpp_unittests.cpp:355
&gt; +static int array10 = {

&quot;int array10&quot; =&gt; &quot;int array10[]&quot;

&gt; Tools/Scripts/webkitperl/prepare-ChangeLog_unittest/resources/cpp_unittests.cpp:358
&gt; +static int array11 = { 1, 2, 3 };

&quot;int array11&quot; =&gt; &quot;int array11[]&quot;

&gt; Tools/Scripts/webkitperl/prepare-ChangeLog_unittest/resources/cpp_unittests.cpp:360
&gt; +static int array12 = {

&quot;int array12&quot; =&gt; &quot;int array12[]&quot;

&gt; Tools/Scripts/webkitperl/prepare-ChangeLog_unittest/resources/cpp_unittests.cpp:368
&gt; +    static int array13 = { };

&quot;int array13&quot; =&gt; &quot;int array13[]&quot;

&gt; Tools/Scripts/webkitperl/prepare-ChangeLog_unittest/resources/cpp_unittests.cpp:370
&gt; +    static int array14 = {

&quot;int array14&quot; =&gt; &quot;int array14[]&quot;

&gt; Tools/Scripts/webkitperl/prepare-ChangeLog_unittest/resources/cpp_unittests.cpp:373
&gt; +    static int array15 = { 1, 2, 3 };

&quot;int array15&quot; =&gt; &quot;int array15[]&quot;

&gt; Tools/Scripts/webkitperl/prepare-ChangeLog_unittest/resources/cpp_unittests.cpp:375
&gt; +    static int array16 = {

&quot;int array16&quot; =&gt; &quot;int array16[]&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>545619</commentid>
    <comment_count>3</comment_count>
      <attachid>124634</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-01-30 17:06:04 -0800</bug_when>
    <thetext>Created attachment 124634
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>545625</commentid>
    <comment_count>4</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-01-30 17:13:18 -0800</bug_when>
    <thetext>Thanks, Dbates!

(In reply to comment #2)
&gt; (From update of attachment 124541 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=124541&amp;action=review
&gt; 
&gt; You may want to consider adding test cases for:
&gt; 
&gt; 1. int a[] = { 1, 2, 3 };
&gt; 2. int a[3] = { 1, 2, 3 };
&gt; 3. int a[][3] = { {1, 2, 3}, {4, 5, 6} };
&gt; 4. int a[2][3] = { {1, 2, 3}, {4, 5, 6} };
&gt; 5. extern int a[];
&gt; 6. char a[4] = &quot;test&quot;;

Added.

&gt; &gt; Tools/ChangeLog:21
&gt; &gt; +            int a = { 1, 2, 3 };  // This &apos;{&apos; is the beginning of an array definition.
&gt; 
&gt; Nit: I think you meant to write: int a[] = { 1, 2, 3 }.
&gt; 
&gt; (Notice the square brackets after the variable name a).

Oops, fixed.

&gt; I&apos;m r-&apos;ing this patch because ..... the regular expression we are using on line 758 of Tools/Scripts/prepare-ChangeLog isn&apos;t the most straightforward to read.

Any good idea to improve the regular expression? This patch just added &apos;=&apos; to the existing regular expression though.

&gt; &gt; Tools/Scripts/prepare-ChangeLog:274
&gt; &gt; +                # This is a hack. The parsers are not perfect and sometimes function names
&gt; &gt; +                # cannot be retrieved correctly. If the function name is empty, skip it.
&gt; 
&gt; Can you elaborate on why function names may be retrieved incorrectly? At the very least I suggest that this comment be made into a FIXME comment. You may also want to consider filing a bug so as to make this FIXME actionable.

I added FIXME and more comment. But I am not sure if this is FIXME. As I commented, the parsers are not intended to implement real parsers but intended to just retrieve function names for most practical syntaxes.

&gt; &gt; Tools/Scripts/webkitperl/prepare-ChangeLog_unittest/resources/cpp_unittests.cpp:324
&gt; &gt; +static int array1 = { };
&gt; 
&gt; &quot;int array1&quot; =&gt; &quot;int array1[]&quot;
&gt; 
&gt; &gt; Tools/Scripts/webkitperl/prepare-ChangeLog_unittest/resources/cpp_unittests.cpp:326
&gt; &gt; +static int array2 = {
&gt; 
&gt; &quot;int array2&quot; =&gt; &quot;int array2[]&quot;
&gt; 
&gt; &gt; Tools/Scripts/webkitperl/prepare-ChangeLog_unittest/resources/cpp_unittests.cpp:329
&gt; &gt; +static int array3 = { 1, 2, 3 };
&gt; 
&gt; &quot;int array3&quot; =&gt; &quot;int array3[]&quot;
&gt; 
&gt; &gt; Tools/Scripts/webkitperl/prepare-ChangeLog_unittest/resources/cpp_unittests.cpp:331
&gt; &gt; +static int array4 = {
&gt; 
&gt; &quot;int array4&quot; =&gt; &quot;int array4[]&quot;
&gt; 
&gt; &gt; Tools/Scripts/webkitperl/prepare-ChangeLog_unittest/resources/cpp_unittests.cpp:339
&gt; &gt; +static int array5 = { };
&gt; 
&gt; &quot;int array5&quot; =&gt; int array5[]&quot;
&gt; 
&gt; &gt; Tools/Scripts/webkitperl/prepare-ChangeLog_unittest/resources/cpp_unittests.cpp:341
&gt; &gt; +static int array6 = {
&gt; 
&gt; &quot;int array6&quot; =&gt; &quot;int array6[]&quot;
&gt; 
&gt; &gt; Tools/Scripts/webkitperl/prepare-ChangeLog_unittest/resources/cpp_unittests.cpp:344
&gt; &gt; +static int array7 = { 1, 2, 3 };
&gt; 
&gt; &quot;int array7&quot; =&gt; &quot;int array7[]&quot;
&gt; 
&gt; &gt; Tools/Scripts/webkitperl/prepare-ChangeLog_unittest/resources/cpp_unittests.cpp:346
&gt; &gt; +static int array8 = {
&gt; 
&gt; &quot;int array8&quot; =&gt; &quot;int array8[]&quot;
&gt; 
&gt; &gt; Tools/Scripts/webkitperl/prepare-ChangeLog_unittest/resources/cpp_unittests.cpp:353
&gt; &gt; +static int array9 = { };
&gt; 
&gt; &quot;int array9&quot; =&gt; &quot;int array9[]&quot;
&gt; 
&gt; &gt; Tools/Scripts/webkitperl/prepare-ChangeLog_unittest/resources/cpp_unittests.cpp:355
&gt; &gt; +static int array10 = {
&gt; 
&gt; &quot;int array10&quot; =&gt; &quot;int array10[]&quot;
&gt; 
&gt; &gt; Tools/Scripts/webkitperl/prepare-ChangeLog_unittest/resources/cpp_unittests.cpp:358
&gt; &gt; +static int array11 = { 1, 2, 3 };
&gt; 
&gt; &quot;int array11&quot; =&gt; &quot;int array11[]&quot;
&gt; 
&gt; &gt; Tools/Scripts/webkitperl/prepare-ChangeLog_unittest/resources/cpp_unittests.cpp:360
&gt; &gt; +static int array12 = {
&gt; 
&gt; &quot;int array12&quot; =&gt; &quot;int array12[]&quot;
&gt; 
&gt; &gt; Tools/Scripts/webkitperl/prepare-ChangeLog_unittest/resources/cpp_unittests.cpp:368
&gt; &gt; +    static int array13 = { };
&gt; 
&gt; &quot;int array13&quot; =&gt; &quot;int array13[]&quot;
&gt; 
&gt; &gt; Tools/Scripts/webkitperl/prepare-ChangeLog_unittest/resources/cpp_unittests.cpp:370
&gt; &gt; +    static int array14 = {
&gt; 
&gt; &quot;int array14&quot; =&gt; &quot;int array14[]&quot;
&gt; 
&gt; &gt; Tools/Scripts/webkitperl/prepare-ChangeLog_unittest/resources/cpp_unittests.cpp:373
&gt; &gt; +    static int array15 = { 1, 2, 3 };
&gt; 
&gt; &quot;int array15&quot; =&gt; &quot;int array15[]&quot;
&gt; 
&gt; &gt; Tools/Scripts/webkitperl/prepare-ChangeLog_unittest/resources/cpp_unittests.cpp:375
&gt; &gt; +    static int array16 = {
&gt; 
&gt; &quot;int array16&quot; =&gt; &quot;int array16[]&quot;

Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>545627</commentid>
    <comment_count>5</comment_count>
      <attachid>124634</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-01-30 17:16:31 -0800</bug_when>
    <thetext>Comment on attachment 124634
Patch

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

&gt; Tools/ChangeLog:33
&gt; +        (generateFunctionLists): As a hack, modified so that prepare-ChangeLog does not output
&gt; +        an empty method name. Ideally this should not happen but may happen, since the
&gt; +        parsers are not perfect.

I think this is a good idea.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>545703</commentid>
    <comment_count>6</comment_count>
      <attachid>124634</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-30 18:40:42 -0800</bug_when>
    <thetext>Comment on attachment 124634
Patch

Clearing flags on attachment: 124634

Committed r106315: &lt;http://trac.webkit.org/changeset/106315&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>545704</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-30 18:40:47 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>124541</attachid>
            <date>2012-01-30 06:22:17 -0800</date>
            <delta_ts>2012-01-30 17:05:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-77336-20120130232216.patch</filename>
            <type>text/plain</type>
            <size>7110</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA2MjAxCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggOWEwMTVhYTdiMTVhMDU4YjYxYTNhMTI5MDY2NjE0NjFl
ODFkYTMzYy4uOWI3NTM4OGZjZGJlMjZjODM3YzkyYzY0N2YwODZiMmY2N2Y5NGMzZCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQy
IEBACisyMDEyLTAxLTMwICBLZW50YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKwor
ICAgICAgICBSRUdSRVNTSU9OKHIxMDU3OTcpOiBwcmVwYXJlLUNoYW5nZUxvZyBmb3IgYSAuY3Bw
IGZpbGUgY2FuCisgICAgICAgIG91dHB1dCBhbiBlbXB0eSBtZXRob2QgbmFtZSAoaS5lLiAiKCki
KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzczMzYK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICByMTA1Nzk3
IHRyaWVkIHRvIGRldGVjdCBhIGNoYW5nZSBvdXRzaWRlIG1ldGhvZHMsIGJ1dCBpdCBjYXVzZXMg
YSBidWcgdGhhdAorICAgICAgICBwcmVwYXJlLUNoYW5nZUxvZyBjYW4gb3V0cHV0IGFuIGVtcHR5
IG1ldGhvZCBuYW1lLCBsaWtlIHRoaXM6CisKKyAgICAgICAgICAgICogZm9vL2Jhci9iYXouY3Bw
OgorICAgICAgICAgICAgKG1ldGhvZDEpOgorICAgICAgICAgICAgKCk6CisgICAgICAgICAgICAo
bWV0aG9kMik6CisKKyAgICAgICAgVGhpcyBpcyBiZWNhdXNlIHRoZSBjcHAgcGFyc2VyIGluIHBy
ZXBhcmUtQ2hhbmdlTG9nIGNhbm5vdCBkaXN0aW5ndWlzaAorICAgICAgICAneycgYXMgdGhlIGJl
Z2lubmluZyBvZiBhIG1ldGhvZCB3aXRoICd7JyBhcyB0aGUgYmVnaW5uaW5nIG9mIGFuIGFycmF5
IGRlZmluaXRpb24KKyAgICAgICAgYXQgdGhlIHRvcCBsZXZlbC4KKworICAgICAgICAgICAgaW50
IGEgPSB7IDEsIDIsIDMgfTsgIC8vIFRoaXMgJ3snIGlzIHRoZSBiZWdpbm5pbmcgb2YgYW4gYXJy
YXkgZGVmaW5pdGlvbi4KKworICAgICAgICAgICAgdm9pZCBmdW5jKCkgeyAvLyBUaGlzICd7JyBp
cyB0aGUgYmVnaW5uaW5nIG9mIGEgbWV0aG9kLgorICAgICAgICAgICAgICAgIC4uLjsKKyAgICAg
ICAgICAgIH0KKworICAgICAgICBUaGlzIHBhdGNoIGZpeGVzIHByZXBhcmUtQ2hhbmdlTG9nIHNv
IHRoYXQgaXQgc2tpcHMgYW4gYXJyYXkgZGVmaW5pdGlvbiBhdCB0aGUgdG9wIGxldmVsLgorCisg
ICAgICAgICogU2NyaXB0cy9wcmVwYXJlLUNoYW5nZUxvZzoKKyAgICAgICAgKGdldF9mdW5jdGlv
bl9saW5lX3Jhbmdlc19mb3JfY3BwKTogTW9kaWZpZWQgYXMgZGVzY3JpYmVkIGFib3ZlLgorICAg
ICAgICAoZ2VuZXJhdGVGdW5jdGlvbkxpc3RzKTogQXMgYSBoYWNrLCBtb2RpZmllZCBzbyB0aGF0
IHByZXBhcmUtQ2hhbmdlTG9nIGRvZXMgbm90IG91dHB1dAorICAgICAgICBhbiBlbXB0eSBtZXRo
b2QgbmFtZS4gSWRlYWxseSB0aGlzIHNob3VsZCBub3QgaGFwcGVuIGJ1dCBtYXkgaGFwcGVuLCBz
aW5jZSB0aGUKKyAgICAgICAgcGFyc2VycyBhcmUgbm90IHBlcmZlY3QuCisgICAgICAgICogU2Ny
aXB0cy93ZWJraXRwZXJsL3ByZXBhcmUtQ2hhbmdlTG9nX3VuaXR0ZXN0L3Jlc291cmNlcy9jcHBf
dW5pdHRlc3RzLmNwcDogQWRkZWQgdGVzdCBjYXNlcy4KKyAgICAgICAgKE5hbWVTcGFjZTcpOgor
ICAgICAgICAoTmFtZVNwYWNlOCk6CisgICAgICAgIChDbGFzczEwOSk6CisgICAgICAgICogU2Ny
aXB0cy93ZWJraXRwZXJsL3ByZXBhcmUtQ2hhbmdlTG9nX3VuaXR0ZXN0L3Jlc291cmNlcy9jcHBf
dW5pdHRlc3RzLWV4cGVjdGVkLnR4dDoKKwogMjAxMi0wMS0yOSAgU2hlcmlmZiBCb3QgIDx3ZWJr
aXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBv
dXQgcjEwNjEwOS4KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvcHJlcGFyZS1DaGFuZ2VMb2cg
Yi9Ub29scy9TY3JpcHRzL3ByZXBhcmUtQ2hhbmdlTG9nCmluZGV4IGIxOGVhNjJhODVkMTA0NTBi
MGQ5YTIyNTcwNmVjNTc3MDAyMzJkMGYuLmQxMDdlYjBhMmRjM2VhNGY3YWUzNjQ5MjVmZTdmOWVi
NmU4ZDViOWMgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvcHJlcGFyZS1DaGFuZ2VMb2cKKysr
IGIvVG9vbHMvU2NyaXB0cy9wcmVwYXJlLUNoYW5nZUxvZwpAQCAtMjcwLDYgKzI3MCwxMCBAQCBz
dWIgZ2VuZXJhdGVGdW5jdGlvbkxpc3RzKCQkJCQkKQogICAgICAgICAgICAgRlVOQ1RJT046IGZv
cmVhY2ggbXkgJGZ1bmN0aW9uX3JhbmdlX3JlZiAoQGZ1bmN0aW9uX3JhbmdlcykgewogICAgICAg
ICAgICAgICAgIG15IEBmdW5jdGlvbl9yYW5nZSA9IEAkZnVuY3Rpb25fcmFuZ2VfcmVmOwogCisg
ICAgICAgICAgICAgICAgIyBUaGlzIGlzIGEgaGFjay4gVGhlIHBhcnNlcnMgYXJlIG5vdCBwZXJm
ZWN0IGFuZCBzb21ldGltZXMgZnVuY3Rpb24gbmFtZXMKKyAgICAgICAgICAgICAgICAjIGNhbm5v
dCBiZSByZXRyaWV2ZWQgY29ycmVjdGx5LiBJZiB0aGUgZnVuY3Rpb24gbmFtZSBpcyBlbXB0eSwg
c2tpcCBpdC4KKyAgICAgICAgICAgICAgICBuZXh0IHVubGVzcyAkZnVuY3Rpb25fcmFuZ2VbMl07
CisKICAgICAgICAgICAgICAgICAjIEFkdmFuY2UgdG8gc3VjY2Vzc2l2ZSBjaGFuZ2UgcmFuZ2Vz
LgogICAgICAgICAgICAgICAgIGZvciAoOzsgQGNoYW5nZV9yYW5nZSA9IEB7c2hpZnQgQGNoYW5n
ZV9yYW5nZXN9KSB7CiAgICAgICAgICAgICAgICAgICAgIGxhc3QgRlVOQ1RJT04gdW5sZXNzIEBj
aGFuZ2VfcmFuZ2U7CkBAIC02MTgsMTAgKzYyMiwxMiBAQCBzdWIgZ2V0X2Z1bmN0aW9uX2xpbmVf
cmFuZ2VzX2Zvcl9jcHAoJCQpCiAgICAgbXkgJGluX21ldGhvZF9kZWNsYXJhdGlvbiA9IDA7CiAg
ICAgbXkgJGluX3BhcmVudGhlc2VzID0gMDsKICAgICBteSAkaW5fYnJhY2VzID0gMDsKKyAgICBt
eSAkaW5fdG9wbGV2ZWxfYXJyYXlfYnJhY2UgPSAwOwogICAgIG15ICRicmFjZV9zdGFydCA9IDA7
CiAgICAgbXkgJGJyYWNlX2VuZCA9IDA7CiAgICAgbXkgJG5hbWVzcGFjZV9zdGFydCA9IC0xOwog
ICAgIG15ICRza2lwX3RpbF9icmFjZV9vcl9zZW1pY29sb24gPSAwOworICAgIG15ICRlcXVhbF9v
YnNlcnZlZCA9IDA7CiAKICAgICBteSAkd29yZCA9ICIiOwogICAgIG15ICRpbnRlcmZhY2VfbmFt
ZSA9ICIiOwpAQCAtNzQ5LDcgKzc1NSwyMyBAQCBzdWIgZ2V0X2Z1bmN0aW9uX2xpbmVfcmFuZ2Vz
X2Zvcl9jcHAoJCQpCiAKIAogICAgICAgICAjIEZpbmQgZnVuY3Rpb24sIGludGVyZmFjZSBhbmQg
bWV0aG9kIG5hbWVzLgotICAgICAgICB3aGlsZSAobSYoKD86W1s6d29yZDpdXSs6Oikqb3BlcmF0
b3IoPzpbIFx0XSpcKFwpfFteKCldKil8W1s6d29yZDpdOn5dK3xbKCl7fTo7XSl8XEAoPzppbXBs
ZW1lbnRhdGlvbnxpbnRlcmZhY2V8cHJvdG9jb2wpXHMrKFx3KylbXntdKiZnKSB7CisgICAgICAg
IHdoaWxlIChtJigoPzpbWzp3b3JkOl1dKzo6KSpvcGVyYXRvcig/OlsgXHRdKlwoXCl8W14oKV0q
KXxbWzp3b3JkOl06fl0rfFsoKXt9Ojs9XSl8XEAoPzppbXBsZW1lbnRhdGlvbnxpbnRlcmZhY2V8
cHJvdG9jb2wpXHMrKFx3KylbXntdKiZnKSB7CisgICAgICAgICAgICAjIFNraXAgYW4gYXJyYXkg
ZGVmaW5pdGlvbiBhdCB0aGUgdG9wIGxldmVsLgorICAgICAgICAgICAgIyBlLmcuIHN0YXRpYyBp
bnQgYXJyW10gPSB7IDEsIDIsIDMgfTsKKyAgICAgICAgICAgIGlmICgkMSkgeworICAgICAgICAg
ICAgICAgIGlmICgkMSBlcSAiPSIgYW5kICEkaW5fcGFyZW50aGVzZXMgYW5kICEkaW5fYnJhY2Vz
KSB7CisgICAgICAgICAgICAgICAgICAgICRlcXVhbF9vYnNlcnZlZCA9IDE7CisgICAgICAgICAg
ICAgICAgfSBlbHNpZiAoJDEgZXEgInsiIGFuZCAkZXF1YWxfb2JzZXJ2ZWQpIHsKKyAgICAgICAg
ICAgICAgICAgICAgIyBUaGlzICd7JyBpcyB0aGUgYmVnaW5uaW5nIG9mIGFuIGFycmF5IGRlZmlu
aXRpb24sIG5vdCB0aGUgYmVnaW5uaW5nIG9mIGEgbWV0aG9kLgorICAgICAgICAgICAgICAgICAg
ICAkaW5fdG9wbGV2ZWxfYXJyYXlfYnJhY2UgPSAxOworICAgICAgICAgICAgICAgICAgICAkaW5f
YnJhY2VzKys7CisgICAgICAgICAgICAgICAgICAgICRlcXVhbF9vYnNlcnZlZCA9IDA7CisgICAg
ICAgICAgICAgICAgICAgIG5leHQ7CisgICAgICAgICAgICAgICAgfSBlbHNpZiAoJDEgIX4gL1sg
XHRdLykgeworICAgICAgICAgICAgICAgICAgICAkZXF1YWxfb2JzZXJ2ZWQgPSAwOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKwogICAgICAgICAgICAgIyBpbnRlcmZhY2UgbmFt
ZQogICAgICAgICAgICAgaWYgKCQyKSB7CiAgICAgICAgICAgICAgICAgJGludGVyZmFjZV9uYW1l
ID0gJDI7CkBAIC04MzMsNiArODU1LDEyIEBAIHN1YiBnZXRfZnVuY3Rpb25fbGluZV9yYW5nZXNf
Zm9yX2NwcCgkJCkKICAgICAgICAgICAgICAgICAjIEVuZCBvZiBhbiBvdXRlciBsZXZlbCBzZXQg
b2YgYnJhY2VzLgogICAgICAgICAgICAgICAgICMgVGhpcyBjb3VsZCBiZSBhIGZ1bmN0aW9uIGJv
ZHkuCiAgICAgICAgICAgICAgICAgaWYgKCEkaW5fYnJhY2VzIGFuZCAkbmFtZSkgeworICAgICAg
ICAgICAgICAgICAgICAjIFRoaXMgaXMgdGhlIGVuZCBvZiBhbiBhcnJheSBkZWZpbml0aW9uIGF0
IHRoZSB0b3AgbGV2ZWwsIG5vdCB0aGUgZW5kIG9mIGEgbWV0aG9kLgorICAgICAgICAgICAgICAg
ICAgICBpZiAoJGluX3RvcGxldmVsX2FycmF5X2JyYWNlKSB7CisgICAgICAgICAgICAgICAgICAg
ICAgICAkaW5fdG9wbGV2ZWxfYXJyYXlfYnJhY2UgPSAwOworICAgICAgICAgICAgICAgICAgICAg
ICAgbmV4dDsKKyAgICAgICAgICAgICAgICAgICAgfQorCiAgICAgICAgICAgICAgICAgICAgIHB1
c2ggQHJhbmdlcywgWyAkc3RhcnQsICQuLCAkbmFtZSBdOwogICAgICAgICAgICAgICAgICAgICBp
ZiAoQG5hbWVzcGFjZXMpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICRuYW1lID0gJG5hbWVz
cGFjZXNbLTFdOwpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL3ByZXBhcmUt
Q2hhbmdlTG9nX3VuaXR0ZXN0L3Jlc291cmNlcy9jcHBfdW5pdHRlc3RzLWV4cGVjdGVkLnR4dCBi
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9wcmVwYXJlLUNoYW5nZUxvZ191bml0dGVzdC9yZXNv
dXJjZXMvY3BwX3VuaXR0ZXN0cy1leHBlY3RlZC50eHQKaW5kZXggYzRlYjU4ZDU4ZWRlMzY4OWRl
N2FlMDQ4ZTAxYzIwYjdmNDQ1NWZkZS4uMjAyZTdiNDU1ZmU4MzdhZDU0Njg1NDk3YzM3MmUwNjEw
Yzk3YThkNSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL3ByZXBhcmUtQ2hh
bmdlTG9nX3VuaXR0ZXN0L3Jlc291cmNlcy9jcHBfdW5pdHRlc3RzLWV4cGVjdGVkLnR4dAorKysg
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwvcHJlcGFyZS1DaGFuZ2VMb2dfdW5pdHRlc3QvcmVz
b3VyY2VzL2NwcF91bml0dGVzdHMtZXhwZWN0ZWQudHh0CkBAIC0zMjYsNiArMzI2LDMxIEBACiAg
ICAgICAnMzIxJywKICAgICAgICczMjEnLAogICAgICAgJ0NsYXNzMTA4JworICAgIF0sCisgICAg
WworICAgICAgJzMzOCcsCisgICAgICAnMzUxJywKKyAgICAgICdOYW1lU3BhY2U3JworICAgIF0s
CisgICAgWworICAgICAgJzM1MycsCisgICAgICAnMzY0JywKKyAgICAgICdOYW1lU3BhY2U4Jwor
ICAgIF0sCisgICAgWworICAgICAgJzM2NicsCisgICAgICAnMzY2JywKKyAgICAgICdOYW1lU3Bh
Y2U3JworICAgIF0sCisgICAgWworICAgICAgJzM2OCcsCisgICAgICAnMzc5JywKKyAgICAgICdD
bGFzczEwOScKKyAgICBdLAorICAgIFsKKyAgICAgICczODEnLAorICAgICAgJzM4MScsCisgICAg
ICAnTmFtZVNwYWNlNycKICAgICBdCiAgIF0KIH0KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cGVybC9wcmVwYXJlLUNoYW5nZUxvZ191bml0dGVzdC9yZXNvdXJjZXMvY3BwX3VuaXR0
ZXN0cy5jcHAgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwvcHJlcGFyZS1DaGFuZ2VMb2dfdW5p
dHRlc3QvcmVzb3VyY2VzL2NwcF91bml0dGVzdHMuY3BwCmluZGV4IGMyOTQxOGI3YzFkZTZlNzU4
NDRhNjYyMWE0Y2M3Y2U1Mzc4OTkzODYuLjRiOTZjYTZiNjQ2MzRkMWZmZDhhMTQ2MzcyOTlhOTll
NjEwMDYzM2MgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9wcmVwYXJlLUNo
YW5nZUxvZ191bml0dGVzdC9yZXNvdXJjZXMvY3BwX3VuaXR0ZXN0cy5jcHAKKysrIGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRwZXJsL3ByZXBhcmUtQ2hhbmdlTG9nX3VuaXR0ZXN0L3Jlc291cmNlcy9j
cHBfdW5pdHRlc3RzLmNwcApAQCAtMzIwLDMgKzMyMCw2MyBAQCBjbGFzcyBDbGFzczEwOCB7CiAg
ICAgfQogICAgIGludCBoOwogfTsKKworc3RhdGljIGludCBhcnJheTEgPSB7IH07CisKK3N0YXRp
YyBpbnQgYXJyYXkyID0geworfTsKKworc3RhdGljIGludCBhcnJheTMgPSB7IDEsIDIsIDMgfTsK
Kworc3RhdGljIGludCBhcnJheTQgPSB7CisgICAgMSwKKyAgICAyLAorICAgIDMKK307CisKK25h
bWVzcGFjZSBOYW1lU3BhY2U3IHsKKworc3RhdGljIGludCBhcnJheTUgPSB7IH07CisKK3N0YXRp
YyBpbnQgYXJyYXk2ID0geworfTsKKworc3RhdGljIGludCBhcnJheTcgPSB7IDEsIDIsIDMgfTsK
Kworc3RhdGljIGludCBhcnJheTggPSB7CisgICAgMSwKKyAgICAyLAorICAgIDMKK307CisKK25h
bWVzcGFjZSBOYW1lU3BhY2U4IHsKK3N0YXRpYyBpbnQgYXJyYXk5ID0geyB9OworCitzdGF0aWMg
aW50IGFycmF5MTAgPSB7Cit9OworCitzdGF0aWMgaW50IGFycmF5MTEgPSB7IDEsIDIsIDMgfTsK
Kworc3RhdGljIGludCBhcnJheTEyID0geworICAgIDEsCisgICAgMiwKKyAgICAzCit9OworfTsK
KworY2xhc3MgQ2xhc3MxMDkgeworICAgIHN0YXRpYyBpbnQgYXJyYXkxMyA9IHsgfTsKKworICAg
IHN0YXRpYyBpbnQgYXJyYXkxNCA9IHsKKyAgICB9OworCisgICAgc3RhdGljIGludCBhcnJheTE1
ID0geyAxLCAyLCAzIH07CisKKyAgICBzdGF0aWMgaW50IGFycmF5MTYgPSB7CisgICAgICAgIDEs
CisgICAgICAgIDIsCisgICAgICAgIDMKKyAgICB9OworfTsKKworfTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>124634</attachid>
            <date>2012-01-30 17:06:04 -0800</date>
            <delta_ts>2012-01-30 18:40:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-77336-20120131100603.patch</filename>
            <type>text/plain</type>
            <size>7838</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA2MjAxCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggOWEwMTVhYTdiMTVhMDU4YjYxYTNhMTI5MDY2NjE0NjFl
ODFkYTMzYy4uZTYzMTEwMjQwMWUzNGI0YmI4MTM4NWVmOTAzYjBjNTY0NDViNzU5NSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQy
IEBACisyMDEyLTAxLTMwICBLZW50YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKwor
ICAgICAgICBSRUdSRVNTSU9OKHIxMDU3OTcpOiBwcmVwYXJlLUNoYW5nZUxvZyBmb3IgYSAuY3Bw
IGZpbGUgY2FuCisgICAgICAgIG91dHB1dCBhbiBlbXB0eSBtZXRob2QgbmFtZSAoaS5lLiAiKCki
KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzczMzYK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICByMTA1Nzk3
IHRyaWVkIHRvIGRldGVjdCBhIGNoYW5nZSBvdXRzaWRlIG1ldGhvZHMsIGJ1dCBpdCBjYXVzZXMg
YSBidWcgdGhhdAorICAgICAgICBwcmVwYXJlLUNoYW5nZUxvZyBjYW4gb3V0cHV0IGFuIGVtcHR5
IG1ldGhvZCBuYW1lLCBsaWtlIHRoaXM6CisKKyAgICAgICAgICAgICogZm9vL2Jhci9iYXouY3Bw
OgorICAgICAgICAgICAgKG1ldGhvZDEpOgorICAgICAgICAgICAgKCk6CisgICAgICAgICAgICAo
bWV0aG9kMik6CisKKyAgICAgICAgVGhpcyBpcyBiZWNhdXNlIHRoZSBjcHAgcGFyc2VyIGluIHBy
ZXBhcmUtQ2hhbmdlTG9nIGNhbm5vdCBkaXN0aW5ndWlzaAorICAgICAgICAneycgYXMgdGhlIGJl
Z2lubmluZyBvZiBhIG1ldGhvZCB3aXRoICd7JyBhcyB0aGUgYmVnaW5uaW5nIG9mIGFuIGFycmF5
IGRlZmluaXRpb24KKyAgICAgICAgYXQgdGhlIHRvcCBsZXZlbC4KKworICAgICAgICAgICAgaW50
IGFbXSA9IHsgMSwgMiwgMyB9OyAgLy8gVGhpcyAneycgaXMgdGhlIGJlZ2lubmluZyBvZiBhbiBh
cnJheSBkZWZpbml0aW9uLgorCisgICAgICAgICAgICB2b2lkIGZ1bmMoKSB7IC8vIFRoaXMgJ3sn
IGlzIHRoZSBiZWdpbm5pbmcgb2YgYSBtZXRob2QuCisgICAgICAgICAgICAgICAgLi4uOworICAg
ICAgICAgICAgfQorCisgICAgICAgIFRoaXMgcGF0Y2ggZml4ZXMgcHJlcGFyZS1DaGFuZ2VMb2cg
c28gdGhhdCBpdCBza2lwcyBhbiBhcnJheSBkZWZpbml0aW9uIGF0IHRoZSB0b3AgbGV2ZWwuCisK
KyAgICAgICAgKiBTY3JpcHRzL3ByZXBhcmUtQ2hhbmdlTG9nOgorICAgICAgICAoZ2V0X2Z1bmN0
aW9uX2xpbmVfcmFuZ2VzX2Zvcl9jcHApOiBNb2RpZmllZCBhcyBkZXNjcmliZWQgYWJvdmUuCisg
ICAgICAgIChnZW5lcmF0ZUZ1bmN0aW9uTGlzdHMpOiBBcyBhIGhhY2ssIG1vZGlmaWVkIHNvIHRo
YXQgcHJlcGFyZS1DaGFuZ2VMb2cgZG9lcyBub3Qgb3V0cHV0CisgICAgICAgIGFuIGVtcHR5IG1l
dGhvZCBuYW1lLiBJZGVhbGx5IHRoaXMgc2hvdWxkIG5vdCBoYXBwZW4gYnV0IG1heSBoYXBwZW4s
IHNpbmNlIHRoZQorICAgICAgICBwYXJzZXJzIGFyZSBub3QgcGVyZmVjdC4KKyAgICAgICAgKiBT
Y3JpcHRzL3dlYmtpdHBlcmwvcHJlcGFyZS1DaGFuZ2VMb2dfdW5pdHRlc3QvcmVzb3VyY2VzL2Nw
cF91bml0dGVzdHMuY3BwOiBBZGRlZCB0ZXN0IGNhc2VzLgorICAgICAgICAoTmFtZVNwYWNlNyk6
CisgICAgICAgIChOYW1lU3BhY2U4KToKKyAgICAgICAgKENsYXNzMTA5KToKKyAgICAgICAgKiBT
Y3JpcHRzL3dlYmtpdHBlcmwvcHJlcGFyZS1DaGFuZ2VMb2dfdW5pdHRlc3QvcmVzb3VyY2VzL2Nw
cF91bml0dGVzdHMtZXhwZWN0ZWQudHh0OgorCiAyMDEyLTAxLTI5ICBTaGVyaWZmIEJvdCAgPHdl
YmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5n
IG91dCByMTA2MTA5LgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9wcmVwYXJlLUNoYW5nZUxv
ZyBiL1Rvb2xzL1NjcmlwdHMvcHJlcGFyZS1DaGFuZ2VMb2cKaW5kZXggYjE4ZWE2MmE4NWQxMDQ1
MGIwZDlhMjI1NzA2ZWM1NzcwMDIzMmQwZi4uYTEwYjkyZjliYmI2MTJjY2JmMTcwYjhlOTdkMzI5
NTU3Mjg4NjZkYyAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9wcmVwYXJlLUNoYW5nZUxvZwor
KysgYi9Ub29scy9TY3JpcHRzL3ByZXBhcmUtQ2hhbmdlTG9nCkBAIC0yNzAsNiArMjcwLDE0IEBA
IHN1YiBnZW5lcmF0ZUZ1bmN0aW9uTGlzdHMoJCQkJCQpCiAgICAgICAgICAgICBGVU5DVElPTjog
Zm9yZWFjaCBteSAkZnVuY3Rpb25fcmFuZ2VfcmVmIChAZnVuY3Rpb25fcmFuZ2VzKSB7CiAgICAg
ICAgICAgICAgICAgbXkgQGZ1bmN0aW9uX3JhbmdlID0gQCRmdW5jdGlvbl9yYW5nZV9yZWY7CiAK
KyAgICAgICAgICAgICAgICAjIEZJWE1FOiBUaGlzIGlzIGEgaGFjay4gSWYgdGhlIGZ1bmN0aW9u
IG5hbWUgaXMgZW1wdHksIHNraXAgaXQuCisgICAgICAgICAgICAgICAgIyBUaGUgY3BwLCBweXRo
b24sIGphdmFzY3JpcHQsIHBlcmwsIGNzcyBhbmQgamF2YSBwYXJzZXJzCisgICAgICAgICAgICAg
ICAgIyBhcmUgbm90IHBlcmZlY3RseSBpbXBsZW1lbnRlZCBhbmQgc29tZXRpbWVzIGZ1bmN0aW9u
IG5hbWVzIGNhbm5vdCBiZSByZXRyaWV2ZWQKKyAgICAgICAgICAgICAgICAjIGNvcnJlY3RseS4g
QXMgeW91IGNhbiBzZWUgaW4gZ2V0X2Z1bmN0aW9uX2xpbmVfcmFuZ2VzX1hYWFgoKSwgdGhvc2Ug
cGFyc2VycworICAgICAgICAgICAgICAgICMgYXJlIG5vdCBpbnRlbmRlZCB0byBpbXBsZW1lbnQg
cmVhbCBwYXJzZXJzIGJ1dCBpbnRlbmRlZCB0byBqdXN0IHJldHJpZXZlIGZ1bmN0aW9uIG5hbWVz
CisgICAgICAgICAgICAgICAgIyBmb3IgbW9zdCBwcmFjdGljYWwgc3ludGF4ZXMuCisgICAgICAg
ICAgICAgICAgbmV4dCB1bmxlc3MgJGZ1bmN0aW9uX3JhbmdlWzJdOworCiAgICAgICAgICAgICAg
ICAgIyBBZHZhbmNlIHRvIHN1Y2Nlc3NpdmUgY2hhbmdlIHJhbmdlcy4KICAgICAgICAgICAgICAg
ICBmb3IgKDs7IEBjaGFuZ2VfcmFuZ2UgPSBAe3NoaWZ0IEBjaGFuZ2VfcmFuZ2VzfSkgewogICAg
ICAgICAgICAgICAgICAgICBsYXN0IEZVTkNUSU9OIHVubGVzcyBAY2hhbmdlX3JhbmdlOwpAQCAt
NjE4LDEwICs2MjYsMTIgQEAgc3ViIGdldF9mdW5jdGlvbl9saW5lX3Jhbmdlc19mb3JfY3BwKCQk
KQogICAgIG15ICRpbl9tZXRob2RfZGVjbGFyYXRpb24gPSAwOwogICAgIG15ICRpbl9wYXJlbnRo
ZXNlcyA9IDA7CiAgICAgbXkgJGluX2JyYWNlcyA9IDA7CisgICAgbXkgJGluX3RvcGxldmVsX2Fy
cmF5X2JyYWNlID0gMDsKICAgICBteSAkYnJhY2Vfc3RhcnQgPSAwOwogICAgIG15ICRicmFjZV9l
bmQgPSAwOwogICAgIG15ICRuYW1lc3BhY2Vfc3RhcnQgPSAtMTsKICAgICBteSAkc2tpcF90aWxf
YnJhY2Vfb3Jfc2VtaWNvbG9uID0gMDsKKyAgICBteSAkZXF1YWxfb2JzZXJ2ZWQgPSAwOwogCiAg
ICAgbXkgJHdvcmQgPSAiIjsKICAgICBteSAkaW50ZXJmYWNlX25hbWUgPSAiIjsKQEAgLTc0OSw3
ICs3NTksMjMgQEAgc3ViIGdldF9mdW5jdGlvbl9saW5lX3Jhbmdlc19mb3JfY3BwKCQkKQogCiAK
ICAgICAgICAgIyBGaW5kIGZ1bmN0aW9uLCBpbnRlcmZhY2UgYW5kIG1ldGhvZCBuYW1lcy4KLSAg
ICAgICAgd2hpbGUgKG0mKCg/OltbOndvcmQ6XV0rOjopKm9wZXJhdG9yKD86WyBcdF0qXChcKXxb
XigpXSopfFtbOndvcmQ6XTp+XSt8Wygpe306O10pfFxAKD86aW1wbGVtZW50YXRpb258aW50ZXJm
YWNlfHByb3RvY29sKVxzKyhcdyspW157XSomZykgeworICAgICAgICB3aGlsZSAobSYoKD86W1s6
d29yZDpdXSs6Oikqb3BlcmF0b3IoPzpbIFx0XSpcKFwpfFteKCldKil8W1s6d29yZDpdOn5dK3xb
KCl7fTo7PV0pfFxAKD86aW1wbGVtZW50YXRpb258aW50ZXJmYWNlfHByb3RvY29sKVxzKyhcdysp
W157XSomZykgeworICAgICAgICAgICAgIyBTa2lwIGFuIGFycmF5IGRlZmluaXRpb24gYXQgdGhl
IHRvcCBsZXZlbC4KKyAgICAgICAgICAgICMgZS5nLiBzdGF0aWMgaW50IGFycltdID0geyAxLCAy
LCAzIH07CisgICAgICAgICAgICBpZiAoJDEpIHsKKyAgICAgICAgICAgICAgICBpZiAoJDEgZXEg
Ij0iIGFuZCAhJGluX3BhcmVudGhlc2VzIGFuZCAhJGluX2JyYWNlcykgeworICAgICAgICAgICAg
ICAgICAgICAkZXF1YWxfb2JzZXJ2ZWQgPSAxOworICAgICAgICAgICAgICAgIH0gZWxzaWYgKCQx
IGVxICJ7IiBhbmQgJGVxdWFsX29ic2VydmVkKSB7CisgICAgICAgICAgICAgICAgICAgICMgVGhp
cyAneycgaXMgdGhlIGJlZ2lubmluZyBvZiBhbiBhcnJheSBkZWZpbml0aW9uLCBub3QgdGhlIGJl
Z2lubmluZyBvZiBhIG1ldGhvZC4KKyAgICAgICAgICAgICAgICAgICAgJGluX3RvcGxldmVsX2Fy
cmF5X2JyYWNlID0gMTsKKyAgICAgICAgICAgICAgICAgICAgJGluX2JyYWNlcysrOworICAgICAg
ICAgICAgICAgICAgICAkZXF1YWxfb2JzZXJ2ZWQgPSAwOworICAgICAgICAgICAgICAgICAgICBu
ZXh0OworICAgICAgICAgICAgICAgIH0gZWxzaWYgKCQxICF+IC9bIFx0XS8pIHsKKyAgICAgICAg
ICAgICAgICAgICAgJGVxdWFsX29ic2VydmVkID0gMDsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9CisKICAgICAgICAgICAgICMgaW50ZXJmYWNlIG5hbWUKICAgICAgICAgICAgIGlm
ICgkMikgewogICAgICAgICAgICAgICAgICRpbnRlcmZhY2VfbmFtZSA9ICQyOwpAQCAtODMzLDYg
Kzg1OSwxMiBAQCBzdWIgZ2V0X2Z1bmN0aW9uX2xpbmVfcmFuZ2VzX2Zvcl9jcHAoJCQpCiAgICAg
ICAgICAgICAgICAgIyBFbmQgb2YgYW4gb3V0ZXIgbGV2ZWwgc2V0IG9mIGJyYWNlcy4KICAgICAg
ICAgICAgICAgICAjIFRoaXMgY291bGQgYmUgYSBmdW5jdGlvbiBib2R5LgogICAgICAgICAgICAg
ICAgIGlmICghJGluX2JyYWNlcyBhbmQgJG5hbWUpIHsKKyAgICAgICAgICAgICAgICAgICAgIyBU
aGlzIGlzIHRoZSBlbmQgb2YgYW4gYXJyYXkgZGVmaW5pdGlvbiBhdCB0aGUgdG9wIGxldmVsLCBu
b3QgdGhlIGVuZCBvZiBhIG1ldGhvZC4KKyAgICAgICAgICAgICAgICAgICAgaWYgKCRpbl90b3Bs
ZXZlbF9hcnJheV9icmFjZSkgeworICAgICAgICAgICAgICAgICAgICAgICAgJGluX3RvcGxldmVs
X2FycmF5X2JyYWNlID0gMDsKKyAgICAgICAgICAgICAgICAgICAgICAgIG5leHQ7CisgICAgICAg
ICAgICAgICAgICAgIH0KKwogICAgICAgICAgICAgICAgICAgICBwdXNoIEByYW5nZXMsIFsgJHN0
YXJ0LCAkLiwgJG5hbWUgXTsKICAgICAgICAgICAgICAgICAgICAgaWYgKEBuYW1lc3BhY2VzKSB7
CiAgICAgICAgICAgICAgICAgICAgICAgICAkbmFtZSA9ICRuYW1lc3BhY2VzWy0xXTsKZGlmZiAt
LWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9wcmVwYXJlLUNoYW5nZUxvZ191bml0dGVz
dC9yZXNvdXJjZXMvY3BwX3VuaXR0ZXN0cy1leHBlY3RlZC50eHQgYi9Ub29scy9TY3JpcHRzL3dl
YmtpdHBlcmwvcHJlcGFyZS1DaGFuZ2VMb2dfdW5pdHRlc3QvcmVzb3VyY2VzL2NwcF91bml0dGVz
dHMtZXhwZWN0ZWQudHh0CmluZGV4IGM0ZWI1OGQ1OGVkZTM2ODlkZTdhZTA0OGUwMWMyMGI3ZjQ0
NTVmZGUuLmQ5NGIwNzQwNjA1Nzk2NzVkNTU0NmY3MThmZjE1Mjc5NWY4MTQ4ODMgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9wcmVwYXJlLUNoYW5nZUxvZ191bml0dGVzdC9y
ZXNvdXJjZXMvY3BwX3VuaXR0ZXN0cy1leHBlY3RlZC50eHQKKysrIGIvVG9vbHMvU2NyaXB0cy93
ZWJraXRwZXJsL3ByZXBhcmUtQ2hhbmdlTG9nX3VuaXR0ZXN0L3Jlc291cmNlcy9jcHBfdW5pdHRl
c3RzLWV4cGVjdGVkLnR4dApAQCAtMzI2LDYgKzMyNiwzMSBAQAogICAgICAgJzMyMScsCiAgICAg
ICAnMzIxJywKICAgICAgICdDbGFzczEwOCcKKyAgICBdLAorICAgIFsKKyAgICAgICczNDAnLAor
ICAgICAgJzM1NCcsCisgICAgICAnTmFtZVNwYWNlNycKKyAgICBdLAorICAgIFsKKyAgICAgICcz
NTYnLAorICAgICAgJzM2OScsCisgICAgICAnTmFtZVNwYWNlOCcKKyAgICBdLAorICAgIFsKKyAg
ICAgICczNzEnLAorICAgICAgJzM3MScsCisgICAgICAnTmFtZVNwYWNlNycKKyAgICBdLAorICAg
IFsKKyAgICAgICczNzMnLAorICAgICAgJzM4NicsCisgICAgICAnQ2xhc3MxMDknCisgICAgXSwK
KyAgICBbCisgICAgICAnMzg4JywKKyAgICAgICczODgnLAorICAgICAgJ05hbWVTcGFjZTcnCiAg
ICAgXQogICBdCiB9CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwvcHJlcGFy
ZS1DaGFuZ2VMb2dfdW5pdHRlc3QvcmVzb3VyY2VzL2NwcF91bml0dGVzdHMuY3BwIGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRwZXJsL3ByZXBhcmUtQ2hhbmdlTG9nX3VuaXR0ZXN0L3Jlc291cmNlcy9j
cHBfdW5pdHRlc3RzLmNwcAppbmRleCBjMjk0MThiN2MxZGU2ZTc1ODQ0YTY2MjFhNGNjN2NlNTM3
ODk5Mzg2Li4wMTVhNjk0NzkxZDkzY2ExYmU3NzU3YzhjMDk5MmU1YzQzZmFhZGM3IDEwMDY0NAot
LS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwvcHJlcGFyZS1DaGFuZ2VMb2dfdW5pdHRlc3Qv
cmVzb3VyY2VzL2NwcF91bml0dGVzdHMuY3BwCisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVy
bC9wcmVwYXJlLUNoYW5nZUxvZ191bml0dGVzdC9yZXNvdXJjZXMvY3BwX3VuaXR0ZXN0cy5jcHAK
QEAgLTMyMCwzICszMjAsNzAgQEAgY2xhc3MgQ2xhc3MxMDggewogICAgIH0KICAgICBpbnQgaDsK
IH07CisKK2ludCBhW10gPSB7IH07CitpbnQgYVtdID0geworfTsKK2ludCBhW10gPSB7IDEsIDIs
IDMgfTsKK2ludCBhW10gPSB7CisgICAgMSwKKyAgICAyLAorICAgIDMKK307CitpbnQgYVszXSA9
IHsgMSwgMiwgMyB9OworaW50IGFbXVszXSA9IHsgezEsIDIsIDN9LCB7NCwgNSwgNn0gfTsKK2lu
dCBhWzJdWzNdID0geyB7MSwgMiwgM30sIHs0LCA1LCA2fSB9OworZXh0ZXJuIGludCBhW107Citj
aGFyIGFbNF0gPSAidGVzdCI7CisKK25hbWVzcGFjZSBOYW1lU3BhY2U3IHsKK2ludCBhW10gPSB7
IH07CitpbnQgYVtdID0geworfTsKK2ludCBhW10gPSB7IDEsIDIsIDMgfTsKK2ludCBhW10gPSB7
CisgICAgMSwKKyAgICAyLAorICAgIDMKK307CitpbnQgYVszXSA9IHsgMSwgMiwgMyB9OworaW50
IGFbXVszXSA9IHsgezEsIDIsIDN9LCB7NCwgNSwgNn0gfTsKK2ludCBhWzJdWzNdID0geyB7MSwg
MiwgM30sIHs0LCA1LCA2fSB9OworZXh0ZXJuIGludCBhW107CitjaGFyIGFbNF0gPSAidGVzdCI7
CisKK25hbWVzcGFjZSBOYW1lU3BhY2U4IHsKK2ludCBhW10gPSB7IH07CitpbnQgYVtdID0gewor
fTsKK2ludCBhW10gPSB7IDEsIDIsIDMgfTsKK2ludCBhW10gPSB7CisgICAgMSwKKyAgICAyLAor
ICAgIDMKK307CitpbnQgYVszXSA9IHsgMSwgMiwgMyB9OworaW50IGFbXVszXSA9IHsgezEsIDIs
IDN9LCB7NCwgNSwgNn0gfTsKK2ludCBhWzJdWzNdID0geyB7MSwgMiwgM30sIHs0LCA1LCA2fSB9
OworZXh0ZXJuIGludCBhW107CitjaGFyIGFbNF0gPSAidGVzdCI7Cit9OworCitjbGFzcyBDbGFz
czEwOSB7CisgICAgaW50IGFbXSA9IHsgfTsKKyAgICBpbnQgYVtdID0geworICAgIH07CisgICAg
aW50IGFbXSA9IHsgMSwgMiwgMyB9OworICAgIGludCBhW10gPSB7CisgICAgICAgIDEsCisgICAg
ICAgIDIsCisgICAgICAgIDMKKyAgICB9OworICAgIGludCBhWzNdID0geyAxLCAyLCAzIH07Cisg
ICAgaW50IGFbXVszXSA9IHsgezEsIDIsIDN9LCB7NCwgNSwgNn0gfTsKKyAgICBpbnQgYVsyXVsz
XSA9IHsgezEsIDIsIDN9LCB7NCwgNSwgNn0gfTsKKyAgICBleHRlcm4gaW50IGFbXTsKKyAgICBj
aGFyIGFbNF0gPSAidGVzdCI7Cit9OworCit9Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>