<?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>52542</bug_id>
          
          <creation_ts>2011-01-16 12:39:03 -0800</creation_ts>
          <short_desc>SVG CSS property types with &lt;number&gt; don&apos;t support exponents</short_desc>
          <delta_ts>2012-07-18 10:40:06 -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>SVG</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://dev.w3.org/SVG/profiles/1.1F2/test/harness/htmlObject/types-basic-01-f.html</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="Dirk Schulze">krit</reporter>
          <assigned_to name="Dirk Schulze">krit</assigned_to>
          <cc>cmarcelo</cc>
    
    <cc>kling</cc>
    
    <cc>koivisto</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>rwlbuis</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>335070</commentid>
    <comment_count>0</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2011-01-16 12:39:03 -0800</bug_when>
    <thetext>In SVG the type &lt;length&gt; can have exponents: integer ([e|E] interger)? see http://www.w3.org/TR/SVG/types.html#DataTypeNumber
We support this for SVG attributes, but not for SVG CSS properties like &apos;stroke-width&apos;, because we use the CSS parser and that parser doesn&apos;t support this.
See attached link for an example.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>335072</commentid>
    <comment_count>1</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2011-01-16 12:39:33 -0800</bug_when>
    <thetext>Rob do you want to take a look at this as well? ;-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>335153</commentid>
    <comment_count>2</comment_count>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2011-01-16 23:08:11 -0800</bug_when>
    <thetext>Hi Dirk,

(In reply to comment #1)
&gt; Rob do you want to take a look at this as well? ;-)

Good find! This is very interesting to work on, you can assign to me if you are busy with the animation stuff, I can look into it this week.
Cheers,

Rob.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>335183</commentid>
    <comment_count>3</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2011-01-17 00:21:00 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; Hi Dirk,
&gt; 
&gt; (In reply to comment #1)
&gt; &gt; Rob do you want to take a look at this as well? ;-)
&gt; 
&gt; Good find! This is very interesting to work on, you can assign to me if you are busy with the animation stuff, I can look into it this week.
Sure, I&apos;m happy if you&apos;re working on it :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337929</commentid>
    <comment_count>4</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2011-01-21 01:14:22 -0800</bug_when>
    <thetext>Have to extend this bug. It&apos;s not only &lt;length&gt; that can take exponents, all CSS properties with &lt;number&gt; can take exponents: &lt;angle&gt;, &lt;length&gt;, &lt;frequency&gt;, &lt;icccolor&gt;, &lt;percentage&gt;, &lt;time&gt;. Some of them are defined by CSS3 as well, but without of exponents. Means we have to differ &lt;number&gt; for CSS/HTML and for CSS/SVG during parsing numbers.

CSS3: http://www.w3.org/TR/css3-values/#ltnumbergt
SVG:  http://www.w3.org/TR/SVG/types.html#DataTypeNumber</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337983</commentid>
    <comment_count>5</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2011-01-21 03:19:42 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; CSS3: http://www.w3.org/TR/css3-values/#ltnumbergt
&gt; SVG:  http://www.w3.org/TR/SVG/types.html#DataTypeNumber

Ouch! Only if the value gets applied to the SVG _attribute_ it must allow exponent numbers, but it should _not_ on setting the property with CSS!

&lt;rect width=&quot;100&quot; height=&quot;100&quot; stroke-width=&quot;1e1px&quot;&gt; is allowed
&lt;rect width=&quot;100&quot; height=&quot;100&quot; style=&quot;stroke-width:1e1px;&quot;&gt; is not allowed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>592764</commentid>
    <comment_count>6</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2012-03-30 20:13:33 -0700</bug_when>
    <thetext>Will upload a fix for that soon. Have it running in a local build. Just needs more testing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>592871</commentid>
    <comment_count>7</comment_count>
      <attachid>134958</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2012-03-31 09:11:30 -0700</bug_when>
    <thetext>Created attachment 134958
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>592874</commentid>
    <comment_count>8</comment_count>
      <attachid>134960</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2012-03-31 09:18:54 -0700</bug_when>
    <thetext>Created attachment 134960
Patch

Forgot to add original author of the patch to the changelog :P.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>592892</commentid>
    <comment_count>9</comment_count>
      <attachid>134960</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2012-03-31 11:03:11 -0700</bug_when>
    <thetext>Comment on attachment 134960
Patch

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

Nice job, still some caveats, r- for test coverage:

&gt; Source/WebCore/css/CSSParser.cpp:8603
&gt; +            int offset = 1;

why int? I&apos;d use unsigned.

&gt; Source/WebCore/css/CSSParser.cpp:8605
&gt; +            if (m_currentCharacter[offset] == &apos;+&apos;) {

Is this safe to access? Is it guaranteed that m_currentCharacter isn&apos;t accessed out of boundaries, aka. that &apos;e&apos; is always followed by another character.

&gt; Source/WebCore/css/CSSParser.cpp:8606
&gt; +                offset++;

++offset.

&gt; Source/WebCore/css/CSSParser.cpp:8609
&gt; +                offset++;

Ditto.

&gt; Source/WebCore/css/CSSParser.cpp:8612
&gt; +            double exponent;

No need for this local here, just declare it in the if (offset &gt; digits) branch directly,

&gt; Source/WebCore/css/CSSParser.cpp:8616
&gt; +                exponent = charactersToDouble(m_currentCharacter + digits, offset - digits);

Can this yield &quot;invalid&quot; doubles, is this clamped somehow? Shall we sanitize the parsed exponent here? (thinking of NaN handling, or Inf)

&gt; LayoutTests/svg/css/script-tests/scientific-numbers.js:13
&gt; +shouldBeEqualToString(&quot;document.defaultView.getComputedStyle(text, null).fontSize&quot;, &quot;16px&quot;);

You can just use &quot;getComputedStyle(text).fontSize&quot;.

&gt; LayoutTests/svg/css/script-tests/scientific-numbers.js:232
&gt; +

This needs to be extended;
leading whitespace, trailing whitespace, mid white-space (&quot; 5e10&quot;, &quot; 5e1 0&quot;, etc. (also including negative values, for both number and exponent).
Arbitary characters inside of exponent, exponents leading to double overflow, etc.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>592969</commentid>
    <comment_count>10</comment_count>
      <attachid>134986</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2012-03-31 20:25:49 -0700</bug_when>
    <thetext>Created attachment 134986
Patch

New approach: Use SVG parser to parse numbers. The logic there is well tested and has a lot of more checks to make sure that we don&apos;t miss a case. Added more tests for some edge cases as well as overflow tests. isASCIIDigit() and equal checks prevent us from reading data outside the buffer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>593012</commentid>
    <comment_count>11</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2012-04-01 04:43:24 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; Created an attachment (id=134986) [details]
&gt; Patch
&gt; 
&gt; New approach: Use SVG parser to parse numbers. The logic there is well tested and has a lot of more checks to make sure that we don&apos;t miss a case. Added more tests for some edge cases as well as overflow tests.
Great, I&apos;ll look at thew new patch soon.

&gt; isASCIIDigit() and equal checks prevent us from reading data outside the buffer.
This still worries me. I&apos;ll check if the new patch is safer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>593013</commentid>
    <comment_count>12</comment_count>
      <attachid>134986</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2012-04-01 04:53:11 -0700</bug_when>
    <thetext>Comment on attachment 134986
Patch

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

I have some new comments:

&gt; Source/WebCore/css/CSSParser.cpp:79
&gt; +#if ENABLE(SVG)
&gt; +#include &quot;SVGParserUtilities.h&quot;
&gt; +#endif

I don&apos;t think you need to guard this.

&gt; Source/WebCore/css/CSSParser.cpp:8606
&gt; +            if (isASCIIAlphaCaselessEqual(*m_currentCharacter, &apos;e&apos;)) {

At this point it&apos;s guaranteed that m_currentCharacter exists okay. So dereferencing the UChar* pointer is fine.

&gt; Source/WebCore/css/CSSParser.cpp:8607
&gt; +                if (m_currentCharacter[1] == &apos;-&apos; || m_currentCharacter[1] == &apos;+&apos; || isASCIIDigit(m_currentCharacter[1])) {

But who guarantees that the UChar* m_currentCharacter + 1 that you&apos;re dereferencing here exists?

The old code passes m_tokenStart to charactersToDouble as const UChar* parameter, and m_currentCharacter - m_tokenStart as size.
I&apos;d strongly suggest to reuse that way of accessing the string.
const UChar* currentCharacter = m_tokenStart;
unsigned length = m_currentCharacter - m_tokenStart;
if (length &gt; 1 &amp;&amp; isASCIIAlphaCaselessEqual(*currentCharacter, &apos;e&apos;)) {
// Now its guaranteed that the passed in string is at least &apos;eX&apos; (e + another item)
}

If I&apos;m missing something, and this is already guaranteed by the CSSParser code, you should at least assert that the length is &gt; 1.

&gt; Source/WebCore/css/CSSParser.cpp:8612
&gt; +                while (isASCIIDigit(m_currentCharacter[offset]))

If the branch above isn&apos;t taken that means the first character following the &apos;e&apos; is not &apos;+&apos;, not &apos;-&apos; nor an ascii digit - why do you continue parsing at this point? You could have exited already.

&gt; Source/WebCore/css/CSSParser.cpp:8615
&gt; +            if (!parseSVGNumber(m_tokenStart, m_currentCharacter + offset - m_tokenStart, yylval-&gt;number))

This would then read as if (!parseSVGNumber(m_tokenStart, length + offset, yylval-&gt;number).

&gt; Source/WebCore/css/CSSParser.cpp:8616
&gt; +                break;

If parseSVGNumber() fails, is yylval-&gt;number reset to a specific value? (Not sure about that, that&apos;s why I&apos;m asking).

&gt; Source/WebCore/svg/SVGParserUtilities.cpp:152
&gt; +

One newline too much.

&gt; LayoutTests/svg/css/script-tests/scientific-numbers.js:13
&gt; +shouldBeEqualToString(&quot;document.defaultView.getComputedStyle(text).fontSize&quot;, &quot;16px&quot;);

You still use the long form here, getComputedStyle(text).fontSize should work, without the document.defaultView prefix :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>593040</commentid>
    <comment_count>13</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2012-04-01 08:20:37 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; (From update of attachment 134986 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=134986&amp;action=review
&gt; 
&gt; I have some new comments:
&gt; 
&gt; &gt; Source/WebCore/css/CSSParser.cpp:79
&gt; &gt; +#if ENABLE(SVG)
&gt; &gt; +#include &quot;SVGParserUtilities.h&quot;
&gt; &gt; +#endif
&gt; 
&gt; I don&apos;t think you need to guard this.
It is not necessary but prevent including the file on compiling. That was the intention.

&gt; 
&gt; &gt; Source/WebCore/css/CSSParser.cpp:8606
&gt; &gt; +            if (isASCIIAlphaCaselessEqual(*m_currentCharacter, &apos;e&apos;)) {
&gt; 
&gt; At this point it&apos;s guaranteed that m_currentCharacter exists okay. So dereferencing the UChar* pointer is fine.
&gt; 
&gt; &gt; Source/WebCore/css/CSSParser.cpp:8607
&gt; &gt; +                if (m_currentCharacter[1] == &apos;-&apos; || m_currentCharacter[1] == &apos;+&apos; || isASCIIDigit(m_currentCharacter[1])) {
&gt; 
&gt; But who guarantees that the UChar* m_currentCharacter + 1 that you&apos;re dereferencing here exists?
That is the code before these lines:

        while (true) {
            if (!isASCIIDigit(m_currentCharacter[0])) {
                // Only one dot is allowed for a number,
                // and it must be followed by a digit.
                if (m_currentCharacter[0] != &apos;.&apos; || dotSeen || !isASCIIDigit(m_currentCharacter[1]))
                    break;
                dotSeen = true;
            }
            ++m_currentCharacter;
        }

So no extra check. The string gets terminated by a \n. Just checked it. Therefore is should be save to check the value for 1, since 0 was no /n.

&gt; 
&gt; The old code passes m_tokenStart to charactersToDouble as const UChar* parameter, and m_currentCharacter - m_tokenStart as size.
&gt; I&apos;d strongly suggest to reuse that way of accessing the string.
&gt; const UChar* currentCharacter = m_tokenStart;
&gt; unsigned length = m_currentCharacter - m_tokenStart;
&gt; if (length &gt; 1 &amp;&amp; isASCIIAlphaCaselessEqual(*currentCharacter, &apos;e&apos;)) {
&gt; // Now its guaranteed that the passed in string is at least &apos;eX&apos; (e + another item)
&gt; }
But just for the first char after the &apos;e&apos;. Like I said, this is not necessary, since the last char is a \n on the string.

&gt; 
&gt; If I&apos;m missing something, and this is already guaranteed by the CSSParser code, you should at least assert that the length is &gt; 1.
Not necessary.

&gt; 
&gt; &gt; Source/WebCore/css/CSSParser.cpp:8612
&gt; &gt; +                while (isASCIIDigit(m_currentCharacter[offset]))
&gt; 
&gt; If the branch above isn&apos;t taken that means the first character following the &apos;e&apos; is not &apos;+&apos;, not &apos;-&apos; nor an ascii digit - why do you continue parsing at this point? You could have exited already.
Well, not exiting. If I break I would break stuff. The unit is included in the token (10em wouldn&apos;t work, which gets tested by the new test as well). I could put the while loop in the else tree.

&gt; 
&gt; &gt; Source/WebCore/css/CSSParser.cpp:8615
&gt; &gt; +            if (!parseSVGNumber(m_tokenStart, m_currentCharacter + offset - m_tokenStart, yylval-&gt;number))
&gt; 
&gt; This would then read as if (!parseSVGNumber(m_tokenStart, length + offset, yylval-&gt;number).
&gt; 
&gt; &gt; Source/WebCore/css/CSSParser.cpp:8616
&gt; &gt; +                break;
&gt; 
&gt; If parseSVGNumber() fails, is yylval-&gt;number reset to a specific value? (Not sure about that, that&apos;s why I&apos;m asking).
m_token get&apos;s not set and therefore the value is invalid.

&gt; 
&gt; &gt; Source/WebCore/svg/SVGParserUtilities.cpp:152
&gt; &gt; +
&gt; 
&gt; One newline too much.
Thanks. Will fix that.

&gt; 
&gt; &gt; LayoutTests/svg/css/script-tests/scientific-numbers.js:13
&gt; &gt; +shouldBeEqualToString(&quot;document.defaultView.getComputedStyle(text).fontSize&quot;, &quot;16px&quot;);
&gt; 
&gt; You still use the long form here, getComputedStyle(text).fontSize should work, without the document.defaultView prefix :-)
That was a misunderstanding. I thought you meant the &quot;, null)&quot; on computed style which I fixed. Will fix that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>593042</commentid>
    <comment_count>14</comment_count>
      <attachid>135000</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2012-04-01 08:33:56 -0700</bug_when>
    <thetext>Created attachment 135000
Patch

Patch. See previous comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>609853</commentid>
    <comment_count>15</comment_count>
      <attachid>135000</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2012-04-25 09:57:49 -0700</bug_when>
    <thetext>Comment on attachment 135000
Patch

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

Next round of comments, poor Dirk :-)

&gt; Source/WebCore/css/CSSParser.cpp:8604
&gt; +            if (isASCIIAlphaCaselessEqual(*m_currentCharacter, &apos;e&apos;)) {

Are we sure that at least one element follows the &apos;e&apos; ?
Can we ASSERT(m_currentCharacter - m_tokenStart &gt; 1) here?
Before accessing: if (m_currentCharacter[1].. below

&gt; Source/WebCore/css/CSSParser.cpp:8612
&gt; +                if (m_currentCharacter[1] == &apos;-&apos; || m_currentCharacter[1] == &apos;+&apos; || isASCIIDigit(m_currentCharacter[1])) {
&gt; +                    offset += 2;
&gt; +                    while (isASCIIDigit(m_currentCharacter[offset]))
&gt; +                        ++offset;
&gt; +                    // Use FLOATTOKEN if we have exponents.
&gt; +                    dotSeen = true;
&gt; +                }
&gt; +            }

++m_currentCharacter;
if (*m_currentCharacter == &apos;-&apos; || *m_currentCharacter == &apos;+&apos; || isASCIIDigit(*m_currentCharacter)) {
    ++m_currentCharacter;
    while (isASCIIDigit(*m_currentCharacter))
        ++m_currentCharacter;
    // Use FLOATTOKEN if the string contains exponents.
    dotSeen = true;
}

if (!parseNumber(m_tokenStart, m_currentCharacter, yylval-&gt;number, false))
    break;

You&apos;ll need a new parseNumber() variant taking a double&amp;, but you can remove the new parseSVGNumber() method that you&apos;ve added.

&gt; Source/WebCore/svg/SVGParserUtilities.h:36
&gt; +bool parseSVGNumber(UChar*&amp; ptr, size_t length, double&amp; number);

Can be avoided.

&gt; LayoutTests/svg/css/script-tests/scientific-numbers.js:274
&gt; +text.setAttribute(&quot;font-size&quot;, &quot;50e0.0&quot;);
&gt; +shouldBeEqualToString(&quot;getComputedStyle(text).fontSize&quot;, &quot;16px&quot;);

Hard to understand the test, without seeing what you&apos;re trying to assign.

I propose following:
function setFontSize(valueString) {
    text.setAttribute(&quot;font-size&quot;, valueString);
}

function test(valueString, expectedString) {
    debug(&quot;text.setAttribute(&apos;font-size&apos;, &apos;&quot; + valueString + &quot;&apos;);&quot;);
    setFontSize(valueString);
    shouldBeEqualToString(&quot;getComputedStyle(text).fontSize&quot;, expectedString);
}

and use:

debug(&quot;Valid values&quot;);
test(&quot;50px&quot;, &quot;50px&quot;);
test(&quot;100px&quot;, &quot;100px&quot;);

setFontSize(&quot;16px&quot;);

debug(&quot;&quot;);
debug(&quot;Invalid values&quot;);
test(&quot;50e0.0&quot;, &quot;16px&quot;);
test(&quot;50e 0&quot;, &quot;16px&quot;);
....

setFontSize(&quot;16px&quot;);

debug(&quot;&quot;);
debug(&quot;Next category...&quot;);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>666505</commentid>
    <comment_count>16</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2012-07-11 01:26:40 -0700</bug_when>
    <thetext>(In reply to comment #15)

Sorry. I am looking at this after a long time.

&gt; if (!parseNumber(m_tokenStart, m_currentCharacter, yylval-&gt;number, false))
&gt;     break;
&gt; 

IIRC the problem was that m_tokenStart and m_currentCharacter are of type UChar*, while parseNumber takes const UChar* (and const UChar*&amp;). So I would need a type conversion which does not look pretty.

&gt; You&apos;ll need a new parseNumber() variant taking a double&amp;, but you can remove the new parseSVGNumber() method that you&apos;ve added.

How could I avoid it? Even for parseNumber with a double I would need a new method. I choose parseSVGNumber to indicate from the name that it will be a number that is parsed according to the SVG rules. I still think that this is the proper solution. Especially here where it is not obvious that we call the method in SVGParserUtilities.

&gt; Hard to understand the test, without seeing what you&apos;re trying to assign.

Thanks, I&apos;ll change the test and the other code suggestions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>666829</commentid>
    <comment_count>17</comment_count>
      <attachid>151721</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2012-07-11 10:07:17 -0700</bug_when>
    <thetext>Created attachment 151721
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>672191</commentid>
    <comment_count>18</comment_count>
      <attachid>151721</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2012-07-18 03:23:38 -0700</bug_when>
    <thetext>Comment on attachment 151721
Patch

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

Looks reasonable, r=me.

&gt; Source/WebCore/ChangeLog:10
&gt; +        The SVG parser is already well tested and has some extra checks for edge cases that prevent
&gt; +        us e.g for overflows.

prevent from overflow, or rather protect from overflow</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>672406</commentid>
    <comment_count>19</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2012-07-18 08:43:02 -0700</bug_when>
    <thetext>Committed r122978: &lt;http://trac.webkit.org/changeset/122978&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>672502</commentid>
    <comment_count>20</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-07-18 10:31:09 -0700</bug_when>
    <thetext>Did you mean for this to be a pixel test?  It looks like including SVGTestCase.js sets &quot;window.enablePixelTesting = true&quot; which causes pixel results to be dumped.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>672509</commentid>
    <comment_count>21</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2012-07-18 10:40:06 -0700</bug_when>
    <thetext>(In reply to comment #20)
&gt; Did you mean for this to be a pixel test?  It looks like including SVGTestCase.js sets &quot;window.enablePixelTesting = true&quot; which causes pixel results to be dumped.

No, should be dumpAsText. thanks</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>134958</attachid>
            <date>2012-03-31 09:11:30 -0700</date>
            <delta_ts>2012-03-31 09:18:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-52542-20120331091128.patch</filename>
            <type>text/plain</type>
            <size>21411</size>
            <attacher name="Dirk Schulze">krit</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEyNzcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDdhY2Q3OGU5MTgxYTkx
NzJlM2U2M2FmNmM4NDNiYzkwMTdhOWYwNS4uN2E4ZTk0MmEwMTNiY2Q4ZjUzOWJjNDE0NTA2MjEw
OTFiYjk4ZGUxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTAzLTMxICBEaXJr
IFNjaHVsemUgIDxrcml0QHdlYmtpdC5vcmc+CisKKyAgICAgICAgU1ZHIENTUyBwcm9wZXJ0eSB0
eXBlcyB3aXRoIDxudW1iZXI+IGRvbid0IHN1cHBvcnQgZXhwb25lbnRzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MjU0MgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICAKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9y
IHNjaWVudGlmaWMgbnVtYmVycyB0byBDU1MgcGFyc2VyIGp1c3QgZm9yIFNWRyBwcmVzZW50YXRp
b24gYXR0cmlidXRlcy4KKworICAgICAgICBUZXN0OiBzdmcvY3NzL3NjaWVudGlmaWMtbnVtYmVy
cy5odG1sCisKKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkNTU1BhcnNlcjo6bGV4KToKKwogMjAxMi0wMy0zMCAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBw
bGUuY29tPgogCiAgICAgICAgIFJldmVydGVkIHIxMTI3NjcsIGJlY2F1c2UgaXQgY2F1c2VkIG1h
bnkgdmVydGljYWwgdGV4dCB0ZXN0cyB0byBmYWlsLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1BhcnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcApp
bmRleCBhZWQ0MTMzYzY4ZTI3MzhkMTc0Njk2ZmM0YmE5MjgyNzAzZWNlMjhlLi4xYzk2ZDlmYTg3
YzcxMzFjMmFiNDkzNjYwY2VmMWYzNTZjYjEzOTE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNw
cApAQCAtODU5OCw2ICs4NTk4LDI4IEBAIHJlc3RhcnRBZnRlckNvbW1lbnQ6CiAKICAgICAgICAg
eXlsdmFsLT5udW1iZXIgPSBjaGFyYWN0ZXJzVG9Eb3VibGUobV90b2tlblN0YXJ0LCBtX2N1cnJl
bnRDaGFyYWN0ZXIgLSBtX3Rva2VuU3RhcnQpOwogCisgICAgICAgIC8vIFNWRyBudW1iZXJzIHN1
cHBvcnQgc2NpZW50aWZpYyBudW1iZXJzLgorICAgICAgICBpZiAobV9jc3NQYXJzZXJNb2RlID09
IFNWR0F0dHJpYnV0ZU1vZGUgJiYgaXNBU0NJSUFscGhhQ2FzZWxlc3NFcXVhbCgqbV9jdXJyZW50
Q2hhcmFjdGVyLCAnZScpKSB7CisgICAgICAgICAgICBpbnQgb2Zmc2V0ID0gMTsKKyAgICAgICAg
ICAgIGJvb2wgcG9zaXRpdmUgPSB0cnVlOworICAgICAgICAgICAgaWYgKG1fY3VycmVudENoYXJh
Y3RlcltvZmZzZXRdID09ICcrJykgeworICAgICAgICAgICAgICAgIG9mZnNldCsrOworICAgICAg
ICAgICAgfSBlbHNlIGlmIChtX2N1cnJlbnRDaGFyYWN0ZXJbb2Zmc2V0XSA9PSAnLScpIHsKKyAg
ICAgICAgICAgICAgICBwb3NpdGl2ZSA9IGZhbHNlOworICAgICAgICAgICAgICAgIG9mZnNldCsr
OworICAgICAgICAgICAgfQorICAgICAgICAgICAgaW50IGRpZ2l0cyA9IG9mZnNldDsKKyAgICAg
ICAgICAgIGRvdWJsZSBleHBvbmVudDsKKyAgICAgICAgICAgIHdoaWxlIChpc0FTQ0lJRGlnaXQo
bV9jdXJyZW50Q2hhcmFjdGVyW29mZnNldF0pKQorICAgICAgICAgICAgICAgIG9mZnNldCsrOwor
ICAgICAgICAgICAgaWYgKG9mZnNldCA+IGRpZ2l0cykgeworICAgICAgICAgICAgICAgIGV4cG9u
ZW50ID0gY2hhcmFjdGVyc1RvRG91YmxlKG1fY3VycmVudENoYXJhY3RlciArIGRpZ2l0cywgb2Zm
c2V0IC0gZGlnaXRzKTsKKyAgICAgICAgICAgICAgICBtX2N1cnJlbnRDaGFyYWN0ZXIgKz0gb2Zm
c2V0OworICAgICAgICAgICAgICAgIGV4cG9uZW50ID0gcG93KDEwLCBwb3NpdGl2ZSA/IGV4cG9u
ZW50IDogLWV4cG9uZW50KTsKKyAgICAgICAgICAgICAgICB5eWx2YWwtPm51bWJlciAqPSBleHBv
bmVudDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCiAgICAgICAgIC8vIFR5cGUgb2YgdGhl
IGZ1bmN0aW9uLgogICAgICAgICBpZiAoaXNJZGVudGlmaWVyU3RhcnQoKSkgewogICAgICAgICAg
ICAgVUNoYXIqIHR5cGUgPSBtX2N1cnJlbnRDaGFyYWN0ZXI7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMDY5ZmI5NWE5ZWM3
NDI0M2Q5NWQ1YjMyNTQ1ODViNmRkMDNlMmI2MS4uNTBjYmVmNzhhMzlkZjM0ZGQwOGI4OGFhNzUx
ZjQzZTc4OTNhYzc0ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEyLTAzLTMxICBEaXJrIFNj
aHVsemUgIDxrcml0QHdlYmtpdC5vcmc+CisKKyAgICAgICAgU1ZHIENTUyBwcm9wZXJ0eSB0eXBl
cyB3aXRoIDxudW1iZXI+IGRvbid0IHN1cHBvcnQgZXhwb25lbnRzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MjU0MgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Qgc2NpZW5pZmljIG51bWJlciB2YWx1
ZXMgb24gU1ZHIHByZXNlbnRhdGlvbiBhdHRyaWJ1dGVzLgorCisgICAgICAgICogc3ZnL2Nzcy9z
Y2llbnRpZmljLW51bWJlcnMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBzdmcvY3Nz
L3NjaWVudGlmaWMtbnVtYmVycy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBzdmcvY3NzL3Njcmlw
dC10ZXN0cy9zY2llbnRpZmljLW51bWJlcnMuanM6IEFkZGVkLgorCiAyMDEyLTAzLTMwICBEYW4g
QmVybnN0ZWluICA8bWl0ekBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2ZXJ0ZWQgcjExMjc2Nywg
YmVjYXVzZSBpdCBjYXVzZWQgbWFueSB2ZXJ0aWNhbCB0ZXh0IHRlc3RzIHRvIGZhaWwuCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvY3NzL3NjaWVudGlmaWMtbnVtYmVycy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9zdmcvY3NzL3NjaWVudGlmaWMtbnVtYmVycy1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNWFkZDUzNmU5OGU2ZTE5NmM3MGU3ZDY1YjlkY2NhOWUwMzZmY2FmNwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N2Zy9jc3Mvc2NpZW50aWZpYy1udW1iZXJzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDkwIEBACitUZXN0IHNjaWVudGlmaWMgbnVtYmVycyBvbiB2
YWx1ZXMgZm9yIFNWRyBwcmVzZW50YXRpb24gYXR0cmlidXRlcy4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCisKK1Rlc3QgZGVmYXVsdCBmb250LXNpemUgb2YgJzE2cHgnCitQQVNTIGRv
Y3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCwgbnVsbCkuZm9udFNpemUg
aXMgIjE2cHgiCitQQVNTIGRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4
dCwgbnVsbCkuZm9udFNpemUgaXMgIjEwMHB4IgorCitUZXN0IHBvc2l0aXZlIGV4cG9uZW50IHZh
bHVlcyB3aXRoICdlJworUEFTUyBkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxl
KHRleHQsIG51bGwpLmZvbnRTaXplIGlzICI1MHB4IgorUEFTUyBkb2N1bWVudC5kZWZhdWx0Vmll
dy5nZXRDb21wdXRlZFN0eWxlKHRleHQsIG51bGwpLmZvbnRTaXplIGlzICIxMDBweCIKK1BBU1Mg
ZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0LCBudWxsKS5mb250U2l6
ZSBpcyAiNTBweCIKK1BBU1MgZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0
ZXh0LCBudWxsKS5mb250U2l6ZSBpcyAiMTAwcHgiCitQQVNTIGRvY3VtZW50LmRlZmF1bHRWaWV3
LmdldENvbXB1dGVkU3R5bGUodGV4dCwgbnVsbCkuZm9udFNpemUgaXMgIjUwcHgiCitQQVNTIGRv
Y3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCwgbnVsbCkuZm9udFNpemUg
aXMgIjEwMHB4IgorUEFTUyBkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRl
eHQsIG51bGwpLmZvbnRTaXplIGlzICI1MHB4IgorUEFTUyBkb2N1bWVudC5kZWZhdWx0Vmlldy5n
ZXRDb21wdXRlZFN0eWxlKHRleHQsIG51bGwpLmZvbnRTaXplIGlzICIxMDBweCIKK1BBU1MgZG9j
dW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0LCBudWxsKS5mb250U2l6ZSBp
cyAiNTBweCIKK1BBU1MgZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0
LCBudWxsKS5mb250U2l6ZSBpcyAiMTAwcHgiCitQQVNTIGRvY3VtZW50LmRlZmF1bHRWaWV3Lmdl
dENvbXB1dGVkU3R5bGUodGV4dCwgbnVsbCkuZm9udFNpemUgaXMgIjUwcHgiCitQQVNTIGRvY3Vt
ZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCwgbnVsbCkuZm9udFNpemUgaXMg
IjEwMHB4IgorUEFTUyBkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRleHQs
IG51bGwpLmZvbnRTaXplIGlzICI1MHB4IgorUEFTUyBkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRD
b21wdXRlZFN0eWxlKHRleHQsIG51bGwpLmZvbnRTaXplIGlzICIxMDBweCIKK1BBU1MgZG9jdW1l
bnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0LCBudWxsKS5mb250U2l6ZSBpcyAi
NTBweCIKK1BBU1MgZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0LCBu
dWxsKS5mb250U2l6ZSBpcyAiMTAwcHgiCitQQVNTIGRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENv
bXB1dGVkU3R5bGUodGV4dCwgbnVsbCkuZm9udFNpemUgaXMgIjUwcHgiCitQQVNTIGRvY3VtZW50
LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCwgbnVsbCkuZm9udFNpemUgaXMgIjEw
MHB4IgorCitUZXN0IHBvc2l0aXZlIGV4cG9uZW50IHZhbHVlcyB3aXRoICdFJworUEFTUyBkb2N1
bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRleHQsIG51bGwpLmZvbnRTaXplIGlz
ICI1MHB4IgorUEFTUyBkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRleHQs
IG51bGwpLmZvbnRTaXplIGlzICIxMDBweCIKK1BBU1MgZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0
Q29tcHV0ZWRTdHlsZSh0ZXh0LCBudWxsKS5mb250U2l6ZSBpcyAiNTBweCIKK1BBU1MgZG9jdW1l
bnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0LCBudWxsKS5mb250U2l6ZSBpcyAi
MTAwcHgiCitQQVNTIGRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCwg
bnVsbCkuZm9udFNpemUgaXMgIjUwcHgiCitQQVNTIGRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENv
bXB1dGVkU3R5bGUodGV4dCwgbnVsbCkuZm9udFNpemUgaXMgIjEwMHB4IgorUEFTUyBkb2N1bWVu
dC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRleHQsIG51bGwpLmZvbnRTaXplIGlzICI1
MHB4IgorUEFTUyBkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRleHQsIG51
bGwpLmZvbnRTaXplIGlzICIxMDBweCIKK1BBU1MgZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29t
cHV0ZWRTdHlsZSh0ZXh0LCBudWxsKS5mb250U2l6ZSBpcyAiNTBweCIKK1BBU1MgZG9jdW1lbnQu
ZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0LCBudWxsKS5mb250U2l6ZSBpcyAiMTAw
cHgiCitQQVNTIGRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCwgbnVs
bCkuZm9udFNpemUgaXMgIjUwcHgiCitQQVNTIGRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1
dGVkU3R5bGUodGV4dCwgbnVsbCkuZm9udFNpemUgaXMgIjEwMHB4IgorUEFTUyBkb2N1bWVudC5k
ZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRleHQsIG51bGwpLmZvbnRTaXplIGlzICI1MHB4
IgorUEFTUyBkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRleHQsIG51bGwp
LmZvbnRTaXplIGlzICIxMDBweCIKK1BBU1MgZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0
ZWRTdHlsZSh0ZXh0LCBudWxsKS5mb250U2l6ZSBpcyAiNTBweCIKK1BBU1MgZG9jdW1lbnQuZGVm
YXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0LCBudWxsKS5mb250U2l6ZSBpcyAiMTAwcHgi
CitQQVNTIGRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCwgbnVsbCku
Zm9udFNpemUgaXMgIjUwcHgiCitQQVNTIGRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVk
U3R5bGUodGV4dCwgbnVsbCkuZm9udFNpemUgaXMgIjEwMHB4IgorCitUZXN0IG5lZ2F0aXZlIGV4
cG9uZW50IHZhbHVlcyB3aXRoICdlJworUEFTUyBkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21w
dXRlZFN0eWxlKHRleHQsIG51bGwpLmZvbnRTaXplIGlzICI1MHB4IgorUEFTUyBkb2N1bWVudC5k
ZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRleHQsIG51bGwpLmZvbnRTaXplIGlzICIxMDBw
eCIKK1BBU1MgZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0LCBudWxs
KS5mb250U2l6ZSBpcyAiNTBweCIKK1BBU1MgZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0
ZWRTdHlsZSh0ZXh0LCBudWxsKS5mb250U2l6ZSBpcyAiMTAwcHgiCitQQVNTIGRvY3VtZW50LmRl
ZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCwgbnVsbCkuZm9udFNpemUgaXMgIjUwcHgi
CitQQVNTIGRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCwgbnVsbCku
Zm9udFNpemUgaXMgIjEwMHB4IgorUEFTUyBkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRl
ZFN0eWxlKHRleHQsIG51bGwpLmZvbnRTaXplIGlzICI1MHB4IgorUEFTUyBkb2N1bWVudC5kZWZh
dWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRleHQsIG51bGwpLmZvbnRTaXplIGlzICIxMDBweCIK
K1BBU1MgZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0LCBudWxsKS5m
b250U2l6ZSBpcyAiNTBweCIKK1BBU1MgZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRT
dHlsZSh0ZXh0LCBudWxsKS5mb250U2l6ZSBpcyAiMTAwcHgiCitQQVNTIGRvY3VtZW50LmRlZmF1
bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCwgbnVsbCkuZm9udFNpemUgaXMgIjUwcHgiCitQ
QVNTIGRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCwgbnVsbCkuZm9u
dFNpemUgaXMgIjEwMHB4IgorCitUZXN0IG5lZ2F0aXZlIGV4cG9uZW50IHZhbHVlcyB3aXRoICdF
JworUEFTUyBkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRleHQsIG51bGwp
LmZvbnRTaXplIGlzICI1MHB4IgorUEFTUyBkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRl
ZFN0eWxlKHRleHQsIG51bGwpLmZvbnRTaXplIGlzICIxMDBweCIKK1BBU1MgZG9jdW1lbnQuZGVm
YXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0LCBudWxsKS5mb250U2l6ZSBpcyAiNTBweCIK
K1BBU1MgZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0LCBudWxsKS5m
b250U2l6ZSBpcyAiMTAwcHgiCitQQVNTIGRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVk
U3R5bGUodGV4dCwgbnVsbCkuZm9udFNpemUgaXMgIjUwcHgiCitQQVNTIGRvY3VtZW50LmRlZmF1
bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCwgbnVsbCkuZm9udFNpemUgaXMgIjEwMHB4Igor
UEFTUyBkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRleHQsIG51bGwpLmZv
bnRTaXplIGlzICI1MHB4IgorUEFTUyBkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0
eWxlKHRleHQsIG51bGwpLmZvbnRTaXplIGlzICIxMDBweCIKK1BBU1MgZG9jdW1lbnQuZGVmYXVs
dFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0LCBudWxsKS5mb250U2l6ZSBpcyAiNTBweCIKK1BB
U1MgZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0LCBudWxsKS5mb250
U2l6ZSBpcyAiMTAwcHgiCitQQVNTIGRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5
bGUodGV4dCwgbnVsbCkuZm9udFNpemUgaXMgIjUwcHgiCitQQVNTIGRvY3VtZW50LmRlZmF1bHRW
aWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCwgbnVsbCkuZm9udFNpemUgaXMgIjEwMHB4IgorCitJ
bnZhbGlkIHZhbHVlcworUEFTUyBkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxl
KHRleHQsIG51bGwpLmZvbnRTaXplIGlzICIxNnB4IgorUEFTUyBkb2N1bWVudC5kZWZhdWx0Vmll
dy5nZXRDb21wdXRlZFN0eWxlKHRleHQsIG51bGwpLmZvbnRTaXplIGlzICIxMDBweCIKK1BBU1Mg
ZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0LCBudWxsKS5mb250U2l6
ZSBpcyAiMTZweCIKK1BBU1MgZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0
ZXh0LCBudWxsKS5mb250U2l6ZSBpcyAiMTAwcHgiCitQQVNTIGRvY3VtZW50LmRlZmF1bHRWaWV3
LmdldENvbXB1dGVkU3R5bGUodGV4dCwgbnVsbCkuZm9udFNpemUgaXMgIjE2cHgiCitQQVNTIGRv
Y3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCwgbnVsbCkuZm9udFNpemUg
aXMgIjEwMHB4IgorUEFTUyBkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRl
eHQsIG51bGwpLmZvbnRTaXplIGlzICIxNnB4IgorUEFTUyBkb2N1bWVudC5kZWZhdWx0Vmlldy5n
ZXRDb21wdXRlZFN0eWxlKHRleHQsIG51bGwpLmZvbnRTaXplIGlzICIxMDBweCIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9zdmcvY3NzL3NjaWVudGlmaWMtbnVtYmVycy5odG1sIGIvTGF5b3V0VGVzdHMv
c3ZnL2Nzcy9zY2llbnRpZmljLW51bWJlcnMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hY2QyZjZlM2E0ZjUx
OTdjNjkzYjgzZWQyNTJhN2Y2N2ZlZTk5YmVjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvc3ZnL2Nzcy9zY2llbnRpZmljLW51bWJlcnMuaHRtbApAQCAtMCwwICsxLDEyIEBACis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vc3ZnL2R5bmFt
aWMtdXBkYXRlcy9yZXNvdXJjZXMvU1ZHVGVzdENhc2UuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvc2NpZW50aWZpYy1udW1iZXJzLmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2
Zy9jc3Mvc2NyaXB0LXRlc3RzL3NjaWVudGlmaWMtbnVtYmVycy5qcyBiL0xheW91dFRlc3RzL3N2
Zy9jc3Mvc2NyaXB0LXRlc3RzL3NjaWVudGlmaWMtbnVtYmVycy5qcwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45YWFh
MTJlZGEyNmFjOGJhYTBjY2ZhMjFkY2VjMjY1Zjc1MzlkNmUxCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvc3ZnL2Nzcy9zY3JpcHQtdGVzdHMvc2NpZW50aWZpYy1udW1iZXJzLmpzCkBA
IC0wLDAgKzEsMjM2IEBACitkZXNjcmlwdGlvbigiVGVzdCBzY2llbnRpZmljIG51bWJlcnMgb24g
PGxlbmd0aD4gdmFsdWVzIGZvciBTVkcgcHJlc2VudGF0aW9uIGF0dHJpYnV0ZXMuIikKK2NyZWF0
ZVNWR1Rlc3RDYXNlKCk7CisKK3ZhciB0ZXh0ID0gY3JlYXRlU1ZHRWxlbWVudCgidGV4dCIpOwor
dGV4dC5zZXRBdHRyaWJ1dGUoImlkIiwgInRleHQiKTsKK3RleHQuc2V0QXR0cmlidXRlKCJ4Iiwg
IjEwMHB4Iik7Cit0ZXh0LnNldEF0dHJpYnV0ZSgieSIsICIxMDBweCIpOworcm9vdFNWR0VsZW1l
bnQuYXBwZW5kQ2hpbGQodGV4dCk7CisKKworLy8gVGVzdGluZyA8bGVuZ3RoPiB2YWx1ZXMgZm9y
ICdmb250LXNpemUnCitkZWJ1ZygiVGVzdCBkZWZhdWx0IGZvbnQtc2l6ZSBvZiAnMTZweCciKTsK
K3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRT
dHlsZSh0ZXh0LCBudWxsKS5mb250U2l6ZSIsICIxNnB4Iik7CisKK3RleHQuc2V0QXR0cmlidXRl
KCJmb250LXNpemUiLCAiMTAwcHgiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1lbnQu
ZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0LCBudWxsKS5mb250U2l6ZSIsICIxMDBw
eCIpOworCitkZWJ1ZygiIik7CitkZWJ1ZygiVGVzdCBwb3NpdGl2ZSBleHBvbmVudCB2YWx1ZXMg
d2l0aCAnZSciKTsKK3RleHQuc2V0QXR0cmlidXRlKCJmb250LXNpemUiLCAiLjVlMiIpOworc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxl
KHRleHQsIG51bGwpLmZvbnRTaXplIiwgIjUwcHgiKTsKKy8vIFJlc2V0IGZvbnQtc2l6ZSB0byAx
MDBweC4KK3RleHQuc2V0QXR0cmlidXRlKCJmb250LXNpemUiLCAiMTAwcHgiKTsKK3Nob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0
LCBudWxsKS5mb250U2l6ZSIsICIxMDBweCIpOworCit0ZXh0LnNldEF0dHJpYnV0ZSgiZm9udC1z
aXplIiwgIjVlMSIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5kZWZhdWx0Vmll
dy5nZXRDb21wdXRlZFN0eWxlKHRleHQsIG51bGwpLmZvbnRTaXplIiwgIjUwcHgiKTsKKy8vIFJl
c2V0IGZvbnQtc2l6ZSB0byAxMDBweC4KK3RleHQuc2V0QXR0cmlidXRlKCJmb250LXNpemUiLCAi
MTAwcHgiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0
Q29tcHV0ZWRTdHlsZSh0ZXh0LCBudWxsKS5mb250U2l6ZSIsICIxMDBweCIpOworCit0ZXh0LnNl
dEF0dHJpYnV0ZSgiZm9udC1zaXplIiwgIjAuNWUyIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCwgbnVsbCkuZm9udFNp
emUiLCAiNTBweCIpOworLy8gUmVzZXQgZm9udC1zaXplIHRvIDEwMHB4LgordGV4dC5zZXRBdHRy
aWJ1dGUoImZvbnQtc2l6ZSIsICIxMDBweCIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1
bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRleHQsIG51bGwpLmZvbnRTaXplIiwg
IjEwMHB4Iik7CisKK3RleHQuc2V0QXR0cmlidXRlKCJmb250LXNpemUiLCAiKy41ZTIiKTsKK3No
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHls
ZSh0ZXh0LCBudWxsKS5mb250U2l6ZSIsICI1MHB4Iik7CisvLyBSZXNldCBmb250LXNpemUgdG8g
MTAwcHguCit0ZXh0LnNldEF0dHJpYnV0ZSgiZm9udC1zaXplIiwgIjEwMHB4Iik7CitzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4
dCwgbnVsbCkuZm9udFNpemUiLCAiMTAwcHgiKTsKKwordGV4dC5zZXRBdHRyaWJ1dGUoImZvbnQt
c2l6ZSIsICIrNWUxIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmRlZmF1bHRW
aWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCwgbnVsbCkuZm9udFNpemUiLCAiNTBweCIpOworLy8g
UmVzZXQgZm9udC1zaXplIHRvIDEwMHB4LgordGV4dC5zZXRBdHRyaWJ1dGUoImZvbnQtc2l6ZSIs
ICIxMDBweCIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5kZWZhdWx0Vmlldy5n
ZXRDb21wdXRlZFN0eWxlKHRleHQsIG51bGwpLmZvbnRTaXplIiwgIjEwMHB4Iik7CisKK3RleHQu
c2V0QXR0cmlidXRlKCJmb250LXNpemUiLCAiKzAuNWUyIik7CitzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCwgbnVsbCkuZm9u
dFNpemUiLCAiNTBweCIpOworLy8gUmVzZXQgZm9udC1zaXplIHRvIDEwMHB4LgordGV4dC5zZXRB
dHRyaWJ1dGUoImZvbnQtc2l6ZSIsICIxMDBweCIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRleHQsIG51bGwpLmZvbnRTaXpl
IiwgIjEwMHB4Iik7CisKK3RleHQuc2V0QXR0cmlidXRlKCJmb250LXNpemUiLCAiLjVlKzIiKTsK
K3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRT
dHlsZSh0ZXh0LCBudWxsKS5mb250U2l6ZSIsICI1MHB4Iik7CisvLyBSZXNldCBmb250LXNpemUg
dG8gMTAwcHguCit0ZXh0LnNldEF0dHJpYnV0ZSgiZm9udC1zaXplIiwgIjEwMHB4Iik7CitzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUo
dGV4dCwgbnVsbCkuZm9udFNpemUiLCAiMTAwcHgiKTsKKwordGV4dC5zZXRBdHRyaWJ1dGUoImZv
bnQtc2l6ZSIsICI1ZSsxIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmRlZmF1
bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCwgbnVsbCkuZm9udFNpemUiLCAiNTBweCIpOwor
Ly8gUmVzZXQgZm9udC1zaXplIHRvIDEwMHB4LgordGV4dC5zZXRBdHRyaWJ1dGUoImZvbnQtc2l6
ZSIsICIxMDBweCIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5kZWZhdWx0Vmll
dy5nZXRDb21wdXRlZFN0eWxlKHRleHQsIG51bGwpLmZvbnRTaXplIiwgIjEwMHB4Iik7CisKK3Rl
eHQuc2V0QXR0cmlidXRlKCJmb250LXNpemUiLCAiMC41ZSsyIik7CitzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCwgbnVsbCku
Zm9udFNpemUiLCAiNTBweCIpOworLy8gUmVzZXQgZm9udC1zaXplIHRvIDEwMHB4LgordGV4dC5z
ZXRBdHRyaWJ1dGUoImZvbnQtc2l6ZSIsICIxMDBweCIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRleHQsIG51bGwpLmZvbnRT
aXplIiwgIjEwMHB4Iik7CisKK2RlYnVnKCIiKTsKK2RlYnVnKCJUZXN0IHBvc2l0aXZlIGV4cG9u
ZW50IHZhbHVlcyB3aXRoICdFJyIpOwordGV4dC5zZXRBdHRyaWJ1dGUoImZvbnQtc2l6ZSIsICIu
NUUyIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENv
bXB1dGVkU3R5bGUodGV4dCwgbnVsbCkuZm9udFNpemUiLCAiNTBweCIpOworLy8gUmVzZXQgZm9u
dC1zaXplIHRvIDEwMHB4LgordGV4dC5zZXRBdHRyaWJ1dGUoImZvbnQtc2l6ZSIsICIxMDBweCIp
Oworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRl
ZFN0eWxlKHRleHQsIG51bGwpLmZvbnRTaXplIiwgIjEwMHB4Iik7CisKK3RleHQuc2V0QXR0cmli
dXRlKCJmb250LXNpemUiLCAiNUUxIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50
LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCwgbnVsbCkuZm9udFNpemUiLCAiNTBw
eCIpOworLy8gUmVzZXQgZm9udC1zaXplIHRvIDEwMHB4LgordGV4dC5zZXRBdHRyaWJ1dGUoImZv
bnQtc2l6ZSIsICIxMDBweCIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5kZWZh
dWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRleHQsIG51bGwpLmZvbnRTaXplIiwgIjEwMHB4Iik7
CisKK3RleHQuc2V0QXR0cmlidXRlKCJmb250LXNpemUiLCAiMC41RTIiKTsKK3Nob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0LCBu
dWxsKS5mb250U2l6ZSIsICI1MHB4Iik7CisvLyBSZXNldCBmb250LXNpemUgdG8gMTAwcHguCit0
ZXh0LnNldEF0dHJpYnV0ZSgiZm9udC1zaXplIiwgIjEwMHB4Iik7CitzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCwgbnVsbCku
Zm9udFNpemUiLCAiMTAwcHgiKTsKKwordGV4dC5zZXRBdHRyaWJ1dGUoImZvbnQtc2l6ZSIsICIr
LjVFMiIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRD
b21wdXRlZFN0eWxlKHRleHQsIG51bGwpLmZvbnRTaXplIiwgIjUwcHgiKTsKKy8vIFJlc2V0IGZv
bnQtc2l6ZSB0byAxMDBweC4KK3RleHQuc2V0QXR0cmlidXRlKCJmb250LXNpemUiLCAiMTAwcHgi
KTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0
ZWRTdHlsZSh0ZXh0LCBudWxsKS5mb250U2l6ZSIsICIxMDBweCIpOworCit0ZXh0LnNldEF0dHJp
YnV0ZSgiZm9udC1zaXplIiwgIis1RTEiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1l
bnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0LCBudWxsKS5mb250U2l6ZSIsICI1
MHB4Iik7CisvLyBSZXNldCBmb250LXNpemUgdG8gMTAwcHguCit0ZXh0LnNldEF0dHJpYnV0ZSgi
Zm9udC1zaXplIiwgIjEwMHB4Iik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmRl
ZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCwgbnVsbCkuZm9udFNpemUiLCAiMTAwcHgi
KTsKKwordGV4dC5zZXRBdHRyaWJ1dGUoImZvbnQtc2l6ZSIsICIrMC41RTIiKTsKK3Nob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0
LCBudWxsKS5mb250U2l6ZSIsICI1MHB4Iik7CisvLyBSZXNldCBmb250LXNpemUgdG8gMTAwcHgu
Cit0ZXh0LnNldEF0dHJpYnV0ZSgiZm9udC1zaXplIiwgIjEwMHB4Iik7CitzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCwgbnVs
bCkuZm9udFNpemUiLCAiMTAwcHgiKTsKKwordGV4dC5zZXRBdHRyaWJ1dGUoImZvbnQtc2l6ZSIs
ICIuNUUrMiIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5kZWZhdWx0Vmlldy5n
ZXRDb21wdXRlZFN0eWxlKHRleHQsIG51bGwpLmZvbnRTaXplIiwgIjUwcHgiKTsKKy8vIFJlc2V0
IGZvbnQtc2l6ZSB0byAxMDBweC4KK3RleHQuc2V0QXR0cmlidXRlKCJmb250LXNpemUiLCAiMTAw
cHgiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29t
cHV0ZWRTdHlsZSh0ZXh0LCBudWxsKS5mb250U2l6ZSIsICIxMDBweCIpOworCit0ZXh0LnNldEF0
dHJpYnV0ZSgiZm9udC1zaXplIiwgIjVFKzEiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZG9j
dW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0LCBudWxsKS5mb250U2l6ZSIs
ICI1MHB4Iik7CisvLyBSZXNldCBmb250LXNpemUgdG8gMTAwcHguCit0ZXh0LnNldEF0dHJpYnV0
ZSgiZm9udC1zaXplIiwgIjEwMHB4Iik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50
LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCwgbnVsbCkuZm9udFNpemUiLCAiMTAw
cHgiKTsKKwordGV4dC5zZXRBdHRyaWJ1dGUoImZvbnQtc2l6ZSIsICIwLjVFKzIiKTsKK3Nob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0
ZXh0LCBudWxsKS5mb250U2l6ZSIsICI1MHB4Iik7CisvLyBSZXNldCBmb250LXNpemUgdG8gMTAw
cHguCit0ZXh0LnNldEF0dHJpYnV0ZSgiZm9udC1zaXplIiwgIjEwMHB4Iik7CitzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCwg
bnVsbCkuZm9udFNpemUiLCAiMTAwcHgiKTsKKworZGVidWcoIiIpOworZGVidWcoIlRlc3QgbmVn
YXRpdmUgZXhwb25lbnQgdmFsdWVzIHdpdGggJ2UnIik7Cit0ZXh0LnNldEF0dHJpYnV0ZSgiZm9u
dC1zaXplIiwgIjUwMDBlLTIiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1lbnQuZGVm
YXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0LCBudWxsKS5mb250U2l6ZSIsICI1MHB4Iik7
CisvLyBSZXNldCBmb250LXNpemUgdG8gMTAwcHguCit0ZXh0LnNldEF0dHJpYnV0ZSgiZm9udC1z
aXplIiwgIjEwMHB4Iik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmRlZmF1bHRW
aWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCwgbnVsbCkuZm9udFNpemUiLCAiMTAwcHgiKTsKKwor
dGV4dC5zZXRBdHRyaWJ1dGUoImZvbnQtc2l6ZSIsICI1MDBlLTEiKTsKK3Nob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0LCBudWxs
KS5mb250U2l6ZSIsICI1MHB4Iik7CisvLyBSZXNldCBmb250LXNpemUgdG8gMTAwcHguCit0ZXh0
LnNldEF0dHJpYnV0ZSgiZm9udC1zaXplIiwgIjEwMHB4Iik7CitzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCwgbnVsbCkuZm9u
dFNpemUiLCAiMTAwcHgiKTsKKwordGV4dC5zZXRBdHRyaWJ1dGUoImZvbnQtc2l6ZSIsICIrNTAw
MGUtMiIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRD
b21wdXRlZFN0eWxlKHRleHQsIG51bGwpLmZvbnRTaXplIiwgIjUwcHgiKTsKKy8vIFJlc2V0IGZv
bnQtc2l6ZSB0byAxMDBweC4KK3RleHQuc2V0QXR0cmlidXRlKCJmb250LXNpemUiLCAiMTAwcHgi
KTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0
ZWRTdHlsZSh0ZXh0LCBudWxsKS5mb250U2l6ZSIsICIxMDBweCIpOworCit0ZXh0LnNldEF0dHJp
YnV0ZSgiZm9udC1zaXplIiwgIis1MDBlLTEiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZG9j
dW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0LCBudWxsKS5mb250U2l6ZSIs
ICI1MHB4Iik7CisvLyBSZXNldCBmb250LXNpemUgdG8gMTAwcHguCit0ZXh0LnNldEF0dHJpYnV0
ZSgiZm9udC1zaXplIiwgIjEwMHB4Iik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50
LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCwgbnVsbCkuZm9udFNpemUiLCAiMTAw
cHgiKTsKKwordGV4dC5zZXRBdHRyaWJ1dGUoImZvbnQtc2l6ZSIsICIrNTAwMGUtMnB4Iik7Citz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5
bGUodGV4dCwgbnVsbCkuZm9udFNpemUiLCAiNTBweCIpOworLy8gUmVzZXQgZm9udC1zaXplIHRv
IDEwMHB4LgordGV4dC5zZXRBdHRyaWJ1dGUoImZvbnQtc2l6ZSIsICIxMDBweCIpOworc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRl
eHQsIG51bGwpLmZvbnRTaXplIiwgIjEwMHB4Iik7CisKK3RleHQuc2V0QXR0cmlidXRlKCJmb250
LXNpemUiLCAiKzUwMGUtMXB4Iik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmRl
ZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCwgbnVsbCkuZm9udFNpemUiLCAiNTBweCIp
OworLy8gUmVzZXQgZm9udC1zaXplIHRvIDEwMHB4LgordGV4dC5zZXRBdHRyaWJ1dGUoImZvbnQt
c2l6ZSIsICIxMDBweCIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5kZWZhdWx0
Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRleHQsIG51bGwpLmZvbnRTaXplIiwgIjEwMHB4Iik7CisK
K2RlYnVnKCIiKTsKK2RlYnVnKCJUZXN0IG5lZ2F0aXZlIGV4cG9uZW50IHZhbHVlcyB3aXRoICdF
JyIpOwordGV4dC5zZXRBdHRyaWJ1dGUoImZvbnQtc2l6ZSIsICI1MDAwRS0yIik7CitzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4
dCwgbnVsbCkuZm9udFNpemUiLCAiNTBweCIpOworLy8gUmVzZXQgZm9udC1zaXplIHRvIDEwMHB4
LgordGV4dC5zZXRBdHRyaWJ1dGUoImZvbnQtc2l6ZSIsICIxMDBweCIpOworc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRleHQsIG51
bGwpLmZvbnRTaXplIiwgIjEwMHB4Iik7CisKK3RleHQuc2V0QXR0cmlidXRlKCJmb250LXNpemUi
LCAiNTAwRS0xIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmRlZmF1bHRWaWV3
LmdldENvbXB1dGVkU3R5bGUodGV4dCwgbnVsbCkuZm9udFNpemUiLCAiNTBweCIpOworLy8gUmVz
ZXQgZm9udC1zaXplIHRvIDEwMHB4LgordGV4dC5zZXRBdHRyaWJ1dGUoImZvbnQtc2l6ZSIsICIx
MDBweCIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRD
b21wdXRlZFN0eWxlKHRleHQsIG51bGwpLmZvbnRTaXplIiwgIjEwMHB4Iik7CisKK3RleHQuc2V0
QXR0cmlidXRlKCJmb250LXNpemUiLCAiKzUwMDBFLTIiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0LCBudWxsKS5mb250
U2l6ZSIsICI1MHB4Iik7CisvLyBSZXNldCBmb250LXNpemUgdG8gMTAwcHguCit0ZXh0LnNldEF0
dHJpYnV0ZSgiZm9udC1zaXplIiwgIjEwMHB4Iik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Y3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCwgbnVsbCkuZm9udFNpemUi
LCAiMTAwcHgiKTsKKwordGV4dC5zZXRBdHRyaWJ1dGUoImZvbnQtc2l6ZSIsICIrNTAwRS0xIik7
CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVk
U3R5bGUodGV4dCwgbnVsbCkuZm9udFNpemUiLCAiNTBweCIpOworLy8gUmVzZXQgZm9udC1zaXpl
IHRvIDEwMHB4LgordGV4dC5zZXRBdHRyaWJ1dGUoImZvbnQtc2l6ZSIsICIxMDBweCIpOworc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxl
KHRleHQsIG51bGwpLmZvbnRTaXplIiwgIjEwMHB4Iik7CisKK3RleHQuc2V0QXR0cmlidXRlKCJm
b250LXNpemUiLCAiKzUwMDAuMDBFLTJweCIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1
bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRleHQsIG51bGwpLmZvbnRTaXplIiwg
IjUwcHgiKTsKKy8vIFJlc2V0IGZvbnQtc2l6ZSB0byAxMDBweC4KK3RleHQuc2V0QXR0cmlidXRl
KCJmb250LXNpemUiLCAiMTAwcHgiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1lbnQu
ZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0LCBudWxsKS5mb250U2l6ZSIsICIxMDBw
eCIpOworCit0ZXh0LnNldEF0dHJpYnV0ZSgiZm9udC1zaXplIiwgIis1MDBFLTFweCIpOworc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxl
KHRleHQsIG51bGwpLmZvbnRTaXplIiwgIjUwcHgiKTsKKy8vIFJlc2V0IGZvbnQtc2l6ZSB0byAx
MDBweC4KK3RleHQuc2V0QXR0cmlidXRlKCJmb250LXNpemUiLCAiMTAwcHgiKTsKK3Nob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0
LCBudWxsKS5mb250U2l6ZSIsICIxMDBweCIpOworCisKK2RlYnVnKCIiKTsKK2RlYnVnKCJJbnZh
bGlkIHZhbHVlcyIpOwordGV4dC5zZXRBdHRyaWJ1dGUoImZvbnQtc2l6ZSIsICI1MGUwLjAiKTsK
K3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRT
dHlsZSh0ZXh0LCBudWxsKS5mb250U2l6ZSIsICIxNnB4Iik7CisvLyBSZXNldCBmb250LXNpemUg
dG8gMTAwcHguCit0ZXh0LnNldEF0dHJpYnV0ZSgiZm9udC1zaXplIiwgIjEwMHB4Iik7CitzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUo
dGV4dCwgbnVsbCkuZm9udFNpemUiLCAiMTAwcHgiKTsKKwordGV4dC5zZXRBdHRyaWJ1dGUoImZv
bnQtc2l6ZSIsICI1MCBlMCIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5kZWZh
dWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRleHQsIG51bGwpLmZvbnRTaXplIiwgIjE2cHgiKTsK
Ky8vIFJlc2V0IGZvbnQtc2l6ZSB0byAxMDBweC4KK3RleHQuc2V0QXR0cmlidXRlKCJmb250LXNp
emUiLCAiMTAwcHgiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1lbnQuZGVmYXVsdFZp
ZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0LCBudWxsKS5mb250U2l6ZSIsICIxMDBweCIpOworCit0
ZXh0LnNldEF0dHJpYnV0ZSgiZm9udC1zaXplIiwgIjUwZSAwIik7CitzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCwgbnVsbCku
Zm9udFNpemUiLCAiMTZweCIpOworLy8gUmVzZXQgZm9udC1zaXplIHRvIDEwMHB4LgordGV4dC5z
ZXRBdHRyaWJ1dGUoImZvbnQtc2l6ZSIsICIxMDBweCIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRleHQsIG51bGwpLmZvbnRT
aXplIiwgIjEwMHB4Iik7CisKK3RleHQuc2V0QXR0cmlidXRlKCJmb250LXNpemUiLCAiNTBlMCBw
eCIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21w
dXRlZFN0eWxlKHRleHQsIG51bGwpLmZvbnRTaXplIiwgIjE2cHgiKTsKKy8vIFJlc2V0IGZvbnQt
c2l6ZSB0byAxMDBweC4KK3RleHQuc2V0QXR0cmlidXRlKCJmb250LXNpemUiLCAiMTAwcHgiKTsK
K3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRT
dHlsZSh0ZXh0LCBudWxsKS5mb250U2l6ZSIsICIxMDBweCIpOworCisKK3ZhciBzdWNjZXNzZnVs
bHlQYXJzZWQgPSB0cnVlOworCitjb21wbGV0ZVRlc3QoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>134960</attachid>
            <date>2012-03-31 09:18:54 -0700</date>
            <delta_ts>2012-03-31 20:25:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-52542-20120331091853.patch</filename>
            <type>text/plain</type>
            <size>21442</size>
            <attacher name="Dirk Schulze">krit</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEyNzcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDdhY2Q3OGU5MTgxYTkx
NzJlM2U2M2FmNmM4NDNiYzkwMTdhOWYwNS4uMDdhNDQxMzA1NTFlOWUzZWJjYTk0NzA1ZTg0NzYy
NTEwZjU2ZDI4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTAzLTMxICBEaXJr
IFNjaHVsemUgIDxrcml0QHdlYmtpdC5vcmc+CisKKyAgICAgICAgU1ZHIENTUyBwcm9wZXJ0eSB0
eXBlcyB3aXRoIDxudW1iZXI+IGRvbid0IHN1cHBvcnQgZXhwb25lbnRzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MjU0MgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICAKKyAgICAgICAgUGF0Y2ggYnkgQmVhciBU
cmF2aXMuCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBzY2llbnRpZmljIG51bWJlcnMgdG8gQ1NT
IHBhcnNlciBqdXN0IGZvciBTVkcgcHJlc2VudGF0aW9uIGF0dHJpYnV0ZXMuCisKKyAgICAgICAg
VGVzdDogc3ZnL2Nzcy9zY2llbnRpZmljLW51bWJlcnMuaHRtbAorCisgICAgICAgICogY3NzL0NT
U1BhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OmxleCk6CisKIDIwMTIt
MDMtMzAgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZlcnRl
ZCByMTEyNzY3LCBiZWNhdXNlIGl0IGNhdXNlZCBtYW55IHZlcnRpY2FsIHRleHQgdGVzdHMgdG8g
ZmFpbC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKaW5kZXggYWVkNDEzM2M2OGUyNzM4ZDE3NDY5
NmZjNGJhOTI4MjcwM2VjZTI4ZS4uMWM5NmQ5ZmE4N2M3MTMxYzJhYjQ5MzY2MGNlZjFmMzU2Y2Ix
MzkxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKQEAgLTg1OTgsNiArODU5OCwyOCBAQCBy
ZXN0YXJ0QWZ0ZXJDb21tZW50OgogCiAgICAgICAgIHl5bHZhbC0+bnVtYmVyID0gY2hhcmFjdGVy
c1RvRG91YmxlKG1fdG9rZW5TdGFydCwgbV9jdXJyZW50Q2hhcmFjdGVyIC0gbV90b2tlblN0YXJ0
KTsKIAorICAgICAgICAvLyBTVkcgbnVtYmVycyBzdXBwb3J0IHNjaWVudGlmaWMgbnVtYmVycy4K
KyAgICAgICAgaWYgKG1fY3NzUGFyc2VyTW9kZSA9PSBTVkdBdHRyaWJ1dGVNb2RlICYmIGlzQVND
SUlBbHBoYUNhc2VsZXNzRXF1YWwoKm1fY3VycmVudENoYXJhY3RlciwgJ2UnKSkgeworICAgICAg
ICAgICAgaW50IG9mZnNldCA9IDE7CisgICAgICAgICAgICBib29sIHBvc2l0aXZlID0gdHJ1ZTsK
KyAgICAgICAgICAgIGlmIChtX2N1cnJlbnRDaGFyYWN0ZXJbb2Zmc2V0XSA9PSAnKycpIHsKKyAg
ICAgICAgICAgICAgICBvZmZzZXQrKzsKKyAgICAgICAgICAgIH0gZWxzZSBpZiAobV9jdXJyZW50
Q2hhcmFjdGVyW29mZnNldF0gPT0gJy0nKSB7CisgICAgICAgICAgICAgICAgcG9zaXRpdmUgPSBm
YWxzZTsKKyAgICAgICAgICAgICAgICBvZmZzZXQrKzsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIGludCBkaWdpdHMgPSBvZmZzZXQ7CisgICAgICAgICAgICBkb3VibGUgZXhwb25lbnQ7Cisg
ICAgICAgICAgICB3aGlsZSAoaXNBU0NJSURpZ2l0KG1fY3VycmVudENoYXJhY3RlcltvZmZzZXRd
KSkKKyAgICAgICAgICAgICAgICBvZmZzZXQrKzsKKyAgICAgICAgICAgIGlmIChvZmZzZXQgPiBk
aWdpdHMpIHsKKyAgICAgICAgICAgICAgICBleHBvbmVudCA9IGNoYXJhY3RlcnNUb0RvdWJsZSht
X2N1cnJlbnRDaGFyYWN0ZXIgKyBkaWdpdHMsIG9mZnNldCAtIGRpZ2l0cyk7CisgICAgICAgICAg
ICAgICAgbV9jdXJyZW50Q2hhcmFjdGVyICs9IG9mZnNldDsKKyAgICAgICAgICAgICAgICBleHBv
bmVudCA9IHBvdygxMCwgcG9zaXRpdmUgPyBleHBvbmVudCA6IC1leHBvbmVudCk7CisgICAgICAg
ICAgICAgICAgeXlsdmFsLT5udW1iZXIgKj0gZXhwb25lbnQ7CisgICAgICAgICAgICB9CisgICAg
ICAgIH0KKwogICAgICAgICAvLyBUeXBlIG9mIHRoZSBmdW5jdGlvbi4KICAgICAgICAgaWYgKGlz
SWRlbnRpZmllclN0YXJ0KCkpIHsKICAgICAgICAgICAgIFVDaGFyKiB0eXBlID0gbV9jdXJyZW50
Q2hhcmFjdGVyOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCmluZGV4IDA2OWZiOTVhOWVjNzQyNDNkOTVkNWIzMjU0NTg1YjZkZDAzZTJi
NjEuLjUwY2JlZjc4YTM5ZGYzNGRkMDhiODhhYTc1MWY0M2U3ODkzYWM3NGQgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNiBAQAorMjAxMi0wMy0zMSAgRGlyayBTY2h1bHplICA8a3JpdEB3ZWJraXQub3JnPgor
CisgICAgICAgIFNWRyBDU1MgcHJvcGVydHkgdHlwZXMgd2l0aCA8bnVtYmVyPiBkb24ndCBzdXBw
b3J0IGV4cG9uZW50cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NTI1NDIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBUZXN0IHNjaWVuaWZpYyBudW1iZXIgdmFsdWVzIG9uIFNWRyBwcmVzZW50YXRpb24gYXR0
cmlidXRlcy4KKworICAgICAgICAqIHN2Zy9jc3Mvc2NpZW50aWZpYy1udW1iZXJzLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogc3ZnL2Nzcy9zY2llbnRpZmljLW51bWJlcnMuaHRtbDog
QWRkZWQuCisgICAgICAgICogc3ZnL2Nzcy9zY3JpcHQtdGVzdHMvc2NpZW50aWZpYy1udW1iZXJz
LmpzOiBBZGRlZC4KKwogMjAxMi0wMy0zMCAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29t
PgogCiAgICAgICAgIFJldmVydGVkIHIxMTI3NjcsIGJlY2F1c2UgaXQgY2F1c2VkIG1hbnkgdmVy
dGljYWwgdGV4dCB0ZXN0cyB0byBmYWlsLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2Nz
cy9zY2llbnRpZmljLW51bWJlcnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3ZnL2Nzcy9z
Y2llbnRpZmljLW51bWJlcnMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVhZGQ1MzZlOThlNmUx
OTZjNzBlN2Q2NWI5ZGNjYTllMDM2ZmNhZjcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9zdmcvY3NzL3NjaWVudGlmaWMtbnVtYmVycy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw5MCBA
QAorVGVzdCBzY2llbnRpZmljIG51bWJlcnMgb24gdmFsdWVzIGZvciBTVkcgcHJlc2VudGF0aW9u
IGF0dHJpYnV0ZXMuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitUZXN0IGRlZmF1
bHQgZm9udC1zaXplIG9mICcxNnB4JworUEFTUyBkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21w
dXRlZFN0eWxlKHRleHQsIG51bGwpLmZvbnRTaXplIGlzICIxNnB4IgorUEFTUyBkb2N1bWVudC5k
ZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRleHQsIG51bGwpLmZvbnRTaXplIGlzICIxMDBw
eCIKKworVGVzdCBwb3NpdGl2ZSBleHBvbmVudCB2YWx1ZXMgd2l0aCAnZScKK1BBU1MgZG9jdW1l
bnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0LCBudWxsKS5mb250U2l6ZSBpcyAi
NTBweCIKK1BBU1MgZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0LCBu
dWxsKS5mb250U2l6ZSBpcyAiMTAwcHgiCitQQVNTIGRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENv
bXB1dGVkU3R5bGUodGV4dCwgbnVsbCkuZm9udFNpemUgaXMgIjUwcHgiCitQQVNTIGRvY3VtZW50
LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCwgbnVsbCkuZm9udFNpemUgaXMgIjEw
MHB4IgorUEFTUyBkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRleHQsIG51
bGwpLmZvbnRTaXplIGlzICI1MHB4IgorUEFTUyBkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21w
dXRlZFN0eWxlKHRleHQsIG51bGwpLmZvbnRTaXplIGlzICIxMDBweCIKK1BBU1MgZG9jdW1lbnQu
ZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0LCBudWxsKS5mb250U2l6ZSBpcyAiNTBw
eCIKK1BBU1MgZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0LCBudWxs
KS5mb250U2l6ZSBpcyAiMTAwcHgiCitQQVNTIGRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1
dGVkU3R5bGUodGV4dCwgbnVsbCkuZm9udFNpemUgaXMgIjUwcHgiCitQQVNTIGRvY3VtZW50LmRl
ZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCwgbnVsbCkuZm9udFNpemUgaXMgIjEwMHB4
IgorUEFTUyBkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRleHQsIG51bGwp
LmZvbnRTaXplIGlzICI1MHB4IgorUEFTUyBkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRl
ZFN0eWxlKHRleHQsIG51bGwpLmZvbnRTaXplIGlzICIxMDBweCIKK1BBU1MgZG9jdW1lbnQuZGVm
YXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0LCBudWxsKS5mb250U2l6ZSBpcyAiNTBweCIK
K1BBU1MgZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0LCBudWxsKS5m
b250U2l6ZSBpcyAiMTAwcHgiCitQQVNTIGRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVk
U3R5bGUodGV4dCwgbnVsbCkuZm9udFNpemUgaXMgIjUwcHgiCitQQVNTIGRvY3VtZW50LmRlZmF1
bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCwgbnVsbCkuZm9udFNpemUgaXMgIjEwMHB4Igor
UEFTUyBkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRleHQsIG51bGwpLmZv
bnRTaXplIGlzICI1MHB4IgorUEFTUyBkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0
eWxlKHRleHQsIG51bGwpLmZvbnRTaXplIGlzICIxMDBweCIKKworVGVzdCBwb3NpdGl2ZSBleHBv
bmVudCB2YWx1ZXMgd2l0aCAnRScKK1BBU1MgZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0
ZWRTdHlsZSh0ZXh0LCBudWxsKS5mb250U2l6ZSBpcyAiNTBweCIKK1BBU1MgZG9jdW1lbnQuZGVm
YXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0LCBudWxsKS5mb250U2l6ZSBpcyAiMTAwcHgi
CitQQVNTIGRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCwgbnVsbCku
Zm9udFNpemUgaXMgIjUwcHgiCitQQVNTIGRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVk
U3R5bGUodGV4dCwgbnVsbCkuZm9udFNpemUgaXMgIjEwMHB4IgorUEFTUyBkb2N1bWVudC5kZWZh
dWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRleHQsIG51bGwpLmZvbnRTaXplIGlzICI1MHB4Igor
UEFTUyBkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRleHQsIG51bGwpLmZv
bnRTaXplIGlzICIxMDBweCIKK1BBU1MgZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRT
dHlsZSh0ZXh0LCBudWxsKS5mb250U2l6ZSBpcyAiNTBweCIKK1BBU1MgZG9jdW1lbnQuZGVmYXVs
dFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0LCBudWxsKS5mb250U2l6ZSBpcyAiMTAwcHgiCitQ
QVNTIGRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCwgbnVsbCkuZm9u
dFNpemUgaXMgIjUwcHgiCitQQVNTIGRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5
bGUodGV4dCwgbnVsbCkuZm9udFNpemUgaXMgIjEwMHB4IgorUEFTUyBkb2N1bWVudC5kZWZhdWx0
Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRleHQsIG51bGwpLmZvbnRTaXplIGlzICI1MHB4IgorUEFT
UyBkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRleHQsIG51bGwpLmZvbnRT
aXplIGlzICIxMDBweCIKK1BBU1MgZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHls
ZSh0ZXh0LCBudWxsKS5mb250U2l6ZSBpcyAiNTBweCIKK1BBU1MgZG9jdW1lbnQuZGVmYXVsdFZp
ZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0LCBudWxsKS5mb250U2l6ZSBpcyAiMTAwcHgiCitQQVNT
IGRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCwgbnVsbCkuZm9udFNp
emUgaXMgIjUwcHgiCitQQVNTIGRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUo
dGV4dCwgbnVsbCkuZm9udFNpemUgaXMgIjEwMHB4IgorUEFTUyBkb2N1bWVudC5kZWZhdWx0Vmll
dy5nZXRDb21wdXRlZFN0eWxlKHRleHQsIG51bGwpLmZvbnRTaXplIGlzICI1MHB4IgorUEFTUyBk
b2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRleHQsIG51bGwpLmZvbnRTaXpl
IGlzICIxMDBweCIKKworVGVzdCBuZWdhdGl2ZSBleHBvbmVudCB2YWx1ZXMgd2l0aCAnZScKK1BB
U1MgZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0LCBudWxsKS5mb250
U2l6ZSBpcyAiNTBweCIKK1BBU1MgZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHls
ZSh0ZXh0LCBudWxsKS5mb250U2l6ZSBpcyAiMTAwcHgiCitQQVNTIGRvY3VtZW50LmRlZmF1bHRW
aWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCwgbnVsbCkuZm9udFNpemUgaXMgIjUwcHgiCitQQVNT
IGRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCwgbnVsbCkuZm9udFNp
emUgaXMgIjEwMHB4IgorUEFTUyBkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxl
KHRleHQsIG51bGwpLmZvbnRTaXplIGlzICI1MHB4IgorUEFTUyBkb2N1bWVudC5kZWZhdWx0Vmll
dy5nZXRDb21wdXRlZFN0eWxlKHRleHQsIG51bGwpLmZvbnRTaXplIGlzICIxMDBweCIKK1BBU1Mg
ZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0LCBudWxsKS5mb250U2l6
ZSBpcyAiNTBweCIKK1BBU1MgZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0
ZXh0LCBudWxsKS5mb250U2l6ZSBpcyAiMTAwcHgiCitQQVNTIGRvY3VtZW50LmRlZmF1bHRWaWV3
LmdldENvbXB1dGVkU3R5bGUodGV4dCwgbnVsbCkuZm9udFNpemUgaXMgIjUwcHgiCitQQVNTIGRv
Y3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCwgbnVsbCkuZm9udFNpemUg
aXMgIjEwMHB4IgorUEFTUyBkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRl
eHQsIG51bGwpLmZvbnRTaXplIGlzICI1MHB4IgorUEFTUyBkb2N1bWVudC5kZWZhdWx0Vmlldy5n
ZXRDb21wdXRlZFN0eWxlKHRleHQsIG51bGwpLmZvbnRTaXplIGlzICIxMDBweCIKKworVGVzdCBu
ZWdhdGl2ZSBleHBvbmVudCB2YWx1ZXMgd2l0aCAnRScKK1BBU1MgZG9jdW1lbnQuZGVmYXVsdFZp
ZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0LCBudWxsKS5mb250U2l6ZSBpcyAiNTBweCIKK1BBU1Mg
ZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0LCBudWxsKS5mb250U2l6
ZSBpcyAiMTAwcHgiCitQQVNTIGRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUo
dGV4dCwgbnVsbCkuZm9udFNpemUgaXMgIjUwcHgiCitQQVNTIGRvY3VtZW50LmRlZmF1bHRWaWV3
LmdldENvbXB1dGVkU3R5bGUodGV4dCwgbnVsbCkuZm9udFNpemUgaXMgIjEwMHB4IgorUEFTUyBk
b2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRleHQsIG51bGwpLmZvbnRTaXpl
IGlzICI1MHB4IgorUEFTUyBkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRl
eHQsIG51bGwpLmZvbnRTaXplIGlzICIxMDBweCIKK1BBU1MgZG9jdW1lbnQuZGVmYXVsdFZpZXcu
Z2V0Q29tcHV0ZWRTdHlsZSh0ZXh0LCBudWxsKS5mb250U2l6ZSBpcyAiNTBweCIKK1BBU1MgZG9j
dW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0LCBudWxsKS5mb250U2l6ZSBp
cyAiMTAwcHgiCitQQVNTIGRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4
dCwgbnVsbCkuZm9udFNpemUgaXMgIjUwcHgiCitQQVNTIGRvY3VtZW50LmRlZmF1bHRWaWV3Lmdl
dENvbXB1dGVkU3R5bGUodGV4dCwgbnVsbCkuZm9udFNpemUgaXMgIjEwMHB4IgorUEFTUyBkb2N1
bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRleHQsIG51bGwpLmZvbnRTaXplIGlz
ICI1MHB4IgorUEFTUyBkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRleHQs
IG51bGwpLmZvbnRTaXplIGlzICIxMDBweCIKKworSW52YWxpZCB2YWx1ZXMKK1BBU1MgZG9jdW1l
bnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0LCBudWxsKS5mb250U2l6ZSBpcyAi
MTZweCIKK1BBU1MgZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0LCBu
dWxsKS5mb250U2l6ZSBpcyAiMTAwcHgiCitQQVNTIGRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENv
bXB1dGVkU3R5bGUodGV4dCwgbnVsbCkuZm9udFNpemUgaXMgIjE2cHgiCitQQVNTIGRvY3VtZW50
LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCwgbnVsbCkuZm9udFNpemUgaXMgIjEw
MHB4IgorUEFTUyBkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRleHQsIG51
bGwpLmZvbnRTaXplIGlzICIxNnB4IgorUEFTUyBkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21w
dXRlZFN0eWxlKHRleHQsIG51bGwpLmZvbnRTaXplIGlzICIxMDBweCIKK1BBU1MgZG9jdW1lbnQu
ZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0LCBudWxsKS5mb250U2l6ZSBpcyAiMTZw
eCIKK1BBU1MgZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0LCBudWxs
KS5mb250U2l6ZSBpcyAiMTAwcHgiCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2Nzcy9zY2llbnRp
ZmljLW51bWJlcnMuaHRtbCBiL0xheW91dFRlc3RzL3N2Zy9jc3Mvc2NpZW50aWZpYy1udW1iZXJz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYWNkMmY2ZTNhNGY1MTk3YzY5M2I4M2VkMjUyYTdmNjdmZWU5OWJl
YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N2Zy9jc3Mvc2NpZW50aWZpYy1udW1i
ZXJzLmh0bWwKQEAgLTAsMCArMSwxMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3N2Zy9keW5hbWljLXVwZGF0ZXMvcmVzb3VyY2VzL1NWR1Rl
c3RDYXNlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNj
cmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2Ny
aXB0LXRlc3RzL3NjaWVudGlmaWMtbnVtYmVycy5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvY3NzL3NjcmlwdC10ZXN0cy9zY2llbnRp
ZmljLW51bWJlcnMuanMgYi9MYXlvdXRUZXN0cy9zdmcvY3NzL3NjcmlwdC10ZXN0cy9zY2llbnRp
ZmljLW51bWJlcnMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWFhYTEyZWRhMjZhYzhiYWEwY2NmYTIxZGNlYzI2
NWY3NTM5ZDZlMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N2Zy9jc3Mvc2NyaXB0
LXRlc3RzL3NjaWVudGlmaWMtbnVtYmVycy5qcwpAQCAtMCwwICsxLDIzNiBAQAorZGVzY3JpcHRp
b24oIlRlc3Qgc2NpZW50aWZpYyBudW1iZXJzIG9uIDxsZW5ndGg+IHZhbHVlcyBmb3IgU1ZHIHBy
ZXNlbnRhdGlvbiBhdHRyaWJ1dGVzLiIpCitjcmVhdGVTVkdUZXN0Q2FzZSgpOworCit2YXIgdGV4
dCA9IGNyZWF0ZVNWR0VsZW1lbnQoInRleHQiKTsKK3RleHQuc2V0QXR0cmlidXRlKCJpZCIsICJ0
ZXh0Iik7Cit0ZXh0LnNldEF0dHJpYnV0ZSgieCIsICIxMDBweCIpOwordGV4dC5zZXRBdHRyaWJ1
dGUoInkiLCAiMTAwcHgiKTsKK3Jvb3RTVkdFbGVtZW50LmFwcGVuZENoaWxkKHRleHQpOworCisK
Ky8vIFRlc3RpbmcgPGxlbmd0aD4gdmFsdWVzIGZvciAnZm9udC1zaXplJworZGVidWcoIlRlc3Qg
ZGVmYXVsdCBmb250LXNpemUgb2YgJzE2cHgnIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Y3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCwgbnVsbCkuZm9udFNpemUi
LCAiMTZweCIpOworCit0ZXh0LnNldEF0dHJpYnV0ZSgiZm9udC1zaXplIiwgIjEwMHB4Iik7Citz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5
bGUodGV4dCwgbnVsbCkuZm9udFNpemUiLCAiMTAwcHgiKTsKKworZGVidWcoIiIpOworZGVidWco
IlRlc3QgcG9zaXRpdmUgZXhwb25lbnQgdmFsdWVzIHdpdGggJ2UnIik7Cit0ZXh0LnNldEF0dHJp
YnV0ZSgiZm9udC1zaXplIiwgIi41ZTIiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1l
bnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0LCBudWxsKS5mb250U2l6ZSIsICI1
MHB4Iik7CisvLyBSZXNldCBmb250LXNpemUgdG8gMTAwcHguCit0ZXh0LnNldEF0dHJpYnV0ZSgi
Zm9udC1zaXplIiwgIjEwMHB4Iik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmRl
ZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCwgbnVsbCkuZm9udFNpemUiLCAiMTAwcHgi
KTsKKwordGV4dC5zZXRBdHRyaWJ1dGUoImZvbnQtc2l6ZSIsICI1ZTEiKTsKK3Nob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0LCBu
dWxsKS5mb250U2l6ZSIsICI1MHB4Iik7CisvLyBSZXNldCBmb250LXNpemUgdG8gMTAwcHguCit0
ZXh0LnNldEF0dHJpYnV0ZSgiZm9udC1zaXplIiwgIjEwMHB4Iik7CitzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCwgbnVsbCku
Zm9udFNpemUiLCAiMTAwcHgiKTsKKwordGV4dC5zZXRBdHRyaWJ1dGUoImZvbnQtc2l6ZSIsICIw
LjVlMiIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRD
b21wdXRlZFN0eWxlKHRleHQsIG51bGwpLmZvbnRTaXplIiwgIjUwcHgiKTsKKy8vIFJlc2V0IGZv
bnQtc2l6ZSB0byAxMDBweC4KK3RleHQuc2V0QXR0cmlidXRlKCJmb250LXNpemUiLCAiMTAwcHgi
KTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0
ZWRTdHlsZSh0ZXh0LCBudWxsKS5mb250U2l6ZSIsICIxMDBweCIpOworCit0ZXh0LnNldEF0dHJp
YnV0ZSgiZm9udC1zaXplIiwgIisuNWUyIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3Vt
ZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCwgbnVsbCkuZm9udFNpemUiLCAi
NTBweCIpOworLy8gUmVzZXQgZm9udC1zaXplIHRvIDEwMHB4LgordGV4dC5zZXRBdHRyaWJ1dGUo
ImZvbnQtc2l6ZSIsICIxMDBweCIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5k
ZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRleHQsIG51bGwpLmZvbnRTaXplIiwgIjEwMHB4
Iik7CisKK3RleHQuc2V0QXR0cmlidXRlKCJmb250LXNpemUiLCAiKzVlMSIpOworc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRleHQs
IG51bGwpLmZvbnRTaXplIiwgIjUwcHgiKTsKKy8vIFJlc2V0IGZvbnQtc2l6ZSB0byAxMDBweC4K
K3RleHQuc2V0QXR0cmlidXRlKCJmb250LXNpemUiLCAiMTAwcHgiKTsKK3Nob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0LCBudWxs
KS5mb250U2l6ZSIsICIxMDBweCIpOworCit0ZXh0LnNldEF0dHJpYnV0ZSgiZm9udC1zaXplIiwg
IiswLjVlMiIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5kZWZhdWx0Vmlldy5n
ZXRDb21wdXRlZFN0eWxlKHRleHQsIG51bGwpLmZvbnRTaXplIiwgIjUwcHgiKTsKKy8vIFJlc2V0
IGZvbnQtc2l6ZSB0byAxMDBweC4KK3RleHQuc2V0QXR0cmlidXRlKCJmb250LXNpemUiLCAiMTAw
cHgiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29t
cHV0ZWRTdHlsZSh0ZXh0LCBudWxsKS5mb250U2l6ZSIsICIxMDBweCIpOworCit0ZXh0LnNldEF0
dHJpYnV0ZSgiZm9udC1zaXplIiwgIi41ZSsyIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Y3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCwgbnVsbCkuZm9udFNpemUi
LCAiNTBweCIpOworLy8gUmVzZXQgZm9udC1zaXplIHRvIDEwMHB4LgordGV4dC5zZXRBdHRyaWJ1
dGUoImZvbnQtc2l6ZSIsICIxMDBweCIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVu
dC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRleHQsIG51bGwpLmZvbnRTaXplIiwgIjEw
MHB4Iik7CisKK3RleHQuc2V0QXR0cmlidXRlKCJmb250LXNpemUiLCAiNWUrMSIpOworc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRl
eHQsIG51bGwpLmZvbnRTaXplIiwgIjUwcHgiKTsKKy8vIFJlc2V0IGZvbnQtc2l6ZSB0byAxMDBw
eC4KK3RleHQuc2V0QXR0cmlidXRlKCJmb250LXNpemUiLCAiMTAwcHgiKTsKK3Nob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0LCBu
dWxsKS5mb250U2l6ZSIsICIxMDBweCIpOworCit0ZXh0LnNldEF0dHJpYnV0ZSgiZm9udC1zaXpl
IiwgIjAuNWUrMiIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5kZWZhdWx0Vmll
dy5nZXRDb21wdXRlZFN0eWxlKHRleHQsIG51bGwpLmZvbnRTaXplIiwgIjUwcHgiKTsKKy8vIFJl
c2V0IGZvbnQtc2l6ZSB0byAxMDBweC4KK3RleHQuc2V0QXR0cmlidXRlKCJmb250LXNpemUiLCAi
MTAwcHgiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0
Q29tcHV0ZWRTdHlsZSh0ZXh0LCBudWxsKS5mb250U2l6ZSIsICIxMDBweCIpOworCitkZWJ1Zygi
Iik7CitkZWJ1ZygiVGVzdCBwb3NpdGl2ZSBleHBvbmVudCB2YWx1ZXMgd2l0aCAnRSciKTsKK3Rl
eHQuc2V0QXR0cmlidXRlKCJmb250LXNpemUiLCAiLjVFMiIpOworc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRleHQsIG51bGwpLmZv
bnRTaXplIiwgIjUwcHgiKTsKKy8vIFJlc2V0IGZvbnQtc2l6ZSB0byAxMDBweC4KK3RleHQuc2V0
QXR0cmlidXRlKCJmb250LXNpemUiLCAiMTAwcHgiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0LCBudWxsKS5mb250U2l6
ZSIsICIxMDBweCIpOworCit0ZXh0LnNldEF0dHJpYnV0ZSgiZm9udC1zaXplIiwgIjVFMSIpOwor
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0
eWxlKHRleHQsIG51bGwpLmZvbnRTaXplIiwgIjUwcHgiKTsKKy8vIFJlc2V0IGZvbnQtc2l6ZSB0
byAxMDBweC4KK3RleHQuc2V0QXR0cmlidXRlKCJmb250LXNpemUiLCAiMTAwcHgiKTsKK3Nob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0
ZXh0LCBudWxsKS5mb250U2l6ZSIsICIxMDBweCIpOworCit0ZXh0LnNldEF0dHJpYnV0ZSgiZm9u
dC1zaXplIiwgIjAuNUUyIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmRlZmF1
bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCwgbnVsbCkuZm9udFNpemUiLCAiNTBweCIpOwor
Ly8gUmVzZXQgZm9udC1zaXplIHRvIDEwMHB4LgordGV4dC5zZXRBdHRyaWJ1dGUoImZvbnQtc2l6
ZSIsICIxMDBweCIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5kZWZhdWx0Vmll
dy5nZXRDb21wdXRlZFN0eWxlKHRleHQsIG51bGwpLmZvbnRTaXplIiwgIjEwMHB4Iik7CisKK3Rl
eHQuc2V0QXR0cmlidXRlKCJmb250LXNpemUiLCAiKy41RTIiKTsKK3Nob3VsZEJlRXF1YWxUb1N0
cmluZygiZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0LCBudWxsKS5m
b250U2l6ZSIsICI1MHB4Iik7CisvLyBSZXNldCBmb250LXNpemUgdG8gMTAwcHguCit0ZXh0LnNl
dEF0dHJpYnV0ZSgiZm9udC1zaXplIiwgIjEwMHB4Iik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCwgbnVsbCkuZm9udFNp
emUiLCAiMTAwcHgiKTsKKwordGV4dC5zZXRBdHRyaWJ1dGUoImZvbnQtc2l6ZSIsICIrNUUxIik7
CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVk
U3R5bGUodGV4dCwgbnVsbCkuZm9udFNpemUiLCAiNTBweCIpOworLy8gUmVzZXQgZm9udC1zaXpl
IHRvIDEwMHB4LgordGV4dC5zZXRBdHRyaWJ1dGUoImZvbnQtc2l6ZSIsICIxMDBweCIpOworc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxl
KHRleHQsIG51bGwpLmZvbnRTaXplIiwgIjEwMHB4Iik7CisKK3RleHQuc2V0QXR0cmlidXRlKCJm
b250LXNpemUiLCAiKzAuNUUyIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmRl
ZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCwgbnVsbCkuZm9udFNpemUiLCAiNTBweCIp
OworLy8gUmVzZXQgZm9udC1zaXplIHRvIDEwMHB4LgordGV4dC5zZXRBdHRyaWJ1dGUoImZvbnQt
c2l6ZSIsICIxMDBweCIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5kZWZhdWx0
Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRleHQsIG51bGwpLmZvbnRTaXplIiwgIjEwMHB4Iik7CisK
K3RleHQuc2V0QXR0cmlidXRlKCJmb250LXNpemUiLCAiLjVFKzIiKTsKK3Nob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0LCBudWxs
KS5mb250U2l6ZSIsICI1MHB4Iik7CisvLyBSZXNldCBmb250LXNpemUgdG8gMTAwcHguCit0ZXh0
LnNldEF0dHJpYnV0ZSgiZm9udC1zaXplIiwgIjEwMHB4Iik7CitzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCwgbnVsbCkuZm9u
dFNpemUiLCAiMTAwcHgiKTsKKwordGV4dC5zZXRBdHRyaWJ1dGUoImZvbnQtc2l6ZSIsICI1RSsx
Iik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1
dGVkU3R5bGUodGV4dCwgbnVsbCkuZm9udFNpemUiLCAiNTBweCIpOworLy8gUmVzZXQgZm9udC1z
aXplIHRvIDEwMHB4LgordGV4dC5zZXRBdHRyaWJ1dGUoImZvbnQtc2l6ZSIsICIxMDBweCIpOwor
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0
eWxlKHRleHQsIG51bGwpLmZvbnRTaXplIiwgIjEwMHB4Iik7CisKK3RleHQuc2V0QXR0cmlidXRl
KCJmb250LXNpemUiLCAiMC41RSsyIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50
LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCwgbnVsbCkuZm9udFNpemUiLCAiNTBw
eCIpOworLy8gUmVzZXQgZm9udC1zaXplIHRvIDEwMHB4LgordGV4dC5zZXRBdHRyaWJ1dGUoImZv
bnQtc2l6ZSIsICIxMDBweCIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5kZWZh
dWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRleHQsIG51bGwpLmZvbnRTaXplIiwgIjEwMHB4Iik7
CisKK2RlYnVnKCIiKTsKK2RlYnVnKCJUZXN0IG5lZ2F0aXZlIGV4cG9uZW50IHZhbHVlcyB3aXRo
ICdlJyIpOwordGV4dC5zZXRBdHRyaWJ1dGUoImZvbnQtc2l6ZSIsICI1MDAwZS0yIik7CitzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUo
dGV4dCwgbnVsbCkuZm9udFNpemUiLCAiNTBweCIpOworLy8gUmVzZXQgZm9udC1zaXplIHRvIDEw
MHB4LgordGV4dC5zZXRBdHRyaWJ1dGUoImZvbnQtc2l6ZSIsICIxMDBweCIpOworc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRleHQs
IG51bGwpLmZvbnRTaXplIiwgIjEwMHB4Iik7CisKK3RleHQuc2V0QXR0cmlidXRlKCJmb250LXNp
emUiLCAiNTAwZS0xIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmRlZmF1bHRW
aWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCwgbnVsbCkuZm9udFNpemUiLCAiNTBweCIpOworLy8g
UmVzZXQgZm9udC1zaXplIHRvIDEwMHB4LgordGV4dC5zZXRBdHRyaWJ1dGUoImZvbnQtc2l6ZSIs
ICIxMDBweCIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5kZWZhdWx0Vmlldy5n
ZXRDb21wdXRlZFN0eWxlKHRleHQsIG51bGwpLmZvbnRTaXplIiwgIjEwMHB4Iik7CisKK3RleHQu
c2V0QXR0cmlidXRlKCJmb250LXNpemUiLCAiKzUwMDBlLTIiKTsKK3Nob3VsZEJlRXF1YWxUb1N0
cmluZygiZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0LCBudWxsKS5m
b250U2l6ZSIsICI1MHB4Iik7CisvLyBSZXNldCBmb250LXNpemUgdG8gMTAwcHguCit0ZXh0LnNl
dEF0dHJpYnV0ZSgiZm9udC1zaXplIiwgIjEwMHB4Iik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCwgbnVsbCkuZm9udFNp
emUiLCAiMTAwcHgiKTsKKwordGV4dC5zZXRBdHRyaWJ1dGUoImZvbnQtc2l6ZSIsICIrNTAwZS0x
Iik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1
dGVkU3R5bGUodGV4dCwgbnVsbCkuZm9udFNpemUiLCAiNTBweCIpOworLy8gUmVzZXQgZm9udC1z
aXplIHRvIDEwMHB4LgordGV4dC5zZXRBdHRyaWJ1dGUoImZvbnQtc2l6ZSIsICIxMDBweCIpOwor
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0
eWxlKHRleHQsIG51bGwpLmZvbnRTaXplIiwgIjEwMHB4Iik7CisKK3RleHQuc2V0QXR0cmlidXRl
KCJmb250LXNpemUiLCAiKzUwMDBlLTJweCIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1
bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRleHQsIG51bGwpLmZvbnRTaXplIiwg
IjUwcHgiKTsKKy8vIFJlc2V0IGZvbnQtc2l6ZSB0byAxMDBweC4KK3RleHQuc2V0QXR0cmlidXRl
KCJmb250LXNpemUiLCAiMTAwcHgiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1lbnQu
ZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0LCBudWxsKS5mb250U2l6ZSIsICIxMDBw
eCIpOworCit0ZXh0LnNldEF0dHJpYnV0ZSgiZm9udC1zaXplIiwgIis1MDBlLTFweCIpOworc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxl
KHRleHQsIG51bGwpLmZvbnRTaXplIiwgIjUwcHgiKTsKKy8vIFJlc2V0IGZvbnQtc2l6ZSB0byAx
MDBweC4KK3RleHQuc2V0QXR0cmlidXRlKCJmb250LXNpemUiLCAiMTAwcHgiKTsKK3Nob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0
LCBudWxsKS5mb250U2l6ZSIsICIxMDBweCIpOworCitkZWJ1ZygiIik7CitkZWJ1ZygiVGVzdCBu
ZWdhdGl2ZSBleHBvbmVudCB2YWx1ZXMgd2l0aCAnRSciKTsKK3RleHQuc2V0QXR0cmlidXRlKCJm
b250LXNpemUiLCAiNTAwMEUtMiIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5k
ZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRleHQsIG51bGwpLmZvbnRTaXplIiwgIjUwcHgi
KTsKKy8vIFJlc2V0IGZvbnQtc2l6ZSB0byAxMDBweC4KK3RleHQuc2V0QXR0cmlidXRlKCJmb250
LXNpemUiLCAiMTAwcHgiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1lbnQuZGVmYXVs
dFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0LCBudWxsKS5mb250U2l6ZSIsICIxMDBweCIpOwor
Cit0ZXh0LnNldEF0dHJpYnV0ZSgiZm9udC1zaXplIiwgIjUwMEUtMSIpOworc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRleHQsIG51
bGwpLmZvbnRTaXplIiwgIjUwcHgiKTsKKy8vIFJlc2V0IGZvbnQtc2l6ZSB0byAxMDBweC4KK3Rl
eHQuc2V0QXR0cmlidXRlKCJmb250LXNpemUiLCAiMTAwcHgiKTsKK3Nob3VsZEJlRXF1YWxUb1N0
cmluZygiZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0LCBudWxsKS5m
b250U2l6ZSIsICIxMDBweCIpOworCit0ZXh0LnNldEF0dHJpYnV0ZSgiZm9udC1zaXplIiwgIis1
MDAwRS0yIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmRlZmF1bHRWaWV3Lmdl
dENvbXB1dGVkU3R5bGUodGV4dCwgbnVsbCkuZm9udFNpemUiLCAiNTBweCIpOworLy8gUmVzZXQg
Zm9udC1zaXplIHRvIDEwMHB4LgordGV4dC5zZXRBdHRyaWJ1dGUoImZvbnQtc2l6ZSIsICIxMDBw
eCIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21w
dXRlZFN0eWxlKHRleHQsIG51bGwpLmZvbnRTaXplIiwgIjEwMHB4Iik7CisKK3RleHQuc2V0QXR0
cmlidXRlKCJmb250LXNpemUiLCAiKzUwMEUtMSIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRleHQsIG51bGwpLmZvbnRTaXpl
IiwgIjUwcHgiKTsKKy8vIFJlc2V0IGZvbnQtc2l6ZSB0byAxMDBweC4KK3RleHQuc2V0QXR0cmli
dXRlKCJmb250LXNpemUiLCAiMTAwcHgiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1l
bnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0LCBudWxsKS5mb250U2l6ZSIsICIx
MDBweCIpOworCit0ZXh0LnNldEF0dHJpYnV0ZSgiZm9udC1zaXplIiwgIis1MDAwLjAwRS0ycHgi
KTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0
ZWRTdHlsZSh0ZXh0LCBudWxsKS5mb250U2l6ZSIsICI1MHB4Iik7CisvLyBSZXNldCBmb250LXNp
emUgdG8gMTAwcHguCit0ZXh0LnNldEF0dHJpYnV0ZSgiZm9udC1zaXplIiwgIjEwMHB4Iik7Citz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5
bGUodGV4dCwgbnVsbCkuZm9udFNpemUiLCAiMTAwcHgiKTsKKwordGV4dC5zZXRBdHRyaWJ1dGUo
ImZvbnQtc2l6ZSIsICIrNTAwRS0xcHgiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1l
bnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0LCBudWxsKS5mb250U2l6ZSIsICI1
MHB4Iik7CisvLyBSZXNldCBmb250LXNpemUgdG8gMTAwcHguCit0ZXh0LnNldEF0dHJpYnV0ZSgi
Zm9udC1zaXplIiwgIjEwMHB4Iik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmRl
ZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCwgbnVsbCkuZm9udFNpemUiLCAiMTAwcHgi
KTsKKworCitkZWJ1ZygiIik7CitkZWJ1ZygiSW52YWxpZCB2YWx1ZXMiKTsKK3RleHQuc2V0QXR0
cmlidXRlKCJmb250LXNpemUiLCAiNTBlMC4wIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Y3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCwgbnVsbCkuZm9udFNpemUi
LCAiMTZweCIpOworLy8gUmVzZXQgZm9udC1zaXplIHRvIDEwMHB4LgordGV4dC5zZXRBdHRyaWJ1
dGUoImZvbnQtc2l6ZSIsICIxMDBweCIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVu
dC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRleHQsIG51bGwpLmZvbnRTaXplIiwgIjEw
MHB4Iik7CisKK3RleHQuc2V0QXR0cmlidXRlKCJmb250LXNpemUiLCAiNTAgZTAiKTsKK3Nob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0
ZXh0LCBudWxsKS5mb250U2l6ZSIsICIxNnB4Iik7CisvLyBSZXNldCBmb250LXNpemUgdG8gMTAw
cHguCit0ZXh0LnNldEF0dHJpYnV0ZSgiZm9udC1zaXplIiwgIjEwMHB4Iik7CitzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCwg
bnVsbCkuZm9udFNpemUiLCAiMTAwcHgiKTsKKwordGV4dC5zZXRBdHRyaWJ1dGUoImZvbnQtc2l6
ZSIsICI1MGUgMCIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5kZWZhdWx0Vmll
dy5nZXRDb21wdXRlZFN0eWxlKHRleHQsIG51bGwpLmZvbnRTaXplIiwgIjE2cHgiKTsKKy8vIFJl
c2V0IGZvbnQtc2l6ZSB0byAxMDBweC4KK3RleHQuc2V0QXR0cmlidXRlKCJmb250LXNpemUiLCAi
MTAwcHgiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0
Q29tcHV0ZWRTdHlsZSh0ZXh0LCBudWxsKS5mb250U2l6ZSIsICIxMDBweCIpOworCit0ZXh0LnNl
dEF0dHJpYnV0ZSgiZm9udC1zaXplIiwgIjUwZTAgcHgiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0LCBudWxsKS5mb250
U2l6ZSIsICIxNnB4Iik7CisvLyBSZXNldCBmb250LXNpemUgdG8gMTAwcHguCit0ZXh0LnNldEF0
dHJpYnV0ZSgiZm9udC1zaXplIiwgIjEwMHB4Iik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Y3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCwgbnVsbCkuZm9udFNpemUi
LCAiMTAwcHgiKTsKKworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKworY29tcGxl
dGVUZXN0KCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>134986</attachid>
            <date>2012-03-31 20:25:49 -0700</date>
            <delta_ts>2012-04-01 08:33:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-52542-20120331202548.patch</filename>
            <type>text/plain</type>
            <size>27196</size>
            <attacher name="Dirk Schulze">krit</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEyNzcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDdhY2Q3OGU5MTgxYTkx
NzJlM2U2M2FmNmM4NDNiYzkwMTdhOWYwNS4uYTZkNTNmMzM4ZjdhOGQ0N2JmNDhkNDkxNjEwNGMx
OTg2MjExZWU0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEyLTAzLTMxICBEaXJr
IFNjaHVsemUgIDxrcml0QHdlYmtpdC5vcmc+CisKKyAgICAgICAgU1ZHIENTUyBwcm9wZXJ0eSB0
eXBlcyB3aXRoIDxudW1iZXI+IGRvbid0IHN1cHBvcnQgZXhwb25lbnRzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MjU0MgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFBhcnNlIG51bWJlcnMgaW4gU1ZHIHBy
ZXNlbnRhdGlvbiBhdHRyaWJ1dGVzIHdpdGggU1ZHIHBhcnNlciB0byBzdXBwb3J0IHNjaWVudGlm
aWMgbm90YXRpb25zLgorICAgICAgICBUaGUgU1ZHIHBhcnNlciBpcyBhbHJlYWR5IHdlbGwgdGVz
dGVkIGFuZCBoYXMgc29tZSBleHRyYSBjaGVja3MgZm9yIGVkZ2UgY2FzZXMgdGhhdCBwcmV2ZW50
CisgICAgICAgIHVzIGUuZyBmb3Igb3ZlcmZsb3dzLgorICAgICAgICAKKyAgICAgICAgVGhlIHBh
dGNoIGlzIGJhc2VkIHVwb24gYSBwYXRjaCBvZiBCZWFyIFRyYXZpcy4KKworICAgICAgICBUZXN0
OiBzdmcvY3NzL3NjaWVudGlmaWMtbnVtYmVycy5odG1sCisKKyAgICAgICAgKiBjc3MvQ1NTUGFy
c2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6bGV4KTogVXNlIFNWRyBwYXJz
ZXIgdG8gcGFyc2UgbnVtYmVycyBvZiBTVkcgYXR0cmlidXRlcy4KKyAgICAgICAgKiBzdmcvU1ZH
UGFyc2VyVXRpbGl0aWVzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnBhcnNlU1ZHTnVtYmVyKTog
QWRkZWQgYWNjZXNzb3IgdG8gY2FsbCBmcm9tIENTU1BhcnNlciB3aXRoIGRvdWJsZSB2YWx1ZS4K
KyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIHN2Zy9TVkdQYXJzZXJVdGlsaXRpZXMuaDoK
KyAgICAgICAgKFdlYkNvcmUpOgorCiAyMDEyLTAzLTMwICBEYW4gQmVybnN0ZWluICA8bWl0ekBh
cHBsZS5jb20+CiAKICAgICAgICAgUmV2ZXJ0ZWQgcjExMjc2NywgYmVjYXVzZSBpdCBjYXVzZWQg
bWFueSB2ZXJ0aWNhbCB0ZXh0IHRlc3RzIHRvIGZhaWwuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3Bw
CmluZGV4IGFlZDQxMzNjNjhlMjczOGQxNzQ2OTZmYzRiYTkyODI3MDNlY2UyOGUuLjBmMzI0NWQx
ZjU0ODM3OGNjNDg4MTdhNjg0ODU0YTI5NjFkYTM0NTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIu
Y3BwCkBAIC03NCw2ICs3NCw5IEBACiAjaW5jbHVkZSAiUGFpci5oIgogI2luY2x1ZGUgIlJlY3Qu
aCIKICNpbmNsdWRlICJSZW5kZXJUaGVtZS5oIgorI2lmIEVOQUJMRShTVkcpCisjaW5jbHVkZSAi
U1ZHUGFyc2VyVXRpbGl0aWVzLmgiCisjZW5kaWYKICNpbmNsdWRlICJTZXR0aW5ncy5oIgogI2lu
Y2x1ZGUgIlNoYWRvd1ZhbHVlLmgiCiAjaW5jbHVkZSAiU3R5bGVQcm9wZXJ0eVNldC5oIgpAQCAt
ODU5Niw3ICs4NTk5LDI1IEBAIHJlc3RhcnRBZnRlckNvbW1lbnQ6CiAgICAgICAgICAgICBicmVh
azsKICAgICAgICAgfQogCi0gICAgICAgIHl5bHZhbC0+bnVtYmVyID0gY2hhcmFjdGVyc1RvRG91
YmxlKG1fdG9rZW5TdGFydCwgbV9jdXJyZW50Q2hhcmFjdGVyIC0gbV90b2tlblN0YXJ0KTsKKyNp
ZiBFTkFCTEUoU1ZHKQorICAgICAgICAvLyBVc2UgU1ZHIHBhcnNlciBmb3IgbnVtYmVycyBvbiBT
VkcgcHJlc2VudGF0aW9uIGF0dHJpYnV0ZXMuCisgICAgICAgIGlmIChtX2Nzc1BhcnNlck1vZGUg
PT0gU1ZHQXR0cmlidXRlTW9kZSkgeworICAgICAgICAgICAgdW5zaWduZWQgb2Zmc2V0ID0gMDsK
KyAgICAgICAgICAgIGlmIChpc0FTQ0lJQWxwaGFDYXNlbGVzc0VxdWFsKCptX2N1cnJlbnRDaGFy
YWN0ZXIsICdlJykpIHsKKyAgICAgICAgICAgICAgICBpZiAobV9jdXJyZW50Q2hhcmFjdGVyWzFd
ID09ICctJyB8fCBtX2N1cnJlbnRDaGFyYWN0ZXJbMV0gPT0gJysnIHx8IGlzQVNDSUlEaWdpdCht
X2N1cnJlbnRDaGFyYWN0ZXJbMV0pKSB7CisgICAgICAgICAgICAgICAgICAgIG9mZnNldCArPSAy
OworICAgICAgICAgICAgICAgICAgICAvLyBVc2UgRkxPQVRUT0tFTiBpZiB3ZSBoYXZlIGV4cG9u
ZW50cy4KKyAgICAgICAgICAgICAgICAgICAgZG90U2VlbiA9IHRydWU7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgICAgIHdoaWxlIChpc0FTQ0lJRGlnaXQobV9jdXJyZW50Q2hhcmFj
dGVyW29mZnNldF0pKQorICAgICAgICAgICAgICAgICAgICArK29mZnNldDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIGlmICghcGFyc2VTVkdOdW1iZXIobV90b2tlblN0YXJ0LCBtX2N1cnJl
bnRDaGFyYWN0ZXIgKyBvZmZzZXQgLSBtX3Rva2VuU3RhcnQsIHl5bHZhbC0+bnVtYmVyKSkKKyAg
ICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIG1fY3VycmVudENoYXJhY3RlciArPSBv
ZmZzZXQ7CisgICAgICAgIH0gZWxzZQorI2VuZGlmCisgICAgICAgICAgICB5eWx2YWwtPm51bWJl
ciA9IGNoYXJhY3RlcnNUb0RvdWJsZShtX3Rva2VuU3RhcnQsIG1fY3VycmVudENoYXJhY3RlciAt
IG1fdG9rZW5TdGFydCk7CiAKICAgICAgICAgLy8gVHlwZSBvZiB0aGUgZnVuY3Rpb24uCiAgICAg
ICAgIGlmIChpc0lkZW50aWZpZXJTdGFydCgpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHUGFyc2VyVXRpbGl0aWVzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXJz
ZXJVdGlsaXRpZXMuY3BwCmluZGV4IGJlMGMyMTk5Yjg4ZWMzYzNmYmM4OTNmMTZiYzc1MzIwNjQz
YTFkM2YuLmFmMTg3OGM0NDA1NTA5OTYxMTUyOWJlOTg2NjE0ODllZTc4YjcyMWYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXJzZXJVdGlsaXRpZXMuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdQYXJzZXJVdGlsaXRpZXMuY3BwCkBAIC0xNDIsNiArMTQyLDE0IEBA
IHRlbXBsYXRlIDx0eXBlbmFtZSBGbG9hdFR5cGU+IHN0YXRpYyBib29sIGdlbmVyaWNQYXJzZU51
bWJlcihjb25zdCBVQ2hhciomIHB0ciwKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorYm9vbCBwYXJz
ZVNWR051bWJlcihVQ2hhciomIGJlZ2luLCBzaXplX3QgbGVuZ3RoLCBkb3VibGUmIG51bWJlcikK
K3sKKyAgICBjb25zdCBVQ2hhciogcHRyID0gYmVnaW47CisgICAgY29uc3QgVUNoYXIqIGVuZCA9
IHB0ciArIGxlbmd0aDsKKyAgICByZXR1cm4gZ2VuZXJpY1BhcnNlTnVtYmVyKHB0ciwgZW5kLCBu
dW1iZXIsIGZhbHNlKTsKK30KKworCiBib29sIHBhcnNlTnVtYmVyKGNvbnN0IFVDaGFyKiYgcHRy
LCBjb25zdCBVQ2hhciogZW5kLCBmbG9hdCYgbnVtYmVyLCBib29sIHNraXApIAogewogICAgIHJl
dHVybiBnZW5lcmljUGFyc2VOdW1iZXIocHRyLCBlbmQsIG51bWJlciwgc2tpcCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGFyc2VyVXRpbGl0aWVzLmggYi9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHUGFyc2VyVXRpbGl0aWVzLmgKaW5kZXggYWQzNWEwN2JhM2FiODFkZmQzZWE0
MjQyMjcyOWZhMTNmYzE2YWUzOS4uZTFiYTBjOGM5NTAwM2QwZjczMDU4ZmY5NGZmYjMzYTc1ZDE2
NzZmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhcnNlclV0aWxpdGllcy5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXJzZXJVdGlsaXRpZXMuaApAQCAtMzMsNiAr
MzMsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBGbG9hdFJlY3Q7CiBjbGFzcyBTVkdQ
b2ludExpc3Q7CiAKK2Jvb2wgcGFyc2VTVkdOdW1iZXIoVUNoYXIqJiBwdHIsIHNpemVfdCBsZW5n
dGgsIGRvdWJsZSYgbnVtYmVyKTsKIGJvb2wgcGFyc2VOdW1iZXIoY29uc3QgVUNoYXIqJiBwdHIs
IGNvbnN0IFVDaGFyKiBlbmQsIGZsb2F0JiBudW1iZXIsIGJvb2wgc2tpcCA9IHRydWUpOwogYm9v
bCBwYXJzZU51bWJlckZyb21TdHJpbmcoY29uc3QgU3RyaW5nJiwgZmxvYXQmIG51bWJlciwgYm9v
bCBza2lwID0gdHJ1ZSk7CiBib29sIHBhcnNlTnVtYmVyT3B0aW9uYWxOdW1iZXIoY29uc3QgU3Ry
aW5nJiBzLCBmbG9hdCYgaCwgZmxvYXQmIHYpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDA2OWZiOTVhOWVjNzQyNDNkOTVk
NWIzMjU0NTg1YjZkZDAzZTJiNjEuLmYwNWIyOTg1NjIxNWRjMzZmYjE0NjY2NTE5MGUyZTliMmIz
MGU3MzAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMi0wMy0zMSAgRGlyayBTY2h1bHplICA8
a3JpdEB3ZWJraXQub3JnPgorCisgICAgICAgIFNWRyBDU1MgcHJvcGVydHkgdHlwZXMgd2l0aCA8
bnVtYmVyPiBkb24ndCBzdXBwb3J0IGV4cG9uZW50cworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTI1NDIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0IHNjaWVudGlmaWMgbnVtYmVyIHZhbHVlcyBvbiBT
VkcgcHJlc2VudGF0aW9uIGF0dHJpYnV0ZXMuCisKKyAgICAgICAgKiBzdmcvY3NzL3NjaWVudGlm
aWMtbnVtYmVycy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN2Zy9jc3Mvc2NpZW50
aWZpYy1udW1iZXJzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHN2Zy9jc3Mvc2NyaXB0LXRlc3Rz
L3NjaWVudGlmaWMtbnVtYmVycy5qczogQWRkZWQuCisKIDIwMTItMDMtMzAgIERhbiBCZXJuc3Rl
aW4gIDxtaXR6QGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZlcnRlZCByMTEyNzY3LCBiZWNhdXNl
IGl0IGNhdXNlZCBtYW55IHZlcnRpY2FsIHRleHQgdGVzdHMgdG8gZmFpbC4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3N2Zy9jc3Mvc2NpZW50aWZpYy1udW1iZXJzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL3N2Zy9jc3Mvc2NpZW50aWZpYy1udW1iZXJzLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xYzgxMDMzZDMxYzcxOTg0YWFhZjg1NGUzYzAxOWQ2NzQxOTMyYjA5Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2Nzcy9zY2llbnRpZmljLW51bWJlcnMtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTE2IEBACitUZXN0IHNjaWVudGlmaWMgbnVtYmVycyBvbiB2YWx1ZXMg
Zm9yIFNWRyBwcmVzZW50YXRpb24gYXR0cmlidXRlcy4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCisKK1Rlc3QgZGVmYXVsdCBmb250LXNpemUgb2YgJzE2cHgnCitQQVNTIGRvY3VtZW50
LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCkuZm9udFNpemUgaXMgIjE2cHgiCitQ
QVNTIGRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCkuZm9udFNpemUg
aXMgIjEwMHB4IgorCitUZXN0IHBvc2l0aXZlIGV4cG9uZW50IHZhbHVlcyB3aXRoICdlJworUEFT
UyBkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRleHQpLmZvbnRTaXplIGlz
ICI1MHB4IgorUEFTUyBkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRleHQp
LmZvbnRTaXplIGlzICIxMDBweCIKK1BBU1MgZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0
ZWRTdHlsZSh0ZXh0KS5mb250U2l6ZSBpcyAiNTBweCIKK1BBU1MgZG9jdW1lbnQuZGVmYXVsdFZp
ZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5mb250U2l6ZSBpcyAiMTAwcHgiCitQQVNTIGRvY3Vt
ZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCkuZm9udFNpemUgaXMgIjUwcHgi
CitQQVNTIGRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCkuZm9udFNp
emUgaXMgIjEwMHB4IgorUEFTUyBkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxl
KHRleHQpLmZvbnRTaXplIGlzICI1MHB4IgorUEFTUyBkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRD
b21wdXRlZFN0eWxlKHRleHQpLmZvbnRTaXplIGlzICIxMDBweCIKK1BBU1MgZG9jdW1lbnQuZGVm
YXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5mb250U2l6ZSBpcyAiNTBweCIKK1BBU1Mg
ZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5mb250U2l6ZSBpcyAi
MTAwcHgiCitQQVNTIGRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCku
Zm9udFNpemUgaXMgIjUwcHgiCitQQVNTIGRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVk
U3R5bGUodGV4dCkuZm9udFNpemUgaXMgIjEwMHB4IgorUEFTUyBkb2N1bWVudC5kZWZhdWx0Vmll
dy5nZXRDb21wdXRlZFN0eWxlKHRleHQpLmZvbnRTaXplIGlzICI1MHB4IgorUEFTUyBkb2N1bWVu
dC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRleHQpLmZvbnRTaXplIGlzICIxMDBweCIK
K1BBU1MgZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5mb250U2l6
ZSBpcyAiNTBweCIKK1BBU1MgZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0
ZXh0KS5mb250U2l6ZSBpcyAiMTAwcHgiCitQQVNTIGRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENv
bXB1dGVkU3R5bGUodGV4dCkuZm9udFNpemUgaXMgIjUwcHgiCitQQVNTIGRvY3VtZW50LmRlZmF1
bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCkuZm9udFNpemUgaXMgIjEwMHB4IgorCitUZXN0
IHBvc2l0aXZlIGV4cG9uZW50IHZhbHVlcyB3aXRoICdFJworUEFTUyBkb2N1bWVudC5kZWZhdWx0
Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRleHQpLmZvbnRTaXplIGlzICI1MHB4IgorUEFTUyBkb2N1
bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRleHQpLmZvbnRTaXplIGlzICIxMDBw
eCIKK1BBU1MgZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5mb250
U2l6ZSBpcyAiNTBweCIKK1BBU1MgZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHls
ZSh0ZXh0KS5mb250U2l6ZSBpcyAiMTAwcHgiCitQQVNTIGRvY3VtZW50LmRlZmF1bHRWaWV3Lmdl
dENvbXB1dGVkU3R5bGUodGV4dCkuZm9udFNpemUgaXMgIjUwcHgiCitQQVNTIGRvY3VtZW50LmRl
ZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCkuZm9udFNpemUgaXMgIjEwMHB4IgorUEFT
UyBkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRleHQpLmZvbnRTaXplIGlz
ICI1MHB4IgorUEFTUyBkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRleHQp
LmZvbnRTaXplIGlzICIxMDBweCIKK1BBU1MgZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0
ZWRTdHlsZSh0ZXh0KS5mb250U2l6ZSBpcyAiNTBweCIKK1BBU1MgZG9jdW1lbnQuZGVmYXVsdFZp
ZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5mb250U2l6ZSBpcyAiMTAwcHgiCitQQVNTIGRvY3Vt
ZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCkuZm9udFNpemUgaXMgIjUwcHgi
CitQQVNTIGRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCkuZm9udFNp
emUgaXMgIjEwMHB4IgorUEFTUyBkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxl
KHRleHQpLmZvbnRTaXplIGlzICI1MHB4IgorUEFTUyBkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRD
b21wdXRlZFN0eWxlKHRleHQpLmZvbnRTaXplIGlzICIxMDBweCIKK1BBU1MgZG9jdW1lbnQuZGVm
YXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5mb250U2l6ZSBpcyAiNTBweCIKK1BBU1Mg
ZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5mb250U2l6ZSBpcyAi
MTAwcHgiCitQQVNTIGRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCku
Zm9udFNpemUgaXMgIjUwcHgiCitQQVNTIGRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVk
U3R5bGUodGV4dCkuZm9udFNpemUgaXMgIjEwMHB4IgorCitUZXN0IG5lZ2F0aXZlIGV4cG9uZW50
IHZhbHVlcyB3aXRoICdlJworUEFTUyBkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0
eWxlKHRleHQpLmZvbnRTaXplIGlzICI1MHB4IgorUEFTUyBkb2N1bWVudC5kZWZhdWx0Vmlldy5n
ZXRDb21wdXRlZFN0eWxlKHRleHQpLmZvbnRTaXplIGlzICIxMDBweCIKK1BBU1MgZG9jdW1lbnQu
ZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5mb250U2l6ZSBpcyAiNTBweCIKK1BB
U1MgZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5mb250U2l6ZSBp
cyAiMTAwcHgiCitQQVNTIGRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4
dCkuZm9udFNpemUgaXMgIjUwcHgiCitQQVNTIGRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1
dGVkU3R5bGUodGV4dCkuZm9udFNpemUgaXMgIjEwMHB4IgorUEFTUyBkb2N1bWVudC5kZWZhdWx0
Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRleHQpLmZvbnRTaXplIGlzICI1MHB4IgorUEFTUyBkb2N1
bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRleHQpLmZvbnRTaXplIGlzICIxMDBw
eCIKK1BBU1MgZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5mb250
U2l6ZSBpcyAiNTBweCIKK1BBU1MgZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHls
ZSh0ZXh0KS5mb250U2l6ZSBpcyAiMTAwcHgiCitQQVNTIGRvY3VtZW50LmRlZmF1bHRWaWV3Lmdl
dENvbXB1dGVkU3R5bGUodGV4dCkuZm9udFNpemUgaXMgIjUwcHgiCitQQVNTIGRvY3VtZW50LmRl
ZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCkuZm9udFNpemUgaXMgIjEwMHB4IgorCitU
ZXN0IG5lZ2F0aXZlIGV4cG9uZW50IHZhbHVlcyB3aXRoICdFJworUEFTUyBkb2N1bWVudC5kZWZh
dWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRleHQpLmZvbnRTaXplIGlzICI1MHB4IgorUEFTUyBk
b2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRleHQpLmZvbnRTaXplIGlzICIx
MDBweCIKK1BBU1MgZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5m
b250U2l6ZSBpcyAiNTBweCIKK1BBU1MgZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRT
dHlsZSh0ZXh0KS5mb250U2l6ZSBpcyAiMTAwcHgiCitQQVNTIGRvY3VtZW50LmRlZmF1bHRWaWV3
LmdldENvbXB1dGVkU3R5bGUodGV4dCkuZm9udFNpemUgaXMgIjUwcHgiCitQQVNTIGRvY3VtZW50
LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCkuZm9udFNpemUgaXMgIjEwMHB4Igor
UEFTUyBkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRleHQpLmZvbnRTaXpl
IGlzICI1MHB4IgorUEFTUyBkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRl
eHQpLmZvbnRTaXplIGlzICIxMDBweCIKK1BBU1MgZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29t
cHV0ZWRTdHlsZSh0ZXh0KS5mb250U2l6ZSBpcyAiNTBweCIKK1BBU1MgZG9jdW1lbnQuZGVmYXVs
dFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5mb250U2l6ZSBpcyAiMTAwcHgiCitQQVNTIGRv
Y3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCkuZm9udFNpemUgaXMgIjUw
cHgiCitQQVNTIGRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCkuZm9u
dFNpemUgaXMgIjEwMHB4IgorCitUZXN0IG5lZ2F0aXZlIG51bWJlcnMgd2l0aCBleHBvbmVudHMK
K1BBU1MgZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5iYXNlbGlu
ZVNoaWZ0IGlzICItNTBweCIKK1BBU1MgZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRT
dHlsZSh0ZXh0KS5iYXNlbGluZVNoaWZ0IGlzICIxMDBweCIKK1BBU1MgZG9jdW1lbnQuZGVmYXVs
dFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5iYXNlbGluZVNoaWZ0IGlzICItNTBweCIKK1BB
U1MgZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5iYXNlbGluZVNo
aWZ0IGlzICIxMDBweCIKK1BBU1MgZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHls
ZSh0ZXh0KS5iYXNlbGluZVNoaWZ0IGlzICItNTBweCIKK1BBU1MgZG9jdW1lbnQuZGVmYXVsdFZp
ZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5iYXNlbGluZVNoaWZ0IGlzICIxMDBweCIKKworVGVz
dCBpZiB2YWx1ZSBhbmQgJ2VtJyBzdGlsbCB3b3JrcworUEFTUyBkb2N1bWVudC5kZWZhdWx0Vmll
dy5nZXRDb21wdXRlZFN0eWxlKHRleHQpLmJhc2VsaW5lU2hpZnQgaXMgIjUwZW0iCitQQVNTIGRv
Y3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCkuYmFzZWxpbmVTaGlmdCBp
cyAiMTAwcHgiCisKK1RyYWlsaW5nIGFuZCBsZWFkaW5nIHdoaXRlc3BhY2VzCitQQVNTIGRvY3Vt
ZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCkuZm9udFNpemUgaXMgIjUwcHgi
CitQQVNTIGRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCkuZm9udFNp
emUgaXMgIjEwMHB4IgorUEFTUyBkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxl
KHRleHQpLmZvbnRTaXplIGlzICI1MHB4IgorUEFTUyBkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRD
b21wdXRlZFN0eWxlKHRleHQpLmZvbnRTaXplIGlzICIxMDBweCIKKworVGVzdCBiZWhhdmlvciBv
biBvdmVyZmxvdworUEFTUyBkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRl
eHQpLmJhc2VsaW5lU2hpZnQgaXMgImJhc2VsaW5lIgorUEFTUyBkb2N1bWVudC5kZWZhdWx0Vmll
dy5nZXRDb21wdXRlZFN0eWxlKHRleHQpLmJhc2VsaW5lU2hpZnQgaXMgIjEwMHB4IgorUEFTUyBk
b2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRleHQpLmJhc2VsaW5lU2hpZnQg
aXMgImJhc2VsaW5lIgorUEFTUyBkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxl
KHRleHQpLmJhc2VsaW5lU2hpZnQgaXMgIjEwMHB4IgorCitJbnZhbGlkIHZhbHVlcworUEFTUyBk
b2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRleHQpLmZvbnRTaXplIGlzICIx
NnB4IgorUEFTUyBkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRleHQpLmZv
bnRTaXplIGlzICIxMDBweCIKK1BBU1MgZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRT
dHlsZSh0ZXh0KS5mb250U2l6ZSBpcyAiMTZweCIKK1BBU1MgZG9jdW1lbnQuZGVmYXVsdFZpZXcu
Z2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5mb250U2l6ZSBpcyAiMTAwcHgiCitQQVNTIGRvY3VtZW50
LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCkuZm9udFNpemUgaXMgIjE2cHgiCitQ
QVNTIGRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCkuZm9udFNpemUg
aXMgIjEwMHB4IgorUEFTUyBkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRl
eHQpLmZvbnRTaXplIGlzICIxNnB4IgorUEFTUyBkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21w
dXRlZFN0eWxlKHRleHQpLmZvbnRTaXplIGlzICIxMDBweCIKK1BBU1MgZG9jdW1lbnQuZGVmYXVs
dFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5mb250U2l6ZSBpcyAiMTZweCIKK1BBU1MgZG9j
dW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5mb250U2l6ZSBpcyAiMTAw
cHgiCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2Nzcy9zY2llbnRpZmljLW51bWJlcnMuaHRtbCBi
L0xheW91dFRlc3RzL3N2Zy9jc3Mvc2NpZW50aWZpYy1udW1iZXJzLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YWNkMmY2ZTNhNGY1MTk3YzY5M2I4M2VkMjUyYTdmNjdmZWU5OWJlYwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3N2Zy9jc3Mvc2NpZW50aWZpYy1udW1iZXJzLmh0bWwKQEAgLTAsMCAr
MSwxMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3N2Zy9keW5hbWljLXVwZGF0ZXMvcmVzb3VyY2VzL1NWR1Rlc3RDYXNlLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL3NjaWVudGlm
aWMtbnVtYmVycy5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9zdmcvY3NzL3NjcmlwdC10ZXN0cy9zY2llbnRpZmljLW51bWJlcnMuanMgYi9M
YXlvdXRUZXN0cy9zdmcvY3NzL3NjcmlwdC10ZXN0cy9zY2llbnRpZmljLW51bWJlcnMuanMKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjAxM2I1ZmU2MmJmMWJiZGY5MDIwZmVmYzNkZGZhOGMzNDlkNTk0NQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3N2Zy9jc3Mvc2NyaXB0LXRlc3RzL3NjaWVudGlmaWMt
bnVtYmVycy5qcwpAQCAtMCwwICsxLDMwNiBAQAorZGVzY3JpcHRpb24oIlRlc3Qgc2NpZW50aWZp
YyBudW1iZXJzIG9uIDxsZW5ndGg+IHZhbHVlcyBmb3IgU1ZHIHByZXNlbnRhdGlvbiBhdHRyaWJ1
dGVzLiIpCitjcmVhdGVTVkdUZXN0Q2FzZSgpOworCit2YXIgdGV4dCA9IGNyZWF0ZVNWR0VsZW1l
bnQoInRleHQiKTsKK3RleHQuc2V0QXR0cmlidXRlKCJpZCIsICJ0ZXh0Iik7Cit0ZXh0LnNldEF0
dHJpYnV0ZSgieCIsICIxMDBweCIpOwordGV4dC5zZXRBdHRyaWJ1dGUoInkiLCAiMTAwcHgiKTsK
K3Jvb3RTVkdFbGVtZW50LmFwcGVuZENoaWxkKHRleHQpOworCisKKy8vIFRlc3RpbmcgPGxlbmd0
aD4gdmFsdWVzIGZvciAnZm9udC1zaXplJworZGVidWcoIlRlc3QgZGVmYXVsdCBmb250LXNpemUg
b2YgJzE2cHgnIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmRlZmF1bHRWaWV3
LmdldENvbXB1dGVkU3R5bGUodGV4dCkuZm9udFNpemUiLCAiMTZweCIpOworCit0ZXh0LnNldEF0
dHJpYnV0ZSgiZm9udC1zaXplIiwgIjEwMHB4Iik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Y3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCkuZm9udFNpemUiLCAiMTAw
cHgiKTsKKworCitkZWJ1ZygiIik7CitkZWJ1ZygiVGVzdCBwb3NpdGl2ZSBleHBvbmVudCB2YWx1
ZXMgd2l0aCAnZSciKTsKK3RleHQuc2V0QXR0cmlidXRlKCJmb250LXNpemUiLCAiLjVlMiIpOwor
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0
eWxlKHRleHQpLmZvbnRTaXplIiwgIjUwcHgiKTsKKy8vIFJlc2V0IGZvbnQtc2l6ZSB0byAxMDBw
eC4KK3RleHQuc2V0QXR0cmlidXRlKCJmb250LXNpemUiLCAiMTAwcHgiKTsKK3Nob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5m
b250U2l6ZSIsICIxMDBweCIpOworCit0ZXh0LnNldEF0dHJpYnV0ZSgiZm9udC1zaXplIiwgIjVl
MSIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21w
dXRlZFN0eWxlKHRleHQpLmZvbnRTaXplIiwgIjUwcHgiKTsKKy8vIFJlc2V0IGZvbnQtc2l6ZSB0
byAxMDBweC4KK3RleHQuc2V0QXR0cmlidXRlKCJmb250LXNpemUiLCAiMTAwcHgiKTsKK3Nob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0
ZXh0KS5mb250U2l6ZSIsICIxMDBweCIpOworCit0ZXh0LnNldEF0dHJpYnV0ZSgiZm9udC1zaXpl
IiwgIjAuNWUyIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmRlZmF1bHRWaWV3
LmdldENvbXB1dGVkU3R5bGUodGV4dCkuZm9udFNpemUiLCAiNTBweCIpOworLy8gUmVzZXQgZm9u
dC1zaXplIHRvIDEwMHB4LgordGV4dC5zZXRBdHRyaWJ1dGUoImZvbnQtc2l6ZSIsICIxMDBweCIp
Oworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRl
ZFN0eWxlKHRleHQpLmZvbnRTaXplIiwgIjEwMHB4Iik7CisKK3RleHQuc2V0QXR0cmlidXRlKCJm
b250LXNpemUiLCAiKy41ZTIiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1lbnQuZGVm
YXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5mb250U2l6ZSIsICI1MHB4Iik7CisvLyBS
ZXNldCBmb250LXNpemUgdG8gMTAwcHguCit0ZXh0LnNldEF0dHJpYnV0ZSgiZm9udC1zaXplIiwg
IjEwMHB4Iik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmRlZmF1bHRWaWV3Lmdl
dENvbXB1dGVkU3R5bGUodGV4dCkuZm9udFNpemUiLCAiMTAwcHgiKTsKKwordGV4dC5zZXRBdHRy
aWJ1dGUoImZvbnQtc2l6ZSIsICIrNWUxIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3Vt
ZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCkuZm9udFNpemUiLCAiNTBweCIp
OworLy8gUmVzZXQgZm9udC1zaXplIHRvIDEwMHB4LgordGV4dC5zZXRBdHRyaWJ1dGUoImZvbnQt
c2l6ZSIsICIxMDBweCIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5kZWZhdWx0
Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRleHQpLmZvbnRTaXplIiwgIjEwMHB4Iik7CisKK3RleHQu
c2V0QXR0cmlidXRlKCJmb250LXNpemUiLCAiKzAuNWUyIik7CitzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCkuZm9udFNpemUi
LCAiNTBweCIpOworLy8gUmVzZXQgZm9udC1zaXplIHRvIDEwMHB4LgordGV4dC5zZXRBdHRyaWJ1
dGUoImZvbnQtc2l6ZSIsICIxMDBweCIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVu
dC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRleHQpLmZvbnRTaXplIiwgIjEwMHB4Iik7
CisKK3RleHQuc2V0QXR0cmlidXRlKCJmb250LXNpemUiLCAiLjVlKzIiKTsKK3Nob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5m
b250U2l6ZSIsICI1MHB4Iik7CisvLyBSZXNldCBmb250LXNpemUgdG8gMTAwcHguCit0ZXh0LnNl
dEF0dHJpYnV0ZSgiZm9udC1zaXplIiwgIjEwMHB4Iik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCkuZm9udFNpemUiLCAi
MTAwcHgiKTsKKwordGV4dC5zZXRBdHRyaWJ1dGUoImZvbnQtc2l6ZSIsICI1ZSsxIik7CitzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUo
dGV4dCkuZm9udFNpemUiLCAiNTBweCIpOworLy8gUmVzZXQgZm9udC1zaXplIHRvIDEwMHB4Lgor
dGV4dC5zZXRBdHRyaWJ1dGUoImZvbnQtc2l6ZSIsICIxMDBweCIpOworc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRleHQpLmZvbnRT
aXplIiwgIjEwMHB4Iik7CisKK3RleHQuc2V0QXR0cmlidXRlKCJmb250LXNpemUiLCAiMC41ZSsy
Iik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1
dGVkU3R5bGUodGV4dCkuZm9udFNpemUiLCAiNTBweCIpOworLy8gUmVzZXQgZm9udC1zaXplIHRv
IDEwMHB4LgordGV4dC5zZXRBdHRyaWJ1dGUoImZvbnQtc2l6ZSIsICIxMDBweCIpOworc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRl
eHQpLmZvbnRTaXplIiwgIjEwMHB4Iik7CisKKworZGVidWcoIiIpOworZGVidWcoIlRlc3QgcG9z
aXRpdmUgZXhwb25lbnQgdmFsdWVzIHdpdGggJ0UnIik7Cit0ZXh0LnNldEF0dHJpYnV0ZSgiZm9u
dC1zaXplIiwgIi41RTIiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1lbnQuZGVmYXVs
dFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5mb250U2l6ZSIsICI1MHB4Iik7CisvLyBSZXNl
dCBmb250LXNpemUgdG8gMTAwcHguCit0ZXh0LnNldEF0dHJpYnV0ZSgiZm9udC1zaXplIiwgIjEw
MHB4Iik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENv
bXB1dGVkU3R5bGUodGV4dCkuZm9udFNpemUiLCAiMTAwcHgiKTsKKwordGV4dC5zZXRBdHRyaWJ1
dGUoImZvbnQtc2l6ZSIsICI1RTEiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1lbnQu
ZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5mb250U2l6ZSIsICI1MHB4Iik7Cisv
LyBSZXNldCBmb250LXNpemUgdG8gMTAwcHguCit0ZXh0LnNldEF0dHJpYnV0ZSgiZm9udC1zaXpl
IiwgIjEwMHB4Iik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmRlZmF1bHRWaWV3
LmdldENvbXB1dGVkU3R5bGUodGV4dCkuZm9udFNpemUiLCAiMTAwcHgiKTsKKwordGV4dC5zZXRB
dHRyaWJ1dGUoImZvbnQtc2l6ZSIsICIwLjVFMiIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRleHQpLmZvbnRTaXplIiwgIjUw
cHgiKTsKKy8vIFJlc2V0IGZvbnQtc2l6ZSB0byAxMDBweC4KK3RleHQuc2V0QXR0cmlidXRlKCJm
b250LXNpemUiLCAiMTAwcHgiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1lbnQuZGVm
YXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5mb250U2l6ZSIsICIxMDBweCIpOworCit0
ZXh0LnNldEF0dHJpYnV0ZSgiZm9udC1zaXplIiwgIisuNUUyIik7CitzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCkuZm9udFNp
emUiLCAiNTBweCIpOworLy8gUmVzZXQgZm9udC1zaXplIHRvIDEwMHB4LgordGV4dC5zZXRBdHRy
aWJ1dGUoImZvbnQtc2l6ZSIsICIxMDBweCIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1
bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRleHQpLmZvbnRTaXplIiwgIjEwMHB4
Iik7CisKK3RleHQuc2V0QXR0cmlidXRlKCJmb250LXNpemUiLCAiKzVFMSIpOworc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRleHQp
LmZvbnRTaXplIiwgIjUwcHgiKTsKKy8vIFJlc2V0IGZvbnQtc2l6ZSB0byAxMDBweC4KK3RleHQu
c2V0QXR0cmlidXRlKCJmb250LXNpemUiLCAiMTAwcHgiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5mb250U2l6ZSIs
ICIxMDBweCIpOworCit0ZXh0LnNldEF0dHJpYnV0ZSgiZm9udC1zaXplIiwgIiswLjVFMiIpOwor
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0
eWxlKHRleHQpLmZvbnRTaXplIiwgIjUwcHgiKTsKKy8vIFJlc2V0IGZvbnQtc2l6ZSB0byAxMDBw
eC4KK3RleHQuc2V0QXR0cmlidXRlKCJmb250LXNpemUiLCAiMTAwcHgiKTsKK3Nob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5m
b250U2l6ZSIsICIxMDBweCIpOworCit0ZXh0LnNldEF0dHJpYnV0ZSgiZm9udC1zaXplIiwgIi41
RSsyIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENv
bXB1dGVkU3R5bGUodGV4dCkuZm9udFNpemUiLCAiNTBweCIpOworLy8gUmVzZXQgZm9udC1zaXpl
IHRvIDEwMHB4LgordGV4dC5zZXRBdHRyaWJ1dGUoImZvbnQtc2l6ZSIsICIxMDBweCIpOworc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxl
KHRleHQpLmZvbnRTaXplIiwgIjEwMHB4Iik7CisKK3RleHQuc2V0QXR0cmlidXRlKCJmb250LXNp
emUiLCAiNUUrMSIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5kZWZhdWx0Vmll
dy5nZXRDb21wdXRlZFN0eWxlKHRleHQpLmZvbnRTaXplIiwgIjUwcHgiKTsKKy8vIFJlc2V0IGZv
bnQtc2l6ZSB0byAxMDBweC4KK3RleHQuc2V0QXR0cmlidXRlKCJmb250LXNpemUiLCAiMTAwcHgi
KTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0
ZWRTdHlsZSh0ZXh0KS5mb250U2l6ZSIsICIxMDBweCIpOworCit0ZXh0LnNldEF0dHJpYnV0ZSgi
Zm9udC1zaXplIiwgIjAuNUUrMiIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5k
ZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRleHQpLmZvbnRTaXplIiwgIjUwcHgiKTsKKy8v
IFJlc2V0IGZvbnQtc2l6ZSB0byAxMDBweC4KK3RleHQuc2V0QXR0cmlidXRlKCJmb250LXNpemUi
LCAiMTAwcHgiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1lbnQuZGVmYXVsdFZpZXcu
Z2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5mb250U2l6ZSIsICIxMDBweCIpOworCisKK2RlYnVnKCIi
KTsKK2RlYnVnKCJUZXN0IG5lZ2F0aXZlIGV4cG9uZW50IHZhbHVlcyB3aXRoICdlJyIpOwordGV4
dC5zZXRBdHRyaWJ1dGUoImZvbnQtc2l6ZSIsICI1MDAwZS0yIik7CitzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCkuZm9udFNp
emUiLCAiNTBweCIpOworLy8gUmVzZXQgZm9udC1zaXplIHRvIDEwMHB4LgordGV4dC5zZXRBdHRy
aWJ1dGUoImZvbnQtc2l6ZSIsICIxMDBweCIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1
bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRleHQpLmZvbnRTaXplIiwgIjEwMHB4
Iik7CisKK3RleHQuc2V0QXR0cmlidXRlKCJmb250LXNpemUiLCAiNTAwZS0xIik7CitzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4
dCkuZm9udFNpemUiLCAiNTBweCIpOworLy8gUmVzZXQgZm9udC1zaXplIHRvIDEwMHB4LgordGV4
dC5zZXRBdHRyaWJ1dGUoImZvbnQtc2l6ZSIsICIxMDBweCIpOworc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRleHQpLmZvbnRTaXpl
IiwgIjEwMHB4Iik7CisKK3RleHQuc2V0QXR0cmlidXRlKCJmb250LXNpemUiLCAiKzUwMDBlLTIi
KTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0
ZWRTdHlsZSh0ZXh0KS5mb250U2l6ZSIsICI1MHB4Iik7CisvLyBSZXNldCBmb250LXNpemUgdG8g
MTAwcHguCit0ZXh0LnNldEF0dHJpYnV0ZSgiZm9udC1zaXplIiwgIjEwMHB4Iik7CitzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4
dCkuZm9udFNpemUiLCAiMTAwcHgiKTsKKwordGV4dC5zZXRBdHRyaWJ1dGUoImZvbnQtc2l6ZSIs
ICIrNTAwZS0xIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmRlZmF1bHRWaWV3
LmdldENvbXB1dGVkU3R5bGUodGV4dCkuZm9udFNpemUiLCAiNTBweCIpOworLy8gUmVzZXQgZm9u
dC1zaXplIHRvIDEwMHB4LgordGV4dC5zZXRBdHRyaWJ1dGUoImZvbnQtc2l6ZSIsICIxMDBweCIp
Oworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRl
ZFN0eWxlKHRleHQpLmZvbnRTaXplIiwgIjEwMHB4Iik7CisKK3RleHQuc2V0QXR0cmlidXRlKCJm
b250LXNpemUiLCAiKzUwMDBlLTJweCIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVu
dC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRleHQpLmZvbnRTaXplIiwgIjUwcHgiKTsK
Ky8vIFJlc2V0IGZvbnQtc2l6ZSB0byAxMDBweC4KK3RleHQuc2V0QXR0cmlidXRlKCJmb250LXNp
emUiLCAiMTAwcHgiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1lbnQuZGVmYXVsdFZp
ZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5mb250U2l6ZSIsICIxMDBweCIpOworCit0ZXh0LnNl
dEF0dHJpYnV0ZSgiZm9udC1zaXplIiwgIis1MDBlLTFweCIpOworc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRleHQpLmZvbnRTaXpl
IiwgIjUwcHgiKTsKKy8vIFJlc2V0IGZvbnQtc2l6ZSB0byAxMDBweC4KK3RleHQuc2V0QXR0cmli
dXRlKCJmb250LXNpemUiLCAiMTAwcHgiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1l
bnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5mb250U2l6ZSIsICIxMDBweCIp
OworCisKK2RlYnVnKCIiKTsKK2RlYnVnKCJUZXN0IG5lZ2F0aXZlIGV4cG9uZW50IHZhbHVlcyB3
aXRoICdFJyIpOwordGV4dC5zZXRBdHRyaWJ1dGUoImZvbnQtc2l6ZSIsICI1MDAwRS0yIik7Citz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5
bGUodGV4dCkuZm9udFNpemUiLCAiNTBweCIpOworLy8gUmVzZXQgZm9udC1zaXplIHRvIDEwMHB4
LgordGV4dC5zZXRBdHRyaWJ1dGUoImZvbnQtc2l6ZSIsICIxMDBweCIpOworc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRleHQpLmZv
bnRTaXplIiwgIjEwMHB4Iik7CisKK3RleHQuc2V0QXR0cmlidXRlKCJmb250LXNpemUiLCAiNTAw
RS0xIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENv
bXB1dGVkU3R5bGUodGV4dCkuZm9udFNpemUiLCAiNTBweCIpOworLy8gUmVzZXQgZm9udC1zaXpl
IHRvIDEwMHB4LgordGV4dC5zZXRBdHRyaWJ1dGUoImZvbnQtc2l6ZSIsICIxMDBweCIpOworc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxl
KHRleHQpLmZvbnRTaXplIiwgIjEwMHB4Iik7CisKK3RleHQuc2V0QXR0cmlidXRlKCJmb250LXNp
emUiLCAiKzUwMDBFLTIiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1lbnQuZGVmYXVs
dFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5mb250U2l6ZSIsICI1MHB4Iik7CisvLyBSZXNl
dCBmb250LXNpemUgdG8gMTAwcHguCit0ZXh0LnNldEF0dHJpYnV0ZSgiZm9udC1zaXplIiwgIjEw
MHB4Iik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENv
bXB1dGVkU3R5bGUodGV4dCkuZm9udFNpemUiLCAiMTAwcHgiKTsKKwordGV4dC5zZXRBdHRyaWJ1
dGUoImZvbnQtc2l6ZSIsICIrNTAwRS0xIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3Vt
ZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCkuZm9udFNpemUiLCAiNTBweCIp
OworLy8gUmVzZXQgZm9udC1zaXplIHRvIDEwMHB4LgordGV4dC5zZXRBdHRyaWJ1dGUoImZvbnQt
c2l6ZSIsICIxMDBweCIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5kZWZhdWx0
Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRleHQpLmZvbnRTaXplIiwgIjEwMHB4Iik7CisKK3RleHQu
c2V0QXR0cmlidXRlKCJmb250LXNpemUiLCAiKzUwMDAuMDBFLTJweCIpOworc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRleHQpLmZv
bnRTaXplIiwgIjUwcHgiKTsKKy8vIFJlc2V0IGZvbnQtc2l6ZSB0byAxMDBweC4KK3RleHQuc2V0
QXR0cmlidXRlKCJmb250LXNpemUiLCAiMTAwcHgiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5mb250U2l6ZSIsICIx
MDBweCIpOworCit0ZXh0LnNldEF0dHJpYnV0ZSgiZm9udC1zaXplIiwgIis1MDBFLTFweCIpOwor
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0
eWxlKHRleHQpLmZvbnRTaXplIiwgIjUwcHgiKTsKKy8vIFJlc2V0IGZvbnQtc2l6ZSB0byAxMDBw
eC4KK3RleHQuc2V0QXR0cmlidXRlKCJmb250LXNpemUiLCAiMTAwcHgiKTsKK3Nob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5m
b250U2l6ZSIsICIxMDBweCIpOworCisKK2RlYnVnKCIiKTsKK2RlYnVnKCJUZXN0IG5lZ2F0aXZl
IG51bWJlcnMgd2l0aCBleHBvbmVudHMiKTsKK3RleHQuc2V0QXR0cmlidXRlKCJiYXNlbGluZS1z
aGlmdCIsICItLjVlMnB4Iik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmRlZmF1
bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCkuYmFzZWxpbmVTaGlmdCIsICItNTBweCIpOwor
Ly8gUmVzZXQgYmFzZWxpbmUtc2hpZnQgdG8gMTAwcHguCit0ZXh0LnNldEF0dHJpYnV0ZSgiYmFz
ZWxpbmUtc2hpZnQiLCAiMTAwcHgiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1lbnQu
ZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5iYXNlbGluZVNoaWZ0IiwgIjEwMHB4
Iik7CisKK3RleHQuc2V0QXR0cmlidXRlKCJiYXNlbGluZS1zaGlmdCIsICItMC41ZTJweCIpOwor
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0
eWxlKHRleHQpLmJhc2VsaW5lU2hpZnQiLCAiLTUwcHgiKTsKKy8vIFJlc2V0IGJhc2VsaW5lLXNo
aWZ0IHRvIDEwMHB4LgordGV4dC5zZXRBdHRyaWJ1dGUoImJhc2VsaW5lLXNoaWZ0IiwgIjEwMHB4
Iik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1
dGVkU3R5bGUodGV4dCkuYmFzZWxpbmVTaGlmdCIsICIxMDBweCIpOworCit0ZXh0LnNldEF0dHJp
YnV0ZSgiYmFzZWxpbmUtc2hpZnQiLCAiLTUwMGUtMXB4Iik7CitzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCkuYmFzZWxpbmVT
aGlmdCIsICItNTBweCIpOworLy8gUmVzZXQgYmFzZWxpbmUtc2hpZnQgdG8gMTAwcHguCit0ZXh0
LnNldEF0dHJpYnV0ZSgiYmFzZWxpbmUtc2hpZnQiLCAiMTAwcHgiKTsKK3Nob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5iYXNl
bGluZVNoaWZ0IiwgIjEwMHB4Iik7CisKKworZGVidWcoIiIpOworZGVidWcoIlRlc3QgaWYgdmFs
dWUgYW5kICdlbScgc3RpbGwgd29ya3MiKTsKK3RleHQuc2V0QXR0cmlidXRlKCJiYXNlbGluZS1z
aGlmdCIsICI1MGVtIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmRlZmF1bHRW
aWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCkuYmFzZWxpbmVTaGlmdCIsICI1MGVtIik7CisvLyBS
ZXNldCBiYXNlbGluZS1zaGlmdCB0byAxMDBweC4KK3RleHQuc2V0QXR0cmlidXRlKCJiYXNlbGlu
ZS1zaGlmdCIsICIxMDBweCIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5kZWZh
dWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRleHQpLmJhc2VsaW5lU2hpZnQiLCAiMTAwcHgiKTsK
KworCitkZWJ1ZygiIik7CitkZWJ1ZygiVHJhaWxpbmcgYW5kIGxlYWRpbmcgd2hpdGVzcGFjZXMi
KTsKK3RleHQuc2V0QXR0cmlidXRlKCJmb250LXNpemUiLCAiICAgICAgIDVlMSIpOworc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRl
eHQpLmZvbnRTaXplIiwgIjUwcHgiKTsKKy8vIFJlc2V0IGZvbnQtc2l6ZSB0byAxMDBweC4KK3Rl
eHQuc2V0QXR0cmlidXRlKCJmb250LXNpemUiLCAiMTAwcHgiKTsKK3Nob3VsZEJlRXF1YWxUb1N0
cmluZygiZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5mb250U2l6
ZSIsICIxMDBweCIpOworCit0ZXh0LnNldEF0dHJpYnV0ZSgiZm9udC1zaXplIiwgIjVlMSAgICAg
ICIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21w
dXRlZFN0eWxlKHRleHQpLmZvbnRTaXplIiwgIjUwcHgiKTsKKy8vIFJlc2V0IGZvbnQtc2l6ZSB0
byAxMDBweC4KK3RleHQuc2V0QXR0cmlidXRlKCJmb250LXNpemUiLCAiMTAwcHgiKTsKK3Nob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0
ZXh0KS5mb250U2l6ZSIsICIxMDBweCIpOworCisKK2RlYnVnKCIiKTsKK2RlYnVnKCJUZXN0IGJl
aGF2aW9yIG9uIG92ZXJmbG93Iik7Cit0ZXh0LnNldEF0dHJpYnV0ZSgiYmFzZWxpbmUtc2hpZnQi
LCAiMkUrNTAwIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmRlZmF1bHRWaWV3
LmdldENvbXB1dGVkU3R5bGUodGV4dCkuYmFzZWxpbmVTaGlmdCIsICJiYXNlbGluZSIpOworLy8g
UmVzZXQgYmFzZWxpbmUtc2hpZnQgdG8gMTAwcHguCit0ZXh0LnNldEF0dHJpYnV0ZSgiYmFzZWxp
bmUtc2hpZnQiLCAiMTAwcHgiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1lbnQuZGVm
YXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5iYXNlbGluZVNoaWZ0IiwgIjEwMHB4Iik7
CisKK3RleHQuc2V0QXR0cmlidXRlKCJiYXNlbGluZS1zaGlmdCIsICItMkUrNTAwIik7CitzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUo
dGV4dCkuYmFzZWxpbmVTaGlmdCIsICJiYXNlbGluZSIpOworLy8gUmVzZXQgYmFzZWxpbmUtc2hp
ZnQgdG8gMTAwcHguCit0ZXh0LnNldEF0dHJpYnV0ZSgiYmFzZWxpbmUtc2hpZnQiLCAiMTAwcHgi
KTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0
ZWRTdHlsZSh0ZXh0KS5iYXNlbGluZVNoaWZ0IiwgIjEwMHB4Iik7CisKKworZGVidWcoIiIpOwor
ZGVidWcoIkludmFsaWQgdmFsdWVzIik7Cit0ZXh0LnNldEF0dHJpYnV0ZSgiZm9udC1zaXplIiwg
IjUwZTAuMCIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5kZWZhdWx0Vmlldy5n
ZXRDb21wdXRlZFN0eWxlKHRleHQpLmZvbnRTaXplIiwgIjE2cHgiKTsKKy8vIFJlc2V0IGZvbnQt
c2l6ZSB0byAxMDBweC4KK3RleHQuc2V0QXR0cmlidXRlKCJmb250LXNpemUiLCAiMTAwcHgiKTsK
K3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRT
dHlsZSh0ZXh0KS5mb250U2l6ZSIsICIxMDBweCIpOworCit0ZXh0LnNldEF0dHJpYnV0ZSgiZm9u
dC1zaXplIiwgIjUwIGUwIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmRlZmF1
bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCkuZm9udFNpemUiLCAiMTZweCIpOworLy8gUmVz
ZXQgZm9udC1zaXplIHRvIDEwMHB4LgordGV4dC5zZXRBdHRyaWJ1dGUoImZvbnQtc2l6ZSIsICIx
MDBweCIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRD
b21wdXRlZFN0eWxlKHRleHQpLmZvbnRTaXplIiwgIjEwMHB4Iik7CisKK3RleHQuc2V0QXR0cmli
dXRlKCJmb250LXNpemUiLCAiNTBlIDAiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1l
bnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5mb250U2l6ZSIsICIxNnB4Iik7
CisvLyBSZXNldCBmb250LXNpemUgdG8gMTAwcHguCit0ZXh0LnNldEF0dHJpYnV0ZSgiZm9udC1z
aXplIiwgIjEwMHB4Iik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmRlZmF1bHRW
aWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCkuZm9udFNpemUiLCAiMTAwcHgiKTsKKwordGV4dC5z
ZXRBdHRyaWJ1dGUoImZvbnQtc2l6ZSIsICI1MGUwIHB4Iik7CitzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCkuZm9udFNpemUi
LCAiMTZweCIpOworLy8gUmVzZXQgZm9udC1zaXplIHRvIDEwMHB4LgordGV4dC5zZXRBdHRyaWJ1
dGUoImZvbnQtc2l6ZSIsICIxMDBweCIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVu
dC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRleHQpLmZvbnRTaXplIiwgIjEwMHB4Iik7
CisKK3RleHQuc2V0QXR0cmlidXRlKCJmb250LXNpemUiLCAiNTAuZTAiKTsKK3Nob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5m
b250U2l6ZSIsICIxNnB4Iik7CisvLyBSZXNldCBmb250LXNpemUgdG8gMTAwcHguCit0ZXh0LnNl
dEF0dHJpYnV0ZSgiZm9udC1zaXplIiwgIjEwMHB4Iik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGV4dCkuZm9udFNpemUiLCAi
MTAwcHgiKTsKKworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKworY29tcGxldGVU
ZXN0KCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>135000</attachid>
            <date>2012-04-01 08:33:56 -0700</date>
            <delta_ts>2012-07-11 10:07:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-52542-20120401083354.patch</filename>
            <type>text/plain</type>
            <size>23481</size>
            <attacher name="Dirk Schulze">krit</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEyNzcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDdhY2Q3OGU5MTgxYTkx
NzJlM2U2M2FmNmM4NDNiYzkwMTdhOWYwNS4uYTZkNTNmMzM4ZjdhOGQ0N2JmNDhkNDkxNjEwNGMx
OTg2MjExZWU0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEyLTAzLTMxICBEaXJr
IFNjaHVsemUgIDxrcml0QHdlYmtpdC5vcmc+CisKKyAgICAgICAgU1ZHIENTUyBwcm9wZXJ0eSB0
eXBlcyB3aXRoIDxudW1iZXI+IGRvbid0IHN1cHBvcnQgZXhwb25lbnRzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MjU0MgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFBhcnNlIG51bWJlcnMgaW4gU1ZHIHBy
ZXNlbnRhdGlvbiBhdHRyaWJ1dGVzIHdpdGggU1ZHIHBhcnNlciB0byBzdXBwb3J0IHNjaWVudGlm
aWMgbm90YXRpb25zLgorICAgICAgICBUaGUgU1ZHIHBhcnNlciBpcyBhbHJlYWR5IHdlbGwgdGVz
dGVkIGFuZCBoYXMgc29tZSBleHRyYSBjaGVja3MgZm9yIGVkZ2UgY2FzZXMgdGhhdCBwcmV2ZW50
CisgICAgICAgIHVzIGUuZyBmb3Igb3ZlcmZsb3dzLgorICAgICAgICAKKyAgICAgICAgVGhlIHBh
dGNoIGlzIGJhc2VkIHVwb24gYSBwYXRjaCBvZiBCZWFyIFRyYXZpcy4KKworICAgICAgICBUZXN0
OiBzdmcvY3NzL3NjaWVudGlmaWMtbnVtYmVycy5odG1sCisKKyAgICAgICAgKiBjc3MvQ1NTUGFy
c2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6bGV4KTogVXNlIFNWRyBwYXJz
ZXIgdG8gcGFyc2UgbnVtYmVycyBvZiBTVkcgYXR0cmlidXRlcy4KKyAgICAgICAgKiBzdmcvU1ZH
UGFyc2VyVXRpbGl0aWVzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnBhcnNlU1ZHTnVtYmVyKTog
QWRkZWQgYWNjZXNzb3IgdG8gY2FsbCBmcm9tIENTU1BhcnNlciB3aXRoIGRvdWJsZSB2YWx1ZS4K
KyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIHN2Zy9TVkdQYXJzZXJVdGlsaXRpZXMuaDoK
KyAgICAgICAgKFdlYkNvcmUpOgorCiAyMDEyLTAzLTMwICBEYW4gQmVybnN0ZWluICA8bWl0ekBh
cHBsZS5jb20+CiAKICAgICAgICAgUmV2ZXJ0ZWQgcjExMjc2NywgYmVjYXVzZSBpdCBjYXVzZWQg
bWFueSB2ZXJ0aWNhbCB0ZXh0IHRlc3RzIHRvIGZhaWwuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3Bw
CmluZGV4IGFlZDQxMzNjNjhlMjczOGQxNzQ2OTZmYzRiYTkyODI3MDNlY2UyOGUuLjg0MmQ1NTNl
NWQyNmYzNTU2NTAwZTYxMDQ5YjZjYWJkNTI3MmI1N2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIu
Y3BwCkBAIC03NCw2ICs3NCw3IEBACiAjaW5jbHVkZSAiUGFpci5oIgogI2luY2x1ZGUgIlJlY3Qu
aCIKICNpbmNsdWRlICJSZW5kZXJUaGVtZS5oIgorI2luY2x1ZGUgIlNWR1BhcnNlclV0aWxpdGll
cy5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSAiU2hhZG93VmFsdWUuaCIKICNp
bmNsdWRlICJTdHlsZVByb3BlcnR5U2V0LmgiCkBAIC04NTk2LDcgKzg1OTcsMjUgQEAgcmVzdGFy
dEFmdGVyQ29tbWVudDoKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAKLSAgICAgICAg
eXlsdmFsLT5udW1iZXIgPSBjaGFyYWN0ZXJzVG9Eb3VibGUobV90b2tlblN0YXJ0LCBtX2N1cnJl
bnRDaGFyYWN0ZXIgLSBtX3Rva2VuU3RhcnQpOworI2lmIEVOQUJMRShTVkcpCisgICAgICAgIC8v
IFVzZSBTVkcgcGFyc2VyIGZvciBudW1iZXJzIG9uIFNWRyBwcmVzZW50YXRpb24gYXR0cmlidXRl
cy4KKyAgICAgICAgaWYgKG1fY3NzUGFyc2VyTW9kZSA9PSBTVkdBdHRyaWJ1dGVNb2RlKSB7Cisg
ICAgICAgICAgICB1bnNpZ25lZCBvZmZzZXQgPSAwOworICAgICAgICAgICAgaWYgKGlzQVNDSUlB
bHBoYUNhc2VsZXNzRXF1YWwoKm1fY3VycmVudENoYXJhY3RlciwgJ2UnKSkgeworICAgICAgICAg
ICAgICAgIGlmIChtX2N1cnJlbnRDaGFyYWN0ZXJbMV0gPT0gJy0nIHx8IG1fY3VycmVudENoYXJh
Y3RlclsxXSA9PSAnKycgfHwgaXNBU0NJSURpZ2l0KG1fY3VycmVudENoYXJhY3RlclsxXSkpIHsK
KyAgICAgICAgICAgICAgICAgICAgb2Zmc2V0ICs9IDI7CisgICAgICAgICAgICAgICAgICAgIHdo
aWxlIChpc0FTQ0lJRGlnaXQobV9jdXJyZW50Q2hhcmFjdGVyW29mZnNldF0pKQorICAgICAgICAg
ICAgICAgICAgICAgICAgKytvZmZzZXQ7CisgICAgICAgICAgICAgICAgICAgIC8vIFVzZSBGTE9B
VFRPS0VOIGlmIHdlIGhhdmUgZXhwb25lbnRzLgorICAgICAgICAgICAgICAgICAgICBkb3RTZWVu
ID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgICAgICBp
ZiAoIXBhcnNlU1ZHTnVtYmVyKG1fdG9rZW5TdGFydCwgbV9jdXJyZW50Q2hhcmFjdGVyICsgb2Zm
c2V0IC0gbV90b2tlblN0YXJ0LCB5eWx2YWwtPm51bWJlcikpCisgICAgICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgICAgICBtX2N1cnJlbnRDaGFyYWN0ZXIgKz0gb2Zmc2V0OworICAgICAgICB9
IGVsc2UKKyNlbmRpZgorICAgICAgICAgICAgeXlsdmFsLT5udW1iZXIgPSBjaGFyYWN0ZXJzVG9E
b3VibGUobV90b2tlblN0YXJ0LCBtX2N1cnJlbnRDaGFyYWN0ZXIgLSBtX3Rva2VuU3RhcnQpOwog
CiAgICAgICAgIC8vIFR5cGUgb2YgdGhlIGZ1bmN0aW9uLgogICAgICAgICBpZiAoaXNJZGVudGlm
aWVyU3RhcnQoKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhcnNlclV0
aWxpdGllcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGFyc2VyVXRpbGl0aWVzLmNwcApp
bmRleCBiZTBjMjE5OWI4OGVjM2MzZmJjODkzZjE2YmM3NTMyMDY0M2ExZDNmLi43MWUyYTM5ZTIz
NzQ1NDgzNjNiMzIzOGNiNzIxMGYzMzI1YTM5NTVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHUGFyc2VyVXRpbGl0aWVzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
UGFyc2VyVXRpbGl0aWVzLmNwcApAQCAtMTQyLDYgKzE0MiwxMyBAQCB0ZW1wbGF0ZSA8dHlwZW5h
bWUgRmxvYXRUeXBlPiBzdGF0aWMgYm9vbCBnZW5lcmljUGFyc2VOdW1iZXIoY29uc3QgVUNoYXIq
JiBwdHIsCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK2Jvb2wgcGFyc2VTVkdOdW1iZXIoVUNoYXIq
JiBiZWdpbiwgc2l6ZV90IGxlbmd0aCwgZG91YmxlJiBudW1iZXIpCit7CisgICAgY29uc3QgVUNo
YXIqIHB0ciA9IGJlZ2luOworICAgIGNvbnN0IFVDaGFyKiBlbmQgPSBwdHIgKyBsZW5ndGg7Cisg
ICAgcmV0dXJuIGdlbmVyaWNQYXJzZU51bWJlcihwdHIsIGVuZCwgbnVtYmVyLCBmYWxzZSk7Cit9
CisKIGJvb2wgcGFyc2VOdW1iZXIoY29uc3QgVUNoYXIqJiBwdHIsIGNvbnN0IFVDaGFyKiBlbmQs
IGZsb2F0JiBudW1iZXIsIGJvb2wgc2tpcCkgCiB7CiAgICAgcmV0dXJuIGdlbmVyaWNQYXJzZU51
bWJlcihwdHIsIGVuZCwgbnVtYmVyLCBza2lwKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdQYXJzZXJVdGlsaXRpZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXJzZXJV
dGlsaXRpZXMuaAppbmRleCBhZDM1YTA3YmEzYWI4MWRmZDNlYTQyNDIyNzI5ZmExM2ZjMTZhZTM5
Li5lMWJhMGM4Yzk1MDAzZDBmNzMwNThmZjk0ZmZiMzNhNzVkMTY3NmZhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGFyc2VyVXRpbGl0aWVzLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR1BhcnNlclV0aWxpdGllcy5oCkBAIC0zMyw2ICszMyw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIGNsYXNzIEZsb2F0UmVjdDsKIGNsYXNzIFNWR1BvaW50TGlzdDsKIAorYm9vbCBw
YXJzZVNWR051bWJlcihVQ2hhciomIHB0ciwgc2l6ZV90IGxlbmd0aCwgZG91YmxlJiBudW1iZXIp
OwogYm9vbCBwYXJzZU51bWJlcihjb25zdCBVQ2hhciomIHB0ciwgY29uc3QgVUNoYXIqIGVuZCwg
ZmxvYXQmIG51bWJlciwgYm9vbCBza2lwID0gdHJ1ZSk7CiBib29sIHBhcnNlTnVtYmVyRnJvbVN0
cmluZyhjb25zdCBTdHJpbmcmLCBmbG9hdCYgbnVtYmVyLCBib29sIHNraXAgPSB0cnVlKTsKIGJv
b2wgcGFyc2VOdW1iZXJPcHRpb25hbE51bWJlcihjb25zdCBTdHJpbmcmIHMsIGZsb2F0JiBoLCBm
bG9hdCYgdik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKaW5kZXggMDY5ZmI5NWE5ZWM3NDI0M2Q5NWQ1YjMyNTQ1ODViNmRkMDNlMmI2
MS4uZjA1YjI5ODU2MjE1ZGMzNmZiMTQ2NjY1MTkwZTJlOWIyYjMwZTczMCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE2IEBACisyMDEyLTAzLTMxICBEaXJrIFNjaHVsemUgIDxrcml0QHdlYmtpdC5vcmc+CisK
KyAgICAgICAgU1ZHIENTUyBwcm9wZXJ0eSB0eXBlcyB3aXRoIDxudW1iZXI+IGRvbid0IHN1cHBv
cnQgZXhwb25lbnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD01MjU0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFRlc3Qgc2NpZW50aWZpYyBudW1iZXIgdmFsdWVzIG9uIFNWRyBwcmVzZW50YXRpb24gYXR0
cmlidXRlcy4KKworICAgICAgICAqIHN2Zy9jc3Mvc2NpZW50aWZpYy1udW1iZXJzLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogc3ZnL2Nzcy9zY2llbnRpZmljLW51bWJlcnMuaHRtbDog
QWRkZWQuCisgICAgICAgICogc3ZnL2Nzcy9zY3JpcHQtdGVzdHMvc2NpZW50aWZpYy1udW1iZXJz
LmpzOiBBZGRlZC4KKwogMjAxMi0wMy0zMCAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29t
PgogCiAgICAgICAgIFJldmVydGVkIHIxMTI3NjcsIGJlY2F1c2UgaXQgY2F1c2VkIG1hbnkgdmVy
dGljYWwgdGV4dCB0ZXN0cyB0byBmYWlsLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2Nz
cy9zY2llbnRpZmljLW51bWJlcnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3ZnL2Nzcy9z
Y2llbnRpZmljLW51bWJlcnMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZmMTFlZDhiNDIyNDc1
YmNkMjI5MmQ1Y2Q2NzI5ZDcxNGJlYTUyNDQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9zdmcvY3NzL3NjaWVudGlmaWMtbnVtYmVycy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMTYg
QEAKK1Rlc3Qgc2NpZW50aWZpYyBudW1iZXJzIG9uIHZhbHVlcyBmb3IgU1ZHIHByZXNlbnRhdGlv
biBhdHRyaWJ1dGVzLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworVGVzdCBkZWZh
dWx0IGZvbnQtc2l6ZSBvZiAnMTZweCcKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5mb250
U2l6ZSBpcyAiMTZweCIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5mb250U2l6ZSBpcyAi
MTAwcHgiCisKK1Rlc3QgcG9zaXRpdmUgZXhwb25lbnQgdmFsdWVzIHdpdGggJ2UnCitQQVNTIGdl
dENvbXB1dGVkU3R5bGUodGV4dCkuZm9udFNpemUgaXMgIjUwcHgiCitQQVNTIGdldENvbXB1dGVk
U3R5bGUodGV4dCkuZm9udFNpemUgaXMgIjEwMHB4IgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKHRl
eHQpLmZvbnRTaXplIGlzICI1MHB4IgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKHRleHQpLmZvbnRT
aXplIGlzICIxMDBweCIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5mb250U2l6ZSBpcyAi
NTBweCIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5mb250U2l6ZSBpcyAiMTAwcHgiCitQ
QVNTIGdldENvbXB1dGVkU3R5bGUodGV4dCkuZm9udFNpemUgaXMgIjUwcHgiCitQQVNTIGdldENv
bXB1dGVkU3R5bGUodGV4dCkuZm9udFNpemUgaXMgIjEwMHB4IgorUEFTUyBnZXRDb21wdXRlZFN0
eWxlKHRleHQpLmZvbnRTaXplIGlzICI1MHB4IgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKHRleHQp
LmZvbnRTaXplIGlzICIxMDBweCIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5mb250U2l6
ZSBpcyAiNTBweCIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5mb250U2l6ZSBpcyAiMTAw
cHgiCitQQVNTIGdldENvbXB1dGVkU3R5bGUodGV4dCkuZm9udFNpemUgaXMgIjUwcHgiCitQQVNT
IGdldENvbXB1dGVkU3R5bGUodGV4dCkuZm9udFNpemUgaXMgIjEwMHB4IgorUEFTUyBnZXRDb21w
dXRlZFN0eWxlKHRleHQpLmZvbnRTaXplIGlzICI1MHB4IgorUEFTUyBnZXRDb21wdXRlZFN0eWxl
KHRleHQpLmZvbnRTaXplIGlzICIxMDBweCIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5m
b250U2l6ZSBpcyAiNTBweCIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5mb250U2l6ZSBp
cyAiMTAwcHgiCisKK1Rlc3QgcG9zaXRpdmUgZXhwb25lbnQgdmFsdWVzIHdpdGggJ0UnCitQQVNT
IGdldENvbXB1dGVkU3R5bGUodGV4dCkuZm9udFNpemUgaXMgIjUwcHgiCitQQVNTIGdldENvbXB1
dGVkU3R5bGUodGV4dCkuZm9udFNpemUgaXMgIjEwMHB4IgorUEFTUyBnZXRDb21wdXRlZFN0eWxl
KHRleHQpLmZvbnRTaXplIGlzICI1MHB4IgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKHRleHQpLmZv
bnRTaXplIGlzICIxMDBweCIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5mb250U2l6ZSBp
cyAiNTBweCIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5mb250U2l6ZSBpcyAiMTAwcHgi
CitQQVNTIGdldENvbXB1dGVkU3R5bGUodGV4dCkuZm9udFNpemUgaXMgIjUwcHgiCitQQVNTIGdl
dENvbXB1dGVkU3R5bGUodGV4dCkuZm9udFNpemUgaXMgIjEwMHB4IgorUEFTUyBnZXRDb21wdXRl
ZFN0eWxlKHRleHQpLmZvbnRTaXplIGlzICI1MHB4IgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKHRl
eHQpLmZvbnRTaXplIGlzICIxMDBweCIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5mb250
U2l6ZSBpcyAiNTBweCIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5mb250U2l6ZSBpcyAi
MTAwcHgiCitQQVNTIGdldENvbXB1dGVkU3R5bGUodGV4dCkuZm9udFNpemUgaXMgIjUwcHgiCitQ
QVNTIGdldENvbXB1dGVkU3R5bGUodGV4dCkuZm9udFNpemUgaXMgIjEwMHB4IgorUEFTUyBnZXRD
b21wdXRlZFN0eWxlKHRleHQpLmZvbnRTaXplIGlzICI1MHB4IgorUEFTUyBnZXRDb21wdXRlZFN0
eWxlKHRleHQpLmZvbnRTaXplIGlzICIxMDBweCIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0
KS5mb250U2l6ZSBpcyAiNTBweCIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5mb250U2l6
ZSBpcyAiMTAwcHgiCisKK1Rlc3QgbmVnYXRpdmUgZXhwb25lbnQgdmFsdWVzIHdpdGggJ2UnCitQ
QVNTIGdldENvbXB1dGVkU3R5bGUodGV4dCkuZm9udFNpemUgaXMgIjUwcHgiCitQQVNTIGdldENv
bXB1dGVkU3R5bGUodGV4dCkuZm9udFNpemUgaXMgIjEwMHB4IgorUEFTUyBnZXRDb21wdXRlZFN0
eWxlKHRleHQpLmZvbnRTaXplIGlzICI1MHB4IgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKHRleHQp
LmZvbnRTaXplIGlzICIxMDBweCIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5mb250U2l6
ZSBpcyAiNTBweCIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5mb250U2l6ZSBpcyAiMTAw
cHgiCitQQVNTIGdldENvbXB1dGVkU3R5bGUodGV4dCkuZm9udFNpemUgaXMgIjUwcHgiCitQQVNT
IGdldENvbXB1dGVkU3R5bGUodGV4dCkuZm9udFNpemUgaXMgIjEwMHB4IgorUEFTUyBnZXRDb21w
dXRlZFN0eWxlKHRleHQpLmZvbnRTaXplIGlzICI1MHB4IgorUEFTUyBnZXRDb21wdXRlZFN0eWxl
KHRleHQpLmZvbnRTaXplIGlzICIxMDBweCIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5m
b250U2l6ZSBpcyAiNTBweCIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5mb250U2l6ZSBp
cyAiMTAwcHgiCisKK1Rlc3QgbmVnYXRpdmUgZXhwb25lbnQgdmFsdWVzIHdpdGggJ0UnCitQQVNT
IGdldENvbXB1dGVkU3R5bGUodGV4dCkuZm9udFNpemUgaXMgIjUwcHgiCitQQVNTIGdldENvbXB1
dGVkU3R5bGUodGV4dCkuZm9udFNpemUgaXMgIjEwMHB4IgorUEFTUyBnZXRDb21wdXRlZFN0eWxl
KHRleHQpLmZvbnRTaXplIGlzICI1MHB4IgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKHRleHQpLmZv
bnRTaXplIGlzICIxMDBweCIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5mb250U2l6ZSBp
cyAiNTBweCIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5mb250U2l6ZSBpcyAiMTAwcHgi
CitQQVNTIGdldENvbXB1dGVkU3R5bGUodGV4dCkuZm9udFNpemUgaXMgIjUwcHgiCitQQVNTIGdl
dENvbXB1dGVkU3R5bGUodGV4dCkuZm9udFNpemUgaXMgIjEwMHB4IgorUEFTUyBnZXRDb21wdXRl
ZFN0eWxlKHRleHQpLmZvbnRTaXplIGlzICI1MHB4IgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKHRl
eHQpLmZvbnRTaXplIGlzICIxMDBweCIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5mb250
U2l6ZSBpcyAiNTBweCIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5mb250U2l6ZSBpcyAi
MTAwcHgiCisKK1Rlc3QgbmVnYXRpdmUgbnVtYmVycyB3aXRoIGV4cG9uZW50cworUEFTUyBnZXRD
b21wdXRlZFN0eWxlKHRleHQpLmJhc2VsaW5lU2hpZnQgaXMgIi01MHB4IgorUEFTUyBnZXRDb21w
dXRlZFN0eWxlKHRleHQpLmJhc2VsaW5lU2hpZnQgaXMgIjEwMHB4IgorUEFTUyBnZXRDb21wdXRl
ZFN0eWxlKHRleHQpLmJhc2VsaW5lU2hpZnQgaXMgIi01MHB4IgorUEFTUyBnZXRDb21wdXRlZFN0
eWxlKHRleHQpLmJhc2VsaW5lU2hpZnQgaXMgIjEwMHB4IgorUEFTUyBnZXRDb21wdXRlZFN0eWxl
KHRleHQpLmJhc2VsaW5lU2hpZnQgaXMgIi01MHB4IgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKHRl
eHQpLmJhc2VsaW5lU2hpZnQgaXMgIjEwMHB4IgorCitUZXN0IGlmIHZhbHVlIGFuZCAnZW0nIHN0
aWxsIHdvcmtzCitQQVNTIGdldENvbXB1dGVkU3R5bGUodGV4dCkuYmFzZWxpbmVTaGlmdCBpcyAi
NTBlbSIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5iYXNlbGluZVNoaWZ0IGlzICIxMDBw
eCIKKworVHJhaWxpbmcgYW5kIGxlYWRpbmcgd2hpdGVzcGFjZXMKK1BBU1MgZ2V0Q29tcHV0ZWRT
dHlsZSh0ZXh0KS5mb250U2l6ZSBpcyAiNTBweCIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0
KS5mb250U2l6ZSBpcyAiMTAwcHgiCitQQVNTIGdldENvbXB1dGVkU3R5bGUodGV4dCkuZm9udFNp
emUgaXMgIjUwcHgiCitQQVNTIGdldENvbXB1dGVkU3R5bGUodGV4dCkuZm9udFNpemUgaXMgIjEw
MHB4IgorCitUZXN0IGJlaGF2aW9yIG9uIG92ZXJmbG93CitQQVNTIGdldENvbXB1dGVkU3R5bGUo
dGV4dCkuYmFzZWxpbmVTaGlmdCBpcyAiYmFzZWxpbmUiCitQQVNTIGdldENvbXB1dGVkU3R5bGUo
dGV4dCkuYmFzZWxpbmVTaGlmdCBpcyAiMTAwcHgiCitQQVNTIGdldENvbXB1dGVkU3R5bGUodGV4
dCkuYmFzZWxpbmVTaGlmdCBpcyAiYmFzZWxpbmUiCitQQVNTIGdldENvbXB1dGVkU3R5bGUodGV4
dCkuYmFzZWxpbmVTaGlmdCBpcyAiMTAwcHgiCisKK0ludmFsaWQgdmFsdWVzCitQQVNTIGdldENv
bXB1dGVkU3R5bGUodGV4dCkuZm9udFNpemUgaXMgIjE2cHgiCitQQVNTIGdldENvbXB1dGVkU3R5
bGUodGV4dCkuZm9udFNpemUgaXMgIjEwMHB4IgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKHRleHQp
LmZvbnRTaXplIGlzICIxNnB4IgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKHRleHQpLmZvbnRTaXpl
IGlzICIxMDBweCIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5mb250U2l6ZSBpcyAiMTZw
eCIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5mb250U2l6ZSBpcyAiMTAwcHgiCitQQVNT
IGdldENvbXB1dGVkU3R5bGUodGV4dCkuZm9udFNpemUgaXMgIjE2cHgiCitQQVNTIGdldENvbXB1
dGVkU3R5bGUodGV4dCkuZm9udFNpemUgaXMgIjEwMHB4IgorUEFTUyBnZXRDb21wdXRlZFN0eWxl
KHRleHQpLmZvbnRTaXplIGlzICIxNnB4IgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKHRleHQpLmZv
bnRTaXplIGlzICIxMDBweCIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvY3NzL3NjaWVudGlmaWMt
bnVtYmVycy5odG1sIGIvTGF5b3V0VGVzdHMvc3ZnL2Nzcy9zY2llbnRpZmljLW51bWJlcnMuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5hY2QyZjZlM2E0ZjUxOTdjNjkzYjgzZWQyNTJhN2Y2N2ZlZTk5YmVjCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2Nzcy9zY2llbnRpZmljLW51bWJlcnMu
aHRtbApAQCAtMCwwICsxLDEyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vc3ZnL2R5bmFtaWMtdXBkYXRlcy9yZXNvdXJjZXMvU1ZHVGVzdENh
c2UuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQt
dGVzdHMvc2NpZW50aWZpYy1udW1iZXJzLmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9jc3Mvc2NyaXB0LXRlc3RzL3NjaWVudGlmaWMt
bnVtYmVycy5qcyBiL0xheW91dFRlc3RzL3N2Zy9jc3Mvc2NyaXB0LXRlc3RzL3NjaWVudGlmaWMt
bnVtYmVycy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNGNmYzM0ODE5ZjdmYzdhNmNiODIzOWQ3YTZjOTJmMWY4
Y2U1ODY2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2Nzcy9zY3JpcHQtdGVz
dHMvc2NpZW50aWZpYy1udW1iZXJzLmpzCkBAIC0wLDAgKzEsMzA2IEBACitkZXNjcmlwdGlvbigi
VGVzdCBzY2llbnRpZmljIG51bWJlcnMgb24gPGxlbmd0aD4gdmFsdWVzIGZvciBTVkcgcHJlc2Vu
dGF0aW9uIGF0dHJpYnV0ZXMuIikKK2NyZWF0ZVNWR1Rlc3RDYXNlKCk7CisKK3ZhciB0ZXh0ID0g
Y3JlYXRlU1ZHRWxlbWVudCgidGV4dCIpOwordGV4dC5zZXRBdHRyaWJ1dGUoImlkIiwgInRleHQi
KTsKK3RleHQuc2V0QXR0cmlidXRlKCJ4IiwgIjEwMHB4Iik7Cit0ZXh0LnNldEF0dHJpYnV0ZSgi
eSIsICIxMDBweCIpOworcm9vdFNWR0VsZW1lbnQuYXBwZW5kQ2hpbGQodGV4dCk7CisKKworLy8g
VGVzdGluZyA8bGVuZ3RoPiB2YWx1ZXMgZm9yICdmb250LXNpemUnCitkZWJ1ZygiVGVzdCBkZWZh
dWx0IGZvbnQtc2l6ZSBvZiAnMTZweCciKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZ2V0Q29t
cHV0ZWRTdHlsZSh0ZXh0KS5mb250U2l6ZSIsICIxNnB4Iik7CisKK3RleHQuc2V0QXR0cmlidXRl
KCJmb250LXNpemUiLCAiMTAwcHgiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZ2V0Q29tcHV0
ZWRTdHlsZSh0ZXh0KS5mb250U2l6ZSIsICIxMDBweCIpOworCisKK2RlYnVnKCIiKTsKK2RlYnVn
KCJUZXN0IHBvc2l0aXZlIGV4cG9uZW50IHZhbHVlcyB3aXRoICdlJyIpOwordGV4dC5zZXRBdHRy
aWJ1dGUoImZvbnQtc2l6ZSIsICIuNWUyIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImdldENv
bXB1dGVkU3R5bGUodGV4dCkuZm9udFNpemUiLCAiNTBweCIpOworLy8gUmVzZXQgZm9udC1zaXpl
IHRvIDEwMHB4LgordGV4dC5zZXRBdHRyaWJ1dGUoImZvbnQtc2l6ZSIsICIxMDBweCIpOworc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJnZXRDb21wdXRlZFN0eWxlKHRleHQpLmZvbnRTaXplIiwgIjEw
MHB4Iik7CisKK3RleHQuc2V0QXR0cmlidXRlKCJmb250LXNpemUiLCAiNWUxIik7CitzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoImdldENvbXB1dGVkU3R5bGUodGV4dCkuZm9udFNpemUiLCAiNTBweCIp
OworLy8gUmVzZXQgZm9udC1zaXplIHRvIDEwMHB4LgordGV4dC5zZXRBdHRyaWJ1dGUoImZvbnQt
c2l6ZSIsICIxMDBweCIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJnZXRDb21wdXRlZFN0eWxl
KHRleHQpLmZvbnRTaXplIiwgIjEwMHB4Iik7CisKK3RleHQuc2V0QXR0cmlidXRlKCJmb250LXNp
emUiLCAiMC41ZTIiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZ2V0Q29tcHV0ZWRTdHlsZSh0
ZXh0KS5mb250U2l6ZSIsICI1MHB4Iik7CisvLyBSZXNldCBmb250LXNpemUgdG8gMTAwcHguCit0
ZXh0LnNldEF0dHJpYnV0ZSgiZm9udC1zaXplIiwgIjEwMHB4Iik7CitzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImdldENvbXB1dGVkU3R5bGUodGV4dCkuZm9udFNpemUiLCAiMTAwcHgiKTsKKwordGV4
dC5zZXRBdHRyaWJ1dGUoImZvbnQtc2l6ZSIsICIrLjVlMiIpOworc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJnZXRDb21wdXRlZFN0eWxlKHRleHQpLmZvbnRTaXplIiwgIjUwcHgiKTsKKy8vIFJlc2V0
IGZvbnQtc2l6ZSB0byAxMDBweC4KK3RleHQuc2V0QXR0cmlidXRlKCJmb250LXNpemUiLCAiMTAw
cHgiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5mb250
U2l6ZSIsICIxMDBweCIpOworCit0ZXh0LnNldEF0dHJpYnV0ZSgiZm9udC1zaXplIiwgIis1ZTEi
KTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5mb250U2l6
ZSIsICI1MHB4Iik7CisvLyBSZXNldCBmb250LXNpemUgdG8gMTAwcHguCit0ZXh0LnNldEF0dHJp
YnV0ZSgiZm9udC1zaXplIiwgIjEwMHB4Iik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImdldENv
bXB1dGVkU3R5bGUodGV4dCkuZm9udFNpemUiLCAiMTAwcHgiKTsKKwordGV4dC5zZXRBdHRyaWJ1
dGUoImZvbnQtc2l6ZSIsICIrMC41ZTIiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZ2V0Q29t
cHV0ZWRTdHlsZSh0ZXh0KS5mb250U2l6ZSIsICI1MHB4Iik7CisvLyBSZXNldCBmb250LXNpemUg
dG8gMTAwcHguCit0ZXh0LnNldEF0dHJpYnV0ZSgiZm9udC1zaXplIiwgIjEwMHB4Iik7CitzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImdldENvbXB1dGVkU3R5bGUodGV4dCkuZm9udFNpemUiLCAiMTAw
cHgiKTsKKwordGV4dC5zZXRBdHRyaWJ1dGUoImZvbnQtc2l6ZSIsICIuNWUrMiIpOworc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJnZXRDb21wdXRlZFN0eWxlKHRleHQpLmZvbnRTaXplIiwgIjUwcHgi
KTsKKy8vIFJlc2V0IGZvbnQtc2l6ZSB0byAxMDBweC4KK3RleHQuc2V0QXR0cmlidXRlKCJmb250
LXNpemUiLCAiMTAwcHgiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZ2V0Q29tcHV0ZWRTdHls
ZSh0ZXh0KS5mb250U2l6ZSIsICIxMDBweCIpOworCit0ZXh0LnNldEF0dHJpYnV0ZSgiZm9udC1z
aXplIiwgIjVlKzEiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZ2V0Q29tcHV0ZWRTdHlsZSh0
ZXh0KS5mb250U2l6ZSIsICI1MHB4Iik7CisvLyBSZXNldCBmb250LXNpemUgdG8gMTAwcHguCit0
ZXh0LnNldEF0dHJpYnV0ZSgiZm9udC1zaXplIiwgIjEwMHB4Iik7CitzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImdldENvbXB1dGVkU3R5bGUodGV4dCkuZm9udFNpemUiLCAiMTAwcHgiKTsKKwordGV4
dC5zZXRBdHRyaWJ1dGUoImZvbnQtc2l6ZSIsICIwLjVlKzIiKTsKK3Nob3VsZEJlRXF1YWxUb1N0
cmluZygiZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5mb250U2l6ZSIsICI1MHB4Iik7CisvLyBSZXNl
dCBmb250LXNpemUgdG8gMTAwcHguCit0ZXh0LnNldEF0dHJpYnV0ZSgiZm9udC1zaXplIiwgIjEw
MHB4Iik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImdldENvbXB1dGVkU3R5bGUodGV4dCkuZm9u
dFNpemUiLCAiMTAwcHgiKTsKKworCitkZWJ1ZygiIik7CitkZWJ1ZygiVGVzdCBwb3NpdGl2ZSBl
eHBvbmVudCB2YWx1ZXMgd2l0aCAnRSciKTsKK3RleHQuc2V0QXR0cmlidXRlKCJmb250LXNpemUi
LCAiLjVFMiIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJnZXRDb21wdXRlZFN0eWxlKHRleHQp
LmZvbnRTaXplIiwgIjUwcHgiKTsKKy8vIFJlc2V0IGZvbnQtc2l6ZSB0byAxMDBweC4KK3RleHQu
c2V0QXR0cmlidXRlKCJmb250LXNpemUiLCAiMTAwcHgiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5mb250U2l6ZSIsICIxMDBweCIpOworCit0ZXh0LnNl
dEF0dHJpYnV0ZSgiZm9udC1zaXplIiwgIjVFMSIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJn
ZXRDb21wdXRlZFN0eWxlKHRleHQpLmZvbnRTaXplIiwgIjUwcHgiKTsKKy8vIFJlc2V0IGZvbnQt
c2l6ZSB0byAxMDBweC4KK3RleHQuc2V0QXR0cmlidXRlKCJmb250LXNpemUiLCAiMTAwcHgiKTsK
K3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5mb250U2l6ZSIs
ICIxMDBweCIpOworCit0ZXh0LnNldEF0dHJpYnV0ZSgiZm9udC1zaXplIiwgIjAuNUUyIik7Citz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImdldENvbXB1dGVkU3R5bGUodGV4dCkuZm9udFNpemUiLCAi
NTBweCIpOworLy8gUmVzZXQgZm9udC1zaXplIHRvIDEwMHB4LgordGV4dC5zZXRBdHRyaWJ1dGUo
ImZvbnQtc2l6ZSIsICIxMDBweCIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJnZXRDb21wdXRl
ZFN0eWxlKHRleHQpLmZvbnRTaXplIiwgIjEwMHB4Iik7CisKK3RleHQuc2V0QXR0cmlidXRlKCJm
b250LXNpemUiLCAiKy41RTIiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZ2V0Q29tcHV0ZWRT
dHlsZSh0ZXh0KS5mb250U2l6ZSIsICI1MHB4Iik7CisvLyBSZXNldCBmb250LXNpemUgdG8gMTAw
cHguCit0ZXh0LnNldEF0dHJpYnV0ZSgiZm9udC1zaXplIiwgIjEwMHB4Iik7CitzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImdldENvbXB1dGVkU3R5bGUodGV4dCkuZm9udFNpemUiLCAiMTAwcHgiKTsK
KwordGV4dC5zZXRBdHRyaWJ1dGUoImZvbnQtc2l6ZSIsICIrNUUxIik7CitzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImdldENvbXB1dGVkU3R5bGUodGV4dCkuZm9udFNpemUiLCAiNTBweCIpOworLy8g
UmVzZXQgZm9udC1zaXplIHRvIDEwMHB4LgordGV4dC5zZXRBdHRyaWJ1dGUoImZvbnQtc2l6ZSIs
ICIxMDBweCIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJnZXRDb21wdXRlZFN0eWxlKHRleHQp
LmZvbnRTaXplIiwgIjEwMHB4Iik7CisKK3RleHQuc2V0QXR0cmlidXRlKCJmb250LXNpemUiLCAi
KzAuNUUyIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImdldENvbXB1dGVkU3R5bGUodGV4dCku
Zm9udFNpemUiLCAiNTBweCIpOworLy8gUmVzZXQgZm9udC1zaXplIHRvIDEwMHB4LgordGV4dC5z
ZXRBdHRyaWJ1dGUoImZvbnQtc2l6ZSIsICIxMDBweCIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJnZXRDb21wdXRlZFN0eWxlKHRleHQpLmZvbnRTaXplIiwgIjEwMHB4Iik7CisKK3RleHQuc2V0
QXR0cmlidXRlKCJmb250LXNpemUiLCAiLjVFKzIiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygi
Z2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5mb250U2l6ZSIsICI1MHB4Iik7CisvLyBSZXNldCBmb250
LXNpemUgdG8gMTAwcHguCit0ZXh0LnNldEF0dHJpYnV0ZSgiZm9udC1zaXplIiwgIjEwMHB4Iik7
CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImdldENvbXB1dGVkU3R5bGUodGV4dCkuZm9udFNpemUi
LCAiMTAwcHgiKTsKKwordGV4dC5zZXRBdHRyaWJ1dGUoImZvbnQtc2l6ZSIsICI1RSsxIik7Citz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImdldENvbXB1dGVkU3R5bGUodGV4dCkuZm9udFNpemUiLCAi
NTBweCIpOworLy8gUmVzZXQgZm9udC1zaXplIHRvIDEwMHB4LgordGV4dC5zZXRBdHRyaWJ1dGUo
ImZvbnQtc2l6ZSIsICIxMDBweCIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJnZXRDb21wdXRl
ZFN0eWxlKHRleHQpLmZvbnRTaXplIiwgIjEwMHB4Iik7CisKK3RleHQuc2V0QXR0cmlidXRlKCJm
b250LXNpemUiLCAiMC41RSsyIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImdldENvbXB1dGVk
U3R5bGUodGV4dCkuZm9udFNpemUiLCAiNTBweCIpOworLy8gUmVzZXQgZm9udC1zaXplIHRvIDEw
MHB4LgordGV4dC5zZXRBdHRyaWJ1dGUoImZvbnQtc2l6ZSIsICIxMDBweCIpOworc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJnZXRDb21wdXRlZFN0eWxlKHRleHQpLmZvbnRTaXplIiwgIjEwMHB4Iik7
CisKKworZGVidWcoIiIpOworZGVidWcoIlRlc3QgbmVnYXRpdmUgZXhwb25lbnQgdmFsdWVzIHdp
dGggJ2UnIik7Cit0ZXh0LnNldEF0dHJpYnV0ZSgiZm9udC1zaXplIiwgIjUwMDBlLTIiKTsKK3No
b3VsZEJlRXF1YWxUb1N0cmluZygiZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5mb250U2l6ZSIsICI1
MHB4Iik7CisvLyBSZXNldCBmb250LXNpemUgdG8gMTAwcHguCit0ZXh0LnNldEF0dHJpYnV0ZSgi
Zm9udC1zaXplIiwgIjEwMHB4Iik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImdldENvbXB1dGVk
U3R5bGUodGV4dCkuZm9udFNpemUiLCAiMTAwcHgiKTsKKwordGV4dC5zZXRBdHRyaWJ1dGUoImZv
bnQtc2l6ZSIsICI1MDBlLTEiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZ2V0Q29tcHV0ZWRT
dHlsZSh0ZXh0KS5mb250U2l6ZSIsICI1MHB4Iik7CisvLyBSZXNldCBmb250LXNpemUgdG8gMTAw
cHguCit0ZXh0LnNldEF0dHJpYnV0ZSgiZm9udC1zaXplIiwgIjEwMHB4Iik7CitzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImdldENvbXB1dGVkU3R5bGUodGV4dCkuZm9udFNpemUiLCAiMTAwcHgiKTsK
KwordGV4dC5zZXRBdHRyaWJ1dGUoImZvbnQtc2l6ZSIsICIrNTAwMGUtMiIpOworc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJnZXRDb21wdXRlZFN0eWxlKHRleHQpLmZvbnRTaXplIiwgIjUwcHgiKTsK
Ky8vIFJlc2V0IGZvbnQtc2l6ZSB0byAxMDBweC4KK3RleHQuc2V0QXR0cmlidXRlKCJmb250LXNp
emUiLCAiMTAwcHgiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZ2V0Q29tcHV0ZWRTdHlsZSh0
ZXh0KS5mb250U2l6ZSIsICIxMDBweCIpOworCit0ZXh0LnNldEF0dHJpYnV0ZSgiZm9udC1zaXpl
IiwgIis1MDBlLTEiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZ2V0Q29tcHV0ZWRTdHlsZSh0
ZXh0KS5mb250U2l6ZSIsICI1MHB4Iik7CisvLyBSZXNldCBmb250LXNpemUgdG8gMTAwcHguCit0
ZXh0LnNldEF0dHJpYnV0ZSgiZm9udC1zaXplIiwgIjEwMHB4Iik7CitzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImdldENvbXB1dGVkU3R5bGUodGV4dCkuZm9udFNpemUiLCAiMTAwcHgiKTsKKwordGV4
dC5zZXRBdHRyaWJ1dGUoImZvbnQtc2l6ZSIsICIrNTAwMGUtMnB4Iik7CitzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImdldENvbXB1dGVkU3R5bGUodGV4dCkuZm9udFNpemUiLCAiNTBweCIpOworLy8g
UmVzZXQgZm9udC1zaXplIHRvIDEwMHB4LgordGV4dC5zZXRBdHRyaWJ1dGUoImZvbnQtc2l6ZSIs
ICIxMDBweCIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJnZXRDb21wdXRlZFN0eWxlKHRleHQp
LmZvbnRTaXplIiwgIjEwMHB4Iik7CisKK3RleHQuc2V0QXR0cmlidXRlKCJmb250LXNpemUiLCAi
KzUwMGUtMXB4Iik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImdldENvbXB1dGVkU3R5bGUodGV4
dCkuZm9udFNpemUiLCAiNTBweCIpOworLy8gUmVzZXQgZm9udC1zaXplIHRvIDEwMHB4LgordGV4
dC5zZXRBdHRyaWJ1dGUoImZvbnQtc2l6ZSIsICIxMDBweCIpOworc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJnZXRDb21wdXRlZFN0eWxlKHRleHQpLmZvbnRTaXplIiwgIjEwMHB4Iik7CisKKworZGVi
dWcoIiIpOworZGVidWcoIlRlc3QgbmVnYXRpdmUgZXhwb25lbnQgdmFsdWVzIHdpdGggJ0UnIik7
Cit0ZXh0LnNldEF0dHJpYnV0ZSgiZm9udC1zaXplIiwgIjUwMDBFLTIiKTsKK3Nob3VsZEJlRXF1
YWxUb1N0cmluZygiZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5mb250U2l6ZSIsICI1MHB4Iik7Cisv
LyBSZXNldCBmb250LXNpemUgdG8gMTAwcHguCit0ZXh0LnNldEF0dHJpYnV0ZSgiZm9udC1zaXpl
IiwgIjEwMHB4Iik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImdldENvbXB1dGVkU3R5bGUodGV4
dCkuZm9udFNpemUiLCAiMTAwcHgiKTsKKwordGV4dC5zZXRBdHRyaWJ1dGUoImZvbnQtc2l6ZSIs
ICI1MDBFLTEiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0
KS5mb250U2l6ZSIsICI1MHB4Iik7CisvLyBSZXNldCBmb250LXNpemUgdG8gMTAwcHguCit0ZXh0
LnNldEF0dHJpYnV0ZSgiZm9udC1zaXplIiwgIjEwMHB4Iik7CitzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImdldENvbXB1dGVkU3R5bGUodGV4dCkuZm9udFNpemUiLCAiMTAwcHgiKTsKKwordGV4dC5z
ZXRBdHRyaWJ1dGUoImZvbnQtc2l6ZSIsICIrNTAwMEUtMiIpOworc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJnZXRDb21wdXRlZFN0eWxlKHRleHQpLmZvbnRTaXplIiwgIjUwcHgiKTsKKy8vIFJlc2V0
IGZvbnQtc2l6ZSB0byAxMDBweC4KK3RleHQuc2V0QXR0cmlidXRlKCJmb250LXNpemUiLCAiMTAw
cHgiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5mb250
U2l6ZSIsICIxMDBweCIpOworCit0ZXh0LnNldEF0dHJpYnV0ZSgiZm9udC1zaXplIiwgIis1MDBF
LTEiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5mb250
U2l6ZSIsICI1MHB4Iik7CisvLyBSZXNldCBmb250LXNpemUgdG8gMTAwcHguCit0ZXh0LnNldEF0
dHJpYnV0ZSgiZm9udC1zaXplIiwgIjEwMHB4Iik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImdl
dENvbXB1dGVkU3R5bGUodGV4dCkuZm9udFNpemUiLCAiMTAwcHgiKTsKKwordGV4dC5zZXRBdHRy
aWJ1dGUoImZvbnQtc2l6ZSIsICIrNTAwMC4wMEUtMnB4Iik7CitzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImdldENvbXB1dGVkU3R5bGUodGV4dCkuZm9udFNpemUiLCAiNTBweCIpOworLy8gUmVzZXQg
Zm9udC1zaXplIHRvIDEwMHB4LgordGV4dC5zZXRBdHRyaWJ1dGUoImZvbnQtc2l6ZSIsICIxMDBw
eCIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJnZXRDb21wdXRlZFN0eWxlKHRleHQpLmZvbnRT
aXplIiwgIjEwMHB4Iik7CisKK3RleHQuc2V0QXR0cmlidXRlKCJmb250LXNpemUiLCAiKzUwMEUt
MXB4Iik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImdldENvbXB1dGVkU3R5bGUodGV4dCkuZm9u
dFNpemUiLCAiNTBweCIpOworLy8gUmVzZXQgZm9udC1zaXplIHRvIDEwMHB4LgordGV4dC5zZXRB
dHRyaWJ1dGUoImZvbnQtc2l6ZSIsICIxMDBweCIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJn
ZXRDb21wdXRlZFN0eWxlKHRleHQpLmZvbnRTaXplIiwgIjEwMHB4Iik7CisKKworZGVidWcoIiIp
OworZGVidWcoIlRlc3QgbmVnYXRpdmUgbnVtYmVycyB3aXRoIGV4cG9uZW50cyIpOwordGV4dC5z
ZXRBdHRyaWJ1dGUoImJhc2VsaW5lLXNoaWZ0IiwgIi0uNWUycHgiKTsKK3Nob3VsZEJlRXF1YWxU
b1N0cmluZygiZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5iYXNlbGluZVNoaWZ0IiwgIi01MHB4Iik7
CisvLyBSZXNldCBiYXNlbGluZS1zaGlmdCB0byAxMDBweC4KK3RleHQuc2V0QXR0cmlidXRlKCJi
YXNlbGluZS1zaGlmdCIsICIxMDBweCIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJnZXRDb21w
dXRlZFN0eWxlKHRleHQpLmJhc2VsaW5lU2hpZnQiLCAiMTAwcHgiKTsKKwordGV4dC5zZXRBdHRy
aWJ1dGUoImJhc2VsaW5lLXNoaWZ0IiwgIi0wLjVlMnB4Iik7CitzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImdldENvbXB1dGVkU3R5bGUodGV4dCkuYmFzZWxpbmVTaGlmdCIsICItNTBweCIpOworLy8g
UmVzZXQgYmFzZWxpbmUtc2hpZnQgdG8gMTAwcHguCit0ZXh0LnNldEF0dHJpYnV0ZSgiYmFzZWxp
bmUtc2hpZnQiLCAiMTAwcHgiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZ2V0Q29tcHV0ZWRT
dHlsZSh0ZXh0KS5iYXNlbGluZVNoaWZ0IiwgIjEwMHB4Iik7CisKK3RleHQuc2V0QXR0cmlidXRl
KCJiYXNlbGluZS1zaGlmdCIsICItNTAwZS0xcHgiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygi
Z2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5iYXNlbGluZVNoaWZ0IiwgIi01MHB4Iik7CisvLyBSZXNl
dCBiYXNlbGluZS1zaGlmdCB0byAxMDBweC4KK3RleHQuc2V0QXR0cmlidXRlKCJiYXNlbGluZS1z
aGlmdCIsICIxMDBweCIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJnZXRDb21wdXRlZFN0eWxl
KHRleHQpLmJhc2VsaW5lU2hpZnQiLCAiMTAwcHgiKTsKKworCitkZWJ1ZygiIik7CitkZWJ1Zygi
VGVzdCBpZiB2YWx1ZSBhbmQgJ2VtJyBzdGlsbCB3b3JrcyIpOwordGV4dC5zZXRBdHRyaWJ1dGUo
ImJhc2VsaW5lLXNoaWZ0IiwgIjUwZW0iKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZ2V0Q29t
cHV0ZWRTdHlsZSh0ZXh0KS5iYXNlbGluZVNoaWZ0IiwgIjUwZW0iKTsKKy8vIFJlc2V0IGJhc2Vs
aW5lLXNoaWZ0IHRvIDEwMHB4LgordGV4dC5zZXRBdHRyaWJ1dGUoImJhc2VsaW5lLXNoaWZ0Iiwg
IjEwMHB4Iik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImdldENvbXB1dGVkU3R5bGUodGV4dCku
YmFzZWxpbmVTaGlmdCIsICIxMDBweCIpOworCisKK2RlYnVnKCIiKTsKK2RlYnVnKCJUcmFpbGlu
ZyBhbmQgbGVhZGluZyB3aGl0ZXNwYWNlcyIpOwordGV4dC5zZXRBdHRyaWJ1dGUoImZvbnQtc2l6
ZSIsICIgICAgICAgNWUxIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImdldENvbXB1dGVkU3R5
bGUodGV4dCkuZm9udFNpemUiLCAiNTBweCIpOworLy8gUmVzZXQgZm9udC1zaXplIHRvIDEwMHB4
LgordGV4dC5zZXRBdHRyaWJ1dGUoImZvbnQtc2l6ZSIsICIxMDBweCIpOworc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJnZXRDb21wdXRlZFN0eWxlKHRleHQpLmZvbnRTaXplIiwgIjEwMHB4Iik7CisK
K3RleHQuc2V0QXR0cmlidXRlKCJmb250LXNpemUiLCAiNWUxICAgICAgIik7CitzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImdldENvbXB1dGVkU3R5bGUodGV4dCkuZm9udFNpemUiLCAiNTBweCIpOwor
Ly8gUmVzZXQgZm9udC1zaXplIHRvIDEwMHB4LgordGV4dC5zZXRBdHRyaWJ1dGUoImZvbnQtc2l6
ZSIsICIxMDBweCIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJnZXRDb21wdXRlZFN0eWxlKHRl
eHQpLmZvbnRTaXplIiwgIjEwMHB4Iik7CisKKworZGVidWcoIiIpOworZGVidWcoIlRlc3QgYmVo
YXZpb3Igb24gb3ZlcmZsb3ciKTsKK3RleHQuc2V0QXR0cmlidXRlKCJiYXNlbGluZS1zaGlmdCIs
ICIyRSs1MDAiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0
KS5iYXNlbGluZVNoaWZ0IiwgImJhc2VsaW5lIik7CisvLyBSZXNldCBiYXNlbGluZS1zaGlmdCB0
byAxMDBweC4KK3RleHQuc2V0QXR0cmlidXRlKCJiYXNlbGluZS1zaGlmdCIsICIxMDBweCIpOwor
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJnZXRDb21wdXRlZFN0eWxlKHRleHQpLmJhc2VsaW5lU2hp
ZnQiLCAiMTAwcHgiKTsKKwordGV4dC5zZXRBdHRyaWJ1dGUoImJhc2VsaW5lLXNoaWZ0IiwgIi0y
RSs1MDAiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5i
YXNlbGluZVNoaWZ0IiwgImJhc2VsaW5lIik7CisvLyBSZXNldCBiYXNlbGluZS1zaGlmdCB0byAx
MDBweC4KK3RleHQuc2V0QXR0cmlidXRlKCJiYXNlbGluZS1zaGlmdCIsICIxMDBweCIpOworc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJnZXRDb21wdXRlZFN0eWxlKHRleHQpLmJhc2VsaW5lU2hpZnQi
LCAiMTAwcHgiKTsKKworCitkZWJ1ZygiIik7CitkZWJ1ZygiSW52YWxpZCB2YWx1ZXMiKTsKK3Rl
eHQuc2V0QXR0cmlidXRlKCJmb250LXNpemUiLCAiNTBlMC4wIik7CitzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImdldENvbXB1dGVkU3R5bGUodGV4dCkuZm9udFNpemUiLCAiMTZweCIpOworLy8gUmVz
ZXQgZm9udC1zaXplIHRvIDEwMHB4LgordGV4dC5zZXRBdHRyaWJ1dGUoImZvbnQtc2l6ZSIsICIx
MDBweCIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJnZXRDb21wdXRlZFN0eWxlKHRleHQpLmZv
bnRTaXplIiwgIjEwMHB4Iik7CisKK3RleHQuc2V0QXR0cmlidXRlKCJmb250LXNpemUiLCAiNTAg
ZTAiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5mb250
U2l6ZSIsICIxNnB4Iik7CisvLyBSZXNldCBmb250LXNpemUgdG8gMTAwcHguCit0ZXh0LnNldEF0
dHJpYnV0ZSgiZm9udC1zaXplIiwgIjEwMHB4Iik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImdl
dENvbXB1dGVkU3R5bGUodGV4dCkuZm9udFNpemUiLCAiMTAwcHgiKTsKKwordGV4dC5zZXRBdHRy
aWJ1dGUoImZvbnQtc2l6ZSIsICI1MGUgMCIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJnZXRD
b21wdXRlZFN0eWxlKHRleHQpLmZvbnRTaXplIiwgIjE2cHgiKTsKKy8vIFJlc2V0IGZvbnQtc2l6
ZSB0byAxMDBweC4KK3RleHQuc2V0QXR0cmlidXRlKCJmb250LXNpemUiLCAiMTAwcHgiKTsKK3No
b3VsZEJlRXF1YWxUb1N0cmluZygiZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5mb250U2l6ZSIsICIx
MDBweCIpOworCit0ZXh0LnNldEF0dHJpYnV0ZSgiZm9udC1zaXplIiwgIjUwZTAgcHgiKTsKK3No
b3VsZEJlRXF1YWxUb1N0cmluZygiZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5mb250U2l6ZSIsICIx
NnB4Iik7CisvLyBSZXNldCBmb250LXNpemUgdG8gMTAwcHguCit0ZXh0LnNldEF0dHJpYnV0ZSgi
Zm9udC1zaXplIiwgIjEwMHB4Iik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImdldENvbXB1dGVk
U3R5bGUodGV4dCkuZm9udFNpemUiLCAiMTAwcHgiKTsKKwordGV4dC5zZXRBdHRyaWJ1dGUoImZv
bnQtc2l6ZSIsICI1MC5lMCIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJnZXRDb21wdXRlZFN0
eWxlKHRleHQpLmZvbnRTaXplIiwgIjE2cHgiKTsKKy8vIFJlc2V0IGZvbnQtc2l6ZSB0byAxMDBw
eC4KK3RleHQuc2V0QXR0cmlidXRlKCJmb250LXNpemUiLCAiMTAwcHgiKTsKK3Nob3VsZEJlRXF1
YWxUb1N0cmluZygiZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5mb250U2l6ZSIsICIxMDBweCIpOwor
CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworCitjb21wbGV0ZVRlc3QoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>151721</attachid>
            <date>2012-07-11 10:07:17 -0700</date>
            <delta_ts>2012-07-18 03:23:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-52542-20120711190715.patch</filename>
            <type>text/plain</type>
            <size>14484</size>
            <attacher name="Dirk Schulze">krit</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIyMzA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTFjMmYxMjk1NTE2ZDNi
ZjZmMmEyMjk3NzczNThlZjMxMGEyZGNhMi4uMmE4NDllYzFjNzRiMGI1ZTY2NzE3ZWNhNjAxNjFl
OWQ1YjFlYzE4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEyLTA3LTExICBEaXJr
IFNjaHVsemUgIDxrcml0QHdlYmtpdC5vcmc+CisKKyAgICAgICAgU1ZHIENTUyBwcm9wZXJ0eSB0
eXBlcyB3aXRoIDxudW1iZXI+IGRvbid0IHN1cHBvcnQgZXhwb25lbnRzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MjU0MgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFBhcnNlIG51bWJlcnMgaW4gU1ZHIHBy
ZXNlbnRhdGlvbiBhdHRyaWJ1dGVzIHdpdGggU1ZHIHBhcnNlciB0byBzdXBwb3J0IHNjaWVudGlm
aWMgbm90YXRpb25zLgorICAgICAgICBUaGUgU1ZHIHBhcnNlciBpcyBhbHJlYWR5IHdlbGwgdGVz
dGVkIGFuZCBoYXMgc29tZSBleHRyYSBjaGVja3MgZm9yIGVkZ2UgY2FzZXMgdGhhdCBwcmV2ZW50
CisgICAgICAgIHVzIGUuZyBmb3Igb3ZlcmZsb3dzLgorICAgICAgICAKKyAgICAgICAgVGhlIHBh
dGNoIGlzIGJhc2VkIHVwb24gYSBwYXRjaCBvZiBCZWFyIFRyYXZpcy4KKworICAgICAgICBUZXN0
OiBzdmcvY3NzL3NjaWVudGlmaWMtbnVtYmVycy5odG1sCisKKyAgICAgICAgKiBjc3MvQ1NTUGFy
c2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6bGV4KTogVXNlIFNWRyBwYXJz
ZXIgdG8gcGFyc2UgbnVtYmVycyBvZiBTVkcgYXR0cmlidXRlcy4KKyAgICAgICAgKiBzdmcvU1ZH
UGFyc2VyVXRpbGl0aWVzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnBhcnNlU1ZHTnVtYmVyKTog
QWRkZWQgYWNjZXNzb3IgdG8gY2FsbCBmcm9tIENTU1BhcnNlciB3aXRoIGRvdWJsZSB2YWx1ZS4K
KyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIHN2Zy9TVkdQYXJzZXJVdGlsaXRpZXMuaDoK
KyAgICAgICAgKFdlYkNvcmUpOgorCisKIDIwMTItMDctMTEgIEtlbm5ldGggUnVzc2VsbCAgPGti
ckBnb29nbGUuY29tPgogCiAgICAgICAgIGNvbXBvc2l0aW5nL3dlYmdsL3dlYmdsLW5vbnByZW11
bHRpcGxpZWQtYmxlbmQuaHRtbCBpcyBmbGFreSBvbiBMaW9uCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIu
Y3BwCmluZGV4IGQ2ODI4ODM0MzFkZDM2ZDMxMGYyNjQyNjQ5YWQ0MTA3YTE3NzFlZmEuLjQzNzEz
MWM3YTdlNTQxY2Q3YzNmNDQzOGNlMzFkYTUwZDczNDRiM2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJz
ZXIuY3BwCkBAIC02OSw2ICs2OSw3IEBACiAjaW5jbHVkZSAiUmVjdC5oIgogI2luY2x1ZGUgIlJl
bmRlclRoZW1lLmgiCiAjaW5jbHVkZSAiUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oIgorI2luY2x1
ZGUgIlNWR1BhcnNlclV0aWxpdGllcy5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVk
ZSAiU2hhZG93VmFsdWUuaCIKICNpbmNsdWRlICJTdHlsZVByb3BlcnR5U2V0LmgiCkBAIC04OTYz
LDggKzg5NjQsMjkgQEAgcmVzdGFydEFmdGVyQ29tbWVudDoKICAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICB9CiAKLSAgICAgICAgeXlsdmFsLT5udW1iZXIgPSBjaGFyYWN0ZXJzVG9Eb3VibGUo
bV90b2tlblN0YXJ0LCBtX2N1cnJlbnRDaGFyYWN0ZXIgLSBtX3Rva2VuU3RhcnQpOwotCisjaWYg
RU5BQkxFKFNWRykKKyAgICAgICAgLy8gVXNlIFNWRyBwYXJzZXIgZm9yIG51bWJlcnMgb24gU1ZH
IHByZXNlbnRhdGlvbiBhdHRyaWJ1dGVzLgorICAgICAgICBpZiAobV9jb250ZXh0Lm1vZGUgPT0g
U1ZHQXR0cmlidXRlTW9kZSkgeworICAgICAgICAgICAgLy8gV2UgbmVlZCB0byB0YWtlIGNhcmUg
b2YgdW5pdHMgbGlrZSAnZW0nIG9yICdleCcuCisgICAgICAgICAgICBVQ2hhciogY3VycmVudENo
YXJhY3RlciA9IG1fY3VycmVudENoYXJhY3RlcjsKKyAgICAgICAgICAgIGlmIChpc0FTQ0lJQWxw
aGFDYXNlbGVzc0VxdWFsKCpjdXJyZW50Q2hhcmFjdGVyLCAnZScpKSB7CisgICAgICAgICAgICAg
ICAgQVNTRVJUKGN1cnJlbnRDaGFyYWN0ZXIgLSBtX3Rva2VuU3RhcnQgPiAwKTsKKyAgICAgICAg
ICAgICAgICArK2N1cnJlbnRDaGFyYWN0ZXI7CisgICAgICAgICAgICAgICAgaWYgKCpjdXJyZW50
Q2hhcmFjdGVyID09ICctJyB8fCAqY3VycmVudENoYXJhY3RlciA9PSAnKycgfHwgaXNBU0NJSURp
Z2l0KCpjdXJyZW50Q2hhcmFjdGVyKSkgeworICAgICAgICAgICAgICAgICAgICArK2N1cnJlbnRD
aGFyYWN0ZXI7CisgICAgICAgICAgICAgICAgICAgIHdoaWxlIChpc0FTQ0lJRGlnaXQoKmN1cnJl
bnRDaGFyYWN0ZXIpKQorICAgICAgICAgICAgICAgICAgICAgICAgKytjdXJyZW50Q2hhcmFjdGVy
OworICAgICAgICAgICAgICAgICAgICAvLyBVc2UgRkxPQVRUT0tFTiBpZiB0aGUgc3RyaW5nIGNv
bnRhaW5zIGV4cG9uZW50cy4KKyAgICAgICAgICAgICAgICAgICAgZG90U2VlbiA9IHRydWU7Cisg
ICAgICAgICAgICAgICAgICAgIG1fY3VycmVudENoYXJhY3RlciA9IGN1cnJlbnRDaGFyYWN0ZXI7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKCFwYXJz
ZVNWR051bWJlcihtX3Rva2VuU3RhcnQsIGN1cnJlbnRDaGFyYWN0ZXIgLSBtX3Rva2VuU3RhcnQs
IHl5bHZhbC0+bnVtYmVyKSkKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfSBlbHNl
CisjZW5kaWYKKyAgICAgICAgICAgIHl5bHZhbC0+bnVtYmVyID0gY2hhcmFjdGVyc1RvRG91Ymxl
KG1fdG9rZW5TdGFydCwgbV9jdXJyZW50Q2hhcmFjdGVyIC0gbV90b2tlblN0YXJ0KTsKKyAKICAg
ICAgICAgLy8gVHlwZSBvZiB0aGUgZnVuY3Rpb24uCiAgICAgICAgIGlmIChpc0lkZW50aWZpZXJT
dGFydCgpKSB7CiAgICAgICAgICAgICBVQ2hhciogdHlwZSA9IG1fY3VycmVudENoYXJhY3RlcjsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXJzZXJVdGlsaXRpZXMuY3BwIGIv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhcnNlclV0aWxpdGllcy5jcHAKaW5kZXggYmUwYzIxOTli
ODhlYzNjM2ZiYzg5M2YxNmJjNzUzMjA2NDNhMWQzZi4uNzFlMmEzOWUyMzc0NTQ4MzYzYjMyMzhj
YjcyMTBmMzMyNWEzOTU1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhcnNl
clV0aWxpdGllcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhcnNlclV0aWxpdGll
cy5jcHAKQEAgLTE0Miw2ICsxNDIsMTMgQEAgdGVtcGxhdGUgPHR5cGVuYW1lIEZsb2F0VHlwZT4g
c3RhdGljIGJvb2wgZ2VuZXJpY1BhcnNlTnVtYmVyKGNvbnN0IFVDaGFyKiYgcHRyLAogICAgIHJl
dHVybiB0cnVlOwogfQogCitib29sIHBhcnNlU1ZHTnVtYmVyKFVDaGFyKiYgYmVnaW4sIHNpemVf
dCBsZW5ndGgsIGRvdWJsZSYgbnVtYmVyKQoreworICAgIGNvbnN0IFVDaGFyKiBwdHIgPSBiZWdp
bjsKKyAgICBjb25zdCBVQ2hhciogZW5kID0gcHRyICsgbGVuZ3RoOworICAgIHJldHVybiBnZW5l
cmljUGFyc2VOdW1iZXIocHRyLCBlbmQsIG51bWJlciwgZmFsc2UpOworfQorCiBib29sIHBhcnNl
TnVtYmVyKGNvbnN0IFVDaGFyKiYgcHRyLCBjb25zdCBVQ2hhciogZW5kLCBmbG9hdCYgbnVtYmVy
LCBib29sIHNraXApIAogewogICAgIHJldHVybiBnZW5lcmljUGFyc2VOdW1iZXIocHRyLCBlbmQs
IG51bWJlciwgc2tpcCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGFyc2Vy
VXRpbGl0aWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGFyc2VyVXRpbGl0aWVzLmgKaW5k
ZXggYWQzNWEwN2JhM2FiODFkZmQzZWE0MjQyMjcyOWZhMTNmYzE2YWUzOS4uZTFiYTBjOGM5NTAw
M2QwZjczMDU4ZmY5NGZmYjMzYTc1ZDE2NzZmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR1BhcnNlclV0aWxpdGllcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXJz
ZXJVdGlsaXRpZXMuaApAQCAtMzMsNiArMzMsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFz
cyBGbG9hdFJlY3Q7CiBjbGFzcyBTVkdQb2ludExpc3Q7CiAKK2Jvb2wgcGFyc2VTVkdOdW1iZXIo
VUNoYXIqJiBwdHIsIHNpemVfdCBsZW5ndGgsIGRvdWJsZSYgbnVtYmVyKTsKIGJvb2wgcGFyc2VO
dW1iZXIoY29uc3QgVUNoYXIqJiBwdHIsIGNvbnN0IFVDaGFyKiBlbmQsIGZsb2F0JiBudW1iZXIs
IGJvb2wgc2tpcCA9IHRydWUpOwogYm9vbCBwYXJzZU51bWJlckZyb21TdHJpbmcoY29uc3QgU3Ry
aW5nJiwgZmxvYXQmIG51bWJlciwgYm9vbCBza2lwID0gdHJ1ZSk7CiBib29sIHBhcnNlTnVtYmVy
T3B0aW9uYWxOdW1iZXIoY29uc3QgU3RyaW5nJiBzLCBmbG9hdCYgaCwgZmxvYXQmIHYpOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmlu
ZGV4IGMwMWUzYjlkMDIxOWRhZmUyMmM3MGViNTA4NmJiM2JkNjJkN2Q1NWIuLjBiNmNkYjcyMDI3
NWE5N2NhNTI0OTY1NjRiZTQzNjBiMDUwNGUxMGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAx
Mi0wNy0xMSAgRGlyayBTY2h1bHplICA8a3JpdEB3ZWJraXQub3JnPgorCisgICAgICAgIFNWRyBD
U1MgcHJvcGVydHkgdHlwZXMgd2l0aCA8bnVtYmVyPiBkb24ndCBzdXBwb3J0IGV4cG9uZW50cwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTI1NDIKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0IHNjaWVu
dGlmaWMgbnVtYmVyIHZhbHVlcyBvbiBTVkcgcHJlc2VudGF0aW9uIGF0dHJpYnV0ZXMuCisKKyAg
ICAgICAgKiBzdmcvY3NzL3NjaWVudGlmaWMtbnVtYmVycy1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIHN2Zy9jc3Mvc2NpZW50aWZpYy1udW1iZXJzLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHN2Zy9jc3Mvc2NyaXB0LXRlc3RzL3NjaWVudGlmaWMtbnVtYmVycy5qczogQWRkZWQuCisK
IDIwMTItMDctMTEgIEtlbm5ldGggUnVzc2VsbCAgPGtickBnb29nbGUuY29tPgogCiAgICAgICAg
IGNvbXBvc2l0aW5nL3dlYmdsL3dlYmdsLW5vbnByZW11bHRpcGxpZWQtYmxlbmQuaHRtbCBpcyBm
bGFreSBvbiBMaW9uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvY3NzL3NjaWVudGlmaWMt
bnVtYmVycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdmcvY3NzL3NjaWVudGlmaWMtbnVt
YmVycy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDRkZWJiZDJjMzc2NjI2MTY0MjZmMmU4ZTI0
ZmI1ZDA3MGJlMmU5NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N2Zy9jc3Mvc2Np
ZW50aWZpYy1udW1iZXJzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDExNSBAQAorVGVzdCBzY2ll
bnRpZmljIG51bWJlcnMgb24gdmFsdWVzIGZvciBTVkcgcHJlc2VudGF0aW9uIGF0dHJpYnV0ZXMu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCisKK1Rlc3QgcG9zaXRpdmUgZXhwb25l
bnQgdmFsdWVzIHdpdGggJ2UnCitQQVNTIGdldENvbXB1dGVkU3R5bGUodGV4dCkuYmFzZWxpbmVT
aGlmdCBpcyAiYmFzZWxpbmUiCitQQVNTIGdldENvbXB1dGVkU3R5bGUodGV4dCkuYmFzZWxpbmVT
aGlmdCBpcyAiNTBweCIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5iYXNlbGluZVNoaWZ0
IGlzICJiYXNlbGluZSIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5iYXNlbGluZVNoaWZ0
IGlzICI1MHB4IgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKHRleHQpLmJhc2VsaW5lU2hpZnQgaXMg
ImJhc2VsaW5lIgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKHRleHQpLmJhc2VsaW5lU2hpZnQgaXMg
IjUwcHgiCitQQVNTIGdldENvbXB1dGVkU3R5bGUodGV4dCkuYmFzZWxpbmVTaGlmdCBpcyAiYmFz
ZWxpbmUiCitQQVNTIGdldENvbXB1dGVkU3R5bGUodGV4dCkuYmFzZWxpbmVTaGlmdCBpcyAiNTBw
eCIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5iYXNlbGluZVNoaWZ0IGlzICJiYXNlbGlu
ZSIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5iYXNlbGluZVNoaWZ0IGlzICI1MHB4Igor
UEFTUyBnZXRDb21wdXRlZFN0eWxlKHRleHQpLmJhc2VsaW5lU2hpZnQgaXMgImJhc2VsaW5lIgor
UEFTUyBnZXRDb21wdXRlZFN0eWxlKHRleHQpLmJhc2VsaW5lU2hpZnQgaXMgIjUwcHgiCitQQVNT
IGdldENvbXB1dGVkU3R5bGUodGV4dCkuYmFzZWxpbmVTaGlmdCBpcyAiYmFzZWxpbmUiCitQQVNT
IGdldENvbXB1dGVkU3R5bGUodGV4dCkuYmFzZWxpbmVTaGlmdCBpcyAiNTBweCIKK1BBU1MgZ2V0
Q29tcHV0ZWRTdHlsZSh0ZXh0KS5iYXNlbGluZVNoaWZ0IGlzICJiYXNlbGluZSIKK1BBU1MgZ2V0
Q29tcHV0ZWRTdHlsZSh0ZXh0KS5iYXNlbGluZVNoaWZ0IGlzICI1MHB4IgorUEFTUyBnZXRDb21w
dXRlZFN0eWxlKHRleHQpLmJhc2VsaW5lU2hpZnQgaXMgImJhc2VsaW5lIgorUEFTUyBnZXRDb21w
dXRlZFN0eWxlKHRleHQpLmJhc2VsaW5lU2hpZnQgaXMgIjUwcHgiCisKK1Rlc3QgcG9zaXRpdmUg
ZXhwb25lbnQgdmFsdWVzIHdpdGggJ0UnCitQQVNTIGdldENvbXB1dGVkU3R5bGUodGV4dCkuYmFz
ZWxpbmVTaGlmdCBpcyAiYmFzZWxpbmUiCitQQVNTIGdldENvbXB1dGVkU3R5bGUodGV4dCkuYmFz
ZWxpbmVTaGlmdCBpcyAiNTBweCIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5iYXNlbGlu
ZVNoaWZ0IGlzICJiYXNlbGluZSIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5iYXNlbGlu
ZVNoaWZ0IGlzICI1MHB4IgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKHRleHQpLmJhc2VsaW5lU2hp
ZnQgaXMgImJhc2VsaW5lIgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKHRleHQpLmJhc2VsaW5lU2hp
ZnQgaXMgIjUwcHgiCitQQVNTIGdldENvbXB1dGVkU3R5bGUodGV4dCkuYmFzZWxpbmVTaGlmdCBp
cyAiYmFzZWxpbmUiCitQQVNTIGdldENvbXB1dGVkU3R5bGUodGV4dCkuYmFzZWxpbmVTaGlmdCBp
cyAiNTBweCIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5iYXNlbGluZVNoaWZ0IGlzICJi
YXNlbGluZSIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5iYXNlbGluZVNoaWZ0IGlzICI1
MHB4IgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKHRleHQpLmJhc2VsaW5lU2hpZnQgaXMgImJhc2Vs
aW5lIgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKHRleHQpLmJhc2VsaW5lU2hpZnQgaXMgIjUwcHgi
CitQQVNTIGdldENvbXB1dGVkU3R5bGUodGV4dCkuYmFzZWxpbmVTaGlmdCBpcyAiYmFzZWxpbmUi
CitQQVNTIGdldENvbXB1dGVkU3R5bGUodGV4dCkuYmFzZWxpbmVTaGlmdCBpcyAiNTBweCIKK1BB
U1MgZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5iYXNlbGluZVNoaWZ0IGlzICJiYXNlbGluZSIKK1BB
U1MgZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5iYXNlbGluZVNoaWZ0IGlzICI1MHB4IgorUEFTUyBn
ZXRDb21wdXRlZFN0eWxlKHRleHQpLmJhc2VsaW5lU2hpZnQgaXMgImJhc2VsaW5lIgorUEFTUyBn
ZXRDb21wdXRlZFN0eWxlKHRleHQpLmJhc2VsaW5lU2hpZnQgaXMgIjUwcHgiCisKK1Rlc3QgbmVn
YXRpdmUgZXhwb25lbnQgdmFsdWVzIHdpdGggJ2UnCitQQVNTIGdldENvbXB1dGVkU3R5bGUodGV4
dCkuYmFzZWxpbmVTaGlmdCBpcyAiYmFzZWxpbmUiCitQQVNTIGdldENvbXB1dGVkU3R5bGUodGV4
dCkuYmFzZWxpbmVTaGlmdCBpcyAiNTBweCIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5i
YXNlbGluZVNoaWZ0IGlzICJiYXNlbGluZSIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5i
YXNlbGluZVNoaWZ0IGlzICI1MHB4IgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKHRleHQpLmJhc2Vs
aW5lU2hpZnQgaXMgImJhc2VsaW5lIgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKHRleHQpLmJhc2Vs
aW5lU2hpZnQgaXMgIjUwcHgiCitQQVNTIGdldENvbXB1dGVkU3R5bGUodGV4dCkuYmFzZWxpbmVT
aGlmdCBpcyAiYmFzZWxpbmUiCitQQVNTIGdldENvbXB1dGVkU3R5bGUodGV4dCkuYmFzZWxpbmVT
aGlmdCBpcyAiNTBweCIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5iYXNlbGluZVNoaWZ0
IGlzICJiYXNlbGluZSIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS5iYXNlbGluZVNoaWZ0
IGlzICI1MHB4IgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKHRleHQpLmJhc2VsaW5lU2hpZnQgaXMg
ImJhc2VsaW5lIgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKHRleHQpLmJhc2VsaW5lU2hpZnQgaXMg
IjUwcHgiCisKK1Rlc3QgbmVnYXRpdmUgZXhwb25lbnQgdmFsdWVzIHdpdGggJ0UnCitQQVNTIGdl
dENvbXB1dGVkU3R5bGUodGV4dCkuYmFzZWxpbmVTaGlmdCBpcyAiYmFzZWxpbmUiCitQQVNTIGdl
dENvbXB1dGVkU3R5bGUodGV4dCkuYmFzZWxpbmVTaGlmdCBpcyAiNTBweCIKK1BBU1MgZ2V0Q29t
cHV0ZWRTdHlsZSh0ZXh0KS5iYXNlbGluZVNoaWZ0IGlzICJiYXNlbGluZSIKK1BBU1MgZ2V0Q29t
cHV0ZWRTdHlsZSh0ZXh0KS5iYXNlbGluZVNoaWZ0IGlzICI1MHB4IgorUEFTUyBnZXRDb21wdXRl
ZFN0eWxlKHRleHQpLmJhc2VsaW5lU2hpZnQgaXMgImJhc2VsaW5lIgorUEFTUyBnZXRDb21wdXRl
ZFN0eWxlKHRleHQpLmJhc2VsaW5lU2hpZnQgaXMgIjUwcHgiCitQQVNTIGdldENvbXB1dGVkU3R5
bGUodGV4dCkuYmFzZWxpbmVTaGlmdCBpcyAiYmFzZWxpbmUiCitQQVNTIGdldENvbXB1dGVkU3R5
bGUodGV4dCkuYmFzZWxpbmVTaGlmdCBpcyAiNTBweCIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZSh0
ZXh0KS5iYXNlbGluZVNoaWZ0IGlzICJiYXNlbGluZSIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZSh0
ZXh0KS5iYXNlbGluZVNoaWZ0IGlzICI1MHB4IgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKHRleHQp
LmJhc2VsaW5lU2hpZnQgaXMgImJhc2VsaW5lIgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKHRleHQp
LmJhc2VsaW5lU2hpZnQgaXMgIjUwcHgiCisKK1Rlc3QgbmVnYXRpdmUgbnVtYmVycyB3aXRoIGV4
cG9uZW50cworUEFTUyBnZXRDb21wdXRlZFN0eWxlKHRleHQpLmJhc2VsaW5lU2hpZnQgaXMgImJh
c2VsaW5lIgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKHRleHQpLmJhc2VsaW5lU2hpZnQgaXMgIi01
MHB4IgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKHRleHQpLmJhc2VsaW5lU2hpZnQgaXMgImJhc2Vs
aW5lIgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKHRleHQpLmJhc2VsaW5lU2hpZnQgaXMgIi01MHB4
IgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKHRleHQpLmJhc2VsaW5lU2hpZnQgaXMgImJhc2VsaW5l
IgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKHRleHQpLmJhc2VsaW5lU2hpZnQgaXMgIi01MHB4Igor
CitUZXN0IGlmIHZhbHVlIGFuZCAnZW0nIHN0aWxsIHdvcmtzCitQQVNTIGdldENvbXB1dGVkU3R5
bGUodGV4dCkuYmFzZWxpbmVTaGlmdCBpcyAiYmFzZWxpbmUiCitQQVNTIGdldENvbXB1dGVkU3R5
bGUodGV4dCkuYmFzZWxpbmVTaGlmdCBpcyAiNTBlbSIKKworVGVzdCBpZiB2YWx1ZSBhbmQgJ2V4
JyBzdGlsbCB3b3JrcworUEFTUyBnZXRDb21wdXRlZFN0eWxlKHRleHQpLmJhc2VsaW5lU2hpZnQg
aXMgImJhc2VsaW5lIgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKHRleHQpLmJhc2VsaW5lU2hpZnQg
aXMgIjUwZXgiCisKK1RyYWlsaW5nIGFuZCBsZWFkaW5nIHdoaXRlc3BhY2VzCitQQVNTIGdldENv
bXB1dGVkU3R5bGUodGV4dCkuYmFzZWxpbmVTaGlmdCBpcyAiYmFzZWxpbmUiCitQQVNTIGdldENv
bXB1dGVkU3R5bGUodGV4dCkuYmFzZWxpbmVTaGlmdCBpcyAiNTBweCIKK1BBU1MgZ2V0Q29tcHV0
ZWRTdHlsZSh0ZXh0KS5iYXNlbGluZVNoaWZ0IGlzICJiYXNlbGluZSIKK1BBU1MgZ2V0Q29tcHV0
ZWRTdHlsZSh0ZXh0KS5iYXNlbGluZVNoaWZ0IGlzICI1MHB4IgorCitUZXN0IGJlaGF2aW9yIG9u
IG92ZXJmbG93CitQQVNTIGdldENvbXB1dGVkU3R5bGUodGV4dCkuYmFzZWxpbmVTaGlmdCBpcyAi
YmFzZWxpbmUiCitQQVNTIGdldENvbXB1dGVkU3R5bGUodGV4dCkuYmFzZWxpbmVTaGlmdCBpcyAi
YmFzZWxpbmUiCitQQVNTIGdldENvbXB1dGVkU3R5bGUodGV4dCkuYmFzZWxpbmVTaGlmdCBpcyAi
YmFzZWxpbmUiCitQQVNTIGdldENvbXB1dGVkU3R5bGUodGV4dCkuYmFzZWxpbmVTaGlmdCBpcyAi
YmFzZWxpbmUiCisKK0ludmFsaWQgdmFsdWVzCitQQVNTIGdldENvbXB1dGVkU3R5bGUodGV4dCku
YmFzZWxpbmVTaGlmdCBpcyAiYmFzZWxpbmUiCitQQVNTIGdldENvbXB1dGVkU3R5bGUodGV4dCku
YmFzZWxpbmVTaGlmdCBpcyAiYmFzZWxpbmUiCitQQVNTIGdldENvbXB1dGVkU3R5bGUodGV4dCku
YmFzZWxpbmVTaGlmdCBpcyAiYmFzZWxpbmUiCitQQVNTIGdldENvbXB1dGVkU3R5bGUodGV4dCku
YmFzZWxpbmVTaGlmdCBpcyAiYmFzZWxpbmUiCitQQVNTIGdldENvbXB1dGVkU3R5bGUodGV4dCku
YmFzZWxpbmVTaGlmdCBpcyAiYmFzZWxpbmUiCitQQVNTIGdldENvbXB1dGVkU3R5bGUodGV4dCku
YmFzZWxpbmVTaGlmdCBpcyAiYmFzZWxpbmUiCitQQVNTIGdldENvbXB1dGVkU3R5bGUodGV4dCku
YmFzZWxpbmVTaGlmdCBpcyAiYmFzZWxpbmUiCitQQVNTIGdldENvbXB1dGVkU3R5bGUodGV4dCku
YmFzZWxpbmVTaGlmdCBpcyAiYmFzZWxpbmUiCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2Nzcy9z
Y2llbnRpZmljLW51bWJlcnMuaHRtbCBiL0xheW91dFRlc3RzL3N2Zy9jc3Mvc2NpZW50aWZpYy1u
dW1iZXJzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjU1NzNkNDJmODY2ODBiNjI4MDNjNTY3YjlhMWI0YjFl
ZWYzODQ0MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N2Zy9jc3Mvc2NpZW50aWZp
Yy1udW1iZXJzLmh0bWwKQEAgLTAsMCArMSwxMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3N2Zy9keW5hbWljLXVwZGF0ZXMvcmVzb3VyY2Vz
L1NWR1Rlc3RDYXNlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlk
PSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNy
Yz0ic2NyaXB0LXRlc3RzL3NjaWVudGlmaWMtbnVtYmVycy5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvc3ZnL2Nzcy9zY3JpcHQtdGVzdHMvc2NpZW50aWZpYy1udW1iZXJzLmpzIGIvTGF5b3V0
VGVzdHMvc3ZnL2Nzcy9zY3JpcHQtdGVzdHMvc2NpZW50aWZpYy1udW1iZXJzLmpzCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjRiNzE1NWZlNDVkYzBmYTY1ZjdiNDc3MmFlNmJlMWVkYWQ1Y2ZkNGQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9zdmcvY3NzL3NjcmlwdC10ZXN0cy9zY2llbnRpZmljLW51bWJl
cnMuanMKQEAgLTAsMCArMSw5NSBAQAorZGVzY3JpcHRpb24oIlRlc3Qgc2NpZW50aWZpYyBudW1i
ZXJzIG9uIDxsZW5ndGg+IHZhbHVlcyBmb3IgU1ZHIHByZXNlbnRhdGlvbiBhdHRyaWJ1dGVzLiIp
CitjcmVhdGVTVkdUZXN0Q2FzZSgpOworCit2YXIgdGV4dCA9IGNyZWF0ZVNWR0VsZW1lbnQoInRl
eHQiKTsKK3RleHQuc2V0QXR0cmlidXRlKCJpZCIsICJ0ZXh0Iik7Cit0ZXh0LnNldEF0dHJpYnV0
ZSgieCIsICIxMDBweCIpOwordGV4dC5zZXRBdHRyaWJ1dGUoInkiLCAiMTAwcHgiKTsKK3Jvb3RT
VkdFbGVtZW50LmFwcGVuZENoaWxkKHRleHQpOworCitmdW5jdGlvbiB0ZXN0KHZhbHVlU3RyaW5n
LCBleHBlY3RlZFZhbHVlKSB7CisJLy8gUmVzZXQgYmFzZWxpbmUtc2hpZnQgdG8gYmFzZWxpbmUu
CisJdGV4dC5zZXRBdHRyaWJ1dGUoImJhc2VsaW5lLXNoaWZ0IiwgImJhc2VsaW5lIik7CisJc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJnZXRDb21wdXRlZFN0eWxlKHRleHQpLmJhc2VsaW5lU2hpZnQi
LCAiYmFzZWxpbmUiKTsKKworCS8vIFJ1biB0ZXN0CisJdGV4dC5zZXRBdHRyaWJ1dGUoImJhc2Vs
aW5lLXNoaWZ0IiwgdmFsdWVTdHJpbmcpOworCXNob3VsZEJlRXF1YWxUb1N0cmluZygiZ2V0Q29t
cHV0ZWRTdHlsZSh0ZXh0KS5iYXNlbGluZVNoaWZ0IiwgZXhwZWN0ZWRWYWx1ZSk7Cit9CisKK2Rl
YnVnKCIiKTsKK2RlYnVnKCJUZXN0IHBvc2l0aXZlIGV4cG9uZW50IHZhbHVlcyB3aXRoICdlJyIp
OwordGVzdCgiLjVlMiIsICI1MHB4Iik7Cit0ZXN0KCI1ZTEiLCAiNTBweCIpOwordGVzdCgiMC41
ZTIiLCAiNTBweCIpOwordGVzdCgiKy41ZTIiLCAiNTBweCIpOwordGVzdCgiKzVlMSIsICI1MHB4
Iik7Cit0ZXN0KCIrMC41ZTIiLCAiNTBweCIpOwordGVzdCgiLjVlKzIiLCAiNTBweCIpOwordGVz
dCgiNWUrMSIsICI1MHB4Iik7Cit0ZXN0KCIwLjVlKzIiLCAiNTBweCIpOworCitkZWJ1ZygiIik7
CitkZWJ1ZygiVGVzdCBwb3NpdGl2ZSBleHBvbmVudCB2YWx1ZXMgd2l0aCAnRSciKTsKK3Rlc3Qo
Ii41RTIiLCAiNTBweCIpOwordGVzdCgiNUUxIiwgIjUwcHgiKTsKK3Rlc3QoIjAuNUUyIiwgIjUw
cHgiKTsKK3Rlc3QoIisuNUUyIiwgIjUwcHgiKTsKK3Rlc3QoIis1RTEiLCAiNTBweCIpOwordGVz
dCgiKzAuNUUyIiwgIjUwcHgiKTsKK3Rlc3QoIi41RSsyIiwgIjUwcHgiKTsKK3Rlc3QoIjVFKzEi
LCAiNTBweCIpOwordGVzdCgiMC41RSsyIiwgIjUwcHgiKTsKKworZGVidWcoIiIpOworZGVidWco
IlRlc3QgbmVnYXRpdmUgZXhwb25lbnQgdmFsdWVzIHdpdGggJ2UnIik7Cit0ZXN0KCI1MDAwZS0y
IiwgIjUwcHgiKTsKK3Rlc3QoIjUwMGUtMSIsICI1MHB4Iik7Cit0ZXN0KCIrNTAwMGUtMiIsICI1
MHB4Iik7Cit0ZXN0KCIrNTAwZS0xIiwgIjUwcHgiKTsKK3Rlc3QoIis1MDAwZS0ycHgiLCAiNTBw
eCIpOwordGVzdCgiKzUwMGUtMXB4IiwgIjUwcHgiKTsKKworZGVidWcoIiIpOworZGVidWcoIlRl
c3QgbmVnYXRpdmUgZXhwb25lbnQgdmFsdWVzIHdpdGggJ0UnIik7Cit0ZXN0KCI1MDAwRS0yIiwg
IjUwcHgiKTsKK3Rlc3QoIjUwMEUtMSIsICI1MHB4Iik7Cit0ZXN0KCIrNTAwMEUtMiIsICI1MHB4
Iik7Cit0ZXN0KCIrNTAwRS0xIiwgIjUwcHgiKTsKK3Rlc3QoIis1MDAwLjAwRS0ycHgiLCAiNTBw
eCIpOwordGVzdCgiKzUwMEUtMXB4IiwgIjUwcHgiKTsKKworZGVidWcoIiIpOworZGVidWcoIlRl
c3QgbmVnYXRpdmUgbnVtYmVycyB3aXRoIGV4cG9uZW50cyIpOwordGVzdCgiLS41ZTJweCIsICIt
NTBweCIpOwordGVzdCgiLTAuNWUycHgiLCAiLTUwcHgiKTsKK3Rlc3QoIi01MDBlLTFweCIsICIt
NTBweCIpOworCitkZWJ1ZygiIik7CitkZWJ1ZygiVGVzdCBpZiB2YWx1ZSBhbmQgJ2VtJyBzdGls
bCB3b3JrcyIpOwordGVzdCgiNTBlbSIsICI1MGVtIik7CisKK2RlYnVnKCIiKTsKK2RlYnVnKCJU
ZXN0IGlmIHZhbHVlIGFuZCAnZXgnIHN0aWxsIHdvcmtzIik7Cit0ZXN0KCI1MGV4IiwgIjUwZXgi
KTsKKworZGVidWcoIiIpOworZGVidWcoIlRyYWlsaW5nIGFuZCBsZWFkaW5nIHdoaXRlc3BhY2Vz
Iik7Cit0ZXN0KCIgICAgICAgNWUxIiwgIjUwcHgiKTsKK3Rlc3QoIjVlMSAgICAgICIsICI1MHB4
Iik7CisKK2RlYnVnKCIiKTsKK2RlYnVnKCJUZXN0IGJlaGF2aW9yIG9uIG92ZXJmbG93Iik7Cit0
ZXN0KCIyRSs1MDAiLCAiYmFzZWxpbmUiKTsKK3Rlc3QoIi0yRSs1MDAiLCAiYmFzZWxpbmUiKTsK
KworZGVidWcoIiIpOworZGVidWcoIkludmFsaWQgdmFsdWVzIik7Cit0ZXN0KCI1MGUwLjAiLCAi
YmFzZWxpbmUiKTsKK3Rlc3QoIjUwIGUwIiwgImJhc2VsaW5lIik7Cit0ZXN0KCI1MGUgMCIsICJi
YXNlbGluZSIpOwordGVzdCgiNTAuZTAiLCAiYmFzZWxpbmUiKTsKKwordmFyIHN1Y2Nlc3NmdWxs
eVBhcnNlZCA9IHRydWU7CisKK2NvbXBsZXRlVGVzdCgpOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUK
</data>
<flag name="review"
          id="160239"
          type_id="1"
          status="+"
          setter="zimmermann"
    />
          </attachment>
      

    </bug>

</bugzilla>