<?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>67625</bug_id>
          
          <creation_ts>2011-09-05 20:43:36 -0700</creation_ts>
          <short_desc>Clean up CSSPropertyTextDecoration implementation and ETextDecoration usage.</short_desc>
          <delta_ts>2011-10-12 15:50:30 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Luke Macpherson">macpherson</reporter>
          <assigned_to name="Luke Macpherson">macpherson</assigned_to>
          <cc>darin</cc>
    
    <cc>dglazkov</cc>
    
    <cc>macpherson</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>462333</commentid>
    <comment_count>0</comment_count>
    <who name="Luke Macpherson">macpherson</who>
    <bug_when>2011-09-05 20:43:36 -0700</bug_when>
    <thetext>Clean up CSSPropertyTextDecoration implementation and ETextDecoration usage.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>462335</commentid>
    <comment_count>1</comment_count>
      <attachid>106381</attachid>
    <who name="Luke Macpherson">macpherson</who>
    <bug_when>2011-09-05 20:50:16 -0700</bug_when>
    <thetext>Created attachment 106381
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>462338</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-05 20:51:47 -0700</bug_when>
    <thetext>Attachment 106381 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1

Source/WebCore/ChangeLog:10:  Need whitespace between colon and description  [changelog/filechangedescriptionwhitespace] [5]
Source/WebCore/ChangeLog:11:  Need whitespace between colon and description  [changelog/filechangedescriptionwhitespace] [5]
Source/WebCore/ChangeLog:12:  Need whitespace between colon and description  [changelog/filechangedescriptionwhitespace] [5]
Total errors found: 3 in 6 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>462346</commentid>
    <comment_count>3</comment_count>
      <attachid>106381</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-05 21:09:54 -0700</bug_when>
    <thetext>Comment on attachment 106381
Patch

Attachment 106381 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/9592716</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>462348</commentid>
    <comment_count>4</comment_count>
      <attachid>106381</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-09-05 21:11:36 -0700</bug_when>
    <thetext>Comment on attachment 106381
Patch

Attachment 106381 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/9591742</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>462352</commentid>
    <comment_count>5</comment_count>
      <attachid>106381</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2011-09-05 21:21:28 -0700</bug_when>
    <thetext>Comment on attachment 106381
Patch

Attachment 106381 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/9595437</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>462357</commentid>
    <comment_count>6</comment_count>
      <attachid>106388</attachid>
    <who name="Luke Macpherson">macpherson</who>
    <bug_when>2011-09-05 21:48:22 -0700</bug_when>
    <thetext>Created attachment 106388
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>462358</commentid>
    <comment_count>7</comment_count>
      <attachid>106388</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-09-05 22:00:39 -0700</bug_when>
    <thetext>Comment on attachment 106388
Patch

Attachment 106388 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/9594508</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>462359</commentid>
    <comment_count>8</comment_count>
      <attachid>106388</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-05 22:06:09 -0700</bug_when>
    <thetext>Comment on attachment 106388
Patch

Attachment 106388 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/9595443</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>462360</commentid>
    <comment_count>9</comment_count>
      <attachid>106388</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2011-09-05 22:13:35 -0700</bug_when>
    <thetext>Comment on attachment 106388
Patch

Attachment 106388 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/9590838</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>462367</commentid>
    <comment_count>10</comment_count>
      <attachid>106390</attachid>
    <who name="Luke Macpherson">macpherson</who>
    <bug_when>2011-09-05 22:48:42 -0700</bug_when>
    <thetext>Created attachment 106390
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>462370</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-05 22:51:41 -0700</bug_when>
    <thetext>Attachment 106390 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1

Source/WebCore/rendering/style/RenderStyleConstants.h:343:  Missing spaces around |  [whitespace/operators] [3]
Total errors found: 1 in 6 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>462371</commentid>
    <comment_count>12</comment_count>
    <who name="Luke Macpherson">macpherson</who>
    <bug_when>2011-09-05 22:55:13 -0700</bug_when>
    <thetext>The style error is because it&apos;s picking up on the operator| function name.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>467613</commentid>
    <comment_count>13</comment_count>
      <attachid>106390</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-09-14 21:46:28 -0700</bug_when>
    <thetext>Comment on attachment 106390
Patch

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

&gt; Source/WebCore/rendering/style/RenderStyle.h:195
&gt; -        unsigned _text_decorations : 4;
&gt; +        ETextDecoration _text_decorations : ETextDecorationBits;

This is going to hit a bug in Visual C++.

&gt; Source/WebCore/rendering/style/RenderStyleConstants.h:339
&gt; +static const size_t ETextDecorationBits = 4;

I like this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>468275</commentid>
    <comment_count>14</comment_count>
      <attachid>106390</attachid>
    <who name="Luke Macpherson">macpherson</who>
    <bug_when>2011-09-15 20:48:22 -0700</bug_when>
    <thetext>Comment on attachment 106390
Patch

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

&gt;&gt; Source/WebCore/rendering/style/RenderStyle.h:195
&gt;&gt; +        ETextDecoration _text_decorations : ETextDecorationBits;
&gt; 
&gt; This is going to hit a bug in Visual C++.

For my own education, could I have a pointer to the details? The build bot seems happy, but I&apos;m not familiar with Visual C++.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>468309</commentid>
    <comment_count>15</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-09-15 23:00:45 -0700</bug_when>
    <thetext>Microsoft’s compiler creates signed bitfields for enum types, and that causes problems with bitfields that are perfectly sized to hold an enum. Because of that, WebKit uses the type &quot;unsigned&quot; for bitfields instead of the actual enum type.

I found an old bug report about this &lt;http://connect.microsoft.com/VisualStudio/feedback/details/100849/enum-bitfield-treated-incorrectly-as-integer&gt; but haven’t found any definitive information that is newer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>468310</commentid>
    <comment_count>16</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-09-15 23:01:33 -0700</bug_when>
    <thetext>We discovered this the hard way, after a lot of debugging, when porting Safari and WebKit to Windows.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>469825</commentid>
    <comment_count>17</comment_count>
    <who name="Luke Macpherson">macpherson</who>
    <bug_when>2011-09-19 17:41:18 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; We discovered this the hard way, after a lot of debugging, when porting Safari and WebKit to Windows.

Interesting, thanks for the explanation.
Did anyone try the workaround suggested in that link?
For example:
enum ETextDecoration : unsigned {
    TDNONE = 0x0 , UNDERLINE = 0x1, OVERLINE = 0x2, LINE_THROUGH= 0x4, BLINK = 0x8
};</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>469828</commentid>
    <comment_count>18</comment_count>
    <who name="Luke Macpherson">macpherson</who>
    <bug_when>2011-09-19 17:47:39 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; (In reply to comment #16)
&gt; &gt; We discovered this the hard way, after a lot of debugging, when porting Safari and WebKit to Windows.
&gt; 
&gt; Interesting, thanks for the explanation.
&gt; Did anyone try the workaround suggested in that link?
&gt; For example:
&gt; enum ETextDecoration : unsigned {
&gt;     TDNONE = 0x0 , UNDERLINE = 0x1, OVERLINE = 0x2, LINE_THROUGH= 0x4, BLINK = 0x8
&gt; };

Hmm, seems gcc doesn&apos;t allow that anyway, so back to unsigned storage it is. It would have been nice not to have to sacrifice type safety.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>469855</commentid>
    <comment_count>19</comment_count>
      <attachid>107954</attachid>
    <who name="Luke Macpherson">macpherson</who>
    <bug_when>2011-09-19 18:46:20 -0700</bug_when>
    <thetext>Created attachment 107954
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>469858</commentid>
    <comment_count>20</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-19 18:48:50 -0700</bug_when>
    <thetext>Attachment 107954 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1

Source/WebCore/rendering/style/RenderStyleConstants.h:343:  Missing spaces around |  [whitespace/operators] [3]
Total errors found: 1 in 6 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>478733</commentid>
    <comment_count>21</comment_count>
    <who name="Luke Macpherson">macpherson</who>
    <bug_when>2011-10-05 15:26:25 -0700</bug_when>
    <thetext>Just wanted to ping this patch. Still hoping for a review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>482250</commentid>
    <comment_count>22</comment_count>
      <attachid>107954</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-10-11 23:21:49 -0700</bug_when>
    <thetext>Comment on attachment 107954
Patch

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

&gt; Source/WebCore/rendering/style/RenderStyleConstants.h:339
&gt; +static const size_t ETextDecorationBits = 4;

If we don&apos;t need this broken out like this, I think it&apos;s better to not use a constant here.  It makes it more difficult to tell how large RenderSTyle is.

&gt; Source/WebCore/rendering/style/StyleVisualData.h:52
&gt; +    unsigned textDecoration : ETextDecorationBits; // Text decorations defined *only* by this element.

I see, you want to re-use it here.  OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>482812</commentid>
    <comment_count>23</comment_count>
      <attachid>107954</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-12 15:50:25 -0700</bug_when>
    <thetext>Comment on attachment 107954
Patch

Clearing flags on attachment: 107954

Committed r97314: &lt;http://trac.webkit.org/changeset/97314&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>482813</commentid>
    <comment_count>24</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-12 15:50:30 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>106381</attachid>
            <date>2011-09-05 20:50:16 -0700</date>
            <delta_ts>2011-09-05 21:48:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-67625-20110906135014.patch</filename>
            <type>text/plain</type>
            <size>8646</size>
            <attacher name="Luke Macpherson">macpherson</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk0NTQ4KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzUgQEAKKzIwMTEtMDktMDUgIEx1a2UgTWFj
cGhlcnNvbiAgIDxtYWNwaGVyc29uQGNocm9taXVtLm9yZz4KKworICAgICAgICBDbGVhbiB1cCBD
U1NQcm9wZXJ0eVRleHREZWNvcmF0aW9uIGltcGxlbWVudGF0aW9uIGFuZCBFVGV4dERlY29yYXRp
b24gdXNhZ2UuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD02NzYyNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IE5vIG5ldyB0ZXN0cyAtIG5vIGZ1bmN0aW9uYWxpdHkgY2hhbmdlZC4KKyAgICAgICAgVGhlIENT
U1Byb3BlcnR5VGV4dERlY29yYXRpb24gaXMgc3Vic3RhbnRpYWxseSBzaW1saWZpZWQgYmVjYXVz
ZToKKyAgICAgICAgKiBDU1NWYWx1ZUxpc3RJdGVyYXRvciBwcm9kdWNlcyBhIHZhbGlkIGl0ZXJh
dG9yIHdoZW4gbm8gcmVzdWx0cyBhdmFpbGFibGUuCisgICAgICAgICogQ1NTUGFyc2VyIG9ubHkg
YWxsb3dzIENTU1ZhbHVlTm9uZSBvciBhIGxpc3Qgb2YgYXBwcm9wcmlhdGUgaWRlbnRzLgorICAg
ICAgICAqIENTU1BhcnNlciB3aWxsIHRyZWF0IGEgemVyby1sZW5ndGggbGlzdCBhcyBpbnZhbGlk
IGF0IHBhcnNlIHRpbWUuCisKKyAgICAgICAgKiBjc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5n
cy5oOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFsdWU6Om9wZXJhdG9yIEVUZXh0
RGVjb3JhdGlvbik6CisgICAgICAgIEltcGxlbWVudCBjYXN0IGZyb20gQ1NTUHJpbWl0aXZlVmFs
dWUgdG8gRVRleHREZWNvcmF0aW9uLgorICAgICAgICAqIGNzcy9DU1NTdHlsZVNlbGVjdG9yLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1N0eWxlU2VsZWN0b3I6OmFwcGx5UHJvcGVydHkpOgor
ICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oOgorICAgICAgICBVc2UgRVRl
eHREZWNvcmF0aW9uIGVudW0gaW5zdGVhZCBvZiBpbnQgdGhyb3VnaG91dC4KKyAgICAgICAgKFdl
YkNvcmU6OkluaGVyaXRlZEZsYWdzOjp0ZXh0RGVjb3JhdGlvbnNJbkVmZmVjdCk6CisgICAgICAg
IChXZWJDb3JlOjpJbmhlcml0ZWRGbGFnczo6dGV4dERlY29yYXRpb24pOgorICAgICAgICAoV2Vi
Q29yZTo6SW5oZXJpdGVkRmxhZ3M6OmFkZFRvVGV4dERlY29yYXRpb25zSW5FZmZlY3QpOgorICAg
ICAgICAoV2ViQ29yZTo6SW5oZXJpdGVkRmxhZ3M6OnNldFRleHREZWNvcmF0aW9uc0luRWZmZWN0
KToKKyAgICAgICAgKFdlYkNvcmU6OkluaGVyaXRlZEZsYWdzOjpzZXRUZXh0RGVjb3JhdGlvbik6
CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmg6CisgICAg
ICAgIEludHJvZHVjZSBjb25zdGFudCBmb3IgbnVtYmVyIG9mIGJpdHMgcmVxdWlyZWQgdG8gcmVw
cmVzZW50IGVudW0uCisgICAgICAgIChXZWJDb3JlOjpvcGVyYXRvcnw9KToKKyAgICAgICAgSW1w
bGVtZW50IHw9IG9wZXJhdG9yIGZvciBlbnVtICh3aGljaCBpcyB1c2VkIGFzIGEgYml0ZmllbGQp
LgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9TdHlsZVZpc3VhbERhdGEuaDoKKyAgICAgICAg
VXNlIEVUZXh0RGVjb3JhdGlvbiBpbnN0ZWFkIG9mIGludC4KKwogMjAxMS0wOS0wNSAgQWRhbSBC
YXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAgICAgIHdpbmRvdy5IVE1MU3BhbkVsZW1l
bnQgZG9lcyBub3QgZXhpc3QKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVW
YWx1ZU1hcHBpbmdzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1p
dGl2ZVZhbHVlTWFwcGluZ3MuaAkocmV2aXNpb24gOTQ1NDApCisrKyBTb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMDAzLDYg
KzIwMDMsMjUgQEAgdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6Om9wZQogICAg
IH0KIH0KIAordGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6Om9wZXJhdG9yIEVU
ZXh0RGVjb3JhdGlvbigpIGNvbnN0Cit7CisgICAgc3dpdGNoIChtX3ZhbHVlLmlkZW50KSB7Cisg
ICAgY2FzZSBDU1NWYWx1ZU5vbmU6CisgICAgICAgIHJldHVybiBURE5PTkU7CisgICAgY2FzZSBD
U1NWYWx1ZVVuZGVybGluZToKKyAgICAgICAgcmV0dXJuIFVOREVSTElORTsKKyAgICBjYXNlIENT
U1ZhbHVlT3ZlcmxpbmU6CisgICAgICAgIHJldHVybiBPVkVSTElORTsKKyAgICBjYXNlIENTU1Zh
bHVlTGluZVRocm91Z2g6CisgICAgICAgIHJldHVybiBMSU5FX1RIUk9VR0g7CisgICAgY2FzZSBD
U1NWYWx1ZUJsaW5rOgorICAgICAgICByZXR1cm4gQkxJTks7CisgICAgZGVmYXVsdDoKKyAgICAg
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVybiBURE5PTkU7CisgICAgfQor
fQorCiB0ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTUHJpbWl0aXZlVmFs
dWUoRVRleHRTZWN1cml0eSBlKQogICAgIDogbV90eXBlKENTU19JREVOVCkKICAgICAsIG1faGFz
Q2FjaGVkQ1NTVGV4dChmYWxzZSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNl
bGVjdG9yLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxl
Y3Rvci5jcHAJKHJldmlzaW9uIDk0NTQwKQorKysgU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxl
U2VsZWN0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MTQzLDM1ICs0MTQzLDEyIEBAIHZvaWQg
Q1NTU3R5bGVTZWxlY3Rvcjo6YXBwbHlQcm9wZXJ0eShpbnQKICAgICBjYXNlIENTU1Byb3BlcnR5
VGV4dERlY29yYXRpb246IHsKICAgICAgICAgLy8gbGlzdCBvZiBpZGVudAogICAgICAgICBIQU5E
TEVfSU5IRVJJVF9BTkRfSU5JVElBTCh0ZXh0RGVjb3JhdGlvbiwgVGV4dERlY29yYXRpb24pCi0g
ICAgICAgIGludCB0ID0gUmVuZGVyU3R5bGU6OmluaXRpYWxUZXh0RGVjb3JhdGlvbigpOwotICAg
ICAgICBpZiAocHJpbWl0aXZlVmFsdWUgJiYgcHJpbWl0aXZlVmFsdWUtPmdldElkZW50KCkgPT0g
Q1NTVmFsdWVOb25lKSB7Ci0gICAgICAgICAgICAvLyBkbyBub3RoaW5nCi0gICAgICAgIH0gZWxz
ZSB7Ci0gICAgICAgICAgICBpZiAoIXZhbHVlLT5pc1ZhbHVlTGlzdCgpKQotICAgICAgICAgICAg
ICAgIHJldHVybjsKLSAgICAgICAgICAgIGZvciAoQ1NTVmFsdWVMaXN0SXRlcmF0b3IgaSA9IHZh
bHVlOyBpLmhhc01vcmUoKTsgaS5hZHZhbmNlKCkpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAg
ICAgICAgQ1NTVmFsdWUqIGl0ZW0gPSBpLnZhbHVlKCk7Ci0gICAgICAgICAgICAgICAgaWYgKCFp
dGVtLT5pc1ByaW1pdGl2ZVZhbHVlKCkpCi0gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwot
ICAgICAgICAgICAgICAgIHByaW1pdGl2ZVZhbHVlID0gc3RhdGljX2Nhc3Q8Q1NTUHJpbWl0aXZl
VmFsdWUqPihpdGVtKTsKLSAgICAgICAgICAgICAgICBzd2l0Y2ggKHByaW1pdGl2ZVZhbHVlLT5n
ZXRJZGVudCgpKSB7Ci0gICAgICAgICAgICAgICAgICAgIGNhc2UgQ1NTVmFsdWVOb25lOgotICAg
ICAgICAgICAgICAgICAgICAgICAgdCA9IFRETk9ORTsgYnJlYWs7Ci0gICAgICAgICAgICAgICAg
ICAgIGNhc2UgQ1NTVmFsdWVVbmRlcmxpbmU6Ci0gICAgICAgICAgICAgICAgICAgICAgICB0IHw9
IFVOREVSTElORTsgYnJlYWs7Ci0gICAgICAgICAgICAgICAgICAgIGNhc2UgQ1NTVmFsdWVPdmVy
bGluZToKLSAgICAgICAgICAgICAgICAgICAgICAgIHQgfD0gT1ZFUkxJTkU7IGJyZWFrOwotICAg
ICAgICAgICAgICAgICAgICBjYXNlIENTU1ZhbHVlTGluZVRocm91Z2g6Ci0gICAgICAgICAgICAg
ICAgICAgICAgICB0IHw9IExJTkVfVEhST1VHSDsgYnJlYWs7Ci0gICAgICAgICAgICAgICAgICAg
IGNhc2UgQ1NTVmFsdWVCbGluazoKLSAgICAgICAgICAgICAgICAgICAgICAgIHQgfD0gQkxJTks7
IGJyZWFrOwotICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgICAgICAg
ICAgICAgcmV0dXJuOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KKyAgICAgICAg
RVRleHREZWNvcmF0aW9uIHQgPSBSZW5kZXJTdHlsZTo6aW5pdGlhbFRleHREZWNvcmF0aW9uKCk7
CisgICAgICAgIGZvciAoQ1NTVmFsdWVMaXN0SXRlcmF0b3IgaSA9IHZhbHVlOyBpLmhhc01vcmUo
KTsgaS5hZHZhbmNlKCkpIHsKKyAgICAgICAgICAgIENTU1ZhbHVlKiBpdGVtID0gaS52YWx1ZSgp
OworICAgICAgICAgICAgQVNTRVJUKGl0ZW0tPmlzUHJpbWl0aXZlVmFsdWUoKSk7CisgICAgICAg
ICAgICB0IHw9ICpzdGF0aWNfY2FzdDxDU1NQcmltaXRpdmVWYWx1ZSo+KGl0ZW0pOwogICAgICAg
ICB9Ci0KICAgICAgICAgbV9zdHlsZS0+c2V0VGV4dERlY29yYXRpb24odCk7CiAgICAgICAgIHJl
dHVybjsKICAgICB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVy
U3R5bGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVu
ZGVyU3R5bGUuaAkocmV2aXNpb24gOTQ1NDApCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvUmVuZGVyU3R5bGUuaAkod29ya2luZyBjb3B5KQpAQCAtMTkyLDcgKzE5Miw3IEBAIHBy
b3RlY3RlZDoKICAgICAgICAgdW5zaWduZWQgX3Zpc2liaWxpdHkgOiAyOyAvLyBFVmlzaWJpbGl0
eQogICAgICAgICB1bnNpZ25lZCBfdGV4dF9hbGlnbiA6IDQ7IC8vIEVUZXh0QWxpZ24KICAgICAg
ICAgdW5zaWduZWQgX3RleHRfdHJhbnNmb3JtIDogMjsgLy8gRVRleHRUcmFuc2Zvcm0KLSAgICAg
ICAgdW5zaWduZWQgX3RleHRfZGVjb3JhdGlvbnMgOiA0OworICAgICAgICBFVGV4dERlY29yYXRp
b24gX3RleHRfZGVjb3JhdGlvbnMgOiBFVGV4dERlY29yYXRpb25CaXRzOwogICAgICAgICB1bnNp
Z25lZCBfY3Vyc29yX3N0eWxlIDogNjsgLy8gRUN1cnNvcgogICAgICAgICB1bnNpZ25lZCBfZGly
ZWN0aW9uIDogMTsgLy8gVGV4dERpcmVjdGlvbgogICAgICAgICB1bnNpZ25lZCBfYm9yZGVyX2Nv
bGxhcHNlIDogMTsgLy8gRUJvcmRlckNvbGxhcHNlCkBAIC00ODUsOCArNDg1LDggQEAgcHVibGlj
OgogICAgIExlbmd0aCB0ZXh0SW5kZW50KCkgY29uc3QgeyByZXR1cm4gcmFyZUluaGVyaXRlZERh
dGEtPmluZGVudDsgfQogICAgIEVUZXh0QWxpZ24gdGV4dEFsaWduKCkgY29uc3QgeyByZXR1cm4g
c3RhdGljX2Nhc3Q8RVRleHRBbGlnbj4oaW5oZXJpdGVkX2ZsYWdzLl90ZXh0X2FsaWduKTsgfQog
ICAgIEVUZXh0VHJhbnNmb3JtIHRleHRUcmFuc2Zvcm0oKSBjb25zdCB7IHJldHVybiBzdGF0aWNf
Y2FzdDxFVGV4dFRyYW5zZm9ybT4oaW5oZXJpdGVkX2ZsYWdzLl90ZXh0X3RyYW5zZm9ybSk7IH0K
LSAgICBpbnQgdGV4dERlY29yYXRpb25zSW5FZmZlY3QoKSBjb25zdCB7IHJldHVybiBpbmhlcml0
ZWRfZmxhZ3MuX3RleHRfZGVjb3JhdGlvbnM7IH0KLSAgICBpbnQgdGV4dERlY29yYXRpb24oKSBj
b25zdCB7IHJldHVybiB2aXN1YWwtPnRleHREZWNvcmF0aW9uOyB9CisgICAgRVRleHREZWNvcmF0
aW9uIHRleHREZWNvcmF0aW9uc0luRWZmZWN0KCkgY29uc3QgeyByZXR1cm4gaW5oZXJpdGVkX2Zs
YWdzLl90ZXh0X2RlY29yYXRpb25zOyB9CisgICAgRVRleHREZWNvcmF0aW9uIHRleHREZWNvcmF0
aW9uKCkgY29uc3QgeyByZXR1cm4gdmlzdWFsLT50ZXh0RGVjb3JhdGlvbjsgfQogICAgIGludCB3
b3JkU3BhY2luZygpIGNvbnN0IHsgcmV0dXJuIGluaGVyaXRlZC0+Zm9udC53b3JkU3BhY2luZygp
OyB9CiAgICAgaW50IGxldHRlclNwYWNpbmcoKSBjb25zdCB7IHJldHVybiBpbmhlcml0ZWQtPmZv
bnQubGV0dGVyU3BhY2luZygpOyB9CiAKQEAgLTk0OSw5ICs5NDksOSBAQCBwdWJsaWM6CiAgICAg
dm9pZCBzZXRUZXh0SW5kZW50KExlbmd0aCB2KSB7IFNFVF9WQVIocmFyZUluaGVyaXRlZERhdGEs
IGluZGVudCwgdikgfQogICAgIHZvaWQgc2V0VGV4dEFsaWduKEVUZXh0QWxpZ24gdikgeyBpbmhl
cml0ZWRfZmxhZ3MuX3RleHRfYWxpZ24gPSB2OyB9CiAgICAgdm9pZCBzZXRUZXh0VHJhbnNmb3Jt
KEVUZXh0VHJhbnNmb3JtIHYpIHsgaW5oZXJpdGVkX2ZsYWdzLl90ZXh0X3RyYW5zZm9ybSA9IHY7
IH0KLSAgICB2b2lkIGFkZFRvVGV4dERlY29yYXRpb25zSW5FZmZlY3QoaW50IHYpIHsgaW5oZXJp
dGVkX2ZsYWdzLl90ZXh0X2RlY29yYXRpb25zIHw9IHY7IH0KLSAgICB2b2lkIHNldFRleHREZWNv
cmF0aW9uc0luRWZmZWN0KGludCB2KSB7IGluaGVyaXRlZF9mbGFncy5fdGV4dF9kZWNvcmF0aW9u
cyA9IHY7IH0KLSAgICB2b2lkIHNldFRleHREZWNvcmF0aW9uKGludCB2KSB7IFNFVF9WQVIodmlz
dWFsLCB0ZXh0RGVjb3JhdGlvbiwgdik7IH0KKyAgICB2b2lkIGFkZFRvVGV4dERlY29yYXRpb25z
SW5FZmZlY3QoRVRleHREZWNvcmF0aW9uIHYpIHsgaW5oZXJpdGVkX2ZsYWdzLl90ZXh0X2RlY29y
YXRpb25zIHw9IHY7IH0KKyAgICB2b2lkIHNldFRleHREZWNvcmF0aW9uc0luRWZmZWN0KEVUZXh0
RGVjb3JhdGlvbiB2KSB7IGluaGVyaXRlZF9mbGFncy5fdGV4dF9kZWNvcmF0aW9ucyA9IHY7IH0K
KyAgICB2b2lkIHNldFRleHREZWNvcmF0aW9uKEVUZXh0RGVjb3JhdGlvbiB2KSB7IFNFVF9WQVIo
dmlzdWFsLCB0ZXh0RGVjb3JhdGlvbiwgdik7IH0KICAgICB2b2lkIHNldERpcmVjdGlvbihUZXh0
RGlyZWN0aW9uIHYpIHsgaW5oZXJpdGVkX2ZsYWdzLl9kaXJlY3Rpb24gPSB2OyB9CiAgICAgdm9p
ZCBzZXRMaW5lSGVpZ2h0KExlbmd0aCB2KSB7IFNFVF9WQVIoaW5oZXJpdGVkLCBsaW5lX2hlaWdo
dCwgdikgfQogICAgIGJvb2wgc2V0Wm9vbShmbG9hdCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaAkocmV2aXNp
b24gOTQ1NDApCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVD
b25zdGFudHMuaAkod29ya2luZyBjb3B5KQpAQCAtMzM2LDkgKzMzNiwxMSBAQCBlbnVtIEVUZXh0
VHJhbnNmb3JtIHsKICAgICBDQVBJVEFMSVpFLCBVUFBFUkNBU0UsIExPV0VSQ0FTRSwgVFROT05F
CiB9OwogCitzdGF0aWMgY29uc3Qgc2l6ZV90IEVUZXh0RGVjb3JhdGlvbkJpdHMgPSA0OwogZW51
bSBFVGV4dERlY29yYXRpb24gewogICAgIFRETk9ORSA9IDB4MCAsIFVOREVSTElORSA9IDB4MSwg
T1ZFUkxJTkUgPSAweDIsIExJTkVfVEhST1VHSD0gMHg0LCBCTElOSyA9IDB4OAogfTsKK2lubGlu
ZSBFVGV4dERlY29yYXRpb24mIG9wZXJhdG9yfD0oRVRleHREZWNvcmF0aW9uJiBhLCBFVGV4dERl
Y29yYXRpb24gYikgeyByZXR1cm4gYSA9IEVUZXh0RGVjb3JhdGlvbihpbnQoYSkgfCBpbnQoYikp
OyB9CiAKIGVudW0gRVBhZ2VCcmVhayB7CiAgICAgUEJBVVRPLCBQQkFMV0FZUywgUEJBVk9JRApJ
bmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlVmlzdWFsRGF0YS5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVZpc3VhbERh
dGEuaAkocmV2aXNpb24gOTQ1NDApCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
U3R5bGVWaXN1YWxEYXRhLmgJKHdvcmtpbmcgY29weSkKQEAgLTI2LDYgKzI2LDcgQEAKICNkZWZp
bmUgU3R5bGVWaXN1YWxEYXRhX2gKIAogI2luY2x1ZGUgIkxlbmd0aEJveC5oIgorI2luY2x1ZGUg
IlJlbmRlclN0eWxlQ29uc3RhbnRzLmgiCiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNp
bmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogCkBAIC00OCw3ICs0OSw3IEBAIHB1YmxpYzoKIAog
ICAgIExlbmd0aEJveCBjbGlwOwogICAgIGJvb2wgaGFzQ2xpcCA6IDE7Ci0gICAgdW5zaWduZWQg
dGV4dERlY29yYXRpb24gOiA0OyAvLyBUZXh0IGRlY29yYXRpb25zIGRlZmluZWQgKm9ubHkqIGJ5
IHRoaXMgZWxlbWVudC4KKyAgICBFVGV4dERlY29yYXRpb24gdGV4dERlY29yYXRpb24gOiBFVGV4
dERlY29yYXRpb25CaXRzOyAvLyBUZXh0IGRlY29yYXRpb25zIGRlZmluZWQgKm9ubHkqIGJ5IHRo
aXMgZWxlbWVudC4KICAgICAKICAgICBmbG9hdCBtX3pvb207CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>106388</attachid>
            <date>2011-09-05 21:48:22 -0700</date>
            <delta_ts>2011-09-05 22:48:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-67625-20110906144819.patch</filename>
            <type>text/plain</type>
            <size>8648</size>
            <attacher name="Luke Macpherson">macpherson</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk0NTQ5KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzUgQEAKKzIwMTEtMDktMDUgIEx1a2UgTWFj
cGhlcnNvbiAgIDxtYWNwaGVyc29uQGNocm9taXVtLm9yZz4KKworICAgICAgICBDbGVhbiB1cCBD
U1NQcm9wZXJ0eVRleHREZWNvcmF0aW9uIGltcGxlbWVudGF0aW9uIGFuZCBFVGV4dERlY29yYXRp
b24gdXNhZ2UuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD02NzYyNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IE5vIG5ldyB0ZXN0cyAtIG5vIGZ1bmN0aW9uYWxpdHkgY2hhbmdlZC4KKyAgICAgICAgVGhlIENT
U1Byb3BlcnR5VGV4dERlY29yYXRpb24gaXMgc3Vic3RhbnRpYWxseSBzaW1saWZpZWQgYmVjYXVz
ZQorICAgICAgICAxKSBDU1NWYWx1ZUxpc3RJdGVyYXRvciBwcm9kdWNlcyBhIHZhbGlkIGl0ZXJh
dG9yIHdoZW4gbm8gcmVzdWx0cyBhdmFpbGFibGUuCisgICAgICAgIDIpIENTU1BhcnNlciBvbmx5
IGFsbG93cyBDU1NWYWx1ZU5vbmUgb3IgYSBsaXN0IG9mIGFwcHJvcHJpYXRlIGlkZW50cy4KKyAg
ICAgICAgMykgQ1NTUGFyc2VyIHdpbGwgdHJlYXQgYSB6ZXJvLWxlbmd0aCBsaXN0IGFzIGludmFs
aWQgYXQgcGFyc2UgdGltZS4KKworICAgICAgICAqIGNzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBp
bmdzLmg6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6b3BlcmF0b3IgRVRl
eHREZWNvcmF0aW9uKToKKyAgICAgICAgSW1wbGVtZW50IGNhc3QgZnJvbSBDU1NQcmltaXRpdmVW
YWx1ZSB0byBFVGV4dERlY29yYXRpb24uCisgICAgICAgICogY3NzL0NTU1N0eWxlU2VsZWN0b3Iu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6YXBwbHlQcm9wZXJ0eSk6
CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmg6CisgICAgICAgIFVzZSBF
VGV4dERlY29yYXRpb24gZW51bSBpbnN0ZWFkIG9mIGludCB0aHJvdWdob3V0LgorICAgICAgICAo
V2ViQ29yZTo6SW5oZXJpdGVkRmxhZ3M6OnRleHREZWNvcmF0aW9uc0luRWZmZWN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OkluaGVyaXRlZEZsYWdzOjp0ZXh0RGVjb3JhdGlvbik6CisgICAgICAgIChX
ZWJDb3JlOjpJbmhlcml0ZWRGbGFnczo6YWRkVG9UZXh0RGVjb3JhdGlvbnNJbkVmZmVjdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpJbmhlcml0ZWRGbGFnczo6c2V0VGV4dERlY29yYXRpb25zSW5FZmZl
Y3QpOgorICAgICAgICAoV2ViQ29yZTo6SW5oZXJpdGVkRmxhZ3M6OnNldFRleHREZWNvcmF0aW9u
KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaDoKKyAg
ICAgICAgSW50cm9kdWNlIGNvbnN0YW50IGZvciBudW1iZXIgb2YgYml0cyByZXF1aXJlZCB0byBy
ZXByZXNlbnQgZW51bS4KKyAgICAgICAgKFdlYkNvcmU6Om9wZXJhdG9yfD0pOgorICAgICAgICBJ
bXBsZW1lbnQgfD0gb3BlcmF0b3IgZm9yIGVudW0gKHdoaWNoIGlzIHVzZWQgYXMgYSBiaXRmaWVs
ZCkuCisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlVmlzdWFsRGF0YS5oOgorICAgICAg
ICBVc2UgRVRleHREZWNvcmF0aW9uIGluc3RlYWQgb2YgaW50LgorCiAyMDExLTA5LTA1ICBBZGFt
IEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgd2luZG93LkhUTUxTcGFuRWxl
bWVudCBkb2VzIG5vdCBleGlzdApJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2
ZVZhbHVlTWFwcGluZ3MuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJp
bWl0aXZlVmFsdWVNYXBwaW5ncy5oCShyZXZpc2lvbiA5NDU0OSkKKysrIFNvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgJKHdvcmtpbmcgY29weSkKQEAgLTIwMDMs
NiArMjAwMywyNSBAQCB0ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6b3BlCiAg
ICAgfQogfQogCit0ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6b3BlcmF0b3Ig
RVRleHREZWNvcmF0aW9uKCkgY29uc3QKK3sKKyAgICBzd2l0Y2ggKG1fdmFsdWUuaWRlbnQpIHsK
KyAgICBjYXNlIENTU1ZhbHVlTm9uZToKKyAgICAgICAgcmV0dXJuIFRETk9ORTsKKyAgICBjYXNl
IENTU1ZhbHVlVW5kZXJsaW5lOgorICAgICAgICByZXR1cm4gVU5ERVJMSU5FOworICAgIGNhc2Ug
Q1NTVmFsdWVPdmVybGluZToKKyAgICAgICAgcmV0dXJuIE9WRVJMSU5FOworICAgIGNhc2UgQ1NT
VmFsdWVMaW5lVGhyb3VnaDoKKyAgICAgICAgcmV0dXJuIExJTkVfVEhST1VHSDsKKyAgICBjYXNl
IENTU1ZhbHVlQmxpbms6CisgICAgICAgIHJldHVybiBCTElOSzsKKyAgICBkZWZhdWx0OgorICAg
ICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcmV0dXJuIFRETk9ORTsKKyAgICB9
Cit9CisKIHRlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVW
YWx1ZShFVGV4dFNlY3VyaXR5IGUpCiAgICAgOiBtX3R5cGUoQ1NTX0lERU5UKQogICAgICwgbV9o
YXNDYWNoZWRDU1NUZXh0KGZhbHNlKQpJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxl
U2VsZWN0b3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNl
bGVjdG9yLmNwcAkocmV2aXNpb24gOTQ1NDkpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5
bGVTZWxlY3Rvci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQxNDMsMzUgKzQxNDMsMTIgQEAgdm9p
ZCBDU1NTdHlsZVNlbGVjdG9yOjphcHBseVByb3BlcnR5KGludAogICAgIGNhc2UgQ1NTUHJvcGVy
dHlUZXh0RGVjb3JhdGlvbjogewogICAgICAgICAvLyBsaXN0IG9mIGlkZW50CiAgICAgICAgIEhB
TkRMRV9JTkhFUklUX0FORF9JTklUSUFMKHRleHREZWNvcmF0aW9uLCBUZXh0RGVjb3JhdGlvbikK
LSAgICAgICAgaW50IHQgPSBSZW5kZXJTdHlsZTo6aW5pdGlhbFRleHREZWNvcmF0aW9uKCk7Ci0g
ICAgICAgIGlmIChwcmltaXRpdmVWYWx1ZSAmJiBwcmltaXRpdmVWYWx1ZS0+Z2V0SWRlbnQoKSA9
PSBDU1NWYWx1ZU5vbmUpIHsKLSAgICAgICAgICAgIC8vIGRvIG5vdGhpbmcKLSAgICAgICAgfSBl
bHNlIHsKLSAgICAgICAgICAgIGlmICghdmFsdWUtPmlzVmFsdWVMaXN0KCkpCi0gICAgICAgICAg
ICAgICAgcmV0dXJuOwotICAgICAgICAgICAgZm9yIChDU1NWYWx1ZUxpc3RJdGVyYXRvciBpID0g
dmFsdWU7IGkuaGFzTW9yZSgpOyBpLmFkdmFuY2UoKSkKLSAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICBDU1NWYWx1ZSogaXRlbSA9IGkudmFsdWUoKTsKLSAgICAgICAgICAgICAgICBpZiAo
IWl0ZW0tPmlzUHJpbWl0aXZlVmFsdWUoKSkKLSAgICAgICAgICAgICAgICAgICAgY29udGludWU7
Ci0gICAgICAgICAgICAgICAgcHJpbWl0aXZlVmFsdWUgPSBzdGF0aWNfY2FzdDxDU1NQcmltaXRp
dmVWYWx1ZSo+KGl0ZW0pOwotICAgICAgICAgICAgICAgIHN3aXRjaCAocHJpbWl0aXZlVmFsdWUt
PmdldElkZW50KCkpIHsKLSAgICAgICAgICAgICAgICAgICAgY2FzZSBDU1NWYWx1ZU5vbmU6Ci0g
ICAgICAgICAgICAgICAgICAgICAgICB0ID0gVEROT05FOyBicmVhazsKLSAgICAgICAgICAgICAg
ICAgICAgY2FzZSBDU1NWYWx1ZVVuZGVybGluZToKLSAgICAgICAgICAgICAgICAgICAgICAgIHQg
fD0gVU5ERVJMSU5FOyBicmVhazsKLSAgICAgICAgICAgICAgICAgICAgY2FzZSBDU1NWYWx1ZU92
ZXJsaW5lOgotICAgICAgICAgICAgICAgICAgICAgICAgdCB8PSBPVkVSTElORTsgYnJlYWs7Ci0g
ICAgICAgICAgICAgICAgICAgIGNhc2UgQ1NTVmFsdWVMaW5lVGhyb3VnaDoKLSAgICAgICAgICAg
ICAgICAgICAgICAgIHQgfD0gTElORV9USFJPVUdIOyBicmVhazsKLSAgICAgICAgICAgICAgICAg
ICAgY2FzZSBDU1NWYWx1ZUJsaW5rOgotICAgICAgICAgICAgICAgICAgICAgICAgdCB8PSBCTElO
SzsgYnJlYWs7Ci0gICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICAgICAg
ICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfQorICAgICAg
ICBFVGV4dERlY29yYXRpb24gdCA9IFJlbmRlclN0eWxlOjppbml0aWFsVGV4dERlY29yYXRpb24o
KTsKKyAgICAgICAgZm9yIChDU1NWYWx1ZUxpc3RJdGVyYXRvciBpID0gdmFsdWU7IGkuaGFzTW9y
ZSgpOyBpLmFkdmFuY2UoKSkgeworICAgICAgICAgICAgQ1NTVmFsdWUqIGl0ZW0gPSBpLnZhbHVl
KCk7CisgICAgICAgICAgICBBU1NFUlQoaXRlbS0+aXNQcmltaXRpdmVWYWx1ZSgpKTsKKyAgICAg
ICAgICAgIHQgfD0gKnN0YXRpY19jYXN0PENTU1ByaW1pdGl2ZVZhbHVlKj4oaXRlbSk7CiAgICAg
ICAgIH0KLQogICAgICAgICBtX3N0eWxlLT5zZXRUZXh0RGVjb3JhdGlvbih0KTsKICAgICAgICAg
cmV0dXJuOwogICAgIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5k
ZXJTdHlsZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9S
ZW5kZXJTdHlsZS5oCShyZXZpc2lvbiA5NDU0OSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9SZW5kZXJTdHlsZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xOTIsNyArMTkyLDcgQEAg
cHJvdGVjdGVkOgogICAgICAgICB1bnNpZ25lZCBfdmlzaWJpbGl0eSA6IDI7IC8vIEVWaXNpYmls
aXR5CiAgICAgICAgIHVuc2lnbmVkIF90ZXh0X2FsaWduIDogNDsgLy8gRVRleHRBbGlnbgogICAg
ICAgICB1bnNpZ25lZCBfdGV4dF90cmFuc2Zvcm0gOiAyOyAvLyBFVGV4dFRyYW5zZm9ybQotICAg
ICAgICB1bnNpZ25lZCBfdGV4dF9kZWNvcmF0aW9ucyA6IDQ7CisgICAgICAgIEVUZXh0RGVjb3Jh
dGlvbiBfdGV4dF9kZWNvcmF0aW9ucyA6IEVUZXh0RGVjb3JhdGlvbkJpdHM7CiAgICAgICAgIHVu
c2lnbmVkIF9jdXJzb3Jfc3R5bGUgOiA2OyAvLyBFQ3Vyc29yCiAgICAgICAgIHVuc2lnbmVkIF9k
aXJlY3Rpb24gOiAxOyAvLyBUZXh0RGlyZWN0aW9uCiAgICAgICAgIHVuc2lnbmVkIF9ib3JkZXJf
Y29sbGFwc2UgOiAxOyAvLyBFQm9yZGVyQ29sbGFwc2UKQEAgLTQ4NSw4ICs0ODUsOCBAQCBwdWJs
aWM6CiAgICAgTGVuZ3RoIHRleHRJbmRlbnQoKSBjb25zdCB7IHJldHVybiByYXJlSW5oZXJpdGVk
RGF0YS0+aW5kZW50OyB9CiAgICAgRVRleHRBbGlnbiB0ZXh0QWxpZ24oKSBjb25zdCB7IHJldHVy
biBzdGF0aWNfY2FzdDxFVGV4dEFsaWduPihpbmhlcml0ZWRfZmxhZ3MuX3RleHRfYWxpZ24pOyB9
CiAgICAgRVRleHRUcmFuc2Zvcm0gdGV4dFRyYW5zZm9ybSgpIGNvbnN0IHsgcmV0dXJuIHN0YXRp
Y19jYXN0PEVUZXh0VHJhbnNmb3JtPihpbmhlcml0ZWRfZmxhZ3MuX3RleHRfdHJhbnNmb3JtKTsg
fQotICAgIGludCB0ZXh0RGVjb3JhdGlvbnNJbkVmZmVjdCgpIGNvbnN0IHsgcmV0dXJuIGluaGVy
aXRlZF9mbGFncy5fdGV4dF9kZWNvcmF0aW9uczsgfQotICAgIGludCB0ZXh0RGVjb3JhdGlvbigp
IGNvbnN0IHsgcmV0dXJuIHZpc3VhbC0+dGV4dERlY29yYXRpb247IH0KKyAgICBFVGV4dERlY29y
YXRpb24gdGV4dERlY29yYXRpb25zSW5FZmZlY3QoKSBjb25zdCB7IHJldHVybiBpbmhlcml0ZWRf
ZmxhZ3MuX3RleHRfZGVjb3JhdGlvbnM7IH0KKyAgICBFVGV4dERlY29yYXRpb24gdGV4dERlY29y
YXRpb24oKSBjb25zdCB7IHJldHVybiB2aXN1YWwtPnRleHREZWNvcmF0aW9uOyB9CiAgICAgaW50
IHdvcmRTcGFjaW5nKCkgY29uc3QgeyByZXR1cm4gaW5oZXJpdGVkLT5mb250LndvcmRTcGFjaW5n
KCk7IH0KICAgICBpbnQgbGV0dGVyU3BhY2luZygpIGNvbnN0IHsgcmV0dXJuIGluaGVyaXRlZC0+
Zm9udC5sZXR0ZXJTcGFjaW5nKCk7IH0KIApAQCAtOTQ5LDkgKzk0OSw5IEBAIHB1YmxpYzoKICAg
ICB2b2lkIHNldFRleHRJbmRlbnQoTGVuZ3RoIHYpIHsgU0VUX1ZBUihyYXJlSW5oZXJpdGVkRGF0
YSwgaW5kZW50LCB2KSB9CiAgICAgdm9pZCBzZXRUZXh0QWxpZ24oRVRleHRBbGlnbiB2KSB7IGlu
aGVyaXRlZF9mbGFncy5fdGV4dF9hbGlnbiA9IHY7IH0KICAgICB2b2lkIHNldFRleHRUcmFuc2Zv
cm0oRVRleHRUcmFuc2Zvcm0gdikgeyBpbmhlcml0ZWRfZmxhZ3MuX3RleHRfdHJhbnNmb3JtID0g
djsgfQotICAgIHZvaWQgYWRkVG9UZXh0RGVjb3JhdGlvbnNJbkVmZmVjdChpbnQgdikgeyBpbmhl
cml0ZWRfZmxhZ3MuX3RleHRfZGVjb3JhdGlvbnMgfD0gdjsgfQotICAgIHZvaWQgc2V0VGV4dERl
Y29yYXRpb25zSW5FZmZlY3QoaW50IHYpIHsgaW5oZXJpdGVkX2ZsYWdzLl90ZXh0X2RlY29yYXRp
b25zID0gdjsgfQotICAgIHZvaWQgc2V0VGV4dERlY29yYXRpb24oaW50IHYpIHsgU0VUX1ZBUih2
aXN1YWwsIHRleHREZWNvcmF0aW9uLCB2KTsgfQorICAgIHZvaWQgYWRkVG9UZXh0RGVjb3JhdGlv
bnNJbkVmZmVjdChFVGV4dERlY29yYXRpb24gdikgeyBpbmhlcml0ZWRfZmxhZ3MuX3RleHRfZGVj
b3JhdGlvbnMgfD0gdjsgfQorICAgIHZvaWQgc2V0VGV4dERlY29yYXRpb25zSW5FZmZlY3QoRVRl
eHREZWNvcmF0aW9uIHYpIHsgaW5oZXJpdGVkX2ZsYWdzLl90ZXh0X2RlY29yYXRpb25zID0gdjsg
fQorICAgIHZvaWQgc2V0VGV4dERlY29yYXRpb24oRVRleHREZWNvcmF0aW9uIHYpIHsgU0VUX1ZB
Uih2aXN1YWwsIHRleHREZWNvcmF0aW9uLCB2KTsgfQogICAgIHZvaWQgc2V0RGlyZWN0aW9uKFRl
eHREaXJlY3Rpb24gdikgeyBpbmhlcml0ZWRfZmxhZ3MuX2RpcmVjdGlvbiA9IHY7IH0KICAgICB2
b2lkIHNldExpbmVIZWlnaHQoTGVuZ3RoIHYpIHsgU0VUX1ZBUihpbmhlcml0ZWQsIGxpbmVfaGVp
Z2h0LCB2KSB9CiAgICAgYm9vbCBzZXRab29tKGZsb2F0KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oCShyZXZp
c2lvbiA5NDU0OSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHls
ZUNvbnN0YW50cy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMzYsOSArMzM2LDExIEBAIGVudW0gRVRl
eHRUcmFuc2Zvcm0gewogICAgIENBUElUQUxJWkUsIFVQUEVSQ0FTRSwgTE9XRVJDQVNFLCBUVE5P
TkUKIH07CiAKK3N0YXRpYyBjb25zdCBzaXplX3QgRVRleHREZWNvcmF0aW9uQml0cyA9IDQ7CiBl
bnVtIEVUZXh0RGVjb3JhdGlvbiB7CiAgICAgVEROT05FID0gMHgwICwgVU5ERVJMSU5FID0gMHgx
LCBPVkVSTElORSA9IDB4MiwgTElORV9USFJPVUdIPSAweDQsIEJMSU5LID0gMHg4CiB9OworaW5s
aW5lIEVUZXh0RGVjb3JhdGlvbiYgb3BlcmF0b3J8PShFVGV4dERlY29yYXRpb24mIGEsIEVUZXh0
RGVjb3JhdGlvbiBiKSB7IHJldHVybiBhID0gRVRleHREZWNvcmF0aW9uKGludChhKSB8IGludChi
KSk7IH0KIAogZW51bSBFUGFnZUJyZWFrIHsKICAgICBQQkFVVE8sIFBCQUxXQVlTLCBQQkFWT0lE
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVWaXN1YWxEYXRhLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlVmlzdWFs
RGF0YS5oCShyZXZpc2lvbiA5NDU0OSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9TdHlsZVZpc3VhbERhdGEuaAkod29ya2luZyBjb3B5KQpAQCAtMjYsNiArMjYsNyBAQAogI2Rl
ZmluZSBTdHlsZVZpc3VhbERhdGFfaAogCiAjaW5jbHVkZSAiTGVuZ3RoQm94LmgiCisjaW5jbHVk
ZSAiUmVuZGVyU3R5bGVDb25zdGFudHMuaCIKICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgog
I2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAKQEAgLTQ4LDcgKzQ5LDcgQEAgcHVibGljOgog
CiAgICAgTGVuZ3RoQm94IGNsaXA7CiAgICAgYm9vbCBoYXNDbGlwIDogMTsKLSAgICB1bnNpZ25l
ZCB0ZXh0RGVjb3JhdGlvbiA6IDQ7IC8vIFRleHQgZGVjb3JhdGlvbnMgZGVmaW5lZCAqb25seSog
YnkgdGhpcyBlbGVtZW50LgorICAgIEVUZXh0RGVjb3JhdGlvbiB0ZXh0RGVjb3JhdGlvbiA6IEVU
ZXh0RGVjb3JhdGlvbkJpdHM7IC8vIFRleHQgZGVjb3JhdGlvbnMgZGVmaW5lZCAqb25seSogYnkg
dGhpcyBlbGVtZW50LgogICAgIAogICAgIGZsb2F0IG1fem9vbTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>106390</attachid>
            <date>2011-09-05 22:48:42 -0700</date>
            <delta_ts>2011-09-19 18:46:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-67625-20110906154839.patch</filename>
            <type>text/plain</type>
            <size>8832</size>
            <attacher name="Luke Macpherson">macpherson</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk0NTQ5KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzcgQEAKKzIwMTEtMDktMDUgIEx1a2UgTWFj
cGhlcnNvbiAgIDxtYWNwaGVyc29uQGNocm9taXVtLm9yZz4KKworICAgICAgICBDbGVhbiB1cCBD
U1NQcm9wZXJ0eVRleHREZWNvcmF0aW9uIGltcGxlbWVudGF0aW9uIGFuZCBFVGV4dERlY29yYXRp
b24gdXNhZ2UuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD02NzYyNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IE5vIG5ldyB0ZXN0cyAtIG5vIGZ1bmN0aW9uYWxpdHkgY2hhbmdlZC4KKyAgICAgICAgVGhlIENT
U1Byb3BlcnR5VGV4dERlY29yYXRpb24gaXMgc3Vic3RhbnRpYWxseSBzaW1saWZpZWQgYmVjYXVz
ZQorICAgICAgICAxKSBDU1NWYWx1ZUxpc3RJdGVyYXRvciBwcm9kdWNlcyBhIHZhbGlkIGl0ZXJh
dG9yIHdoZW4gbm8gcmVzdWx0cyBhdmFpbGFibGUuCisgICAgICAgIDIpIENTU1BhcnNlciBvbmx5
IGFsbG93cyBDU1NWYWx1ZU5vbmUgb3IgYSBsaXN0IG9mIGFwcHJvcHJpYXRlIGlkZW50cy4KKyAg
ICAgICAgMykgQ1NTUGFyc2VyIHdpbGwgdHJlYXQgYSB6ZXJvLWxlbmd0aCBsaXN0IGFzIGludmFs
aWQgYXQgcGFyc2UgdGltZS4KKworICAgICAgICAqIGNzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBp
bmdzLmg6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6b3BlcmF0b3IgRVRl
eHREZWNvcmF0aW9uKToKKyAgICAgICAgSW1wbGVtZW50IGNhc3QgZnJvbSBDU1NQcmltaXRpdmVW
YWx1ZSB0byBFVGV4dERlY29yYXRpb24uCisgICAgICAgICogY3NzL0NTU1N0eWxlU2VsZWN0b3Iu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6YXBwbHlQcm9wZXJ0eSk6
CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmg6CisgICAgICAgIFVzZSBF
VGV4dERlY29yYXRpb24gZW51bSBpbnN0ZWFkIG9mIGludCB0aHJvdWdob3V0LgorICAgICAgICAo
V2ViQ29yZTo6SW5oZXJpdGVkRmxhZ3M6OnRleHREZWNvcmF0aW9uc0luRWZmZWN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OkluaGVyaXRlZEZsYWdzOjp0ZXh0RGVjb3JhdGlvbik6CisgICAgICAgIChX
ZWJDb3JlOjpJbmhlcml0ZWRGbGFnczo6YWRkVG9UZXh0RGVjb3JhdGlvbnNJbkVmZmVjdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpJbmhlcml0ZWRGbGFnczo6c2V0VGV4dERlY29yYXRpb25zSW5FZmZl
Y3QpOgorICAgICAgICAoV2ViQ29yZTo6SW5oZXJpdGVkRmxhZ3M6OnNldFRleHREZWNvcmF0aW9u
KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaDoKKyAg
ICAgICAgSW50cm9kdWNlIGNvbnN0YW50IGZvciBudW1iZXIgb2YgYml0cyByZXF1aXJlZCB0byBy
ZXByZXNlbnQgZW51bS4KKyAgICAgICAgKFdlYkNvcmU6Om9wZXJhdG9yfCk6CisgICAgICAgIElt
cGxlbWVudCB8IG9wZXJhdG9yIGZvciBiaXRmaWVsZCBlbnVtLgorICAgICAgICAoV2ViQ29yZTo6
b3BlcmF0b3J8PSk6CisgICAgICAgIEltcGxlbWVudCB8PSBvcGVyYXRvciBmb3IgYml0ZmllbGQg
ZW51bS4KKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVWaXN1YWxEYXRhLmg6CisgICAg
ICAgIFVzZSBFVGV4dERlY29yYXRpb24gaW5zdGVhZCBvZiBpbnQuCisKIDIwMTEtMDktMDUgIEFk
YW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAgICB3aW5kb3cuSFRNTFNwYW5F
bGVtZW50IGRvZXMgbm90IGV4aXN0CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0
aXZlVmFsdWVNYXBwaW5ncy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQ
cmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgJKHJldmlzaW9uIDk0NTQ5KQorKysgU291cmNlL1dlYkNv
cmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaAkod29ya2luZyBjb3B5KQpAQCAtMjAw
Myw2ICsyMDAzLDI1IEBAIHRlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpvcGUK
ICAgICB9CiB9CiAKK3RlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpvcGVyYXRv
ciBFVGV4dERlY29yYXRpb24oKSBjb25zdAoreworICAgIHN3aXRjaCAobV92YWx1ZS5pZGVudCkg
eworICAgIGNhc2UgQ1NTVmFsdWVOb25lOgorICAgICAgICByZXR1cm4gVEROT05FOworICAgIGNh
c2UgQ1NTVmFsdWVVbmRlcmxpbmU6CisgICAgICAgIHJldHVybiBVTkRFUkxJTkU7CisgICAgY2Fz
ZSBDU1NWYWx1ZU92ZXJsaW5lOgorICAgICAgICByZXR1cm4gT1ZFUkxJTkU7CisgICAgY2FzZSBD
U1NWYWx1ZUxpbmVUaHJvdWdoOgorICAgICAgICByZXR1cm4gTElORV9USFJPVUdIOworICAgIGNh
c2UgQ1NTVmFsdWVCbGluazoKKyAgICAgICAgcmV0dXJuIEJMSU5LOworICAgIGRlZmF1bHQ6Cisg
ICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICByZXR1cm4gVEROT05FOworICAg
IH0KK30KKwogdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU1ByaW1pdGl2
ZVZhbHVlKEVUZXh0U2VjdXJpdHkgZSkKICAgICA6IG1fdHlwZShDU1NfSURFTlQpCiAgICAgLCBt
X2hhc0NhY2hlZENTU1RleHQoZmFsc2UpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5
bGVTZWxlY3Rvci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxl
U2VsZWN0b3IuY3BwCShyZXZpc2lvbiA5NDU0OSkKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NT
dHlsZVNlbGVjdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDE0MywzNSArNDE0MywxMiBAQCB2
b2lkIENTU1N0eWxlU2VsZWN0b3I6OmFwcGx5UHJvcGVydHkoaW50CiAgICAgY2FzZSBDU1NQcm9w
ZXJ0eVRleHREZWNvcmF0aW9uOiB7CiAgICAgICAgIC8vIGxpc3Qgb2YgaWRlbnQKICAgICAgICAg
SEFORExFX0lOSEVSSVRfQU5EX0lOSVRJQUwodGV4dERlY29yYXRpb24sIFRleHREZWNvcmF0aW9u
KQotICAgICAgICBpbnQgdCA9IFJlbmRlclN0eWxlOjppbml0aWFsVGV4dERlY29yYXRpb24oKTsK
LSAgICAgICAgaWYgKHByaW1pdGl2ZVZhbHVlICYmIHByaW1pdGl2ZVZhbHVlLT5nZXRJZGVudCgp
ID09IENTU1ZhbHVlTm9uZSkgewotICAgICAgICAgICAgLy8gZG8gbm90aGluZwotICAgICAgICB9
IGVsc2UgewotICAgICAgICAgICAgaWYgKCF2YWx1ZS0+aXNWYWx1ZUxpc3QoKSkKLSAgICAgICAg
ICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICBmb3IgKENTU1ZhbHVlTGlzdEl0ZXJhdG9yIGkg
PSB2YWx1ZTsgaS5oYXNNb3JlKCk7IGkuYWR2YW5jZSgpKQotICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgIENTU1ZhbHVlKiBpdGVtID0gaS52YWx1ZSgpOwotICAgICAgICAgICAgICAgIGlm
ICghaXRlbS0+aXNQcmltaXRpdmVWYWx1ZSgpKQotICAgICAgICAgICAgICAgICAgICBjb250aW51
ZTsKLSAgICAgICAgICAgICAgICBwcmltaXRpdmVWYWx1ZSA9IHN0YXRpY19jYXN0PENTU1ByaW1p
dGl2ZVZhbHVlKj4oaXRlbSk7Ci0gICAgICAgICAgICAgICAgc3dpdGNoIChwcmltaXRpdmVWYWx1
ZS0+Z2V0SWRlbnQoKSkgewotICAgICAgICAgICAgICAgICAgICBjYXNlIENTU1ZhbHVlTm9uZToK
LSAgICAgICAgICAgICAgICAgICAgICAgIHQgPSBURE5PTkU7IGJyZWFrOwotICAgICAgICAgICAg
ICAgICAgICBjYXNlIENTU1ZhbHVlVW5kZXJsaW5lOgotICAgICAgICAgICAgICAgICAgICAgICAg
dCB8PSBVTkRFUkxJTkU7IGJyZWFrOwotICAgICAgICAgICAgICAgICAgICBjYXNlIENTU1ZhbHVl
T3ZlcmxpbmU6Ci0gICAgICAgICAgICAgICAgICAgICAgICB0IHw9IE9WRVJMSU5FOyBicmVhazsK
LSAgICAgICAgICAgICAgICAgICAgY2FzZSBDU1NWYWx1ZUxpbmVUaHJvdWdoOgotICAgICAgICAg
ICAgICAgICAgICAgICAgdCB8PSBMSU5FX1RIUk9VR0g7IGJyZWFrOwotICAgICAgICAgICAgICAg
ICAgICBjYXNlIENTU1ZhbHVlQmxpbms6Ci0gICAgICAgICAgICAgICAgICAgICAgICB0IHw9IEJM
SU5LOyBicmVhazsKLSAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgICAg
ICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9CisgICAg
ICAgIEVUZXh0RGVjb3JhdGlvbiB0ID0gUmVuZGVyU3R5bGU6OmluaXRpYWxUZXh0RGVjb3JhdGlv
bigpOworICAgICAgICBmb3IgKENTU1ZhbHVlTGlzdEl0ZXJhdG9yIGkgPSB2YWx1ZTsgaS5oYXNN
b3JlKCk7IGkuYWR2YW5jZSgpKSB7CisgICAgICAgICAgICBDU1NWYWx1ZSogaXRlbSA9IGkudmFs
dWUoKTsKKyAgICAgICAgICAgIEFTU0VSVChpdGVtLT5pc1ByaW1pdGl2ZVZhbHVlKCkpOworICAg
ICAgICAgICAgdCB8PSAqc3RhdGljX2Nhc3Q8Q1NTUHJpbWl0aXZlVmFsdWUqPihpdGVtKTsKICAg
ICAgICAgfQotCiAgICAgICAgIG1fc3R5bGUtPnNldFRleHREZWNvcmF0aW9uKHQpOwogICAgICAg
ICByZXR1cm47CiAgICAgfQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1Jl
bmRlclN0eWxlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1JlbmRlclN0eWxlLmgJKHJldmlzaW9uIDk0NTQ5KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N0eWxlL1JlbmRlclN0eWxlLmgJKHdvcmtpbmcgY29weSkKQEAgLTE5Miw3ICsxOTIsNyBA
QCBwcm90ZWN0ZWQ6CiAgICAgICAgIHVuc2lnbmVkIF92aXNpYmlsaXR5IDogMjsgLy8gRVZpc2li
aWxpdHkKICAgICAgICAgdW5zaWduZWQgX3RleHRfYWxpZ24gOiA0OyAvLyBFVGV4dEFsaWduCiAg
ICAgICAgIHVuc2lnbmVkIF90ZXh0X3RyYW5zZm9ybSA6IDI7IC8vIEVUZXh0VHJhbnNmb3JtCi0g
ICAgICAgIHVuc2lnbmVkIF90ZXh0X2RlY29yYXRpb25zIDogNDsKKyAgICAgICAgRVRleHREZWNv
cmF0aW9uIF90ZXh0X2RlY29yYXRpb25zIDogRVRleHREZWNvcmF0aW9uQml0czsKICAgICAgICAg
dW5zaWduZWQgX2N1cnNvcl9zdHlsZSA6IDY7IC8vIEVDdXJzb3IKICAgICAgICAgdW5zaWduZWQg
X2RpcmVjdGlvbiA6IDE7IC8vIFRleHREaXJlY3Rpb24KICAgICAgICAgdW5zaWduZWQgX2JvcmRl
cl9jb2xsYXBzZSA6IDE7IC8vIEVCb3JkZXJDb2xsYXBzZQpAQCAtNDg1LDggKzQ4NSw4IEBAIHB1
YmxpYzoKICAgICBMZW5ndGggdGV4dEluZGVudCgpIGNvbnN0IHsgcmV0dXJuIHJhcmVJbmhlcml0
ZWREYXRhLT5pbmRlbnQ7IH0KICAgICBFVGV4dEFsaWduIHRleHRBbGlnbigpIGNvbnN0IHsgcmV0
dXJuIHN0YXRpY19jYXN0PEVUZXh0QWxpZ24+KGluaGVyaXRlZF9mbGFncy5fdGV4dF9hbGlnbik7
IH0KICAgICBFVGV4dFRyYW5zZm9ybSB0ZXh0VHJhbnNmb3JtKCkgY29uc3QgeyByZXR1cm4gc3Rh
dGljX2Nhc3Q8RVRleHRUcmFuc2Zvcm0+KGluaGVyaXRlZF9mbGFncy5fdGV4dF90cmFuc2Zvcm0p
OyB9Ci0gICAgaW50IHRleHREZWNvcmF0aW9uc0luRWZmZWN0KCkgY29uc3QgeyByZXR1cm4gaW5o
ZXJpdGVkX2ZsYWdzLl90ZXh0X2RlY29yYXRpb25zOyB9Ci0gICAgaW50IHRleHREZWNvcmF0aW9u
KCkgY29uc3QgeyByZXR1cm4gdmlzdWFsLT50ZXh0RGVjb3JhdGlvbjsgfQorICAgIEVUZXh0RGVj
b3JhdGlvbiB0ZXh0RGVjb3JhdGlvbnNJbkVmZmVjdCgpIGNvbnN0IHsgcmV0dXJuIGluaGVyaXRl
ZF9mbGFncy5fdGV4dF9kZWNvcmF0aW9uczsgfQorICAgIEVUZXh0RGVjb3JhdGlvbiB0ZXh0RGVj
b3JhdGlvbigpIGNvbnN0IHsgcmV0dXJuIHZpc3VhbC0+dGV4dERlY29yYXRpb247IH0KICAgICBp
bnQgd29yZFNwYWNpbmcoKSBjb25zdCB7IHJldHVybiBpbmhlcml0ZWQtPmZvbnQud29yZFNwYWNp
bmcoKTsgfQogICAgIGludCBsZXR0ZXJTcGFjaW5nKCkgY29uc3QgeyByZXR1cm4gaW5oZXJpdGVk
LT5mb250LmxldHRlclNwYWNpbmcoKTsgfQogCkBAIC05NDksOSArOTQ5LDkgQEAgcHVibGljOgog
ICAgIHZvaWQgc2V0VGV4dEluZGVudChMZW5ndGggdikgeyBTRVRfVkFSKHJhcmVJbmhlcml0ZWRE
YXRhLCBpbmRlbnQsIHYpIH0KICAgICB2b2lkIHNldFRleHRBbGlnbihFVGV4dEFsaWduIHYpIHsg
aW5oZXJpdGVkX2ZsYWdzLl90ZXh0X2FsaWduID0gdjsgfQogICAgIHZvaWQgc2V0VGV4dFRyYW5z
Zm9ybShFVGV4dFRyYW5zZm9ybSB2KSB7IGluaGVyaXRlZF9mbGFncy5fdGV4dF90cmFuc2Zvcm0g
PSB2OyB9Ci0gICAgdm9pZCBhZGRUb1RleHREZWNvcmF0aW9uc0luRWZmZWN0KGludCB2KSB7IGlu
aGVyaXRlZF9mbGFncy5fdGV4dF9kZWNvcmF0aW9ucyB8PSB2OyB9Ci0gICAgdm9pZCBzZXRUZXh0
RGVjb3JhdGlvbnNJbkVmZmVjdChpbnQgdikgeyBpbmhlcml0ZWRfZmxhZ3MuX3RleHRfZGVjb3Jh
dGlvbnMgPSB2OyB9Ci0gICAgdm9pZCBzZXRUZXh0RGVjb3JhdGlvbihpbnQgdikgeyBTRVRfVkFS
KHZpc3VhbCwgdGV4dERlY29yYXRpb24sIHYpOyB9CisgICAgdm9pZCBhZGRUb1RleHREZWNvcmF0
aW9uc0luRWZmZWN0KEVUZXh0RGVjb3JhdGlvbiB2KSB7IGluaGVyaXRlZF9mbGFncy5fdGV4dF9k
ZWNvcmF0aW9ucyA9IGluaGVyaXRlZF9mbGFncy5fdGV4dF9kZWNvcmF0aW9ucyB8IHY7IH0KKyAg
ICB2b2lkIHNldFRleHREZWNvcmF0aW9uc0luRWZmZWN0KEVUZXh0RGVjb3JhdGlvbiB2KSB7IGlu
aGVyaXRlZF9mbGFncy5fdGV4dF9kZWNvcmF0aW9ucyA9IHY7IH0KKyAgICB2b2lkIHNldFRleHRE
ZWNvcmF0aW9uKEVUZXh0RGVjb3JhdGlvbiB2KSB7IFNFVF9WQVIodmlzdWFsLCB0ZXh0RGVjb3Jh
dGlvbiwgdik7IH0KICAgICB2b2lkIHNldERpcmVjdGlvbihUZXh0RGlyZWN0aW9uIHYpIHsgaW5o
ZXJpdGVkX2ZsYWdzLl9kaXJlY3Rpb24gPSB2OyB9CiAgICAgdm9pZCBzZXRMaW5lSGVpZ2h0KExl
bmd0aCB2KSB7IFNFVF9WQVIoaW5oZXJpdGVkLCBsaW5lX2hlaWdodCwgdikgfQogICAgIGJvb2wg
c2V0Wm9vbShmbG9hdCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVu
ZGVyU3R5bGVDb25zdGFudHMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaAkocmV2aXNpb24gOTQ1NDkpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMzM2LDkgKzMzNiwxMiBAQCBlbnVtIEVUZXh0VHJhbnNmb3JtIHsKICAgICBD
QVBJVEFMSVpFLCBVUFBFUkNBU0UsIExPV0VSQ0FTRSwgVFROT05FCiB9OwogCitzdGF0aWMgY29u
c3Qgc2l6ZV90IEVUZXh0RGVjb3JhdGlvbkJpdHMgPSA0OwogZW51bSBFVGV4dERlY29yYXRpb24g
ewogICAgIFRETk9ORSA9IDB4MCAsIFVOREVSTElORSA9IDB4MSwgT1ZFUkxJTkUgPSAweDIsIExJ
TkVfVEhST1VHSD0gMHg0LCBCTElOSyA9IDB4OAogfTsKK2lubGluZSBFVGV4dERlY29yYXRpb24g
b3BlcmF0b3J8KEVUZXh0RGVjb3JhdGlvbiBhLCBFVGV4dERlY29yYXRpb24gYikgeyByZXR1cm4g
RVRleHREZWNvcmF0aW9uKGludChhKSB8IGludChiKSk7IH0KK2lubGluZSBFVGV4dERlY29yYXRp
b24mIG9wZXJhdG9yfD0oRVRleHREZWNvcmF0aW9uJiBhLCBFVGV4dERlY29yYXRpb24gYikgeyBy
ZXR1cm4gYSA9IGEgfCBiOyB9CiAKIGVudW0gRVBhZ2VCcmVhayB7CiAgICAgUEJBVVRPLCBQQkFM
V0FZUywgUEJBVk9JRApJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxl
VmlzdWFsRGF0YS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9TdHlsZVZpc3VhbERhdGEuaAkocmV2aXNpb24gOTQ1NDkpCisrKyBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvU3R5bGVWaXN1YWxEYXRhLmgJKHdvcmtpbmcgY29weSkKQEAgLTI2LDYg
KzI2LDcgQEAKICNkZWZpbmUgU3R5bGVWaXN1YWxEYXRhX2gKIAogI2luY2x1ZGUgIkxlbmd0aEJv
eC5oIgorI2luY2x1ZGUgIlJlbmRlclN0eWxlQ29uc3RhbnRzLmgiCiAjaW5jbHVkZSA8d3RmL1Jl
ZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogCkBAIC00OCw3ICs0OSw3
IEBAIHB1YmxpYzoKIAogICAgIExlbmd0aEJveCBjbGlwOwogICAgIGJvb2wgaGFzQ2xpcCA6IDE7
Ci0gICAgdW5zaWduZWQgdGV4dERlY29yYXRpb24gOiA0OyAvLyBUZXh0IGRlY29yYXRpb25zIGRl
ZmluZWQgKm9ubHkqIGJ5IHRoaXMgZWxlbWVudC4KKyAgICBFVGV4dERlY29yYXRpb24gdGV4dERl
Y29yYXRpb24gOiBFVGV4dERlY29yYXRpb25CaXRzOyAvLyBUZXh0IGRlY29yYXRpb25zIGRlZmlu
ZWQgKm9ubHkqIGJ5IHRoaXMgZWxlbWVudC4KICAgICAKICAgICBmbG9hdCBtX3pvb207CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>107954</attachid>
            <date>2011-09-19 18:46:20 -0700</date>
            <delta_ts>2011-10-12 15:50:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-67625-20110920114617.patch</filename>
            <type>text/plain</type>
            <size>8890</size>
            <attacher name="Luke Macpherson">macpherson</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk1NTAwKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzggQEAKKzIwMTEtMDktMTUgIEx1a2UgTWFj
cGhlcnNvbiAgIDxtYWNwaGVyc29uQGNocm9taXVtLm9yZz4KKworICAgICAgICBDbGVhbiB1cCBD
U1NQcm9wZXJ0eVRleHREZWNvcmF0aW9uIGltcGxlbWVudGF0aW9uIGFuZCBFVGV4dERlY29yYXRp
b24gdXNhZ2UuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD02NzYyNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IE5vIG5ldyB0ZXN0cyAtIG5vIGZ1bmN0aW9uYWxpdHkgY2hhbmdlZC4KKworICAgICAgICBUaGUg
aW1wbGVtZW50YXRpb24gb2YgQ1NTUHJvcGVydHlUZXh0RGVjb3JhdGlvbiBpcyBzaW1saWZpZWQg
YmVjYXVzZQorICAgICAgICAxKSBDU1NWYWx1ZUxpc3RJdGVyYXRvciBwcm9kdWNlcyBhIHZhbGlk
IGl0ZXJhdG9yIHdoZW4gbm8gcmVzdWx0cyBhdmFpbGFibGUuCisgICAgICAgIDIpIENTU1BhcnNl
ciBvbmx5IGFsbG93cyBDU1NWYWx1ZU5vbmUgb3IgYSBsaXN0IG9mIGFwcHJvcHJpYXRlIGlkZW50
cy4KKyAgICAgICAgMykgQ1NTUGFyc2VyIHdpbGwgdHJlYXQgYSB6ZXJvLWxlbmd0aCBsaXN0IGFz
IGludmFsaWQgYXQgcGFyc2UgdGltZS4KKworICAgICAgICAqIGNzcy9DU1NQcmltaXRpdmVWYWx1
ZU1hcHBpbmdzLmg6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6b3BlcmF0
b3IgRVRleHREZWNvcmF0aW9uKToKKyAgICAgICAgSW1wbGVtZW50IGNhc3QgZnJvbSBDU1NQcmlt
aXRpdmVWYWx1ZSB0byBFVGV4dERlY29yYXRpb24uCisgICAgICAgICogY3NzL0NTU1N0eWxlU2Vs
ZWN0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6YXBwbHlQcm9w
ZXJ0eSk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmg6CisgICAgICAg
IFVzZSBFVGV4dERlY29yYXRpb24gZW51bSBpbnN0ZWFkIG9mIGludCB0aHJvdWdob3V0LgorICAg
ICAgICAoV2ViQ29yZTo6SW5oZXJpdGVkRmxhZ3M6OnRleHREZWNvcmF0aW9uc0luRWZmZWN0KToK
KyAgICAgICAgKFdlYkNvcmU6OkluaGVyaXRlZEZsYWdzOjp0ZXh0RGVjb3JhdGlvbik6CisgICAg
ICAgIChXZWJDb3JlOjpJbmhlcml0ZWRGbGFnczo6YWRkVG9UZXh0RGVjb3JhdGlvbnNJbkVmZmVj
dCk6CisgICAgICAgIChXZWJDb3JlOjpJbmhlcml0ZWRGbGFnczo6c2V0VGV4dERlY29yYXRpb25z
SW5FZmZlY3QpOgorICAgICAgICAoV2ViQ29yZTo6SW5oZXJpdGVkRmxhZ3M6OnNldFRleHREZWNv
cmF0aW9uKToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMu
aDoKKyAgICAgICAgSW50cm9kdWNlIGNvbnN0YW50IGZvciBudW1iZXIgb2YgYml0cyByZXF1aXJl
ZCB0byByZXByZXNlbnQgZW51bS4KKyAgICAgICAgKFdlYkNvcmU6Om9wZXJhdG9yfCk6CisgICAg
ICAgIEltcGxlbWVudCB8IG9wZXJhdG9yIGZvciBiaXRmaWVsZCBlbnVtLgorICAgICAgICAoV2Vi
Q29yZTo6b3BlcmF0b3J8PSk6CisgICAgICAgIEltcGxlbWVudCB8PSBvcGVyYXRvciBmb3IgYml0
ZmllbGQgZW51bS4KKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVWaXN1YWxEYXRhLmg6
CisgICAgICAgIFVzZSBFVGV4dERlY29yYXRpb24gaW5zdGVhZCBvZiBpbnQuCisKIDIwMTEtMDkt
MTkgIEplcmVteSBBcHRob3JwICA8amVyZW15YUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgRml4
IGEgdXNlLWFmdGVyLWZyZWU6IGNsZWFyIHRoZSBmdWxsc2NyZWVuIGNoYW5nZSBldmVudCB0YXJn
ZXQgcXVldWUgYXQKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1h
cHBpbmdzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZh
bHVlTWFwcGluZ3MuaAkocmV2aXNpb24gOTU1MDApCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMDAzLDYgKzIwMDMs
MjUgQEAgdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6Om9wZQogICAgIH0KIH0K
IAordGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6Om9wZXJhdG9yIEVUZXh0RGVj
b3JhdGlvbigpIGNvbnN0Cit7CisgICAgc3dpdGNoIChtX3ZhbHVlLmlkZW50KSB7CisgICAgY2Fz
ZSBDU1NWYWx1ZU5vbmU6CisgICAgICAgIHJldHVybiBURE5PTkU7CisgICAgY2FzZSBDU1NWYWx1
ZVVuZGVybGluZToKKyAgICAgICAgcmV0dXJuIFVOREVSTElORTsKKyAgICBjYXNlIENTU1ZhbHVl
T3ZlcmxpbmU6CisgICAgICAgIHJldHVybiBPVkVSTElORTsKKyAgICBjYXNlIENTU1ZhbHVlTGlu
ZVRocm91Z2g6CisgICAgICAgIHJldHVybiBMSU5FX1RIUk9VR0g7CisgICAgY2FzZSBDU1NWYWx1
ZUJsaW5rOgorICAgICAgICByZXR1cm4gQkxJTks7CisgICAgZGVmYXVsdDoKKyAgICAgICAgQVNT
RVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVybiBURE5PTkU7CisgICAgfQorfQorCiB0
ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTUHJpbWl0aXZlVmFsdWUoRVRl
eHRTZWN1cml0eSBlKQogICAgIDogbV90eXBlKENTU19JREVOVCkKICAgICAsIG1faGFzQ2FjaGVk
Q1NTVGV4dChmYWxzZSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9y
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5j
cHAJKHJldmlzaW9uIDk1NTAwKQorKysgU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0
b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yODY2LDM1ICsyODY2LDEyIEBAIHZvaWQgQ1NTU3R5
bGVTZWxlY3Rvcjo6YXBwbHlQcm9wZXJ0eShpbnQKICAgICBjYXNlIENTU1Byb3BlcnR5VGV4dERl
Y29yYXRpb246IHsKICAgICAgICAgLy8gbGlzdCBvZiBpZGVudAogICAgICAgICBIQU5ETEVfSU5I
RVJJVF9BTkRfSU5JVElBTCh0ZXh0RGVjb3JhdGlvbiwgVGV4dERlY29yYXRpb24pCi0gICAgICAg
IGludCB0ID0gUmVuZGVyU3R5bGU6OmluaXRpYWxUZXh0RGVjb3JhdGlvbigpOwotICAgICAgICBp
ZiAocHJpbWl0aXZlVmFsdWUgJiYgcHJpbWl0aXZlVmFsdWUtPmdldElkZW50KCkgPT0gQ1NTVmFs
dWVOb25lKSB7Ci0gICAgICAgICAgICAvLyBkbyBub3RoaW5nCi0gICAgICAgIH0gZWxzZSB7Ci0g
ICAgICAgICAgICBpZiAoIXZhbHVlLT5pc1ZhbHVlTGlzdCgpKQotICAgICAgICAgICAgICAgIHJl
dHVybjsKLSAgICAgICAgICAgIGZvciAoQ1NTVmFsdWVMaXN0SXRlcmF0b3IgaSA9IHZhbHVlOyBp
Lmhhc01vcmUoKTsgaS5hZHZhbmNlKCkpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
Q1NTVmFsdWUqIGl0ZW0gPSBpLnZhbHVlKCk7Ci0gICAgICAgICAgICAgICAgaWYgKCFpdGVtLT5p
c1ByaW1pdGl2ZVZhbHVlKCkpCi0gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAg
ICAgICAgICAgIHByaW1pdGl2ZVZhbHVlID0gc3RhdGljX2Nhc3Q8Q1NTUHJpbWl0aXZlVmFsdWUq
PihpdGVtKTsKLSAgICAgICAgICAgICAgICBzd2l0Y2ggKHByaW1pdGl2ZVZhbHVlLT5nZXRJZGVu
dCgpKSB7Ci0gICAgICAgICAgICAgICAgICAgIGNhc2UgQ1NTVmFsdWVOb25lOgotICAgICAgICAg
ICAgICAgICAgICAgICAgdCA9IFRETk9ORTsgYnJlYWs7Ci0gICAgICAgICAgICAgICAgICAgIGNh
c2UgQ1NTVmFsdWVVbmRlcmxpbmU6Ci0gICAgICAgICAgICAgICAgICAgICAgICB0IHw9IFVOREVS
TElORTsgYnJlYWs7Ci0gICAgICAgICAgICAgICAgICAgIGNhc2UgQ1NTVmFsdWVPdmVybGluZToK
LSAgICAgICAgICAgICAgICAgICAgICAgIHQgfD0gT1ZFUkxJTkU7IGJyZWFrOwotICAgICAgICAg
ICAgICAgICAgICBjYXNlIENTU1ZhbHVlTGluZVRocm91Z2g6Ci0gICAgICAgICAgICAgICAgICAg
ICAgICB0IHw9IExJTkVfVEhST1VHSDsgYnJlYWs7Ci0gICAgICAgICAgICAgICAgICAgIGNhc2Ug
Q1NTVmFsdWVCbGluazoKLSAgICAgICAgICAgICAgICAgICAgICAgIHQgfD0gQkxJTks7IGJyZWFr
OwotICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgICAgICAgICAgICAg
cmV0dXJuOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KKyAgICAgICAgRVRleHRE
ZWNvcmF0aW9uIHQgPSBSZW5kZXJTdHlsZTo6aW5pdGlhbFRleHREZWNvcmF0aW9uKCk7CisgICAg
ICAgIGZvciAoQ1NTVmFsdWVMaXN0SXRlcmF0b3IgaSA9IHZhbHVlOyBpLmhhc01vcmUoKTsgaS5h
ZHZhbmNlKCkpIHsKKyAgICAgICAgICAgIENTU1ZhbHVlKiBpdGVtID0gaS52YWx1ZSgpOworICAg
ICAgICAgICAgQVNTRVJUKGl0ZW0tPmlzUHJpbWl0aXZlVmFsdWUoKSk7CisgICAgICAgICAgICB0
IHw9ICpzdGF0aWNfY2FzdDxDU1NQcmltaXRpdmVWYWx1ZSo+KGl0ZW0pOwogICAgICAgICB9Ci0K
ICAgICAgICAgbV9zdHlsZS0+c2V0VGV4dERlY29yYXRpb24odCk7CiAgICAgICAgIHJldHVybjsK
ICAgICB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5
bGUuaAkocmV2aXNpb24gOTU1MDApCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
UmVuZGVyU3R5bGUuaAkod29ya2luZyBjb3B5KQpAQCAtMTkyLDcgKzE5Miw3IEBAIHByb3RlY3Rl
ZDoKICAgICAgICAgdW5zaWduZWQgX3Zpc2liaWxpdHkgOiAyOyAvLyBFVmlzaWJpbGl0eQogICAg
ICAgICB1bnNpZ25lZCBfdGV4dF9hbGlnbiA6IDQ7IC8vIEVUZXh0QWxpZ24KICAgICAgICAgdW5z
aWduZWQgX3RleHRfdHJhbnNmb3JtIDogMjsgLy8gRVRleHRUcmFuc2Zvcm0KLSAgICAgICAgdW5z
aWduZWQgX3RleHRfZGVjb3JhdGlvbnMgOiA0OworICAgICAgICB1bnNpZ25lZCBfdGV4dF9kZWNv
cmF0aW9ucyA6IEVUZXh0RGVjb3JhdGlvbkJpdHM7CiAgICAgICAgIHVuc2lnbmVkIF9jdXJzb3Jf
c3R5bGUgOiA2OyAvLyBFQ3Vyc29yCiAgICAgICAgIHVuc2lnbmVkIF9kaXJlY3Rpb24gOiAxOyAv
LyBUZXh0RGlyZWN0aW9uCiAgICAgICAgIHVuc2lnbmVkIF9ib3JkZXJfY29sbGFwc2UgOiAxOyAv
LyBFQm9yZGVyQ29sbGFwc2UKQEAgLTUxNiw4ICs1MTYsOCBAQCBwdWJsaWM6CiAgICAgTGVuZ3Ro
IHRleHRJbmRlbnQoKSBjb25zdCB7IHJldHVybiByYXJlSW5oZXJpdGVkRGF0YS0+aW5kZW50OyB9
CiAgICAgRVRleHRBbGlnbiB0ZXh0QWxpZ24oKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxF
VGV4dEFsaWduPihpbmhlcml0ZWRfZmxhZ3MuX3RleHRfYWxpZ24pOyB9CiAgICAgRVRleHRUcmFu
c2Zvcm0gdGV4dFRyYW5zZm9ybSgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEVUZXh0VHJh
bnNmb3JtPihpbmhlcml0ZWRfZmxhZ3MuX3RleHRfdHJhbnNmb3JtKTsgfQotICAgIGludCB0ZXh0
RGVjb3JhdGlvbnNJbkVmZmVjdCgpIGNvbnN0IHsgcmV0dXJuIGluaGVyaXRlZF9mbGFncy5fdGV4
dF9kZWNvcmF0aW9uczsgfQotICAgIGludCB0ZXh0RGVjb3JhdGlvbigpIGNvbnN0IHsgcmV0dXJu
IHZpc3VhbC0+dGV4dERlY29yYXRpb247IH0KKyAgICBFVGV4dERlY29yYXRpb24gdGV4dERlY29y
YXRpb25zSW5FZmZlY3QoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxFVGV4dERlY29yYXRp
b24+KGluaGVyaXRlZF9mbGFncy5fdGV4dF9kZWNvcmF0aW9ucyk7IH0KKyAgICBFVGV4dERlY29y
YXRpb24gdGV4dERlY29yYXRpb24oKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxFVGV4dERl
Y29yYXRpb24+KHZpc3VhbC0+dGV4dERlY29yYXRpb24pOyB9CiAgICAgaW50IHdvcmRTcGFjaW5n
KCkgY29uc3QgeyByZXR1cm4gaW5oZXJpdGVkLT5mb250LndvcmRTcGFjaW5nKCk7IH0KICAgICBp
bnQgbGV0dGVyU3BhY2luZygpIGNvbnN0IHsgcmV0dXJuIGluaGVyaXRlZC0+Zm9udC5sZXR0ZXJT
cGFjaW5nKCk7IH0KIApAQCAtOTgxLDkgKzk4MSw5IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFRl
eHRJbmRlbnQoTGVuZ3RoIHYpIHsgU0VUX1ZBUihyYXJlSW5oZXJpdGVkRGF0YSwgaW5kZW50LCB2
KSB9CiAgICAgdm9pZCBzZXRUZXh0QWxpZ24oRVRleHRBbGlnbiB2KSB7IGluaGVyaXRlZF9mbGFn
cy5fdGV4dF9hbGlnbiA9IHY7IH0KICAgICB2b2lkIHNldFRleHRUcmFuc2Zvcm0oRVRleHRUcmFu
c2Zvcm0gdikgeyBpbmhlcml0ZWRfZmxhZ3MuX3RleHRfdHJhbnNmb3JtID0gdjsgfQotICAgIHZv
aWQgYWRkVG9UZXh0RGVjb3JhdGlvbnNJbkVmZmVjdChpbnQgdikgeyBpbmhlcml0ZWRfZmxhZ3Mu
X3RleHRfZGVjb3JhdGlvbnMgfD0gdjsgfQotICAgIHZvaWQgc2V0VGV4dERlY29yYXRpb25zSW5F
ZmZlY3QoaW50IHYpIHsgaW5oZXJpdGVkX2ZsYWdzLl90ZXh0X2RlY29yYXRpb25zID0gdjsgfQot
ICAgIHZvaWQgc2V0VGV4dERlY29yYXRpb24oaW50IHYpIHsgU0VUX1ZBUih2aXN1YWwsIHRleHRE
ZWNvcmF0aW9uLCB2KTsgfQorICAgIHZvaWQgYWRkVG9UZXh0RGVjb3JhdGlvbnNJbkVmZmVjdChF
VGV4dERlY29yYXRpb24gdikgeyBpbmhlcml0ZWRfZmxhZ3MuX3RleHRfZGVjb3JhdGlvbnMgfD0g
djsgfQorICAgIHZvaWQgc2V0VGV4dERlY29yYXRpb25zSW5FZmZlY3QoRVRleHREZWNvcmF0aW9u
IHYpIHsgaW5oZXJpdGVkX2ZsYWdzLl90ZXh0X2RlY29yYXRpb25zID0gdjsgfQorICAgIHZvaWQg
c2V0VGV4dERlY29yYXRpb24oRVRleHREZWNvcmF0aW9uIHYpIHsgU0VUX1ZBUih2aXN1YWwsIHRl
eHREZWNvcmF0aW9uLCB2KTsgfQogICAgIHZvaWQgc2V0RGlyZWN0aW9uKFRleHREaXJlY3Rpb24g
dikgeyBpbmhlcml0ZWRfZmxhZ3MuX2RpcmVjdGlvbiA9IHY7IH0KICAgICB2b2lkIHNldExpbmVI
ZWlnaHQoTGVuZ3RoIHYpIHsgU0VUX1ZBUihpbmhlcml0ZWQsIGxpbmVfaGVpZ2h0LCB2KSB9CiAg
ICAgYm9vbCBzZXRab29tKGZsb2F0KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oCShyZXZpc2lvbiA5NTUwMCkK
KysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5o
CSh3b3JraW5nIGNvcHkpCkBAIC0zMzYsOSArMzM2LDEyIEBAIGVudW0gRVRleHRUcmFuc2Zvcm0g
ewogICAgIENBUElUQUxJWkUsIFVQUEVSQ0FTRSwgTE9XRVJDQVNFLCBUVE5PTkUKIH07CiAKK3N0
YXRpYyBjb25zdCBzaXplX3QgRVRleHREZWNvcmF0aW9uQml0cyA9IDQ7CiBlbnVtIEVUZXh0RGVj
b3JhdGlvbiB7CiAgICAgVEROT05FID0gMHgwICwgVU5ERVJMSU5FID0gMHgxLCBPVkVSTElORSA9
IDB4MiwgTElORV9USFJPVUdIPSAweDQsIEJMSU5LID0gMHg4CiB9OworaW5saW5lIEVUZXh0RGVj
b3JhdGlvbiBvcGVyYXRvcnwoRVRleHREZWNvcmF0aW9uIGEsIEVUZXh0RGVjb3JhdGlvbiBiKSB7
IHJldHVybiBFVGV4dERlY29yYXRpb24oaW50KGEpIHwgaW50KGIpKTsgfQoraW5saW5lIEVUZXh0
RGVjb3JhdGlvbiYgb3BlcmF0b3J8PShFVGV4dERlY29yYXRpb24mIGEsIEVUZXh0RGVjb3JhdGlv
biBiKSB7IHJldHVybiBhID0gYSB8IGI7IH0KIAogZW51bSBFUGFnZUJyZWFrIHsKICAgICBQQkFV
VE8sIFBCQUxXQVlTLCBQQkFWT0lECkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5
bGUvU3R5bGVWaXN1YWxEYXRhLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N0eWxlL1N0eWxlVmlzdWFsRGF0YS5oCShyZXZpc2lvbiA5NTUwMCkKKysrIFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVZpc3VhbERhdGEuaAkod29ya2luZyBjb3B5KQpA
QCAtMjYsNiArMjYsNyBAQAogI2RlZmluZSBTdHlsZVZpc3VhbERhdGFfaAogCiAjaW5jbHVkZSAi
TGVuZ3RoQm94LmgiCisjaW5jbHVkZSAiUmVuZGVyU3R5bGVDb25zdGFudHMuaCIKICNpbmNsdWRl
IDx3dGYvUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAKQEAgLTQ4
LDcgKzQ5LDcgQEAgcHVibGljOgogCiAgICAgTGVuZ3RoQm94IGNsaXA7CiAgICAgYm9vbCBoYXND
bGlwIDogMTsKLSAgICB1bnNpZ25lZCB0ZXh0RGVjb3JhdGlvbiA6IDQ7IC8vIFRleHQgZGVjb3Jh
dGlvbnMgZGVmaW5lZCAqb25seSogYnkgdGhpcyBlbGVtZW50LgorICAgIHVuc2lnbmVkIHRleHRE
ZWNvcmF0aW9uIDogRVRleHREZWNvcmF0aW9uQml0czsgLy8gVGV4dCBkZWNvcmF0aW9ucyBkZWZp
bmVkICpvbmx5KiBieSB0aGlzIGVsZW1lbnQuCiAgICAgCiAgICAgZmxvYXQgbV96b29tOwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>