<?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>52781</bug_id>
          
          <creation_ts>2011-01-19 21:20:29 -0800</creation_ts>
          <short_desc>Inserting multiple whitespace using text composition (IME) should insert interleaved nbsp and whitespace.</short_desc>
          <delta_ts>2011-01-24 19:27:30 -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>HTML Editing</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</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>
          <dependson>5241</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Hajime Morrita">morrita</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ap</cc>
    
    <cc>buildbot</cc>
    
    <cc>darin</cc>
    
    <cc>dglazkov</cc>
    
    <cc>enrica</cc>
    
    <cc>gustavo</cc>
    
    <cc>ojan</cc>
    
    <cc>rniwa</cc>
    
    <cc>tkent</cc>
    
    <cc>tony</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>337106</commentid>
    <comment_count>0</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2011-01-19 21:20:29 -0800</bug_when>
    <thetext>Followup fix for Bug 5241.
See https://bugs.webkit.org/show_bug.cgi?id=5241#c34 for detail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339150</commentid>
    <comment_count>1</comment_count>
      <attachid>79951</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-01-24 11:47:47 -0800</bug_when>
    <thetext>Created attachment 79951
fixes the bug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339375</commentid>
    <comment_count>2</comment_count>
      <attachid>79951</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-01-24 16:54:42 -0800</bug_when>
    <thetext>Comment on attachment 79951
fixes the bug

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

&gt; Source/WebCore/editing/htmlediting.cpp:359
&gt; +    Vector&lt;UChar&gt; rebalanacedString;

s/rebalanacedString/rebalancedString

Also, why use a Vector&lt;UChar&gt; instead of  String like the old code did?

&gt; Source/WebCore/editing/htmlediting.h:239
&gt;  // Miscellaneous functions on String
&gt; -    
&gt; +inline bool isWhitespace(UChar c)
&gt; +{
&gt; +    return c == noBreakSpace || c == &apos; &apos; || c == &apos;\n&apos; || c == &apos;\t&apos;;
&gt; +}

Nit: technically, this is not a function on String, os the comment is not correct.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339377</commentid>
    <comment_count>3</comment_count>
      <attachid>79951</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-01-24 16:55:02 -0800</bug_when>
    <thetext>Comment on attachment 79951
fixes the bug

Whoops, meant to r-.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339392</commentid>
    <comment_count>4</comment_count>
      <attachid>79951</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-01-24 17:24:21 -0800</bug_when>
    <thetext>Comment on attachment 79951
fixes the bug

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

&gt;&gt; Source/WebCore/editing/htmlediting.cpp:359
&gt;&gt; +    Vector&lt;UChar&gt; rebalanacedString;
&gt; 
&gt; s/rebalanacedString/rebalancedString
&gt; 
&gt; Also, why use a Vector&lt;UChar&gt; instead of  String like the old code did?

As far I checked, we can&apos;t modify each character in String directly (because multiple String instances may share single StringImpl).  i.e. String only has UChar operator[](unsigned index) const.

&gt;&gt; Source/WebCore/editing/htmlediting.h:239
&gt;&gt; +}
&gt; 
&gt; Nit: technically, this is not a function on String, os the comment is not correct.

Maybe I should change the comment to &quot;Miscellaneous functions on Text&quot;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339434</commentid>
    <comment_count>5</comment_count>
      <attachid>80006</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-01-24 18:28:37 -0800</bug_when>
    <thetext>Created attachment 80006
fixed typos &amp; comment per ojan&apos;s comment</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339437</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-01-24 18:33:23 -0800</bug_when>
    <thetext>Attachment 80006 did not build on chromium:
Build output: http://queues.webkit.org/results/7585300</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339438</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-01-24 18:33:55 -0800</bug_when>
    <thetext>Attachment 80006 did not build on gtk:
Build output: http://queues.webkit.org/results/7645057</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339441</commentid>
    <comment_count>8</comment_count>
      <attachid>80007</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-01-24 18:42:52 -0800</bug_when>
    <thetext>Created attachment 80007
fixed one more typo</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339442</commentid>
    <comment_count>9</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-01-24 18:45:36 -0800</bug_when>
    <thetext>Attachment 80006 did not build on qt:
Build output: http://queues.webkit.org/results/7542325</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339443</commentid>
    <comment_count>10</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2011-01-24 18:51:15 -0800</bug_when>
    <thetext>Attachment 80006 did not build on win:
Build output: http://queues.webkit.org/results/7621313</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339444</commentid>
    <comment_count>11</comment_count>
      <attachid>79951</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-01-24 18:59:26 -0800</bug_when>
    <thetext>Comment on attachment 79951
fixes the bug

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

&gt;&gt;&gt; Source/WebCore/editing/htmlediting.cpp:359
&gt;&gt;&gt; +    Vector&lt;UChar&gt; rebalanacedString;
&gt;&gt; 
&gt;&gt; s/rebalanacedString/rebalancedString
&gt;&gt; 
&gt;&gt; Also, why use a Vector&lt;UChar&gt; instead of  String like the old code did?
&gt; 
&gt; As far I checked, we can&apos;t modify each character in String directly (because multiple String instances may share single StringImpl).  i.e. String only has UChar operator[](unsigned index) const.

I don&apos;t understand. Isn&apos;t that what the old code was doing with the &quot;replace&quot; calls?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339447</commentid>
    <comment_count>12</comment_count>
      <attachid>80007</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-01-24 19:02:24 -0800</bug_when>
    <thetext>Comment on attachment 80007
fixed one more typo

Ryosuke informed me that replace copies the string. So the new code is certainly more efficient.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339450</commentid>
    <comment_count>13</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-01-24 19:09:28 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; (From update of attachment 80007 [details])
&gt; Ryosuke informed me that replace copies the string. So the new code is certainly more efficient.

Note: new function creates copy regardless of whether there are whitespace or not while the old implementation doesn&apos;t make a copy when there are no whitespace.  However, in practice, almost all text contains whitespace so this shouldn&apos;t be a problem.  We can add that optimization later if we&apos;re so inclined.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339452</commentid>
    <comment_count>14</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-01-24 19:27:30 -0800</bug_when>
    <thetext>Committed r76565: &lt;http://trac.webkit.org/changeset/76565&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>79951</attachid>
            <date>2011-01-24 11:47:47 -0800</date>
            <delta_ts>2011-01-24 18:59:26 -0800</delta_ts>
            <desc>fixes the bug</desc>
            <filename>bug-52781-20110124114746.patch</filename>
            <type>text/plain</type>
            <size>9667</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDc2NTM2KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTEtMDEtMjQgIFJ5b3N1a2Ug
Tml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgSW5zZXJ0aW5nIG11bHRpcGxlIHdoaXRlc3BhY2UgdXNpbmcgdGV4
dCBjb21wb3NpdGlvbiAoSU1FKSBzaG91bGQgaW5zZXJ0IGludGVybGVhdmVkIG5ic3AgYW5kIHdo
aXRlc3BhY2UuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD01Mjc4MQorCisgICAgICAgIFRoZSBidWcgd2FzIGNhdXNlZCBieSBzdHJpbmdXaXRoUmViYWxh
bmNlZFdoaXRlc3BhY2UncyByZXBsYWNpbmcgdGhlIHNwYWNlIGF0IHRoZSBiZWdpbm5pbmcgb2Yg
YSBwYXJhZ3JhcGgKKyAgICAgICAgYW5kIHRoZSBlbmQgb2YgYSBwYXJhZ3JhcGggYnkgYSBub24t
YnJlYWtpbmcgc3BhY2UgYWZ0ZXIgaXQgcmVwbGFjZWQgdHdvIGNvbnNlY3V0aXZlIHNwYWNlcyBi
eSBhIHNwYWNlIGFuZAorICAgICAgICBub24tYnJlYWtpbmcgc3BhY2UgcGF0dGVybiwgdGhlcmVi
eSByZXBsYWNpbmcgbW9yZSBzcGFjZXMgYnkgbm9uLWJyZWFraW5nIHNwYWNlcyB0aGFuIG5lZWRl
ZC4KKworICAgICAgICBSZXdyb3RlIHRoZSBmdW5jdGlvbiB1c2luZyBWZWN0b3I8VUNoYXI+IHRv
IGZpeCB0aGUgYnVnLiBOZXcgZnVuY3Rpb24gbm8gbG9uZ2VyIGNhbGxzIFN0cmluZzo6cmVwbGFj
ZQorICAgICAgICBtdWx0aXBsZSB0aW1lcyBidXQgaW5zdGVhZCBpdCB0cmF2ZXJzZXMgdGhyb3Vn
aCB0aGUgc3RyaW5nIGFuZCByZXBsYWNlcyBhIHNwYWNlIHRoYXQgaW1tZWRpYXRlbHkgZm9sbG93
cworICAgICAgICBhbm90aGVyIHNwYWNlIG9yIGFwcGVhcnMgYXQgdGhlIGJlZ2lubmluZyBvZiBh
IHBhcmFncmFwaCBvciBhdCB0aGUgZW5kIG9mIGEgcGFyYWdyYXBoIGJ5IGEgbm9uLWJyZWFrIHNw
YWNlLgorCisgICAgICAgICogZWRpdGluZy9Db21wb3NpdGVFZGl0Q29tbWFuZC5jcHA6CisgICAg
ICAgICogZWRpdGluZy9odG1sZWRpdGluZy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpzdHJpbmdX
aXRoUmViYWxhbmNlZFdoaXRlc3BhY2UpOiBXcml0dGVuLgorICAgICAgICAqIGVkaXRpbmcvaHRt
bGVkaXRpbmcuaDoKKyAgICAgICAgKFdlYkNvcmU6OmlzV2hpdGVzcGFjZSk6IFJlbW92ZWQgZnJv
bSBDb21wb3NpdGVFZGl0Q29tbWFuZC5jcHAKKwogMjAxMS0wMS0yNCAgQW5kcmVpIFBvcGVzY3Ug
IDxhbmRyZWlwQGdvb2dsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTmF0ZSBDaGFwaW4u
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0NvbXBvc2l0ZUVkaXRDb21tYW5kLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0NvbXBvc2l0ZUVkaXRDb21tYW5k
LmNwcAkocmV2aXNpb24gNzY1MTcpCisrKyBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0NvbXBvc2l0
ZUVkaXRDb21tYW5kLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzkwLDExICszOTAsNiBAQCB2b2lk
IENvbXBvc2l0ZUVkaXRDb21tYW5kOjpzZXROb2RlQXR0cmliCiAgICAgYXBwbHlDb21tYW5kVG9D
b21wb3NpdGUoU2V0Tm9kZUF0dHJpYnV0ZUNvbW1hbmQ6OmNyZWF0ZShlbGVtZW50LCBhdHRyaWJ1
dGUsIHZhbHVlKSk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgYm9vbCBpc1doaXRlc3BhY2UoVUNoYXIg
YykKLXsKLSAgICByZXR1cm4gYyA9PSBub0JyZWFrU3BhY2UgfHwgYyA9PSAnICcgfHwgYyA9PSAn
XG4nIHx8IGMgPT0gJ1x0JzsKLX0KLQogc3RhdGljIGlubGluZSBib29sIGNvbnRhaW5zT25seVdo
aXRlc3BhY2UoY29uc3QgU3RyaW5nJiB0ZXh0KQogewogICAgIGZvciAodW5zaWduZWQgaSA9IDA7
IGkgPCB0ZXh0Lmxlbmd0aCgpOyArK2kpIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
aHRtbGVkaXRpbmcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvaHRt
bGVkaXRpbmcuY3BwCShyZXZpc2lvbiA3NjUxNykKKysrIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
aHRtbGVkaXRpbmcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNTYsMjUgKzM1NiwyNyBAQCBpbnQg
bGFzdE9mZnNldEZvckVkaXRpbmcoY29uc3QgTm9kZSogbm9kCiAKIFN0cmluZyBzdHJpbmdXaXRo
UmViYWxhbmNlZFdoaXRlc3BhY2UoY29uc3QgU3RyaW5nJiBzdHJpbmcsIGJvb2wgc3RhcnRJc1N0
YXJ0T2ZQYXJhZ3JhcGgsIGJvb2wgZW5kSXNFbmRPZlBhcmFncmFwaCkKIHsKLSAgICBERUZJTkVf
U1RBVElDX0xPQ0FMKFN0cmluZywgdHdvU3BhY2VzLCAoIiAgIikpOwotICAgIERFRklORV9TVEFU
SUNfTE9DQUwoU3RyaW5nLCBuYnNwLCAoIlx4YTAiKSk7Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NB
TChTdHJpbmcsIHBhdHRlcm4sICgiIFx4YTAiKSk7CisgICAgVmVjdG9yPFVDaGFyPiByZWJhbGFu
YWNlZFN0cmluZzsKKyAgICBhcHBlbmQocmViYWxhbmFjZWRTdHJpbmcsIHN0cmluZyk7CiAKLSAg
ICBTdHJpbmcgcmViYWxhbmNlZFN0cmluZyA9IHN0cmluZzsKKyAgICBib29sIHByZXZpb3VzQ2hh
cmFjdGVyV2FzU3BhY2UgPSBmYWxzZTsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHJlYmFs
YW5hY2VkU3RyaW5nLnNpemUoKTsgaSsrKSB7CisgICAgICAgIGlmICghaXNXaGl0ZXNwYWNlKHJl
YmFsYW5hY2VkU3RyaW5nW2ldKSkgeworICAgICAgICAgICAgcHJldmlvdXNDaGFyYWN0ZXJXYXNT
cGFjZSA9IGZhbHNlOworICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIH0KIAotICAgIHJl
YmFsYW5jZWRTdHJpbmcucmVwbGFjZShub0JyZWFrU3BhY2UsICcgJyk7Ci0gICAgcmViYWxhbmNl
ZFN0cmluZy5yZXBsYWNlKCdcbicsICcgJyk7Ci0gICAgcmViYWxhbmNlZFN0cmluZy5yZXBsYWNl
KCdcdCcsICcgJyk7Ci0gICAgCi0gICAgcmViYWxhbmNlZFN0cmluZy5yZXBsYWNlKHR3b1NwYWNl
cywgcGF0dGVybik7Ci0gICAgCi0gICAgaWYgKHN0YXJ0SXNTdGFydE9mUGFyYWdyYXBoICYmIHJl
YmFsYW5jZWRTdHJpbmdbMF0gPT0gJyAnKQotICAgICAgICByZWJhbGFuY2VkU3RyaW5nLnJlcGxh
Y2UoMCwgMSwgbmJzcCk7Ci0gICAgaW50IGVuZCA9IHJlYmFsYW5jZWRTdHJpbmcubGVuZ3RoKCkg
LSAxOwotICAgIGlmIChlbmRJc0VuZE9mUGFyYWdyYXBoICYmIHJlYmFsYW5jZWRTdHJpbmdbZW5k
XSA9PSAnICcpCi0gICAgICAgIHJlYmFsYW5jZWRTdHJpbmcucmVwbGFjZShlbmQsIDEsIG5ic3Ap
OyAgICAKKyAgICAgICAgaWYgKHByZXZpb3VzQ2hhcmFjdGVyV2FzU3BhY2UgfHwgKCFpICYmIHN0
YXJ0SXNTdGFydE9mUGFyYWdyYXBoKSB8fCAoaSArIDEgPT0gcmViYWxhbmFjZWRTdHJpbmcuc2l6
ZSgpICYmIGVuZElzRW5kT2ZQYXJhZ3JhcGgpKSB7CisgICAgICAgICAgICByZWJhbGFuYWNlZFN0
cmluZ1tpXSA9IG5vQnJlYWtTcGFjZTsKKyAgICAgICAgICAgIHByZXZpb3VzQ2hhcmFjdGVyV2Fz
U3BhY2UgPSBmYWxzZTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHJlYmFsYW5hY2Vk
U3RyaW5nW2ldID0gJyAnOworICAgICAgICAgICAgcHJldmlvdXNDaGFyYWN0ZXJXYXNTcGFjZSA9
IHRydWU7CisgICAgICAgIH0KKyAgICAgICAgICAgIAorICAgIH0KIAotICAgIHJldHVybiByZWJh
bGFuY2VkU3RyaW5nOworICAgIHJldHVybiBTdHJpbmc6OmFkb3B0KHJlYmFsYW5hY2VkU3RyaW5n
KTsKIH0KIAogYm9vbCBpc1RhYmxlU3RydWN0dXJlTm9kZShjb25zdCBOb2RlICpub2RlKQpJbmRl
eDogU291cmNlL1dlYkNvcmUvZWRpdGluZy9odG1sZWRpdGluZy5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvaHRtbGVkaXRpbmcuaAkocmV2aXNpb24gNzY1MTcpCisrKyBT
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL2h0bWxlZGl0aW5nLmgJKHdvcmtpbmcgY29weSkKQEAgLTI2
LDEwICsyNiwxMSBAQAogI2lmbmRlZiBodG1sZWRpdGluZ19oCiAjZGVmaW5lIGh0bWxlZGl0aW5n
X2gKIAotI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSAiSFRNTE5hbWVzLmgiCisj
aW5jbHVkZSAiQ2hhcmFjdGVyTmFtZXMuaCIKICNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCisj
aW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAiUG9zaXRpb24uaCIKKyNpbmNsdWRlIDx3
dGYvRm9yd2FyZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTIzMiw3ICsyMzMsMTAg
QEAgVmlzaWJsZVNlbGVjdGlvbiBzZWxlY3Rpb25Gb3JQYXJhZ3JhcGhJdAogICAgIAogCiAvLyBN
aXNjZWxsYW5lb3VzIGZ1bmN0aW9ucyBvbiBTdHJpbmcKLSAgICAKK2lubGluZSBib29sIGlzV2hp
dGVzcGFjZShVQ2hhciBjKQoreworICAgIHJldHVybiBjID09IG5vQnJlYWtTcGFjZSB8fCBjID09
ICcgJyB8fCBjID09ICdcbicgfHwgYyA9PSAnXHQnOworfQogU3RyaW5nIHN0cmluZ1dpdGhSZWJh
bGFuY2VkV2hpdGVzcGFjZShjb25zdCBTdHJpbmcmLCBib29sLCBib29sKTsKIGNvbnN0IFN0cmlu
ZyYgbm9uQnJlYWtpbmdTcGFjZVN0cmluZygpOwogCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA3NjUzNykK
KysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBA
CisyMDExLTAxLTI0ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluc2VydGluZyBtdWx0aXBs
ZSB3aGl0ZXNwYWNlIHVzaW5nIHRleHQgY29tcG9zaXRpb24gKElNRSkgc2hvdWxkIGluc2VydCBp
bnRlcmxlYXZlZCBuYnNwIGFuZCB3aGl0ZXNwYWNlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTI3ODEKKworICAgICAgICBUaGUgdGVzdCB3YXMgcmVi
YXNlbGluZWQgdG8gaGF2ZSBpbnRlcmxlYXZlZCBzcGFjZSBhbmQgbm9uLWJyZWFraW5nIHNwYWNl
LgorCisgICAgICAgICogZWRpdGluZy9pbnNlcnRpbmcvaW5zZXJ0LWNvbXBvc2l0aW9uLXdoaXRl
c3BhY2UtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGVkaXRpbmcvaW5zZXJ0aW5nL2luc2VydC1j
b21wb3NpdGlvbi13aGl0ZXNwYWNlLmh0bWw6CisKIDIwMTEtMDEtMjQgIEFuZHJlaSBQb3Blc2N1
ICA8YW5kcmVpcEBnb29nbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE5hdGUgQ2hhcGlu
LgpJbmRleDogTGF5b3V0VGVzdHMvZWRpdGluZy9pbnNlcnRpbmcvaW5zZXJ0LWNvbXBvc2l0aW9u
LXdoaXRlc3BhY2UtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2VkaXRp
bmcvaW5zZXJ0aW5nL2luc2VydC1jb21wb3NpdGlvbi13aGl0ZXNwYWNlLWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gNzY1MTcpCisrKyBMYXlvdXRUZXN0cy9lZGl0aW5nL2luc2VydGluZy9pbnNlcnQt
Y29tcG9zaXRpb24td2hpdGVzcGFjZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEw
LDE4ICsxMCwxOCBAQCBQQVNTIGNvbXBvc2l0aW5nVGV4dCBpcyAnQSDCoCDCoEInCiBQQVNTIGNv
bmZpcm1lZFRleHQgaXMgJ0EgwqAgwqBCJwogUEFTUyBjb21wb3NpdGluZ1RleHQgaXMgJ8KgQUIn
CiBQQVNTIGNvbmZpcm1lZFRleHQgaXMgJ8KgQUInCi1QQVNTIGNvbXBvc2l0aW5nVGV4dCBpcyAn
wqDCoEFCJwotUEFTUyBjb25maXJtZWRUZXh0IGlzICfCoMKgQUInCi1QQVNTIGNvbXBvc2l0aW5n
VGV4dCBpcyAnwqDCoCBBQicKLVBBU1MgY29uZmlybWVkVGV4dCBpcyAnwqDCoCBBQicKLVBBU1Mg
Y29tcG9zaXRpbmdUZXh0IGlzICfCoMKgIMKgQUInCi1QQVNTIGNvbmZpcm1lZFRleHQgaXMgJ8Kg
wqAgwqBBQicKLVBBU1MgY29tcG9zaXRpbmdUZXh0IGlzICfCoMKgIMKgIEFCJwotUEFTUyBjb25m
aXJtZWRUZXh0IGlzICfCoMKgIMKgIEFCJwotUEFTUyBjb21wb3NpdGluZ1RleHQgaXMgJ8KgwqAg
wqAgwqBBQicKLVBBU1MgY29uZmlybWVkVGV4dCBpcyAnwqDCoCDCoCDCoEFCJwotUEFTUyBjb21w
b3NpdGluZ1RleHQgaXMgJ8KgwqAgwqAgwqAgQUInCi1QQVNTIGNvbmZpcm1lZFRleHQgaXMgJ8Kg
wqAgwqAgwqAgQUInCitQQVNTIGNvbXBvc2l0aW5nVGV4dCBpcyAnwqAgQUInCitQQVNTIGNvbmZp
cm1lZFRleHQgaXMgJ8KgIEFCJworUEFTUyBjb21wb3NpdGluZ1RleHQgaXMgJ8KgIMKgQUInCitQ
QVNTIGNvbmZpcm1lZFRleHQgaXMgJ8KgIMKgQUInCitQQVNTIGNvbXBvc2l0aW5nVGV4dCBpcyAn
wqAgwqAgQUInCitQQVNTIGNvbmZpcm1lZFRleHQgaXMgJ8KgIMKgIEFCJworUEFTUyBjb21wb3Np
dGluZ1RleHQgaXMgJ8KgIMKgIMKgQUInCitQQVNTIGNvbmZpcm1lZFRleHQgaXMgJ8KgIMKgIMKg
QUInCitQQVNTIGNvbXBvc2l0aW5nVGV4dCBpcyAnwqAgwqAgwqAgQUInCitQQVNTIGNvbmZpcm1l
ZFRleHQgaXMgJ8KgIMKgIMKgIEFCJworUEFTUyBjb21wb3NpdGluZ1RleHQgaXMgJ8KgIMKgIMKg
IMKgQUInCitQQVNTIGNvbmZpcm1lZFRleHQgaXMgJ8KgIMKgIMKgIMKgQUInCiBQQVNTIGNvbXBv
c2l0aW5nVGV4dCBpcyAnQUIgwqAnCiBQQVNTIGNvbmZpcm1lZFRleHQgaXMgJ0FCIMKgJwogUEFT
UyBjb21wb3NpdGluZ1RleHQgaXMgJ0FCIMKgwqAnCkBAIC0zNCwxNiArMzQsMTYgQEAgUEFTUyBj
b21wb3NpdGluZ1RleHQgaXMgJ0FCIMKgIMKgIMKgJwogUEFTUyBjb25maXJtZWRUZXh0IGlzICdB
QiDCoCDCoCDCoCcKIFBBU1MgY29tcG9zaXRpbmdUZXh0IGlzICdBQiDCoCDCoCDCoMKgJwogUEFT
UyBjb25maXJtZWRUZXh0IGlzICdBQiDCoCDCoCDCoMKgJwotUEFTUyBjb21wb3NpdGluZ1RleHQg
aXMgJ8KgwqBBIMKgQiDCoCcKLVBBU1MgY29uZmlybWVkVGV4dCBpcyAnwqDCoEEgwqBCIMKgJwot
UEFTUyBjb21wb3NpdGluZ1RleHQgaXMgJ8KgwqBBIMKgQiDCoCcKLVBBU1MgY29uZmlybWVkVGV4
dCBpcyAnwqDCoEEgwqBCIMKgJworUEFTUyBjb21wb3NpdGluZ1RleHQgaXMgJ8KgIEEgwqBCIMKg
JworUEFTUyBjb25maXJtZWRUZXh0IGlzICfCoCBBIMKgQiDCoCcKK1BBU1MgY29tcG9zaXRpbmdU
ZXh0IGlzICfCoCBBIMKgQiDCoCcKK1BBU1MgY29uZmlybWVkVGV4dCBpcyAnwqAgQSDCoEIgwqAn
CiBQQVNTIGNvbXBvc2l0aW5nVGV4dCBpcyAnwqAnCiBQQVNTIGNvbmZpcm1lZFRleHQgaXMgJ8Kg
JwogUEFTUyBjb21wb3NpdGluZ1RleHQgaXMgJ8KgwqAnCiBQQVNTIGNvbmZpcm1lZFRleHQgaXMg
J8KgwqAnCi1QQVNTIGNvbXBvc2l0aW5nVGV4dCBpcyAnwqDCoMKgJwotUEFTUyBjb25maXJtZWRU
ZXh0IGlzICfCoMKgwqAnCitQQVNTIGNvbXBvc2l0aW5nVGV4dCBpcyAnwqAgwqAnCitQQVNTIGNv
bmZpcm1lZFRleHQgaXMgJ8KgIMKgJwogUEFTUyBjb21wb3NpdGluZ1RleHQgaXMgJ0FCJwogUEFT
UyBjb25maXJtZWRUZXh0IGlzICdBQicKIFBBU1MgY29tcG9zaXRpbmdUZXh0IGlzICdBIEInCklu
ZGV4OiBMYXlvdXRUZXN0cy9lZGl0aW5nL2luc2VydGluZy9pbnNlcnQtY29tcG9zaXRpb24td2hp
dGVzcGFjZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2VkaXRpbmcvaW5zZXJ0aW5n
L2luc2VydC1jb21wb3NpdGlvbi13aGl0ZXNwYWNlLmh0bWwJKHJldmlzaW9uIDc2NTE3KQorKysg
TGF5b3V0VGVzdHMvZWRpdGluZy9pbnNlcnRpbmcvaW5zZXJ0LWNvbXBvc2l0aW9uLXdoaXRlc3Bh
Y2UuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtNDUsMTIgKzQ1LDEyIEBAIHRlc3QoImRpdiIsICJB
ICAgQiIsICJBIFx4QTAgQiIpOwogdGVzdCgiZGl2IiwgIkEgICAgQiIsICJBIFx4QTAgXHhBMEIi
KTsgCiAKIHRlc3QoImRpdiIsICIgQUIiLCAiXHhBMEFCIik7Ci10ZXN0KCJkaXYiLCAiICBBQiIs
ICJceEEwXHhBMEFCIik7Ci10ZXN0KCJkaXYiLCAiICAgQUIiLCAiXHhBMFx4QTAgQUIiKTsKLXRl
c3QoImRpdiIsICIgICAgQUIiLCAiXHhBMFx4QTAgXHhBMEFCIik7Ci10ZXN0KCJkaXYiLCAiICAg
ICBBQiIsICJceEEwXHhBMCBceEEwIEFCIik7Ci10ZXN0KCJkaXYiLCAiICAgICAgQUIiLCAiXHhB
MFx4QTAgXHhBMCBceEEwQUIiKTsKLXRlc3QoImRpdiIsICIgICAgICAgQUIiLCAiXHhBMFx4QTAg
XHhBMCBceEEwIEFCIik7Cit0ZXN0KCJkaXYiLCAiICBBQiIsICJceEEwIEFCIik7Cit0ZXN0KCJk
aXYiLCAiICAgQUIiLCAiXHhBMCBceEEwQUIiKTsKK3Rlc3QoImRpdiIsICIgICAgQUIiLCAiXHhB
MCBceEEwIEFCIik7Cit0ZXN0KCJkaXYiLCAiICAgICBBQiIsICJceEEwIFx4QTAgXHhBMEFCIik7
Cit0ZXN0KCJkaXYiLCAiICAgICAgQUIiLCAiXHhBMCBceEEwIFx4QTAgQUIiKTsKK3Rlc3QoImRp
diIsICIgICAgICAgQUIiLCAiXHhBMCBceEEwIFx4QTAgXHhBMEFCIik7CiB0ZXN0KCJkaXYiLCAi
QUIgICIsICJBQiBceEEwIik7CiB0ZXN0KCJkaXYiLCAiQUIgICAiLCAiQUIgXHhBMFx4QTAiKTsK
IHRlc3QoImRpdiIsICJBQiAgICAiLCAiQUIgXHhBMCBceEEwIik7CkBAIC01OCwxMyArNTgsMTIg
QEAgdGVzdCgiZGl2IiwgIkFCICAgICAiLCAiQUIgXHhBMCBceEEwXHhBMAogdGVzdCgiZGl2Iiwg
IkFCICAgICAgIiwgIkFCIFx4QTAgXHhBMCBceEEwIik7CiB0ZXN0KCJkaXYiLCAiQUIgICAgICAg
IiwgIkFCIFx4QTAgXHhBMCBceEEwXHhBMCIpOwogCi10ZXN0KCJkaXYiLCAiICBBICBCICAiLCAi
XHhBMFx4QTBBIFx4QTBCIFx4QTAiKTsKLXRlc3QoImRpdiIsICJcdFx0QVx0XHRCXHRcdCIsICJc
eEEwXHhBMEEgXHhBMEIgXHhBMCIpOwordGVzdCgiZGl2IiwgIiAgQSAgQiAgIiwgIlx4QTAgQSBc
eEEwQiBceEEwIik7Cit0ZXN0KCJkaXYiLCAiXHRcdEFcdFx0Qlx0XHQiLCAiXHhBMCBBIFx4QTBC
IFx4QTAiKTsKIAogdGVzdCgiZGl2IiwgIiAiLCAiXHhBMCIpOwogdGVzdCgiZGl2IiwgIiAgIiwg
Ilx4QTBceEEwIik7Ci0vLyBUaGlzIGlzIHdyb25nLiBUaGlzIHNob3VsZCBpbnNlcnQgaW50ZXJs
ZWF2ZWQgbmJzcCBhbmQgd2hpdGVzcGFjZS4gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD01Mjc4MS4KLXRlc3QoImRpdiIsICIgICAiLCAiXHhBMFx4QTBceEEwIik7
Cit0ZXN0KCJkaXYiLCAiICAgIiwgIlx4QTAgXHhBMCIpOwogCiB0ZXN0KCJwcmUiLCAiQUIiLCAi
QUIiKTsKIHRlc3QoInByZSIsICJBIEIiLCAiQSBCIik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>80006</attachid>
            <date>2011-01-24 18:28:37 -0800</date>
            <delta_ts>2011-01-24 18:42:48 -0800</delta_ts>
            <desc>fixed typos &amp; comment per ojan&apos;s comment</desc>
            <filename>bug-52781-20110124182835.patch</filename>
            <type>text/plain</type>
            <size>9782</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDc2NTYwKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTEtMDEtMjQgIFJ5b3N1a2Ug
Tml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgSW5zZXJ0aW5nIG11bHRpcGxlIHdoaXRlc3BhY2UgdXNpbmcgdGV4
dCBjb21wb3NpdGlvbiAoSU1FKSBzaG91bGQgaW5zZXJ0IGludGVybGVhdmVkIG5ic3AgYW5kIHdo
aXRlc3BhY2UuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD01Mjc4MQorCisgICAgICAgIFRoZSBidWcgd2FzIGNhdXNlZCBieSBzdHJpbmdXaXRoUmViYWxh
bmNlZFdoaXRlc3BhY2UncyByZXBsYWNpbmcgdGhlIHNwYWNlIGF0IHRoZSBiZWdpbm5pbmcgb2Yg
YSBwYXJhZ3JhcGgKKyAgICAgICAgYW5kIHRoZSBlbmQgb2YgYSBwYXJhZ3JhcGggYnkgYSBub24t
YnJlYWtpbmcgc3BhY2UgYWZ0ZXIgaXQgcmVwbGFjZWQgdHdvIGNvbnNlY3V0aXZlIHNwYWNlcyBi
eSBhIHNwYWNlIGFuZAorICAgICAgICBub24tYnJlYWtpbmcgc3BhY2UgcGF0dGVybiwgdGhlcmVi
eSByZXBsYWNpbmcgbW9yZSBzcGFjZXMgYnkgbm9uLWJyZWFraW5nIHNwYWNlcyB0aGFuIG5lZWRl
ZC4KKworICAgICAgICBSZXdyb3RlIHRoZSBmdW5jdGlvbiB1c2luZyBWZWN0b3I8VUNoYXI+IHRv
IGZpeCB0aGUgYnVnLiBOZXcgZnVuY3Rpb24gbm8gbG9uZ2VyIGNhbGxzIFN0cmluZzo6cmVwbGFj
ZQorICAgICAgICBtdWx0aXBsZSB0aW1lcyBidXQgaW5zdGVhZCBpdCB0cmF2ZXJzZXMgdGhyb3Vn
aCB0aGUgc3RyaW5nIGFuZCByZXBsYWNlcyBhIHNwYWNlIHRoYXQgaW1tZWRpYXRlbHkgZm9sbG93
cworICAgICAgICBhbm90aGVyIHNwYWNlIG9yIGFwcGVhcnMgYXQgdGhlIGJlZ2lubmluZyBvZiBh
IHBhcmFncmFwaCBvciBhdCB0aGUgZW5kIG9mIGEgcGFyYWdyYXBoIGJ5IGEgbm9uLWJyZWFrIHNw
YWNlLgorCisgICAgICAgICogZWRpdGluZy9Db21wb3NpdGVFZGl0Q29tbWFuZC5jcHA6CisgICAg
ICAgICogZWRpdGluZy9odG1sZWRpdGluZy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpzdHJpbmdX
aXRoUmViYWxhbmNlZFdoaXRlc3BhY2UpOiBXcml0dGVuLgorICAgICAgICAqIGVkaXRpbmcvaHRt
bGVkaXRpbmcuaDoKKyAgICAgICAgKFdlYkNvcmU6OmlzV2hpdGVzcGFjZSk6IFJlbW92ZWQgZnJv
bSBDb21wb3NpdGVFZGl0Q29tbWFuZC5jcHAKKwogMjAxMS0wMS0yNCAgUnlvc3VrZSBOaXdhICA8
cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvQ29tcG9zaXRlRWRpdENvbW1hbmQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvQ29tcG9zaXRlRWRpdENvbW1hbmQuY3Bw
CShyZXZpc2lvbiA3NjU2MCkKKysrIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvQ29tcG9zaXRlRWRp
dENvbW1hbmQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOTAsMTEgKzM5MCw2IEBAIHZvaWQgQ29t
cG9zaXRlRWRpdENvbW1hbmQ6OnNldE5vZGVBdHRyaWIKICAgICBhcHBseUNvbW1hbmRUb0NvbXBv
c2l0ZShTZXROb2RlQXR0cmlidXRlQ29tbWFuZDo6Y3JlYXRlKGVsZW1lbnQsIGF0dHJpYnV0ZSwg
dmFsdWUpKTsKIH0KIAotc3RhdGljIGlubGluZSBib29sIGlzV2hpdGVzcGFjZShVQ2hhciBjKQot
ewotICAgIHJldHVybiBjID09IG5vQnJlYWtTcGFjZSB8fCBjID09ICcgJyB8fCBjID09ICdcbicg
fHwgYyA9PSAnXHQnOwotfQotCiBzdGF0aWMgaW5saW5lIGJvb2wgY29udGFpbnNPbmx5V2hpdGVz
cGFjZShjb25zdCBTdHJpbmcmIHRleHQpCiB7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8
IHRleHQubGVuZ3RoKCk7ICsraSkgewpJbmRleDogU291cmNlL1dlYkNvcmUvZWRpdGluZy9odG1s
ZWRpdGluZy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZWRpdGluZy9odG1sZWRp
dGluZy5jcHAJKHJldmlzaW9uIDc2NTYwKQorKysgU291cmNlL1dlYkNvcmUvZWRpdGluZy9odG1s
ZWRpdGluZy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM1NiwyNSArMzU2LDI3IEBAIGludCBsYXN0
T2Zmc2V0Rm9yRWRpdGluZyhjb25zdCBOb2RlKiBub2QKIAogU3RyaW5nIHN0cmluZ1dpdGhSZWJh
bGFuY2VkV2hpdGVzcGFjZShjb25zdCBTdHJpbmcmIHN0cmluZywgYm9vbCBzdGFydElzU3RhcnRP
ZlBhcmFncmFwaCwgYm9vbCBlbmRJc0VuZE9mUGFyYWdyYXBoKQogewotICAgIERFRklORV9TVEFU
SUNfTE9DQUwoU3RyaW5nLCB0d29TcGFjZXMsICgiICAiKSk7Ci0gICAgREVGSU5FX1NUQVRJQ19M
T0NBTChTdHJpbmcsIG5ic3AsICgiXHhhMCIpKTsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0
cmluZywgcGF0dGVybiwgKCIgXHhhMCIpKTsKKyAgICBWZWN0b3I8VUNoYXI+IHJlYmFsYW5jZWRT
dHJpbmc7CisgICAgYXBwZW5kKHJlYmFsYW5jZWRTdHJpbmcsIHN0cmluZyk7CiAKLSAgICBTdHJp
bmcgcmViYWxhbmNlZFN0cmluZyA9IHN0cmluZzsKKyAgICBib29sIHByZXZpb3VzQ2hhcmFjdGVy
V2FzU3BhY2UgPSBmYWxzZTsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHJlYmFsYW5hY2Vk
U3RyaW5nLnNpemUoKTsgaSsrKSB7CisgICAgICAgIGlmICghaXNXaGl0ZXNwYWNlKHJlYmFsYW5j
ZWRTdHJpbmdbaV0pKSB7CisgICAgICAgICAgICBwcmV2aW91c0NoYXJhY3Rlcldhc1NwYWNlID0g
ZmFsc2U7CisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgfQogCi0gICAgcmViYWxhbmNl
ZFN0cmluZy5yZXBsYWNlKG5vQnJlYWtTcGFjZSwgJyAnKTsKLSAgICByZWJhbGFuY2VkU3RyaW5n
LnJlcGxhY2UoJ1xuJywgJyAnKTsKLSAgICByZWJhbGFuY2VkU3RyaW5nLnJlcGxhY2UoJ1x0Jywg
JyAnKTsKLSAgICAKLSAgICByZWJhbGFuY2VkU3RyaW5nLnJlcGxhY2UodHdvU3BhY2VzLCBwYXR0
ZXJuKTsKLSAgICAKLSAgICBpZiAoc3RhcnRJc1N0YXJ0T2ZQYXJhZ3JhcGggJiYgcmViYWxhbmNl
ZFN0cmluZ1swXSA9PSAnICcpCi0gICAgICAgIHJlYmFsYW5jZWRTdHJpbmcucmVwbGFjZSgwLCAx
LCBuYnNwKTsKLSAgICBpbnQgZW5kID0gcmViYWxhbmNlZFN0cmluZy5sZW5ndGgoKSAtIDE7Ci0g
ICAgaWYgKGVuZElzRW5kT2ZQYXJhZ3JhcGggJiYgcmViYWxhbmNlZFN0cmluZ1tlbmRdID09ICcg
JykKLSAgICAgICAgcmViYWxhbmNlZFN0cmluZy5yZXBsYWNlKGVuZCwgMSwgbmJzcCk7ICAgIAor
ICAgICAgICBpZiAocHJldmlvdXNDaGFyYWN0ZXJXYXNTcGFjZSB8fCAoIWkgJiYgc3RhcnRJc1N0
YXJ0T2ZQYXJhZ3JhcGgpIHx8IChpICsgMSA9PSByZWJhbGFuY2VkU3RyaW5nLnNpemUoKSAmJiBl
bmRJc0VuZE9mUGFyYWdyYXBoKSkgeworICAgICAgICAgICAgcmViYWxhbmNlZFN0cmluZ1tpXSA9
IG5vQnJlYWtTcGFjZTsKKyAgICAgICAgICAgIHByZXZpb3VzQ2hhcmFjdGVyV2FzU3BhY2UgPSBm
YWxzZTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHJlYmFsYW5jZWRTdHJpbmdbaV0g
PSAnICc7CisgICAgICAgICAgICBwcmV2aW91c0NoYXJhY3Rlcldhc1NwYWNlID0gdHJ1ZTsKKyAg
ICAgICAgfQorICAgICAgICAgICAgCisgICAgfQogCi0gICAgcmV0dXJuIHJlYmFsYW5jZWRTdHJp
bmc7CisgICAgcmV0dXJuIFN0cmluZzo6YWRvcHQocmViYWxhbmNlZFN0cmluZyk7CiB9CiAKIGJv
b2wgaXNUYWJsZVN0cnVjdHVyZU5vZGUoY29uc3QgTm9kZSAqbm9kZSkKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvaHRtbGVkaXRpbmcuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL2h0bWxlZGl0aW5nLmgJKHJldmlzaW9uIDc2NTYwKQorKysgU291cmNlL1dlYkNv
cmUvZWRpdGluZy9odG1sZWRpdGluZy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNiwxMCArMjYsMTEg
QEAKICNpZm5kZWYgaHRtbGVkaXRpbmdfaAogI2RlZmluZSBodG1sZWRpdGluZ19oCiAKLSNpbmNs
dWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgorI2luY2x1ZGUgIkNo
YXJhY3Rlck5hbWVzLmgiCiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgorI2luY2x1ZGUgIkhU
TUxOYW1lcy5oIgogI2luY2x1ZGUgIlBvc2l0aW9uLmgiCisjaW5jbHVkZSA8d3RmL0ZvcndhcmQu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0yMzEsOCArMjMyLDExIEBAIFZpc2libGVT
ZWxlY3Rpb24gYXZvaWRJbnRlcnNlY3Rpb25XaXRoTm8KIFZpc2libGVTZWxlY3Rpb24gc2VsZWN0
aW9uRm9yUGFyYWdyYXBoSXRlcmF0aW9uKGNvbnN0IFZpc2libGVTZWxlY3Rpb24mKTsKICAgICAK
IAotLy8gTWlzY2VsbGFuZW91cyBmdW5jdGlvbnMgb24gU3RyaW5nCi0gICAgCisvLyBNaXNjZWxs
YW5lb3VzIGZ1bmN0aW9ucyBvbiBUZXh0CitpbmxpbmUgYm9vbCBpc1doaXRlc3BhY2UoVUNoYXIg
YykKK3sKKyAgICByZXR1cm4gYyA9PSBub0JyZWFrU3BhY2UgfHwgYyA9PSAnICcgfHwgYyA9PSAn
XG4nIHx8IGMgPT0gJ1x0JzsKK30KIFN0cmluZyBzdHJpbmdXaXRoUmViYWxhbmNlZFdoaXRlc3Bh
Y2UoY29uc3QgU3RyaW5nJiwgYm9vbCwgYm9vbCk7CiBjb25zdCBTdHJpbmcmIG5vbkJyZWFraW5n
U3BhY2VTdHJpbmcoKTsKIApJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gNzY1NjApCisrKyBMYXlvdXRUZXN0
cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNSBAQAorMjAxMS0wMS0yNCAg
Unlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbnNlcnRpbmcgbXVsdGlwbGUgd2hpdGVzcGFjZSB1
c2luZyB0ZXh0IGNvbXBvc2l0aW9uIChJTUUpIHNob3VsZCBpbnNlcnQgaW50ZXJsZWF2ZWQgbmJz
cCBhbmQgd2hpdGVzcGFjZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTUyNzgxCisKKyAgICAgICAgVGhlIHRlc3Qgd2FzIHJlYmFzZWxpbmVkIHRvIGhh
dmUgaW50ZXJsZWF2ZWQgc3BhY2UgYW5kIG5vbi1icmVha2luZyBzcGFjZS4KKworICAgICAgICAq
IGVkaXRpbmcvaW5zZXJ0aW5nL2luc2VydC1jb21wb3NpdGlvbi13aGl0ZXNwYWNlLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBlZGl0aW5nL2luc2VydGluZy9pbnNlcnQtY29tcG9zaXRpb24td2hp
dGVzcGFjZS5odG1sOgorCiAyMDExLTAxLTI0ICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5zb25A
aWdhbGlhLmNvbT4KIAogICAgICAgICBTa2lwcGluZyBmYWlsaW5nIHRlc3RzIGFmdGVyIHI3NjU1
NS4KSW5kZXg6IExheW91dFRlc3RzL2VkaXRpbmcvaW5zZXJ0aW5nL2luc2VydC1jb21wb3NpdGlv
bi13aGl0ZXNwYWNlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9lZGl0
aW5nL2luc2VydGluZy9pbnNlcnQtY29tcG9zaXRpb24td2hpdGVzcGFjZS1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDc2NTYwKQorKysgTGF5b3V0VGVzdHMvZWRpdGluZy9pbnNlcnRpbmcvaW5zZXJ0
LWNvbXBvc2l0aW9uLXdoaXRlc3BhY2UtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0x
MCwxOCArMTAsMTggQEAgUEFTUyBjb21wb3NpdGluZ1RleHQgaXMgJ0EgwqAgwqBCJwogUEFTUyBj
b25maXJtZWRUZXh0IGlzICdBIMKgIMKgQicKIFBBU1MgY29tcG9zaXRpbmdUZXh0IGlzICfCoEFC
JwogUEFTUyBjb25maXJtZWRUZXh0IGlzICfCoEFCJwotUEFTUyBjb21wb3NpdGluZ1RleHQgaXMg
J8KgwqBBQicKLVBBU1MgY29uZmlybWVkVGV4dCBpcyAnwqDCoEFCJwotUEFTUyBjb21wb3NpdGlu
Z1RleHQgaXMgJ8KgwqAgQUInCi1QQVNTIGNvbmZpcm1lZFRleHQgaXMgJ8KgwqAgQUInCi1QQVNT
IGNvbXBvc2l0aW5nVGV4dCBpcyAnwqDCoCDCoEFCJwotUEFTUyBjb25maXJtZWRUZXh0IGlzICfC
oMKgIMKgQUInCi1QQVNTIGNvbXBvc2l0aW5nVGV4dCBpcyAnwqDCoCDCoCBBQicKLVBBU1MgY29u
ZmlybWVkVGV4dCBpcyAnwqDCoCDCoCBBQicKLVBBU1MgY29tcG9zaXRpbmdUZXh0IGlzICfCoMKg
IMKgIMKgQUInCi1QQVNTIGNvbmZpcm1lZFRleHQgaXMgJ8KgwqAgwqAgwqBBQicKLVBBU1MgY29t
cG9zaXRpbmdUZXh0IGlzICfCoMKgIMKgIMKgIEFCJwotUEFTUyBjb25maXJtZWRUZXh0IGlzICfC
oMKgIMKgIMKgIEFCJworUEFTUyBjb21wb3NpdGluZ1RleHQgaXMgJ8KgIEFCJworUEFTUyBjb25m
aXJtZWRUZXh0IGlzICfCoCBBQicKK1BBU1MgY29tcG9zaXRpbmdUZXh0IGlzICfCoCDCoEFCJwor
UEFTUyBjb25maXJtZWRUZXh0IGlzICfCoCDCoEFCJworUEFTUyBjb21wb3NpdGluZ1RleHQgaXMg
J8KgIMKgIEFCJworUEFTUyBjb25maXJtZWRUZXh0IGlzICfCoCDCoCBBQicKK1BBU1MgY29tcG9z
aXRpbmdUZXh0IGlzICfCoCDCoCDCoEFCJworUEFTUyBjb25maXJtZWRUZXh0IGlzICfCoCDCoCDC
oEFCJworUEFTUyBjb21wb3NpdGluZ1RleHQgaXMgJ8KgIMKgIMKgIEFCJworUEFTUyBjb25maXJt
ZWRUZXh0IGlzICfCoCDCoCDCoCBBQicKK1BBU1MgY29tcG9zaXRpbmdUZXh0IGlzICfCoCDCoCDC
oCDCoEFCJworUEFTUyBjb25maXJtZWRUZXh0IGlzICfCoCDCoCDCoCDCoEFCJwogUEFTUyBjb21w
b3NpdGluZ1RleHQgaXMgJ0FCIMKgJwogUEFTUyBjb25maXJtZWRUZXh0IGlzICdBQiDCoCcKIFBB
U1MgY29tcG9zaXRpbmdUZXh0IGlzICdBQiDCoMKgJwpAQCAtMzQsMTYgKzM0LDE2IEBAIFBBU1Mg
Y29tcG9zaXRpbmdUZXh0IGlzICdBQiDCoCDCoCDCoCcKIFBBU1MgY29uZmlybWVkVGV4dCBpcyAn
QUIgwqAgwqAgwqAnCiBQQVNTIGNvbXBvc2l0aW5nVGV4dCBpcyAnQUIgwqAgwqAgwqDCoCcKIFBB
U1MgY29uZmlybWVkVGV4dCBpcyAnQUIgwqAgwqAgwqDCoCcKLVBBU1MgY29tcG9zaXRpbmdUZXh0
IGlzICfCoMKgQSDCoEIgwqAnCi1QQVNTIGNvbmZpcm1lZFRleHQgaXMgJ8KgwqBBIMKgQiDCoCcK
LVBBU1MgY29tcG9zaXRpbmdUZXh0IGlzICfCoMKgQSDCoEIgwqAnCi1QQVNTIGNvbmZpcm1lZFRl
eHQgaXMgJ8KgwqBBIMKgQiDCoCcKK1BBU1MgY29tcG9zaXRpbmdUZXh0IGlzICfCoCBBIMKgQiDC
oCcKK1BBU1MgY29uZmlybWVkVGV4dCBpcyAnwqAgQSDCoEIgwqAnCitQQVNTIGNvbXBvc2l0aW5n
VGV4dCBpcyAnwqAgQSDCoEIgwqAnCitQQVNTIGNvbmZpcm1lZFRleHQgaXMgJ8KgIEEgwqBCIMKg
JwogUEFTUyBjb21wb3NpdGluZ1RleHQgaXMgJ8KgJwogUEFTUyBjb25maXJtZWRUZXh0IGlzICfC
oCcKIFBBU1MgY29tcG9zaXRpbmdUZXh0IGlzICfCoMKgJwogUEFTUyBjb25maXJtZWRUZXh0IGlz
ICfCoMKgJwotUEFTUyBjb21wb3NpdGluZ1RleHQgaXMgJ8KgwqDCoCcKLVBBU1MgY29uZmlybWVk
VGV4dCBpcyAnwqDCoMKgJworUEFTUyBjb21wb3NpdGluZ1RleHQgaXMgJ8KgIMKgJworUEFTUyBj
b25maXJtZWRUZXh0IGlzICfCoCDCoCcKIFBBU1MgY29tcG9zaXRpbmdUZXh0IGlzICdBQicKIFBB
U1MgY29uZmlybWVkVGV4dCBpcyAnQUInCiBQQVNTIGNvbXBvc2l0aW5nVGV4dCBpcyAnQSBCJwpJ
bmRleDogTGF5b3V0VGVzdHMvZWRpdGluZy9pbnNlcnRpbmcvaW5zZXJ0LWNvbXBvc2l0aW9uLXdo
aXRlc3BhY2UuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9lZGl0aW5nL2luc2VydGlu
Zy9pbnNlcnQtY29tcG9zaXRpb24td2hpdGVzcGFjZS5odG1sCShyZXZpc2lvbiA3NjU2MCkKKysr
IExheW91dFRlc3RzL2VkaXRpbmcvaW5zZXJ0aW5nL2luc2VydC1jb21wb3NpdGlvbi13aGl0ZXNw
YWNlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTQ1LDEyICs0NSwxMiBAQCB0ZXN0KCJkaXYiLCAi
QSAgIEIiLCAiQSBceEEwIEIiKTsKIHRlc3QoImRpdiIsICJBICAgIEIiLCAiQSBceEEwIFx4QTBC
Iik7IAogCiB0ZXN0KCJkaXYiLCAiIEFCIiwgIlx4QTBBQiIpOwotdGVzdCgiZGl2IiwgIiAgQUIi
LCAiXHhBMFx4QTBBQiIpOwotdGVzdCgiZGl2IiwgIiAgIEFCIiwgIlx4QTBceEEwIEFCIik7Ci10
ZXN0KCJkaXYiLCAiICAgIEFCIiwgIlx4QTBceEEwIFx4QTBBQiIpOwotdGVzdCgiZGl2IiwgIiAg
ICAgQUIiLCAiXHhBMFx4QTAgXHhBMCBBQiIpOwotdGVzdCgiZGl2IiwgIiAgICAgIEFCIiwgIlx4
QTBceEEwIFx4QTAgXHhBMEFCIik7Ci10ZXN0KCJkaXYiLCAiICAgICAgIEFCIiwgIlx4QTBceEEw
IFx4QTAgXHhBMCBBQiIpOwordGVzdCgiZGl2IiwgIiAgQUIiLCAiXHhBMCBBQiIpOwordGVzdCgi
ZGl2IiwgIiAgIEFCIiwgIlx4QTAgXHhBMEFCIik7Cit0ZXN0KCJkaXYiLCAiICAgIEFCIiwgIlx4
QTAgXHhBMCBBQiIpOwordGVzdCgiZGl2IiwgIiAgICAgQUIiLCAiXHhBMCBceEEwIFx4QTBBQiIp
OwordGVzdCgiZGl2IiwgIiAgICAgIEFCIiwgIlx4QTAgXHhBMCBceEEwIEFCIik7Cit0ZXN0KCJk
aXYiLCAiICAgICAgIEFCIiwgIlx4QTAgXHhBMCBceEEwIFx4QTBBQiIpOwogdGVzdCgiZGl2Iiwg
IkFCICAiLCAiQUIgXHhBMCIpOwogdGVzdCgiZGl2IiwgIkFCICAgIiwgIkFCIFx4QTBceEEwIik7
CiB0ZXN0KCJkaXYiLCAiQUIgICAgIiwgIkFCIFx4QTAgXHhBMCIpOwpAQCAtNTgsMTMgKzU4LDEy
IEBAIHRlc3QoImRpdiIsICJBQiAgICAgIiwgIkFCIFx4QTAgXHhBMFx4QTAKIHRlc3QoImRpdiIs
ICJBQiAgICAgICIsICJBQiBceEEwIFx4QTAgXHhBMCIpOwogdGVzdCgiZGl2IiwgIkFCICAgICAg
ICIsICJBQiBceEEwIFx4QTAgXHhBMFx4QTAiKTsKIAotdGVzdCgiZGl2IiwgIiAgQSAgQiAgIiwg
Ilx4QTBceEEwQSBceEEwQiBceEEwIik7Ci10ZXN0KCJkaXYiLCAiXHRcdEFcdFx0Qlx0XHQiLCAi
XHhBMFx4QTBBIFx4QTBCIFx4QTAiKTsKK3Rlc3QoImRpdiIsICIgIEEgIEIgICIsICJceEEwIEEg
XHhBMEIgXHhBMCIpOwordGVzdCgiZGl2IiwgIlx0XHRBXHRcdEJcdFx0IiwgIlx4QTAgQSBceEEw
QiBceEEwIik7CiAKIHRlc3QoImRpdiIsICIgIiwgIlx4QTAiKTsKIHRlc3QoImRpdiIsICIgICIs
ICJceEEwXHhBMCIpOwotLy8gVGhpcyBpcyB3cm9uZy4gVGhpcyBzaG91bGQgaW5zZXJ0IGludGVy
bGVhdmVkIG5ic3AgYW5kIHdoaXRlc3BhY2UuIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NTI3ODEuCi10ZXN0KCJkaXYiLCAiICAgIiwgIlx4QTBceEEwXHhBMCIp
OwordGVzdCgiZGl2IiwgIiAgICIsICJceEEwIFx4QTAiKTsKIAogdGVzdCgicHJlIiwgIkFCIiwg
IkFCIik7CiB0ZXN0KCJwcmUiLCAiQSBCIiwgIkEgQiIpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>80007</attachid>
            <date>2011-01-24 18:42:52 -0800</date>
            <delta_ts>2011-01-24 19:02:24 -0800</delta_ts>
            <desc>fixed one more typo</desc>
            <filename>bug-52781-20110124184251.patch</filename>
            <type>text/plain</type>
            <size>9781</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDc2NTYwKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTEtMDEtMjQgIFJ5b3N1a2Ug
Tml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgSW5zZXJ0aW5nIG11bHRpcGxlIHdoaXRlc3BhY2UgdXNpbmcgdGV4
dCBjb21wb3NpdGlvbiAoSU1FKSBzaG91bGQgaW5zZXJ0IGludGVybGVhdmVkIG5ic3AgYW5kIHdo
aXRlc3BhY2UuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD01Mjc4MQorCisgICAgICAgIFRoZSBidWcgd2FzIGNhdXNlZCBieSBzdHJpbmdXaXRoUmViYWxh
bmNlZFdoaXRlc3BhY2UncyByZXBsYWNpbmcgdGhlIHNwYWNlIGF0IHRoZSBiZWdpbm5pbmcgb2Yg
YSBwYXJhZ3JhcGgKKyAgICAgICAgYW5kIHRoZSBlbmQgb2YgYSBwYXJhZ3JhcGggYnkgYSBub24t
YnJlYWtpbmcgc3BhY2UgYWZ0ZXIgaXQgcmVwbGFjZWQgdHdvIGNvbnNlY3V0aXZlIHNwYWNlcyBi
eSBhIHNwYWNlIGFuZAorICAgICAgICBub24tYnJlYWtpbmcgc3BhY2UgcGF0dGVybiwgdGhlcmVi
eSByZXBsYWNpbmcgbW9yZSBzcGFjZXMgYnkgbm9uLWJyZWFraW5nIHNwYWNlcyB0aGFuIG5lZWRl
ZC4KKworICAgICAgICBSZXdyb3RlIHRoZSBmdW5jdGlvbiB1c2luZyBWZWN0b3I8VUNoYXI+IHRv
IGZpeCB0aGUgYnVnLiBOZXcgZnVuY3Rpb24gbm8gbG9uZ2VyIGNhbGxzIFN0cmluZzo6cmVwbGFj
ZQorICAgICAgICBtdWx0aXBsZSB0aW1lcyBidXQgaW5zdGVhZCBpdCB0cmF2ZXJzZXMgdGhyb3Vn
aCB0aGUgc3RyaW5nIGFuZCByZXBsYWNlcyBhIHNwYWNlIHRoYXQgaW1tZWRpYXRlbHkgZm9sbG93
cworICAgICAgICBhbm90aGVyIHNwYWNlIG9yIGFwcGVhcnMgYXQgdGhlIGJlZ2lubmluZyBvZiBh
IHBhcmFncmFwaCBvciBhdCB0aGUgZW5kIG9mIGEgcGFyYWdyYXBoIGJ5IGEgbm9uLWJyZWFrIHNw
YWNlLgorCisgICAgICAgICogZWRpdGluZy9Db21wb3NpdGVFZGl0Q29tbWFuZC5jcHA6CisgICAg
ICAgICogZWRpdGluZy9odG1sZWRpdGluZy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpzdHJpbmdX
aXRoUmViYWxhbmNlZFdoaXRlc3BhY2UpOiBXcml0dGVuLgorICAgICAgICAqIGVkaXRpbmcvaHRt
bGVkaXRpbmcuaDoKKyAgICAgICAgKFdlYkNvcmU6OmlzV2hpdGVzcGFjZSk6IFJlbW92ZWQgZnJv
bSBDb21wb3NpdGVFZGl0Q29tbWFuZC5jcHAKKwogMjAxMS0wMS0yNCAgUnlvc3VrZSBOaXdhICA8
cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvQ29tcG9zaXRlRWRpdENvbW1hbmQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvQ29tcG9zaXRlRWRpdENvbW1hbmQuY3Bw
CShyZXZpc2lvbiA3NjU2MCkKKysrIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvQ29tcG9zaXRlRWRp
dENvbW1hbmQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOTAsMTEgKzM5MCw2IEBAIHZvaWQgQ29t
cG9zaXRlRWRpdENvbW1hbmQ6OnNldE5vZGVBdHRyaWIKICAgICBhcHBseUNvbW1hbmRUb0NvbXBv
c2l0ZShTZXROb2RlQXR0cmlidXRlQ29tbWFuZDo6Y3JlYXRlKGVsZW1lbnQsIGF0dHJpYnV0ZSwg
dmFsdWUpKTsKIH0KIAotc3RhdGljIGlubGluZSBib29sIGlzV2hpdGVzcGFjZShVQ2hhciBjKQot
ewotICAgIHJldHVybiBjID09IG5vQnJlYWtTcGFjZSB8fCBjID09ICcgJyB8fCBjID09ICdcbicg
fHwgYyA9PSAnXHQnOwotfQotCiBzdGF0aWMgaW5saW5lIGJvb2wgY29udGFpbnNPbmx5V2hpdGVz
cGFjZShjb25zdCBTdHJpbmcmIHRleHQpCiB7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8
IHRleHQubGVuZ3RoKCk7ICsraSkgewpJbmRleDogU291cmNlL1dlYkNvcmUvZWRpdGluZy9odG1s
ZWRpdGluZy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZWRpdGluZy9odG1sZWRp
dGluZy5jcHAJKHJldmlzaW9uIDc2NTYwKQorKysgU291cmNlL1dlYkNvcmUvZWRpdGluZy9odG1s
ZWRpdGluZy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM1NiwyNSArMzU2LDI3IEBAIGludCBsYXN0
T2Zmc2V0Rm9yRWRpdGluZyhjb25zdCBOb2RlKiBub2QKIAogU3RyaW5nIHN0cmluZ1dpdGhSZWJh
bGFuY2VkV2hpdGVzcGFjZShjb25zdCBTdHJpbmcmIHN0cmluZywgYm9vbCBzdGFydElzU3RhcnRP
ZlBhcmFncmFwaCwgYm9vbCBlbmRJc0VuZE9mUGFyYWdyYXBoKQogewotICAgIERFRklORV9TVEFU
SUNfTE9DQUwoU3RyaW5nLCB0d29TcGFjZXMsICgiICAiKSk7Ci0gICAgREVGSU5FX1NUQVRJQ19M
T0NBTChTdHJpbmcsIG5ic3AsICgiXHhhMCIpKTsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0
cmluZywgcGF0dGVybiwgKCIgXHhhMCIpKTsKKyAgICBWZWN0b3I8VUNoYXI+IHJlYmFsYW5jZWRT
dHJpbmc7CisgICAgYXBwZW5kKHJlYmFsYW5jZWRTdHJpbmcsIHN0cmluZyk7CiAKLSAgICBTdHJp
bmcgcmViYWxhbmNlZFN0cmluZyA9IHN0cmluZzsKKyAgICBib29sIHByZXZpb3VzQ2hhcmFjdGVy
V2FzU3BhY2UgPSBmYWxzZTsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHJlYmFsYW5jZWRT
dHJpbmcuc2l6ZSgpOyBpKyspIHsKKyAgICAgICAgaWYgKCFpc1doaXRlc3BhY2UocmViYWxhbmNl
ZFN0cmluZ1tpXSkpIHsKKyAgICAgICAgICAgIHByZXZpb3VzQ2hhcmFjdGVyV2FzU3BhY2UgPSBm
YWxzZTsKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICB9CiAKLSAgICByZWJhbGFuY2Vk
U3RyaW5nLnJlcGxhY2Uobm9CcmVha1NwYWNlLCAnICcpOwotICAgIHJlYmFsYW5jZWRTdHJpbmcu
cmVwbGFjZSgnXG4nLCAnICcpOwotICAgIHJlYmFsYW5jZWRTdHJpbmcucmVwbGFjZSgnXHQnLCAn
ICcpOwotICAgIAotICAgIHJlYmFsYW5jZWRTdHJpbmcucmVwbGFjZSh0d29TcGFjZXMsIHBhdHRl
cm4pOwotICAgIAotICAgIGlmIChzdGFydElzU3RhcnRPZlBhcmFncmFwaCAmJiByZWJhbGFuY2Vk
U3RyaW5nWzBdID09ICcgJykKLSAgICAgICAgcmViYWxhbmNlZFN0cmluZy5yZXBsYWNlKDAsIDEs
IG5ic3ApOwotICAgIGludCBlbmQgPSByZWJhbGFuY2VkU3RyaW5nLmxlbmd0aCgpIC0gMTsKLSAg
ICBpZiAoZW5kSXNFbmRPZlBhcmFncmFwaCAmJiByZWJhbGFuY2VkU3RyaW5nW2VuZF0gPT0gJyAn
KQotICAgICAgICByZWJhbGFuY2VkU3RyaW5nLnJlcGxhY2UoZW5kLCAxLCBuYnNwKTsgICAgCisg
ICAgICAgIGlmIChwcmV2aW91c0NoYXJhY3Rlcldhc1NwYWNlIHx8ICghaSAmJiBzdGFydElzU3Rh
cnRPZlBhcmFncmFwaCkgfHwgKGkgKyAxID09IHJlYmFsYW5jZWRTdHJpbmcuc2l6ZSgpICYmIGVu
ZElzRW5kT2ZQYXJhZ3JhcGgpKSB7CisgICAgICAgICAgICByZWJhbGFuY2VkU3RyaW5nW2ldID0g
bm9CcmVha1NwYWNlOworICAgICAgICAgICAgcHJldmlvdXNDaGFyYWN0ZXJXYXNTcGFjZSA9IGZh
bHNlOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgcmViYWxhbmNlZFN0cmluZ1tpXSA9
ICcgJzsKKyAgICAgICAgICAgIHByZXZpb3VzQ2hhcmFjdGVyV2FzU3BhY2UgPSB0cnVlOworICAg
ICAgICB9CisgICAgICAgICAgICAKKyAgICB9CiAKLSAgICByZXR1cm4gcmViYWxhbmNlZFN0cmlu
ZzsKKyAgICByZXR1cm4gU3RyaW5nOjphZG9wdChyZWJhbGFuY2VkU3RyaW5nKTsKIH0KIAogYm9v
bCBpc1RhYmxlU3RydWN0dXJlTm9kZShjb25zdCBOb2RlICpub2RlKQpJbmRleDogU291cmNlL1dl
YkNvcmUvZWRpdGluZy9odG1sZWRpdGluZy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvaHRtbGVkaXRpbmcuaAkocmV2aXNpb24gNzY1NjApCisrKyBTb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL2h0bWxlZGl0aW5nLmgJKHdvcmtpbmcgY29weSkKQEAgLTI2LDEwICsyNiwxMSBA
QAogI2lmbmRlZiBodG1sZWRpdGluZ19oCiAjZGVmaW5lIGh0bWxlZGl0aW5nX2gKIAotI2luY2x1
ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSAiSFRNTE5hbWVzLmgiCisjaW5jbHVkZSAiQ2hh
cmFjdGVyTmFtZXMuaCIKICNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCisjaW5jbHVkZSAiSFRN
TE5hbWVzLmgiCiAjaW5jbHVkZSAiUG9zaXRpb24uaCIKKyNpbmNsdWRlIDx3dGYvRm9yd2FyZC5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTIzMSw4ICsyMzIsMTEgQEAgVmlzaWJsZVNl
bGVjdGlvbiBhdm9pZEludGVyc2VjdGlvbldpdGhObwogVmlzaWJsZVNlbGVjdGlvbiBzZWxlY3Rp
b25Gb3JQYXJhZ3JhcGhJdGVyYXRpb24oY29uc3QgVmlzaWJsZVNlbGVjdGlvbiYpOwogICAgIAog
Ci0vLyBNaXNjZWxsYW5lb3VzIGZ1bmN0aW9ucyBvbiBTdHJpbmcKLSAgICAKKy8vIE1pc2NlbGxh
bmVvdXMgZnVuY3Rpb25zIG9uIFRleHQKK2lubGluZSBib29sIGlzV2hpdGVzcGFjZShVQ2hhciBj
KQoreworICAgIHJldHVybiBjID09IG5vQnJlYWtTcGFjZSB8fCBjID09ICcgJyB8fCBjID09ICdc
bicgfHwgYyA9PSAnXHQnOworfQogU3RyaW5nIHN0cmluZ1dpdGhSZWJhbGFuY2VkV2hpdGVzcGFj
ZShjb25zdCBTdHJpbmcmLCBib29sLCBib29sKTsKIGNvbnN0IFN0cmluZyYgbm9uQnJlYWtpbmdT
cGFjZVN0cmluZygpOwogCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA3NjU2MCkKKysrIExheW91dFRlc3Rz
L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDExLTAxLTI0ICBS
eW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEluc2VydGluZyBtdWx0aXBsZSB3aGl0ZXNwYWNlIHVz
aW5nIHRleHQgY29tcG9zaXRpb24gKElNRSkgc2hvdWxkIGluc2VydCBpbnRlcmxlYXZlZCBuYnNw
IGFuZCB3aGl0ZXNwYWNlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NTI3ODEKKworICAgICAgICBUaGUgdGVzdCB3YXMgcmViYXNlbGluZWQgdG8gaGF2
ZSBpbnRlcmxlYXZlZCBzcGFjZSBhbmQgbm9uLWJyZWFraW5nIHNwYWNlLgorCisgICAgICAgICog
ZWRpdGluZy9pbnNlcnRpbmcvaW5zZXJ0LWNvbXBvc2l0aW9uLXdoaXRlc3BhY2UtZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIGVkaXRpbmcvaW5zZXJ0aW5nL2luc2VydC1jb21wb3NpdGlvbi13aGl0
ZXNwYWNlLmh0bWw6CisKIDIwMTEtMDEtMjQgIE1hcnRpbiBSb2JpbnNvbiAgPG1yb2JpbnNvbkBp
Z2FsaWEuY29tPgogCiAgICAgICAgIFNraXBwaW5nIGZhaWxpbmcgdGVzdHMgYWZ0ZXIgcjc2NTU1
LgpJbmRleDogTGF5b3V0VGVzdHMvZWRpdGluZy9pbnNlcnRpbmcvaW5zZXJ0LWNvbXBvc2l0aW9u
LXdoaXRlc3BhY2UtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2VkaXRp
bmcvaW5zZXJ0aW5nL2luc2VydC1jb21wb3NpdGlvbi13aGl0ZXNwYWNlLWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gNzY1NjApCisrKyBMYXlvdXRUZXN0cy9lZGl0aW5nL2luc2VydGluZy9pbnNlcnQt
Y29tcG9zaXRpb24td2hpdGVzcGFjZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEw
LDE4ICsxMCwxOCBAQCBQQVNTIGNvbXBvc2l0aW5nVGV4dCBpcyAnQSDCoCDCoEInCiBQQVNTIGNv
bmZpcm1lZFRleHQgaXMgJ0EgwqAgwqBCJwogUEFTUyBjb21wb3NpdGluZ1RleHQgaXMgJ8KgQUIn
CiBQQVNTIGNvbmZpcm1lZFRleHQgaXMgJ8KgQUInCi1QQVNTIGNvbXBvc2l0aW5nVGV4dCBpcyAn
wqDCoEFCJwotUEFTUyBjb25maXJtZWRUZXh0IGlzICfCoMKgQUInCi1QQVNTIGNvbXBvc2l0aW5n
VGV4dCBpcyAnwqDCoCBBQicKLVBBU1MgY29uZmlybWVkVGV4dCBpcyAnwqDCoCBBQicKLVBBU1Mg
Y29tcG9zaXRpbmdUZXh0IGlzICfCoMKgIMKgQUInCi1QQVNTIGNvbmZpcm1lZFRleHQgaXMgJ8Kg
wqAgwqBBQicKLVBBU1MgY29tcG9zaXRpbmdUZXh0IGlzICfCoMKgIMKgIEFCJwotUEFTUyBjb25m
aXJtZWRUZXh0IGlzICfCoMKgIMKgIEFCJwotUEFTUyBjb21wb3NpdGluZ1RleHQgaXMgJ8KgwqAg
wqAgwqBBQicKLVBBU1MgY29uZmlybWVkVGV4dCBpcyAnwqDCoCDCoCDCoEFCJwotUEFTUyBjb21w
b3NpdGluZ1RleHQgaXMgJ8KgwqAgwqAgwqAgQUInCi1QQVNTIGNvbmZpcm1lZFRleHQgaXMgJ8Kg
wqAgwqAgwqAgQUInCitQQVNTIGNvbXBvc2l0aW5nVGV4dCBpcyAnwqAgQUInCitQQVNTIGNvbmZp
cm1lZFRleHQgaXMgJ8KgIEFCJworUEFTUyBjb21wb3NpdGluZ1RleHQgaXMgJ8KgIMKgQUInCitQ
QVNTIGNvbmZpcm1lZFRleHQgaXMgJ8KgIMKgQUInCitQQVNTIGNvbXBvc2l0aW5nVGV4dCBpcyAn
wqAgwqAgQUInCitQQVNTIGNvbmZpcm1lZFRleHQgaXMgJ8KgIMKgIEFCJworUEFTUyBjb21wb3Np
dGluZ1RleHQgaXMgJ8KgIMKgIMKgQUInCitQQVNTIGNvbmZpcm1lZFRleHQgaXMgJ8KgIMKgIMKg
QUInCitQQVNTIGNvbXBvc2l0aW5nVGV4dCBpcyAnwqAgwqAgwqAgQUInCitQQVNTIGNvbmZpcm1l
ZFRleHQgaXMgJ8KgIMKgIMKgIEFCJworUEFTUyBjb21wb3NpdGluZ1RleHQgaXMgJ8KgIMKgIMKg
IMKgQUInCitQQVNTIGNvbmZpcm1lZFRleHQgaXMgJ8KgIMKgIMKgIMKgQUInCiBQQVNTIGNvbXBv
c2l0aW5nVGV4dCBpcyAnQUIgwqAnCiBQQVNTIGNvbmZpcm1lZFRleHQgaXMgJ0FCIMKgJwogUEFT
UyBjb21wb3NpdGluZ1RleHQgaXMgJ0FCIMKgwqAnCkBAIC0zNCwxNiArMzQsMTYgQEAgUEFTUyBj
b21wb3NpdGluZ1RleHQgaXMgJ0FCIMKgIMKgIMKgJwogUEFTUyBjb25maXJtZWRUZXh0IGlzICdB
QiDCoCDCoCDCoCcKIFBBU1MgY29tcG9zaXRpbmdUZXh0IGlzICdBQiDCoCDCoCDCoMKgJwogUEFT
UyBjb25maXJtZWRUZXh0IGlzICdBQiDCoCDCoCDCoMKgJwotUEFTUyBjb21wb3NpdGluZ1RleHQg
aXMgJ8KgwqBBIMKgQiDCoCcKLVBBU1MgY29uZmlybWVkVGV4dCBpcyAnwqDCoEEgwqBCIMKgJwot
UEFTUyBjb21wb3NpdGluZ1RleHQgaXMgJ8KgwqBBIMKgQiDCoCcKLVBBU1MgY29uZmlybWVkVGV4
dCBpcyAnwqDCoEEgwqBCIMKgJworUEFTUyBjb21wb3NpdGluZ1RleHQgaXMgJ8KgIEEgwqBCIMKg
JworUEFTUyBjb25maXJtZWRUZXh0IGlzICfCoCBBIMKgQiDCoCcKK1BBU1MgY29tcG9zaXRpbmdU
ZXh0IGlzICfCoCBBIMKgQiDCoCcKK1BBU1MgY29uZmlybWVkVGV4dCBpcyAnwqAgQSDCoEIgwqAn
CiBQQVNTIGNvbXBvc2l0aW5nVGV4dCBpcyAnwqAnCiBQQVNTIGNvbmZpcm1lZFRleHQgaXMgJ8Kg
JwogUEFTUyBjb21wb3NpdGluZ1RleHQgaXMgJ8KgwqAnCiBQQVNTIGNvbmZpcm1lZFRleHQgaXMg
J8KgwqAnCi1QQVNTIGNvbXBvc2l0aW5nVGV4dCBpcyAnwqDCoMKgJwotUEFTUyBjb25maXJtZWRU
ZXh0IGlzICfCoMKgwqAnCitQQVNTIGNvbXBvc2l0aW5nVGV4dCBpcyAnwqAgwqAnCitQQVNTIGNv
bmZpcm1lZFRleHQgaXMgJ8KgIMKgJwogUEFTUyBjb21wb3NpdGluZ1RleHQgaXMgJ0FCJwogUEFT
UyBjb25maXJtZWRUZXh0IGlzICdBQicKIFBBU1MgY29tcG9zaXRpbmdUZXh0IGlzICdBIEInCklu
ZGV4OiBMYXlvdXRUZXN0cy9lZGl0aW5nL2luc2VydGluZy9pbnNlcnQtY29tcG9zaXRpb24td2hp
dGVzcGFjZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2VkaXRpbmcvaW5zZXJ0aW5n
L2luc2VydC1jb21wb3NpdGlvbi13aGl0ZXNwYWNlLmh0bWwJKHJldmlzaW9uIDc2NTYwKQorKysg
TGF5b3V0VGVzdHMvZWRpdGluZy9pbnNlcnRpbmcvaW5zZXJ0LWNvbXBvc2l0aW9uLXdoaXRlc3Bh
Y2UuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtNDUsMTIgKzQ1LDEyIEBAIHRlc3QoImRpdiIsICJB
ICAgQiIsICJBIFx4QTAgQiIpOwogdGVzdCgiZGl2IiwgIkEgICAgQiIsICJBIFx4QTAgXHhBMEIi
KTsgCiAKIHRlc3QoImRpdiIsICIgQUIiLCAiXHhBMEFCIik7Ci10ZXN0KCJkaXYiLCAiICBBQiIs
ICJceEEwXHhBMEFCIik7Ci10ZXN0KCJkaXYiLCAiICAgQUIiLCAiXHhBMFx4QTAgQUIiKTsKLXRl
c3QoImRpdiIsICIgICAgQUIiLCAiXHhBMFx4QTAgXHhBMEFCIik7Ci10ZXN0KCJkaXYiLCAiICAg
ICBBQiIsICJceEEwXHhBMCBceEEwIEFCIik7Ci10ZXN0KCJkaXYiLCAiICAgICAgQUIiLCAiXHhB
MFx4QTAgXHhBMCBceEEwQUIiKTsKLXRlc3QoImRpdiIsICIgICAgICAgQUIiLCAiXHhBMFx4QTAg
XHhBMCBceEEwIEFCIik7Cit0ZXN0KCJkaXYiLCAiICBBQiIsICJceEEwIEFCIik7Cit0ZXN0KCJk
aXYiLCAiICAgQUIiLCAiXHhBMCBceEEwQUIiKTsKK3Rlc3QoImRpdiIsICIgICAgQUIiLCAiXHhB
MCBceEEwIEFCIik7Cit0ZXN0KCJkaXYiLCAiICAgICBBQiIsICJceEEwIFx4QTAgXHhBMEFCIik7
Cit0ZXN0KCJkaXYiLCAiICAgICAgQUIiLCAiXHhBMCBceEEwIFx4QTAgQUIiKTsKK3Rlc3QoImRp
diIsICIgICAgICAgQUIiLCAiXHhBMCBceEEwIFx4QTAgXHhBMEFCIik7CiB0ZXN0KCJkaXYiLCAi
QUIgICIsICJBQiBceEEwIik7CiB0ZXN0KCJkaXYiLCAiQUIgICAiLCAiQUIgXHhBMFx4QTAiKTsK
IHRlc3QoImRpdiIsICJBQiAgICAiLCAiQUIgXHhBMCBceEEwIik7CkBAIC01OCwxMyArNTgsMTIg
QEAgdGVzdCgiZGl2IiwgIkFCICAgICAiLCAiQUIgXHhBMCBceEEwXHhBMAogdGVzdCgiZGl2Iiwg
IkFCICAgICAgIiwgIkFCIFx4QTAgXHhBMCBceEEwIik7CiB0ZXN0KCJkaXYiLCAiQUIgICAgICAg
IiwgIkFCIFx4QTAgXHhBMCBceEEwXHhBMCIpOwogCi10ZXN0KCJkaXYiLCAiICBBICBCICAiLCAi
XHhBMFx4QTBBIFx4QTBCIFx4QTAiKTsKLXRlc3QoImRpdiIsICJcdFx0QVx0XHRCXHRcdCIsICJc
eEEwXHhBMEEgXHhBMEIgXHhBMCIpOwordGVzdCgiZGl2IiwgIiAgQSAgQiAgIiwgIlx4QTAgQSBc
eEEwQiBceEEwIik7Cit0ZXN0KCJkaXYiLCAiXHRcdEFcdFx0Qlx0XHQiLCAiXHhBMCBBIFx4QTBC
IFx4QTAiKTsKIAogdGVzdCgiZGl2IiwgIiAiLCAiXHhBMCIpOwogdGVzdCgiZGl2IiwgIiAgIiwg
Ilx4QTBceEEwIik7Ci0vLyBUaGlzIGlzIHdyb25nLiBUaGlzIHNob3VsZCBpbnNlcnQgaW50ZXJs
ZWF2ZWQgbmJzcCBhbmQgd2hpdGVzcGFjZS4gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD01Mjc4MS4KLXRlc3QoImRpdiIsICIgICAiLCAiXHhBMFx4QTBceEEwIik7
Cit0ZXN0KCJkaXYiLCAiICAgIiwgIlx4QTAgXHhBMCIpOwogCiB0ZXN0KCJwcmUiLCAiQUIiLCAi
QUIiKTsKIHRlc3QoInByZSIsICJBIEIiLCAiQSBCIik7Cg==
</data>
<flag name="review"
          id="71465"
          type_id="1"
          status="+"
          setter="ojan"
    />
          </attachment>
      

    </bug>

</bugzilla>