<?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>39199</bug_id>
          
          <creation_ts>2010-05-17 00:25:52 -0700</creation_ts>
          <short_desc>build-webkit should collect Visual Studio Express logs and display them</short_desc>
          <delta_ts>2011-01-20 22:44:07 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows XP</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="Eric Seidel (no email)">eric</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>abecsi</cc>
    
    <cc>aroben</cc>
    
    <cc>bfulgham</cc>
    
    <cc>bweinstein</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>dglazkov</cc>
    
    <cc>guruhb</cc>
    
    <cc>gustavo</cc>
    
    <cc>kenneth</cc>
    
    <cc>kevino</cc>
    
    <cc>ossy</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>226639</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-05-17 00:25:52 -0700</bug_when>
    <thetext>#!/usr/bin/python

build-webkit should collect Visual Studio Express logs and display them

Here is one example script, written in python:

#!/usr/bin/python
from __future__ import with_statement

import codecs
import os.path
import os

webkit_root = &quot;/mnt/svn/webkit-win-ews&quot;
build_root = os.path.join(webkit_root, &quot;WebKitBuild&quot;)
obj_root = os.path.join(build_root, &quot;obj&quot;)

build_log_paths = []

for dirpath, dirnames, filenames in os.walk(obj_root):
   for file_name in filenames:
       if file_name == &quot;BuildLog.htm&quot;:
           file_path = os.path.join(dirpath, file_name)
           build_log_paths.append(file_path)


for build_log_path in build_log_paths:
    with codecs.open(build_log_path, &quot;r&quot;, &quot;utf-16&quot;) as build_log:
        print build_log.read()

Ideally we could wire up a hook in build-webkit itself to have them print to the console as they&apos;re generated.  But at least we need a script like the one above for the win-ews.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>287380</commentid>
    <comment_count>1</comment_count>
      <attachid>69313</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-09-29 22:47:08 -0700</bug_when>
    <thetext>Created attachment 69313
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>287382</commentid>
    <comment_count>2</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-09-29 22:48:41 -0700</bug_when>
    <thetext>I&apos;ve not tested this yet, but I&apos;m about to.  I&apos;m very interested in thoughts from folks who actually use windows!

We need something like this to make the win-ews useful.

Yes, I know it just dumps the HTML, but that&apos;s *way* better than nothing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>287386</commentid>
    <comment_count>3</comment_count>
      <attachid>69313</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-09-29 23:07:53 -0700</bug_when>
    <thetext>Comment on attachment 69313
Patch

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

&gt; WebKitTools/Scripts/print-vse-failure-logs:69
&gt; +            with codecs.open(build_log_path, &quot;r&quot;, &quot;utf-16&quot;) as build_log:

for reals?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>287387</commentid>
    <comment_count>4</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-09-29 23:08:42 -0700</bug_when>
    <thetext>I have slight worries about destroying someone&apos;s build environment, but I&apos;m not sure how to proceed except to try.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>287433</commentid>
    <comment_count>5</comment_count>
      <attachid>69313</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-09-30 01:55:29 -0700</bug_when>
    <thetext>Comment on attachment 69313
Patch

Actually, lets leave this r? until the win-ews gets a chance. :)  That&apos;s the simplest way to test this patch!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>287435</commentid>
    <comment_count>6</comment_count>
      <attachid>69313</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-09-30 01:56:33 -0700</bug_when>
    <thetext>Comment on attachment 69313
Patch

Once the win-ews approves this patch, it can be cq+&apos;d</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>287929</commentid>
    <comment_count>7</comment_count>
      <attachid>69394</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-09-30 16:40:57 -0700</bug_when>
    <thetext>Created attachment 69394
patch with intentional compile failure for testing the win-ews</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>287933</commentid>
    <comment_count>8</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2010-09-30 16:51:29 -0700</bug_when>
    <thetext>Attachment 69394 did not build on qt:
Build output: http://queues.webkit.org/results/4162036</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>287935</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-09-30 16:55:01 -0700</bug_when>
    <thetext>Attachment 69394 did not build on gtk:
Build output: http://queues.webkit.org/results/4216037</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>287937</commentid>
    <comment_count>10</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-09-30 16:57:38 -0700</bug_when>
    <thetext>Attachment 69394 did not build on mac:
Build output: http://queues.webkit.org/results/4244003</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>287975</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-09-30 18:05:55 -0700</bug_when>
    <thetext>Attachment 69394 did not build on chromium:
Build output: http://queues.webkit.org/results/4141042</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288045</commentid>
    <comment_count>12</comment_count>
      <attachid>69394</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2010-09-30 21:20:47 -0700</bug_when>
    <thetext>Comment on attachment 69394
patch with intentional compile failure for testing the win-ews

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

Looks great -- I&apos;d love to try it out!

&gt; WebCore/page/Frame.cpp:-201
&gt; -}

Did you mean to include this fix for WebCore/page/Frame.cpp?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288074</commentid>
    <comment_count>13</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-09-30 23:33:00 -0700</bug_when>
    <thetext>Yes, I&apos;m trying to test the win-ews failing. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288119</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-10-01 01:26:38 -0700</bug_when>
    <thetext>Attachment 69394 did not build on win:
Build output: http://queues.webkit.org/results/4222023</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288241</commentid>
    <comment_count>15</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-10-01 07:34:11 -0700</bug_when>
    <thetext>Can&apos;t exec &quot;WebKitTools/Scripts/print-vse-failure-logs&quot;: No such file or directory at WebKitTools/Scripts/build-webkit line 482.

:(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>289825</commentid>
    <comment_count>16</comment_count>
      <attachid>69394</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2010-10-05 13:09:14 -0700</bug_when>
    <thetext>Comment on attachment 69394
patch with intentional compile failure for testing the win-ews

It looks like you got your intention failure that the patch was intended to provoke.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>298573</commentid>
    <comment_count>17</comment_count>
      <attachid>69313</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2010-10-24 08:10:08 -0700</bug_when>
    <thetext>Comment on attachment 69313
Patch

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

r- to fix the issues in the Perl code.  Otherwise it looks good.

&gt; WebKitTools/Scripts/build-webkit:479
&gt; +            system(&quot;$scriptDir/print-vse-failure-logs&quot;);

This needs to use File::Spec-&gt;catfile() now:

    system(File::Spec-&gt;catfile($scriptDir, &quot;print-vse-failure-logs&quot;));

&gt; WebKitTools/Scripts/print-vse-failure-logs:53
&gt; +            print filenames

Do you really want to print all of these out?

&gt; WebKitTools/Scripts/webkitdirs.pm:1193
&gt; +    return $willUseVCExpressWhenBuilding;

You need to call determineConfigurationForVisualStudio() first to guarantee that this variable is set properly:

    determineConfigurationForVisualStudio()
    return $willUseVCExpressWhenBuilding;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>299888</commentid>
    <comment_count>18</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-10-26 16:43:01 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; (From update of attachment 69313 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=69313&amp;action=review
&gt; 
&gt; r- to fix the issues in the Perl code.  Otherwise it looks good.
&gt; 
&gt; &gt; WebKitTools/Scripts/build-webkit:479
&gt; &gt; +            system(&quot;$scriptDir/print-vse-failure-logs&quot;);
&gt; 
&gt; This needs to use File::Spec-&gt;catfile() now:
&gt; 
&gt;     system(File::Spec-&gt;catfile($scriptDir, &quot;print-vse-failure-logs&quot;));

Thanks!

&gt; &gt; WebKitTools/Scripts/print-vse-failure-logs:53
&gt; &gt; +            print filenames
&gt; 
&gt; Do you really want to print all of these out?

The whole idea with this script is to put something minimal in place that people who actually use windows can make better. :)

&gt; &gt; WebKitTools/Scripts/webkitdirs.pm:1193
&gt; &gt; +    return $willUseVCExpressWhenBuilding;
&gt; 
&gt; You need to call determineConfigurationForVisualStudio() first to guarantee that this variable is set properly:
&gt; 
&gt;     determineConfigurationForVisualStudio()
&gt;     return $willUseVCExpressWhenBuilding;

Fixed.  Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>299889</commentid>
    <comment_count>19</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-10-26 16:44:04 -0700</bug_when>
    <thetext>(In reply to comment #18)
&gt; (In reply to comment #17)
&gt; &gt; &gt; WebKitTools/Scripts/print-vse-failure-logs:53
&gt; &gt; &gt; +            print filenames
&gt; &gt; 
&gt; &gt; Do you really want to print all of these out?
&gt; 
&gt; The whole idea with this script is to put something minimal in place that people who actually use windows can make better. :)

But this was infact left-over debug code.  Removed.  Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>299891</commentid>
    <comment_count>20</comment_count>
      <attachid>71964</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-10-26 16:46:08 -0700</bug_when>
    <thetext>Created attachment 71964
Fix Dave&apos;s suggestions</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>299963</commentid>
    <comment_count>21</comment_count>
      <attachid>71964</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2010-10-26 21:11:55 -0700</bug_when>
    <thetext>Comment on attachment 71964
Fix Dave&apos;s suggestions

Thanks!  r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>299969</commentid>
    <comment_count>22</comment_count>
      <attachid>71964</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-10-26 21:29:25 -0700</bug_when>
    <thetext>Comment on attachment 71964
Fix Dave&apos;s suggestions

Clearing flags on attachment: 71964

Committed r70607: &lt;http://trac.webkit.org/changeset/70607&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>299970</commentid>
    <comment_count>23</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-10-26 21:29:34 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>299972</commentid>
    <comment_count>24</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-10-26 21:36:50 -0700</bug_when>
    <thetext>David Kilzer already reviewed this patch and it landed. Here are some remarks I had:

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

&gt; WebKitTools/ChangeLog:11
&gt; +        * Scripts/build-webkit:
&gt; +        * Scripts/print-vse-failure-logs: Added.
&gt; +        * Scripts/webkitdirs.pm:
&gt; +

I suggest that you add a comment about the added function usingVisualStudioExpress() since prepare-ChangeLog does not generate a list of added/modified Perl functions. We should consider adding Perl support to prepare-ChangeLog.

&gt; WebKitTools/Scripts/print-vse-failure-logs:64
&gt; +        print &quot;Found %s Visual Studio Express Build Logs:%s&quot; % (len(build_log_paths), &quot;\n&quot;.join(build_log_paths))

Take build_log_paths = [&quot;A&quot;, &quot;B&quot;]. Then this line would print:

Found 2 Visual Studio Express Build Logs:A
B

Notice, &quot;A&quot; prints on the first output line.

I think it would be nicer to output something of the form:

Found 2 Visual Studio Express Build Logs:
A
B

Hence, I would add a new-line character (&apos;\n&apos;) after &quot;Logs:&quot;, such that the line reads:
print &quot;Found %s Visual Studio Express Build Logs:\n%s&quot; % (len(build_log_paths), &quot;\n&quot;.join(build_log_paths)).

Do you foresee this command ever being called on its own and/or when there are zero BuildLog.htm files? If so, we may want to make the colon (&apos;:&apos;) after &quot;Logs:&quot; conditional on there being at least one path in the list build_log_paths. When we do not find any files whose name is BuildLog.htm then we output something of the form:

Found 0 Visual Studio Express Build Logs.

OR

No Visual Studio Express Build Logs found.

&gt; WebKitTools/Scripts/webkitdirs.pm:1191
&gt; +    determineConfigurationForVisualStudio();

Notice, the variable willUseVCExpressWhenBuilding is only set in setupCygwinEnv(). And determineConfigurationForVisualStudio() only calls setupCygwinEnv() if we are building a debug build as per line 286 of webkitdirs.pm &lt;http://trac.webkit.org/browser/trunk/WebKitTools/Scripts/webkitdirs.pm?rev=70188#L286&gt;.

So, we should call setupCygwinEnv() instead of determineConfigurationForVisualStudio(). Alternatively, we could make determineConfigurationForVisualStudio() always call setupCygwinEnv() (given determineConfigurationForVisualStudio() hasn&apos;t been called before; e.g. $configurationForVisualStudio is not defined).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>299981</commentid>
    <comment_count>25</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2010-10-26 21:43:56 -0700</bug_when>
    <thetext>(In reply to comment #24)
&gt; David Kilzer already reviewed this patch and it landed. Here are some remarks I had:

Sorry about that Dan.  I probably shouldn&apos;t have set the cq+ flag as Eric didn&apos;t request it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>300609</commentid>
    <comment_count>26</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-10-27 14:58:01 -0700</bug_when>
    <thetext>Thank you dan and david for the reviews.

@dan:  Honestly this script is mostly a shot in the dark.  I intended it to be half-baked.  Someone who actually uses windows needs to make it work nice.  But even as it is it&apos;s better than the current non-existant logs for VSE builds.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>300610</commentid>
    <comment_count>27</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-10-27 14:58:26 -0700</bug_when>
    <thetext>I may make further improvements to the script once I have the win-ews bot up and running with it.  We&apos;ll see.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>300645</commentid>
    <comment_count>28</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-10-27 15:38:01 -0700</bug_when>
    <thetext>Committed r70720: &lt;http://trac.webkit.org/changeset/70720&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>300648</commentid>
    <comment_count>29</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-10-27 15:39:06 -0700</bug_when>
    <thetext>I did a follow-up commit to fix some issues getting this to run on the win-ews bot.  (The script was originally written on the win-ews bot, but I prepared the patch on my mac, and did final testing on my mac.  I had planned to do one final test on the EWS bot but got distracted yesterday.)

Thanks again for the reviews!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337891</commentid>
    <comment_count>30</comment_count>
    <who name="guru">guruhb</who>
    <bug_when>2011-01-20 22:44:07 -0800</bug_when>
    <thetext>I am getting the error with Visual studio express edition setup.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>69313</attachid>
            <date>2010-09-29 22:47:08 -0700</date>
            <delta_ts>2010-10-26 16:45:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-39199-20100929224707.patch</filename>
            <type>text/plain</type>
            <size>5977</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCBhYTczMTMzZGM2MWNjMTQ1ZjVlNzRkMTM2ZWZiZDgwY2U5MGNjNmQwLi5kYjc2NGI5
MDJiZDM1NTc2NDJjMTk4ZTU5MWQ5ZjcwYjUzNDM3Mjc0IDEwMDY0NAotLS0gYS9XZWJLaXRUb29s
cy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAK
KzIwMTAtMDktMjkgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGJ1aWxkLXdlYmtpdCBzaG91bGQg
Y29sbGVjdCBWaXN1YWwgU3R1ZGlvIEV4cHJlc3MgbG9ncyBhbmQgZGlzcGxheSB0aGVtCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zOTE5OQorCisgICAg
ICAgICogU2NyaXB0cy9idWlsZC13ZWJraXQ6CisgICAgICAgICogU2NyaXB0cy9wcmludC12c2Ut
ZmFpbHVyZS1sb2dzOiBBZGRlZC4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdGRpcnMucG06CisK
IDIwMTAtMDktMjkgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAg
ICAgICAgQWRkIGEgd2FybmluZyB3aGVuIGEgdGVzdCByZXF1aXJlcyBzcGVjaWFsIHN0ZXBzLgpk
aWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQgYi9XZWJLaXRUb29s
cy9TY3JpcHRzL2J1aWxkLXdlYmtpdAppbmRleCBkYjRkMjY5NDM4OGVhZDgxM2ZiNThhZWFmOWU3
Y2I1Yjk3YTM3NGI2Li43M2Y4NjExNDRjYWE1ZjkyZWY4Yjg1Y2ZhYTRjODJkZjViMzVkMTk5IDEw
MDc1NQotLS0gYS9XZWJLaXRUb29scy9TY3JpcHRzL2J1aWxkLXdlYmtpdAorKysgYi9XZWJLaXRU
b29scy9TY3JpcHRzL2J1aWxkLXdlYmtpdApAQCAtNDcyLDkgKzQ3MiwxNCBAQCBmb3IgbXkgJGRp
ciAoQHByb2plY3RzKSB7CiAgICAgfQogCiAgICAgaWYgKGV4aXRTdGF0dXMoJHJlc3VsdCkpIHsK
KyAgICAgICAgbXkgJHNjcmlwdERpciA9IHJlbGF0aXZlU2NyaXB0c0RpcigpOworICAgICAgICBp
ZiAodXNpbmdWaXN1YWxTdHVkaW9FeHByZXNzKCkpIHsKKyAgICAgICAgICAgICMgVmlzdWFsIFN0
dWRpbyBFeHByZXNzIGlzIHNvIGxhbWUgaXQgY2FuJ3Qgc3Rkb3V0IGJ1aWxkIGZhaWx1cmVzLgor
ICAgICAgICAgICAgIyBTbyB3ZSBmaW5kIGl0cyBsb2dzIGFuZCBkdW1wIHRoZW0gdG8gdGhlIGNv
bnNvbGUgb3Vyc2VsdmVzLgorICAgICAgICAgICAgc3lzdGVtKCIkc2NyaXB0RGlyL3ByaW50LXZz
ZS1mYWlsdXJlLWxvZ3MiKTsKKyAgICAgICAgfQogICAgICAgICBpZiAoaXNBcHBsZVdpbldlYktp
dCgpKSB7CiAgICAgICAgICAgICBwcmludCAiXG5cbj09PT09IEJVSUxEIEZBSUxFRCA9PT09PT1c
blxuIjsKLSAgICAgICAgICAgIG15ICRzY3JpcHREaXIgPSByZWxhdGl2ZVNjcmlwdHNEaXIoKTsK
ICAgICAgICAgICAgIHByaW50ICJQbGVhc2UgZW5zdXJlIHlvdSBoYXZlIHJ1biAkc2NyaXB0RGly
L3VwZGF0ZS13ZWJraXQgdG8gaW5zdGFsbCBkZXBlbmRlbmNpZXMuXG5cbiI7CiAgICAgICAgICAg
ICBteSAkYmFzZVByb2R1Y3REaXIgPSBiYXNlUHJvZHVjdERpcigpOwogICAgICAgICAgICAgcHJp
bnQgIllvdSBjYW4gdmlldyBidWlsZCBlcnJvcnMgYnkgY2hlY2tpbmcgdGhlIEJ1aWxkTG9nLmh0
bSBmaWxlcyBsb2NhdGVkIGF0OlxuJGJhc2VQcm9kdWN0RGlyL29iai88cHJvamVjdD4vPGNvbmZp
Zz4uXG4iOwpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9wcmludC12c2UtZmFpbHVy
ZS1sb2dzIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9wcmludC12c2UtZmFpbHVyZS1sb2dzCm5ldyBm
aWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmEwMDhmNzE5Njc1YWQ0NTExZDllYjQ1MjM2MTAyNWNlNzk0MmEyYjUKLS0tIC9kZXYv
bnVsbAorKysgYi9XZWJLaXRUb29scy9TY3JpcHRzL3ByaW50LXZzZS1mYWlsdXJlLWxvZ3MKQEAg
LTAsMCArMSw3NCBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uCisjIENvcHlyaWdodCAoYykgMjAx
MCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZQorIyBtZXQ6CisjIAorIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjICAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyMg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lcgorIyBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlCisjIGRpc3RyaWJ1dGlvbi4KKyMgICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworIyBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bQorIyB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLgorIyAKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUworIyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyMgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQKKyMgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisjIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisjIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWQorIyBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisjIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
IworIyBUaGlzIGlzIGEgdmVyeSBzaW1wbGUgc2NyaXB0IGRlc2lnbmVkIHRvIGNyYXdsIHRoZSBi
dWlsZCBkaXJlY3RvcnkKKyMgZm9yIHZpc3VhbCBzdHVkaW8gZXhwcmVzcyBidWlsZCBsb2dzIGFu
ZCBwcmludCB0aGVtIHRvIHN0ZG91dC4KKworZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCB3aXRoX3N0
YXRlbWVudAorCitpbXBvcnQgY29kZWNzCitpbXBvcnQgb3MucGF0aAoraW1wb3J0IG9zCisKK2Zy
b20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5leGVjdXRpdmUgaW1wb3J0IEV4ZWN1dGl2ZQorCisK
KyMgVGhpcyBpcyBqdXN0IGVub3VnaCB0byBtYWtlIHRoZSB3aW4tZXdzIGJvdCB1c2VhYmxlLiAg
T3RoZXJzIHdobworIyBhY3R1YWxseSB1c2UgV2luZG93cyBzaG91bGQgZmVlbCBlbmNvdXJhZ2Vk
IHRvIGltcHJvdmUgdGhpcyBjbGFzcywKKyMgaW5jbHVkaW5nIGp1c3QgcHJpbnRpbmcgdGhlIHRl
eHQgaW5zdGVhZCBvZiB0aGUgcmF3IGh0bWwuCitjbGFzcyBQcmludFZpc3VhbFN0dWRpb0V4cHJl
c3NMb2dzKG9iamVjdCk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYpOgorICAgICAgICBzZWxmLl9l
eGVjdXRpdmUgPSBFeGVjdXRpdmUoKQorCisgICAgZGVmIF9maW5kX2J1aWxkbG9ncyhzZWxmLCBi
dWlsZF9kaXJlY3RvcnkpOgorICAgICAgICBidWlsZF9sb2dfcGF0aHMgPSBbXQorICAgICAgICAj
IEZJWE1FOiBXYWxraW5nIHRoZSBvYmovIHJvb3QgdW5kZXIgdGhlIGJ1aWxkIGRpcmVjdG9yeSBt
aWdodCBiZSBmYXN0ZXIuCisgICAgICAgIGZvciBkaXJwYXRoLCBkaXJuYW1lcywgZmlsZW5hbWVz
IGluIG9zLndhbGsoYnVpbGRfZGlyZWN0b3J5KToKKyAgICAgICAgICAgIHByaW50IGZpbGVuYW1l
cworICAgICAgICAgICAgZm9yIGZpbGVfbmFtZSBpbiBmaWxlbmFtZXM6CisgICAgICAgICAgICAg
ICAgaWYgZmlsZV9uYW1lID09ICJCdWlsZExvZy5odG0iOgorICAgICAgICAgICAgICAgICAgICBm
aWxlX3BhdGggPSBvcy5wYXRoLmpvaW4oZGlycGF0aCwgZmlsZV9uYW1lKQorICAgICAgICAgICAg
ICAgICAgICBidWlsZF9sb2dfcGF0aHMuYXBwZW5kKGZpbGVfcGF0aCkKKyAgICAgICAgcmV0dXJu
IGJ1aWxkX2xvZ19wYXRocworCisgICAgZGVmIG1haW4oc2VsZik6CisgICAgICAgICMgRklYTUU6
IHBvcnRzL3dlYmtpdC5weSBzaG91bGQgcHJvdmlkZSB0aGUgYnVpbGQgZGlyZWN0b3J5IGluIGEg
bmljZSBBUEkuCisgICAgICAgIGJ1aWxkX2RpcmVjdG9yeSA9IHNlbGYuX2V4ZWN1dGl2ZS5ydW5f
Y29tbWFuZChbIndlYmtpdC1idWlsZC1kaXJlY3RvcnkiLCAiLS1jb25maWd1cmF0aW9uIl0pLnJz
dHJpcCgpCisgICAgICAgIGJ1aWxkX2xvZ19wYXRocyA9IHNlbGYuX2ZpbmRfYnVpbGRsb2dzKGJ1
aWxkX2RpcmVjdG9yeSkKKworICAgICAgICBwcmludCAiRm91bmQgJXMgVmlzdWFsIFN0dWRpbyBF
eHByZXNzIEJ1aWxkIExvZ3M6JXMiICUgKGxlbihidWlsZF9sb2dfcGF0aHMpLCAiXG4iLmpvaW4o
YnVpbGRfbG9nX3BhdGhzKSkKKworICAgICAgICBmb3IgYnVpbGRfbG9nX3BhdGggaW4gYnVpbGRf
bG9nX3BhdGhzOgorICAgICAgICAgICAgcHJpbnQgIiVzOlxuIiAlIGJ1aWxkX2xvZ19wYXRoCisg
ICAgICAgICAgICB3aXRoIGNvZGVjcy5vcGVuKGJ1aWxkX2xvZ19wYXRoLCAiciIsICJ1dGYtMTYi
KSBhcyBidWlsZF9sb2c6CisgICAgICAgICAgICAgICAgcHJpbnQgYnVpbGRfbG9nLnJlYWQoKQor
CisKK2lmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CisgICAgUHJpbnRWaXN1YWxTdHVkaW9FeHBy
ZXNzTG9ncygpLm1haW4oKQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRk
aXJzLnBtIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRkaXJzLnBtCmluZGV4IDk0YWQ1NTZl
N2QxNDdmM2YzNzJlODg0MzVlNjA0MDM0NGY3MzExYTIuLmRiZmViMmU5OGY1MmFiOWNkZmNkZmIz
NGU1OTBhNTE0NTliZmM0MmQgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0
ZGlycy5wbQorKysgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdGRpcnMucG0KQEAgLTExODgs
NiArMTE4OCwxMSBAQCBzdWIgYnVpbGRYQ29kZVByb2plY3QoJCRAKQogICAgIHJldHVybiBzeXN0
ZW0gInhjb2RlYnVpbGQiLCAiLXByb2plY3QiLCAiJHByb2plY3QueGNvZGVwcm9qIiwgQGV4dHJh
T3B0aW9uczsKIH0KIAorc3ViIHVzaW5nVmlzdWFsU3R1ZGlvRXhwcmVzcygpCit7CisgICAgcmV0
dXJuICR3aWxsVXNlVkNFeHByZXNzV2hlbkJ1aWxkaW5nOworfQorCiBzdWIgYnVpbGRWaXN1YWxT
dHVkaW9Qcm9qZWN0CiB7CiAgICAgbXkgKCRwcm9qZWN0LCAkY2xlYW4pID0gQF87Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>69394</attachid>
            <date>2010-09-30 16:40:57 -0700</date>
            <delta_ts>2010-10-26 16:45:28 -0700</delta_ts>
            <desc>patch with intentional compile failure for testing the win-ews</desc>
            <filename>bug-39199-20100930164056.patch</filename>
            <type>text/plain</type>
            <size>6467</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAgYi9XZWJDb3JlL3BhZ2UvRnJhbWUu
Y3BwCmluZGV4IDI4Y2ZkMDcyNjI2OTdlMThkOTkxMGUwYjZhNDQwNGY1MmJkMmI1NmIuLmEyNWI0
ZWVlMzEyYzcwODBjMmNlOGVhZWYwNjNkOTRlNTU2ZGI3ZTMgMTAwNzU1Ci0tLSBhL1dlYkNvcmUv
cGFnZS9GcmFtZS5jcHAKKysrIGIvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcApAQCAtMTk4LDcgKzE5
OCw3IEBAIGlubGluZSBGcmFtZTo6RnJhbWUoUGFnZSogcGFnZSwgSFRNTEZyYW1lT3duZXJFbGVt
ZW50KiBvd25lckVsZW1lbnQsIEZyYW1lTG9hZGVyCiAjaWZuZGVmIE5ERUJVRwogICAgIGZyYW1l
Q291bnRlci5pbmNyZW1lbnQoKTsKICNlbmRpZgotfQorCiAKIFBhc3NSZWZQdHI8RnJhbWU+IEZy
YW1lOjpjcmVhdGUoUGFnZSogcGFnZSwgSFRNTEZyYW1lT3duZXJFbGVtZW50KiBvd25lckVsZW1l
bnQsIEZyYW1lTG9hZGVyQ2xpZW50KiBjbGllbnQpCiB7CmRpZmYgLS1naXQgYS9XZWJLaXRUb29s
cy9DaGFuZ2VMb2cgYi9XZWJLaXRUb29scy9DaGFuZ2VMb2cKaW5kZXggYWE3MzEzM2RjNjFjYzE0
NWY1ZTc0ZDEzNmVmYmQ4MGNlOTBjYzZkMC4uZGI3NjRiOTAyYmQzNTU3NjQyYzE5OGU1OTFkOWY3
MGI1MzQzNzI3NCAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCisrKyBiL1dlYktp
dFRvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDEwLTA5LTI5ICBFcmljIFNlaWRl
bCAgPGVyaWNAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBidWlsZC13ZWJraXQgc2hvdWxkIGNvbGxlY3QgVmlzdWFsIFN0dWRpbyBF
eHByZXNzIGxvZ3MgYW5kIGRpc3BsYXkgdGhlbQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzkxOTkKKworICAgICAgICAqIFNjcmlwdHMvYnVpbGQtd2Vi
a2l0OgorICAgICAgICAqIFNjcmlwdHMvcHJpbnQtdnNlLWZhaWx1cmUtbG9nczogQWRkZWQuCisg
ICAgICAgICogU2NyaXB0cy93ZWJraXRkaXJzLnBtOgorCiAyMDEwLTA5LTI5ICBTaW1vbiBGcmFz
ZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBhIHdhcm5pbmcgd2hl
biBhIHRlc3QgcmVxdWlyZXMgc3BlY2lhbCBzdGVwcy4KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xz
L1NjcmlwdHMvYnVpbGQtd2Via2l0IGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQK
aW5kZXggZGI0ZDI2OTQzODhlYWQ4MTNmYjU4YWVhZjllN2NiNWI5N2EzNzRiNi4uNzNmODYxMTQ0
Y2FhNWY5MmVmOGI4NWNmYWE0YzgyZGY1YjM1ZDE5OSAxMDA3NTUKLS0tIGEvV2ViS2l0VG9vbHMv
U2NyaXB0cy9idWlsZC13ZWJraXQKKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9idWlsZC13ZWJr
aXQKQEAgLTQ3Miw5ICs0NzIsMTQgQEAgZm9yIG15ICRkaXIgKEBwcm9qZWN0cykgewogICAgIH0K
IAogICAgIGlmIChleGl0U3RhdHVzKCRyZXN1bHQpKSB7CisgICAgICAgIG15ICRzY3JpcHREaXIg
PSByZWxhdGl2ZVNjcmlwdHNEaXIoKTsKKyAgICAgICAgaWYgKHVzaW5nVmlzdWFsU3R1ZGlvRXhw
cmVzcygpKSB7CisgICAgICAgICAgICAjIFZpc3VhbCBTdHVkaW8gRXhwcmVzcyBpcyBzbyBsYW1l
IGl0IGNhbid0IHN0ZG91dCBidWlsZCBmYWlsdXJlcy4KKyAgICAgICAgICAgICMgU28gd2UgZmlu
ZCBpdHMgbG9ncyBhbmQgZHVtcCB0aGVtIHRvIHRoZSBjb25zb2xlIG91cnNlbHZlcy4KKyAgICAg
ICAgICAgIHN5c3RlbSgiJHNjcmlwdERpci9wcmludC12c2UtZmFpbHVyZS1sb2dzIik7CisgICAg
ICAgIH0KICAgICAgICAgaWYgKGlzQXBwbGVXaW5XZWJLaXQoKSkgewogICAgICAgICAgICAgcHJp
bnQgIlxuXG49PT09PSBCVUlMRCBGQUlMRUQgPT09PT09XG5cbiI7Ci0gICAgICAgICAgICBteSAk
c2NyaXB0RGlyID0gcmVsYXRpdmVTY3JpcHRzRGlyKCk7CiAgICAgICAgICAgICBwcmludCAiUGxl
YXNlIGVuc3VyZSB5b3UgaGF2ZSBydW4gJHNjcmlwdERpci91cGRhdGUtd2Via2l0IHRvIGluc3Rh
bGwgZGVwZW5kZW5jaWVzLlxuXG4iOwogICAgICAgICAgICAgbXkgJGJhc2VQcm9kdWN0RGlyID0g
YmFzZVByb2R1Y3REaXIoKTsKICAgICAgICAgICAgIHByaW50ICJZb3UgY2FuIHZpZXcgYnVpbGQg
ZXJyb3JzIGJ5IGNoZWNraW5nIHRoZSBCdWlsZExvZy5odG0gZmlsZXMgbG9jYXRlZCBhdDpcbiRi
YXNlUHJvZHVjdERpci9vYmovPHByb2plY3Q+Lzxjb25maWc+LlxuIjsKZGlmZiAtLWdpdCBhL1dl
YktpdFRvb2xzL1NjcmlwdHMvcHJpbnQtdnNlLWZhaWx1cmUtbG9ncyBiL1dlYktpdFRvb2xzL1Nj
cmlwdHMvcHJpbnQtdnNlLWZhaWx1cmUtbG9ncwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMDA4ZjcxOTY3NWFkNDUx
MWQ5ZWI0NTIzNjEwMjVjZTc5NDJhMmI1Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViS2l0VG9vbHMv
U2NyaXB0cy9wcmludC12c2UtZmFpbHVyZS1sb2dzCkBAIC0wLDAgKzEsNzQgQEAKKyMhL3Vzci9i
aW4vZW52IHB5dGhvbgorIyBDb3B5cmlnaHQgKGMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyMgbWV0OgorIyAK
KyMgICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyMgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisjIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyMgaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQor
IyBkaXN0cmlidXRpb24uCisjICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4g
bm9yIHRoZSBuYW1lcyBvZiBpdHMKKyMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyMgdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyMgCisjIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMK
KyMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisjIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisjIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LAorIyBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UCisjIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorIyBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyMgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorIyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyMKKyMgVGhpcyBpcyBhIHZlcnkgc2lt
cGxlIHNjcmlwdCBkZXNpZ25lZCB0byBjcmF3bCB0aGUgYnVpbGQgZGlyZWN0b3J5CisjIGZvciB2
aXN1YWwgc3R1ZGlvIGV4cHJlc3MgYnVpbGQgbG9ncyBhbmQgcHJpbnQgdGhlbSB0byBzdGRvdXQu
CisKK2Zyb20gX19mdXR1cmVfXyBpbXBvcnQgd2l0aF9zdGF0ZW1lbnQKKworaW1wb3J0IGNvZGVj
cworaW1wb3J0IG9zLnBhdGgKK2ltcG9ydCBvcworCitmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0
ZW0uZXhlY3V0aXZlIGltcG9ydCBFeGVjdXRpdmUKKworCisjIFRoaXMgaXMganVzdCBlbm91Z2gg
dG8gbWFrZSB0aGUgd2luLWV3cyBib3QgdXNlYWJsZS4gIE90aGVycyB3aG8KKyMgYWN0dWFsbHkg
dXNlIFdpbmRvd3Mgc2hvdWxkIGZlZWwgZW5jb3VyYWdlZCB0byBpbXByb3ZlIHRoaXMgY2xhc3Ms
CisjIGluY2x1ZGluZyBqdXN0IHByaW50aW5nIHRoZSB0ZXh0IGluc3RlYWQgb2YgdGhlIHJhdyBo
dG1sLgorY2xhc3MgUHJpbnRWaXN1YWxTdHVkaW9FeHByZXNzTG9ncyhvYmplY3QpOgorICAgIGRl
ZiBfX2luaXRfXyhzZWxmKToKKyAgICAgICAgc2VsZi5fZXhlY3V0aXZlID0gRXhlY3V0aXZlKCkK
KworICAgIGRlZiBfZmluZF9idWlsZGxvZ3Moc2VsZiwgYnVpbGRfZGlyZWN0b3J5KToKKyAgICAg
ICAgYnVpbGRfbG9nX3BhdGhzID0gW10KKyAgICAgICAgIyBGSVhNRTogV2Fsa2luZyB0aGUgb2Jq
LyByb290IHVuZGVyIHRoZSBidWlsZCBkaXJlY3RvcnkgbWlnaHQgYmUgZmFzdGVyLgorICAgICAg
ICBmb3IgZGlycGF0aCwgZGlybmFtZXMsIGZpbGVuYW1lcyBpbiBvcy53YWxrKGJ1aWxkX2RpcmVj
dG9yeSk6CisgICAgICAgICAgICBwcmludCBmaWxlbmFtZXMKKyAgICAgICAgICAgIGZvciBmaWxl
X25hbWUgaW4gZmlsZW5hbWVzOgorICAgICAgICAgICAgICAgIGlmIGZpbGVfbmFtZSA9PSAiQnVp
bGRMb2cuaHRtIjoKKyAgICAgICAgICAgICAgICAgICAgZmlsZV9wYXRoID0gb3MucGF0aC5qb2lu
KGRpcnBhdGgsIGZpbGVfbmFtZSkKKyAgICAgICAgICAgICAgICAgICAgYnVpbGRfbG9nX3BhdGhz
LmFwcGVuZChmaWxlX3BhdGgpCisgICAgICAgIHJldHVybiBidWlsZF9sb2dfcGF0aHMKKworICAg
IGRlZiBtYWluKHNlbGYpOgorICAgICAgICAjIEZJWE1FOiBwb3J0cy93ZWJraXQucHkgc2hvdWxk
IHByb3ZpZGUgdGhlIGJ1aWxkIGRpcmVjdG9yeSBpbiBhIG5pY2UgQVBJLgorICAgICAgICBidWls
ZF9kaXJlY3RvcnkgPSBzZWxmLl9leGVjdXRpdmUucnVuX2NvbW1hbmQoWyJ3ZWJraXQtYnVpbGQt
ZGlyZWN0b3J5IiwgIi0tY29uZmlndXJhdGlvbiJdKS5yc3RyaXAoKQorICAgICAgICBidWlsZF9s
b2dfcGF0aHMgPSBzZWxmLl9maW5kX2J1aWxkbG9ncyhidWlsZF9kaXJlY3RvcnkpCisKKyAgICAg
ICAgcHJpbnQgIkZvdW5kICVzIFZpc3VhbCBTdHVkaW8gRXhwcmVzcyBCdWlsZCBMb2dzOiVzIiAl
IChsZW4oYnVpbGRfbG9nX3BhdGhzKSwgIlxuIi5qb2luKGJ1aWxkX2xvZ19wYXRocykpCisKKyAg
ICAgICAgZm9yIGJ1aWxkX2xvZ19wYXRoIGluIGJ1aWxkX2xvZ19wYXRoczoKKyAgICAgICAgICAg
IHByaW50ICIlczpcbiIgJSBidWlsZF9sb2dfcGF0aAorICAgICAgICAgICAgd2l0aCBjb2RlY3Mu
b3BlbihidWlsZF9sb2dfcGF0aCwgInIiLCAidXRmLTE2IikgYXMgYnVpbGRfbG9nOgorICAgICAg
ICAgICAgICAgIHByaW50IGJ1aWxkX2xvZy5yZWFkKCkKKworCitpZiBfX25hbWVfXyA9PSAnX19t
YWluX18nOgorICAgIFByaW50VmlzdWFsU3R1ZGlvRXhwcmVzc0xvZ3MoKS5tYWluKCkKZGlmZiAt
LWdpdCBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0ZGlycy5wbSBiL1dlYktpdFRvb2xzL1Nj
cmlwdHMvd2Via2l0ZGlycy5wbQppbmRleCA5NGFkNTU2ZTdkMTQ3ZjNmMzcyZTg4NDM1ZTYwNDAz
NDRmNzMxMWEyLi5kYmZlYjJlOThmNTJhYjljZGZjZGZiMzRlNTkwYTUxNDU5YmZjNDJkIDEwMDY0
NAotLS0gYS9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdGRpcnMucG0KKysrIGIvV2ViS2l0VG9v
bHMvU2NyaXB0cy93ZWJraXRkaXJzLnBtCkBAIC0xMTg4LDYgKzExODgsMTEgQEAgc3ViIGJ1aWxk
WENvZGVQcm9qZWN0KCQkQCkKICAgICByZXR1cm4gc3lzdGVtICJ4Y29kZWJ1aWxkIiwgIi1wcm9q
ZWN0IiwgIiRwcm9qZWN0Lnhjb2RlcHJvaiIsIEBleHRyYU9wdGlvbnM7CiB9CiAKK3N1YiB1c2lu
Z1Zpc3VhbFN0dWRpb0V4cHJlc3MoKQoreworICAgIHJldHVybiAkd2lsbFVzZVZDRXhwcmVzc1do
ZW5CdWlsZGluZzsKK30KKwogc3ViIGJ1aWxkVmlzdWFsU3R1ZGlvUHJvamVjdAogewogICAgIG15
ICgkcHJvamVjdCwgJGNsZWFuKSA9IEBfOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>71964</attachid>
            <date>2010-10-26 16:46:08 -0700</date>
            <delta_ts>2010-10-26 21:29:25 -0700</delta_ts>
            <desc>Fix Dave&apos;s suggestions</desc>
            <filename>bug-39199-20101026164607.patch</filename>
            <type>text/plain</type>
            <size>6019</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCBhOWE1N2IzMWFjMzZiYTljNjBjMmQ4YTkwNGQ0MDY0MTBiMmU5Y2JjLi41OTUwMGQ2
YmMzYzU2M2JhMTAwYWI0MDQxNzJmZmE5Yzc0YjIyOGM4IDEwMDY0NAotLS0gYS9XZWJLaXRUb29s
cy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAK
KzIwMTAtMDktMjkgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGJ1aWxkLXdlYmtpdCBzaG91bGQg
Y29sbGVjdCBWaXN1YWwgU3R1ZGlvIEV4cHJlc3MgbG9ncyBhbmQgZGlzcGxheSB0aGVtCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zOTE5OQorCisgICAg
ICAgICogU2NyaXB0cy9idWlsZC13ZWJraXQ6CisgICAgICAgICogU2NyaXB0cy9wcmludC12c2Ut
ZmFpbHVyZS1sb2dzOiBBZGRlZC4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdGRpcnMucG06CisK
IDIwMTAtMTAtMjYgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgogCiAgICAgICAgIFVu
cmV2aWV3ZWQuICBBZGRpbmcgaW1wb3J0IHdpdGhfc3RhdGVtZW50IHRvIGZpeCBweXRob24gMi41
LgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQgYi9XZWJLaXRU
b29scy9TY3JpcHRzL2J1aWxkLXdlYmtpdAppbmRleCBjZTllZDc1Yjk5NWE2MWM4ZTZhZDg4MGQ2
MTJhOTE3YzI4YjkwNjVmLi4xYWQyNWMwNThlMDkxYTY5NzljNThiZjg5YzViOTc3MzlhZjFjYmIx
IDEwMDc1NQotLS0gYS9XZWJLaXRUb29scy9TY3JpcHRzL2J1aWxkLXdlYmtpdAorKysgYi9XZWJL
aXRUb29scy9TY3JpcHRzL2J1aWxkLXdlYmtpdApAQCAtNTIxLDkgKzUyMSwxNCBAQCBmb3IgbXkg
JGRpciAoQHByb2plY3RzKSB7CiAgICAgfQogCiAgICAgaWYgKGV4aXRTdGF0dXMoJHJlc3VsdCkp
IHsKKyAgICAgICAgbXkgJHNjcmlwdERpciA9IHJlbGF0aXZlU2NyaXB0c0RpcigpOworICAgICAg
ICBpZiAodXNpbmdWaXN1YWxTdHVkaW9FeHByZXNzKCkpIHsKKyAgICAgICAgICAgICMgVmlzdWFs
IFN0dWRpbyBFeHByZXNzIGlzIHNvIGxhbWUgaXQgY2FuJ3Qgc3Rkb3V0IGJ1aWxkIGZhaWx1cmVz
LgorICAgICAgICAgICAgIyBTbyB3ZSBmaW5kIGl0cyBsb2dzIGFuZCBkdW1wIHRoZW0gdG8gdGhl
IGNvbnNvbGUgb3Vyc2VsdmVzLgorICAgICAgICAgICAgc3lzdGVtKEZpbGU6OlNwZWMtPmNhdGZp
bGUoJHNjcmlwdERpciwgInByaW50LXZzZS1mYWlsdXJlLWxvZ3MiKSk7CisgICAgICAgIH0KICAg
ICAgICAgaWYgKGlzQXBwbGVXaW5XZWJLaXQoKSkgewogICAgICAgICAgICAgcHJpbnQgIlxuXG49
PT09PSBCVUlMRCBGQUlMRUQgPT09PT09XG5cbiI7Ci0gICAgICAgICAgICBteSAkc2NyaXB0RGly
ID0gcmVsYXRpdmVTY3JpcHRzRGlyKCk7CiAgICAgICAgICAgICBwcmludCAiUGxlYXNlIGVuc3Vy
ZSB5b3UgaGF2ZSBydW4gJHNjcmlwdERpci91cGRhdGUtd2Via2l0IHRvIGluc3RhbGwgZGVwZW5k
ZW5jaWVzLlxuXG4iOwogICAgICAgICAgICAgbXkgJGJhc2VQcm9kdWN0RGlyID0gYmFzZVByb2R1
Y3REaXIoKTsKICAgICAgICAgICAgIHByaW50ICJZb3UgY2FuIHZpZXcgYnVpbGQgZXJyb3JzIGJ5
IGNoZWNraW5nIHRoZSBCdWlsZExvZy5odG0gZmlsZXMgbG9jYXRlZCBhdDpcbiRiYXNlUHJvZHVj
dERpci9vYmovPHByb2plY3Q+Lzxjb25maWc+LlxuIjsKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xz
L1NjcmlwdHMvcHJpbnQtdnNlLWZhaWx1cmUtbG9ncyBiL1dlYktpdFRvb2xzL1NjcmlwdHMvcHJp
bnQtdnNlLWZhaWx1cmUtbG9ncwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNzEwM2VlNTYwMWNmOWM0NmUzYjY1N2U4
MjM5M2FmMmZmYTVhOTIyCi0tLSAvZGV2L251bGwKKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9w
cmludC12c2UtZmFpbHVyZS1sb2dzCkBAIC0wLDAgKzEsNzMgQEAKKyMhL3Vzci9iaW4vZW52IHB5
dGhvbgorIyBDb3B5cmlnaHQgKGMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyMgbWV0OgorIyAKKyMgICAgICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyMgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlCisjIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyMgaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorIyBkaXN0cmli
dXRpb24uCisjICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBu
YW1lcyBvZiBpdHMKKyMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyMgdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyMgCisjIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyMgIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QKKyMgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SCisjIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisjIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorIyBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UCisjIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLAorIyBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyMgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorIyAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyMKKyMgVGhpcyBpcyBhIHZlcnkgc2ltcGxlIHNjcmlw
dCBkZXNpZ25lZCB0byBjcmF3bCB0aGUgYnVpbGQgZGlyZWN0b3J5CisjIGZvciB2aXN1YWwgc3R1
ZGlvIGV4cHJlc3MgYnVpbGQgbG9ncyBhbmQgcHJpbnQgdGhlbSB0byBzdGRvdXQuCisKK2Zyb20g
X19mdXR1cmVfXyBpbXBvcnQgd2l0aF9zdGF0ZW1lbnQKKworaW1wb3J0IGNvZGVjcworaW1wb3J0
IG9zLnBhdGgKK2ltcG9ydCBvcworCitmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0uZXhlY3V0
aXZlIGltcG9ydCBFeGVjdXRpdmUKKworCisjIFRoaXMgaXMganVzdCBlbm91Z2ggdG8gbWFrZSB0
aGUgd2luLWV3cyBib3QgdXNlYWJsZS4gIE90aGVycyB3aG8KKyMgYWN0dWFsbHkgdXNlIFdpbmRv
d3Mgc2hvdWxkIGZlZWwgZW5jb3VyYWdlZCB0byBpbXByb3ZlIHRoaXMgY2xhc3MsCisjIGluY2x1
ZGluZyBqdXN0IHByaW50aW5nIHRoZSB0ZXh0IGluc3RlYWQgb2YgdGhlIHJhdyBodG1sLgorY2xh
c3MgUHJpbnRWaXN1YWxTdHVkaW9FeHByZXNzTG9ncyhvYmplY3QpOgorICAgIGRlZiBfX2luaXRf
XyhzZWxmKToKKyAgICAgICAgc2VsZi5fZXhlY3V0aXZlID0gRXhlY3V0aXZlKCkKKworICAgIGRl
ZiBfZmluZF9idWlsZGxvZ3Moc2VsZiwgYnVpbGRfZGlyZWN0b3J5KToKKyAgICAgICAgYnVpbGRf
bG9nX3BhdGhzID0gW10KKyAgICAgICAgIyBGSVhNRTogV2Fsa2luZyB0aGUgb2JqLyByb290IHVu
ZGVyIHRoZSBidWlsZCBkaXJlY3RvcnkgbWlnaHQgYmUgZmFzdGVyLgorICAgICAgICBmb3IgZGly
cGF0aCwgZGlybmFtZXMsIGZpbGVuYW1lcyBpbiBvcy53YWxrKGJ1aWxkX2RpcmVjdG9yeSk6Cisg
ICAgICAgICAgICBmb3IgZmlsZV9uYW1lIGluIGZpbGVuYW1lczoKKyAgICAgICAgICAgICAgICBp
ZiBmaWxlX25hbWUgPT0gIkJ1aWxkTG9nLmh0bSI6CisgICAgICAgICAgICAgICAgICAgIGZpbGVf
cGF0aCA9IG9zLnBhdGguam9pbihkaXJwYXRoLCBmaWxlX25hbWUpCisgICAgICAgICAgICAgICAg
ICAgIGJ1aWxkX2xvZ19wYXRocy5hcHBlbmQoZmlsZV9wYXRoKQorICAgICAgICByZXR1cm4gYnVp
bGRfbG9nX3BhdGhzCisKKyAgICBkZWYgbWFpbihzZWxmKToKKyAgICAgICAgIyBGSVhNRTogcG9y
dHMvd2Via2l0LnB5IHNob3VsZCBwcm92aWRlIHRoZSBidWlsZCBkaXJlY3RvcnkgaW4gYSBuaWNl
IEFQSS4KKyAgICAgICAgYnVpbGRfZGlyZWN0b3J5ID0gc2VsZi5fZXhlY3V0aXZlLnJ1bl9jb21t
YW5kKFsid2Via2l0LWJ1aWxkLWRpcmVjdG9yeSIsICItLWNvbmZpZ3VyYXRpb24iXSkucnN0cmlw
KCkKKyAgICAgICAgYnVpbGRfbG9nX3BhdGhzID0gc2VsZi5fZmluZF9idWlsZGxvZ3MoYnVpbGRf
ZGlyZWN0b3J5KQorCisgICAgICAgIHByaW50ICJGb3VuZCAlcyBWaXN1YWwgU3R1ZGlvIEV4cHJl
c3MgQnVpbGQgTG9nczolcyIgJSAobGVuKGJ1aWxkX2xvZ19wYXRocyksICJcbiIuam9pbihidWls
ZF9sb2dfcGF0aHMpKQorCisgICAgICAgIGZvciBidWlsZF9sb2dfcGF0aCBpbiBidWlsZF9sb2df
cGF0aHM6CisgICAgICAgICAgICBwcmludCAiJXM6XG4iICUgYnVpbGRfbG9nX3BhdGgKKyAgICAg
ICAgICAgIHdpdGggY29kZWNzLm9wZW4oYnVpbGRfbG9nX3BhdGgsICJyIiwgInV0Zi0xNiIpIGFz
IGJ1aWxkX2xvZzoKKyAgICAgICAgICAgICAgICBwcmludCBidWlsZF9sb2cucmVhZCgpCisKKwor
aWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKKyAgICBQcmludFZpc3VhbFN0dWRpb0V4cHJlc3NM
b2dzKCkubWFpbigpCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdGRpcnMu
cG0gYi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdGRpcnMucG0KaW5kZXggZmE4NTY2NzJmYWNm
YTZmMjE0YWFjN2MxYzA3MmRiYWIxNDNjZTA3OC4uMmMxZDhkYWI0MTA2ZTZhMTcxYmNiMmZmYjgw
M2FhMzIzNzk4NDE3ZSAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRkaXJz
LnBtCisrKyBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0ZGlycy5wbQpAQCAtMTE4Niw2ICsx
MTg2LDEyIEBAIHN1YiBidWlsZFhDb2RlUHJvamVjdCgkJEApCiAgICAgcmV0dXJuIHN5c3RlbSAi
eGNvZGVidWlsZCIsICItcHJvamVjdCIsICIkcHJvamVjdC54Y29kZXByb2oiLCBAZXh0cmFPcHRp
b25zOwogfQogCitzdWIgdXNpbmdWaXN1YWxTdHVkaW9FeHByZXNzKCkKK3sKKyAgICBkZXRlcm1p
bmVDb25maWd1cmF0aW9uRm9yVmlzdWFsU3R1ZGlvKCk7CisgICAgcmV0dXJuICR3aWxsVXNlVkNF
eHByZXNzV2hlbkJ1aWxkaW5nOworfQorCiBzdWIgYnVpbGRWaXN1YWxTdHVkaW9Qcm9qZWN0CiB7
CiAgICAgbXkgKCRwcm9qZWN0LCAkY2xlYW4pID0gQF87Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>