<?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>75618</bug_id>
          
          <creation_ts>2012-01-05 05:57:38 -0800</creation_ts>
          <short_desc>[Chromium] LayoutTestHelper fails to install generic color profile</short_desc>
          <delta_ts>2012-01-11 14:10:42 -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>Mac</rep_platform>
          <op_sys>OS X 10.7</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>jochen</reporter>
          <assigned_to>jochen</assigned_to>
          <cc>ap</cc>
    
    <cc>dpranke</cc>
    
    <cc>eric</cc>
    
    <cc>mark</cc>
    
    <cc>ojan</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>tkent</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>530227</commentid>
    <comment_count>0</comment_count>
    <who name="">jochen</who>
    <bug_when>2012-01-05 05:57:38 -0800</bug_when>
    <thetext>When running layout tests via new-run-layout-tests (chromium-mac), I get the following error:

Starting helper ...2012-01-05 14:54:32.724 LayoutTestHelper[71934:507] failed install the generic color profile, pixmaps won&apos;t match. Error: -50

I looked at the source, and the API used by the LayoutTestHelper is deprecated since 10.6, but it&apos;s neither documented what error -50 is, nor what you should use instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>530230</commentid>
    <comment_count>1</comment_count>
    <who name="">jochen</who>
    <bug_when>2012-01-05 06:01:20 -0800</bug_when>
    <thetext>Kent, any idea? svn blame says you wrote the code :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>530344</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-01-05 09:21:10 -0800</bug_when>
    <thetext>-50 is just generic paramErr.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>530886</commentid>
    <comment_count>3</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-01-05 19:35:25 -0800</bug_when>
    <thetext>I&apos;m not so familiar with OS X.
Apple Mac&apos;s code to reset the profile looks different:
http://trac.webkit.org/browser/trunk/Tools/DumpRenderTree/mac/PixelDumpSupportMac.mm#L70

Chromium&apos;s:
http://trac.webkit.org/browser/trunk/Tools/DumpRenderTree/chromium/LayoutTestHelper.mm#L56</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>531029</commentid>
    <comment_count>4</comment_count>
      <attachid>121420</attachid>
    <who name="">jochen</who>
    <bug_when>2012-01-06 03:39:07 -0800</bug_when>
    <thetext>Created attachment 121420
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>531105</commentid>
    <comment_count>5</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-01-06 09:21:15 -0800</bug_when>
    <thetext>See bug 75662.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>531125</commentid>
    <comment_count>6</comment_count>
    <who name="">jochen</who>
    <bug_when>2012-01-06 09:51:07 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; See bug 75662.

ok, but this bug is not affecting the chromium port.

Ojan, do you know whether there are plans to switch the layout tests on chromium-mac to not requiring a specific display color profile?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>531530</commentid>
    <comment_count>7</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-01-06 17:05:07 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; Ojan, do you know whether there are plans to switch the layout tests on chromium-mac to not requiring a specific display color profile?

I don&apos;t know anything about this. Looking at bug 75662, it seems we should make sure the chromium mac port to also not depend on having a specific color profile, then we can change LayoutTestHelper to not mess with your color profile and thus get rid of this warning.

Maybe Eric or Dirk knows more...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>531532</commentid>
    <comment_count>8</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-01-06 17:12:08 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; (In reply to comment #6)
&gt; &gt; Ojan, do you know whether there are plans to switch the layout tests on chromium-mac to not requiring a specific display color profile?
&gt; 
&gt; I don&apos;t know anything about this. Looking at bug 75662, it seems we should make sure the chromium mac port to also not depend on having a specific color profile, then we can change LayoutTestHelper to not mess with your color profile and thus get rid of this warning.
&gt; 
&gt; Maybe Eric or Dirk knows more...

Not ringing a bell, but it sure sounds like a good idea.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>531537</commentid>
    <comment_count>9</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-01-06 17:16:14 -0800</bug_when>
    <thetext>Yes.  It didn&apos;t used to be possible to set a per-app or per-window colorspace. :)  It appears folks have come up with a better solution since!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>531538</commentid>
    <comment_count>10</comment_count>
      <attachid>121420</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-01-06 17:17:12 -0800</bug_when>
    <thetext>Comment on attachment 121420
Patch

Can we please share thsi code with Mac instead?  Can&apos;t we abstract out the code in their DRT into a separate file and just re-use it directly?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>531630</commentid>
    <comment_count>11</comment_count>
    <who name="">jochen</who>
    <bug_when>2012-01-07 01:46:08 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; (From update of attachment 121420 [details])
&gt; Can we please share thsi code with Mac instead?  Can&apos;t we abstract out the code in their DRT into a separate file and just re-use it directly?

Mac got rid of this code.

I wonder whether with the switch from CG to skia, we could just remove the code as well</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>531677</commentid>
    <comment_count>12</comment_count>
      <attachid>121420</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-01-07 11:43:08 -0800</bug_when>
    <thetext>Comment on attachment 121420
Patch

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

r- due to various nits.

&gt; Tools/DumpRenderTree/chromium/LayoutTestHelper.mm:41
&gt; +#define PROFILE_PATH &quot;/System/Library/ColorSync/Profiles/Generic RGB Profile.icc&quot; // FIXME: This cannot be more than CS_MAX_PATH (256 characters)

Why are you using define instead of const char*? And what&apos;s the meaning of FIXME? The path is clearly less than 256 characters.

&gt; Tools/DumpRenderTree/chromium/LayoutTestHelper.mm:43
&gt; +static CMProfileLocation sInitialProfileLocation; // The locType field is initialized to 0 which is the same as cmNoProfileBase

Wrong naming convention. Static variables should start with s_ followed by a camelCase variable name.

&gt; Tools/DumpRenderTree/chromium/LayoutTestHelper.mm:62
&gt; +              @&quot;Error: %d&quot;, (int)error);

Wrong indentation. We don&apos;t align wrapped lines like this. @ should be exactly 4 spaces right to NSLog (i.e. this line should have exactly 12 spaces from column 0)

&gt; Tools/DumpRenderTree/chromium/LayoutTestHelper.mm:87
&gt; +                  @&quot;Displays -&gt; Color to reset. Error: %d&quot;, (int)error);

Ditto about indentation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>531693</commentid>
    <comment_count>13</comment_count>
      <attachid>121559</attachid>
    <who name="">jochen</who>
    <bug_when>2012-01-07 14:59:03 -0800</bug_when>
    <thetext>Created attachment 121559
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>532337</commentid>
    <comment_count>14</comment_count>
      <attachid>121559</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-01-09 11:13:08 -0800</bug_when>
    <thetext>Comment on attachment 121559
Patch

This is using deprecated ColorSync APIs. I&apos;ll attach a patch using newer ones.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>532340</commentid>
    <comment_count>15</comment_count>
      <attachid>121694</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-01-09 11:15:04 -0800</bug_when>
    <thetext>Created attachment 121694
Updated color profile switching code</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>532927</commentid>
    <comment_count>16</comment_count>
      <attachid>121694</attachid>
    <who name="">jochen</who>
    <bug_when>2012-01-10 03:12:16 -0800</bug_when>
    <thetext>Comment on attachment 121694
Updated color profile switching code

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

&gt; Tools/DumpRenderTree/mac/PixelDumpSupportMac.mm:65
&gt; +    RetainPtr&lt;CFUUIDRef&gt; displayRef(AdoptCF, CGDisplayCreateUUIDFromDisplayID(CGMainDisplayID()));

I see that CGDisplayCreateUUIDFromDisplayID is defined in ColorSync, but I can&apos;t find any header that declares this function?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>533211</commentid>
    <comment_count>17</comment_count>
    <who name="">jochen</who>
    <bug_when>2012-01-10 11:08:55 -0800</bug_when>
    <thetext>(In reply to comment #16)
&gt; (From update of attachment 121694 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=121694&amp;action=review
&gt; 
&gt; &gt; Tools/DumpRenderTree/mac/PixelDumpSupportMac.mm:65
&gt; &gt; +    RetainPtr&lt;CFUUIDRef&gt; displayRef(AdoptCF, CGDisplayCreateUUIDFromDisplayID(CGMainDisplayID()));
&gt; 
&gt; I see that CGDisplayCreateUUIDFromDisplayID is defined in ColorSync, but I can&apos;t find any header that declares this function?

Also, given that for the time being, chromium still supports Leopard, can we use those new APIs at all?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>533392</commentid>
    <comment_count>18</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-01-10 14:37:16 -0800</bug_when>
    <thetext>Maybe not. Leopard is so old.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>533400</commentid>
    <comment_count>19</comment_count>
    <who name="">jochen</who>
    <bug_when>2012-01-10 14:47:40 -0800</bug_when>
    <thetext>(In reply to comment #18)
&gt; Maybe not. Leopard is so old.

I propose to stick with the version using the deprecated APIs then until chromium drops support for Leopard. At that point, we might want to switch to a model like the mac port is using, where we don&apos;t have to change the display&apos;s color space.

wdyt?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>534137</commentid>
    <comment_count>20</comment_count>
      <attachid>121559</attachid>
    <who name="Mark Mentovai">mark</who>
    <bug_when>2012-01-11 12:30:26 -0800</bug_when>
    <thetext>Comment on attachment 121559
Patch

I have two suggestions that shouldn’t have any impact on the result, but one’s for code cleanliness and one’s for buffer safety.

Can you use sizeof(initialColorProfileLocation) instead of sizeof(CMProfileLocation)?

Can you use strncpy instead of strcpy?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>534152</commentid>
    <comment_count>21</comment_count>
      <attachid>122076</attachid>
    <who name="">jochen</who>
    <bug_when>2012-01-11 12:44:01 -0800</bug_when>
    <thetext>Created attachment 122076
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>534153</commentid>
    <comment_count>22</comment_count>
    <who name="">jochen</who>
    <bug_when>2012-01-11 12:45:22 -0800</bug_when>
    <thetext>(In reply to comment #20)
&gt; (From update of attachment 121559 [details])
&gt; I have two suggestions that shouldn’t have any impact on the result, but one’s for code cleanliness and one’s for buffer safety.
&gt; 
&gt; Can you use sizeof(initialColorProfileLocation) instead of sizeof(CMProfileLocation)?

done

&gt; 
&gt; Can you use strncpy instead of strcpy?

CMPathLocation is defined as char path[256]; (http://developer.apple.com/library/mac/#documentation/GraphicsImaging/Reference/ColorSync_Manager/Reference/reference.html)

done</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>534159</commentid>
    <comment_count>23</comment_count>
      <attachid>122076</attachid>
    <who name="Mark Mentovai">mark</who>
    <bug_when>2012-01-11 12:50:05 -0800</bug_when>
    <thetext>Comment on attachment 122076
Patch

&gt;+    strncpy(location.u.pathLoc.path, colorProfilePath, 255);

255’s not helpful for a buffer of size 256, because you won’t get &apos;\0&apos; termination unless you do it yourself. Since this is specified as a fixed-size buffer and nobody’s said anything about termination, I think it’s fine to just use its full width (256) here. Or you can &apos;\0&apos;-terminate yourself, or use strlcpy to do it for you. I don’t really care about what happens in the overflow case as long as we don’t scribble past the end of the buffer.

However, I would suggest using sizeof(location.u.pathLoc.path) instead of hard-coding some number.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>534161</commentid>
    <comment_count>24</comment_count>
      <attachid>122078</attachid>
    <who name="">jochen</who>
    <bug_when>2012-01-11 12:53:02 -0800</bug_when>
    <thetext>Created attachment 122078
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>534164</commentid>
    <comment_count>25</comment_count>
      <attachid>122078</attachid>
    <who name="Mark Mentovai">mark</who>
    <bug_when>2012-01-11 12:53:42 -0800</bug_when>
    <thetext>Comment on attachment 122078
Patch

OK, I would r+ this version if I were a WebKit reviewer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>534212</commentid>
    <comment_count>26</comment_count>
      <attachid>122078</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-01-11 13:37:06 -0800</bug_when>
    <thetext>Comment on attachment 122078
Patch

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

&gt; Tools/DumpRenderTree/chromium/LayoutTestHelper.mm:55
&gt; +    int error;

Nit: Maybe remove this and use &apos;int error = ...&apos; below?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>534215</commentid>
    <comment_count>27</comment_count>
      <attachid>122078</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-01-11 13:38:02 -0800</bug_when>
    <thetext>Comment on attachment 122078
Patch

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

&gt; Tools/DumpRenderTree/chromium/LayoutTestHelper.mm:45
&gt; +CMProfileLocation initialColorProfileLocation; // The locType field is initialized to 0 which is the same as cmNoProfileBase

Nit: End the comment with a period.

&gt; Tools/DumpRenderTree/chromium/LayoutTestHelper.mm:82
&gt; +    // This is used as a signal handler, and thus the calls into ColorSync are unsafe

Nit: End the comment with a period.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>534216</commentid>
    <comment_count>28</comment_count>
      <attachid>122085</attachid>
    <who name="">jochen</who>
    <bug_when>2012-01-11 13:40:23 -0800</bug_when>
    <thetext>Created attachment 122085
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>534241</commentid>
    <comment_count>29</comment_count>
      <attachid>122085</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-11 14:10:35 -0800</bug_when>
    <thetext>Comment on attachment 122085
Patch

Clearing flags on attachment: 122085

Committed r104745: &lt;http://trac.webkit.org/changeset/104745&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>534242</commentid>
    <comment_count>30</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-11 14:10:42 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>121420</attachid>
            <date>2012-01-06 03:39:07 -0800</date>
            <delta_ts>2012-01-07 14:58:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-75618-20120106123905.patch</filename>
            <type>text/plain</type>
            <size>5080</size>
            <attacher>jochen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA0MjMxCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggODNlNDY1OTYxYmMwN2RkODIwYmE4YWUzNjBjMjU3NzM0
NWFkY2VlMi4uYWFmN2IwMTUwYzM3MmJhYWU0Yzc2MzhkOTBjODU5MzI2Y2YwNzYyYyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1
IEBACisyMDEyLTAxLTA2ICBKb2NoZW4gRWlzaW5nZXIgIDxqb2NoZW5AY2hyb21pdW0ub3JnPgor
CisgICAgICAgIFtDaHJvbWl1bV0gbWltaWMgdGhlIGJlaGF2aW9yIG9mIHRoZSBtYWMgcG9ydCBm
b3IgKHJlKXNldHRpbmcgdGhlIGNvbG9yIHByb2ZpbGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjE4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRU
ZXN0SGVscGVyLm1tOgorICAgICAgICAoaW5zdGFsbExheW91dFRlc3RDb2xvclByb2ZpbGUpOgor
ICAgICAgICAocmVzdG9yZVVzZXJDb2xvclByb2ZpbGUpOgorICAgICAgICAobWFpbik6CisKIDIw
MTItMDEtMDUgIERpcmsgUHJhbmtlICA8ZHByYW5rZUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
d2Via2l0cHk6IGNsZWFuIHVwIHBvcnQgZmFjdG9yeSBtZXRob2RzCmRpZmYgLS1naXQgYS9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0SGVscGVyLm1tIGIvVG9vbHMvRHVt
cFJlbmRlclRyZWUvY2hyb21pdW0vTGF5b3V0VGVzdEhlbHBlci5tbQppbmRleCBlMzRjZjVmY2Fk
OWI2ZTA1OGUxZDAzNWM1ZmMwZWE5ZjMwMjg1NDU3Li43YjVhZTllZWY1OTMzZGRhZmJkMGIzY2Nl
N2I5NmI2MTU5YmJhNjM4IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1
bS9MYXlvdXRUZXN0SGVscGVyLm1tCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVt
L0xheW91dFRlc3RIZWxwZXIubW0KQEAgLTM4LDQ5ICszOCw1NiBAQAogLy8gdGVzdCBzY3JpcHQs
IHNvIGl0IGNhbiBkbyB0aGUgam9iIGZvciBtdWx0aXBsZSBEdW1wUmVuZGVyVHJlZSB3aGlsZSB0
aGV5IGFyZQogLy8gcnVubmluZyBsYXlvdXQgdGVzdHMuCiAKLXN0YXRpYyBDTVByb2ZpbGVSZWYg
dXNlckNvbG9yUHJvZmlsZSA9IDA7CisjZGVmaW5lIFBST0ZJTEVfUEFUSCAiL1N5c3RlbS9MaWJy
YXJ5L0NvbG9yU3luYy9Qcm9maWxlcy9HZW5lcmljIFJHQiBQcm9maWxlLmljYyIgLy8gRklYTUU6
IFRoaXMgY2Fubm90IGJlIG1vcmUgdGhhbiBDU19NQVhfUEFUSCAoMjU2IGNoYXJhY3RlcnMpCiAK
LXN0YXRpYyB2b2lkIHNhdmVDdXJyZW50Q29sb3JQcm9maWxlKCkKLXsKLSAgICBDR0RpcmVjdERp
c3BsYXlJRCBkaXNwbGF5SUQgPSBDR01haW5EaXNwbGF5SUQoKTsKLSAgICBDTVByb2ZpbGVSZWYg
cHJldmlvdXNQcm9maWxlOwotICAgIENNRXJyb3IgZXJyb3IgPSBDTUdldFByb2ZpbGVCeUFWSUQo
KFVJbnQzMilkaXNwbGF5SUQsICZwcmV2aW91c1Byb2ZpbGUpOwotICAgIGlmIChlcnJvcikgewot
ICAgICAgICBOU0xvZyhAImZhaWxlZCB0byBnZXQgdGhlIGN1cnJlbnQgY29sb3IgcHJvZmlsZSwg
cGl4bWFwcyB3b24ndCBtYXRjaC4gIgotICAgICAgICAgICAgICBAIkVycm9yOiAlZCIsIChpbnQp
ZXJyb3IpOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIHVzZXJDb2xvclByb2ZpbGUgPSBwcmV2aW91
c1Byb2ZpbGU7Ci0gICAgfQotfQorc3RhdGljIENNUHJvZmlsZUxvY2F0aW9uIHNJbml0aWFsUHJv
ZmlsZUxvY2F0aW9uOyAvLyBUaGUgbG9jVHlwZSBmaWVsZCBpcyBpbml0aWFsaXplZCB0byAwIHdo
aWNoIGlzIHRoZSBzYW1lIGFzIGNtTm9Qcm9maWxlQmFzZQogCiBzdGF0aWMgdm9pZCBpbnN0YWxs
TGF5b3V0VGVzdENvbG9yUHJvZmlsZSgpCiB7CiAgICAgLy8gVG8gbWFrZSBzdXJlIHdlIGdldCBj
b25zaXN0ZW50IGNvbG9ycyAobm90IGRlcGVuZGVudCBvbiB0aGUgTWFpbiBkaXNwbGF5KSwKICAg
ICAvLyB3ZSBmb3JjZSB0aGUgZ2VuZXJpYyByZ2IgY29sb3IgcHJvZmlsZS4gIFRoaXMgY2FzZXMg
YSBjaGFuZ2UgdGhlIHVzZXIgY2FuCiAgICAgLy8gc2VlLgorICAgIGNvbnN0IENNRGV2aWNlU2Nv
cGUgc2NvcGUgPSB7IGtDRlByZWZlcmVuY2VzQ3VycmVudFVzZXIsIGtDRlByZWZlcmVuY2VzQ3Vy
cmVudEhvc3QgfTsKKyAgICBpbnQgZXJyb3I7CiAKLSAgICBDR0RpcmVjdERpc3BsYXlJRCBkaXNw
bGF5SUQgPSBDR01haW5EaXNwbGF5SUQoKTsKLSAgICBOU0NvbG9yU3BhY2UqIGdlbmVyaWNTcGFj
ZSA9IFtOU0NvbG9yU3BhY2UgZ2VuZXJpY1JHQkNvbG9yU3BhY2VdOwotICAgIENNUHJvZmlsZVJl
ZiBnZW5lcmljUHJvZmlsZSA9IChDTVByb2ZpbGVSZWYpW2dlbmVyaWNTcGFjZSBjb2xvclN5bmNQ
cm9maWxlXTsKLSAgICBDTUVycm9yIGVycm9yID0gQ01TZXRQcm9maWxlQnlBVklEKChVSW50MzIp
ZGlzcGxheUlELCBnZW5lcmljUHJvZmlsZSk7CisgICAgQ01Qcm9maWxlUmVmIHByb2ZpbGUgPSAw
OworICAgIGVycm9yID0gQ01HZXRQcm9maWxlQnlBVklEKChDTURpc3BsYXlJRFR5cGUpa0NHRGly
ZWN0TWFpbkRpc3BsYXksICZwcm9maWxlKTsKKyAgICBpZiAoIWVycm9yKSB7CisgICAgICAgIFVJ
bnQzMiBzaXplID0gc2l6ZW9mKENNUHJvZmlsZUxvY2F0aW9uKTsKKyAgICAgICAgZXJyb3IgPSBO
Q01HZXRQcm9maWxlTG9jYXRpb24ocHJvZmlsZSwgJnNJbml0aWFsUHJvZmlsZUxvY2F0aW9uLCAm
c2l6ZSk7CisgICAgICAgIENNQ2xvc2VQcm9maWxlKHByb2ZpbGUpOworICAgIH0KKyAgICBpZiAo
ZXJyb3IpIHsKKyAgICAgICAgTlNMb2coQCJmYWlsZWQgdG8gZ2V0IHRoZSBjdXJyZW50IGNvbG9y
IHByb2ZpbGUsIHBpeG1hcHMgd29uJ3QgbWF0Y2guICIKKyAgICAgICAgICAgICAgQCJFcnJvcjog
JWQiLCAoaW50KWVycm9yKTsKKyAgICAgICAgc0luaXRpYWxQcm9maWxlTG9jYXRpb24ubG9jVHlw
ZSA9IGNtTm9Qcm9maWxlQmFzZTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIENNUHJv
ZmlsZUxvY2F0aW9uIGxvY2F0aW9uOworICAgIGxvY2F0aW9uLmxvY1R5cGUgPSBjbVBhdGhCYXNl
ZFByb2ZpbGU7CisgICAgc3RyY3B5KGxvY2F0aW9uLnUucGF0aExvYy5wYXRoLCBQUk9GSUxFX1BB
VEgpOworICAgIGVycm9yID0gQ01TZXREZXZpY2VQcm9maWxlKGNtRGlzcGxheURldmljZUNsYXNz
LCAoQ01EZXZpY2VJRClrQ0dEaXJlY3RNYWluRGlzcGxheSwgJnNjb3BlLCBjbURlZmF1bHRQcm9m
aWxlSUQsICZsb2NhdGlvbik7CiAgICAgaWYgKGVycm9yKSB7CiAgICAgICAgIE5TTG9nKEAiZmFp
bGVkIGluc3RhbGwgdGhlIGdlbmVyaWMgY29sb3IgcHJvZmlsZSwgcGl4bWFwcyB3b24ndCBtYXRj
aC4gIgogICAgICAgICAgICAgICBAIkVycm9yOiAlZCIsIChpbnQpZXJyb3IpOworICAgICAgICBz
SW5pdGlhbFByb2ZpbGVMb2NhdGlvbi5sb2NUeXBlID0gY21Ob1Byb2ZpbGVCYXNlOwogICAgIH0K
IH0KIAogc3RhdGljIHZvaWQgcmVzdG9yZVVzZXJDb2xvclByb2ZpbGUodm9pZCkKIHsKLSAgICBp
ZiAoIXVzZXJDb2xvclByb2ZpbGUpCi0gICAgICAgIHJldHVybjsKLSAgICBDR0RpcmVjdERpc3Bs
YXlJRCBkaXNwbGF5SUQgPSBDR01haW5EaXNwbGF5SUQoKTsKLSAgICBDTUVycm9yIGVycm9yID0g
Q01TZXRQcm9maWxlQnlBVklEKChVSW50MzIpZGlzcGxheUlELCB1c2VyQ29sb3JQcm9maWxlKTsK
LSAgICBDTUNsb3NlUHJvZmlsZSh1c2VyQ29sb3JQcm9maWxlKTsKLSAgICBpZiAoZXJyb3IpIHsK
LSAgICAgICAgTlNMb2coQCJGYWlsZWQgdG8gcmVzdG9yZSBjb2xvciBwcm9maWxlLCB1c2UgU3lz
dGVtIFByZWZlcmVuY2VzIC0+ICIKLSAgICAgICAgICAgICAgQCJEaXNwbGF5cyAtPiBDb2xvciB0
byByZXNldC4gRXJyb3I6ICVkIiwgKGludCllcnJvcik7CisgICAgLy8gVGhpcyBpcyB1c2VkIGFz
IGEgc2lnbmFsIGhhbmRsZXIsIGFuZCB0aHVzIHRoZSBjYWxscyBpbnRvIENvbG9yU3luYyBhcmUg
dW5zYWZlCisgICAgLy8gQnV0IHdlIG1pZ2h0IGFzIHdlbGwgdHJ5IHRvIHJlc3RvcmUgdGhlIHVz
ZXIncyBjb2xvciBwcm9maWxlLCB3ZSdyZSBnb2luZyBkb3duIGFueXdheS4uLgorICAgIGlmIChz
SW5pdGlhbFByb2ZpbGVMb2NhdGlvbi5sb2NUeXBlICE9IGNtTm9Qcm9maWxlQmFzZSkgeworICAg
ICAgICBjb25zdCBDTURldmljZVNjb3BlIHNjb3BlID0geyBrQ0ZQcmVmZXJlbmNlc0N1cnJlbnRV
c2VyLCBrQ0ZQcmVmZXJlbmNlc0N1cnJlbnRIb3N0IH07CisgICAgICAgIGludCBlcnJvciA9IENN
U2V0RGV2aWNlUHJvZmlsZShjbURpc3BsYXlEZXZpY2VDbGFzcywgKENNRGV2aWNlSUQpa0NHRGly
ZWN0TWFpbkRpc3BsYXksICZzY29wZSwgY21EZWZhdWx0UHJvZmlsZUlELCAmc0luaXRpYWxQcm9m
aWxlTG9jYXRpb24pOworICAgICAgICBpZiAoZXJyb3IpIHsKKyAgICAgICAgICAgIE5TTG9nKEAi
RmFpbGVkIHRvIHJlc3RvcmUgY29sb3IgcHJvZmlsZSwgdXNlIFN5c3RlbSBQcmVmZXJlbmNlcyAt
PiAiCisgICAgICAgICAgICAgICAgICBAIkRpc3BsYXlzIC0+IENvbG9yIHRvIHJlc2V0LiBFcnJv
cjogJWQiLCAoaW50KWVycm9yKTsKKyAgICAgICAgfQorICAgICAgICBzSW5pdGlhbFByb2ZpbGVM
b2NhdGlvbi5sb2NUeXBlID0gY21Ob1Byb2ZpbGVCYXNlOwogICAgIH0KLSAgICB1c2VyQ29sb3JQ
cm9maWxlID0gMDsKIH0KIAogc3RhdGljIHZvaWQgc2ltcGxlU2lnbmFsSGFuZGxlcihpbnQgc2ln
KQpAQCAtMTAwLDcgKzEwNyw2IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyKiBhcmd2W10pCiAg
ICAgc2lnbmFsKFNJR1RFUk0sIHNpbXBsZVNpZ25hbEhhbmRsZXIpOwogCiAgICAgLy8gU2F2ZSBv
ZmYgdGhlIGN1cnJlbnQgcHJvZmlsZSwgYW5kIHRoZW4gaW5zdGFsbCB0aGUgbGF5b3V0IHRlc3Qg
cHJvZmlsZS4KLSAgICBzYXZlQ3VycmVudENvbG9yUHJvZmlsZSgpOwogICAgIGluc3RhbGxMYXlv
dXRUZXN0Q29sb3JQcm9maWxlKCk7CiAKICAgICAvLyBMZXQgdGhlIHNjcmlwdCBrbm93IHdlJ3Jl
IHJlYWR5Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>121559</attachid>
            <date>2012-01-07 14:59:03 -0800</date>
            <delta_ts>2012-01-11 12:43:47 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-75618-20120107235901.patch</filename>
            <type>text/plain</type>
            <size>5269</size>
            <attacher>jochen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA0MjMxCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggODNlNDY1OTYxYmMwN2RkODIwYmE4YWUzNjBjMjU3NzM0
NWFkY2VlMi4uYmFhYjg4NjQ4MmFhZWFlOWVkYThhOGQxNWY1MjhhNDhhMWY0NzQwZiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3
IEBACisyMDEyLTAxLTA2ICBKb2NoZW4gRWlzaW5nZXIgIDxqb2NoZW5AY2hyb21pdW0ub3JnPgor
CisgICAgICAgIFtDaHJvbWl1bV0gbWltaWMgdGhlIChvbGQpIGJlaGF2aW9yIG9mIHRoZSBtYWMg
cG9ydCBmb3IgKHJlKXNldHRpbmcgdGhlIGNvbG9yIHByb2ZpbGUKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjE4CisKKyAgICAgICAgRXZlbnR1YWxs
eSwgd2Ugc2hvdWxkIGdldCBhd2F5IGZyb20gc2V0dGluZyB0aGUgZGlzcGxheSdzIGNvbG9yIHBy
b2ZpbGUsIGFzIHRoZSBtYWMgcG9ydCBpcyBkb2luZyBub3cuCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9M
YXlvdXRUZXN0SGVscGVyLm1tOgorICAgICAgICAoaW5zdGFsbExheW91dFRlc3RDb2xvclByb2Zp
bGUpOgorICAgICAgICAocmVzdG9yZVVzZXJDb2xvclByb2ZpbGUpOgorICAgICAgICAobWFpbik6
CisKIDIwMTItMDEtMDUgIERpcmsgUHJhbmtlICA8ZHByYW5rZUBjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgd2Via2l0cHk6IGNsZWFuIHVwIHBvcnQgZmFjdG9yeSBtZXRob2RzCmRpZmYgLS1naXQg
YS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0SGVscGVyLm1tIGIvVG9v
bHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTGF5b3V0VGVzdEhlbHBlci5tbQppbmRleCBlMzRj
ZjVmY2FkOWI2ZTA1OGUxZDAzNWM1ZmMwZWE5ZjMwMjg1NDU3Li4yYjQxODU0Yjc4MDA3ODhhZDJl
NTdiZTA1OTE3OWViYWIwM2U1ZTVkIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9j
aHJvbWl1bS9MYXlvdXRUZXN0SGVscGVyLm1tCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2No
cm9taXVtL0xheW91dFRlc3RIZWxwZXIubW0KQEAgLTM4LDQ5ICszOCw1NyBAQAogLy8gdGVzdCBz
Y3JpcHQsIHNvIGl0IGNhbiBkbyB0aGUgam9iIGZvciBtdWx0aXBsZSBEdW1wUmVuZGVyVHJlZSB3
aGlsZSB0aGV5IGFyZQogLy8gcnVubmluZyBsYXlvdXQgdGVzdHMuCiAKLXN0YXRpYyBDTVByb2Zp
bGVSZWYgdXNlckNvbG9yUHJvZmlsZSA9IDA7CituYW1lc3BhY2UgewogCi1zdGF0aWMgdm9pZCBz
YXZlQ3VycmVudENvbG9yUHJvZmlsZSgpCi17Ci0gICAgQ0dEaXJlY3REaXNwbGF5SUQgZGlzcGxh
eUlEID0gQ0dNYWluRGlzcGxheUlEKCk7Ci0gICAgQ01Qcm9maWxlUmVmIHByZXZpb3VzUHJvZmls
ZTsKLSAgICBDTUVycm9yIGVycm9yID0gQ01HZXRQcm9maWxlQnlBVklEKChVSW50MzIpZGlzcGxh
eUlELCAmcHJldmlvdXNQcm9maWxlKTsKLSAgICBpZiAoZXJyb3IpIHsKLSAgICAgICAgTlNMb2co
QCJmYWlsZWQgdG8gZ2V0IHRoZSBjdXJyZW50IGNvbG9yIHByb2ZpbGUsIHBpeG1hcHMgd29uJ3Qg
bWF0Y2guICIKLSAgICAgICAgICAgICAgQCJFcnJvcjogJWQiLCAoaW50KWVycm9yKTsKLSAgICB9
IGVsc2UgewotICAgICAgICB1c2VyQ29sb3JQcm9maWxlID0gcHJldmlvdXNQcm9maWxlOwotICAg
IH0KLX0KK2NvbnN0IGNoYXIgY29sb3JQcm9maWxlUGF0aFtdID0gIi9TeXN0ZW0vTGlicmFyeS9D
b2xvclN5bmMvUHJvZmlsZXMvR2VuZXJpYyBSR0IgUHJvZmlsZS5pY2MiOworCitDTVByb2ZpbGVM
b2NhdGlvbiBpbml0aWFsQ29sb3JQcm9maWxlTG9jYXRpb247IC8vIFRoZSBsb2NUeXBlIGZpZWxk
IGlzIGluaXRpYWxpemVkIHRvIDAgd2hpY2ggaXMgdGhlIHNhbWUgYXMgY21Ob1Byb2ZpbGVCYXNl
CisKK30gLy8gbmFtZXNwYWNlCiAKIHN0YXRpYyB2b2lkIGluc3RhbGxMYXlvdXRUZXN0Q29sb3JQ
cm9maWxlKCkKIHsKICAgICAvLyBUbyBtYWtlIHN1cmUgd2UgZ2V0IGNvbnNpc3RlbnQgY29sb3Jz
IChub3QgZGVwZW5kZW50IG9uIHRoZSBNYWluIGRpc3BsYXkpLAogICAgIC8vIHdlIGZvcmNlIHRo
ZSBnZW5lcmljIHJnYiBjb2xvciBwcm9maWxlLiAgVGhpcyBjYXNlcyBhIGNoYW5nZSB0aGUgdXNl
ciBjYW4KICAgICAvLyBzZWUuCisgICAgY29uc3QgQ01EZXZpY2VTY29wZSBzY29wZSA9IHsga0NG
UHJlZmVyZW5jZXNDdXJyZW50VXNlciwga0NGUHJlZmVyZW5jZXNDdXJyZW50SG9zdCB9OworICAg
IGludCBlcnJvcjsKIAotICAgIENHRGlyZWN0RGlzcGxheUlEIGRpc3BsYXlJRCA9IENHTWFpbkRp
c3BsYXlJRCgpOwotICAgIE5TQ29sb3JTcGFjZSogZ2VuZXJpY1NwYWNlID0gW05TQ29sb3JTcGFj
ZSBnZW5lcmljUkdCQ29sb3JTcGFjZV07Ci0gICAgQ01Qcm9maWxlUmVmIGdlbmVyaWNQcm9maWxl
ID0gKENNUHJvZmlsZVJlZilbZ2VuZXJpY1NwYWNlIGNvbG9yU3luY1Byb2ZpbGVdOwotICAgIENN
RXJyb3IgZXJyb3IgPSBDTVNldFByb2ZpbGVCeUFWSUQoKFVJbnQzMilkaXNwbGF5SUQsIGdlbmVy
aWNQcm9maWxlKTsKKyAgICBDTVByb2ZpbGVSZWYgcHJvZmlsZSA9IDA7CisgICAgZXJyb3IgPSBD
TUdldFByb2ZpbGVCeUFWSUQoKENNRGlzcGxheUlEVHlwZSlrQ0dEaXJlY3RNYWluRGlzcGxheSwg
JnByb2ZpbGUpOworICAgIGlmICghZXJyb3IpIHsKKyAgICAgICAgVUludDMyIHNpemUgPSBzaXpl
b2YoQ01Qcm9maWxlTG9jYXRpb24pOworICAgICAgICBlcnJvciA9IE5DTUdldFByb2ZpbGVMb2Nh
dGlvbihwcm9maWxlLCAmaW5pdGlhbENvbG9yUHJvZmlsZUxvY2F0aW9uLCAmc2l6ZSk7CisgICAg
ICAgIENNQ2xvc2VQcm9maWxlKHByb2ZpbGUpOworICAgIH0KICAgICBpZiAoZXJyb3IpIHsKLSAg
ICAgICAgTlNMb2coQCJmYWlsZWQgaW5zdGFsbCB0aGUgZ2VuZXJpYyBjb2xvciBwcm9maWxlLCBw
aXhtYXBzIHdvbid0IG1hdGNoLiAiCi0gICAgICAgICAgICAgIEAiRXJyb3I6ICVkIiwgKGludCll
cnJvcik7CisgICAgICAgIE5TTG9nKEAiZmFpbGVkIHRvIGdldCB0aGUgY3VycmVudCBjb2xvciBw
cm9maWxlLCBwaXhtYXBzIHdvbid0IG1hdGNoLiBFcnJvcjogJWQiLCAoaW50KWVycm9yKTsKKyAg
ICAgICAgaW5pdGlhbENvbG9yUHJvZmlsZUxvY2F0aW9uLmxvY1R5cGUgPSBjbU5vUHJvZmlsZUJh
c2U7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBDTVByb2ZpbGVMb2NhdGlvbiBsb2Nh
dGlvbjsKKyAgICBsb2NhdGlvbi5sb2NUeXBlID0gY21QYXRoQmFzZWRQcm9maWxlOworICAgIHN0
cmNweShsb2NhdGlvbi51LnBhdGhMb2MucGF0aCwgY29sb3JQcm9maWxlUGF0aCk7CisgICAgZXJy
b3IgPSBDTVNldERldmljZVByb2ZpbGUoY21EaXNwbGF5RGV2aWNlQ2xhc3MsIChDTURldmljZUlE
KWtDR0RpcmVjdE1haW5EaXNwbGF5LCAmc2NvcGUsIGNtRGVmYXVsdFByb2ZpbGVJRCwgJmxvY2F0
aW9uKTsKKyAgICBpZiAoZXJyb3IpIHsKKyAgICAgICAgTlNMb2coQCJmYWlsZWQgaW5zdGFsbCB0
aGUgZ2VuZXJpYyBjb2xvciBwcm9maWxlLCBwaXhtYXBzIHdvbid0IG1hdGNoLiBFcnJvcjogJWQi
LCAoaW50KWVycm9yKTsKKyAgICAgICAgaW5pdGlhbENvbG9yUHJvZmlsZUxvY2F0aW9uLmxvY1R5
cGUgPSBjbU5vUHJvZmlsZUJhc2U7CiAgICAgfQogfQogCiBzdGF0aWMgdm9pZCByZXN0b3JlVXNl
ckNvbG9yUHJvZmlsZSh2b2lkKQogewotICAgIGlmICghdXNlckNvbG9yUHJvZmlsZSkKLSAgICAg
ICAgcmV0dXJuOwotICAgIENHRGlyZWN0RGlzcGxheUlEIGRpc3BsYXlJRCA9IENHTWFpbkRpc3Bs
YXlJRCgpOwotICAgIENNRXJyb3IgZXJyb3IgPSBDTVNldFByb2ZpbGVCeUFWSUQoKFVJbnQzMilk
aXNwbGF5SUQsIHVzZXJDb2xvclByb2ZpbGUpOwotICAgIENNQ2xvc2VQcm9maWxlKHVzZXJDb2xv
clByb2ZpbGUpOwotICAgIGlmIChlcnJvcikgewotICAgICAgICBOU0xvZyhAIkZhaWxlZCB0byBy
ZXN0b3JlIGNvbG9yIHByb2ZpbGUsIHVzZSBTeXN0ZW0gUHJlZmVyZW5jZXMgLT4gIgotICAgICAg
ICAgICAgICBAIkRpc3BsYXlzIC0+IENvbG9yIHRvIHJlc2V0LiBFcnJvcjogJWQiLCAoaW50KWVy
cm9yKTsKKyAgICAvLyBUaGlzIGlzIHVzZWQgYXMgYSBzaWduYWwgaGFuZGxlciwgYW5kIHRodXMg
dGhlIGNhbGxzIGludG8gQ29sb3JTeW5jIGFyZSB1bnNhZmUKKyAgICAvLyBCdXQgd2UgbWlnaHQg
YXMgd2VsbCB0cnkgdG8gcmVzdG9yZSB0aGUgdXNlcidzIGNvbG9yIHByb2ZpbGUsIHdlJ3JlIGdv
aW5nIGRvd24gYW55d2F5Li4uCisgICAgaWYgKGluaXRpYWxDb2xvclByb2ZpbGVMb2NhdGlvbi5s
b2NUeXBlICE9IGNtTm9Qcm9maWxlQmFzZSkgeworICAgICAgICBjb25zdCBDTURldmljZVNjb3Bl
IHNjb3BlID0geyBrQ0ZQcmVmZXJlbmNlc0N1cnJlbnRVc2VyLCBrQ0ZQcmVmZXJlbmNlc0N1cnJl
bnRIb3N0IH07CisgICAgICAgIGludCBlcnJvciA9IENNU2V0RGV2aWNlUHJvZmlsZShjbURpc3Bs
YXlEZXZpY2VDbGFzcywgKENNRGV2aWNlSUQpa0NHRGlyZWN0TWFpbkRpc3BsYXksICZzY29wZSwg
Y21EZWZhdWx0UHJvZmlsZUlELCAmaW5pdGlhbENvbG9yUHJvZmlsZUxvY2F0aW9uKTsKKyAgICAg
ICAgaWYgKGVycm9yKSB7CisgICAgICAgICAgICBOU0xvZyhAIkZhaWxlZCB0byByZXN0b3JlIGNv
bG9yIHByb2ZpbGUsIHVzZSBTeXN0ZW0gUHJlZmVyZW5jZXMgLT4gRGlzcGxheXMgLT4gQ29sb3Ig
dG8gcmVzZXQuIEVycm9yOiAlZCIsIChpbnQpZXJyb3IpOworICAgICAgICB9CisgICAgICAgIGlu
aXRpYWxDb2xvclByb2ZpbGVMb2NhdGlvbi5sb2NUeXBlID0gY21Ob1Byb2ZpbGVCYXNlOwogICAg
IH0KLSAgICB1c2VyQ29sb3JQcm9maWxlID0gMDsKIH0KIAogc3RhdGljIHZvaWQgc2ltcGxlU2ln
bmFsSGFuZGxlcihpbnQgc2lnKQpAQCAtMTAwLDcgKzEwOCw2IEBAIGludCBtYWluKGludCBhcmdj
LCBjaGFyKiBhcmd2W10pCiAgICAgc2lnbmFsKFNJR1RFUk0sIHNpbXBsZVNpZ25hbEhhbmRsZXIp
OwogCiAgICAgLy8gU2F2ZSBvZmYgdGhlIGN1cnJlbnQgcHJvZmlsZSwgYW5kIHRoZW4gaW5zdGFs
bCB0aGUgbGF5b3V0IHRlc3QgcHJvZmlsZS4KLSAgICBzYXZlQ3VycmVudENvbG9yUHJvZmlsZSgp
OwogICAgIGluc3RhbGxMYXlvdXRUZXN0Q29sb3JQcm9maWxlKCk7CiAKICAgICAvLyBMZXQgdGhl
IHNjcmlwdCBrbm93IHdlJ3JlIHJlYWR5Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>121694</attachid>
            <date>2012-01-09 11:15:04 -0800</date>
            <delta_ts>2012-01-11 12:43:55 -0800</delta_ts>
            <desc>Updated color profile switching code</desc>
            <filename>modernized display profile code</filename>
            <type>text/plain</type>
            <size>6434</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9QaXhlbER1bXBTdXBwb3J0TWFj
Lm1tIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL1BpeGVsRHVtcFN1cHBvcnRNYWMubW0KaW5k
ZXggM2Q2ZmJkZC4uZjkxZjVlYyAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFj
L1BpeGVsRHVtcFN1cHBvcnRNYWMubW0KKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL1Bp
eGVsRHVtcFN1cHBvcnRNYWMubW0KQEAgLTM4LDYgKzM4LDggQEAKICNpbmNsdWRlIDx3dGYvQXNz
ZXJ0aW9ucy5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAorI2ltcG9ydCA8QXBwbGljYXRp
b25TZXJ2aWNlcy9BcHBsaWNhdGlvblNlcnZpY2VzLmg+CisKICNpbXBvcnQgPFdlYktpdC9XZWJD
b3JlU3RhdGlzdGljcy5oPgogI2ltcG9ydCA8V2ViS2l0L1dlYkRvY3VtZW50UHJpdmF0ZS5oPgog
I2ltcG9ydCA8V2ViS2l0L1dlYkhUTUxWaWV3UHJpdmF0ZS5oPgpAQCAtNTAsNDggKzUyLDQ5IEBA
CiAvLyBUaGlzIGltcGxpZXMgd2UgaGF2ZSB0byB0ZW1wb3JhcmlseSBjaGFuZ2UgdGhlIHByb2Zp
bGUgb2YgdGhlIG1haW4gZGlzcGxheSB0byB0aGUgY29sb3JzcGFjZSB3ZSB3YW50IHRvIHJlbmRl
ciBpbnRvLgogLy8gV2UgYWxzbyBuZWVkIHRvIG1ha2Ugc3VyZSB0aGUgQ0dCaXRtYXBDb250ZXh0
IHdlIHJldHVybiBpcyBpbiB0aGF0IHNhbWUgY29sb3JzcGFjZS4KIAotI2RlZmluZSBQUk9GSUxF
X1BBVEggIi9TeXN0ZW0vTGlicmFyeS9Db2xvclN5bmMvUHJvZmlsZXMvR2VuZXJpYyBSR0IgUHJv
ZmlsZS5pY2MiIC8vIEZJWE1FOiBUaGlzIGNhbm5vdCBiZSBtb3JlIHRoYW4gQ1NfTUFYX1BBVEgg
KDI1NiBjaGFyYWN0ZXJzKQotCi1zdGF0aWMgQ01Qcm9maWxlTG9jYXRpb24gc0luaXRpYWxQcm9m
aWxlTG9jYXRpb247IC8vIFRoZSBsb2NUeXBlIGZpZWxkIGlzIGluaXRpYWxpemVkIHRvIDAgd2hp
Y2ggaXMgdGhlIHNhbWUgYXMgY21Ob1Byb2ZpbGVCYXNlCitzdGF0aWMgUmV0YWluUHRyPENGVVJM
UmVmPiBzSW5pdGlhbFByb2ZpbGVVUkw7CiAKIHZvaWQgcmVzdG9yZU1haW5EaXNwbGF5Q29sb3JQ
cm9maWxlKGludCBpZ25vcmVkKQogewogICAgIC8vIFRoaXMgaXMgdXNlZCBhcyBhIHNpZ25hbCBo
YW5kbGVyLCBhbmQgdGh1cyB0aGUgY2FsbHMgaW50byBDb2xvclN5bmMgYXJlIHVuc2FmZQogICAg
IC8vIEJ1dCB3ZSBtaWdodCBhcyB3ZWxsIHRyeSB0byByZXN0b3JlIHRoZSB1c2VyJ3MgY29sb3Ig
cHJvZmlsZSwgd2UncmUgZ29pbmcgZG93biBhbnl3YXkuLi4KLSAgICBpZiAoc0luaXRpYWxQcm9m
aWxlTG9jYXRpb24ubG9jVHlwZSAhPSBjbU5vUHJvZmlsZUJhc2UpIHsKLSAgICAgICAgY29uc3Qg
Q01EZXZpY2VTY29wZSBzY29wZSA9IHsga0NGUHJlZmVyZW5jZXNDdXJyZW50VXNlciwga0NGUHJl
ZmVyZW5jZXNDdXJyZW50SG9zdCB9OwotICAgICAgICBpbnQgZXJyb3IgPSBDTVNldERldmljZVBy
b2ZpbGUoY21EaXNwbGF5RGV2aWNlQ2xhc3MsIChDTURldmljZUlEKWtDR0RpcmVjdE1haW5EaXNw
bGF5LCAmc2NvcGUsIGNtRGVmYXVsdFByb2ZpbGVJRCwgJnNJbml0aWFsUHJvZmlsZUxvY2F0aW9u
KTsKLSAgICAgICAgaWYgKGVycm9yKQotICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJGYWls
ZWQgdG8gcmVzdG9yZSBpbml0aWFsIGNvbG9yIHByb2ZpbGUgZm9yIG1haW4gZGlzcGxheSEgT3Bl
biBTeXN0ZW0gUHJlZmVyZW5jZXMgPiBEaXNwbGF5cyA+IENvbG9yIGFuZCBtYW51YWxseSByZS1z
ZWxlY3QgdGhlIHByb2ZpbGUuICAoRXJyb3I6ICVpKVxuIiwgZXJyb3IpOwotICAgICAgICBzSW5p
dGlhbFByb2ZpbGVMb2NhdGlvbi5sb2NUeXBlID0gY21Ob1Byb2ZpbGVCYXNlOwotICAgIH0KKwor
ICAgIGlmICghc0luaXRpYWxQcm9maWxlVVJMKQorICAgICAgICByZXR1cm47CisKKyAgICBSZXRh
aW5QdHI8Q0ZVVUlEUmVmPiBkaXNwbGF5UmVmKEFkb3B0Q0YsIENHRGlzcGxheUNyZWF0ZVVVSURG
cm9tRGlzcGxheUlEKENHTWFpbkRpc3BsYXlJRCgpKSk7CisgICAgUmV0YWluUHRyPENGTXV0YWJs
ZURpY3Rpb25hcnlSZWY+IHByb2ZpbGVJbmZvKEFkb3B0Q0YsIENGRGljdGlvbmFyeUNyZWF0ZU11
dGFibGUoa0NGQWxsb2NhdG9yRGVmYXVsdCwgMCwgJmtDRlR5cGVEaWN0aW9uYXJ5S2V5Q2FsbEJh
Y2tzLCAma0NGVHlwZURpY3Rpb25hcnlWYWx1ZUNhbGxCYWNrcykpOworICAgIENGRGljdGlvbmFy
eVNldFZhbHVlKHByb2ZpbGVJbmZvLmdldCgpLCBrQ29sb3JTeW5jRGV2aWNlRGVmYXVsdFByb2Zp
bGVJRCwgc0luaXRpYWxQcm9maWxlVVJMLmdldCgpKTsKKyAgICBDb2xvclN5bmNEZXZpY2VTZXRD
dXN0b21Qcm9maWxlcyhrQ29sb3JTeW5jRGlzcGxheURldmljZUNsYXNzLCBkaXNwbGF5UmVmLmdl
dCgpLCBwcm9maWxlSW5mby5nZXQoKSk7CiB9CiAKIHZvaWQgc2V0dXBNYWluRGlzcGxheUNvbG9y
UHJvZmlsZSgpCiB7Ci0gICAgY29uc3QgQ01EZXZpY2VTY29wZSBzY29wZSA9IHsga0NGUHJlZmVy
ZW5jZXNDdXJyZW50VXNlciwga0NGUHJlZmVyZW5jZXNDdXJyZW50SG9zdCB9OwotICAgIGludCBl
cnJvcjsKLSAgICAKLSAgICBDTVByb2ZpbGVSZWYgcHJvZmlsZSA9IDA7Ci0gICAgZXJyb3IgPSBD
TUdldFByb2ZpbGVCeUFWSUQoKENNRGlzcGxheUlEVHlwZSlrQ0dEaXJlY3RNYWluRGlzcGxheSwg
JnByb2ZpbGUpOwotICAgIGlmICghZXJyb3IpIHsKLSAgICAgICAgVUludDMyIHNpemUgPSBzaXpl
b2YoQ01Qcm9maWxlTG9jYXRpb24pOwotICAgICAgICBlcnJvciA9IE5DTUdldFByb2ZpbGVMb2Nh
dGlvbihwcm9maWxlLCAmc0luaXRpYWxQcm9maWxlTG9jYXRpb24sICZzaXplKTsKLSAgICAgICAg
Q01DbG9zZVByb2ZpbGUocHJvZmlsZSk7CityZXR1cm47CisgICAgUmV0YWluUHRyPENGVVVJRFJl
Zj4gZGlzcGxheVJlZihBZG9wdENGLCBDR0Rpc3BsYXlDcmVhdGVVVUlERnJvbURpc3BsYXlJRChD
R01haW5EaXNwbGF5SUQoKSkpOworCisgICAgaWYgKCFzSW5pdGlhbFByb2ZpbGVVUkwpIHsKKyAg
ICAgICAgUmV0YWluUHRyPENGRGljdGlvbmFyeVJlZj4gZGV2aWNlSW5mbyhBZG9wdENGLCBDb2xv
clN5bmNEZXZpY2VDb3B5RGV2aWNlSW5mbyhrQ29sb3JTeW5jRGlzcGxheURldmljZUNsYXNzLCBk
aXNwbGF5UmVmLmdldCgpKSk7CisgICAgICAgIENGRGljdGlvbmFyeVJlZiBwcm9maWxlSW5mbyA9
IHN0YXRpY19jYXN0PENGRGljdGlvbmFyeVJlZj4oQ0ZEaWN0aW9uYXJ5R2V0VmFsdWUoZGV2aWNl
SW5mby5nZXQoKSwga0NvbG9yU3luY0N1c3RvbVByb2ZpbGVzKSk7CisgICAgICAgIGlmIChwcm9m
aWxlSW5mbykKKyAgICAgICAgICAgIHNJbml0aWFsUHJvZmlsZVVSTCA9IHN0YXRpY19jYXN0PENG
VVJMUmVmPihDRkRpY3Rpb25hcnlHZXRWYWx1ZShwcm9maWxlSW5mbywgQ0ZTVFIoIjEiKSkpOwog
ICAgIH0KLSAgICBpZiAoZXJyb3IpIHsKLSAgICAgICAgZnByaW50ZihzdGRlcnIsICJGYWlsZWQg
dG8gcmV0cmlldmUgY3VycmVudCBjb2xvciBwcm9maWxlIGZvciBtYWluIGRpc3BsYXksIHRodXMg
aXQgd29uJ3QgYmUgY2hhbmdlZC4gIE1hbnkgcGl4ZWwgdGVzdHMgbWF5IGZhaWwgYXMgYSByZXN1
bHQuICAoRXJyb3I6ICVpKVxuIiwgZXJyb3IpOwotICAgICAgICBzSW5pdGlhbFByb2ZpbGVMb2Nh
dGlvbi5sb2NUeXBlID0gY21Ob1Byb2ZpbGVCYXNlOworCisgICAgUmV0YWluUHRyPENvbG9yU3lu
Y1Byb2ZpbGVSZWY+IGdlbmVyaWNHUkJQcm9maWxlUmVmKEFkb3B0Q0YsIENvbG9yU3luY1Byb2Zp
bGVDcmVhdGVXaXRoTmFtZShrQ29sb3JTeW5jR2VuZXJpY1JHQlByb2ZpbGUpKTsKKyAgICBDRkVy
cm9yUmVmIGVycm9yOworICAgIENGVVJMUmVmIHByb2ZpbGVVUkwgPSBDb2xvclN5bmNQcm9maWxl
R2V0VVJMKGdlbmVyaWNHUkJQcm9maWxlUmVmLmdldCgpLCAmZXJyb3IpOworICAgIGlmICghcHJv
ZmlsZVVSTCkgeworICAgICAgICBOU0xvZyhAIkZhaWxlZCB0byBnZXQgVVJMIG9mIEdlbmVyaWMg
UkdCIGNvbG9yIHByb2ZpbGUhIE1hbnkgcGl4ZWwgdGVzdHMgbWF5IGZhaWwgYXMgYSByZXN1bHQu
IEVycm9yOiAlQCIsIGVycm9yKTsKKyAgICAgICAgc0luaXRpYWxQcm9maWxlVVJMID0gbnVsbHB0
cjsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICAKLSAgICBDTVByb2ZpbGVMb2NhdGlvbiBs
b2NhdGlvbjsKLSAgICBsb2NhdGlvbi5sb2NUeXBlID0gY21QYXRoQmFzZWRQcm9maWxlOwotICAg
IHN0cmNweShsb2NhdGlvbi51LnBhdGhMb2MucGF0aCwgUFJPRklMRV9QQVRIKTsKLSAgICBlcnJv
ciA9IENNU2V0RGV2aWNlUHJvZmlsZShjbURpc3BsYXlEZXZpY2VDbGFzcywgKENNRGV2aWNlSUQp
a0NHRGlyZWN0TWFpbkRpc3BsYXksICZzY29wZSwgY21EZWZhdWx0UHJvZmlsZUlELCAmbG9jYXRp
b24pOwotICAgIGlmIChlcnJvcikgewotICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIkZhaWxlZCB0
byBzZXQgY29sb3IgcHJvZmlsZSBmb3IgbWFpbiBkaXNwbGF5ISAgTWFueSBwaXhlbCB0ZXN0cyBt
YXkgZmFpbCBhcyBhIHJlc3VsdC4gIChFcnJvcjogJWkpXG4iLCBlcnJvcik7Ci0gICAgICAgIHNJ
bml0aWFsUHJvZmlsZUxvY2F0aW9uLmxvY1R5cGUgPSBjbU5vUHJvZmlsZUJhc2U7CisgICAgUmV0
YWluUHRyPENGTXV0YWJsZURpY3Rpb25hcnlSZWY+IHByb2ZpbGVJbmZvKEFkb3B0Q0YsIENGRGlj
dGlvbmFyeUNyZWF0ZU11dGFibGUoa0NGQWxsb2NhdG9yRGVmYXVsdCwgMCwgJmtDRlR5cGVEaWN0
aW9uYXJ5S2V5Q2FsbEJhY2tzLCAma0NGVHlwZURpY3Rpb25hcnlWYWx1ZUNhbGxCYWNrcykpOwor
ICAgIENGRGljdGlvbmFyeVNldFZhbHVlKHByb2ZpbGVJbmZvLmdldCgpLCBrQ29sb3JTeW5jRGV2
aWNlRGVmYXVsdFByb2ZpbGVJRCwgcHJvZmlsZVVSTCk7CisKKyAgICBpZiAoIUNvbG9yU3luY0Rl
dmljZVNldEN1c3RvbVByb2ZpbGVzKGtDb2xvclN5bmNEaXNwbGF5RGV2aWNlQ2xhc3MsIGRpc3Bs
YXlSZWYuZ2V0KCksIHByb2ZpbGVJbmZvLmdldCgpKSkgeworICAgICAgICBmcHJpbnRmKHN0ZGVy
ciwgIkZhaWxlZCB0byBzZXQgY29sb3IgcHJvZmlsZSBmb3IgbWFpbiBkaXNwbGF5ISAgTWFueSBw
aXhlbCB0ZXN0cyBtYXkgZmFpbCBhcyBhIHJlc3VsdC5cbiIpOworICAgICAgICBzSW5pdGlhbFBy
b2ZpbGVVUkwgPSBudWxscHRyOwogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIApAQCAtMTA5
LDE5ICsxMTIsOCBAQCBzdGF0aWMgUGFzc1JlZlB0cjxCaXRtYXBDb250ZXh0PiBjcmVhdGVCaXRt
YXBDb250ZXh0KHNpemVfdCBwaXhlbHNXaWRlLCBzaXplX3QgcAogICAgIGlmICghYnVmZmVyKQog
ICAgICAgICByZXR1cm4gMDsKICAgICAKLSAgICBzdGF0aWMgQ0dDb2xvclNwYWNlUmVmIGNvbG9y
U3BhY2UgPSAwOwotICAgIGlmICghY29sb3JTcGFjZSkgewotICAgICAgICBDTVByb2ZpbGVMb2Nh
dGlvbiBsb2NhdGlvbjsKLSAgICAgICAgbG9jYXRpb24ubG9jVHlwZSA9IGNtUGF0aEJhc2VkUHJv
ZmlsZTsKLSAgICAgICAgc3RyY3B5KGxvY2F0aW9uLnUucGF0aExvYy5wYXRoLCBQUk9GSUxFX1BB
VEgpOwotICAgICAgICBDTVByb2ZpbGVSZWYgcHJvZmlsZTsKLSAgICAgICAgaWYgKENNT3BlblBy
b2ZpbGUoJnByb2ZpbGUsICZsb2NhdGlvbikgPT0gbm9FcnIpIHsKLSAgICAgICAgICAgIGNvbG9y
U3BhY2UgPSBDR0NvbG9yU3BhY2VDcmVhdGVXaXRoUGxhdGZvcm1Db2xvclNwYWNlKHByb2ZpbGUp
OwotICAgICAgICAgICAgQ01DbG9zZVByb2ZpbGUocHJvZmlsZSk7Ci0gICAgICAgIH0KLSAgICB9
Ci0gICAgCi0gICAgQ0dDb250ZXh0UmVmIGNvbnRleHQgPSBDR0JpdG1hcENvbnRleHRDcmVhdGUo
YnVmZmVyLCBwaXhlbHNXaWRlLCBwaXhlbHNIaWdoLCA4LCByb3dCeXRlcywgY29sb3JTcGFjZSwg
a0NHSW1hZ2VBbHBoYVByZW11bHRpcGxpZWRGaXJzdCB8IGtDR0JpdG1hcEJ5dGVPcmRlcjMySG9z
dCk7IC8vIFVzZSBBUkdCOCBvbiBQUEMgb3IgQkdSQTggb24gWDg2IHRvIGltcHJvdmUgQ0cgcGVy
Zm9ybWFuY2UKKyAgICBSZXRhaW5QdHI8Q0dDb2xvclNwYWNlUmVmPiBjb2xvclNwYWNlKEFkb3B0
Q0YsIENHQ29sb3JTcGFjZUNyZWF0ZURldmljZVJHQigpKTsgLy8gQ0dDb2xvclNwYWNlQ3JlYXRl
V2l0aE5hbWUoa0NHQ29sb3JTcGFjZUdlbmVyaWNSR0IpKTsKKyAgICBDR0NvbnRleHRSZWYgY29u
dGV4dCA9IENHQml0bWFwQ29udGV4dENyZWF0ZShidWZmZXIsIHBpeGVsc1dpZGUsIHBpeGVsc0hp
Z2gsIDgsIHJvd0J5dGVzLCBjb2xvclNwYWNlLmdldCgpLCBrQ0dJbWFnZUFscGhhUHJlbXVsdGlw
bGllZEZpcnN0IHwga0NHQml0bWFwQnl0ZU9yZGVyMzJIb3N0KTsgLy8gVXNlIEFSR0I4IG9uIFBQ
QyBvciBCR1JBOCBvbiBYODYgdG8gaW1wcm92ZSBDRyBwZXJmb3JtYW5jZQogICAgIGlmICghY29u
dGV4dCkgewogICAgICAgICBmcmVlKGJ1ZmZlcik7CiAgICAgICAgIHJldHVybiAwOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>122076</attachid>
            <date>2012-01-11 12:44:01 -0800</date>
            <delta_ts>2012-01-11 12:52:55 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-75618-20120111214359.patch</filename>
            <type>text/plain</type>
            <size>5277</size>
            <attacher>jochen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA0Njc3CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYjZkZTBmZjlmYjkxYWNiZThlOWUwYTgwY2M1NmMxYjY1
YzZiNzFiNi4uNzdmNTAzOTIyZmFkMzY3YTNkNzBhOGQ2NmU1M2Q2YTY4YjA5NWRlOCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3
IEBACisyMDEyLTAxLTExICBKb2NoZW4gRWlzaW5nZXIgIDxqb2NoZW5AY2hyb21pdW0ub3JnPgor
CisgICAgICAgIFtDaHJvbWl1bV0gbWltaWMgdGhlIChvbGQpIGJlaGF2aW9yIG9mIHRoZSBtYWMg
cG9ydCBmb3IgKHJlKXNldHRpbmcgdGhlIGNvbG9yIHByb2ZpbGUKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjE4CisKKyAgICAgICAgRXZlbnR1YWxs
eSwgd2Ugc2hvdWxkIGdldCBhd2F5IGZyb20gc2V0dGluZyB0aGUgZGlzcGxheSdzIGNvbG9yIHBy
b2ZpbGUsIGFzIHRoZSBtYWMgcG9ydCBpcyBkb2luZyBub3cuCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9M
YXlvdXRUZXN0SGVscGVyLm1tOgorICAgICAgICAoaW5zdGFsbExheW91dFRlc3RDb2xvclByb2Zp
bGUpOgorICAgICAgICAocmVzdG9yZVVzZXJDb2xvclByb2ZpbGUpOgorICAgICAgICAobWFpbik6
CisKIDIwMTItMDEtMTAgIERhdmlkIEtpbHplciAgPGRka2lsemVyQGFwcGxlLmNvbT4KIAogICAg
ICAgICBBZGQgVGVzdFdlYktpdEFQSSB0ZXN0cyBmb3IgS1VSTApkaWZmIC0tZ2l0IGEvVG9vbHMv
RHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTGF5b3V0VGVzdEhlbHBlci5tbSBiL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL2Nocm9taXVtL0xheW91dFRlc3RIZWxwZXIubW0KaW5kZXggZTM0Y2Y1ZmNhZDli
NmUwNThlMWQwMzVjNWZjMGVhOWYzMDI4NTQ1Ny4uN2E1YmM4YmE3MGFmZDlhMTFhZDhjMzg2NTg2
NjJkNGFlNWQwMjEyNiAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0v
TGF5b3V0VGVzdEhlbHBlci5tbQorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9M
YXlvdXRUZXN0SGVscGVyLm1tCkBAIC0zOCw0OSArMzgsNTcgQEAKIC8vIHRlc3Qgc2NyaXB0LCBz
byBpdCBjYW4gZG8gdGhlIGpvYiBmb3IgbXVsdGlwbGUgRHVtcFJlbmRlclRyZWUgd2hpbGUgdGhl
eSBhcmUKIC8vIHJ1bm5pbmcgbGF5b3V0IHRlc3RzLgogCi1zdGF0aWMgQ01Qcm9maWxlUmVmIHVz
ZXJDb2xvclByb2ZpbGUgPSAwOworbmFtZXNwYWNlIHsKIAotc3RhdGljIHZvaWQgc2F2ZUN1cnJl
bnRDb2xvclByb2ZpbGUoKQotewotICAgIENHRGlyZWN0RGlzcGxheUlEIGRpc3BsYXlJRCA9IENH
TWFpbkRpc3BsYXlJRCgpOwotICAgIENNUHJvZmlsZVJlZiBwcmV2aW91c1Byb2ZpbGU7Ci0gICAg
Q01FcnJvciBlcnJvciA9IENNR2V0UHJvZmlsZUJ5QVZJRCgoVUludDMyKWRpc3BsYXlJRCwgJnBy
ZXZpb3VzUHJvZmlsZSk7Ci0gICAgaWYgKGVycm9yKSB7Ci0gICAgICAgIE5TTG9nKEAiZmFpbGVk
IHRvIGdldCB0aGUgY3VycmVudCBjb2xvciBwcm9maWxlLCBwaXhtYXBzIHdvbid0IG1hdGNoLiAi
Ci0gICAgICAgICAgICAgIEAiRXJyb3I6ICVkIiwgKGludCllcnJvcik7Ci0gICAgfSBlbHNlIHsK
LSAgICAgICAgdXNlckNvbG9yUHJvZmlsZSA9IHByZXZpb3VzUHJvZmlsZTsKLSAgICB9Ci19Citj
b25zdCBjaGFyIGNvbG9yUHJvZmlsZVBhdGhbXSA9ICIvU3lzdGVtL0xpYnJhcnkvQ29sb3JTeW5j
L1Byb2ZpbGVzL0dlbmVyaWMgUkdCIFByb2ZpbGUuaWNjIjsKKworQ01Qcm9maWxlTG9jYXRpb24g
aW5pdGlhbENvbG9yUHJvZmlsZUxvY2F0aW9uOyAvLyBUaGUgbG9jVHlwZSBmaWVsZCBpcyBpbml0
aWFsaXplZCB0byAwIHdoaWNoIGlzIHRoZSBzYW1lIGFzIGNtTm9Qcm9maWxlQmFzZQorCit9IC8v
IG5hbWVzcGFjZQogCiBzdGF0aWMgdm9pZCBpbnN0YWxsTGF5b3V0VGVzdENvbG9yUHJvZmlsZSgp
CiB7CiAgICAgLy8gVG8gbWFrZSBzdXJlIHdlIGdldCBjb25zaXN0ZW50IGNvbG9ycyAobm90IGRl
cGVuZGVudCBvbiB0aGUgTWFpbiBkaXNwbGF5KSwKICAgICAvLyB3ZSBmb3JjZSB0aGUgZ2VuZXJp
YyByZ2IgY29sb3IgcHJvZmlsZS4gIFRoaXMgY2FzZXMgYSBjaGFuZ2UgdGhlIHVzZXIgY2FuCiAg
ICAgLy8gc2VlLgorICAgIGNvbnN0IENNRGV2aWNlU2NvcGUgc2NvcGUgPSB7IGtDRlByZWZlcmVu
Y2VzQ3VycmVudFVzZXIsIGtDRlByZWZlcmVuY2VzQ3VycmVudEhvc3QgfTsKKyAgICBpbnQgZXJy
b3I7CiAKLSAgICBDR0RpcmVjdERpc3BsYXlJRCBkaXNwbGF5SUQgPSBDR01haW5EaXNwbGF5SUQo
KTsKLSAgICBOU0NvbG9yU3BhY2UqIGdlbmVyaWNTcGFjZSA9IFtOU0NvbG9yU3BhY2UgZ2VuZXJp
Y1JHQkNvbG9yU3BhY2VdOwotICAgIENNUHJvZmlsZVJlZiBnZW5lcmljUHJvZmlsZSA9IChDTVBy
b2ZpbGVSZWYpW2dlbmVyaWNTcGFjZSBjb2xvclN5bmNQcm9maWxlXTsKLSAgICBDTUVycm9yIGVy
cm9yID0gQ01TZXRQcm9maWxlQnlBVklEKChVSW50MzIpZGlzcGxheUlELCBnZW5lcmljUHJvZmls
ZSk7CisgICAgQ01Qcm9maWxlUmVmIHByb2ZpbGUgPSAwOworICAgIGVycm9yID0gQ01HZXRQcm9m
aWxlQnlBVklEKChDTURpc3BsYXlJRFR5cGUpa0NHRGlyZWN0TWFpbkRpc3BsYXksICZwcm9maWxl
KTsKKyAgICBpZiAoIWVycm9yKSB7CisgICAgICAgIFVJbnQzMiBzaXplID0gc2l6ZW9mKGluaXRp
YWxDb2xvclByb2ZpbGVMb2NhdGlvbik7CisgICAgICAgIGVycm9yID0gTkNNR2V0UHJvZmlsZUxv
Y2F0aW9uKHByb2ZpbGUsICZpbml0aWFsQ29sb3JQcm9maWxlTG9jYXRpb24sICZzaXplKTsKKyAg
ICAgICAgQ01DbG9zZVByb2ZpbGUocHJvZmlsZSk7CisgICAgfQogICAgIGlmIChlcnJvcikgewot
ICAgICAgICBOU0xvZyhAImZhaWxlZCBpbnN0YWxsIHRoZSBnZW5lcmljIGNvbG9yIHByb2ZpbGUs
IHBpeG1hcHMgd29uJ3QgbWF0Y2guICIKLSAgICAgICAgICAgICAgQCJFcnJvcjogJWQiLCAoaW50
KWVycm9yKTsKKyAgICAgICAgTlNMb2coQCJmYWlsZWQgdG8gZ2V0IHRoZSBjdXJyZW50IGNvbG9y
IHByb2ZpbGUsIHBpeG1hcHMgd29uJ3QgbWF0Y2guIEVycm9yOiAlZCIsIChpbnQpZXJyb3IpOwor
ICAgICAgICBpbml0aWFsQ29sb3JQcm9maWxlTG9jYXRpb24ubG9jVHlwZSA9IGNtTm9Qcm9maWxl
QmFzZTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIENNUHJvZmlsZUxvY2F0aW9uIGxv
Y2F0aW9uOworICAgIGxvY2F0aW9uLmxvY1R5cGUgPSBjbVBhdGhCYXNlZFByb2ZpbGU7CisgICAg
c3RybmNweShsb2NhdGlvbi51LnBhdGhMb2MucGF0aCwgY29sb3JQcm9maWxlUGF0aCwgMjU1KTsK
KyAgICBlcnJvciA9IENNU2V0RGV2aWNlUHJvZmlsZShjbURpc3BsYXlEZXZpY2VDbGFzcywgKENN
RGV2aWNlSUQpa0NHRGlyZWN0TWFpbkRpc3BsYXksICZzY29wZSwgY21EZWZhdWx0UHJvZmlsZUlE
LCAmbG9jYXRpb24pOworICAgIGlmIChlcnJvcikgeworICAgICAgICBOU0xvZyhAImZhaWxlZCBp
bnN0YWxsIHRoZSBnZW5lcmljIGNvbG9yIHByb2ZpbGUsIHBpeG1hcHMgd29uJ3QgbWF0Y2guIEVy
cm9yOiAlZCIsIChpbnQpZXJyb3IpOworICAgICAgICBpbml0aWFsQ29sb3JQcm9maWxlTG9jYXRp
b24ubG9jVHlwZSA9IGNtTm9Qcm9maWxlQmFzZTsKICAgICB9CiB9CiAKIHN0YXRpYyB2b2lkIHJl
c3RvcmVVc2VyQ29sb3JQcm9maWxlKHZvaWQpCiB7Ci0gICAgaWYgKCF1c2VyQ29sb3JQcm9maWxl
KQotICAgICAgICByZXR1cm47Ci0gICAgQ0dEaXJlY3REaXNwbGF5SUQgZGlzcGxheUlEID0gQ0dN
YWluRGlzcGxheUlEKCk7Ci0gICAgQ01FcnJvciBlcnJvciA9IENNU2V0UHJvZmlsZUJ5QVZJRCgo
VUludDMyKWRpc3BsYXlJRCwgdXNlckNvbG9yUHJvZmlsZSk7Ci0gICAgQ01DbG9zZVByb2ZpbGUo
dXNlckNvbG9yUHJvZmlsZSk7Ci0gICAgaWYgKGVycm9yKSB7Ci0gICAgICAgIE5TTG9nKEAiRmFp
bGVkIHRvIHJlc3RvcmUgY29sb3IgcHJvZmlsZSwgdXNlIFN5c3RlbSBQcmVmZXJlbmNlcyAtPiAi
Ci0gICAgICAgICAgICAgIEAiRGlzcGxheXMgLT4gQ29sb3IgdG8gcmVzZXQuIEVycm9yOiAlZCIs
IChpbnQpZXJyb3IpOworICAgIC8vIFRoaXMgaXMgdXNlZCBhcyBhIHNpZ25hbCBoYW5kbGVyLCBh
bmQgdGh1cyB0aGUgY2FsbHMgaW50byBDb2xvclN5bmMgYXJlIHVuc2FmZQorICAgIC8vIEJ1dCB3
ZSBtaWdodCBhcyB3ZWxsIHRyeSB0byByZXN0b3JlIHRoZSB1c2VyJ3MgY29sb3IgcHJvZmlsZSwg
d2UncmUgZ29pbmcgZG93biBhbnl3YXkuLi4KKyAgICBpZiAoaW5pdGlhbENvbG9yUHJvZmlsZUxv
Y2F0aW9uLmxvY1R5cGUgIT0gY21Ob1Byb2ZpbGVCYXNlKSB7CisgICAgICAgIGNvbnN0IENNRGV2
aWNlU2NvcGUgc2NvcGUgPSB7IGtDRlByZWZlcmVuY2VzQ3VycmVudFVzZXIsIGtDRlByZWZlcmVu
Y2VzQ3VycmVudEhvc3QgfTsKKyAgICAgICAgaW50IGVycm9yID0gQ01TZXREZXZpY2VQcm9maWxl
KGNtRGlzcGxheURldmljZUNsYXNzLCAoQ01EZXZpY2VJRClrQ0dEaXJlY3RNYWluRGlzcGxheSwg
JnNjb3BlLCBjbURlZmF1bHRQcm9maWxlSUQsICZpbml0aWFsQ29sb3JQcm9maWxlTG9jYXRpb24p
OworICAgICAgICBpZiAoZXJyb3IpIHsKKyAgICAgICAgICAgIE5TTG9nKEAiRmFpbGVkIHRvIHJl
c3RvcmUgY29sb3IgcHJvZmlsZSwgdXNlIFN5c3RlbSBQcmVmZXJlbmNlcyAtPiBEaXNwbGF5cyAt
PiBDb2xvciB0byByZXNldC4gRXJyb3I6ICVkIiwgKGludCllcnJvcik7CisgICAgICAgIH0KKyAg
ICAgICAgaW5pdGlhbENvbG9yUHJvZmlsZUxvY2F0aW9uLmxvY1R5cGUgPSBjbU5vUHJvZmlsZUJh
c2U7CiAgICAgfQotICAgIHVzZXJDb2xvclByb2ZpbGUgPSAwOwogfQogCiBzdGF0aWMgdm9pZCBz
aW1wbGVTaWduYWxIYW5kbGVyKGludCBzaWcpCkBAIC0xMDAsNyArMTA4LDYgQEAgaW50IG1haW4o
aW50IGFyZ2MsIGNoYXIqIGFyZ3ZbXSkKICAgICBzaWduYWwoU0lHVEVSTSwgc2ltcGxlU2lnbmFs
SGFuZGxlcik7CiAKICAgICAvLyBTYXZlIG9mZiB0aGUgY3VycmVudCBwcm9maWxlLCBhbmQgdGhl
biBpbnN0YWxsIHRoZSBsYXlvdXQgdGVzdCBwcm9maWxlLgotICAgIHNhdmVDdXJyZW50Q29sb3JQ
cm9maWxlKCk7CiAgICAgaW5zdGFsbExheW91dFRlc3RDb2xvclByb2ZpbGUoKTsKIAogICAgIC8v
IExldCB0aGUgc2NyaXB0IGtub3cgd2UncmUgcmVhZHkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>122078</attachid>
            <date>2012-01-11 12:53:02 -0800</date>
            <delta_ts>2012-01-11 13:40:16 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-75618-20120111215259.patch</filename>
            <type>text/plain</type>
            <size>5305</size>
            <attacher>jochen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA0Njc3CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYjZkZTBmZjlmYjkxYWNiZThlOWUwYTgwY2M1NmMxYjY1
YzZiNzFiNi4uNzdmNTAzOTIyZmFkMzY3YTNkNzBhOGQ2NmU1M2Q2YTY4YjA5NWRlOCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3
IEBACisyMDEyLTAxLTExICBKb2NoZW4gRWlzaW5nZXIgIDxqb2NoZW5AY2hyb21pdW0ub3JnPgor
CisgICAgICAgIFtDaHJvbWl1bV0gbWltaWMgdGhlIChvbGQpIGJlaGF2aW9yIG9mIHRoZSBtYWMg
cG9ydCBmb3IgKHJlKXNldHRpbmcgdGhlIGNvbG9yIHByb2ZpbGUKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjE4CisKKyAgICAgICAgRXZlbnR1YWxs
eSwgd2Ugc2hvdWxkIGdldCBhd2F5IGZyb20gc2V0dGluZyB0aGUgZGlzcGxheSdzIGNvbG9yIHBy
b2ZpbGUsIGFzIHRoZSBtYWMgcG9ydCBpcyBkb2luZyBub3cuCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9M
YXlvdXRUZXN0SGVscGVyLm1tOgorICAgICAgICAoaW5zdGFsbExheW91dFRlc3RDb2xvclByb2Zp
bGUpOgorICAgICAgICAocmVzdG9yZVVzZXJDb2xvclByb2ZpbGUpOgorICAgICAgICAobWFpbik6
CisKIDIwMTItMDEtMTAgIERhdmlkIEtpbHplciAgPGRka2lsemVyQGFwcGxlLmNvbT4KIAogICAg
ICAgICBBZGQgVGVzdFdlYktpdEFQSSB0ZXN0cyBmb3IgS1VSTApkaWZmIC0tZ2l0IGEvVG9vbHMv
RHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTGF5b3V0VGVzdEhlbHBlci5tbSBiL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL2Nocm9taXVtL0xheW91dFRlc3RIZWxwZXIubW0KaW5kZXggZTM0Y2Y1ZmNhZDli
NmUwNThlMWQwMzVjNWZjMGVhOWYzMDI4NTQ1Ny4uMmM2OWI4YjUwNzY0YTRlYTBmZGZkZTQ5M2Zk
NjYzY2VmNTg0MzVkYiAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0v
TGF5b3V0VGVzdEhlbHBlci5tbQorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9M
YXlvdXRUZXN0SGVscGVyLm1tCkBAIC0zOCw0OSArMzgsNTcgQEAKIC8vIHRlc3Qgc2NyaXB0LCBz
byBpdCBjYW4gZG8gdGhlIGpvYiBmb3IgbXVsdGlwbGUgRHVtcFJlbmRlclRyZWUgd2hpbGUgdGhl
eSBhcmUKIC8vIHJ1bm5pbmcgbGF5b3V0IHRlc3RzLgogCi1zdGF0aWMgQ01Qcm9maWxlUmVmIHVz
ZXJDb2xvclByb2ZpbGUgPSAwOworbmFtZXNwYWNlIHsKIAotc3RhdGljIHZvaWQgc2F2ZUN1cnJl
bnRDb2xvclByb2ZpbGUoKQotewotICAgIENHRGlyZWN0RGlzcGxheUlEIGRpc3BsYXlJRCA9IENH
TWFpbkRpc3BsYXlJRCgpOwotICAgIENNUHJvZmlsZVJlZiBwcmV2aW91c1Byb2ZpbGU7Ci0gICAg
Q01FcnJvciBlcnJvciA9IENNR2V0UHJvZmlsZUJ5QVZJRCgoVUludDMyKWRpc3BsYXlJRCwgJnBy
ZXZpb3VzUHJvZmlsZSk7Ci0gICAgaWYgKGVycm9yKSB7Ci0gICAgICAgIE5TTG9nKEAiZmFpbGVk
IHRvIGdldCB0aGUgY3VycmVudCBjb2xvciBwcm9maWxlLCBwaXhtYXBzIHdvbid0IG1hdGNoLiAi
Ci0gICAgICAgICAgICAgIEAiRXJyb3I6ICVkIiwgKGludCllcnJvcik7Ci0gICAgfSBlbHNlIHsK
LSAgICAgICAgdXNlckNvbG9yUHJvZmlsZSA9IHByZXZpb3VzUHJvZmlsZTsKLSAgICB9Ci19Citj
b25zdCBjaGFyIGNvbG9yUHJvZmlsZVBhdGhbXSA9ICIvU3lzdGVtL0xpYnJhcnkvQ29sb3JTeW5j
L1Byb2ZpbGVzL0dlbmVyaWMgUkdCIFByb2ZpbGUuaWNjIjsKKworQ01Qcm9maWxlTG9jYXRpb24g
aW5pdGlhbENvbG9yUHJvZmlsZUxvY2F0aW9uOyAvLyBUaGUgbG9jVHlwZSBmaWVsZCBpcyBpbml0
aWFsaXplZCB0byAwIHdoaWNoIGlzIHRoZSBzYW1lIGFzIGNtTm9Qcm9maWxlQmFzZQorCit9IC8v
IG5hbWVzcGFjZQogCiBzdGF0aWMgdm9pZCBpbnN0YWxsTGF5b3V0VGVzdENvbG9yUHJvZmlsZSgp
CiB7CiAgICAgLy8gVG8gbWFrZSBzdXJlIHdlIGdldCBjb25zaXN0ZW50IGNvbG9ycyAobm90IGRl
cGVuZGVudCBvbiB0aGUgTWFpbiBkaXNwbGF5KSwKICAgICAvLyB3ZSBmb3JjZSB0aGUgZ2VuZXJp
YyByZ2IgY29sb3IgcHJvZmlsZS4gIFRoaXMgY2FzZXMgYSBjaGFuZ2UgdGhlIHVzZXIgY2FuCiAg
ICAgLy8gc2VlLgorICAgIGNvbnN0IENNRGV2aWNlU2NvcGUgc2NvcGUgPSB7IGtDRlByZWZlcmVu
Y2VzQ3VycmVudFVzZXIsIGtDRlByZWZlcmVuY2VzQ3VycmVudEhvc3QgfTsKKyAgICBpbnQgZXJy
b3I7CiAKLSAgICBDR0RpcmVjdERpc3BsYXlJRCBkaXNwbGF5SUQgPSBDR01haW5EaXNwbGF5SUQo
KTsKLSAgICBOU0NvbG9yU3BhY2UqIGdlbmVyaWNTcGFjZSA9IFtOU0NvbG9yU3BhY2UgZ2VuZXJp
Y1JHQkNvbG9yU3BhY2VdOwotICAgIENNUHJvZmlsZVJlZiBnZW5lcmljUHJvZmlsZSA9IChDTVBy
b2ZpbGVSZWYpW2dlbmVyaWNTcGFjZSBjb2xvclN5bmNQcm9maWxlXTsKLSAgICBDTUVycm9yIGVy
cm9yID0gQ01TZXRQcm9maWxlQnlBVklEKChVSW50MzIpZGlzcGxheUlELCBnZW5lcmljUHJvZmls
ZSk7CisgICAgQ01Qcm9maWxlUmVmIHByb2ZpbGUgPSAwOworICAgIGVycm9yID0gQ01HZXRQcm9m
aWxlQnlBVklEKChDTURpc3BsYXlJRFR5cGUpa0NHRGlyZWN0TWFpbkRpc3BsYXksICZwcm9maWxl
KTsKKyAgICBpZiAoIWVycm9yKSB7CisgICAgICAgIFVJbnQzMiBzaXplID0gc2l6ZW9mKGluaXRp
YWxDb2xvclByb2ZpbGVMb2NhdGlvbik7CisgICAgICAgIGVycm9yID0gTkNNR2V0UHJvZmlsZUxv
Y2F0aW9uKHByb2ZpbGUsICZpbml0aWFsQ29sb3JQcm9maWxlTG9jYXRpb24sICZzaXplKTsKKyAg
ICAgICAgQ01DbG9zZVByb2ZpbGUocHJvZmlsZSk7CisgICAgfQogICAgIGlmIChlcnJvcikgewot
ICAgICAgICBOU0xvZyhAImZhaWxlZCBpbnN0YWxsIHRoZSBnZW5lcmljIGNvbG9yIHByb2ZpbGUs
IHBpeG1hcHMgd29uJ3QgbWF0Y2guICIKLSAgICAgICAgICAgICAgQCJFcnJvcjogJWQiLCAoaW50
KWVycm9yKTsKKyAgICAgICAgTlNMb2coQCJmYWlsZWQgdG8gZ2V0IHRoZSBjdXJyZW50IGNvbG9y
IHByb2ZpbGUsIHBpeG1hcHMgd29uJ3QgbWF0Y2guIEVycm9yOiAlZCIsIChpbnQpZXJyb3IpOwor
ICAgICAgICBpbml0aWFsQ29sb3JQcm9maWxlTG9jYXRpb24ubG9jVHlwZSA9IGNtTm9Qcm9maWxl
QmFzZTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIENNUHJvZmlsZUxvY2F0aW9uIGxv
Y2F0aW9uOworICAgIGxvY2F0aW9uLmxvY1R5cGUgPSBjbVBhdGhCYXNlZFByb2ZpbGU7CisgICAg
c3RybmNweShsb2NhdGlvbi51LnBhdGhMb2MucGF0aCwgY29sb3JQcm9maWxlUGF0aCwgc2l6ZW9m
KGxvY2F0aW9uLnUucGF0aExvYy5wYXRoKSk7CisgICAgZXJyb3IgPSBDTVNldERldmljZVByb2Zp
bGUoY21EaXNwbGF5RGV2aWNlQ2xhc3MsIChDTURldmljZUlEKWtDR0RpcmVjdE1haW5EaXNwbGF5
LCAmc2NvcGUsIGNtRGVmYXVsdFByb2ZpbGVJRCwgJmxvY2F0aW9uKTsKKyAgICBpZiAoZXJyb3Ip
IHsKKyAgICAgICAgTlNMb2coQCJmYWlsZWQgaW5zdGFsbCB0aGUgZ2VuZXJpYyBjb2xvciBwcm9m
aWxlLCBwaXhtYXBzIHdvbid0IG1hdGNoLiBFcnJvcjogJWQiLCAoaW50KWVycm9yKTsKKyAgICAg
ICAgaW5pdGlhbENvbG9yUHJvZmlsZUxvY2F0aW9uLmxvY1R5cGUgPSBjbU5vUHJvZmlsZUJhc2U7
CiAgICAgfQogfQogCiBzdGF0aWMgdm9pZCByZXN0b3JlVXNlckNvbG9yUHJvZmlsZSh2b2lkKQog
ewotICAgIGlmICghdXNlckNvbG9yUHJvZmlsZSkKLSAgICAgICAgcmV0dXJuOwotICAgIENHRGly
ZWN0RGlzcGxheUlEIGRpc3BsYXlJRCA9IENHTWFpbkRpc3BsYXlJRCgpOwotICAgIENNRXJyb3Ig
ZXJyb3IgPSBDTVNldFByb2ZpbGVCeUFWSUQoKFVJbnQzMilkaXNwbGF5SUQsIHVzZXJDb2xvclBy
b2ZpbGUpOwotICAgIENNQ2xvc2VQcm9maWxlKHVzZXJDb2xvclByb2ZpbGUpOwotICAgIGlmIChl
cnJvcikgewotICAgICAgICBOU0xvZyhAIkZhaWxlZCB0byByZXN0b3JlIGNvbG9yIHByb2ZpbGUs
IHVzZSBTeXN0ZW0gUHJlZmVyZW5jZXMgLT4gIgotICAgICAgICAgICAgICBAIkRpc3BsYXlzIC0+
IENvbG9yIHRvIHJlc2V0LiBFcnJvcjogJWQiLCAoaW50KWVycm9yKTsKKyAgICAvLyBUaGlzIGlz
IHVzZWQgYXMgYSBzaWduYWwgaGFuZGxlciwgYW5kIHRodXMgdGhlIGNhbGxzIGludG8gQ29sb3JT
eW5jIGFyZSB1bnNhZmUKKyAgICAvLyBCdXQgd2UgbWlnaHQgYXMgd2VsbCB0cnkgdG8gcmVzdG9y
ZSB0aGUgdXNlcidzIGNvbG9yIHByb2ZpbGUsIHdlJ3JlIGdvaW5nIGRvd24gYW55d2F5Li4uCisg
ICAgaWYgKGluaXRpYWxDb2xvclByb2ZpbGVMb2NhdGlvbi5sb2NUeXBlICE9IGNtTm9Qcm9maWxl
QmFzZSkgeworICAgICAgICBjb25zdCBDTURldmljZVNjb3BlIHNjb3BlID0geyBrQ0ZQcmVmZXJl
bmNlc0N1cnJlbnRVc2VyLCBrQ0ZQcmVmZXJlbmNlc0N1cnJlbnRIb3N0IH07CisgICAgICAgIGlu
dCBlcnJvciA9IENNU2V0RGV2aWNlUHJvZmlsZShjbURpc3BsYXlEZXZpY2VDbGFzcywgKENNRGV2
aWNlSUQpa0NHRGlyZWN0TWFpbkRpc3BsYXksICZzY29wZSwgY21EZWZhdWx0UHJvZmlsZUlELCAm
aW5pdGlhbENvbG9yUHJvZmlsZUxvY2F0aW9uKTsKKyAgICAgICAgaWYgKGVycm9yKSB7CisgICAg
ICAgICAgICBOU0xvZyhAIkZhaWxlZCB0byByZXN0b3JlIGNvbG9yIHByb2ZpbGUsIHVzZSBTeXN0
ZW0gUHJlZmVyZW5jZXMgLT4gRGlzcGxheXMgLT4gQ29sb3IgdG8gcmVzZXQuIEVycm9yOiAlZCIs
IChpbnQpZXJyb3IpOworICAgICAgICB9CisgICAgICAgIGluaXRpYWxDb2xvclByb2ZpbGVMb2Nh
dGlvbi5sb2NUeXBlID0gY21Ob1Byb2ZpbGVCYXNlOwogICAgIH0KLSAgICB1c2VyQ29sb3JQcm9m
aWxlID0gMDsKIH0KIAogc3RhdGljIHZvaWQgc2ltcGxlU2lnbmFsSGFuZGxlcihpbnQgc2lnKQpA
QCAtMTAwLDcgKzEwOCw2IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyKiBhcmd2W10pCiAgICAg
c2lnbmFsKFNJR1RFUk0sIHNpbXBsZVNpZ25hbEhhbmRsZXIpOwogCiAgICAgLy8gU2F2ZSBvZmYg
dGhlIGN1cnJlbnQgcHJvZmlsZSwgYW5kIHRoZW4gaW5zdGFsbCB0aGUgbGF5b3V0IHRlc3QgcHJv
ZmlsZS4KLSAgICBzYXZlQ3VycmVudENvbG9yUHJvZmlsZSgpOwogICAgIGluc3RhbGxMYXlvdXRU
ZXN0Q29sb3JQcm9maWxlKCk7CiAKICAgICAvLyBMZXQgdGhlIHNjcmlwdCBrbm93IHdlJ3JlIHJl
YWR5Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>122085</attachid>
            <date>2012-01-11 13:40:23 -0800</date>
            <delta_ts>2012-01-11 14:10:35 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-75618-20120111224021.patch</filename>
            <type>text/plain</type>
            <size>5291</size>
            <attacher>jochen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA0Njc3CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYjZkZTBmZjlmYjkxYWNiZThlOWUwYTgwY2M1NmMxYjY1
YzZiNzFiNi4uNDFiZGZjYTk1Y2E1ZmU5ZWYxNjM1ZjY5YzE5YTkwMGE4NWQ5OTAzYyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3
IEBACisyMDEyLTAxLTExICBKb2NoZW4gRWlzaW5nZXIgIDxqb2NoZW5AY2hyb21pdW0ub3JnPgor
CisgICAgICAgIFtDaHJvbWl1bV0gbWltaWMgdGhlIChvbGQpIGJlaGF2aW9yIG9mIHRoZSBtYWMg
cG9ydCBmb3IgKHJlKXNldHRpbmcgdGhlIGNvbG9yIHByb2ZpbGUKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjE4CisKKyAgICAgICAgRXZlbnR1YWxs
eSwgd2Ugc2hvdWxkIGdldCBhd2F5IGZyb20gc2V0dGluZyB0aGUgZGlzcGxheSdzIGNvbG9yIHBy
b2ZpbGUsIGFzIHRoZSBtYWMgcG9ydCBpcyBkb2luZyBub3cuCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgVG9ueSBDaGFuZy4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91
dFRlc3RIZWxwZXIubW06CisgICAgICAgIChpbnN0YWxsTGF5b3V0VGVzdENvbG9yUHJvZmlsZSk6
CisgICAgICAgIChyZXN0b3JlVXNlckNvbG9yUHJvZmlsZSk6CisgICAgICAgIChtYWluKToKKwog
MjAxMi0wMS0xMCAgRGF2aWQgS2lsemVyICA8ZGRraWx6ZXJAYXBwbGUuY29tPgogCiAgICAgICAg
IEFkZCBUZXN0V2ViS2l0QVBJIHRlc3RzIGZvciBLVVJMCmRpZmYgLS1naXQgYS9Ub29scy9EdW1w
UmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0SGVscGVyLm1tIGIvVG9vbHMvRHVtcFJlbmRl
clRyZWUvY2hyb21pdW0vTGF5b3V0VGVzdEhlbHBlci5tbQppbmRleCBlMzRjZjVmY2FkOWI2ZTA1
OGUxZDAzNWM1ZmMwZWE5ZjMwMjg1NDU3Li45NzhmNzRjMDYxYzAzYTU4NmYwZDQ0ODRiNDZkYWUy
YjU3NTQ1NjM0IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlv
dXRUZXN0SGVscGVyLm1tCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91
dFRlc3RIZWxwZXIubW0KQEAgLTM4LDQ5ICszOCw1NiBAQAogLy8gdGVzdCBzY3JpcHQsIHNvIGl0
IGNhbiBkbyB0aGUgam9iIGZvciBtdWx0aXBsZSBEdW1wUmVuZGVyVHJlZSB3aGlsZSB0aGV5IGFy
ZQogLy8gcnVubmluZyBsYXlvdXQgdGVzdHMuCiAKLXN0YXRpYyBDTVByb2ZpbGVSZWYgdXNlckNv
bG9yUHJvZmlsZSA9IDA7CituYW1lc3BhY2UgewogCi1zdGF0aWMgdm9pZCBzYXZlQ3VycmVudENv
bG9yUHJvZmlsZSgpCi17Ci0gICAgQ0dEaXJlY3REaXNwbGF5SUQgZGlzcGxheUlEID0gQ0dNYWlu
RGlzcGxheUlEKCk7Ci0gICAgQ01Qcm9maWxlUmVmIHByZXZpb3VzUHJvZmlsZTsKLSAgICBDTUVy
cm9yIGVycm9yID0gQ01HZXRQcm9maWxlQnlBVklEKChVSW50MzIpZGlzcGxheUlELCAmcHJldmlv
dXNQcm9maWxlKTsKLSAgICBpZiAoZXJyb3IpIHsKLSAgICAgICAgTlNMb2coQCJmYWlsZWQgdG8g
Z2V0IHRoZSBjdXJyZW50IGNvbG9yIHByb2ZpbGUsIHBpeG1hcHMgd29uJ3QgbWF0Y2guICIKLSAg
ICAgICAgICAgICAgQCJFcnJvcjogJWQiLCAoaW50KWVycm9yKTsKLSAgICB9IGVsc2UgewotICAg
ICAgICB1c2VyQ29sb3JQcm9maWxlID0gcHJldmlvdXNQcm9maWxlOwotICAgIH0KLX0KK2NvbnN0
IGNoYXIgY29sb3JQcm9maWxlUGF0aFtdID0gIi9TeXN0ZW0vTGlicmFyeS9Db2xvclN5bmMvUHJv
ZmlsZXMvR2VuZXJpYyBSR0IgUHJvZmlsZS5pY2MiOworCitDTVByb2ZpbGVMb2NhdGlvbiBpbml0
aWFsQ29sb3JQcm9maWxlTG9jYXRpb247IC8vIFRoZSBsb2NUeXBlIGZpZWxkIGlzIGluaXRpYWxp
emVkIHRvIDAgd2hpY2ggaXMgdGhlIHNhbWUgYXMgY21Ob1Byb2ZpbGVCYXNlLgorCit9IC8vIG5h
bWVzcGFjZQogCiBzdGF0aWMgdm9pZCBpbnN0YWxsTGF5b3V0VGVzdENvbG9yUHJvZmlsZSgpCiB7
CiAgICAgLy8gVG8gbWFrZSBzdXJlIHdlIGdldCBjb25zaXN0ZW50IGNvbG9ycyAobm90IGRlcGVu
ZGVudCBvbiB0aGUgTWFpbiBkaXNwbGF5KSwKICAgICAvLyB3ZSBmb3JjZSB0aGUgZ2VuZXJpYyBy
Z2IgY29sb3IgcHJvZmlsZS4gIFRoaXMgY2FzZXMgYSBjaGFuZ2UgdGhlIHVzZXIgY2FuCiAgICAg
Ly8gc2VlLgorICAgIGNvbnN0IENNRGV2aWNlU2NvcGUgc2NvcGUgPSB7IGtDRlByZWZlcmVuY2Vz
Q3VycmVudFVzZXIsIGtDRlByZWZlcmVuY2VzQ3VycmVudEhvc3QgfTsKIAotICAgIENHRGlyZWN0
RGlzcGxheUlEIGRpc3BsYXlJRCA9IENHTWFpbkRpc3BsYXlJRCgpOwotICAgIE5TQ29sb3JTcGFj
ZSogZ2VuZXJpY1NwYWNlID0gW05TQ29sb3JTcGFjZSBnZW5lcmljUkdCQ29sb3JTcGFjZV07Ci0g
ICAgQ01Qcm9maWxlUmVmIGdlbmVyaWNQcm9maWxlID0gKENNUHJvZmlsZVJlZilbZ2VuZXJpY1Nw
YWNlIGNvbG9yU3luY1Byb2ZpbGVdOwotICAgIENNRXJyb3IgZXJyb3IgPSBDTVNldFByb2ZpbGVC
eUFWSUQoKFVJbnQzMilkaXNwbGF5SUQsIGdlbmVyaWNQcm9maWxlKTsKKyAgICBDTVByb2ZpbGVS
ZWYgcHJvZmlsZSA9IDA7CisgICAgaW50IGVycm9yID0gQ01HZXRQcm9maWxlQnlBVklEKChDTURp
c3BsYXlJRFR5cGUpa0NHRGlyZWN0TWFpbkRpc3BsYXksICZwcm9maWxlKTsKKyAgICBpZiAoIWVy
cm9yKSB7CisgICAgICAgIFVJbnQzMiBzaXplID0gc2l6ZW9mKGluaXRpYWxDb2xvclByb2ZpbGVM
b2NhdGlvbik7CisgICAgICAgIGVycm9yID0gTkNNR2V0UHJvZmlsZUxvY2F0aW9uKHByb2ZpbGUs
ICZpbml0aWFsQ29sb3JQcm9maWxlTG9jYXRpb24sICZzaXplKTsKKyAgICAgICAgQ01DbG9zZVBy
b2ZpbGUocHJvZmlsZSk7CisgICAgfQogICAgIGlmIChlcnJvcikgewotICAgICAgICBOU0xvZyhA
ImZhaWxlZCBpbnN0YWxsIHRoZSBnZW5lcmljIGNvbG9yIHByb2ZpbGUsIHBpeG1hcHMgd29uJ3Qg
bWF0Y2guICIKLSAgICAgICAgICAgICAgQCJFcnJvcjogJWQiLCAoaW50KWVycm9yKTsKKyAgICAg
ICAgTlNMb2coQCJmYWlsZWQgdG8gZ2V0IHRoZSBjdXJyZW50IGNvbG9yIHByb2ZpbGUsIHBpeG1h
cHMgd29uJ3QgbWF0Y2guIEVycm9yOiAlZCIsIChpbnQpZXJyb3IpOworICAgICAgICBpbml0aWFs
Q29sb3JQcm9maWxlTG9jYXRpb24ubG9jVHlwZSA9IGNtTm9Qcm9maWxlQmFzZTsKKyAgICAgICAg
cmV0dXJuOworICAgIH0KKworICAgIENNUHJvZmlsZUxvY2F0aW9uIGxvY2F0aW9uOworICAgIGxv
Y2F0aW9uLmxvY1R5cGUgPSBjbVBhdGhCYXNlZFByb2ZpbGU7CisgICAgc3RybmNweShsb2NhdGlv
bi51LnBhdGhMb2MucGF0aCwgY29sb3JQcm9maWxlUGF0aCwgc2l6ZW9mKGxvY2F0aW9uLnUucGF0
aExvYy5wYXRoKSk7CisgICAgZXJyb3IgPSBDTVNldERldmljZVByb2ZpbGUoY21EaXNwbGF5RGV2
aWNlQ2xhc3MsIChDTURldmljZUlEKWtDR0RpcmVjdE1haW5EaXNwbGF5LCAmc2NvcGUsIGNtRGVm
YXVsdFByb2ZpbGVJRCwgJmxvY2F0aW9uKTsKKyAgICBpZiAoZXJyb3IpIHsKKyAgICAgICAgTlNM
b2coQCJmYWlsZWQgaW5zdGFsbCB0aGUgZ2VuZXJpYyBjb2xvciBwcm9maWxlLCBwaXhtYXBzIHdv
bid0IG1hdGNoLiBFcnJvcjogJWQiLCAoaW50KWVycm9yKTsKKyAgICAgICAgaW5pdGlhbENvbG9y
UHJvZmlsZUxvY2F0aW9uLmxvY1R5cGUgPSBjbU5vUHJvZmlsZUJhc2U7CiAgICAgfQogfQogCiBz
dGF0aWMgdm9pZCByZXN0b3JlVXNlckNvbG9yUHJvZmlsZSh2b2lkKQogewotICAgIGlmICghdXNl
ckNvbG9yUHJvZmlsZSkKLSAgICAgICAgcmV0dXJuOwotICAgIENHRGlyZWN0RGlzcGxheUlEIGRp
c3BsYXlJRCA9IENHTWFpbkRpc3BsYXlJRCgpOwotICAgIENNRXJyb3IgZXJyb3IgPSBDTVNldFBy
b2ZpbGVCeUFWSUQoKFVJbnQzMilkaXNwbGF5SUQsIHVzZXJDb2xvclByb2ZpbGUpOwotICAgIENN
Q2xvc2VQcm9maWxlKHVzZXJDb2xvclByb2ZpbGUpOwotICAgIGlmIChlcnJvcikgewotICAgICAg
ICBOU0xvZyhAIkZhaWxlZCB0byByZXN0b3JlIGNvbG9yIHByb2ZpbGUsIHVzZSBTeXN0ZW0gUHJl
ZmVyZW5jZXMgLT4gIgotICAgICAgICAgICAgICBAIkRpc3BsYXlzIC0+IENvbG9yIHRvIHJlc2V0
LiBFcnJvcjogJWQiLCAoaW50KWVycm9yKTsKKyAgICAvLyBUaGlzIGlzIHVzZWQgYXMgYSBzaWdu
YWwgaGFuZGxlciwgYW5kIHRodXMgdGhlIGNhbGxzIGludG8gQ29sb3JTeW5jIGFyZSB1bnNhZmUu
CisgICAgLy8gQnV0IHdlIG1pZ2h0IGFzIHdlbGwgdHJ5IHRvIHJlc3RvcmUgdGhlIHVzZXIncyBj
b2xvciBwcm9maWxlLCB3ZSdyZSBnb2luZyBkb3duIGFueXdheS4uLgorICAgIGlmIChpbml0aWFs
Q29sb3JQcm9maWxlTG9jYXRpb24ubG9jVHlwZSAhPSBjbU5vUHJvZmlsZUJhc2UpIHsKKyAgICAg
ICAgY29uc3QgQ01EZXZpY2VTY29wZSBzY29wZSA9IHsga0NGUHJlZmVyZW5jZXNDdXJyZW50VXNl
ciwga0NGUHJlZmVyZW5jZXNDdXJyZW50SG9zdCB9OworICAgICAgICBpbnQgZXJyb3IgPSBDTVNl
dERldmljZVByb2ZpbGUoY21EaXNwbGF5RGV2aWNlQ2xhc3MsIChDTURldmljZUlEKWtDR0RpcmVj
dE1haW5EaXNwbGF5LCAmc2NvcGUsIGNtRGVmYXVsdFByb2ZpbGVJRCwgJmluaXRpYWxDb2xvclBy
b2ZpbGVMb2NhdGlvbik7CisgICAgICAgIGlmIChlcnJvcikgeworICAgICAgICAgICAgTlNMb2co
QCJGYWlsZWQgdG8gcmVzdG9yZSBjb2xvciBwcm9maWxlLCB1c2UgU3lzdGVtIFByZWZlcmVuY2Vz
IC0+IERpc3BsYXlzIC0+IENvbG9yIHRvIHJlc2V0LiBFcnJvcjogJWQiLCAoaW50KWVycm9yKTsK
KyAgICAgICAgfQorICAgICAgICBpbml0aWFsQ29sb3JQcm9maWxlTG9jYXRpb24ubG9jVHlwZSA9
IGNtTm9Qcm9maWxlQmFzZTsKICAgICB9Ci0gICAgdXNlckNvbG9yUHJvZmlsZSA9IDA7CiB9CiAK
IHN0YXRpYyB2b2lkIHNpbXBsZVNpZ25hbEhhbmRsZXIoaW50IHNpZykKQEAgLTEwMCw3ICsxMDcs
NiBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciogYXJndltdKQogICAgIHNpZ25hbChTSUdURVJN
LCBzaW1wbGVTaWduYWxIYW5kbGVyKTsKIAogICAgIC8vIFNhdmUgb2ZmIHRoZSBjdXJyZW50IHBy
b2ZpbGUsIGFuZCB0aGVuIGluc3RhbGwgdGhlIGxheW91dCB0ZXN0IHByb2ZpbGUuCi0gICAgc2F2
ZUN1cnJlbnRDb2xvclByb2ZpbGUoKTsKICAgICBpbnN0YWxsTGF5b3V0VGVzdENvbG9yUHJvZmls
ZSgpOwogCiAgICAgLy8gTGV0IHRoZSBzY3JpcHQga25vdyB3ZSdyZSByZWFkeQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>