<?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>101495</bug_id>
          
          <creation_ts>2012-11-07 11:33:56 -0800</creation_ts>
          <short_desc>Web Inspector: styled logs should work with multiple log() arguments</short_desc>
          <delta_ts>2012-11-12 00:30:33 -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>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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="Paul Irish">paulirish</reporter>
          <assigned_to name="Mike West">mkwst</assigned_to>
          <cc>apavlov</cc>
    
    <cc>dglazkov</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>mkwst</cc>
    
    <cc>odvarko</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>vsevik</cc>
    
    <cc>web-inspector-bugs</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>760924</commentid>
    <comment_count>0</comment_count>
    <who name="Paul Irish">paulirish</who>
    <bug_when>2012-11-07 11:33:56 -0800</bug_when>
    <thetext>Execute:

console.log(&apos;%c styled&apos;, &apos;unstyled&apos;, &apos;color:red&apos;);

Only the text &quot; styled color:red&quot;  is logged.



I would expect these to work:

console.log(&apos;%c red text&apos;, &apos;unstyled&apos;, &apos;color:red&apos;);
console.log(window, &apos;unstyled&apos;, &apos;%c red text&apos;, &apos;color:red&apos;);
console.log(&apos;unstyled&apos;, document.body, &apos;%c red text&apos;, &apos;color:red&apos;);

I suppose there isn&apos;t a spec&apos;s behavior here to follow, but this seems an intuitive direction.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>760963</commentid>
    <comment_count>1</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-11-07 12:21:01 -0800</bug_when>
    <thetext>&gt; I would expect these to work:
&gt; 
&gt; console.log(&apos;%c red text&apos;, &apos;unstyled&apos;, &apos;color:red&apos;);
&gt; console.log(window, &apos;unstyled&apos;, &apos;%c red text&apos;, &apos;color:red&apos;);
&gt; console.log(&apos;unstyled&apos;, document.body, &apos;%c red text&apos;, &apos;color:red&apos;);

Here is the message formatting logic: when there are multiple arguments, if the first argument is a string, it is considered a &quot;message format&quot;. message format string absorbes parameter per %X occurrence. So you should not expect the onces above to work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>761800</commentid>
    <comment_count>2</comment_count>
    <who name="Jan Honza Odvarko">odvarko</who>
    <bug_when>2012-11-08 07:52:58 -0800</bug_when>
    <thetext>(In reply to comment #1)
&gt; &gt; I would expect these to work:
&gt; &gt; 
&gt; &gt; console.log(&apos;%c red text&apos;, &apos;unstyled&apos;, &apos;color:red&apos;);
&gt; &gt; console.log(window, &apos;unstyled&apos;, &apos;%c red text&apos;, &apos;color:red&apos;);
&gt; &gt; console.log(&apos;unstyled&apos;, document.body, &apos;%c red text&apos;, &apos;color:red&apos;);
&gt; 

&gt; Here is the message formatting logic: when there are multiple arguments, if
&gt; the first argument is a string, it is considered a &quot;message format&quot;. message
&gt; format string absorbes parameter per %X occurrence.
Agree

FWG had a similar discussion about styling parts of the log output, e.g. make only part of the log red or green.

What about using the following concept:

console.log(&apos;%c red-text %c green-text&apos;, &apos;color:red&apos;, &apos;color:green&apos;);

Honza</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>762819</commentid>
    <comment_count>3</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-11-09 04:21:15 -0800</bug_when>
    <thetext>&gt; console.log(&apos;%c red-text %c green-text&apos;, &apos;color:red&apos;, &apos;color:green&apos;);

This matches the formatting logic well, so sure, why not.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>762865</commentid>
    <comment_count>4</comment_count>
    <who name="Jan Honza Odvarko">odvarko</who>
    <bug_when>2012-11-09 05:17:41 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; &gt; console.log(&apos;%c red-text %c green-text&apos;, &apos;color:red&apos;, &apos;color:green&apos;);
&gt; 
&gt; This matches the formatting logic well, so sure, why not.
Excellent, patch for Firebug committed at:
https://github.com/firebug/firebug/commit/7d6f7e951f9222d8c8f5252c148d84e072f4bb18

Related issue report:
http://code.google.com/p/fbug/issues/detail?id=6064

Honza</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>762875</commentid>
    <comment_count>5</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-11-09 05:22:26 -0800</bug_when>
    <thetext>I&apos;ll take this at some point in the relatively near future.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>763655</commentid>
    <comment_count>6</comment_count>
      <attachid>173452</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-11-10 07:26:35 -0800</bug_when>
    <thetext>Created attachment 173452
After.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>763656</commentid>
    <comment_count>7</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-11-10 07:27:42 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; Created an attachment (id=173452) [details]
&gt; After.

The work is trivial; I just need to change the tests. Should have a patch up in an hour or so (compiling === slow at home :( ).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>763662</commentid>
    <comment_count>8</comment_count>
      <attachid>173453</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-11-10 08:14:22 -0800</bug_when>
    <thetext>Created attachment 173453
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>763663</commentid>
    <comment_count>9</comment_count>
      <attachid>173453</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-11-10 08:26:17 -0800</bug_when>
    <thetext>Comment on attachment 173453
Patch

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

&gt; Source/WebCore/inspector/front-end/ConsoleMessage.js:477
&gt; +        var currentStyle = {};

You probably mean var currentStyle = null; here.

&gt; Source/WebCore/inspector/front-end/ConsoleMessage.js:523
&gt; +                        if (currentStyle.hasOwnProperty(key))

You don&apos;t need this check: enumerable properties on the object created with {} is what you need.

&gt; LayoutTests/inspector/console/console-format-style.html:9
&gt; +                console.log(&apos;%cRed! %cRed!&apos;, &apos;color: blue;&apos;, &apos;color: red;&apos;);

%cBlue! %cRed!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>763664</commentid>
    <comment_count>10</comment_count>
      <attachid>173454</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-11-10 08:40:22 -0800</bug_when>
    <thetext>Created attachment 173454
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>763665</commentid>
    <comment_count>11</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-11-10 08:41:35 -0800</bug_when>
    <thetext>(In reply to comment #9)
&gt; (From update of attachment 173453 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=173453&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/inspector/front-end/ConsoleMessage.js:477
&gt; &gt; +        var currentStyle = {};
&gt; 
&gt; You probably mean var currentStyle = null; here.

Sure. That&apos;s slightly faster.

&gt; &gt; Source/WebCore/inspector/front-end/ConsoleMessage.js:523
&gt; &gt; +                        if (currentStyle.hasOwnProperty(key))
&gt; 
&gt; You don&apos;t need this check: enumerable properties on the object created with {} is what you need.

Habit. But you&apos;re right; I&apos;ll drop it.

&gt; &gt; LayoutTests/inspector/console/console-format-style.html:9
&gt; &gt; +                console.log(&apos;%cRed! %cRed!&apos;, &apos;color: blue;&apos;, &apos;color: red;&apos;);
&gt; 
&gt; %cBlue! %cRed!

%cCopy! %cPaste! %cError! :)

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>763666</commentid>
    <comment_count>12</comment_count>
      <attachid>173455</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-11-10 08:46:05 -0800</bug_when>
    <thetext>Created attachment 173455
Rebased.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>763671</commentid>
    <comment_count>13</comment_count>
      <attachid>173455</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-11-10 10:06:03 -0800</bug_when>
    <thetext>Comment on attachment 173455
Rebased.

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

Thanks!

&gt; Source/WebCore/inspector/front-end/ConsoleMessage.js:480
&gt; +        var currentStyle = null;

It is not that it is now faster. It is that otherwise your code was wrong and was wrapping everything.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>763679</commentid>
    <comment_count>14</comment_count>
      <attachid>173455</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-10 10:41:10 -0800</bug_when>
    <thetext>Comment on attachment 173455
Rebased.

Attachment 173455 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/14796347

New failing tests:
inspector/console/console-format-style-whitelist.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>763684</commentid>
    <comment_count>15</comment_count>
      <attachid>173460</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-11-10 11:19:28 -0800</bug_when>
    <thetext>Created attachment 173460
Hrm.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>763685</commentid>
    <comment_count>16</comment_count>
      <attachid>173460</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-11-10 11:20:52 -0800</bug_when>
    <thetext>Comment on attachment 173460
Hrm.

Carrying over r+. Not sure why the bots didn&apos;t like the patch. Reuploading it after changing a line of the expectations that I can&apos;t explain (&apos;text-decoration: none;&apos; -&gt; &apos;text-decoration: initial;&apos;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>763686</commentid>
    <comment_count>17</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-11-10 11:21:23 -0800</bug_when>
    <thetext>(In reply to comment #13)
&gt; (From update of attachment 173455 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=173455&amp;action=review
&gt; 
&gt; Thanks!
&gt; 
&gt; &gt; Source/WebCore/inspector/front-end/ConsoleMessage.js:480
&gt; &gt; +        var currentStyle = null;
&gt; 
&gt; It is not that it is now faster. It is that otherwise your code was wrong and was wrapping everything.

You&apos;re right. I&apos;d convinced myself that an empty object was falsey. :(

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>763752</commentid>
    <comment_count>18</comment_count>
      <attachid>173480</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-11-10 15:40:06 -0800</bug_when>
    <thetext>Created attachment 173480
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>763755</commentid>
    <comment_count>19</comment_count>
      <attachid>173480</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-10 16:21:01 -0800</bug_when>
    <thetext>Comment on attachment 173480
Patch for landing

Clearing flags on attachment: 173480

Committed r134166: &lt;http://trac.webkit.org/changeset/134166&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>763756</commentid>
    <comment_count>20</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-10 16:21:06 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>764114</commentid>
    <comment_count>21</comment_count>
      <attachid>173480</attachid>
    <who name="">eustas.bug</who>
    <bug_when>2012-11-12 00:04:55 -0800</bug_when>
    <thetext>Comment on attachment 173480
Patch for landing

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

&gt; Source/WebCore/inspector/front-end/ConsoleMessage.js:525
&gt; +                    for (key in currentStyle)

Should be &quot;for (var key in currentStyle)&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>764125</commentid>
    <comment_count>22</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-11-12 00:30:33 -0800</bug_when>
    <thetext>(In reply to comment #21)
&gt; (From update of attachment 173480 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=173480&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/inspector/front-end/ConsoleMessage.js:525
&gt; &gt; +                    for (key in currentStyle)
&gt; 
&gt; Should be &quot;for (var key in currentStyle)&quot;

Oops. You are entirely correct: https://bugs.webkit.org/show_bug.cgi?id=101908</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>173452</attachid>
            <date>2012-11-10 07:26:35 -0800</date>
            <delta_ts>2012-11-10 07:26:35 -0800</delta_ts>
            <desc>After.</desc>
            <filename>Screen Shot 2012-11-10 at 4.23.56 PM.png</filename>
            <type>image/png</type>
            <size>14732</size>
            <attacher name="Mike West">mkwst</attacher>
            
              <data encoding="base64">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
mID/Cfw/txhcOkhiW1AAAAAASUVORK5CYII=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>173453</attachid>
            <date>2012-11-10 08:14:22 -0800</date>
            <delta_ts>2012-11-10 08:40:17 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-101495-20121110171227.patch</filename>
            <type>text/plain</type>
            <size>8947</size>
            <attacher name="Mike West">mkwst</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMzNzkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDU4YWMyNTI0ZGYyNjNm
YjJhZjkyMTg5OGIxMDUwYjcwNGM4MDZlMy4uNWM5MWY0NjVhOWFlY2U2Mjc5OTY1ZGFkZTUwOThj
OWI4ZDRiYzVlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEyLTExLTEwICBNaWtl
IFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogTXVs
dGlwbGUgJyVjJyBmb3JtYXR0aW5nIG9wdGlvbnMgc2hvdWxkIGFsbCBoYXZlIGVmZmVjdC4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMTQ5NQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2gg
c3VwcG9ydHMgbXVsdGlwbGUgJyVjJyBmb3JtYXR0aW5nIGJsb2NrcyBpbiBjb25zb2xlIG1lc3Nh
Z2VzLgorICAgICAgICAnY29uc29sZS5sb2coIiVjYmx1ZSEgJWNncmVlbiEiLCAiY29sb3I6IGJs
dWU7IiwgImNvbG9yOiBncmVlbjsiKScgd2lsbAorICAgICAgICBkbyBleGFjdGx5IHdoYXQgeW91
IGV4cGVjdDogImJsdWUhIiB3aWxsIGJlIGJsdWUsIGFuZCAiZ3JlZW4hIiB3aWxsIGJlCisgICAg
ICAgIGdyZWVuLgorCisgICAgICAgIFRoZSBpbXBsZW1lbnRhdGlvbiBtb3ZlcyB0aGUgc3R5bGVz
IG9mZiB0aGUgbWVzc2FnZSdzIHBhcmVudCAnc3BhbicsIGFuZAorICAgICAgICBvbnRvIG5ldyAn
c3BhbicgZWxlbWVudHMgdGhhdCB3cmFwIHRoZSB2YXJpb3VzIHRleHR1YWwgYml0cyBvZiB0aGUK
KyAgICAgICAgbWVzc2FnZS4KKworICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvQ29uc29s
ZU1lc3NhZ2UuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2VJbXBsLnBy
b3RvdHlwZS4pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbnNvbGVNZXNzYWdlSW1wbC5wcm90
b3R5cGUuYXBwZW5kKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2FnZUltcGwu
cHJvdG90eXBlLl9mb3JtYXRXaXRoU3Vic3RpdHV0aW9uU3RyaW5nKToKKwogMjAxMi0xMS0wNyAg
RmFkeSBTYW11ZWwgIDxmc2FtdWVsQGNocm9taXVtLm9yZz4KIAogICAgICAgICBBdXRvcmVzaXpl
IHNob3VsZCB3b3JrIGV2ZW4gaWYgdHVybmVkIG9uIHdoaWxlIHRoZSBwYWdlIGlzIGxvYWRpbmcu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVN
ZXNzYWdlLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlTWVz
c2FnZS5qcwppbmRleCAwNzRmZTg2MDBiOTVkODE3ZTNjNjdiYTUyNDhiNGVkYzVlZDM5YzAyLi43
MTkzMGY0ZDU4ODI2MTVhNDNmMzlmYzE5ZTVkYjliZTNiNmI2MzE3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVNZXNzYWdlLmpzCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29uc29sZU1lc3NhZ2UuanMKQEAgLTQ3
NCwxNCArNDc0LDE2IEBAIFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2FnZUltcGwucHJvdG90eXBl
ID0gewogICAgICAgICAgICAgcmV0dXJuIE1hdGguZmxvb3Iob2JqLnZhbHVlKTsKICAgICAgICAg
fQogCisgICAgICAgIHZhciBjdXJyZW50U3R5bGUgPSB7fTsKICAgICAgICAgZnVuY3Rpb24gc3R5
bGVGb3JtYXR0ZXIob2JqKQogICAgICAgICB7CisgICAgICAgICAgICBjdXJyZW50U3R5bGUgPSB7
fTsKICAgICAgICAgICAgIHZhciBidWZmZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFu
Iik7CiAgICAgICAgICAgICBidWZmZXIuc2V0QXR0cmlidXRlKCJzdHlsZSIsIG9iai5kZXNjcmlw
dGlvbik7CiAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGJ1ZmZlci5zdHlsZS5sZW5n
dGg7IGkrKykgewogICAgICAgICAgICAgICAgIHZhciBwcm9wZXJ0eSA9IGJ1ZmZlci5zdHlsZVtp
XTsKICAgICAgICAgICAgICAgICBpZiAoaXNXaGl0ZWxpc3RlZFByb3BlcnR5KHByb3BlcnR5KSkK
LSAgICAgICAgICAgICAgICAgICAgZm9ybWF0dGVkUmVzdWx0LnN0eWxlW3Byb3BlcnR5XSA9IGJ1
ZmZlci5zdHlsZVtwcm9wZXJ0eV07CisgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRTdHlsZVtw
cm9wZXJ0eV0gPSBidWZmZXIuc3R5bGVbcHJvcGVydHldOwogICAgICAgICAgICAgfQogICAgICAg
ICB9CiAKQEAgLTUxMyw4ICs1MTUsMTkgQEAgV2ViSW5zcGVjdG9yLkNvbnNvbGVNZXNzYWdlSW1w
bC5wcm90b3R5cGUgPSB7CiAgICAgICAgIHsKICAgICAgICAgICAgIGlmIChiIGluc3RhbmNlb2Yg
Tm9kZSkKICAgICAgICAgICAgICAgICBhLmFwcGVuZENoaWxkKGIpOwotICAgICAgICAgICAgZWxz
ZSBpZiAoYikKLSAgICAgICAgICAgICAgICBhLmFwcGVuZENoaWxkKFdlYkluc3BlY3Rvci5saW5r
aWZ5U3RyaW5nQXNGcmFnbWVudChiLnRvU3RyaW5nKCkpKTsKKyAgICAgICAgICAgIGVsc2UgaWYg
KGIpIHsKKyAgICAgICAgICAgICAgICB2YXIgdG9BcHBlbmQgPSBXZWJJbnNwZWN0b3IubGlua2lm
eVN0cmluZ0FzRnJhZ21lbnQoYi50b1N0cmluZygpKTsKKyAgICAgICAgICAgICAgICBpZiAoY3Vy
cmVudFN0eWxlKSB7CisgICAgICAgICAgICAgICAgICAgIHZhciB3cmFwcGVyID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgnc3BhbicpOworICAgICAgICAgICAgICAgICAgICBmb3IgKGtleSBpbiBj
dXJyZW50U3R5bGUpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjdXJyZW50U3R5bGUu
aGFzT3duUHJvcGVydHkoa2V5KSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB3cmFwcGVy
LnN0eWxlW2tleV0gPSBjdXJyZW50U3R5bGVba2V5XTsKKyAgICAgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgICAgICAgICB3cmFwcGVyLmFwcGVuZENoaWxkKHRvQXBwZW5kKTsKKyAgICAg
ICAgICAgICAgICAgICAgdG9BcHBlbmQgPSB3cmFwcGVyOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgICAgICBhLmFwcGVuZENoaWxkKHRvQXBwZW5kKTsKKyAgICAgICAgICAgIH0KICAg
ICAgICAgICAgIHJldHVybiBhOwogICAgICAgICB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAxNWIzODg4YzQ5YTU3N2M0
M2FkNjkyNTg5ZTVhM2RjZDBjMTRkNmI5Li41MzY4NGUyNTc0MmZmMzcyYjc1OWU2ZGI3ODgxNjk4
MzU0NWQxMmUyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTItMTEtMTAgIE1pa2UgV2VzdCAg
PG1rd3N0QGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBNdWx0aXBsZSAn
JWMnIGZvcm1hdHRpbmcgb3B0aW9ucyBzaG91bGQgYWxsIGhhdmUgZWZmZWN0LgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAxNDk1CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL2luc3Bl
Y3Rvci9jb25zb2xlLXRlc3QuanM6CisgICAgICAgIChpbml0aWFsaXplX0NvbnNvbGVUZXN0Lklu
c3BlY3RvclRlc3QuZHVtcENvbnNvbGVNZXNzYWdlc1dpdGhTdHlsZXMpOgorICAgICAgICAgICAg
V2UncmUgbm8gbG9uZ2VyIHB1dHRpbmcgdGhlIHN0eWxlIGRpcmVjdGx5IG9uIHRoZSBtZXNzYWdl
J3MKKyAgICAgICAgICAgIHBhcmVudCwgYnV0IGluc3RlYWQgb24gZWFjaCBzZWN0aW9uIG9mIHRo
ZSBtZXNzYWdlIGluIG9yZGVyIHRvCisgICAgICAgICAgICBzdXBwb3J0IG11bHRpcGxlIHN0eWxl
cy4KKyAgICAgICAgKiBpbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWZvcm1hdC1zdHlsZS1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1mb3JtYXQtc3R5
bGUtd2hpdGVsaXN0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBpbnNwZWN0b3IvY29uc29sZS9j
b25zb2xlLWZvcm1hdC1zdHlsZS5odG1sOgorCiAyMDEyLTExLTA3ICBQaGlsaXAgUm9nZXJzICA8
cGRyQGdvb2dsZS5jb20+CiAKICAgICAgICAgU2tpcCBTVkcgcmVwYWludCB0cmFja2luZyB3aGVu
IHBhcmVudCBjb250YWluZXIgdHJhbnNmb3JtcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9pbnNwZWN0b3IvY29uc29sZS10ZXN0LmpzIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9pbnNwZWN0b3IvY29uc29sZS10ZXN0LmpzCmluZGV4IGI1YzQ2MjdlNmQ0NzBhNTY3ZDljNWIx
MGIxZTNmYTczZDE1ZmQ1MDEuLjViZWIzMjEzNmMxOGFiYmVlZjNiOGI2YjYwNWFmZTg1ZDk3Yjk5
YzggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUt
dGVzdC5qcworKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9jb25zb2xlLXRl
c3QuanMKQEAgLTI4LDggKzI4LDkgQEAgSW5zcGVjdG9yVGVzdC5kdW1wQ29uc29sZU1lc3NhZ2Vz
V2l0aFN0eWxlcyA9IGZ1bmN0aW9uKHNvcnRNZXNzYWdlcykKICAgICBmb3IgKHZhciBpID0gMDsg
aSA8IG1lc3NhZ2VzLmxlbmd0aDsgKytpKSB7CiAgICAgICAgIHZhciBlbGVtZW50ID0gbWVzc2Fn
ZXNbaV0udG9NZXNzYWdlRWxlbWVudCgpOwogICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3Vs
dChlbGVtZW50LnRleHRDb250ZW50LnJlcGxhY2UoL1x1MjAwYi9nLCAiIikpOwotICAgICAgICB2
YXIgY3NzVGV4dCA9IGVsZW1lbnQucXVlcnlTZWxlY3RvcigiLmNvbnNvbGUtbWVzc2FnZS10ZXh0
IHNwYW4iKS5zdHlsZS5jc3NUZXh0IHx8ICJOTyBTVFlMRVMgREVGSU5FRC4iOwotICAgICAgICBJ
bnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiU3R5bGU6ICIgKyBjc3NUZXh0KTsKKyAgICAgICAgdmFy
IHNwYW5zID0gZWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCIuY29uc29sZS1tZXNzYWdlLXRleHQg
PiBzcGFuID4gc3BhbiIpOworICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IHNwYW5zLmxlbmd0
aDsgaisrKQorICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlN0eWxlZCB0ZXh0
ICMiICsgaiArICI6ICIgKyAoc3BhbnNbal0uc3R5bGUuY3NzVGV4dCB8fCAiTk8gU1RZTEVTIERF
RklORUQiKSk7CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
Y29uc29sZS9jb25zb2xlLWZvcm1hdC1zdHlsZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWZvcm1hdC1zdHlsZS1leHBlY3RlZC50eHQKaW5kZXgg
ODA5Yzk3Njc2MjAxZWQzZTJhODVhOWI0ZDQ4MjhkODk2YWU0MTg2Ni4uZWJmNGI5NzcyNWRmYjU2
NDBkOWE1OGE4NmU0YmE5MjFhMGJjZDJiMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL2NvbnNvbGUvY29uc29sZS1mb3JtYXQtc3R5bGUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZm9ybWF0LXN0eWxlLWV4cGVjdGVkLnR4
dApAQCAtMSw5ICsxLDEwIEBACiBDT05TT0xFIE1FU1NBR0U6IGxpbmUgODogJWNCbHVlIS4KLUNP
TlNPTEUgTUVTU0FHRTogbGluZSA5OiAlY1JlZCElYy4KLVRlc3RzIHRoYXQgY29uc29sZSBsb2dn
aW5nIGR1bXBzIHByb3Blcmx5IHN0eWxlZCBtZXNzYWdlcywgYW5kIHRoYXQgdGhlIHdob2xlIG1l
c3NhZ2UgZ2V0cyB0aGUgc2FtZSBzdHlsZSwgcmVnYXJkbGVzcyBvZiBtdWx0aXBsZSAlYyBzZXR0
aW5ncy4KK0NPTlNPTEUgTUVTU0FHRTogbGluZSA5OiAlY1JlZCEgJWNSZWQhCitUZXN0cyB0aGF0
IGNvbnNvbGUgbG9nZ2luZyBkdW1wcyBwcm9wZXJseSBzdHlsZWQgbWVzc2FnZXMuCiAKIEJsdWUh
LiBjb25zb2xlLWZvcm1hdC1zdHlsZS5odG1sOjgKLVN0eWxlOiBjb2xvcjogYmx1ZTsKLVJlZCEu
IGNvbnNvbGUtZm9ybWF0LXN0eWxlLmh0bWw6OQotU3R5bGU6IGNvbG9yOiByZWQ7CitTdHlsZWQg
dGV4dCAjMDogY29sb3I6IGJsdWU7CitSZWQhIFJlZCEgY29uc29sZS1mb3JtYXQtc3R5bGUuaHRt
bDo5CitTdHlsZWQgdGV4dCAjMDogY29sb3I6IGJsdWU7CitTdHlsZWQgdGV4dCAjMTogY29sb3I6
IHJlZDsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29s
ZS1mb3JtYXQtc3R5bGUtd2hpdGVsaXN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9jb25zb2xlL2NvbnNvbGUtZm9ybWF0LXN0eWxlLXdoaXRlbGlzdC1leHBlY3RlZC50eHQK
aW5kZXggNzA4M2VmMTMxNTMwM2EyMzhmZDk0ZTJiZDhkYzYzN2U1MDBjZDJmOS4uZTA1YmEyMzYw
MzA0ZWI4OTc1YzEyMDVjMTUyZTQzYjU0YmIzZmJkYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1mb3JtYXQtc3R5bGUtd2hpdGVsaXN0LWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWZvcm1hdC1z
dHlsZS13aGl0ZWxpc3QtZXhwZWN0ZWQudHh0CkBAIC03LDE1ICs3LDE1IEBAIENPTlNPTEUgTUVT
U0FHRTogbGluZSAxNDogJWNBbmQgcG9zaXRpb24gdG9vLgogVGVzdHMgdGhhdCBjb25zb2xlIGxv
Z2dpbmcgZHVtcHMgcHJvcGVybHkgc3R5bGVkIG1lc3NhZ2VzLCBhbmQgdGhhdCB0aGUgd2hvbGUg
bWVzc2FnZSBnZXRzIHRoZSBzYW1lIHN0eWxlLCByZWdhcmRsZXNzIG9mIG11bHRpcGxlICVjIHNl
dHRpbmdzLgogCiBDb2xvcnMgYXJlIGF3ZXNvbWUuIGNvbnNvbGUtZm9ybWF0LXN0eWxlLXdoaXRl
bGlzdC5odG1sOjgKLVN0eWxlOiBjb2xvcjogYmx1ZTsKK1N0eWxlZCB0ZXh0ICMwOiBjb2xvcjog
Ymx1ZTsKIFNvIGFyZSBmb250cyEgY29uc29sZS1mb3JtYXQtc3R5bGUtd2hpdGVsaXN0Lmh0bWw6
OQotU3R5bGU6IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50OiBub3JtYWw7IGZvbnQt
d2VpZ2h0OiBub3JtYWw7IGZvbnQtc2l6ZTogMWVtOyBsaW5lLWhlaWdodDogbm9ybWFsOyBmb250
LWZhbWlseTogSGVsdmV0aWNhOworU3R5bGVkIHRleHQgIzA6IGZvbnQtc3R5bGU6IG5vcm1hbDsg
Zm9udC12YXJpYW50OiBub3JtYWw7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IGZvbnQtc2l6ZTogMWVt
OyBsaW5lLWhlaWdodDogbm9ybWFsOyBmb250LWZhbWlseTogSGVsdmV0aWNhOwogQW5kIGJvcmRl
cnMgYW5kIG1hcmdpbnMgYW5kIHBhZGRpbmdzISBjb25zb2xlLWZvcm1hdC1zdHlsZS13aGl0ZWxp
c3QuaHRtbDoxMAotU3R5bGU6IGJvcmRlcjogMXB4IHNvbGlkIHJlZDsgbWFyZ2luOiAyMHB4OyBw
YWRkaW5nOiAxMHB4OworU3R5bGVkIHRleHQgIzA6IGJvcmRlcjogMXB4IHNvbGlkIHJlZDsgbWFy
Z2luOiAyMHB4OyBwYWRkaW5nOiAxMHB4OwogdGV4dC0qIGlzIGZpbmUgYnkgdXMhIGNvbnNvbGUt
Zm9ybWF0LXN0eWxlLXdoaXRlbGlzdC5odG1sOjExCi1TdHlsZTogdGV4dC1kZWNvcmF0aW9uOiBp
bml0aWFsOworU3R5bGVkIHRleHQgIzA6IHRleHQtZGVjb3JhdGlvbjogaW5pdGlhbDsKIERpc3Bs
YXksIG9uIHRoZSBvdGhlciBoYW5kLCBpcyBiYWQgbmV3cy4gY29uc29sZS1mb3JtYXQtc3R5bGUt
d2hpdGVsaXN0Lmh0bWw6MTMKLVN0eWxlOiBOTyBTVFlMRVMgREVGSU5FRC4KK1N0eWxlZCB0ZXh0
ICMwOiBOTyBTVFlMRVMgREVGSU5FRAogQW5kIHBvc2l0aW9uIHRvby4gY29uc29sZS1mb3JtYXQt
c3R5bGUtd2hpdGVsaXN0Lmh0bWw6MTQKLVN0eWxlOiBOTyBTVFlMRVMgREVGSU5FRC4KK1N0eWxl
ZCB0ZXh0ICMwOiBOTyBTVFlMRVMgREVGSU5FRAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWZvcm1hdC1zdHlsZS5odG1sIGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1mb3JtYXQtc3R5bGUuaHRtbAppbmRleCA4NDY3NjBk
M2JiOTZkZjJiODQwNDNjMzM4Mzk5NjE2NzNkM2Q0NDAyLi4yY2Y0NzU0MGMwNGRmNzg4OTFkN2U3
NzM1ZjkzNzg3Y2ZmOTNhOGQyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29u
c29sZS9jb25zb2xlLWZvcm1hdC1zdHlsZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9jb25zb2xlL2NvbnNvbGUtZm9ybWF0LXN0eWxlLmh0bWwKQEAgLTYsNyArNiw3IEBACiAgICAg
ICAgICAgICBmdW5jdGlvbiBvbmxvYWQoKQogICAgICAgICAgICAgewogICAgICAgICAgICAgICAg
IGNvbnNvbGUubG9nKCclY0JsdWUhLicsICdjb2xvcjogYmx1ZTsnKTsKLSAgICAgICAgICAgICAg
ICBjb25zb2xlLmxvZygnJWNSZWQhJWMuJywgJ2NvbG9yOiBibHVlOycsICdjb2xvcjogcmVkOycp
OworICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCclY1JlZCEgJWNSZWQhJywgJ2NvbG9yOiBi
bHVlOycsICdjb2xvcjogcmVkOycpOwogICAgICAgICAgICAgICAgIHJ1blRlc3QoKTsKICAgICAg
ICAgICAgIH0KIApAQCAtMjAsOCArMjAsNiBAQAogICAgIDwvaGVhZD4KIAogICAgIDxib2R5IG9u
bG9hZD0ib25sb2FkKCkiPgotICAgICAgPHA+VGVzdHMgdGhhdCBjb25zb2xlIGxvZ2dpbmcgZHVt
cHMgcHJvcGVybHkgc3R5bGVkIG1lc3NhZ2VzLCBhbmQgdGhhdAotICAgICAgdGhlIHdob2xlIG1l
c3NhZ2UgZ2V0cyB0aGUgc2FtZSBzdHlsZSwgcmVnYXJkbGVzcyBvZiBtdWx0aXBsZSAlYwotICAg
ICAgc2V0dGluZ3MuPC9wPgorICAgICAgPHA+VGVzdHMgdGhhdCBjb25zb2xlIGxvZ2dpbmcgZHVt
cHMgcHJvcGVybHkgc3R5bGVkIG1lc3NhZ2VzLjwvcD4KICAgICA8L2JvZHk+CiA8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>173454</attachid>
            <date>2012-11-10 08:40:22 -0800</date>
            <delta_ts>2012-11-10 08:45:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-101495-20121110173827.patch</filename>
            <type>text/plain</type>
            <size>8860</size>
            <attacher name="Mike West">mkwst</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMzNzkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDU4YWMyNTI0ZGYyNjNm
YjJhZjkyMTg5OGIxMDUwYjcwNGM4MDZlMy4uNWM5MWY0NjVhOWFlY2U2Mjc5OTY1ZGFkZTUwOThj
OWI4ZDRiYzVlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEyLTExLTEwICBNaWtl
IFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogTXVs
dGlwbGUgJyVjJyBmb3JtYXR0aW5nIG9wdGlvbnMgc2hvdWxkIGFsbCBoYXZlIGVmZmVjdC4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMTQ5NQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2gg
c3VwcG9ydHMgbXVsdGlwbGUgJyVjJyBmb3JtYXR0aW5nIGJsb2NrcyBpbiBjb25zb2xlIG1lc3Nh
Z2VzLgorICAgICAgICAnY29uc29sZS5sb2coIiVjYmx1ZSEgJWNncmVlbiEiLCAiY29sb3I6IGJs
dWU7IiwgImNvbG9yOiBncmVlbjsiKScgd2lsbAorICAgICAgICBkbyBleGFjdGx5IHdoYXQgeW91
IGV4cGVjdDogImJsdWUhIiB3aWxsIGJlIGJsdWUsIGFuZCAiZ3JlZW4hIiB3aWxsIGJlCisgICAg
ICAgIGdyZWVuLgorCisgICAgICAgIFRoZSBpbXBsZW1lbnRhdGlvbiBtb3ZlcyB0aGUgc3R5bGVz
IG9mZiB0aGUgbWVzc2FnZSdzIHBhcmVudCAnc3BhbicsIGFuZAorICAgICAgICBvbnRvIG5ldyAn
c3BhbicgZWxlbWVudHMgdGhhdCB3cmFwIHRoZSB2YXJpb3VzIHRleHR1YWwgYml0cyBvZiB0aGUK
KyAgICAgICAgbWVzc2FnZS4KKworICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvQ29uc29s
ZU1lc3NhZ2UuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2VJbXBsLnBy
b3RvdHlwZS4pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbnNvbGVNZXNzYWdlSW1wbC5wcm90
b3R5cGUuYXBwZW5kKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2FnZUltcGwu
cHJvdG90eXBlLl9mb3JtYXRXaXRoU3Vic3RpdHV0aW9uU3RyaW5nKToKKwogMjAxMi0xMS0wNyAg
RmFkeSBTYW11ZWwgIDxmc2FtdWVsQGNocm9taXVtLm9yZz4KIAogICAgICAgICBBdXRvcmVzaXpl
IHNob3VsZCB3b3JrIGV2ZW4gaWYgdHVybmVkIG9uIHdoaWxlIHRoZSBwYWdlIGlzIGxvYWRpbmcu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVN
ZXNzYWdlLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlTWVz
c2FnZS5qcwppbmRleCAwNzRmZTg2MDBiOTVkODE3ZTNjNjdiYTUyNDhiNGVkYzVlZDM5YzAyLi41
MmEwZWM5ODdiMjI0Y2Q1NjQwYjU3YzhkNzBhNTBlZWRiYjEyMGY4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVNZXNzYWdlLmpzCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29uc29sZU1lc3NhZ2UuanMKQEAgLTQ3
NCwxNCArNDc0LDE2IEBAIFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2FnZUltcGwucHJvdG90eXBl
ID0gewogICAgICAgICAgICAgcmV0dXJuIE1hdGguZmxvb3Iob2JqLnZhbHVlKTsKICAgICAgICAg
fQogCisgICAgICAgIHZhciBjdXJyZW50U3R5bGUgPSBudWxsOwogICAgICAgICBmdW5jdGlvbiBz
dHlsZUZvcm1hdHRlcihvYmopCiAgICAgICAgIHsKKyAgICAgICAgICAgIGN1cnJlbnRTdHlsZSA9
IHt9OwogICAgICAgICAgICAgdmFyIGJ1ZmZlciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNw
YW4iKTsKICAgICAgICAgICAgIGJ1ZmZlci5zZXRBdHRyaWJ1dGUoInN0eWxlIiwgb2JqLmRlc2Ny
aXB0aW9uKTsKICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYnVmZmVyLnN0eWxlLmxl
bmd0aDsgaSsrKSB7CiAgICAgICAgICAgICAgICAgdmFyIHByb3BlcnR5ID0gYnVmZmVyLnN0eWxl
W2ldOwogICAgICAgICAgICAgICAgIGlmIChpc1doaXRlbGlzdGVkUHJvcGVydHkocHJvcGVydHkp
KQotICAgICAgICAgICAgICAgICAgICBmb3JtYXR0ZWRSZXN1bHQuc3R5bGVbcHJvcGVydHldID0g
YnVmZmVyLnN0eWxlW3Byb3BlcnR5XTsKKyAgICAgICAgICAgICAgICAgICAgY3VycmVudFN0eWxl
W3Byb3BlcnR5XSA9IGJ1ZmZlci5zdHlsZVtwcm9wZXJ0eV07CiAgICAgICAgICAgICB9CiAgICAg
ICAgIH0KIApAQCAtNTEzLDggKzUxNSwxNyBAQCBXZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2VJ
bXBsLnByb3RvdHlwZSA9IHsKICAgICAgICAgewogICAgICAgICAgICAgaWYgKGIgaW5zdGFuY2Vv
ZiBOb2RlKQogICAgICAgICAgICAgICAgIGEuYXBwZW5kQ2hpbGQoYik7Ci0gICAgICAgICAgICBl
bHNlIGlmIChiKQotICAgICAgICAgICAgICAgIGEuYXBwZW5kQ2hpbGQoV2ViSW5zcGVjdG9yLmxp
bmtpZnlTdHJpbmdBc0ZyYWdtZW50KGIudG9TdHJpbmcoKSkpOworICAgICAgICAgICAgZWxzZSBp
ZiAoYikgeworICAgICAgICAgICAgICAgIHZhciB0b0FwcGVuZCA9IFdlYkluc3BlY3Rvci5saW5r
aWZ5U3RyaW5nQXNGcmFnbWVudChiLnRvU3RyaW5nKCkpOworICAgICAgICAgICAgICAgIGlmIChj
dXJyZW50U3R5bGUpIHsKKyAgICAgICAgICAgICAgICAgICAgdmFyIHdyYXBwZXIgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7CisgICAgICAgICAgICAgICAgICAgIGZvciAoa2V5IGlu
IGN1cnJlbnRTdHlsZSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHdyYXBwZXIuc3R5bGVba2V5
XSA9IGN1cnJlbnRTdHlsZVtrZXldOworICAgICAgICAgICAgICAgICAgICB3cmFwcGVyLmFwcGVu
ZENoaWxkKHRvQXBwZW5kKTsKKyAgICAgICAgICAgICAgICAgICAgdG9BcHBlbmQgPSB3cmFwcGVy
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBhLmFwcGVuZENoaWxkKHRvQXBw
ZW5kKTsKKyAgICAgICAgICAgIH0KICAgICAgICAgICAgIHJldHVybiBhOwogICAgICAgICB9CiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAxNWIzODg4YzQ5YTU3N2M0M2FkNjkyNTg5ZTVhM2RjZDBjMTRkNmI5Li41MzY4NGUy
NTc0MmZmMzcyYjc1OWU2ZGI3ODgxNjk4MzU0NWQxMmUyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAK
KzIwMTItMTEtMTAgIE1pa2UgV2VzdCAgPG1rd3N0QGNocm9taXVtLm9yZz4KKworICAgICAgICBX
ZWIgSW5zcGVjdG9yOiBNdWx0aXBsZSAnJWMnIGZvcm1hdHRpbmcgb3B0aW9ucyBzaG91bGQgYWxs
IGhhdmUgZWZmZWN0LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTAxNDk1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBodHRwL3Rlc3RzL2luc3BlY3Rvci9jb25zb2xlLXRlc3QuanM6CisgICAgICAgIChp
bml0aWFsaXplX0NvbnNvbGVUZXN0Lkluc3BlY3RvclRlc3QuZHVtcENvbnNvbGVNZXNzYWdlc1dp
dGhTdHlsZXMpOgorICAgICAgICAgICAgV2UncmUgbm8gbG9uZ2VyIHB1dHRpbmcgdGhlIHN0eWxl
IGRpcmVjdGx5IG9uIHRoZSBtZXNzYWdlJ3MKKyAgICAgICAgICAgIHBhcmVudCwgYnV0IGluc3Rl
YWQgb24gZWFjaCBzZWN0aW9uIG9mIHRoZSBtZXNzYWdlIGluIG9yZGVyIHRvCisgICAgICAgICAg
ICBzdXBwb3J0IG11bHRpcGxlIHN0eWxlcy4KKyAgICAgICAgKiBpbnNwZWN0b3IvY29uc29sZS9j
b25zb2xlLWZvcm1hdC1zdHlsZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogaW5zcGVjdG9yL2Nv
bnNvbGUvY29uc29sZS1mb3JtYXQtc3R5bGUtd2hpdGVsaXN0LWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiBpbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWZvcm1hdC1zdHlsZS5odG1sOgorCiAyMDEy
LTExLTA3ICBQaGlsaXAgUm9nZXJzICA8cGRyQGdvb2dsZS5jb20+CiAKICAgICAgICAgU2tpcCBT
VkcgcmVwYWludCB0cmFja2luZyB3aGVuIHBhcmVudCBjb250YWluZXIgdHJhbnNmb3JtcwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29uc29sZS10ZXN0Lmpz
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29uc29sZS10ZXN0LmpzCmluZGV4
IGI1YzQ2MjdlNmQ0NzBhNTY3ZDljNWIxMGIxZTNmYTczZDE1ZmQ1MDEuLjViZWIzMjEzNmMxOGFi
YmVlZjNiOGI2YjYwNWFmZTg1ZDk3Yjk5YzggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUtdGVzdC5qcworKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2luc3BlY3Rvci9jb25zb2xlLXRlc3QuanMKQEAgLTI4LDggKzI4LDkgQEAgSW5zcGVjdG9y
VGVzdC5kdW1wQ29uc29sZU1lc3NhZ2VzV2l0aFN0eWxlcyA9IGZ1bmN0aW9uKHNvcnRNZXNzYWdl
cykKICAgICBmb3IgKHZhciBpID0gMDsgaSA8IG1lc3NhZ2VzLmxlbmd0aDsgKytpKSB7CiAgICAg
ICAgIHZhciBlbGVtZW50ID0gbWVzc2FnZXNbaV0udG9NZXNzYWdlRWxlbWVudCgpOwogICAgICAg
ICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChlbGVtZW50LnRleHRDb250ZW50LnJlcGxhY2UoL1x1
MjAwYi9nLCAiIikpOwotICAgICAgICB2YXIgY3NzVGV4dCA9IGVsZW1lbnQucXVlcnlTZWxlY3Rv
cigiLmNvbnNvbGUtbWVzc2FnZS10ZXh0IHNwYW4iKS5zdHlsZS5jc3NUZXh0IHx8ICJOTyBTVFlM
RVMgREVGSU5FRC4iOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiU3R5bGU6ICIg
KyBjc3NUZXh0KTsKKyAgICAgICAgdmFyIHNwYW5zID0gZWxlbWVudC5xdWVyeVNlbGVjdG9yQWxs
KCIuY29uc29sZS1tZXNzYWdlLXRleHQgPiBzcGFuID4gc3BhbiIpOworICAgICAgICBmb3IgKHZh
ciBqID0gMDsgaiA8IHNwYW5zLmxlbmd0aDsgaisrKQorICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5hZGRSZXN1bHQoIlN0eWxlZCB0ZXh0ICMiICsgaiArICI6ICIgKyAoc3BhbnNbal0uc3R5bGUu
Y3NzVGV4dCB8fCAiTk8gU1RZTEVTIERFRklORUQiKSk7CiAgICAgfQogfQogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWZvcm1hdC1zdHlsZS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWZvcm1hdC1z
dHlsZS1leHBlY3RlZC50eHQKaW5kZXggODA5Yzk3Njc2MjAxZWQzZTJhODVhOWI0ZDQ4MjhkODk2
YWU0MTg2Ni4uZDFjNzFlZGEwMjAyNzRiMzUzNWRjNDdiMzNmYjViOTg3MmE4OThmMSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1mb3JtYXQtc3R5bGUt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUt
Zm9ybWF0LXN0eWxlLWV4cGVjdGVkLnR4dApAQCAtMSw5ICsxLDEwIEBACiBDT05TT0xFIE1FU1NB
R0U6IGxpbmUgODogJWNCbHVlIS4KLUNPTlNPTEUgTUVTU0FHRTogbGluZSA5OiAlY1JlZCElYy4K
LVRlc3RzIHRoYXQgY29uc29sZSBsb2dnaW5nIGR1bXBzIHByb3Blcmx5IHN0eWxlZCBtZXNzYWdl
cywgYW5kIHRoYXQgdGhlIHdob2xlIG1lc3NhZ2UgZ2V0cyB0aGUgc2FtZSBzdHlsZSwgcmVnYXJk
bGVzcyBvZiBtdWx0aXBsZSAlYyBzZXR0aW5ncy4KK0NPTlNPTEUgTUVTU0FHRTogbGluZSA5OiAl
Y0JsdWUhICVjUmVkIQorVGVzdHMgdGhhdCBjb25zb2xlIGxvZ2dpbmcgZHVtcHMgcHJvcGVybHkg
c3R5bGVkIG1lc3NhZ2VzLgogCiBCbHVlIS4gY29uc29sZS1mb3JtYXQtc3R5bGUuaHRtbDo4Ci1T
dHlsZTogY29sb3I6IGJsdWU7Ci1SZWQhLiBjb25zb2xlLWZvcm1hdC1zdHlsZS5odG1sOjkKLVN0
eWxlOiBjb2xvcjogcmVkOworU3R5bGVkIHRleHQgIzA6IGNvbG9yOiBibHVlOworQmx1ZSEgUmVk
ISBjb25zb2xlLWZvcm1hdC1zdHlsZS5odG1sOjkKK1N0eWxlZCB0ZXh0ICMwOiBjb2xvcjogYmx1
ZTsKK1N0eWxlZCB0ZXh0ICMxOiBjb2xvcjogcmVkOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWZvcm1hdC1zdHlsZS13aGl0ZWxpc3QtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1mb3JtYXQtc3R5
bGUtd2hpdGVsaXN0LWV4cGVjdGVkLnR4dAppbmRleCA3MDgzZWYxMzE1MzAzYTIzOGZkOTRlMmJk
OGRjNjM3ZTUwMGNkMmY5Li5lMDViYTIzNjAzMDRlYjg5NzVjMTIwNWMxNTJlNDNiNTRiYjNmYmRj
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWZvcm1h
dC1zdHlsZS13aGl0ZWxpc3QtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9jb25zb2xlL2NvbnNvbGUtZm9ybWF0LXN0eWxlLXdoaXRlbGlzdC1leHBlY3RlZC50eHQKQEAg
LTcsMTUgKzcsMTUgQEAgQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE0OiAlY0FuZCBwb3NpdGlvbiB0
b28uCiBUZXN0cyB0aGF0IGNvbnNvbGUgbG9nZ2luZyBkdW1wcyBwcm9wZXJseSBzdHlsZWQgbWVz
c2FnZXMsIGFuZCB0aGF0IHRoZSB3aG9sZSBtZXNzYWdlIGdldHMgdGhlIHNhbWUgc3R5bGUsIHJl
Z2FyZGxlc3Mgb2YgbXVsdGlwbGUgJWMgc2V0dGluZ3MuCiAKIENvbG9ycyBhcmUgYXdlc29tZS4g
Y29uc29sZS1mb3JtYXQtc3R5bGUtd2hpdGVsaXN0Lmh0bWw6OAotU3R5bGU6IGNvbG9yOiBibHVl
OworU3R5bGVkIHRleHQgIzA6IGNvbG9yOiBibHVlOwogU28gYXJlIGZvbnRzISBjb25zb2xlLWZv
cm1hdC1zdHlsZS13aGl0ZWxpc3QuaHRtbDo5Ci1TdHlsZTogZm9udC1zdHlsZTogbm9ybWFsOyBm
b250LXZhcmlhbnQ6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgZm9udC1zaXplOiAxZW07
IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7CitTdHlsZWQgdGV4
dCAjMDogZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQ6IG5vcm1hbDsgZm9udC13ZWln
aHQ6IG5vcm1hbDsgZm9udC1zaXplOiAxZW07IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGZvbnQtZmFt
aWx5OiBIZWx2ZXRpY2E7CiBBbmQgYm9yZGVycyBhbmQgbWFyZ2lucyBhbmQgcGFkZGluZ3MhIGNv
bnNvbGUtZm9ybWF0LXN0eWxlLXdoaXRlbGlzdC5odG1sOjEwCi1TdHlsZTogYm9yZGVyOiAxcHgg
c29saWQgcmVkOyBtYXJnaW46IDIwcHg7IHBhZGRpbmc6IDEwcHg7CitTdHlsZWQgdGV4dCAjMDog
Ym9yZGVyOiAxcHggc29saWQgcmVkOyBtYXJnaW46IDIwcHg7IHBhZGRpbmc6IDEwcHg7CiB0ZXh0
LSogaXMgZmluZSBieSB1cyEgY29uc29sZS1mb3JtYXQtc3R5bGUtd2hpdGVsaXN0Lmh0bWw6MTEK
LVN0eWxlOiB0ZXh0LWRlY29yYXRpb246IGluaXRpYWw7CitTdHlsZWQgdGV4dCAjMDogdGV4dC1k
ZWNvcmF0aW9uOiBpbml0aWFsOwogRGlzcGxheSwgb24gdGhlIG90aGVyIGhhbmQsIGlzIGJhZCBu
ZXdzLiBjb25zb2xlLWZvcm1hdC1zdHlsZS13aGl0ZWxpc3QuaHRtbDoxMwotU3R5bGU6IE5PIFNU
WUxFUyBERUZJTkVELgorU3R5bGVkIHRleHQgIzA6IE5PIFNUWUxFUyBERUZJTkVECiBBbmQgcG9z
aXRpb24gdG9vLiBjb25zb2xlLWZvcm1hdC1zdHlsZS13aGl0ZWxpc3QuaHRtbDoxNAotU3R5bGU6
IE5PIFNUWUxFUyBERUZJTkVELgorU3R5bGVkIHRleHQgIzA6IE5PIFNUWUxFUyBERUZJTkVECiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZm9ybWF0
LXN0eWxlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWZvcm1h
dC1zdHlsZS5odG1sCmluZGV4IDg0Njc2MGQzYmI5NmRmMmI4NDA0M2MzMzgzOTk2MTY3M2QzZDQ0
MDIuLjY0YjUwNDZlYWQ2YWFjODU4NGQ0Yzg0OGI5Nzg4YWNjYjUyYWQ2NTkgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZm9ybWF0LXN0eWxlLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1mb3JtYXQtc3R5bGUu
aHRtbApAQCAtNiw3ICs2LDcgQEAKICAgICAgICAgICAgIGZ1bmN0aW9uIG9ubG9hZCgpCiAgICAg
ICAgICAgICB7CiAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coJyVjQmx1ZSEuJywgJ2NvbG9y
OiBibHVlOycpOwotICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCclY1JlZCElYy4nLCAnY29s
b3I6IGJsdWU7JywgJ2NvbG9yOiByZWQ7Jyk7CisgICAgICAgICAgICAgICAgY29uc29sZS5sb2co
JyVjQmx1ZSEgJWNSZWQhJywgJ2NvbG9yOiBibHVlOycsICdjb2xvcjogcmVkOycpOwogICAgICAg
ICAgICAgICAgIHJ1blRlc3QoKTsKICAgICAgICAgICAgIH0KIApAQCAtMjAsOCArMjAsNiBAQAog
ICAgIDwvaGVhZD4KIAogICAgIDxib2R5IG9ubG9hZD0ib25sb2FkKCkiPgotICAgICAgPHA+VGVz
dHMgdGhhdCBjb25zb2xlIGxvZ2dpbmcgZHVtcHMgcHJvcGVybHkgc3R5bGVkIG1lc3NhZ2VzLCBh
bmQgdGhhdAotICAgICAgdGhlIHdob2xlIG1lc3NhZ2UgZ2V0cyB0aGUgc2FtZSBzdHlsZSwgcmVn
YXJkbGVzcyBvZiBtdWx0aXBsZSAlYwotICAgICAgc2V0dGluZ3MuPC9wPgorICAgICAgPHA+VGVz
dHMgdGhhdCBjb25zb2xlIGxvZ2dpbmcgZHVtcHMgcHJvcGVybHkgc3R5bGVkIG1lc3NhZ2VzLjwv
cD4KICAgICA8L2JvZHk+CiA8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>173455</attachid>
            <date>2012-11-10 08:46:05 -0800</date>
            <delta_ts>2012-11-10 11:19:22 -0800</delta_ts>
            <desc>Rebased.</desc>
            <filename>bug-101495-20121110174410.patch</filename>
            <type>text/plain</type>
            <size>8850</size>
            <attacher name="Mike West">mkwst</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0MTU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODc1ZTFlMGVjZThlNjlk
ZTQ1NzM5OWEyYTNlOTY5OWEwNTgzMTdmYy4uN2Y2YWNjNDY1ZDAwZTI3NDBhZTc1NDljMWEwNTI2
ZDFkZmVhZmNlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEyLTExLTEwICBNaWtl
IFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogTXVs
dGlwbGUgJyVjJyBmb3JtYXR0aW5nIG9wdGlvbnMgc2hvdWxkIGFsbCBoYXZlIGVmZmVjdC4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMTQ5NQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2gg
c3VwcG9ydHMgbXVsdGlwbGUgJyVjJyBmb3JtYXR0aW5nIGJsb2NrcyBpbiBjb25zb2xlIG1lc3Nh
Z2VzLgorICAgICAgICAnY29uc29sZS5sb2coIiVjYmx1ZSEgJWNncmVlbiEiLCAiY29sb3I6IGJs
dWU7IiwgImNvbG9yOiBncmVlbjsiKScgd2lsbAorICAgICAgICBkbyBleGFjdGx5IHdoYXQgeW91
IGV4cGVjdDogImJsdWUhIiB3aWxsIGJlIGJsdWUsIGFuZCAiZ3JlZW4hIiB3aWxsIGJlCisgICAg
ICAgIGdyZWVuLgorCisgICAgICAgIFRoZSBpbXBsZW1lbnRhdGlvbiBtb3ZlcyB0aGUgc3R5bGVz
IG9mZiB0aGUgbWVzc2FnZSdzIHBhcmVudCAnc3BhbicsIGFuZAorICAgICAgICBvbnRvIG5ldyAn
c3BhbicgZWxlbWVudHMgdGhhdCB3cmFwIHRoZSB2YXJpb3VzIHRleHR1YWwgYml0cyBvZiB0aGUK
KyAgICAgICAgbWVzc2FnZS4KKworICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvQ29uc29s
ZU1lc3NhZ2UuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2VJbXBsLnBy
b3RvdHlwZS4pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbnNvbGVNZXNzYWdlSW1wbC5wcm90
b3R5cGUuYXBwZW5kKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2FnZUltcGwu
cHJvdG90eXBlLl9mb3JtYXRXaXRoU3Vic3RpdHV0aW9uU3RyaW5nKToKKwogMjAxMi0xMS0xMCAg
Sm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgogCiAgICAgICAgIFtNYWNdIEd1
YXJkIFdlYkNvcmUgUGFnZVZpc2liaWxpdHkgU3ltYm9sIEV4cG9ydApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlTWVzc2FnZS5qcyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29uc29sZU1lc3NhZ2UuanMKaW5kZXggOWI3
NjQ4YWQzOTA1M2QxZDUwNTM5NTI0NGQ5MDc3NDE0YjRhMDk5My4uYzM0YTA5ZDJiNTQ5NzVkYjEy
OTk5OGE5NDRhZDUwZmUzM2Y2OGNkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9Db25zb2xlTWVzc2FnZS5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVNZXNzYWdlLmpzCkBAIC00NzcsMTQgKzQ3NywxNiBAQCBX
ZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2VJbXBsLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAg
IHJldHVybiBNYXRoLmZsb29yKG9iai52YWx1ZSk7CiAgICAgICAgIH0KIAorICAgICAgICB2YXIg
Y3VycmVudFN0eWxlID0gbnVsbDsKICAgICAgICAgZnVuY3Rpb24gc3R5bGVGb3JtYXR0ZXIob2Jq
KQogICAgICAgICB7CisgICAgICAgICAgICBjdXJyZW50U3R5bGUgPSB7fTsKICAgICAgICAgICAg
IHZhciBidWZmZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7CiAgICAgICAgICAg
ICBidWZmZXIuc2V0QXR0cmlidXRlKCJzdHlsZSIsIG9iai5kZXNjcmlwdGlvbik7CiAgICAgICAg
ICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGJ1ZmZlci5zdHlsZS5sZW5ndGg7IGkrKykgewogICAg
ICAgICAgICAgICAgIHZhciBwcm9wZXJ0eSA9IGJ1ZmZlci5zdHlsZVtpXTsKICAgICAgICAgICAg
ICAgICBpZiAoaXNXaGl0ZWxpc3RlZFByb3BlcnR5KHByb3BlcnR5KSkKLSAgICAgICAgICAgICAg
ICAgICAgZm9ybWF0dGVkUmVzdWx0LnN0eWxlW3Byb3BlcnR5XSA9IGJ1ZmZlci5zdHlsZVtwcm9w
ZXJ0eV07CisgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRTdHlsZVtwcm9wZXJ0eV0gPSBidWZm
ZXIuc3R5bGVbcHJvcGVydHldOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAKQEAgLTUxNiw4
ICs1MTgsMTcgQEAgV2ViSW5zcGVjdG9yLkNvbnNvbGVNZXNzYWdlSW1wbC5wcm90b3R5cGUgPSB7
CiAgICAgICAgIHsKICAgICAgICAgICAgIGlmIChiIGluc3RhbmNlb2YgTm9kZSkKICAgICAgICAg
ICAgICAgICBhLmFwcGVuZENoaWxkKGIpOwotICAgICAgICAgICAgZWxzZSBpZiAoYikKLSAgICAg
ICAgICAgICAgICBhLmFwcGVuZENoaWxkKFdlYkluc3BlY3Rvci5saW5raWZ5U3RyaW5nQXNGcmFn
bWVudChiLnRvU3RyaW5nKCkpKTsKKyAgICAgICAgICAgIGVsc2UgaWYgKGIpIHsKKyAgICAgICAg
ICAgICAgICB2YXIgdG9BcHBlbmQgPSBXZWJJbnNwZWN0b3IubGlua2lmeVN0cmluZ0FzRnJhZ21l
bnQoYi50b1N0cmluZygpKTsKKyAgICAgICAgICAgICAgICBpZiAoY3VycmVudFN0eWxlKSB7Cisg
ICAgICAgICAgICAgICAgICAgIHZhciB3cmFwcGVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgn
c3BhbicpOworICAgICAgICAgICAgICAgICAgICBmb3IgKGtleSBpbiBjdXJyZW50U3R5bGUpCisg
ICAgICAgICAgICAgICAgICAgICAgICB3cmFwcGVyLnN0eWxlW2tleV0gPSBjdXJyZW50U3R5bGVb
a2V5XTsKKyAgICAgICAgICAgICAgICAgICAgd3JhcHBlci5hcHBlbmRDaGlsZCh0b0FwcGVuZCk7
CisgICAgICAgICAgICAgICAgICAgIHRvQXBwZW5kID0gd3JhcHBlcjsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICAgICAgYS5hcHBlbmRDaGlsZCh0b0FwcGVuZCk7CisgICAgICAgICAg
ICB9CiAgICAgICAgICAgICByZXR1cm4gYTsKICAgICAgICAgfQogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYmNiZTAxYWY4
ZjkzNTE0YTMzYTc1MDc3OWNiMDhkNDk5ZDQzOTNjMC4uN2IzNTI3MGEzYmMzZTgyN2Q2ZGQ1ZDlk
YWM2MDM3MzVkNDZiMzYxYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTExLTEwICBNaWtl
IFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogTXVs
dGlwbGUgJyVjJyBmb3JtYXR0aW5nIG9wdGlvbnMgc2hvdWxkIGFsbCBoYXZlIGVmZmVjdC4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMTQ5NQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaHR0cC90ZXN0
cy9pbnNwZWN0b3IvY29uc29sZS10ZXN0LmpzOgorICAgICAgICAoaW5pdGlhbGl6ZV9Db25zb2xl
VGVzdC5JbnNwZWN0b3JUZXN0LmR1bXBDb25zb2xlTWVzc2FnZXNXaXRoU3R5bGVzKToKKyAgICAg
ICAgICAgIFdlJ3JlIG5vIGxvbmdlciBwdXR0aW5nIHRoZSBzdHlsZSBkaXJlY3RseSBvbiB0aGUg
bWVzc2FnZSdzCisgICAgICAgICAgICBwYXJlbnQsIGJ1dCBpbnN0ZWFkIG9uIGVhY2ggc2VjdGlv
biBvZiB0aGUgbWVzc2FnZSBpbiBvcmRlciB0bworICAgICAgICAgICAgc3VwcG9ydCBtdWx0aXBs
ZSBzdHlsZXMuCisgICAgICAgICogaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1mb3JtYXQtc3R5
bGUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGluc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZm9y
bWF0LXN0eWxlLXdoaXRlbGlzdC1leHBlY3RlZC50eHQ6CisgICAgICAgICogaW5zcGVjdG9yL2Nv
bnNvbGUvY29uc29sZS1mb3JtYXQtc3R5bGUuaHRtbDoKKwogMjAxMi0xMS0xMCAgQnJ1bm8gZGUg
T2xpdmVpcmEgQWJpbmFkZXIgIDxicnVuby5hYmluYWRlckBiYXN5c2tvbS5jb20+CiAKICAgICAg
ICAgW2Nzc10gdGV4dC1kZWNvcmF0aW9uOm5vbmUgbm8gbG9uZ2VyIHZhbGlkCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9jb25zb2xlLXRlc3QuanMgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9jb25zb2xlLXRlc3QuanMKaW5kZXggYjVjNDYy
N2U2ZDQ3MGE1NjdkOWM1YjEwYjFlM2ZhNzNkMTVmZDUwMS4uNWJlYjMyMTM2YzE4YWJiZWVmM2I4
YjZiNjA1YWZlODVkOTdiOTljOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9p
bnNwZWN0b3IvY29uc29sZS10ZXN0LmpzCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5z
cGVjdG9yL2NvbnNvbGUtdGVzdC5qcwpAQCAtMjgsOCArMjgsOSBAQCBJbnNwZWN0b3JUZXN0LmR1
bXBDb25zb2xlTWVzc2FnZXNXaXRoU3R5bGVzID0gZnVuY3Rpb24oc29ydE1lc3NhZ2VzKQogICAg
IGZvciAodmFyIGkgPSAwOyBpIDwgbWVzc2FnZXMubGVuZ3RoOyArK2kpIHsKICAgICAgICAgdmFy
IGVsZW1lbnQgPSBtZXNzYWdlc1tpXS50b01lc3NhZ2VFbGVtZW50KCk7CiAgICAgICAgIEluc3Bl
Y3RvclRlc3QuYWRkUmVzdWx0KGVsZW1lbnQudGV4dENvbnRlbnQucmVwbGFjZSgvXHUyMDBiL2cs
ICIiKSk7Ci0gICAgICAgIHZhciBjc3NUZXh0ID0gZWxlbWVudC5xdWVyeVNlbGVjdG9yKCIuY29u
c29sZS1tZXNzYWdlLXRleHQgc3BhbiIpLnN0eWxlLmNzc1RleHQgfHwgIk5PIFNUWUxFUyBERUZJ
TkVELiI7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJTdHlsZTogIiArIGNzc1Rl
eHQpOworICAgICAgICB2YXIgc3BhbnMgPSBlbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5jb25z
b2xlLW1lc3NhZ2UtdGV4dCA+IHNwYW4gPiBzcGFuIik7CisgICAgICAgIGZvciAodmFyIGogPSAw
OyBqIDwgc3BhbnMubGVuZ3RoOyBqKyspCisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJl
c3VsdCgiU3R5bGVkIHRleHQgIyIgKyBqICsgIjogIiArIChzcGFuc1tqXS5zdHlsZS5jc3NUZXh0
IHx8ICJOTyBTVFlMRVMgREVGSU5FRCIpKTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZm9ybWF0LXN0eWxlLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZm9ybWF0LXN0eWxlLWV4
cGVjdGVkLnR4dAppbmRleCA4MDljOTc2NzYyMDFlZDNlMmE4NWE5YjRkNDgyOGQ4OTZhZTQxODY2
Li5kMWM3MWVkYTAyMDI3NGIzNTM1ZGM0N2IzM2ZiNWI5ODcyYTg5OGYxIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWZvcm1hdC1zdHlsZS1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1mb3JtYXQt
c3R5bGUtZXhwZWN0ZWQudHh0CkBAIC0xLDkgKzEsMTAgQEAKIENPTlNPTEUgTUVTU0FHRTogbGlu
ZSA4OiAlY0JsdWUhLgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDk6ICVjUmVkISVjLgotVGVzdHMg
dGhhdCBjb25zb2xlIGxvZ2dpbmcgZHVtcHMgcHJvcGVybHkgc3R5bGVkIG1lc3NhZ2VzLCBhbmQg
dGhhdCB0aGUgd2hvbGUgbWVzc2FnZSBnZXRzIHRoZSBzYW1lIHN0eWxlLCByZWdhcmRsZXNzIG9m
IG11bHRpcGxlICVjIHNldHRpbmdzLgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDk6ICVjQmx1ZSEg
JWNSZWQhCitUZXN0cyB0aGF0IGNvbnNvbGUgbG9nZ2luZyBkdW1wcyBwcm9wZXJseSBzdHlsZWQg
bWVzc2FnZXMuCiAKIEJsdWUhLiBjb25zb2xlLWZvcm1hdC1zdHlsZS5odG1sOjgKLVN0eWxlOiBj
b2xvcjogYmx1ZTsKLVJlZCEuIGNvbnNvbGUtZm9ybWF0LXN0eWxlLmh0bWw6OQotU3R5bGU6IGNv
bG9yOiByZWQ7CitTdHlsZWQgdGV4dCAjMDogY29sb3I6IGJsdWU7CitCbHVlISBSZWQhIGNvbnNv
bGUtZm9ybWF0LXN0eWxlLmh0bWw6OQorU3R5bGVkIHRleHQgIzA6IGNvbG9yOiBibHVlOworU3R5
bGVkIHRleHQgIzE6IGNvbG9yOiByZWQ7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9jb25zb2xlL2NvbnNvbGUtZm9ybWF0LXN0eWxlLXdoaXRlbGlzdC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWZvcm1hdC1zdHlsZS13aGl0
ZWxpc3QtZXhwZWN0ZWQudHh0CmluZGV4IDhiMzg3MzRhODViOGFiNTNkM2NmNDliYzJmMGRlNThm
MDEwMWZjZjMuLmUwNWJhMjM2MDMwNGViODk3NWMxMjA1YzE1MmU0M2I1NGJiM2ZiZGMgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZm9ybWF0LXN0eWxl
LXdoaXRlbGlzdC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNv
bGUvY29uc29sZS1mb3JtYXQtc3R5bGUtd2hpdGVsaXN0LWV4cGVjdGVkLnR4dApAQCAtNywxNSAr
NywxNSBAQCBDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTQ6ICVjQW5kIHBvc2l0aW9uIHRvby4KIFRl
c3RzIHRoYXQgY29uc29sZSBsb2dnaW5nIGR1bXBzIHByb3Blcmx5IHN0eWxlZCBtZXNzYWdlcywg
YW5kIHRoYXQgdGhlIHdob2xlIG1lc3NhZ2UgZ2V0cyB0aGUgc2FtZSBzdHlsZSwgcmVnYXJkbGVz
cyBvZiBtdWx0aXBsZSAlYyBzZXR0aW5ncy4KIAogQ29sb3JzIGFyZSBhd2Vzb21lLiBjb25zb2xl
LWZvcm1hdC1zdHlsZS13aGl0ZWxpc3QuaHRtbDo4Ci1TdHlsZTogY29sb3I6IGJsdWU7CitTdHls
ZWQgdGV4dCAjMDogY29sb3I6IGJsdWU7CiBTbyBhcmUgZm9udHMhIGNvbnNvbGUtZm9ybWF0LXN0
eWxlLXdoaXRlbGlzdC5odG1sOjkKLVN0eWxlOiBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFy
aWFudDogbm9ybWFsOyBmb250LXdlaWdodDogbm9ybWFsOyBmb250LXNpemU6IDFlbTsgbGluZS1o
ZWlnaHQ6IG5vcm1hbDsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsKK1N0eWxlZCB0ZXh0ICMwOiBm
b250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudDogbm9ybWFsOyBmb250LXdlaWdodDogbm9y
bWFsOyBmb250LXNpemU6IDFlbTsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgZm9udC1mYW1pbHk6IEhl
bHZldGljYTsKIEFuZCBib3JkZXJzIGFuZCBtYXJnaW5zIGFuZCBwYWRkaW5ncyEgY29uc29sZS1m
b3JtYXQtc3R5bGUtd2hpdGVsaXN0Lmh0bWw6MTAKLVN0eWxlOiBib3JkZXI6IDFweCBzb2xpZCBy
ZWQ7IG1hcmdpbjogMjBweDsgcGFkZGluZzogMTBweDsKK1N0eWxlZCB0ZXh0ICMwOiBib3JkZXI6
IDFweCBzb2xpZCByZWQ7IG1hcmdpbjogMjBweDsgcGFkZGluZzogMTBweDsKIHRleHQtKiBpcyBm
aW5lIGJ5IHVzISBjb25zb2xlLWZvcm1hdC1zdHlsZS13aGl0ZWxpc3QuaHRtbDoxMQotU3R5bGU6
IHRleHQtZGVjb3JhdGlvbjogbm9uZTsKK1N0eWxlZCB0ZXh0ICMwOiB0ZXh0LWRlY29yYXRpb246
IGluaXRpYWw7CiBEaXNwbGF5LCBvbiB0aGUgb3RoZXIgaGFuZCwgaXMgYmFkIG5ld3MuIGNvbnNv
bGUtZm9ybWF0LXN0eWxlLXdoaXRlbGlzdC5odG1sOjEzCi1TdHlsZTogTk8gU1RZTEVTIERFRklO
RUQuCitTdHlsZWQgdGV4dCAjMDogTk8gU1RZTEVTIERFRklORUQKIEFuZCBwb3NpdGlvbiB0b28u
IGNvbnNvbGUtZm9ybWF0LXN0eWxlLXdoaXRlbGlzdC5odG1sOjE0Ci1TdHlsZTogTk8gU1RZTEVT
IERFRklORUQuCitTdHlsZWQgdGV4dCAjMDogTk8gU1RZTEVTIERFRklORUQKIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1mb3JtYXQtc3R5bGUuaHRt
bCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZm9ybWF0LXN0eWxlLmh0
bWwKaW5kZXggODQ2NzYwZDNiYjk2ZGYyYjg0MDQzYzMzODM5OTYxNjczZDNkNDQwMi4uNjRiNTA0
NmVhZDZhYWM4NTg0ZDRjODQ4Yjk3ODhhY2NiNTJhZDY1OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1mb3JtYXQtc3R5bGUuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWZvcm1hdC1zdHlsZS5odG1sCkBAIC02
LDcgKzYsNyBAQAogICAgICAgICAgICAgZnVuY3Rpb24gb25sb2FkKCkKICAgICAgICAgICAgIHsK
ICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnJWNCbHVlIS4nLCAnY29sb3I6IGJsdWU7Jyk7
Ci0gICAgICAgICAgICAgICAgY29uc29sZS5sb2coJyVjUmVkISVjLicsICdjb2xvcjogYmx1ZTsn
LCAnY29sb3I6IHJlZDsnKTsKKyAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnJWNCbHVlISAl
Y1JlZCEnLCAnY29sb3I6IGJsdWU7JywgJ2NvbG9yOiByZWQ7Jyk7CiAgICAgICAgICAgICAgICAg
cnVuVGVzdCgpOwogICAgICAgICAgICAgfQogCkBAIC0yMCw4ICsyMCw2IEBACiAgICAgPC9oZWFk
PgogCiAgICAgPGJvZHkgb25sb2FkPSJvbmxvYWQoKSI+Ci0gICAgICA8cD5UZXN0cyB0aGF0IGNv
bnNvbGUgbG9nZ2luZyBkdW1wcyBwcm9wZXJseSBzdHlsZWQgbWVzc2FnZXMsIGFuZCB0aGF0Ci0g
ICAgICB0aGUgd2hvbGUgbWVzc2FnZSBnZXRzIHRoZSBzYW1lIHN0eWxlLCByZWdhcmRsZXNzIG9m
IG11bHRpcGxlICVjCi0gICAgICBzZXR0aW5ncy48L3A+CisgICAgICA8cD5UZXN0cyB0aGF0IGNv
bnNvbGUgbG9nZ2luZyBkdW1wcyBwcm9wZXJseSBzdHlsZWQgbWVzc2FnZXMuPC9wPgogICAgIDwv
Ym9keT4KIDwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>173460</attachid>
            <date>2012-11-10 11:19:28 -0800</date>
            <delta_ts>2012-11-10 15:40:00 -0800</delta_ts>
            <desc>Hrm.</desc>
            <filename>bug-101495-20121110201732.patch</filename>
            <type>text/plain</type>
            <size>8847</size>
            <attacher name="Mike West">mkwst</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0MTU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODc1ZTFlMGVjZThlNjlk
ZTQ1NzM5OWEyYTNlOTY5OWEwNTgzMTdmYy4uN2Y2YWNjNDY1ZDAwZTI3NDBhZTc1NDljMWEwNTI2
ZDFkZmVhZmNlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEyLTExLTEwICBNaWtl
IFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogTXVs
dGlwbGUgJyVjJyBmb3JtYXR0aW5nIG9wdGlvbnMgc2hvdWxkIGFsbCBoYXZlIGVmZmVjdC4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMTQ5NQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2gg
c3VwcG9ydHMgbXVsdGlwbGUgJyVjJyBmb3JtYXR0aW5nIGJsb2NrcyBpbiBjb25zb2xlIG1lc3Nh
Z2VzLgorICAgICAgICAnY29uc29sZS5sb2coIiVjYmx1ZSEgJWNncmVlbiEiLCAiY29sb3I6IGJs
dWU7IiwgImNvbG9yOiBncmVlbjsiKScgd2lsbAorICAgICAgICBkbyBleGFjdGx5IHdoYXQgeW91
IGV4cGVjdDogImJsdWUhIiB3aWxsIGJlIGJsdWUsIGFuZCAiZ3JlZW4hIiB3aWxsIGJlCisgICAg
ICAgIGdyZWVuLgorCisgICAgICAgIFRoZSBpbXBsZW1lbnRhdGlvbiBtb3ZlcyB0aGUgc3R5bGVz
IG9mZiB0aGUgbWVzc2FnZSdzIHBhcmVudCAnc3BhbicsIGFuZAorICAgICAgICBvbnRvIG5ldyAn
c3BhbicgZWxlbWVudHMgdGhhdCB3cmFwIHRoZSB2YXJpb3VzIHRleHR1YWwgYml0cyBvZiB0aGUK
KyAgICAgICAgbWVzc2FnZS4KKworICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvQ29uc29s
ZU1lc3NhZ2UuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2VJbXBsLnBy
b3RvdHlwZS4pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbnNvbGVNZXNzYWdlSW1wbC5wcm90
b3R5cGUuYXBwZW5kKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2FnZUltcGwu
cHJvdG90eXBlLl9mb3JtYXRXaXRoU3Vic3RpdHV0aW9uU3RyaW5nKToKKwogMjAxMi0xMS0xMCAg
Sm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgogCiAgICAgICAgIFtNYWNdIEd1
YXJkIFdlYkNvcmUgUGFnZVZpc2liaWxpdHkgU3ltYm9sIEV4cG9ydApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlTWVzc2FnZS5qcyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29uc29sZU1lc3NhZ2UuanMKaW5kZXggOWI3
NjQ4YWQzOTA1M2QxZDUwNTM5NTI0NGQ5MDc3NDE0YjRhMDk5My4uYzM0YTA5ZDJiNTQ5NzVkYjEy
OTk5OGE5NDRhZDUwZmUzM2Y2OGNkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9Db25zb2xlTWVzc2FnZS5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVNZXNzYWdlLmpzCkBAIC00NzcsMTQgKzQ3NywxNiBAQCBX
ZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2VJbXBsLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAg
IHJldHVybiBNYXRoLmZsb29yKG9iai52YWx1ZSk7CiAgICAgICAgIH0KIAorICAgICAgICB2YXIg
Y3VycmVudFN0eWxlID0gbnVsbDsKICAgICAgICAgZnVuY3Rpb24gc3R5bGVGb3JtYXR0ZXIob2Jq
KQogICAgICAgICB7CisgICAgICAgICAgICBjdXJyZW50U3R5bGUgPSB7fTsKICAgICAgICAgICAg
IHZhciBidWZmZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7CiAgICAgICAgICAg
ICBidWZmZXIuc2V0QXR0cmlidXRlKCJzdHlsZSIsIG9iai5kZXNjcmlwdGlvbik7CiAgICAgICAg
ICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGJ1ZmZlci5zdHlsZS5sZW5ndGg7IGkrKykgewogICAg
ICAgICAgICAgICAgIHZhciBwcm9wZXJ0eSA9IGJ1ZmZlci5zdHlsZVtpXTsKICAgICAgICAgICAg
ICAgICBpZiAoaXNXaGl0ZWxpc3RlZFByb3BlcnR5KHByb3BlcnR5KSkKLSAgICAgICAgICAgICAg
ICAgICAgZm9ybWF0dGVkUmVzdWx0LnN0eWxlW3Byb3BlcnR5XSA9IGJ1ZmZlci5zdHlsZVtwcm9w
ZXJ0eV07CisgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRTdHlsZVtwcm9wZXJ0eV0gPSBidWZm
ZXIuc3R5bGVbcHJvcGVydHldOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAKQEAgLTUxNiw4
ICs1MTgsMTcgQEAgV2ViSW5zcGVjdG9yLkNvbnNvbGVNZXNzYWdlSW1wbC5wcm90b3R5cGUgPSB7
CiAgICAgICAgIHsKICAgICAgICAgICAgIGlmIChiIGluc3RhbmNlb2YgTm9kZSkKICAgICAgICAg
ICAgICAgICBhLmFwcGVuZENoaWxkKGIpOwotICAgICAgICAgICAgZWxzZSBpZiAoYikKLSAgICAg
ICAgICAgICAgICBhLmFwcGVuZENoaWxkKFdlYkluc3BlY3Rvci5saW5raWZ5U3RyaW5nQXNGcmFn
bWVudChiLnRvU3RyaW5nKCkpKTsKKyAgICAgICAgICAgIGVsc2UgaWYgKGIpIHsKKyAgICAgICAg
ICAgICAgICB2YXIgdG9BcHBlbmQgPSBXZWJJbnNwZWN0b3IubGlua2lmeVN0cmluZ0FzRnJhZ21l
bnQoYi50b1N0cmluZygpKTsKKyAgICAgICAgICAgICAgICBpZiAoY3VycmVudFN0eWxlKSB7Cisg
ICAgICAgICAgICAgICAgICAgIHZhciB3cmFwcGVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgn
c3BhbicpOworICAgICAgICAgICAgICAgICAgICBmb3IgKGtleSBpbiBjdXJyZW50U3R5bGUpCisg
ICAgICAgICAgICAgICAgICAgICAgICB3cmFwcGVyLnN0eWxlW2tleV0gPSBjdXJyZW50U3R5bGVb
a2V5XTsKKyAgICAgICAgICAgICAgICAgICAgd3JhcHBlci5hcHBlbmRDaGlsZCh0b0FwcGVuZCk7
CisgICAgICAgICAgICAgICAgICAgIHRvQXBwZW5kID0gd3JhcHBlcjsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICAgICAgYS5hcHBlbmRDaGlsZCh0b0FwcGVuZCk7CisgICAgICAgICAg
ICB9CiAgICAgICAgICAgICByZXR1cm4gYTsKICAgICAgICAgfQogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYmNiZTAxYWY4
ZjkzNTE0YTMzYTc1MDc3OWNiMDhkNDk5ZDQzOTNjMC4uN2IzNTI3MGEzYmMzZTgyN2Q2ZGQ1ZDlk
YWM2MDM3MzVkNDZiMzYxYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTExLTEwICBNaWtl
IFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogTXVs
dGlwbGUgJyVjJyBmb3JtYXR0aW5nIG9wdGlvbnMgc2hvdWxkIGFsbCBoYXZlIGVmZmVjdC4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMTQ5NQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaHR0cC90ZXN0
cy9pbnNwZWN0b3IvY29uc29sZS10ZXN0LmpzOgorICAgICAgICAoaW5pdGlhbGl6ZV9Db25zb2xl
VGVzdC5JbnNwZWN0b3JUZXN0LmR1bXBDb25zb2xlTWVzc2FnZXNXaXRoU3R5bGVzKToKKyAgICAg
ICAgICAgIFdlJ3JlIG5vIGxvbmdlciBwdXR0aW5nIHRoZSBzdHlsZSBkaXJlY3RseSBvbiB0aGUg
bWVzc2FnZSdzCisgICAgICAgICAgICBwYXJlbnQsIGJ1dCBpbnN0ZWFkIG9uIGVhY2ggc2VjdGlv
biBvZiB0aGUgbWVzc2FnZSBpbiBvcmRlciB0bworICAgICAgICAgICAgc3VwcG9ydCBtdWx0aXBs
ZSBzdHlsZXMuCisgICAgICAgICogaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1mb3JtYXQtc3R5
bGUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGluc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZm9y
bWF0LXN0eWxlLXdoaXRlbGlzdC1leHBlY3RlZC50eHQ6CisgICAgICAgICogaW5zcGVjdG9yL2Nv
bnNvbGUvY29uc29sZS1mb3JtYXQtc3R5bGUuaHRtbDoKKwogMjAxMi0xMS0xMCAgQnJ1bm8gZGUg
T2xpdmVpcmEgQWJpbmFkZXIgIDxicnVuby5hYmluYWRlckBiYXN5c2tvbS5jb20+CiAKICAgICAg
ICAgW2Nzc10gdGV4dC1kZWNvcmF0aW9uOm5vbmUgbm8gbG9uZ2VyIHZhbGlkCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9jb25zb2xlLXRlc3QuanMgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9jb25zb2xlLXRlc3QuanMKaW5kZXggYjVjNDYy
N2U2ZDQ3MGE1NjdkOWM1YjEwYjFlM2ZhNzNkMTVmZDUwMS4uNWJlYjMyMTM2YzE4YWJiZWVmM2I4
YjZiNjA1YWZlODVkOTdiOTljOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9p
bnNwZWN0b3IvY29uc29sZS10ZXN0LmpzCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5z
cGVjdG9yL2NvbnNvbGUtdGVzdC5qcwpAQCAtMjgsOCArMjgsOSBAQCBJbnNwZWN0b3JUZXN0LmR1
bXBDb25zb2xlTWVzc2FnZXNXaXRoU3R5bGVzID0gZnVuY3Rpb24oc29ydE1lc3NhZ2VzKQogICAg
IGZvciAodmFyIGkgPSAwOyBpIDwgbWVzc2FnZXMubGVuZ3RoOyArK2kpIHsKICAgICAgICAgdmFy
IGVsZW1lbnQgPSBtZXNzYWdlc1tpXS50b01lc3NhZ2VFbGVtZW50KCk7CiAgICAgICAgIEluc3Bl
Y3RvclRlc3QuYWRkUmVzdWx0KGVsZW1lbnQudGV4dENvbnRlbnQucmVwbGFjZSgvXHUyMDBiL2cs
ICIiKSk7Ci0gICAgICAgIHZhciBjc3NUZXh0ID0gZWxlbWVudC5xdWVyeVNlbGVjdG9yKCIuY29u
c29sZS1tZXNzYWdlLXRleHQgc3BhbiIpLnN0eWxlLmNzc1RleHQgfHwgIk5PIFNUWUxFUyBERUZJ
TkVELiI7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJTdHlsZTogIiArIGNzc1Rl
eHQpOworICAgICAgICB2YXIgc3BhbnMgPSBlbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5jb25z
b2xlLW1lc3NhZ2UtdGV4dCA+IHNwYW4gPiBzcGFuIik7CisgICAgICAgIGZvciAodmFyIGogPSAw
OyBqIDwgc3BhbnMubGVuZ3RoOyBqKyspCisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJl
c3VsdCgiU3R5bGVkIHRleHQgIyIgKyBqICsgIjogIiArIChzcGFuc1tqXS5zdHlsZS5jc3NUZXh0
IHx8ICJOTyBTVFlMRVMgREVGSU5FRCIpKTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZm9ybWF0LXN0eWxlLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZm9ybWF0LXN0eWxlLWV4
cGVjdGVkLnR4dAppbmRleCA4MDljOTc2NzYyMDFlZDNlMmE4NWE5YjRkNDgyOGQ4OTZhZTQxODY2
Li5kMWM3MWVkYTAyMDI3NGIzNTM1ZGM0N2IzM2ZiNWI5ODcyYTg5OGYxIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWZvcm1hdC1zdHlsZS1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1mb3JtYXQt
c3R5bGUtZXhwZWN0ZWQudHh0CkBAIC0xLDkgKzEsMTAgQEAKIENPTlNPTEUgTUVTU0FHRTogbGlu
ZSA4OiAlY0JsdWUhLgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDk6ICVjUmVkISVjLgotVGVzdHMg
dGhhdCBjb25zb2xlIGxvZ2dpbmcgZHVtcHMgcHJvcGVybHkgc3R5bGVkIG1lc3NhZ2VzLCBhbmQg
dGhhdCB0aGUgd2hvbGUgbWVzc2FnZSBnZXRzIHRoZSBzYW1lIHN0eWxlLCByZWdhcmRsZXNzIG9m
IG11bHRpcGxlICVjIHNldHRpbmdzLgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDk6ICVjQmx1ZSEg
JWNSZWQhCitUZXN0cyB0aGF0IGNvbnNvbGUgbG9nZ2luZyBkdW1wcyBwcm9wZXJseSBzdHlsZWQg
bWVzc2FnZXMuCiAKIEJsdWUhLiBjb25zb2xlLWZvcm1hdC1zdHlsZS5odG1sOjgKLVN0eWxlOiBj
b2xvcjogYmx1ZTsKLVJlZCEuIGNvbnNvbGUtZm9ybWF0LXN0eWxlLmh0bWw6OQotU3R5bGU6IGNv
bG9yOiByZWQ7CitTdHlsZWQgdGV4dCAjMDogY29sb3I6IGJsdWU7CitCbHVlISBSZWQhIGNvbnNv
bGUtZm9ybWF0LXN0eWxlLmh0bWw6OQorU3R5bGVkIHRleHQgIzA6IGNvbG9yOiBibHVlOworU3R5
bGVkIHRleHQgIzE6IGNvbG9yOiByZWQ7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9jb25zb2xlL2NvbnNvbGUtZm9ybWF0LXN0eWxlLXdoaXRlbGlzdC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWZvcm1hdC1zdHlsZS13aGl0
ZWxpc3QtZXhwZWN0ZWQudHh0CmluZGV4IDhiMzg3MzRhODViOGFiNTNkM2NmNDliYzJmMGRlNThm
MDEwMWZjZjMuLjIxYjkyMTUyYTJjMWI5ZTMyYzFlODIwMTRhZTA1NzMwNTVmNmQ3MjMgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZm9ybWF0LXN0eWxl
LXdoaXRlbGlzdC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNv
bGUvY29uc29sZS1mb3JtYXQtc3R5bGUtd2hpdGVsaXN0LWV4cGVjdGVkLnR4dApAQCAtNywxNSAr
NywxNSBAQCBDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTQ6ICVjQW5kIHBvc2l0aW9uIHRvby4KIFRl
c3RzIHRoYXQgY29uc29sZSBsb2dnaW5nIGR1bXBzIHByb3Blcmx5IHN0eWxlZCBtZXNzYWdlcywg
YW5kIHRoYXQgdGhlIHdob2xlIG1lc3NhZ2UgZ2V0cyB0aGUgc2FtZSBzdHlsZSwgcmVnYXJkbGVz
cyBvZiBtdWx0aXBsZSAlYyBzZXR0aW5ncy4KIAogQ29sb3JzIGFyZSBhd2Vzb21lLiBjb25zb2xl
LWZvcm1hdC1zdHlsZS13aGl0ZWxpc3QuaHRtbDo4Ci1TdHlsZTogY29sb3I6IGJsdWU7CitTdHls
ZWQgdGV4dCAjMDogY29sb3I6IGJsdWU7CiBTbyBhcmUgZm9udHMhIGNvbnNvbGUtZm9ybWF0LXN0
eWxlLXdoaXRlbGlzdC5odG1sOjkKLVN0eWxlOiBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFy
aWFudDogbm9ybWFsOyBmb250LXdlaWdodDogbm9ybWFsOyBmb250LXNpemU6IDFlbTsgbGluZS1o
ZWlnaHQ6IG5vcm1hbDsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsKK1N0eWxlZCB0ZXh0ICMwOiBm
b250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudDogbm9ybWFsOyBmb250LXdlaWdodDogbm9y
bWFsOyBmb250LXNpemU6IDFlbTsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgZm9udC1mYW1pbHk6IEhl
bHZldGljYTsKIEFuZCBib3JkZXJzIGFuZCBtYXJnaW5zIGFuZCBwYWRkaW5ncyEgY29uc29sZS1m
b3JtYXQtc3R5bGUtd2hpdGVsaXN0Lmh0bWw6MTAKLVN0eWxlOiBib3JkZXI6IDFweCBzb2xpZCBy
ZWQ7IG1hcmdpbjogMjBweDsgcGFkZGluZzogMTBweDsKK1N0eWxlZCB0ZXh0ICMwOiBib3JkZXI6
IDFweCBzb2xpZCByZWQ7IG1hcmdpbjogMjBweDsgcGFkZGluZzogMTBweDsKIHRleHQtKiBpcyBm
aW5lIGJ5IHVzISBjb25zb2xlLWZvcm1hdC1zdHlsZS13aGl0ZWxpc3QuaHRtbDoxMQotU3R5bGU6
IHRleHQtZGVjb3JhdGlvbjogbm9uZTsKK1N0eWxlZCB0ZXh0ICMwOiB0ZXh0LWRlY29yYXRpb246
IG5vbmU7CiBEaXNwbGF5LCBvbiB0aGUgb3RoZXIgaGFuZCwgaXMgYmFkIG5ld3MuIGNvbnNvbGUt
Zm9ybWF0LXN0eWxlLXdoaXRlbGlzdC5odG1sOjEzCi1TdHlsZTogTk8gU1RZTEVTIERFRklORUQu
CitTdHlsZWQgdGV4dCAjMDogTk8gU1RZTEVTIERFRklORUQKIEFuZCBwb3NpdGlvbiB0b28uIGNv
bnNvbGUtZm9ybWF0LXN0eWxlLXdoaXRlbGlzdC5odG1sOjE0Ci1TdHlsZTogTk8gU1RZTEVTIERF
RklORUQuCitTdHlsZWQgdGV4dCAjMDogTk8gU1RZTEVTIERFRklORUQKIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1mb3JtYXQtc3R5bGUuaHRtbCBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZm9ybWF0LXN0eWxlLmh0bWwK
aW5kZXggODQ2NzYwZDNiYjk2ZGYyYjg0MDQzYzMzODM5OTYxNjczZDNkNDQwMi4uNjRiNTA0NmVh
ZDZhYWM4NTg0ZDRjODQ4Yjk3ODhhY2NiNTJhZDY1OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1mb3JtYXQtc3R5bGUuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWZvcm1hdC1zdHlsZS5odG1sCkBAIC02LDcg
KzYsNyBAQAogICAgICAgICAgICAgZnVuY3Rpb24gb25sb2FkKCkKICAgICAgICAgICAgIHsKICAg
ICAgICAgICAgICAgICBjb25zb2xlLmxvZygnJWNCbHVlIS4nLCAnY29sb3I6IGJsdWU7Jyk7Ci0g
ICAgICAgICAgICAgICAgY29uc29sZS5sb2coJyVjUmVkISVjLicsICdjb2xvcjogYmx1ZTsnLCAn
Y29sb3I6IHJlZDsnKTsKKyAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnJWNCbHVlISAlY1Jl
ZCEnLCAnY29sb3I6IGJsdWU7JywgJ2NvbG9yOiByZWQ7Jyk7CiAgICAgICAgICAgICAgICAgcnVu
VGVzdCgpOwogICAgICAgICAgICAgfQogCkBAIC0yMCw4ICsyMCw2IEBACiAgICAgPC9oZWFkPgog
CiAgICAgPGJvZHkgb25sb2FkPSJvbmxvYWQoKSI+Ci0gICAgICA8cD5UZXN0cyB0aGF0IGNvbnNv
bGUgbG9nZ2luZyBkdW1wcyBwcm9wZXJseSBzdHlsZWQgbWVzc2FnZXMsIGFuZCB0aGF0Ci0gICAg
ICB0aGUgd2hvbGUgbWVzc2FnZSBnZXRzIHRoZSBzYW1lIHN0eWxlLCByZWdhcmRsZXNzIG9mIG11
bHRpcGxlICVjCi0gICAgICBzZXR0aW5ncy48L3A+CisgICAgICA8cD5UZXN0cyB0aGF0IGNvbnNv
bGUgbG9nZ2luZyBkdW1wcyBwcm9wZXJseSBzdHlsZWQgbWVzc2FnZXMuPC9wPgogICAgIDwvYm9k
eT4KIDwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>173480</attachid>
            <date>2012-11-10 15:40:06 -0800</date>
            <delta_ts>2012-11-12 00:04:55 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-101495-20121111003811.patch</filename>
            <type>text/plain</type>
            <size>8911</size>
            <attacher name="Mike West">mkwst</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0MTY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzFmYmYzNmZmYzNlNTEz
YWYxOGRjNzhhZjI3MmJlMTc3M2VhMjhkZS4uZDcyNzk4MTlmNjIxNGMyZmU1ZDM4ODc4ODNmYzEx
ZTBlODBmNWExYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI2IEBACiAyMDEyLTExLTEwICBNaWtl
IFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CiAKKyAgICAgICAgV2ViIEluc3BlY3RvcjogTXVs
dGlwbGUgJyVjJyBmb3JtYXR0aW5nIG9wdGlvbnMgc2hvdWxkIGFsbCBoYXZlIGVmZmVjdC4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMTQ5NQorCisg
ICAgICAgIFJldmlld2VkIGJ5IFBhdmVsIEZlbGRtYW4uCisKKyAgICAgICAgVGhpcyBwYXRjaCBz
dXBwb3J0cyBtdWx0aXBsZSAnJWMnIGZvcm1hdHRpbmcgYmxvY2tzIGluIGNvbnNvbGUgbWVzc2Fn
ZXMuCisgICAgICAgICdjb25zb2xlLmxvZygiJWNibHVlISAlY2dyZWVuISIsICJjb2xvcjogYmx1
ZTsiLCAiY29sb3I6IGdyZWVuOyIpJyB3aWxsCisgICAgICAgIGRvIGV4YWN0bHkgd2hhdCB5b3Ug
ZXhwZWN0OiAiYmx1ZSEiIHdpbGwgYmUgYmx1ZSwgYW5kICJncmVlbiEiIHdpbGwgYmUKKyAgICAg
ICAgZ3JlZW4uCisKKyAgICAgICAgVGhlIGltcGxlbWVudGF0aW9uIG1vdmVzIHRoZSBzdHlsZXMg
b2ZmIHRoZSBtZXNzYWdlJ3MgcGFyZW50ICdzcGFuJywgYW5kCisgICAgICAgIG9udG8gbmV3ICdz
cGFuJyBlbGVtZW50cyB0aGF0IHdyYXAgdGhlIHZhcmlvdXMgdGV4dHVhbCBiaXRzIG9mIHRoZQor
ICAgICAgICBtZXNzYWdlLgorCisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xl
TWVzc2FnZS5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2FnZUltcGwucHJv
dG90eXBlLik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2VJbXBsLnByb3Rv
dHlwZS5hcHBlbmQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbnNvbGVNZXNzYWdlSW1wbC5w
cm90b3R5cGUuX2Zvcm1hdFdpdGhTdWJzdGl0dXRpb25TdHJpbmcpOgorCisyMDEyLTExLTEwICBN
aWtlIFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CisKICAgICAgICAgSW5jbHVkaW5nIDxDb3Jl
VGV4dC9Db3JlVGV4dC5oPiBicmVha3MgdGhlIGNocm9taXVtL21hYyBidWlsZC4KICAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMTg1MQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVNZXNzYWdlLmpz
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlTWVzc2FnZS5qcwpp
bmRleCA5Yjc2NDhhZDM5MDUzZDFkNTA1Mzk1MjQ0ZDkwNzc0MTRiNGEwOTkzLi5jMzRhMDlkMmI1
NDk3NWRiMTI5OTk4YTk0NGFkNTBmZTMzZjY4Y2Q4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVNZXNzYWdlLmpzCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29uc29sZU1lc3NhZ2UuanMKQEAgLTQ3NywxNCArNDc3
LDE2IEBAIFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2FnZUltcGwucHJvdG90eXBlID0gewogICAg
ICAgICAgICAgcmV0dXJuIE1hdGguZmxvb3Iob2JqLnZhbHVlKTsKICAgICAgICAgfQogCisgICAg
ICAgIHZhciBjdXJyZW50U3R5bGUgPSBudWxsOwogICAgICAgICBmdW5jdGlvbiBzdHlsZUZvcm1h
dHRlcihvYmopCiAgICAgICAgIHsKKyAgICAgICAgICAgIGN1cnJlbnRTdHlsZSA9IHt9OwogICAg
ICAgICAgICAgdmFyIGJ1ZmZlciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsKICAg
ICAgICAgICAgIGJ1ZmZlci5zZXRBdHRyaWJ1dGUoInN0eWxlIiwgb2JqLmRlc2NyaXB0aW9uKTsK
ICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYnVmZmVyLnN0eWxlLmxlbmd0aDsgaSsr
KSB7CiAgICAgICAgICAgICAgICAgdmFyIHByb3BlcnR5ID0gYnVmZmVyLnN0eWxlW2ldOwogICAg
ICAgICAgICAgICAgIGlmIChpc1doaXRlbGlzdGVkUHJvcGVydHkocHJvcGVydHkpKQotICAgICAg
ICAgICAgICAgICAgICBmb3JtYXR0ZWRSZXN1bHQuc3R5bGVbcHJvcGVydHldID0gYnVmZmVyLnN0
eWxlW3Byb3BlcnR5XTsKKyAgICAgICAgICAgICAgICAgICAgY3VycmVudFN0eWxlW3Byb3BlcnR5
XSA9IGJ1ZmZlci5zdHlsZVtwcm9wZXJ0eV07CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIApA
QCAtNTE2LDggKzUxOCwxNyBAQCBXZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2VJbXBsLnByb3Rv
dHlwZSA9IHsKICAgICAgICAgewogICAgICAgICAgICAgaWYgKGIgaW5zdGFuY2VvZiBOb2RlKQog
ICAgICAgICAgICAgICAgIGEuYXBwZW5kQ2hpbGQoYik7Ci0gICAgICAgICAgICBlbHNlIGlmIChi
KQotICAgICAgICAgICAgICAgIGEuYXBwZW5kQ2hpbGQoV2ViSW5zcGVjdG9yLmxpbmtpZnlTdHJp
bmdBc0ZyYWdtZW50KGIudG9TdHJpbmcoKSkpOworICAgICAgICAgICAgZWxzZSBpZiAoYikgewor
ICAgICAgICAgICAgICAgIHZhciB0b0FwcGVuZCA9IFdlYkluc3BlY3Rvci5saW5raWZ5U3RyaW5n
QXNGcmFnbWVudChiLnRvU3RyaW5nKCkpOworICAgICAgICAgICAgICAgIGlmIChjdXJyZW50U3R5
bGUpIHsKKyAgICAgICAgICAgICAgICAgICAgdmFyIHdyYXBwZXIgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCdzcGFuJyk7CisgICAgICAgICAgICAgICAgICAgIGZvciAoa2V5IGluIGN1cnJlbnRT
dHlsZSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHdyYXBwZXIuc3R5bGVba2V5XSA9IGN1cnJl
bnRTdHlsZVtrZXldOworICAgICAgICAgICAgICAgICAgICB3cmFwcGVyLmFwcGVuZENoaWxkKHRv
QXBwZW5kKTsKKyAgICAgICAgICAgICAgICAgICAgdG9BcHBlbmQgPSB3cmFwcGVyOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBhLmFwcGVuZENoaWxkKHRvQXBwZW5kKTsKKyAg
ICAgICAgICAgIH0KICAgICAgICAgICAgIHJldHVybiBhOwogICAgICAgICB9CiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBi
Y2JlMDFhZjhmOTM1MTRhMzNhNzUwNzc5Y2IwOGQ0OTlkNDM5M2MwLi4wNDdiOWUzMjk5NGJhNTcz
YjcyYWJiZWRjNTg3Y2U3MTVlNjg3MWJlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTItMTEt
MTAgIE1pa2UgV2VzdCAgPG1rd3N0QGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5zcGVj
dG9yOiBNdWx0aXBsZSAnJWMnIGZvcm1hdHRpbmcgb3B0aW9ucyBzaG91bGQgYWxsIGhhdmUgZWZm
ZWN0LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAx
NDk1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgUGF2ZWwgRmVsZG1hbi4KKworICAgICAgICAqIGh0
dHAvdGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUtdGVzdC5qczoKKyAgICAgICAgKGluaXRpYWxpemVf
Q29uc29sZVRlc3QuSW5zcGVjdG9yVGVzdC5kdW1wQ29uc29sZU1lc3NhZ2VzV2l0aFN0eWxlcyk6
CisgICAgICAgICAgICBXZSdyZSBubyBsb25nZXIgcHV0dGluZyB0aGUgc3R5bGUgZGlyZWN0bHkg
b24gdGhlIG1lc3NhZ2UncworICAgICAgICAgICAgcGFyZW50LCBidXQgaW5zdGVhZCBvbiBlYWNo
IHNlY3Rpb24gb2YgdGhlIG1lc3NhZ2UgaW4gb3JkZXIgdG8KKyAgICAgICAgICAgIHN1cHBvcnQg
bXVsdGlwbGUgc3R5bGVzLgorICAgICAgICAqIGluc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZm9y
bWF0LXN0eWxlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBpbnNwZWN0b3IvY29uc29sZS9jb25z
b2xlLWZvcm1hdC1zdHlsZS13aGl0ZWxpc3QtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGluc3Bl
Y3Rvci9jb25zb2xlL2NvbnNvbGUtZm9ybWF0LXN0eWxlLmh0bWw6CisKIDIwMTItMTEtMTAgIEJy
dW5vIGRlIE9saXZlaXJhIEFiaW5hZGVyICA8YnJ1bm8uYWJpbmFkZXJAYmFzeXNrb20uY29tPgog
CiAgICAgICAgIFtjc3NdIHRleHQtZGVjb3JhdGlvbjpub25lIG5vIGxvbmdlciB2YWxpZApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29uc29sZS10ZXN0Lmpz
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29uc29sZS10ZXN0LmpzCmluZGV4
IGI1YzQ2MjdlNmQ0NzBhNTY3ZDljNWIxMGIxZTNmYTczZDE1ZmQ1MDEuLjViZWIzMjEzNmMxOGFi
YmVlZjNiOGI2YjYwNWFmZTg1ZDk3Yjk5YzggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUtdGVzdC5qcworKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2luc3BlY3Rvci9jb25zb2xlLXRlc3QuanMKQEAgLTI4LDggKzI4LDkgQEAgSW5zcGVjdG9y
VGVzdC5kdW1wQ29uc29sZU1lc3NhZ2VzV2l0aFN0eWxlcyA9IGZ1bmN0aW9uKHNvcnRNZXNzYWdl
cykKICAgICBmb3IgKHZhciBpID0gMDsgaSA8IG1lc3NhZ2VzLmxlbmd0aDsgKytpKSB7CiAgICAg
ICAgIHZhciBlbGVtZW50ID0gbWVzc2FnZXNbaV0udG9NZXNzYWdlRWxlbWVudCgpOwogICAgICAg
ICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChlbGVtZW50LnRleHRDb250ZW50LnJlcGxhY2UoL1x1
MjAwYi9nLCAiIikpOwotICAgICAgICB2YXIgY3NzVGV4dCA9IGVsZW1lbnQucXVlcnlTZWxlY3Rv
cigiLmNvbnNvbGUtbWVzc2FnZS10ZXh0IHNwYW4iKS5zdHlsZS5jc3NUZXh0IHx8ICJOTyBTVFlM
RVMgREVGSU5FRC4iOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiU3R5bGU6ICIg
KyBjc3NUZXh0KTsKKyAgICAgICAgdmFyIHNwYW5zID0gZWxlbWVudC5xdWVyeVNlbGVjdG9yQWxs
KCIuY29uc29sZS1tZXNzYWdlLXRleHQgPiBzcGFuID4gc3BhbiIpOworICAgICAgICBmb3IgKHZh
ciBqID0gMDsgaiA8IHNwYW5zLmxlbmd0aDsgaisrKQorICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5hZGRSZXN1bHQoIlN0eWxlZCB0ZXh0ICMiICsgaiArICI6ICIgKyAoc3BhbnNbal0uc3R5bGUu
Y3NzVGV4dCB8fCAiTk8gU1RZTEVTIERFRklORUQiKSk7CiAgICAgfQogfQogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWZvcm1hdC1zdHlsZS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWZvcm1hdC1z
dHlsZS1leHBlY3RlZC50eHQKaW5kZXggODA5Yzk3Njc2MjAxZWQzZTJhODVhOWI0ZDQ4MjhkODk2
YWU0MTg2Ni4uZDFjNzFlZGEwMjAyNzRiMzUzNWRjNDdiMzNmYjViOTg3MmE4OThmMSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1mb3JtYXQtc3R5bGUt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUt
Zm9ybWF0LXN0eWxlLWV4cGVjdGVkLnR4dApAQCAtMSw5ICsxLDEwIEBACiBDT05TT0xFIE1FU1NB
R0U6IGxpbmUgODogJWNCbHVlIS4KLUNPTlNPTEUgTUVTU0FHRTogbGluZSA5OiAlY1JlZCElYy4K
LVRlc3RzIHRoYXQgY29uc29sZSBsb2dnaW5nIGR1bXBzIHByb3Blcmx5IHN0eWxlZCBtZXNzYWdl
cywgYW5kIHRoYXQgdGhlIHdob2xlIG1lc3NhZ2UgZ2V0cyB0aGUgc2FtZSBzdHlsZSwgcmVnYXJk
bGVzcyBvZiBtdWx0aXBsZSAlYyBzZXR0aW5ncy4KK0NPTlNPTEUgTUVTU0FHRTogbGluZSA5OiAl
Y0JsdWUhICVjUmVkIQorVGVzdHMgdGhhdCBjb25zb2xlIGxvZ2dpbmcgZHVtcHMgcHJvcGVybHkg
c3R5bGVkIG1lc3NhZ2VzLgogCiBCbHVlIS4gY29uc29sZS1mb3JtYXQtc3R5bGUuaHRtbDo4Ci1T
dHlsZTogY29sb3I6IGJsdWU7Ci1SZWQhLiBjb25zb2xlLWZvcm1hdC1zdHlsZS5odG1sOjkKLVN0
eWxlOiBjb2xvcjogcmVkOworU3R5bGVkIHRleHQgIzA6IGNvbG9yOiBibHVlOworQmx1ZSEgUmVk
ISBjb25zb2xlLWZvcm1hdC1zdHlsZS5odG1sOjkKK1N0eWxlZCB0ZXh0ICMwOiBjb2xvcjogYmx1
ZTsKK1N0eWxlZCB0ZXh0ICMxOiBjb2xvcjogcmVkOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWZvcm1hdC1zdHlsZS13aGl0ZWxpc3QtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1mb3JtYXQtc3R5
bGUtd2hpdGVsaXN0LWV4cGVjdGVkLnR4dAppbmRleCA4YjM4NzM0YTg1YjhhYjUzZDNjZjQ5YmMy
ZjBkZTU4ZjAxMDFmY2YzLi4yMWI5MjE1MmEyYzFiOWUzMmMxZTgyMDE0YWUwNTczMDU1ZjZkNzIz
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWZvcm1h
dC1zdHlsZS13aGl0ZWxpc3QtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9jb25zb2xlL2NvbnNvbGUtZm9ybWF0LXN0eWxlLXdoaXRlbGlzdC1leHBlY3RlZC50eHQKQEAg
LTcsMTUgKzcsMTUgQEAgQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE0OiAlY0FuZCBwb3NpdGlvbiB0
b28uCiBUZXN0cyB0aGF0IGNvbnNvbGUgbG9nZ2luZyBkdW1wcyBwcm9wZXJseSBzdHlsZWQgbWVz
c2FnZXMsIGFuZCB0aGF0IHRoZSB3aG9sZSBtZXNzYWdlIGdldHMgdGhlIHNhbWUgc3R5bGUsIHJl
Z2FyZGxlc3Mgb2YgbXVsdGlwbGUgJWMgc2V0dGluZ3MuCiAKIENvbG9ycyBhcmUgYXdlc29tZS4g
Y29uc29sZS1mb3JtYXQtc3R5bGUtd2hpdGVsaXN0Lmh0bWw6OAotU3R5bGU6IGNvbG9yOiBibHVl
OworU3R5bGVkIHRleHQgIzA6IGNvbG9yOiBibHVlOwogU28gYXJlIGZvbnRzISBjb25zb2xlLWZv
cm1hdC1zdHlsZS13aGl0ZWxpc3QuaHRtbDo5Ci1TdHlsZTogZm9udC1zdHlsZTogbm9ybWFsOyBm
b250LXZhcmlhbnQ6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgZm9udC1zaXplOiAxZW07
IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7CitTdHlsZWQgdGV4
dCAjMDogZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQ6IG5vcm1hbDsgZm9udC13ZWln
aHQ6IG5vcm1hbDsgZm9udC1zaXplOiAxZW07IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGZvbnQtZmFt
aWx5OiBIZWx2ZXRpY2E7CiBBbmQgYm9yZGVycyBhbmQgbWFyZ2lucyBhbmQgcGFkZGluZ3MhIGNv
bnNvbGUtZm9ybWF0LXN0eWxlLXdoaXRlbGlzdC5odG1sOjEwCi1TdHlsZTogYm9yZGVyOiAxcHgg
c29saWQgcmVkOyBtYXJnaW46IDIwcHg7IHBhZGRpbmc6IDEwcHg7CitTdHlsZWQgdGV4dCAjMDog
Ym9yZGVyOiAxcHggc29saWQgcmVkOyBtYXJnaW46IDIwcHg7IHBhZGRpbmc6IDEwcHg7CiB0ZXh0
LSogaXMgZmluZSBieSB1cyEgY29uc29sZS1mb3JtYXQtc3R5bGUtd2hpdGVsaXN0Lmh0bWw6MTEK
LVN0eWxlOiB0ZXh0LWRlY29yYXRpb246IG5vbmU7CitTdHlsZWQgdGV4dCAjMDogdGV4dC1kZWNv
cmF0aW9uOiBub25lOwogRGlzcGxheSwgb24gdGhlIG90aGVyIGhhbmQsIGlzIGJhZCBuZXdzLiBj
b25zb2xlLWZvcm1hdC1zdHlsZS13aGl0ZWxpc3QuaHRtbDoxMwotU3R5bGU6IE5PIFNUWUxFUyBE
RUZJTkVELgorU3R5bGVkIHRleHQgIzA6IE5PIFNUWUxFUyBERUZJTkVECiBBbmQgcG9zaXRpb24g
dG9vLiBjb25zb2xlLWZvcm1hdC1zdHlsZS13aGl0ZWxpc3QuaHRtbDoxNAotU3R5bGU6IE5PIFNU
WUxFUyBERUZJTkVELgorU3R5bGVkIHRleHQgIzA6IE5PIFNUWUxFUyBERUZJTkVECiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZm9ybWF0LXN0eWxl
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWZvcm1hdC1zdHls
ZS5odG1sCmluZGV4IDg0Njc2MGQzYmI5NmRmMmI4NDA0M2MzMzgzOTk2MTY3M2QzZDQ0MDIuLjY0
YjUwNDZlYWQ2YWFjODU4NGQ0Yzg0OGI5Nzg4YWNjYjUyYWQ2NTkgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZm9ybWF0LXN0eWxlLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1mb3JtYXQtc3R5bGUuaHRtbApA
QCAtNiw3ICs2LDcgQEAKICAgICAgICAgICAgIGZ1bmN0aW9uIG9ubG9hZCgpCiAgICAgICAgICAg
ICB7CiAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coJyVjQmx1ZSEuJywgJ2NvbG9yOiBibHVl
OycpOwotICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCclY1JlZCElYy4nLCAnY29sb3I6IGJs
dWU7JywgJ2NvbG9yOiByZWQ7Jyk7CisgICAgICAgICAgICAgICAgY29uc29sZS5sb2coJyVjQmx1
ZSEgJWNSZWQhJywgJ2NvbG9yOiBibHVlOycsICdjb2xvcjogcmVkOycpOwogICAgICAgICAgICAg
ICAgIHJ1blRlc3QoKTsKICAgICAgICAgICAgIH0KIApAQCAtMjAsOCArMjAsNiBAQAogICAgIDwv
aGVhZD4KIAogICAgIDxib2R5IG9ubG9hZD0ib25sb2FkKCkiPgotICAgICAgPHA+VGVzdHMgdGhh
dCBjb25zb2xlIGxvZ2dpbmcgZHVtcHMgcHJvcGVybHkgc3R5bGVkIG1lc3NhZ2VzLCBhbmQgdGhh
dAotICAgICAgdGhlIHdob2xlIG1lc3NhZ2UgZ2V0cyB0aGUgc2FtZSBzdHlsZSwgcmVnYXJkbGVz
cyBvZiBtdWx0aXBsZSAlYwotICAgICAgc2V0dGluZ3MuPC9wPgorICAgICAgPHA+VGVzdHMgdGhh
dCBjb25zb2xlIGxvZ2dpbmcgZHVtcHMgcHJvcGVybHkgc3R5bGVkIG1lc3NhZ2VzLjwvcD4KICAg
ICA8L2JvZHk+CiA8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>