<?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>52261</bug_id>
          
          <creation_ts>2011-01-11 16:03:02 -0800</creation_ts>
          <short_desc>Make webkit-patch support subdirectories for SVN checkouts</short_desc>
          <delta_ts>2011-01-14 04:33:50 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Maciej Stachowiak">mjs</reporter>
          <assigned_to name="Maciej Stachowiak">mjs</assigned_to>
          <cc>abarth</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric</cc>
    
    <cc>galpeter</cc>
    
    <cc>mihaip</cc>
    
    <cc>mitz</cc>
    
    <cc>ojan</cc>
    
    <cc>ossy</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>332759</commentid>
    <comment_count>0</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2011-01-11 16:03:02 -0800</bug_when>
    <thetext>Make webkit-patch support subdirectories for SVN checkouts</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>332760</commentid>
    <comment_count>1</comment_count>
      <attachid>78613</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2011-01-11 16:03:28 -0800</bug_when>
    <thetext>Created attachment 78613
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>332767</commentid>
    <comment_count>2</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2011-01-11 16:11:04 -0800</bug_when>
    <thetext>This is my first Python patch so I don&apos;t really know if this was the best way to do it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>332776</commentid>
    <comment_count>3</comment_count>
      <attachid>78613</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-01-11 16:25:19 -0800</bug_when>
    <thetext>Comment on attachment 78613
Patch

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

Thanks for the patch.  This looks like a good approach.

&gt; Tools/Scripts/webkitpy/common/checkout/scm.py:330
&gt; +        if len(patch_directories) &gt; 0:
&gt; +            self.patch_directories = patch_directories

Private member variables in python are prefixed by _ (by convention).  We&apos;re not perfect about this in webkitpy because we learned about it after we started, but we&apos;re trying to enforce that for new code.

&gt; Tools/Scripts/webkitpy/common/checkout/scm.py:332
&gt; +            self.patch_directories = [os.path.relpath(cwd, self.checkout_root)]

Generally, using None is better than [] for default behavior, especially default behavior that changes the empty set into the universal set.

&gt; Tools/Scripts/webkitpy/common/checkout/scm.py:439
&gt; -        return self.run_status_and_extract_filenames(self.status_command(), self._status_regexp(&quot;ACDMR&quot;))
&gt; +        status_command = [&quot;svn&quot;, &quot;status&quot;]
&gt; +        status_command.extend(self.patch_directories)

We don&apos;t want to do this for all clients of run_status_and_extract_filenames and/or status_command ?  It seems strange to do this only here.

&gt; Tools/Scripts/webkitpy/tool/main.py:88
&gt; -            self._scm = default_scm()
&gt; +            self._scm = default_scm(self._options)

options is a tool-layer concept (i.e., specific to webkit-patch).  We shouldn&apos;t be passing the options collection to the &quot;common&quot; layer because different scripts (e.g., new-run-webkit-tests) might have a different set of options.  Usually what we do in this case is read the value out of the options collection and pass it in a named argument explicitly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>332779</commentid>
    <comment_count>4</comment_count>
      <attachid>78619</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2011-01-11 16:32:57 -0800</bug_when>
    <thetext>Created attachment 78619
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>332785</commentid>
    <comment_count>5</comment_count>
      <attachid>78619</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-01-11 16:36:29 -0800</bug_when>
    <thetext>Comment on attachment 78619
Patch

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

&gt; Tools/Scripts/webkitpy/style_references.py:74
&gt;      def create_patch(self, git_commit, changed_files=None):
&gt;          # FIXME: SCM.create_patch should understand how to handle None.
&gt; -        return self._scm.create_patch(git_commit, changed_files=changed_files or [])
&gt; +        return self._scm.create_patch(git_commit, changed_files=changed_files)

We really should just get rid of this whole references thing.  It hasn&apos;t really bought us much.  (This comment isn&apos;t really about your patch, just my reaction to seeing this change.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>332800</commentid>
    <comment_count>6</comment_count>
      <attachid>78625</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2011-01-11 16:47:51 -0800</bug_when>
    <thetext>Created attachment 78625
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>332802</commentid>
    <comment_count>7</comment_count>
      <attachid>78626</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2011-01-11 16:49:12 -0800</bug_when>
    <thetext>Created attachment 78626
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>332805</commentid>
    <comment_count>8</comment_count>
      <attachid>78626</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-01-11 16:55:00 -0800</bug_when>
    <thetext>Comment on attachment 78626
Patch

Thanks.  Looks good modulo renaming the parameter to default_scm.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>332807</commentid>
    <comment_count>9</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2011-01-11 16:57:03 -0800</bug_when>
    <thetext>Committed r75575: &lt;http://trac.webkit.org/changeset/75575&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>332875</commentid>
    <comment_count>10</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-01-11 19:37:49 -0800</bug_when>
    <thetext>*** Bug 52260 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>332978</commentid>
    <comment_count>11</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-01-12 02:32:29 -0800</bug_when>
    <thetext>It doesn&apos;t work with python 2.5, because os.path.relpath() introduced in 2.6

File &quot;/home/webkitbuildbot/slaves/release32bit/buildslave/qt-linux-release/build/Tools/Scripts/webkitpy/common/checkout/scm.py&quot;, line 331, in __init__
    self._patch_directories = [os.path.relpath(cwd, self.checkout_root)]
AttributeError: &apos;module&apos; object has no attribute &apos;relpath&apos;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>332980</commentid>
    <comment_count>12</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-01-12 02:35:36 -0800</bug_when>
    <thetext>&gt; It doesn&apos;t work with python 2.5, because os.path.relpath() introduced in 2.6

My mistake.  We should be calling this version:

http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/common/system/ospath.py#L35</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>332983</commentid>
    <comment_count>13</comment_count>
      <attachid>78668</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-01-12 02:41:45 -0800</bug_when>
    <thetext>Created attachment 78668
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>333028</commentid>
    <comment_count>14</comment_count>
      <attachid>78668</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-01-12 04:29:50 -0800</bug_when>
    <thetext>Comment on attachment 78668
Patch

Clearing flags on attachment: 78668

Committed r75600: &lt;http://trac.webkit.org/changeset/75600&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>333029</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-01-12 04:29:56 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>333725</commentid>
    <comment_count>16</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-01-13 08:54:01 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; &gt; Tools/Scripts/webkitpy/style_references.py:74
&gt; &gt;      def create_patch(self, git_commit, changed_files=None):
&gt; &gt;          # FIXME: SCM.create_patch should understand how to handle None.
&gt; &gt; -        return self._scm.create_patch(git_commit, changed_files=changed_files or [])
&gt; &gt; +        return self._scm.create_patch(git_commit, changed_files=changed_files)

After this change, check-webkit-style doesn&apos;t work for me.

$ Tools/Scripts/check-webkit-style
Traceback (most recent call last):
  File &quot;Tools/Scripts/check-webkit-style&quot;, line 134, in &lt;module&gt;
    main()
  File &quot;Tools/Scripts/check-webkit-style&quot;, line 119, in main
    patch = checkout.create_patch(options.git_commit, changed_files=changed_files)
  File &quot;/home/oszi/WebKit/Tools/Scripts/webkitpy/style_references.py&quot;, line 73, in create_patch
    return self._scm.create_patch(git_commit, changed_files=changed_files)
  File &quot;/home/oszi/WebKit/Tools/Scripts/webkitpy/common/checkout/scm.py&quot;, line 748, in create_patch
    return self.run([&apos;git&apos;, &apos;diff&apos;, &apos;--binary&apos;, &quot;--no-ext-diff&quot;, &quot;--full-index&quot;, &quot;-M&quot;, self.merge_base(git_commit), &quot;--&quot;] + changed_files, decode_output=False, cwd=self.checkout_root)
TypeError: can only concatenate list (not &quot;NoneType&quot;) to list</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>333874</commentid>
    <comment_count>17</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-01-13 12:31:24 -0800</bug_when>
    <thetext>I suspect that Git.create_patch is lame and doens&apos;t understand None as a default argument.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>333899</commentid>
    <comment_count>18</comment_count>
      <attachid>78847</attachid>
    <who name="Peter Gal">galpeter</who>
    <bug_when>2011-01-13 13:02:19 -0800</bug_when>
    <thetext>Created attachment 78847
proposed fix

I wasn&apos;t able to test it (don&apos;t have a git repo at hand), but with this it should work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>333910</commentid>
    <comment_count>19</comment_count>
      <attachid>78847</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-01-13 13:31:40 -0800</bug_when>
    <thetext>Comment on attachment 78847
proposed fix

Testing should be easy.  I can help if necessary.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>333957</commentid>
    <comment_count>20</comment_count>
    <who name="Peter Gal">galpeter</who>
    <bug_when>2011-01-13 15:00:04 -0800</bug_when>
    <thetext>(In reply to comment #19)
&gt; (From update of attachment 78847 [details])
&gt; Testing should be easy.  I can help if necessary.

Well I&apos;ve checked out a git repo and with my patch it works fine. Also after running Tools/Scripts/test-webkitpy webkitpy.common.checkout.scm_unittest.GitSVNTest there was only one failed test, but it was present before the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>333962</commentid>
    <comment_count>21</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-01-13 15:03:11 -0800</bug_when>
    <thetext>Yes, it&apos;s likely that scm_unittest.py already has failures because it&apos;s only run when --all is passed to test-webkitpy.

In this case, you are only really expected to add a new test for this case which woudl be part of scm_unittest.py but would not use a real svn or git repo (like some of the other tests do) and instead pass a MockExecutive to Git() and validate that the right commands are made (using OutputCapture).

Again, I&apos;m happy to help.  You stumbled on a rather archaic piece of our testing infrastructure sadly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>334224</commentid>
    <comment_count>22</comment_count>
      <attachid>78921</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-01-14 02:59:01 -0800</bug_when>
    <thetext>Created attachment 78921
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>334227</commentid>
    <comment_count>23</comment_count>
      <attachid>78921</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-01-14 03:19:48 -0800</bug_when>
    <thetext>Comment on attachment 78921
Patch

THEY SAID IT COULDN&apos;T BE DONE.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>334228</commentid>
    <comment_count>24</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-01-14 03:20:23 -0800</bug_when>
    <thetext>Someday we might have SCM tests that aren&apos;t amazingly slow.  :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>334235</commentid>
    <comment_count>25</comment_count>
    <who name="Peter Gal">galpeter</who>
    <bug_when>2011-01-14 04:13:04 -0800</bug_when>
    <thetext>(In reply to comment #22)
&gt; Created an attachment (id=78921) [details]
&gt; Patch

Cool. Thanks for adding the testcase.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>334236</commentid>
    <comment_count>26</comment_count>
      <attachid>78921</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-01-14 04:33:43 -0800</bug_when>
    <thetext>Comment on attachment 78921
Patch

Clearing flags on attachment: 78921

Committed r75787: &lt;http://trac.webkit.org/changeset/75787&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>334237</commentid>
    <comment_count>27</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-01-14 04:33:50 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>78613</attachid>
            <date>2011-01-11 16:03:28 -0800</date>
            <delta_ts>2011-01-11 16:32:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-52261-20110111160327.patch</filename>
            <type>text/plain</type>
            <size>5485</size>
            <attacher name="Maciej Stachowiak">mjs</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDc1NTY1KQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMTQgQEAKKzIwMTEtMDEtMTEgIE1hY2llaiBTdGFjaG93aWFrICA8bWpzQGFwcGxlLmNvbT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYWtlIHdl
YmtpdC1wYXRjaCBzdXBwb3J0IHN1YmRpcmVjdG9yaWVzIGZvciBTVk4gY2hlY2tvdXRzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MjI2MQorCisgICAg
ICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvc2NtLnB5OgorICAgICAgICAq
IFNjcmlwdHMvd2Via2l0cHkvdG9vbC9tYWluLnB5OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0
cHkvdG9vbC9zdGVwcy9wcmVwYXJlY2hhbmdlbG9nLnB5OgorCiAyMDExLTAxLTExICBFcmljIFNl
aWRlbCAgPGVyaWNAd2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLgpJbmRleDogVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvc2NtLnB5Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L3NjbS5weQkocmV2aXNpb24g
NzUzMjgpCisrKyBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVja291dC9zY20ucHkJ
KHdvcmtpbmcgY29weSkKQEAgLTUyLDcgKzUyLDcgQEAgZGVmIGZpbmRfY2hlY2tvdXRfcm9vdCgp
OgogICAgIHJldHVybiBOb25lCiAKIAotZGVmIGRlZmF1bHRfc2NtKCk6CitkZWYgZGVmYXVsdF9z
Y20ob3B0aW9ucz1Ob25lKToKICAgICAiIiJSZXR1cm4gdGhlIGRlZmF1bHQgU0NNIG9iamVjdCBh
cyBkZXRlcm1pbmVkIGJ5IHRoZSBDV0QgYW5kIHJ1bm5pbmcgY29kZS4KIAogICAgIFJldHVybnMg
dGhlIGRlZmF1bHQgU0NNIG9iamVjdCBmb3IgdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3Rvcnk7
IGlmIHRoZQpAQCAtNjIsMTAgKzYyLDEwIEBAIGRlZiBkZWZhdWx0X3NjbSgpOgogCiAgICAgIiIi
CiAgICAgY3dkID0gb3MuZ2V0Y3dkKCkKLSAgICBzY21fc3lzdGVtID0gZGV0ZWN0X3NjbV9zeXN0
ZW0oY3dkKQorICAgIHNjbV9zeXN0ZW0gPSBkZXRlY3Rfc2NtX3N5c3RlbShjd2QsIG9wdGlvbnMp
CiAgICAgaWYgbm90IHNjbV9zeXN0ZW06CiAgICAgICAgIHNjcmlwdF9kaXJlY3RvcnkgPSBvcy5w
YXRoLmRpcm5hbWUob3MucGF0aC5hYnNwYXRoKF9fZmlsZV9fKSkKLSAgICAgICAgc2NtX3N5c3Rl
bSA9IGRldGVjdF9zY21fc3lzdGVtKHNjcmlwdF9kaXJlY3RvcnkpCisgICAgICAgIHNjbV9zeXN0
ZW0gPSBkZXRlY3Rfc2NtX3N5c3RlbShzY3JpcHRfZGlyZWN0b3J5LCBvcHRpb25zKQogICAgICAg
ICBpZiBzY21fc3lzdGVtOgogICAgICAgICAgICAgbG9nKCJUaGUgY3VycmVudCBkaXJlY3Rvcnkg
KCVzKSBpcyBub3QgYSBXZWJLaXQgY2hlY2tvdXQsIHVzaW5nICVzIiAlIChjd2QsIHNjbV9zeXN0
ZW0uY2hlY2tvdXRfcm9vdCkpCiAgICAgICAgIGVsc2U6CkBAIC03MywxMSArNzMsMTUgQEAgZGVm
IGRlZmF1bHRfc2NtKCk6CiAgICAgcmV0dXJuIHNjbV9zeXN0ZW0KIAogCi1kZWYgZGV0ZWN0X3Nj
bV9zeXN0ZW0ocGF0aCk6CitkZWYgZGV0ZWN0X3NjbV9zeXN0ZW0ocGF0aCwgb3B0aW9ucz1Ob25l
KToKICAgICBhYnNvbHV0ZV9wYXRoID0gb3MucGF0aC5hYnNwYXRoKHBhdGgpCiAKKyAgICBpZiBu
b3Qgb3B0aW9uczoKKyAgICAgICAgZGlyZWN0b3JpZXMgPSBbXQorICAgIGVsc2U6CisgICAgICAg
IGRpcmVjdG9yaWVzID0gb3B0aW9ucy5wYXRjaF9kaXJlY3RvcmllcwogICAgIGlmIFNWTi5pbl93
b3JraW5nX2RpcmVjdG9yeShhYnNvbHV0ZV9wYXRoKToKLSAgICAgICAgcmV0dXJuIFNWTihjd2Q9
YWJzb2x1dGVfcGF0aCkKKyAgICAgICAgcmV0dXJuIFNWTihjd2Q9YWJzb2x1dGVfcGF0aCwgcGF0
Y2hfZGlyZWN0b3JpZXM9ZGlyZWN0b3JpZXMpCiAgICAgCiAgICAgaWYgR2l0LmluX3dvcmtpbmdf
ZGlyZWN0b3J5KGFic29sdXRlX3BhdGgpOgogICAgICAgICByZXR1cm4gR2l0KGN3ZD1hYnNvbHV0
ZV9wYXRoKQpAQCAtMzE5LDkgKzMyMywxMyBAQCBjbGFzcyBTVk4oU0NNKToKICAgICBzdm5fc2Vy
dmVyX2hvc3QgPSAic3ZuLndlYmtpdC5vcmciCiAgICAgc3ZuX3NlcnZlcl9yZWFsbSA9ICI8aHR0
cDovL3N2bi53ZWJraXQub3JnOjgwPiBNYWMgT1MgRm9yZ2UiCiAKLSAgICBkZWYgX19pbml0X18o
c2VsZiwgY3dkKToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgY3dkLCBwYXRjaF9kaXJlY3Rvcmll
cyk6CiAgICAgICAgIFNDTS5fX2luaXRfXyhzZWxmLCBjd2QpCiAgICAgICAgIHNlbGYuX2JvZ3Vz
X2RpciA9IE5vbmUKKyAgICAgICAgaWYgbGVuKHBhdGNoX2RpcmVjdG9yaWVzKSA+IDA6CisgICAg
ICAgICAgICBzZWxmLnBhdGNoX2RpcmVjdG9yaWVzID0gcGF0Y2hfZGlyZWN0b3JpZXMKKyAgICAg
ICAgZWxzZToKKyAgICAgICAgICAgIHNlbGYucGF0Y2hfZGlyZWN0b3JpZXMgPSBbb3MucGF0aC5y
ZWxwYXRoKGN3ZCwgc2VsZi5jaGVja291dF9yb290KV0KIAogICAgIEBzdGF0aWNtZXRob2QKICAg
ICBkZWYgaW5fd29ya2luZ19kaXJlY3RvcnkocGF0aCk6CkBAIC00MjcsNyArNDM1LDkgQEAgY2xh
c3MgU1ZOKFNDTSk6CiAgICAgICAgIHJldHVybiBzZWxmLnJ1bihbInN2biIsICJkZWxldGUiLCAi
LS1mb3JjZSIsIGJhc2VdLCBjd2Q9cGFyZW50KQogCiAgICAgZGVmIGNoYW5nZWRfZmlsZXMoc2Vs
ZiwgZ2l0X2NvbW1pdD1Ob25lKToKLSAgICAgICAgcmV0dXJuIHNlbGYucnVuX3N0YXR1c19hbmRf
ZXh0cmFjdF9maWxlbmFtZXMoc2VsZi5zdGF0dXNfY29tbWFuZCgpLCBzZWxmLl9zdGF0dXNfcmVn
ZXhwKCJBQ0RNUiIpKQorICAgICAgICBzdGF0dXNfY29tbWFuZCA9IFsic3ZuIiwgInN0YXR1cyJd
CisgICAgICAgIHN0YXR1c19jb21tYW5kLmV4dGVuZChzZWxmLnBhdGNoX2RpcmVjdG9yaWVzKQor
ICAgICAgICByZXR1cm4gc2VsZi5ydW5fc3RhdHVzX2FuZF9leHRyYWN0X2ZpbGVuYW1lcyhzdGF0
dXNfY29tbWFuZCwgc2VsZi5fc3RhdHVzX3JlZ2V4cCgiQUNETVIiKSkKIAogICAgIGRlZiBjaGFu
Z2VkX2ZpbGVzX2Zvcl9yZXZpc2lvbihzZWxmLCByZXZpc2lvbik6CiAgICAgICAgICMgQXMgZmFy
IGFzIEkgY2FuIHRlbGwgc3ZuIGRpZmYgLS1zdW1tYXJpemUgb3V0cHV0IGxvb2tzIGp1c3QgbGlr
ZSBzdm4gc3RhdHVzIG91dHB1dC4KSW5kZXg6IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9t
YWluLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9tYWluLnB5
CShyZXZpc2lvbiA3NTMyOCkKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9tYWluLnB5
CSh3b3JraW5nIGNvcHkpCkBAIC01Miw2ICs1Miw3IEBAIGltcG9ydCB3ZWJraXRweS50b29sLmNv
bW1hbmRzIGFzIGNvbW1hbmQKIGNsYXNzIFdlYktpdFBhdGNoKE11bHRpQ29tbWFuZFRvb2wpOgog
ICAgIGdsb2JhbF9vcHRpb25zID0gWwogICAgICAgICBtYWtlX29wdGlvbigiLXYiLCAiLS12ZXJi
b3NlIiwgYWN0aW9uPSJzdG9yZV90cnVlIiwgZGVzdD0idmVyYm9zZSIsIGRlZmF1bHQ9RmFsc2Us
IGhlbHA9ImVuYWJsZSBhbGwgbG9nZ2luZyIpLAorICAgICAgICBtYWtlX29wdGlvbigiLWQiLCAi
LS1kaXJlY3RvcnkiLCBhY3Rpb249ImFwcGVuZCIsIGRlc3Q9InBhdGNoX2RpcmVjdG9yaWVzIiwg
ZGVmYXVsdD1bXSwgaGVscD0iRGlyZWN0b3J5IHRvIGxvb2sgYXQgZm9yIGNoYW5nZWQgZmlsZXMi
KSwKICAgICAgICAgbWFrZV9vcHRpb24oIi0tZHJ5LXJ1biIsIGFjdGlvbj0ic3RvcmVfdHJ1ZSIs
IGRlc3Q9ImRyeV9ydW4iLCBkZWZhdWx0PUZhbHNlLCBoZWxwPSJkbyBub3QgdG91Y2ggcmVtb3Rl
IHNlcnZlcnMiKSwKICAgICAgICAgbWFrZV9vcHRpb24oIi0tc3RhdHVzLWhvc3QiLCBhY3Rpb249
InN0b3JlIiwgZGVzdD0ic3RhdHVzX2hvc3QiLCB0eXBlPSJzdHJpbmciLCBoZWxwPSJIb3N0bmFt
ZSAoZS5nLiBsb2NhbGhvc3Qgb3IgY29tbWl0LndlYmtpdC5vcmcpIHdoZXJlIHN0YXR1cyB1cGRh
dGVzIHNob3VsZCBiZSBwb3N0ZWQuIiksCiAgICAgICAgIG1ha2Vfb3B0aW9uKCItLWJvdC1pZCIs
IGFjdGlvbj0ic3RvcmUiLCBkZXN0PSJib3RfaWQiLCB0eXBlPSJzdHJpbmciLCBoZWxwPSJJZGVu
dGlmaWVyIGZvciB0aGlzIGJvdCAoaWYgbXVsdGlwbGUgYm90cyBhcmUgcnVubmluZyBmb3IgYSBx
dWV1ZSkiKSwKQEAgLTg0LDcgKzg1LDcgQEAgY2xhc3MgV2ViS2l0UGF0Y2goTXVsdGlDb21tYW5k
VG9vbCk6CiAgICAgZGVmIHNjbShzZWxmKToKICAgICAgICAgIyBMYXppbHkgaW5pdGlhbGl6ZSBT
Q00gdG8gbm90IGVycm9yLW91dCBiZWZvcmUgY29tbWFuZCBsaW5lIHBhcnNpbmcgKG9yIHdoZW4g
cnVubmluZyBub24tc2NtIGNvbW1hbmRzKS4KICAgICAgICAgaWYgbm90IHNlbGYuX3NjbToKLSAg
ICAgICAgICAgIHNlbGYuX3NjbSA9IGRlZmF1bHRfc2NtKCkKKyAgICAgICAgICAgIHNlbGYuX3Nj
bSA9IGRlZmF1bHRfc2NtKHNlbGYuX29wdGlvbnMpCiAgICAgICAgIHJldHVybiBzZWxmLl9zY20K
IAogICAgIGRlZiBjaGVja291dChzZWxmKToKSW5kZXg6IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkv
dG9vbC9zdGVwcy9wcmVwYXJlY2hhbmdlbG9nLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Njcmlw
dHMvd2Via2l0cHkvdG9vbC9zdGVwcy9wcmVwYXJlY2hhbmdlbG9nLnB5CShyZXZpc2lvbiA3NTMy
OCkKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy9wcmVwYXJlY2hhbmdlbG9n
LnB5CSh3b3JraW5nIGNvcHkpCkBAIC03MCw2ICs3MCw4IEBAIGNsYXNzIFByZXBhcmVDaGFuZ2VM
b2coQWJzdHJhY3RTdGVwKToKICAgICAgICAgaWYgc2VsZi5fdG9vbC5zY20oKS5zdXBwb3J0c19s
b2NhbF9jb21taXRzKCk6CiAgICAgICAgICAgICBhcmdzLmFwcGVuZCgiLS1tZXJnZS1iYXNlPSVz
IiAlIHNlbGYuX3Rvb2wuc2NtKCkubWVyZ2VfYmFzZShzZWxmLl9vcHRpb25zLmdpdF9jb21taXQp
KQogCisgICAgICAgIGFyZ3MuZXh0ZW5kKHNlbGYuX2NoYW5nZWRfZmlsZXMoc3RhdGUpKQorCiAg
ICAgICAgIHRyeToKICAgICAgICAgICAgIHNlbGYuX3Rvb2wuZXhlY3V0aXZlLnJ1bl9hbmRfdGhy
b3dfaWZfZmFpbChhcmdzLCBzZWxmLl9vcHRpb25zLnF1aWV0KQogICAgICAgICBleGNlcHQgU2Ny
aXB0RXJyb3IsIGU6Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>78619</attachid>
            <date>2011-01-11 16:32:57 -0800</date>
            <delta_ts>2011-01-11 16:47:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-52261-20110111163255.patch</filename>
            <type>text/plain</type>
            <size>6855</size>
            <attacher name="Maciej Stachowiak">mjs</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDc1NTY2KQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMTUgQEAKKzIwMTEtMDEtMTEgIE1hY2llaiBTdGFjaG93aWFrICA8bWpzQGFwcGxlLmNvbT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYWtlIHdl
YmtpdC1wYXRjaCBzdXBwb3J0IHN1YmRpcmVjdG9yaWVzIGZvciBTVk4gY2hlY2tvdXRzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MjI2MQorCisgICAg
ICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvc2NtLnB5OgorICAgICAgICAq
IFNjcmlwdHMvd2Via2l0cHkvc3R5bGVfcmVmZXJlbmNlcy5weToKKyAgICAgICAgKiBTY3JpcHRz
L3dlYmtpdHB5L3Rvb2wvbWFpbi5weToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rvb2wv
c3RlcHMvcHJlcGFyZWNoYW5nZWxvZy5weToKKwogMjAxMS0wMS0xMSAgRXJpYyBTZWlkZWwgIDxl
cmljQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZC4KSW5kZXg6IFRvb2xzL1Njcmlw
dHMvd2Via2l0cHkvc3R5bGVfcmVmZXJlbmNlcy5weQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3Jp
cHRzL3dlYmtpdHB5L3N0eWxlX3JlZmVyZW5jZXMucHkJKHJldmlzaW9uIDc1NTY1KQorKysgVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZV9yZWZlcmVuY2VzLnB5CSh3b3JraW5nIGNvcHkpCkBA
IC03MSw0ICs3MSw0IEBAIGNsYXNzIFdlYktpdENoZWNrb3V0KG9iamVjdCk6CiAKICAgICBkZWYg
Y3JlYXRlX3BhdGNoKHNlbGYsIGdpdF9jb21taXQsIGNoYW5nZWRfZmlsZXM9Tm9uZSk6CiAgICAg
ICAgICMgRklYTUU6IFNDTS5jcmVhdGVfcGF0Y2ggc2hvdWxkIHVuZGVyc3RhbmQgaG93IHRvIGhh
bmRsZSBOb25lLgotICAgICAgICByZXR1cm4gc2VsZi5fc2NtLmNyZWF0ZV9wYXRjaChnaXRfY29t
bWl0LCBjaGFuZ2VkX2ZpbGVzPWNoYW5nZWRfZmlsZXMgb3IgW10pCisgICAgICAgIHJldHVybiBz
ZWxmLl9zY20uY3JlYXRlX3BhdGNoKGdpdF9jb21taXQsIGNoYW5nZWRfZmlsZXM9Y2hhbmdlZF9m
aWxlcykKSW5kZXg6IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L3NjbS5w
eQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVja291dC9z
Y20ucHkJKHJldmlzaW9uIDc1NTY1KQorKysgVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24v
Y2hlY2tvdXQvc2NtLnB5CSh3b3JraW5nIGNvcHkpCkBAIC01Miw3ICs1Miw3IEBAIGRlZiBmaW5k
X2NoZWNrb3V0X3Jvb3QoKToKICAgICByZXR1cm4gTm9uZQogCiAKLWRlZiBkZWZhdWx0X3NjbSgp
OgorZGVmIGRlZmF1bHRfc2NtKG9wdGlvbnM9Tm9uZSk6CiAgICAgIiIiUmV0dXJuIHRoZSBkZWZh
dWx0IFNDTSBvYmplY3QgYXMgZGV0ZXJtaW5lZCBieSB0aGUgQ1dEIGFuZCBydW5uaW5nIGNvZGUu
CiAKICAgICBSZXR1cm5zIHRoZSBkZWZhdWx0IFNDTSBvYmplY3QgZm9yIHRoZSBjdXJyZW50IHdv
cmtpbmcgZGlyZWN0b3J5OyBpZiB0aGUKQEAgLTYyLDEwICs2MiwxMCBAQCBkZWYgZGVmYXVsdF9z
Y20oKToKIAogICAgICIiIgogICAgIGN3ZCA9IG9zLmdldGN3ZCgpCi0gICAgc2NtX3N5c3RlbSA9
IGRldGVjdF9zY21fc3lzdGVtKGN3ZCkKKyAgICBzY21fc3lzdGVtID0gZGV0ZWN0X3NjbV9zeXN0
ZW0oY3dkLCBvcHRpb25zKQogICAgIGlmIG5vdCBzY21fc3lzdGVtOgogICAgICAgICBzY3JpcHRf
ZGlyZWN0b3J5ID0gb3MucGF0aC5kaXJuYW1lKG9zLnBhdGguYWJzcGF0aChfX2ZpbGVfXykpCi0g
ICAgICAgIHNjbV9zeXN0ZW0gPSBkZXRlY3Rfc2NtX3N5c3RlbShzY3JpcHRfZGlyZWN0b3J5KQor
ICAgICAgICBzY21fc3lzdGVtID0gZGV0ZWN0X3NjbV9zeXN0ZW0oc2NyaXB0X2RpcmVjdG9yeSwg
b3B0aW9ucykKICAgICAgICAgaWYgc2NtX3N5c3RlbToKICAgICAgICAgICAgIGxvZygiVGhlIGN1
cnJlbnQgZGlyZWN0b3J5ICglcykgaXMgbm90IGEgV2ViS2l0IGNoZWNrb3V0LCB1c2luZyAlcyIg
JSAoY3dkLCBzY21fc3lzdGVtLmNoZWNrb3V0X3Jvb3QpKQogICAgICAgICBlbHNlOgpAQCAtNzMs
MTEgKzczLDE1IEBAIGRlZiBkZWZhdWx0X3NjbSgpOgogICAgIHJldHVybiBzY21fc3lzdGVtCiAK
IAotZGVmIGRldGVjdF9zY21fc3lzdGVtKHBhdGgpOgorZGVmIGRldGVjdF9zY21fc3lzdGVtKHBh
dGgsIG9wdGlvbnM9Tm9uZSk6CiAgICAgYWJzb2x1dGVfcGF0aCA9IG9zLnBhdGguYWJzcGF0aChw
YXRoKQogCisgICAgaWYgbm90IG9wdGlvbnM6CisgICAgICAgIGRpcmVjdG9yaWVzID0gW10KKyAg
ICBlbHNlOgorICAgICAgICBkaXJlY3RvcmllcyA9IG9wdGlvbnMucGF0Y2hfZGlyZWN0b3JpZXMK
ICAgICBpZiBTVk4uaW5fd29ya2luZ19kaXJlY3RvcnkoYWJzb2x1dGVfcGF0aCk6Ci0gICAgICAg
IHJldHVybiBTVk4oY3dkPWFic29sdXRlX3BhdGgpCisgICAgICAgIHJldHVybiBTVk4oY3dkPWFi
c29sdXRlX3BhdGgsIHBhdGNoX2RpcmVjdG9yaWVzPWRpcmVjdG9yaWVzKQogICAgIAogICAgIGlm
IEdpdC5pbl93b3JraW5nX2RpcmVjdG9yeShhYnNvbHV0ZV9wYXRoKToKICAgICAgICAgcmV0dXJu
IEdpdChjd2Q9YWJzb2x1dGVfcGF0aCkKQEAgLTMxOSw5ICszMjMsMTMgQEAgY2xhc3MgU1ZOKFND
TSk6CiAgICAgc3ZuX3NlcnZlcl9ob3N0ID0gInN2bi53ZWJraXQub3JnIgogICAgIHN2bl9zZXJ2
ZXJfcmVhbG0gPSAiPGh0dHA6Ly9zdm4ud2Via2l0Lm9yZzo4MD4gTWFjIE9TIEZvcmdlIgogCi0g
ICAgZGVmIF9faW5pdF9fKHNlbGYsIGN3ZCk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGN3ZCwg
cGF0Y2hfZGlyZWN0b3JpZXMpOgogICAgICAgICBTQ00uX19pbml0X18oc2VsZiwgY3dkKQogICAg
ICAgICBzZWxmLl9ib2d1c19kaXIgPSBOb25lCisgICAgICAgIGlmIGxlbihwYXRjaF9kaXJlY3Rv
cmllcykgPiAwOgorICAgICAgICAgICAgc2VsZi5wYXRjaF9kaXJlY3RvcmllcyA9IHBhdGNoX2Rp
cmVjdG9yaWVzCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzZWxmLnBhdGNoX2RpcmVjdG9y
aWVzID0gW29zLnBhdGgucmVscGF0aChjd2QsIHNlbGYuY2hlY2tvdXRfcm9vdCldCiAKICAgICBA
c3RhdGljbWV0aG9kCiAgICAgZGVmIGluX3dvcmtpbmdfZGlyZWN0b3J5KHBhdGgpOgpAQCAtNDI3
LDcgKzQzNSw5IEBAIGNsYXNzIFNWTihTQ00pOgogICAgICAgICByZXR1cm4gc2VsZi5ydW4oWyJz
dm4iLCAiZGVsZXRlIiwgIi0tZm9yY2UiLCBiYXNlXSwgY3dkPXBhcmVudCkKIAogICAgIGRlZiBj
aGFuZ2VkX2ZpbGVzKHNlbGYsIGdpdF9jb21taXQ9Tm9uZSk6Ci0gICAgICAgIHJldHVybiBzZWxm
LnJ1bl9zdGF0dXNfYW5kX2V4dHJhY3RfZmlsZW5hbWVzKHNlbGYuc3RhdHVzX2NvbW1hbmQoKSwg
c2VsZi5fc3RhdHVzX3JlZ2V4cCgiQUNETVIiKSkKKyAgICAgICAgc3RhdHVzX2NvbW1hbmQgPSBb
InN2biIsICJzdGF0dXMiXQorICAgICAgICBzdGF0dXNfY29tbWFuZC5leHRlbmQoc2VsZi5wYXRj
aF9kaXJlY3RvcmllcykKKyAgICAgICAgcmV0dXJuIHNlbGYucnVuX3N0YXR1c19hbmRfZXh0cmFj
dF9maWxlbmFtZXMoc3RhdHVzX2NvbW1hbmQsIHNlbGYuX3N0YXR1c19yZWdleHAoIkFDRE1SIikp
CiAKICAgICBkZWYgY2hhbmdlZF9maWxlc19mb3JfcmV2aXNpb24oc2VsZiwgcmV2aXNpb24pOgog
ICAgICAgICAjIEFzIGZhciBhcyBJIGNhbiB0ZWxsIHN2biBkaWZmIC0tc3VtbWFyaXplIG91dHB1
dCBsb29rcyBqdXN0IGxpa2Ugc3ZuIHN0YXR1cyBvdXRwdXQuCkBAIC00NjMsMTAgKzQ3MywxNCBA
QCBjbGFzcyBTVk4oU0NNKToKICAgICAgICAgcmV0dXJuICJzdm4iCiAKICAgICAjIEZJWE1FOiBU
aGlzIG1ldGhvZCBzaG91bGQgYmUgb24gQ2hlY2tvdXQuCi0gICAgZGVmIGNyZWF0ZV9wYXRjaChz
ZWxmLCBnaXRfY29tbWl0PU5vbmUsIGNoYW5nZWRfZmlsZXM9W10pOgorICAgIGRlZiBjcmVhdGVf
cGF0Y2goc2VsZiwgZ2l0X2NvbW1pdD1Ob25lLCBjaGFuZ2VkX2ZpbGVzPU5vbmUpOgogICAgICAg
ICAiIiJSZXR1cm5zIGEgYnl0ZSBhcnJheSAoc3RyKCkpIHJlcHJlc2VudGluZyB0aGUgcGF0Y2gg
ZmlsZS4KICAgICAgICAgUGF0Y2ggZmlsZXMgYXJlIGVmZmVjdGl2ZWx5IGJpbmFyeSBzaW5jZSB0
aGV5IG1heSBjb250YWluCiAgICAgICAgIGZpbGVzIG9mIG11bHRpcGxlIGRpZmZlcmVudCBlbmNv
ZGluZ3MuIiIiCisgICAgICAgIGlmIGNoYW5nZWRfZmlsZXMgPT0gW106CisgICAgICAgICAgICBy
ZXR1cm4gIiIKKyAgICAgICAgZWxpZiBjaGFuZ2VkX2ZpbGVzID09IE5vbmU6CisgICAgICAgICAg
ICBjaGFuZ2VkX2ZpbGVzID0gW10KICAgICAgICAgcmV0dXJuIHNlbGYucnVuKFtzZWxmLnNjcmlw
dF9wYXRoKCJzdm4tY3JlYXRlLXBhdGNoIildICsgY2hhbmdlZF9maWxlcywKICAgICAgICAgICAg
IGN3ZD1zZWxmLmNoZWNrb3V0X3Jvb3QsIHJldHVybl9zdGRlcnI9RmFsc2UsCiAgICAgICAgICAg
ICBkZWNvZGVfb3V0cHV0PUZhbHNlKQpJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29s
L21haW4ucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL21haW4u
cHkJKHJldmlzaW9uIDc1NTY1KQorKysgVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL21haW4u
cHkJKHdvcmtpbmcgY29weSkKQEAgLTQ5LDYgKzQ5LDcgQEAgaW1wb3J0IHdlYmtpdHB5LnRvb2wu
Y29tbWFuZHMgYXMgY29tbWFuZAogY2xhc3MgV2ViS2l0UGF0Y2goTXVsdGlDb21tYW5kVG9vbCk6
CiAgICAgZ2xvYmFsX29wdGlvbnMgPSBbCiAgICAgICAgIG1ha2Vfb3B0aW9uKCItdiIsICItLXZl
cmJvc2UiLCBhY3Rpb249InN0b3JlX3RydWUiLCBkZXN0PSJ2ZXJib3NlIiwgZGVmYXVsdD1GYWxz
ZSwgaGVscD0iZW5hYmxlIGFsbCBsb2dnaW5nIiksCisgICAgICAgIG1ha2Vfb3B0aW9uKCItZCIs
ICItLWRpcmVjdG9yeSIsIGFjdGlvbj0iYXBwZW5kIiwgZGVzdD0icGF0Y2hfZGlyZWN0b3JpZXMi
LCBkZWZhdWx0PVtdLCBoZWxwPSJEaXJlY3RvcnkgdG8gbG9vayBhdCBmb3IgY2hhbmdlZCBmaWxl
cyIpLAogICAgICAgICBtYWtlX29wdGlvbigiLS1kcnktcnVuIiwgYWN0aW9uPSJzdG9yZV90cnVl
IiwgZGVzdD0iZHJ5X3J1biIsIGRlZmF1bHQ9RmFsc2UsIGhlbHA9ImRvIG5vdCB0b3VjaCByZW1v
dGUgc2VydmVycyIpLAogICAgICAgICBtYWtlX29wdGlvbigiLS1zdGF0dXMtaG9zdCIsIGFjdGlv
bj0ic3RvcmUiLCBkZXN0PSJzdGF0dXNfaG9zdCIsIHR5cGU9InN0cmluZyIsIGhlbHA9Ikhvc3Ru
YW1lIChlLmcuIGxvY2FsaG9zdCBvciBjb21taXQud2Via2l0Lm9yZykgd2hlcmUgc3RhdHVzIHVw
ZGF0ZXMgc2hvdWxkIGJlIHBvc3RlZC4iKSwKICAgICAgICAgbWFrZV9vcHRpb24oIi0tYm90LWlk
IiwgYWN0aW9uPSJzdG9yZSIsIGRlc3Q9ImJvdF9pZCIsIHR5cGU9InN0cmluZyIsIGhlbHA9Iklk
ZW50aWZpZXIgZm9yIHRoaXMgYm90IChpZiBtdWx0aXBsZSBib3RzIGFyZSBydW5uaW5nIGZvciBh
IHF1ZXVlKSIpLApAQCAtODIsNyArODMsNyBAQCBjbGFzcyBXZWJLaXRQYXRjaChNdWx0aUNvbW1h
bmRUb29sKToKICAgICBkZWYgc2NtKHNlbGYpOgogICAgICAgICAjIExhemlseSBpbml0aWFsaXpl
IFNDTSB0byBub3QgZXJyb3Itb3V0IGJlZm9yZSBjb21tYW5kIGxpbmUgcGFyc2luZyAob3Igd2hl
biBydW5uaW5nIG5vbi1zY20gY29tbWFuZHMpLgogICAgICAgICBpZiBub3Qgc2VsZi5fc2NtOgot
ICAgICAgICAgICAgc2VsZi5fc2NtID0gZGVmYXVsdF9zY20oKQorICAgICAgICAgICAgc2VsZi5f
c2NtID0gZGVmYXVsdF9zY20oc2VsZi5fb3B0aW9ucykKICAgICAgICAgcmV0dXJuIHNlbGYuX3Nj
bQogCiAgICAgZGVmIGNoZWNrb3V0KHNlbGYpOgpJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS90b29sL3N0ZXBzL3ByZXBhcmVjaGFuZ2Vsb2cucHkKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS90b29sL3N0ZXBzL3ByZXBhcmVjaGFuZ2Vsb2cucHkJKHJldmlzaW9uIDc1
NTY1KQorKysgVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL3ByZXBhcmVjaGFuZ2Vs
b2cucHkJKHdvcmtpbmcgY29weSkKQEAgLTcwLDYgKzcwLDggQEAgY2xhc3MgUHJlcGFyZUNoYW5n
ZUxvZyhBYnN0cmFjdFN0ZXApOgogICAgICAgICBpZiBzZWxmLl90b29sLnNjbSgpLnN1cHBvcnRz
X2xvY2FsX2NvbW1pdHMoKToKICAgICAgICAgICAgIGFyZ3MuYXBwZW5kKCItLW1lcmdlLWJhc2U9
JXMiICUgc2VsZi5fdG9vbC5zY20oKS5tZXJnZV9iYXNlKHNlbGYuX29wdGlvbnMuZ2l0X2NvbW1p
dCkpCiAKKyAgICAgICAgYXJncy5leHRlbmQoc2VsZi5fY2hhbmdlZF9maWxlcyhzdGF0ZSkpCisK
ICAgICAgICAgdHJ5OgogICAgICAgICAgICAgc2VsZi5fdG9vbC5leGVjdXRpdmUucnVuX2FuZF90
aHJvd19pZl9mYWlsKGFyZ3MsIHNlbGYuX29wdGlvbnMucXVpZXQpCiAgICAgICAgIGV4Y2VwdCBT
Y3JpcHRFcnJvciwgZToK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>78625</attachid>
            <date>2011-01-11 16:47:51 -0800</date>
            <delta_ts>2011-01-11 16:49:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-52261-20110111164750.patch</filename>
            <type>text/plain</type>
            <size>7016</size>
            <attacher name="Maciej Stachowiak">mjs</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDc1NTcxKQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMTUgQEAKKzIwMTEtMDEtMTEgIE1hY2llaiBTdGFjaG93aWFrICA8bWpzQGFwcGxlLmNvbT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYWtlIHdl
YmtpdC1wYXRjaCBzdXBwb3J0IHN1YmRpcmVjdG9yaWVzIGZvciBTVk4gY2hlY2tvdXRzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MjI2MQorCisgICAg
ICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvc2NtLnB5OgorICAgICAgICAq
IFNjcmlwdHMvd2Via2l0cHkvc3R5bGVfcmVmZXJlbmNlcy5weToKKyAgICAgICAgKiBTY3JpcHRz
L3dlYmtpdHB5L3Rvb2wvbWFpbi5weToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rvb2wv
c3RlcHMvcHJlcGFyZWNoYW5nZWxvZy5weToKKwogMjAxMS0wMS0xMSAgRXJpYyBTZWlkZWwgIDxl
cmljQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZC4KSW5kZXg6IFRvb2xzL1Njcmlw
dHMvd2Via2l0cHkvc3R5bGVfcmVmZXJlbmNlcy5weQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3Jp
cHRzL3dlYmtpdHB5L3N0eWxlX3JlZmVyZW5jZXMucHkJKHJldmlzaW9uIDc1NTY1KQorKysgVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZV9yZWZlcmVuY2VzLnB5CSh3b3JraW5nIGNvcHkpCkBA
IC03MSw0ICs3MSw0IEBAIGNsYXNzIFdlYktpdENoZWNrb3V0KG9iamVjdCk6CiAKICAgICBkZWYg
Y3JlYXRlX3BhdGNoKHNlbGYsIGdpdF9jb21taXQsIGNoYW5nZWRfZmlsZXM9Tm9uZSk6CiAgICAg
ICAgICMgRklYTUU6IFNDTS5jcmVhdGVfcGF0Y2ggc2hvdWxkIHVuZGVyc3RhbmQgaG93IHRvIGhh
bmRsZSBOb25lLgotICAgICAgICByZXR1cm4gc2VsZi5fc2NtLmNyZWF0ZV9wYXRjaChnaXRfY29t
bWl0LCBjaGFuZ2VkX2ZpbGVzPWNoYW5nZWRfZmlsZXMgb3IgW10pCisgICAgICAgIHJldHVybiBz
ZWxmLl9zY20uY3JlYXRlX3BhdGNoKGdpdF9jb21taXQsIGNoYW5nZWRfZmlsZXM9Y2hhbmdlZF9m
aWxlcykKSW5kZXg6IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L3NjbS5w
eQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVja291dC9z
Y20ucHkJKHJldmlzaW9uIDc1NTY1KQorKysgVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24v
Y2hlY2tvdXQvc2NtLnB5CSh3b3JraW5nIGNvcHkpCkBAIC01Miw3ICs1Miw3IEBAIGRlZiBmaW5k
X2NoZWNrb3V0X3Jvb3QoKToKICAgICByZXR1cm4gTm9uZQogCiAKLWRlZiBkZWZhdWx0X3NjbSgp
OgorZGVmIGRlZmF1bHRfc2NtKG9wdGlvbnM9Tm9uZSk6CiAgICAgIiIiUmV0dXJuIHRoZSBkZWZh
dWx0IFNDTSBvYmplY3QgYXMgZGV0ZXJtaW5lZCBieSB0aGUgQ1dEIGFuZCBydW5uaW5nIGNvZGUu
CiAKICAgICBSZXR1cm5zIHRoZSBkZWZhdWx0IFNDTSBvYmplY3QgZm9yIHRoZSBjdXJyZW50IHdv
cmtpbmcgZGlyZWN0b3J5OyBpZiB0aGUKQEAgLTYyLDEwICs2MiwxMCBAQCBkZWYgZGVmYXVsdF9z
Y20oKToKIAogICAgICIiIgogICAgIGN3ZCA9IG9zLmdldGN3ZCgpCi0gICAgc2NtX3N5c3RlbSA9
IGRldGVjdF9zY21fc3lzdGVtKGN3ZCkKKyAgICBzY21fc3lzdGVtID0gZGV0ZWN0X3NjbV9zeXN0
ZW0oY3dkLCBvcHRpb25zKQogICAgIGlmIG5vdCBzY21fc3lzdGVtOgogICAgICAgICBzY3JpcHRf
ZGlyZWN0b3J5ID0gb3MucGF0aC5kaXJuYW1lKG9zLnBhdGguYWJzcGF0aChfX2ZpbGVfXykpCi0g
ICAgICAgIHNjbV9zeXN0ZW0gPSBkZXRlY3Rfc2NtX3N5c3RlbShzY3JpcHRfZGlyZWN0b3J5KQor
ICAgICAgICBzY21fc3lzdGVtID0gZGV0ZWN0X3NjbV9zeXN0ZW0oc2NyaXB0X2RpcmVjdG9yeSwg
b3B0aW9ucykKICAgICAgICAgaWYgc2NtX3N5c3RlbToKICAgICAgICAgICAgIGxvZygiVGhlIGN1
cnJlbnQgZGlyZWN0b3J5ICglcykgaXMgbm90IGEgV2ViS2l0IGNoZWNrb3V0LCB1c2luZyAlcyIg
JSAoY3dkLCBzY21fc3lzdGVtLmNoZWNrb3V0X3Jvb3QpKQogICAgICAgICBlbHNlOgpAQCAtNzMs
MTEgKzczLDE0IEBAIGRlZiBkZWZhdWx0X3NjbSgpOgogICAgIHJldHVybiBzY21fc3lzdGVtCiAK
IAotZGVmIGRldGVjdF9zY21fc3lzdGVtKHBhdGgpOgorZGVmIGRldGVjdF9zY21fc3lzdGVtKHBh
dGgsIHBhdGNoX2RpcmVjdG9yaWVzPU5vbmUpOgogICAgIGFic29sdXRlX3BhdGggPSBvcy5wYXRo
LmFic3BhdGgocGF0aCkKIAorICAgIGlmIHBhdGNoX2RpcmVjdG9yaWVzID09IFtdOgorICAgICAg
ICBwYXRjaF9kaXJlY3RvcmllcyA9IE5vbmUKKwogICAgIGlmIFNWTi5pbl93b3JraW5nX2RpcmVj
dG9yeShhYnNvbHV0ZV9wYXRoKToKLSAgICAgICAgcmV0dXJuIFNWTihjd2Q9YWJzb2x1dGVfcGF0
aCkKKyAgICAgICAgcmV0dXJuIFNWTihjd2Q9YWJzb2x1dGVfcGF0aCwgcGF0Y2hfZGlyZWN0b3Jp
ZXM9cGF0Y2hfZGlyZWN0b3JpZXMpCiAgICAgCiAgICAgaWYgR2l0LmluX3dvcmtpbmdfZGlyZWN0
b3J5KGFic29sdXRlX3BhdGgpOgogICAgICAgICByZXR1cm4gR2l0KGN3ZD1hYnNvbHV0ZV9wYXRo
KQpAQCAtMzE5LDkgKzMyMiwxNSBAQCBjbGFzcyBTVk4oU0NNKToKICAgICBzdm5fc2VydmVyX2hv
c3QgPSAic3ZuLndlYmtpdC5vcmciCiAgICAgc3ZuX3NlcnZlcl9yZWFsbSA9ICI8aHR0cDovL3N2
bi53ZWJraXQub3JnOjgwPiBNYWMgT1MgRm9yZ2UiCiAKLSAgICBkZWYgX19pbml0X18oc2VsZiwg
Y3dkKToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgY3dkLCBwYXRjaF9kaXJlY3Rvcmllcyk6CiAg
ICAgICAgIFNDTS5fX2luaXRfXyhzZWxmLCBjd2QpCiAgICAgICAgIHNlbGYuX2JvZ3VzX2RpciA9
IE5vbmUKKyAgICAgICAgaWYgcGF0Y2hfZGlyZWN0b3JpZXMgPT0gW106CisgICAgICAgICAgICBy
YWlzZSBTY3JpcHRFcnJvcihzY3JpcHRfYXJncz1zdm5faW5mb19hcmdzLCBtZXNzYWdlPSdFbXB0
eSBsaXN0IG9mIHBhdGNoIGRpcmVjdG9yaWVzIHBhc3NlZCB0byBTQ00uX19pbml0X18nKQorICAg
ICAgICBlbGlmIHBhdGNoX2RpcmVjdG9yaWVzID09IE5vbmU6CisgICAgICAgICAgICBzZWxmLl9w
YXRjaF9kaXJlY3RvcmllcyA9IFtvcy5wYXRoLnJlbHBhdGgoY3dkLCBzZWxmLmNoZWNrb3V0X3Jv
b3QpXQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgc2VsZi5fcGF0Y2hfZGlyZWN0b3JpZXMg
PSBwYXRjaF9kaXJlY3RvcmllcwogCiAgICAgQHN0YXRpY21ldGhvZAogICAgIGRlZiBpbl93b3Jr
aW5nX2RpcmVjdG9yeShwYXRoKToKQEAgLTQyNyw3ICs0MzYsOSBAQCBjbGFzcyBTVk4oU0NNKToK
ICAgICAgICAgcmV0dXJuIHNlbGYucnVuKFsic3ZuIiwgImRlbGV0ZSIsICItLWZvcmNlIiwgYmFz
ZV0sIGN3ZD1wYXJlbnQpCiAKICAgICBkZWYgY2hhbmdlZF9maWxlcyhzZWxmLCBnaXRfY29tbWl0
PU5vbmUpOgotICAgICAgICByZXR1cm4gc2VsZi5ydW5fc3RhdHVzX2FuZF9leHRyYWN0X2ZpbGVu
YW1lcyhzZWxmLnN0YXR1c19jb21tYW5kKCksIHNlbGYuX3N0YXR1c19yZWdleHAoIkFDRE1SIikp
CisgICAgICAgIHN0YXR1c19jb21tYW5kID0gWyJzdm4iLCAic3RhdHVzIl0KKyAgICAgICAgc3Rh
dHVzX2NvbW1hbmQuZXh0ZW5kKHNlbGYuX3BhdGNoX2RpcmVjdG9yaWVzKQorICAgICAgICByZXR1
cm4gc2VsZi5ydW5fc3RhdHVzX2FuZF9leHRyYWN0X2ZpbGVuYW1lcyhzdGF0dXNfY29tbWFuZCwg
c2VsZi5fc3RhdHVzX3JlZ2V4cCgiQUNETVIiKSkKIAogICAgIGRlZiBjaGFuZ2VkX2ZpbGVzX2Zv
cl9yZXZpc2lvbihzZWxmLCByZXZpc2lvbik6CiAgICAgICAgICMgQXMgZmFyIGFzIEkgY2FuIHRl
bGwgc3ZuIGRpZmYgLS1zdW1tYXJpemUgb3V0cHV0IGxvb2tzIGp1c3QgbGlrZSBzdm4gc3RhdHVz
IG91dHB1dC4KQEAgLTQ2MywxMCArNDc0LDE0IEBAIGNsYXNzIFNWTihTQ00pOgogICAgICAgICBy
ZXR1cm4gInN2biIKIAogICAgICMgRklYTUU6IFRoaXMgbWV0aG9kIHNob3VsZCBiZSBvbiBDaGVj
a291dC4KLSAgICBkZWYgY3JlYXRlX3BhdGNoKHNlbGYsIGdpdF9jb21taXQ9Tm9uZSwgY2hhbmdl
ZF9maWxlcz1bXSk6CisgICAgZGVmIGNyZWF0ZV9wYXRjaChzZWxmLCBnaXRfY29tbWl0PU5vbmUs
IGNoYW5nZWRfZmlsZXM9Tm9uZSk6CiAgICAgICAgICIiIlJldHVybnMgYSBieXRlIGFycmF5IChz
dHIoKSkgcmVwcmVzZW50aW5nIHRoZSBwYXRjaCBmaWxlLgogICAgICAgICBQYXRjaCBmaWxlcyBh
cmUgZWZmZWN0aXZlbHkgYmluYXJ5IHNpbmNlIHRoZXkgbWF5IGNvbnRhaW4KICAgICAgICAgZmls
ZXMgb2YgbXVsdGlwbGUgZGlmZmVyZW50IGVuY29kaW5ncy4iIiIKKyAgICAgICAgaWYgY2hhbmdl
ZF9maWxlcyA9PSBbXToKKyAgICAgICAgICAgIHJldHVybiAiIgorICAgICAgICBlbGlmIGNoYW5n
ZWRfZmlsZXMgPT0gTm9uZToKKyAgICAgICAgICAgIGNoYW5nZWRfZmlsZXMgPSBbXQogICAgICAg
ICByZXR1cm4gc2VsZi5ydW4oW3NlbGYuc2NyaXB0X3BhdGgoInN2bi1jcmVhdGUtcGF0Y2giKV0g
KyBjaGFuZ2VkX2ZpbGVzLAogICAgICAgICAgICAgY3dkPXNlbGYuY2hlY2tvdXRfcm9vdCwgcmV0
dXJuX3N0ZGVycj1GYWxzZSwKICAgICAgICAgICAgIGRlY29kZV9vdXRwdXQ9RmFsc2UpCkluZGV4
OiBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvbWFpbi5weQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29s
cy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvbWFpbi5weQkocmV2aXNpb24gNzU1NjUpCisrKyBUb29s
cy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvbWFpbi5weQkod29ya2luZyBjb3B5KQpAQCAtNDksNiAr
NDksNyBAQCBpbXBvcnQgd2Via2l0cHkudG9vbC5jb21tYW5kcyBhcyBjb21tYW5kCiBjbGFzcyBX
ZWJLaXRQYXRjaChNdWx0aUNvbW1hbmRUb29sKToKICAgICBnbG9iYWxfb3B0aW9ucyA9IFsKICAg
ICAgICAgbWFrZV9vcHRpb24oIi12IiwgIi0tdmVyYm9zZSIsIGFjdGlvbj0ic3RvcmVfdHJ1ZSIs
IGRlc3Q9InZlcmJvc2UiLCBkZWZhdWx0PUZhbHNlLCBoZWxwPSJlbmFibGUgYWxsIGxvZ2dpbmci
KSwKKyAgICAgICAgbWFrZV9vcHRpb24oIi1kIiwgIi0tZGlyZWN0b3J5IiwgYWN0aW9uPSJhcHBl
bmQiLCBkZXN0PSJwYXRjaF9kaXJlY3RvcmllcyIsIGRlZmF1bHQ9W10sIGhlbHA9IkRpcmVjdG9y
eSB0byBsb29rIGF0IGZvciBjaGFuZ2VkIGZpbGVzIiksCiAgICAgICAgIG1ha2Vfb3B0aW9uKCIt
LWRyeS1ydW4iLCBhY3Rpb249InN0b3JlX3RydWUiLCBkZXN0PSJkcnlfcnVuIiwgZGVmYXVsdD1G
YWxzZSwgaGVscD0iZG8gbm90IHRvdWNoIHJlbW90ZSBzZXJ2ZXJzIiksCiAgICAgICAgIG1ha2Vf
b3B0aW9uKCItLXN0YXR1cy1ob3N0IiwgYWN0aW9uPSJzdG9yZSIsIGRlc3Q9InN0YXR1c19ob3N0
IiwgdHlwZT0ic3RyaW5nIiwgaGVscD0iSG9zdG5hbWUgKGUuZy4gbG9jYWxob3N0IG9yIGNvbW1p
dC53ZWJraXQub3JnKSB3aGVyZSBzdGF0dXMgdXBkYXRlcyBzaG91bGQgYmUgcG9zdGVkLiIpLAog
ICAgICAgICBtYWtlX29wdGlvbigiLS1ib3QtaWQiLCBhY3Rpb249InN0b3JlIiwgZGVzdD0iYm90
X2lkIiwgdHlwZT0ic3RyaW5nIiwgaGVscD0iSWRlbnRpZmllciBmb3IgdGhpcyBib3QgKGlmIG11
bHRpcGxlIGJvdHMgYXJlIHJ1bm5pbmcgZm9yIGEgcXVldWUpIiksCkBAIC04Miw3ICs4Myw3IEBA
IGNsYXNzIFdlYktpdFBhdGNoKE11bHRpQ29tbWFuZFRvb2wpOgogICAgIGRlZiBzY20oc2VsZik6
CiAgICAgICAgICMgTGF6aWx5IGluaXRpYWxpemUgU0NNIHRvIG5vdCBlcnJvci1vdXQgYmVmb3Jl
IGNvbW1hbmQgbGluZSBwYXJzaW5nIChvciB3aGVuIHJ1bm5pbmcgbm9uLXNjbSBjb21tYW5kcyku
CiAgICAgICAgIGlmIG5vdCBzZWxmLl9zY206Ci0gICAgICAgICAgICBzZWxmLl9zY20gPSBkZWZh
dWx0X3NjbSgpCisgICAgICAgICAgICBzZWxmLl9zY20gPSBkZWZhdWx0X3NjbShzZWxmLl9vcHRp
b25zLnBhdGNoX2RpcmVjdG9yaWVzKQogICAgICAgICByZXR1cm4gc2VsZi5fc2NtCiAKICAgICBk
ZWYgY2hlY2tvdXQoc2VsZik6CkluZGV4OiBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3Rl
cHMvcHJlcGFyZWNoYW5nZWxvZy5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3dlYmtp
dHB5L3Rvb2wvc3RlcHMvcHJlcGFyZWNoYW5nZWxvZy5weQkocmV2aXNpb24gNzU1NjUpCisrKyBU
b29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvcHJlcGFyZWNoYW5nZWxvZy5weQkod29y
a2luZyBjb3B5KQpAQCAtNzAsNiArNzAsOCBAQCBjbGFzcyBQcmVwYXJlQ2hhbmdlTG9nKEFic3Ry
YWN0U3RlcCk6CiAgICAgICAgIGlmIHNlbGYuX3Rvb2wuc2NtKCkuc3VwcG9ydHNfbG9jYWxfY29t
bWl0cygpOgogICAgICAgICAgICAgYXJncy5hcHBlbmQoIi0tbWVyZ2UtYmFzZT0lcyIgJSBzZWxm
Ll90b29sLnNjbSgpLm1lcmdlX2Jhc2Uoc2VsZi5fb3B0aW9ucy5naXRfY29tbWl0KSkKIAorICAg
ICAgICBhcmdzLmV4dGVuZChzZWxmLl9jaGFuZ2VkX2ZpbGVzKHN0YXRlKSkKKwogICAgICAgICB0
cnk6CiAgICAgICAgICAgICBzZWxmLl90b29sLmV4ZWN1dGl2ZS5ydW5fYW5kX3Rocm93X2lmX2Zh
aWwoYXJncywgc2VsZi5fb3B0aW9ucy5xdWlldCkKICAgICAgICAgZXhjZXB0IFNjcmlwdEVycm9y
LCBlOgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>78626</attachid>
            <date>2011-01-11 16:49:12 -0800</date>
            <delta_ts>2011-01-12 02:41:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-52261-20110111164911.patch</filename>
            <type>text/plain</type>
            <size>7056</size>
            <attacher name="Maciej Stachowiak">mjs</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDc1NTcxKQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMTUgQEAKKzIwMTEtMDEtMTEgIE1hY2llaiBTdGFjaG93aWFrICA8bWpzQGFwcGxlLmNvbT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYWtlIHdl
YmtpdC1wYXRjaCBzdXBwb3J0IHN1YmRpcmVjdG9yaWVzIGZvciBTVk4gY2hlY2tvdXRzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MjI2MQorCisgICAg
ICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvc2NtLnB5OgorICAgICAgICAq
IFNjcmlwdHMvd2Via2l0cHkvc3R5bGVfcmVmZXJlbmNlcy5weToKKyAgICAgICAgKiBTY3JpcHRz
L3dlYmtpdHB5L3Rvb2wvbWFpbi5weToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rvb2wv
c3RlcHMvcHJlcGFyZWNoYW5nZWxvZy5weToKKwogMjAxMS0wMS0xMSAgRXJpYyBTZWlkZWwgIDxl
cmljQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZC4KSW5kZXg6IFRvb2xzL1Njcmlw
dHMvd2Via2l0cHkvc3R5bGVfcmVmZXJlbmNlcy5weQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3Jp
cHRzL3dlYmtpdHB5L3N0eWxlX3JlZmVyZW5jZXMucHkJKHJldmlzaW9uIDc1NTY1KQorKysgVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZV9yZWZlcmVuY2VzLnB5CSh3b3JraW5nIGNvcHkpCkBA
IC03MCw1ICs3MCw0IEBAIGNsYXNzIFdlYktpdENoZWNrb3V0KG9iamVjdCk6CiAgICAgICAgIHJl
dHVybiBzZWxmLl9zY20uY2hlY2tvdXRfcm9vdAogCiAgICAgZGVmIGNyZWF0ZV9wYXRjaChzZWxm
LCBnaXRfY29tbWl0LCBjaGFuZ2VkX2ZpbGVzPU5vbmUpOgotICAgICAgICAjIEZJWE1FOiBTQ00u
Y3JlYXRlX3BhdGNoIHNob3VsZCB1bmRlcnN0YW5kIGhvdyB0byBoYW5kbGUgTm9uZS4KLSAgICAg
ICAgcmV0dXJuIHNlbGYuX3NjbS5jcmVhdGVfcGF0Y2goZ2l0X2NvbW1pdCwgY2hhbmdlZF9maWxl
cz1jaGFuZ2VkX2ZpbGVzIG9yIFtdKQorICAgICAgICByZXR1cm4gc2VsZi5fc2NtLmNyZWF0ZV9w
YXRjaChnaXRfY29tbWl0LCBjaGFuZ2VkX2ZpbGVzPWNoYW5nZWRfZmlsZXMpCkluZGV4OiBUb29s
cy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVja291dC9zY20ucHkKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvc2NtLnB5CShyZXZpc2lvbiA3
NTU2NSkKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L3NjbS5weQko
d29ya2luZyBjb3B5KQpAQCAtNTIsNyArNTIsNyBAQCBkZWYgZmluZF9jaGVja291dF9yb290KCk6
CiAgICAgcmV0dXJuIE5vbmUKIAogCi1kZWYgZGVmYXVsdF9zY20oKToKK2RlZiBkZWZhdWx0X3Nj
bShvcHRpb25zPU5vbmUpOgogICAgICIiIlJldHVybiB0aGUgZGVmYXVsdCBTQ00gb2JqZWN0IGFz
IGRldGVybWluZWQgYnkgdGhlIENXRCBhbmQgcnVubmluZyBjb2RlLgogCiAgICAgUmV0dXJucyB0
aGUgZGVmYXVsdCBTQ00gb2JqZWN0IGZvciB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeTsg
aWYgdGhlCkBAIC02MiwxMCArNjIsMTAgQEAgZGVmIGRlZmF1bHRfc2NtKCk6CiAKICAgICAiIiIK
ICAgICBjd2QgPSBvcy5nZXRjd2QoKQotICAgIHNjbV9zeXN0ZW0gPSBkZXRlY3Rfc2NtX3N5c3Rl
bShjd2QpCisgICAgc2NtX3N5c3RlbSA9IGRldGVjdF9zY21fc3lzdGVtKGN3ZCwgb3B0aW9ucykK
ICAgICBpZiBub3Qgc2NtX3N5c3RlbToKICAgICAgICAgc2NyaXB0X2RpcmVjdG9yeSA9IG9zLnBh
dGguZGlybmFtZShvcy5wYXRoLmFic3BhdGgoX19maWxlX18pKQotICAgICAgICBzY21fc3lzdGVt
ID0gZGV0ZWN0X3NjbV9zeXN0ZW0oc2NyaXB0X2RpcmVjdG9yeSkKKyAgICAgICAgc2NtX3N5c3Rl
bSA9IGRldGVjdF9zY21fc3lzdGVtKHNjcmlwdF9kaXJlY3RvcnksIG9wdGlvbnMpCiAgICAgICAg
IGlmIHNjbV9zeXN0ZW06CiAgICAgICAgICAgICBsb2coIlRoZSBjdXJyZW50IGRpcmVjdG9yeSAo
JXMpIGlzIG5vdCBhIFdlYktpdCBjaGVja291dCwgdXNpbmcgJXMiICUgKGN3ZCwgc2NtX3N5c3Rl
bS5jaGVja291dF9yb290KSkKICAgICAgICAgZWxzZToKQEAgLTczLDExICs3MywxNCBAQCBkZWYg
ZGVmYXVsdF9zY20oKToKICAgICByZXR1cm4gc2NtX3N5c3RlbQogCiAKLWRlZiBkZXRlY3Rfc2Nt
X3N5c3RlbShwYXRoKToKK2RlZiBkZXRlY3Rfc2NtX3N5c3RlbShwYXRoLCBwYXRjaF9kaXJlY3Rv
cmllcz1Ob25lKToKICAgICBhYnNvbHV0ZV9wYXRoID0gb3MucGF0aC5hYnNwYXRoKHBhdGgpCiAK
KyAgICBpZiBwYXRjaF9kaXJlY3RvcmllcyA9PSBbXToKKyAgICAgICAgcGF0Y2hfZGlyZWN0b3Jp
ZXMgPSBOb25lCisKICAgICBpZiBTVk4uaW5fd29ya2luZ19kaXJlY3RvcnkoYWJzb2x1dGVfcGF0
aCk6Ci0gICAgICAgIHJldHVybiBTVk4oY3dkPWFic29sdXRlX3BhdGgpCisgICAgICAgIHJldHVy
biBTVk4oY3dkPWFic29sdXRlX3BhdGgsIHBhdGNoX2RpcmVjdG9yaWVzPXBhdGNoX2RpcmVjdG9y
aWVzKQogICAgIAogICAgIGlmIEdpdC5pbl93b3JraW5nX2RpcmVjdG9yeShhYnNvbHV0ZV9wYXRo
KToKICAgICAgICAgcmV0dXJuIEdpdChjd2Q9YWJzb2x1dGVfcGF0aCkKQEAgLTMxOSw5ICszMjIs
MTUgQEAgY2xhc3MgU1ZOKFNDTSk6CiAgICAgc3ZuX3NlcnZlcl9ob3N0ID0gInN2bi53ZWJraXQu
b3JnIgogICAgIHN2bl9zZXJ2ZXJfcmVhbG0gPSAiPGh0dHA6Ly9zdm4ud2Via2l0Lm9yZzo4MD4g
TWFjIE9TIEZvcmdlIgogCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIGN3ZCk6CisgICAgZGVmIF9f
aW5pdF9fKHNlbGYsIGN3ZCwgcGF0Y2hfZGlyZWN0b3JpZXMpOgogICAgICAgICBTQ00uX19pbml0
X18oc2VsZiwgY3dkKQogICAgICAgICBzZWxmLl9ib2d1c19kaXIgPSBOb25lCisgICAgICAgIGlm
IHBhdGNoX2RpcmVjdG9yaWVzID09IFtdOgorICAgICAgICAgICAgcmFpc2UgU2NyaXB0RXJyb3Io
c2NyaXB0X2FyZ3M9c3ZuX2luZm9fYXJncywgbWVzc2FnZT0nRW1wdHkgbGlzdCBvZiBwYXRjaCBk
aXJlY3RvcmllcyBwYXNzZWQgdG8gU0NNLl9faW5pdF9fJykKKyAgICAgICAgZWxpZiBwYXRjaF9k
aXJlY3RvcmllcyA9PSBOb25lOgorICAgICAgICAgICAgc2VsZi5fcGF0Y2hfZGlyZWN0b3JpZXMg
PSBbb3MucGF0aC5yZWxwYXRoKGN3ZCwgc2VsZi5jaGVja291dF9yb290KV0KKyAgICAgICAgZWxz
ZToKKyAgICAgICAgICAgIHNlbGYuX3BhdGNoX2RpcmVjdG9yaWVzID0gcGF0Y2hfZGlyZWN0b3Jp
ZXMKIAogICAgIEBzdGF0aWNtZXRob2QKICAgICBkZWYgaW5fd29ya2luZ19kaXJlY3RvcnkocGF0
aCk6CkBAIC00MjcsNyArNDM2LDkgQEAgY2xhc3MgU1ZOKFNDTSk6CiAgICAgICAgIHJldHVybiBz
ZWxmLnJ1bihbInN2biIsICJkZWxldGUiLCAiLS1mb3JjZSIsIGJhc2VdLCBjd2Q9cGFyZW50KQog
CiAgICAgZGVmIGNoYW5nZWRfZmlsZXMoc2VsZiwgZ2l0X2NvbW1pdD1Ob25lKToKLSAgICAgICAg
cmV0dXJuIHNlbGYucnVuX3N0YXR1c19hbmRfZXh0cmFjdF9maWxlbmFtZXMoc2VsZi5zdGF0dXNf
Y29tbWFuZCgpLCBzZWxmLl9zdGF0dXNfcmVnZXhwKCJBQ0RNUiIpKQorICAgICAgICBzdGF0dXNf
Y29tbWFuZCA9IFsic3ZuIiwgInN0YXR1cyJdCisgICAgICAgIHN0YXR1c19jb21tYW5kLmV4dGVu
ZChzZWxmLl9wYXRjaF9kaXJlY3RvcmllcykKKyAgICAgICAgcmV0dXJuIHNlbGYucnVuX3N0YXR1
c19hbmRfZXh0cmFjdF9maWxlbmFtZXMoc3RhdHVzX2NvbW1hbmQsIHNlbGYuX3N0YXR1c19yZWdl
eHAoIkFDRE1SIikpCiAKICAgICBkZWYgY2hhbmdlZF9maWxlc19mb3JfcmV2aXNpb24oc2VsZiwg
cmV2aXNpb24pOgogICAgICAgICAjIEFzIGZhciBhcyBJIGNhbiB0ZWxsIHN2biBkaWZmIC0tc3Vt
bWFyaXplIG91dHB1dCBsb29rcyBqdXN0IGxpa2Ugc3ZuIHN0YXR1cyBvdXRwdXQuCkBAIC00NjMs
MTAgKzQ3NCwxNCBAQCBjbGFzcyBTVk4oU0NNKToKICAgICAgICAgcmV0dXJuICJzdm4iCiAKICAg
ICAjIEZJWE1FOiBUaGlzIG1ldGhvZCBzaG91bGQgYmUgb24gQ2hlY2tvdXQuCi0gICAgZGVmIGNy
ZWF0ZV9wYXRjaChzZWxmLCBnaXRfY29tbWl0PU5vbmUsIGNoYW5nZWRfZmlsZXM9W10pOgorICAg
IGRlZiBjcmVhdGVfcGF0Y2goc2VsZiwgZ2l0X2NvbW1pdD1Ob25lLCBjaGFuZ2VkX2ZpbGVzPU5v
bmUpOgogICAgICAgICAiIiJSZXR1cm5zIGEgYnl0ZSBhcnJheSAoc3RyKCkpIHJlcHJlc2VudGlu
ZyB0aGUgcGF0Y2ggZmlsZS4KICAgICAgICAgUGF0Y2ggZmlsZXMgYXJlIGVmZmVjdGl2ZWx5IGJp
bmFyeSBzaW5jZSB0aGV5IG1heSBjb250YWluCiAgICAgICAgIGZpbGVzIG9mIG11bHRpcGxlIGRp
ZmZlcmVudCBlbmNvZGluZ3MuIiIiCisgICAgICAgIGlmIGNoYW5nZWRfZmlsZXMgPT0gW106Cisg
ICAgICAgICAgICByZXR1cm4gIiIKKyAgICAgICAgZWxpZiBjaGFuZ2VkX2ZpbGVzID09IE5vbmU6
CisgICAgICAgICAgICBjaGFuZ2VkX2ZpbGVzID0gW10KICAgICAgICAgcmV0dXJuIHNlbGYucnVu
KFtzZWxmLnNjcmlwdF9wYXRoKCJzdm4tY3JlYXRlLXBhdGNoIildICsgY2hhbmdlZF9maWxlcywK
ICAgICAgICAgICAgIGN3ZD1zZWxmLmNoZWNrb3V0X3Jvb3QsIHJldHVybl9zdGRlcnI9RmFsc2Us
CiAgICAgICAgICAgICBkZWNvZGVfb3V0cHV0PUZhbHNlKQpJbmRleDogVG9vbHMvU2NyaXB0cy93
ZWJraXRweS90b29sL21haW4ucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS90b29sL21haW4ucHkJKHJldmlzaW9uIDc1NTY1KQorKysgVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS90b29sL21haW4ucHkJKHdvcmtpbmcgY29weSkKQEAgLTQ5LDYgKzQ5LDcgQEAgaW1wb3J0IHdl
YmtpdHB5LnRvb2wuY29tbWFuZHMgYXMgY29tbWFuZAogY2xhc3MgV2ViS2l0UGF0Y2goTXVsdGlD
b21tYW5kVG9vbCk6CiAgICAgZ2xvYmFsX29wdGlvbnMgPSBbCiAgICAgICAgIG1ha2Vfb3B0aW9u
KCItdiIsICItLXZlcmJvc2UiLCBhY3Rpb249InN0b3JlX3RydWUiLCBkZXN0PSJ2ZXJib3NlIiwg
ZGVmYXVsdD1GYWxzZSwgaGVscD0iZW5hYmxlIGFsbCBsb2dnaW5nIiksCisgICAgICAgIG1ha2Vf
b3B0aW9uKCItZCIsICItLWRpcmVjdG9yeSIsIGFjdGlvbj0iYXBwZW5kIiwgZGVzdD0icGF0Y2hf
ZGlyZWN0b3JpZXMiLCBkZWZhdWx0PVtdLCBoZWxwPSJEaXJlY3RvcnkgdG8gbG9vayBhdCBmb3Ig
Y2hhbmdlZCBmaWxlcyIpLAogICAgICAgICBtYWtlX29wdGlvbigiLS1kcnktcnVuIiwgYWN0aW9u
PSJzdG9yZV90cnVlIiwgZGVzdD0iZHJ5X3J1biIsIGRlZmF1bHQ9RmFsc2UsIGhlbHA9ImRvIG5v
dCB0b3VjaCByZW1vdGUgc2VydmVycyIpLAogICAgICAgICBtYWtlX29wdGlvbigiLS1zdGF0dXMt
aG9zdCIsIGFjdGlvbj0ic3RvcmUiLCBkZXN0PSJzdGF0dXNfaG9zdCIsIHR5cGU9InN0cmluZyIs
IGhlbHA9Ikhvc3RuYW1lIChlLmcuIGxvY2FsaG9zdCBvciBjb21taXQud2Via2l0Lm9yZykgd2hl
cmUgc3RhdHVzIHVwZGF0ZXMgc2hvdWxkIGJlIHBvc3RlZC4iKSwKICAgICAgICAgbWFrZV9vcHRp
b24oIi0tYm90LWlkIiwgYWN0aW9uPSJzdG9yZSIsIGRlc3Q9ImJvdF9pZCIsIHR5cGU9InN0cmlu
ZyIsIGhlbHA9IklkZW50aWZpZXIgZm9yIHRoaXMgYm90IChpZiBtdWx0aXBsZSBib3RzIGFyZSBy
dW5uaW5nIGZvciBhIHF1ZXVlKSIpLApAQCAtODIsNyArODMsNyBAQCBjbGFzcyBXZWJLaXRQYXRj
aChNdWx0aUNvbW1hbmRUb29sKToKICAgICBkZWYgc2NtKHNlbGYpOgogICAgICAgICAjIExhemls
eSBpbml0aWFsaXplIFNDTSB0byBub3QgZXJyb3Itb3V0IGJlZm9yZSBjb21tYW5kIGxpbmUgcGFy
c2luZyAob3Igd2hlbiBydW5uaW5nIG5vbi1zY20gY29tbWFuZHMpLgogICAgICAgICBpZiBub3Qg
c2VsZi5fc2NtOgotICAgICAgICAgICAgc2VsZi5fc2NtID0gZGVmYXVsdF9zY20oKQorICAgICAg
ICAgICAgc2VsZi5fc2NtID0gZGVmYXVsdF9zY20oc2VsZi5fb3B0aW9ucy5wYXRjaF9kaXJlY3Rv
cmllcykKICAgICAgICAgcmV0dXJuIHNlbGYuX3NjbQogCiAgICAgZGVmIGNoZWNrb3V0KHNlbGYp
OgpJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL3ByZXBhcmVjaGFuZ2Vs
b2cucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL3By
ZXBhcmVjaGFuZ2Vsb2cucHkJKHJldmlzaW9uIDc1NTY1KQorKysgVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS90b29sL3N0ZXBzL3ByZXBhcmVjaGFuZ2Vsb2cucHkJKHdvcmtpbmcgY29weSkKQEAgLTcw
LDYgKzcwLDggQEAgY2xhc3MgUHJlcGFyZUNoYW5nZUxvZyhBYnN0cmFjdFN0ZXApOgogICAgICAg
ICBpZiBzZWxmLl90b29sLnNjbSgpLnN1cHBvcnRzX2xvY2FsX2NvbW1pdHMoKToKICAgICAgICAg
ICAgIGFyZ3MuYXBwZW5kKCItLW1lcmdlLWJhc2U9JXMiICUgc2VsZi5fdG9vbC5zY20oKS5tZXJn
ZV9iYXNlKHNlbGYuX29wdGlvbnMuZ2l0X2NvbW1pdCkpCiAKKyAgICAgICAgYXJncy5leHRlbmQo
c2VsZi5fY2hhbmdlZF9maWxlcyhzdGF0ZSkpCisKICAgICAgICAgdHJ5OgogICAgICAgICAgICAg
c2VsZi5fdG9vbC5leGVjdXRpdmUucnVuX2FuZF90aHJvd19pZl9mYWlsKGFyZ3MsIHNlbGYuX29w
dGlvbnMucXVpZXQpCiAgICAgICAgIGV4Y2VwdCBTY3JpcHRFcnJvciwgZToK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>78668</attachid>
            <date>2011-01-12 02:41:45 -0800</date>
            <delta_ts>2011-01-14 02:58:37 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-52261-20110112024143.patch</filename>
            <type>text/plain</type>
            <size>1642</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDc1NTk2KQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMTUgQEAKKzIwMTEtMDEtMTIgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYWtlIHdlYmtp
dC1wYXRjaCBzdXBwb3J0IHN1YmRpcmVjdG9yaWVzIGZvciBTVk4gY2hlY2tvdXRzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MjI2MQorCisgICAgICAg
IG9zLnJlbHBhdGggZG9lcyBub3QgZXhpc3Qgb24gUHl0aG9uIDIuNSwgc28gd2UgbmVlZCB0byBj
YWxsIG91ciB2ZXJzaW9uCisgICAgICAgIG9mIHRoZSBBUEkuCisKKyAgICAgICAgKiBTY3JpcHRz
L3dlYmtpdHB5L2NvbW1vbi9jaGVja291dC9zY20ucHk6CisKIDIwMTEtMDEtMTEgIE1hY2llaiBT
dGFjaG93aWFrICA8bWpzQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNl
aWRlbC4KSW5kZXg6IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L3NjbS5w
eQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVja291dC9z
Y20ucHkJKHJldmlzaW9uIDc1NTg4KQorKysgVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24v
Y2hlY2tvdXQvc2NtLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0zNiw2ICszNiw3IEBAIGltcG9ydCBz
aHV0aWwKIAogZnJvbSB3ZWJraXRweS5jb21tb24uc3lzdGVtLmV4ZWN1dGl2ZSBpbXBvcnQgRXhl
Y3V0aXZlLCBydW5fY29tbWFuZCwgU2NyaXB0RXJyb3IKIGZyb20gd2Via2l0cHkuY29tbW9uLnN5
c3RlbS5kZXByZWNhdGVkX2xvZ2dpbmcgaW1wb3J0IGVycm9yLCBsb2cKK2ltcG9ydCB3ZWJraXRw
eS5jb21tb24uc3lzdGVtLm9zcGF0aCBhcyBvc3BhdGgKIGZyb20gd2Via2l0cHkuY29tbW9uLm1l
bW9pemVkIGltcG9ydCBtZW1vaXplZAogCiAKQEAgLTMyOCw3ICszMjksNyBAQCBjbGFzcyBTVk4o
U0NNKToKICAgICAgICAgaWYgcGF0Y2hfZGlyZWN0b3JpZXMgPT0gW106CiAgICAgICAgICAgICBy
YWlzZSBTY3JpcHRFcnJvcihzY3JpcHRfYXJncz1zdm5faW5mb19hcmdzLCBtZXNzYWdlPSdFbXB0
eSBsaXN0IG9mIHBhdGNoIGRpcmVjdG9yaWVzIHBhc3NlZCB0byBTQ00uX19pbml0X18nKQogICAg
ICAgICBlbGlmIHBhdGNoX2RpcmVjdG9yaWVzID09IE5vbmU6Ci0gICAgICAgICAgICBzZWxmLl9w
YXRjaF9kaXJlY3RvcmllcyA9IFtvcy5wYXRoLnJlbHBhdGgoY3dkLCBzZWxmLmNoZWNrb3V0X3Jv
b3QpXQorICAgICAgICAgICAgc2VsZi5fcGF0Y2hfZGlyZWN0b3JpZXMgPSBbb3NwYXRoLnJlbHBh
dGgoY3dkLCBzZWxmLmNoZWNrb3V0X3Jvb3QpXQogICAgICAgICBlbHNlOgogICAgICAgICAgICAg
c2VsZi5fcGF0Y2hfZGlyZWN0b3JpZXMgPSBwYXRjaF9kaXJlY3RvcmllcwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>78847</attachid>
            <date>2011-01-13 13:02:19 -0800</date>
            <delta_ts>2011-01-14 02:58:42 -0800</delta_ts>
            <desc>proposed fix</desc>
            <filename>scm_git_create_patch_fix.patch</filename>
            <type>text/plain</type>
            <size>1883</size>
            <attacher name="Peter Gal">galpeter</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDc1NzMzKQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMTIgQEAKKzIwMTEtMDEtMTMgIFBldGVyIEdhbCAgPGdhbHBhdGVyQGluZi51LXN6ZWdlZC5o
dT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGaXgg
d2hlbiBydW5uaW5nIFRvb2xzL1NjcmlwdHMvY2hlY2std2Via2l0LXN0eWxlIHdpdGhvdXQgYXJn
dW1lbnRzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NTIyNjEjYzE2CisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVja291dC9z
Y20ucHk6IEhhbmRsZSBOb25lIGZvciBjaGFuZ2VkX2ZpbGVzIGFyZ3VtZW50IGJldHRlciBpbiBH
aXQuY3JlYXRlX3BhdGNoIG1ldGhvZC4KKwogMjAxMS0wMS0xMyAgQWxlamFuZHJvIEcuIENhc3Ry
byAgPGFsZXhAaWdhbGlhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBNYXJ0aW4gUm9iaW5z
b24uCkluZGV4OiBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVja291dC9zY20ucHkK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvc2Nt
LnB5CShyZXZpc2lvbiA3NTczMykKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2No
ZWNrb3V0L3NjbS5weQkod29ya2luZyBjb3B5KQpAQCAtNzQxLDExICs3NDEsMTQgQEAgY2xhc3Mg
R2l0KFNDTSk6CiAgICAgZGVmIGRpc3BsYXlfbmFtZShzZWxmKToKICAgICAgICAgcmV0dXJuICJn
aXQiCiAKLSAgICBkZWYgY3JlYXRlX3BhdGNoKHNlbGYsIGdpdF9jb21taXQ9Tm9uZSwgY2hhbmdl
ZF9maWxlcz1bXSk6CisgICAgZGVmIGNyZWF0ZV9wYXRjaChzZWxmLCBnaXRfY29tbWl0PU5vbmUs
IGNoYW5nZWRfZmlsZXM9Tm9uZSk6CiAgICAgICAgICIiIlJldHVybnMgYSBieXRlIGFycmF5IChz
dHIoKSkgcmVwcmVzZW50aW5nIHRoZSBwYXRjaCBmaWxlLgogICAgICAgICBQYXRjaCBmaWxlcyBh
cmUgZWZmZWN0aXZlbHkgYmluYXJ5IHNpbmNlIHRoZXkgbWF5IGNvbnRhaW4KICAgICAgICAgZmls
ZXMgb2YgbXVsdGlwbGUgZGlmZmVyZW50IGVuY29kaW5ncy4iIiIKLSAgICAgICAgcmV0dXJuIHNl
bGYucnVuKFsnZ2l0JywgJ2RpZmYnLCAnLS1iaW5hcnknLCAiLS1uby1leHQtZGlmZiIsICItLWZ1
bGwtaW5kZXgiLCAiLU0iLCBzZWxmLm1lcmdlX2Jhc2UoZ2l0X2NvbW1pdCksICItLSJdICsgY2hh
bmdlZF9maWxlcywgZGVjb2RlX291dHB1dD1GYWxzZSwgY3dkPXNlbGYuY2hlY2tvdXRfcm9vdCkK
KyAgICAgICAgY29tbWFuZCA9IFsnZ2l0JywgJ2RpZmYnLCAnLS1iaW5hcnknLCAiLS1uby1leHQt
ZGlmZiIsICItLWZ1bGwtaW5kZXgiLCAiLU0iLCBzZWxmLm1lcmdlX2Jhc2UoZ2l0X2NvbW1pdCks
ICItLSJdCisgICAgICAgIGlmIGNoYW5nZWRfZmlsZXM6CisgICAgICAgICAgICBjb21tYW5kICs9
IGNoYW5nZWRfZmlsZXMKKyAgICAgICAgcmV0dXJuIHNlbGYucnVuKGNvbW1hbmQsIGRlY29kZV9v
dXRwdXQ9RmFsc2UsIGN3ZD1zZWxmLmNoZWNrb3V0X3Jvb3QpCiAKICAgICBkZWYgX3J1bl9naXRf
c3ZuX2ZpbmRfcmV2KHNlbGYsIGFyZyk6CiAgICAgICAgICMgZ2l0IHN2biBmaW5kLXJldiBhbHdh
eXMgZXhpdHMgMCwgZXZlbiB3aGVuIHRoZSByZXZpc2lvbiBvciBjb21taXQgaXMgbm90IGZvdW5k
Lgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>78921</attachid>
            <date>2011-01-14 02:59:01 -0800</date>
            <delta_ts>2011-01-14 04:33:43 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-52261-20110114025859.patch</filename>
            <type>text/plain</type>
            <size>8450</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAyZTEw
YzFlMDExYWYyZTdjMWNlOTljMjYzYWI1MGEwYTBkMWEyYzk0Li42MmZlMDViODgyOWMyYjE5NmQ0
MWY3OTJjODRiYjc0MGFmYmE2YTMwIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIv
VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTcgQEAKIDIwMTEtMDEtMTQgIEVyaWMgU2VpZGVs
ICA8ZXJpY0B3ZWJraXQub3JnPgogCisgICAgICAgIE9yaWdpbmFsIHBhdGNoIGZyb20gUGV0ZXIg
R2FsICA8Z2FscGF0ZXJAaW5mLnUtc3plZ2VkLmh1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEZpeCB3aGVuIHJ1bm5pbmcgVG9vbHMvU2NyaXB0cy9j
aGVjay13ZWJraXQtc3R5bGUgd2l0aG91dCBhcmd1bWVudHMuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MjI2MSNjMTYKKworICAgICAgICAqIFNjcmlw
dHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L3NjbS5weTogSGFuZGxlIE5vbmUgZm9yIGNoYW5n
ZWRfZmlsZXMgYXJndW1lbnQgYmV0dGVyIGluIEdpdC5jcmVhdGVfcGF0Y2ggbWV0aG9kLgorICAg
ICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L3NjbV91bml0dGVzdC5weToK
KworMjAxMS0wMS0xNCAgRXJpYyBTZWlkZWwgIDxlcmljQHdlYmtpdC5vcmc+CisKICAgICAgICAg
VW5yZXZpZXdlZC4gIE1ha2UgaXQgd29yayBpbiBweXRob24gMi41LgogCiAgICAgICAgIHdlYmtp
dC1wYXRjaCBzdWdnZXN0LXJldmlld2VycyBkaWVzIHdoZW4gQ2hhbmdlTG9ncyBhcmUgbWlzc2lu
ZwpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvc2Nt
LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvc2NtLnB5CmluZGV4
IGQ1ZDI5ZjU4NzNjZWU2NmUwYmUzZjgyZmZlNzA4NGFlMzE5NTUwNTQuLjQyMWMwZGNmZThmNmZm
MzNhZTM3MDQ4OTFjNTk1ZDE5ZGZmYTQxYmEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvY29tbW9uL2NoZWNrb3V0L3NjbS5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L2NvbW1vbi9jaGVja291dC9zY20ucHkKQEAgLTE0NSwxNiArMTQ1LDE2IEBAIGNsYXNzIEFtYmln
dW91c0NvbW1pdEVycm9yKEV4Y2VwdGlvbik6CiAKICMgU0NNIG1ldGhvZHMgYXJlIGV4cGVjdGVk
IHRvIHJldHVybiBwYXRocyByZWxhdGl2ZSB0byBzZWxmLmNoZWNrb3V0X3Jvb3QuCiBjbGFzcyBT
Q006Ci0gICAgZGVmIF9faW5pdF9fKHNlbGYsIGN3ZCk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYs
IGN3ZCwgZXhlY3V0aXZlPU5vbmUpOgogICAgICAgICBzZWxmLmN3ZCA9IGN3ZAogICAgICAgICBz
ZWxmLmNoZWNrb3V0X3Jvb3QgPSBzZWxmLmZpbmRfY2hlY2tvdXRfcm9vdChzZWxmLmN3ZCkKICAg
ICAgICAgc2VsZi5kcnlydW4gPSBGYWxzZQorICAgICAgICBzZWxmLl9leGVjdXRpdmUgPSBleGVj
dXRpdmUgb3IgRXhlY3V0aXZlKCkKIAogICAgICMgQSB3cmFwcGVyIHVzZWQgYnkgc3ViY2xhc3Nl
cyB0byBjcmVhdGUgcHJvY2Vzc2VzLgogICAgIGRlZiBydW4oc2VsZiwgYXJncywgY3dkPU5vbmUs
IGlucHV0PU5vbmUsIGVycm9yX2hhbmRsZXI9Tm9uZSwgcmV0dXJuX2V4aXRfY29kZT1GYWxzZSwg
cmV0dXJuX3N0ZGVycj1UcnVlLCBkZWNvZGVfb3V0cHV0PVRydWUpOgogICAgICAgICAjIEZJWE1F
OiBXZSBzaG91bGQgc2V0IGN3ZCBhcHByb3ByaWF0ZWx5LgotICAgICAgICAjIEZJWE1FOiBXZSBz
aG91bGQgdXNlIEV4ZWN1dGl2ZS4KLSAgICAgICAgcmV0dXJuIHJ1bl9jb21tYW5kKGFyZ3MsCisg
ICAgICAgIHJldHVybiBzZWxmLl9leGVjdXRpdmUucnVuX2NvbW1hbmQoYXJncywKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGN3ZD1jd2QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnB1dD1pbnB1dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yX2hhbmRsZXI9ZXJy
b3JfaGFuZGxlciwKQEAgLTI2Niw3ICsyNjYsNyBAQCBjbGFzcyBTQ006CiAgICAgZGVmIGRpc3Bs
YXlfbmFtZShzZWxmKToKICAgICAgICAgc2VsZi5fc3ViY2xhc3NfbXVzdF9pbXBsZW1lbnQoKQog
Ci0gICAgZGVmIGNyZWF0ZV9wYXRjaChzZWxmLCBnaXRfY29tbWl0PU5vbmUsIGNoYW5nZWRfZmls
ZXM9W10pOgorICAgIGRlZiBjcmVhdGVfcGF0Y2goc2VsZiwgZ2l0X2NvbW1pdD1Ob25lLCBjaGFu
Z2VkX2ZpbGVzPU5vbmUpOgogICAgICAgICBzZWxmLl9zdWJjbGFzc19tdXN0X2ltcGxlbWVudCgp
CiAKICAgICBkZWYgY29tbWl0dGVyX2VtYWlsX2Zvcl9yZXZpc2lvbihzZWxmLCByZXZpc2lvbik6
CkBAIC0zMTksMTQgKzMxOSwxNSBAQCBjbGFzcyBTQ006CiAKIAogY2xhc3MgU1ZOKFNDTSk6Ci0g
ICAgIyBGSVhNRTogV2Ugc2hvdWxkIG1vdmUgdGhlc2UgdmFsdWVzIHRvIGEgV2ViS2l0LXNwZWNp
ZmljIGNvbmZpZy4gZmlsZS4KKyAgICAjIEZJWE1FOiBXZSBzaG91bGQgbW92ZSB0aGVzZSB2YWx1
ZXMgdG8gYSBXZWJLaXQtc3BlY2lmaWMgY29uZmlnIGZpbGUuCiAgICAgc3ZuX3NlcnZlcl9ob3N0
ID0gInN2bi53ZWJraXQub3JnIgogICAgIHN2bl9zZXJ2ZXJfcmVhbG0gPSAiPGh0dHA6Ly9zdm4u
d2Via2l0Lm9yZzo4MD4gTWFjIE9TIEZvcmdlIgogCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIGN3
ZCwgcGF0Y2hfZGlyZWN0b3JpZXMpOgotICAgICAgICBTQ00uX19pbml0X18oc2VsZiwgY3dkKQor
ICAgIGRlZiBfX2luaXRfXyhzZWxmLCBjd2QsIHBhdGNoX2RpcmVjdG9yaWVzLCBleGVjdXRpdmU9
Tm9uZSk6CisgICAgICAgIFNDTS5fX2luaXRfXyhzZWxmLCBjd2QsIGV4ZWN1dGl2ZSkKICAgICAg
ICAgc2VsZi5fYm9ndXNfZGlyID0gTm9uZQogICAgICAgICBpZiBwYXRjaF9kaXJlY3RvcmllcyA9
PSBbXToKKyAgICAgICAgICAgICMgRklYTUU6IFNjcmlwdEVycm9yIGlzIGZvciBFeGVjdXRpdmUs
IHRoaXMgc2hvdWxkIHByb2JhYmx5IGJlIGEgbm9ybWFsIEV4Y2VwdGlvbi4KICAgICAgICAgICAg
IHJhaXNlIFNjcmlwdEVycm9yKHNjcmlwdF9hcmdzPXN2bl9pbmZvX2FyZ3MsIG1lc3NhZ2U9J0Vt
cHR5IGxpc3Qgb2YgcGF0Y2ggZGlyZWN0b3JpZXMgcGFzc2VkIHRvIFNDTS5fX2luaXRfXycpCiAg
ICAgICAgIGVsaWYgcGF0Y2hfZGlyZWN0b3JpZXMgPT0gTm9uZToKICAgICAgICAgICAgIHNlbGYu
X3BhdGNoX2RpcmVjdG9yaWVzID0gW29zcGF0aC5yZWxwYXRoKGN3ZCwgc2VsZi5jaGVja291dF9y
b290KV0KQEAgLTU5MSw4ICs1OTIsOCBAQCBjbGFzcyBTVk4oU0NNKToKIAogIyBBbGwgZ2l0LXNw
ZWNpZmljIGxvZ2ljIHNob3VsZCBnbyBoZXJlLgogY2xhc3MgR2l0KFNDTSk6Ci0gICAgZGVmIF9f
aW5pdF9fKHNlbGYsIGN3ZCk6Ci0gICAgICAgIFNDTS5fX2luaXRfXyhzZWxmLCBjd2QpCisgICAg
ZGVmIF9faW5pdF9fKHNlbGYsIGN3ZCwgZXhlY3V0aXZlPU5vbmUpOgorICAgICAgICBTQ00uX19p
bml0X18oc2VsZiwgY3dkLCBleGVjdXRpdmUpCiAgICAgICAgIHNlbGYuX2NoZWNrX2dpdF9hcmNo
aXRlY3R1cmUoKQogCiAgICAgZGVmIF9tYWNoaW5lX2lzXzY0Yml0KHNlbGYpOgpAQCAtNzQ1LDEx
ICs3NDYsMTQgQEAgY2xhc3MgR2l0KFNDTSk6CiAgICAgZGVmIGRpc3BsYXlfbmFtZShzZWxmKToK
ICAgICAgICAgcmV0dXJuICJnaXQiCiAKLSAgICBkZWYgY3JlYXRlX3BhdGNoKHNlbGYsIGdpdF9j
b21taXQ9Tm9uZSwgY2hhbmdlZF9maWxlcz1bXSk6CisgICAgZGVmIGNyZWF0ZV9wYXRjaChzZWxm
LCBnaXRfY29tbWl0PU5vbmUsIGNoYW5nZWRfZmlsZXM9Tm9uZSk6CiAgICAgICAgICIiIlJldHVy
bnMgYSBieXRlIGFycmF5IChzdHIoKSkgcmVwcmVzZW50aW5nIHRoZSBwYXRjaCBmaWxlLgogICAg
ICAgICBQYXRjaCBmaWxlcyBhcmUgZWZmZWN0aXZlbHkgYmluYXJ5IHNpbmNlIHRoZXkgbWF5IGNv
bnRhaW4KICAgICAgICAgZmlsZXMgb2YgbXVsdGlwbGUgZGlmZmVyZW50IGVuY29kaW5ncy4iIiIK
LSAgICAgICAgcmV0dXJuIHNlbGYucnVuKFsnZ2l0JywgJ2RpZmYnLCAnLS1iaW5hcnknLCAiLS1u
by1leHQtZGlmZiIsICItLWZ1bGwtaW5kZXgiLCAiLU0iLCBzZWxmLm1lcmdlX2Jhc2UoZ2l0X2Nv
bW1pdCksICItLSJdICsgY2hhbmdlZF9maWxlcywgZGVjb2RlX291dHB1dD1GYWxzZSwgY3dkPXNl
bGYuY2hlY2tvdXRfcm9vdCkKKyAgICAgICAgY29tbWFuZCA9IFsnZ2l0JywgJ2RpZmYnLCAnLS1i
aW5hcnknLCAiLS1uby1leHQtZGlmZiIsICItLWZ1bGwtaW5kZXgiLCAiLU0iLCBzZWxmLm1lcmdl
X2Jhc2UoZ2l0X2NvbW1pdCksICItLSJdCisgICAgICAgIGlmIGNoYW5nZWRfZmlsZXM6CisgICAg
ICAgICAgICBjb21tYW5kICs9IGNoYW5nZWRfZmlsZXMKKyAgICAgICAgcmV0dXJuIHNlbGYucnVu
KGNvbW1hbmQsIGRlY29kZV9vdXRwdXQ9RmFsc2UsIGN3ZD1zZWxmLmNoZWNrb3V0X3Jvb3QpCiAK
ICAgICBkZWYgX3J1bl9naXRfc3ZuX2ZpbmRfcmV2KHNlbGYsIGFyZyk6CiAgICAgICAgICMgZ2l0
IHN2biBmaW5kLXJldiBhbHdheXMgZXhpdHMgMCwgZXZlbiB3aGVuIHRoZSByZXZpc2lvbiBvciBj
b21taXQgaXMgbm90IGZvdW5kLgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9j
b21tb24vY2hlY2tvdXQvc2NtX3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9j
b21tb24vY2hlY2tvdXQvc2NtX3VuaXR0ZXN0LnB5CmluZGV4IDhmMjRiZWIyYWY1ZmQzYzBkNmFm
YzY1OTE4MDgyODVjYjliYjJmNGUuLjY0MTIyYjQyNmRkZjQyNzUzNmM5ZTY0Y2U0YjdlOGIyZDU2
NDM5YjkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0
L3NjbV91bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVj
a291dC9zY21fdW5pdHRlc3QucHkKQEAgLTQ1LDExICs0NSwxMiBAQCBpbXBvcnQgc2h1dGlsCiAK
IGZyb20gZGF0ZXRpbWUgaW1wb3J0IGRhdGUKIGZyb20gd2Via2l0cHkuY29tbW9uLmNoZWNrb3V0
LmFwaSBpbXBvcnQgQ2hlY2tvdXQKLWZyb20gd2Via2l0cHkuY29tbW9uLmNoZWNrb3V0LnNjbSBp
bXBvcnQgZGV0ZWN0X3NjbV9zeXN0ZW0sIFNDTSwgU1ZOLCBDaGVja291dE5lZWRzVXBkYXRlLCBj
b21taXRfZXJyb3JfaGFuZGxlciwgQXV0aGVudGljYXRpb25FcnJvciwgQW1iaWd1b3VzQ29tbWl0
RXJyb3IsIGZpbmRfY2hlY2tvdXRfcm9vdCwgZGVmYXVsdF9zY20KK2Zyb20gd2Via2l0cHkuY29t
bW9uLmNoZWNrb3V0LnNjbSBpbXBvcnQgZGV0ZWN0X3NjbV9zeXN0ZW0sIFNDTSwgU1ZOLCBHaXQs
IENoZWNrb3V0TmVlZHNVcGRhdGUsIGNvbW1pdF9lcnJvcl9oYW5kbGVyLCBBdXRoZW50aWNhdGlv
bkVycm9yLCBBbWJpZ3VvdXNDb21taXRFcnJvciwgZmluZF9jaGVja291dF9yb290LCBkZWZhdWx0
X3NjbQogZnJvbSB3ZWJraXRweS5jb21tb24uY29uZmlnLmNvbW1pdHRlcnMgaW1wb3J0IENvbW1p
dHRlciAgIyBGSVhNRTogVGhpcyBzaG91bGQgbm90IGJlIG5lZWRlZAogZnJvbSB3ZWJraXRweS5j
b21tb24ubmV0LmJ1Z3ppbGxhIGltcG9ydCBBdHRhY2htZW50ICMgRklYTUU6IFRoaXMgc2hvdWxk
IG5vdCBiZSBuZWVkZWQKIGZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5leGVjdXRpdmUgaW1w
b3J0IEV4ZWN1dGl2ZSwgcnVuX2NvbW1hbmQsIFNjcmlwdEVycm9yCiBmcm9tIHdlYmtpdHB5LmNv
bW1vbi5zeXN0ZW0ub3V0cHV0Y2FwdHVyZSBpbXBvcnQgT3V0cHV0Q2FwdHVyZQorZnJvbSB3ZWJr
aXRweS50b29sLm1vY2t0b29sIGltcG9ydCBNb2NrRXhlY3V0aXZlCiAKICMgRXZlbnR1YWxseSB3
ZSB3aWxsIHdhbnQgdG8gd3JpdGUgdGVzdHMgd2hpY2ggd29yayBmb3IgYm90aCBzY21zLiAobGlr
ZSB1cGRhdGVfd2Via2l0LCBjaGFuZ2VkX2ZpbGVzLCBldGMuKQogIyBQZXJoYXBzIHRocm91Z2gg
c29tZSBTQ01UZXN0IGJhc2UtY2xhc3Mgd2hpY2ggYm90aCBTVk5UZXN0IGFuZCBHaXRUZXN0IGlu
aGVyaXQgZnJvbS4KQEAgLTQ1Niw2ICs0NTcsNyBAQCBPY21ZZXgmcmVEJDtzTzgqRjlMKUIKICAg
ICAgICAgc2VsZi5zY20uYWRkKCJhZGRlZF9kaXIvYWRkZWRfZmlsZSIpCiAgICAgICAgIHNlbGYu
YXNzZXJ0VHJ1ZSgiYWRkZWRfZGlyL2FkZGVkX2ZpbGUiIGluIHNlbGYuc2NtLmFkZGVkX2ZpbGVz
KCkpCiAKKwogY2xhc3MgU1ZOVGVzdChTQ01UZXN0KToKIAogICAgIEBzdGF0aWNtZXRob2QKQEAg
LTEzMTYsNSArMTMxOCwyMCBAQCBjbGFzcyBHaXRTVk5UZXN0KFNDTVRlc3QpOgogICAgICAgICBz
ZWxmLmFzc2VydFRydWUoIitVcGRhdGVkIiBpbiBjYWNoZWRfZGlmZikKICAgICAgICAgc2VsZi5h
c3NlcnRUcnVlKCItbW9yZSB0ZXN0IGNvbnRlbnQiIGluIGNhY2hlZF9kaWZmKQogCisKKyMgV2Ug
bmVlZCB0byBzcGxpdCBvZmYgbW9yZSBvZiB0aGVzZSBTQ00gdGVzdHMgdG8gdXNlIG1vY2tzIGlu
c3RlYWQgb2YgdGhlIGZpbGVzeXN0ZW0uCisjIFRoaXMgY2xhc3MgaXMgdGhlIGZpcnN0IHBhcnQg
b2YgdGhhdC4KK2NsYXNzIEdpdFRlc3RXaXRoTW9jayh1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAg
ZGVmIHNldFVwKHNlbGYpOgorICAgICAgICBleGVjdXRpdmUgPSBNb2NrRXhlY3V0aXZlKHNob3Vs
ZF9sb2c9RmFsc2UpCisgICAgICAgICMgV2UgZG8gdGhpcyBzaG91bGRfbG9nIGRhbmNlIHRvIGF2
b2lkIGxvZ2dpbmcgd2hlbiBHaXQuX19pbml0X18gcnVucyBzeXNjdGwgb24gbWFjIHRvIGNoZWNr
IGZvciA2NC1iaXQgc3VwcG9ydC4KKyAgICAgICAgc2VsZi5zY20gPSBHaXQoTm9uZSwgZXhlY3V0
aXZlPWV4ZWN1dGl2ZSkKKyAgICAgICAgZXhlY3V0aXZlLnNob3VsZF9sb2cgPSBUcnVlCisKKyAg
ICBkZWYgdGVzdF9jcmVhdGVfcGF0Y2goc2VsZik6CisgICAgICAgIGV4cGVjdGVkX3N0ZGVyciA9
ICJNT0NLIHJ1bl9jb21tYW5kOiBbJ2dpdCcsICdtZXJnZS1iYXNlJywgdSdyZWZzL3JlbW90ZXMv
b3JpZ2luL21hc3RlcicsICdIRUFEJ11cbk1PQ0sgcnVuX2NvbW1hbmQ6IFsnZ2l0JywgJ2RpZmYn
LCAnLS1iaW5hcnknLCAnLS1uby1leHQtZGlmZicsICctLWZ1bGwtaW5kZXgnLCAnLU0nLCAnTU9D
SyBvdXRwdXQgb2YgY2hpbGQgcHJvY2VzcycsICctLSddXG4iCisgICAgICAgIE91dHB1dENhcHR1
cmUoKS5hc3NlcnRfb3V0cHV0cyhzZWxmLCBzZWxmLnNjbS5jcmVhdGVfcGF0Y2gsIGt3YXJncz17
J2NoYW5nZWRfZmlsZXMnOiBOb25lfSwgZXhwZWN0ZWRfc3RkZXJyPWV4cGVjdGVkX3N0ZGVycikK
KworCiBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgogICAgIHVuaXR0ZXN0Lm1haW4oKQpkaWZm
IC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL21vY2t0b29sLnB5IGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS90b29sL21vY2t0b29sLnB5CmluZGV4IGQ4YzhmZjBjODA2ZWE5MTlh
N2IwYzEzNTU3MGJlYmE4ZjQ5NjkwMDYuLjdkYjI5OTY5MmNkZDhiYjFiMGI3NGY3MmFhODUyNjFl
M2ZhMTRkMjEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9tb2NrdG9v
bC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvbW9ja3Rvb2wucHkKQEAgLTYy
MywxMCArNjIzLDEwIEBAIGNsYXNzIE1vY2tTdGF0dXNTZXJ2ZXIob2JqZWN0KToKICMgRklYTUU6
IFVuaWZ5IHdpdGggY29tbW9uLnN5c3RlbS5leGVjdXRpdmVfbW9jay5Nb2NrRXhlY3V0aXZlLgog
Y2xhc3MgTW9ja0V4ZWN1dGl2ZShNb2NrKToKICAgICBkZWYgX19pbml0X18oc2VsZiwgc2hvdWxk
X2xvZyk6Ci0gICAgICAgIHNlbGYuX3Nob3VsZF9sb2cgPSBzaG91bGRfbG9nCisgICAgICAgIHNl
bGYuc2hvdWxkX2xvZyA9IHNob3VsZF9sb2cKIAogICAgIGRlZiBydW5fYW5kX3Rocm93X2lmX2Zh
aWwoc2VsZiwgYXJncywgcXVpZXQ9RmFsc2UpOgotICAgICAgICBpZiBzZWxmLl9zaG91bGRfbG9n
OgorICAgICAgICBpZiBzZWxmLnNob3VsZF9sb2c6CiAgICAgICAgICAgICBsb2coIk1PQ0sgcnVu
X2FuZF90aHJvd19pZl9mYWlsOiAlcyIgJSBhcmdzKQogICAgICAgICByZXR1cm4gIk1PQ0sgb3V0
cHV0IG9mIGNoaWxkIHByb2Nlc3MiCiAKQEAgLTYzOCw3ICs2MzgsNyBAQCBjbGFzcyBNb2NrRXhl
Y3V0aXZlKE1vY2spOgogICAgICAgICAgICAgICAgICAgICByZXR1cm5fZXhpdF9jb2RlPUZhbHNl
LAogICAgICAgICAgICAgICAgICAgICByZXR1cm5fc3RkZXJyPVRydWUsCiAgICAgICAgICAgICAg
ICAgICAgIGRlY29kZV9vdXRwdXQ9RmFsc2UpOgotICAgICAgICBpZiBzZWxmLl9zaG91bGRfbG9n
OgorICAgICAgICBpZiBzZWxmLnNob3VsZF9sb2c6CiAgICAgICAgICAgICBsb2coIk1PQ0sgcnVu
X2NvbW1hbmQ6ICVzIiAlIGFyZ3MpCiAgICAgICAgIHJldHVybiAiTU9DSyBvdXRwdXQgb2YgY2hp
bGQgcHJvY2VzcyIKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>