<?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>100524</bug_id>
          
          <creation_ts>2012-10-26 07:53:08 -0700</creation_ts>
          <short_desc>Allow painting outside overflow clip in accelerated scrolling layers</short_desc>
          <delta_ts>2012-11-19 05:01:13 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>97801</dependson>
    
    <dependson>102678</dependson>
          <blocked>96087</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Sami Kyöstilä">skyostil</reporter>
          <assigned_to name="Sami Kyöstilä">skyostil</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>jamesr</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>752053</commentid>
    <comment_count>0</comment_count>
    <who name="Sami Kyöstilä">skyostil</who>
    <bug_when>2012-10-26 07:53:08 -0700</bug_when>
    <thetext>Allow painting outside overflow clip in accelerated scrolling layers</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>752089</commentid>
    <comment_count>1</comment_count>
      <attachid>170937</attachid>
    <who name="Sami Kyöstilä">skyostil</who>
    <bug_when>2012-10-26 08:49:53 -0700</bug_when>
    <thetext>Created attachment 170937
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>752094</commentid>
    <comment_count>2</comment_count>
    <who name="Sami Kyöstilä">skyostil</who>
    <bug_when>2012-10-26 08:52:27 -0700</bug_when>
    <thetext>This was split off bug 96087. Requires test support from bug 97801.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>752176</commentid>
    <comment_count>3</comment_count>
      <attachid>170937</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-10-26 10:48:03 -0700</bug_when>
    <thetext>Comment on attachment 170937
Patch

Attachment 170937 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/14612095

New failing tests:
compositing/overflow/updating-scrolling-content.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>752250</commentid>
    <comment_count>4</comment_count>
      <attachid>170937</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-26 11:59:41 -0700</bug_when>
    <thetext>Comment on attachment 170937
Patch

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

New failing tests:
platform/chromium/virtual/softwarecompositing/overflow/updating-scrolling-content.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>759472</commentid>
    <comment_count>5</comment_count>
      <attachid>172536</attachid>
    <who name="Sami Kyöstilä">skyostil</who>
    <bug_when>2012-11-06 03:06:28 -0800</bug_when>
    <thetext>Created attachment 172536
Patch

Rebased now that 97801 landed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>759594</commentid>
    <comment_count>6</comment_count>
      <attachid>172536</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2012-11-06 06:15:37 -0800</bug_when>
    <thetext>Comment on attachment 172536
Patch

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

Looks good. One question:

&gt; Source/WebCore/rendering/RenderBox.cpp:656
&gt; +    if (hasOverflowClip() &amp;&amp; hasLayer() &amp;&amp; layer()-&gt;usesCompositedScrolling())

does hasOverflowClip imply a having a layer? If so, should we extract hasOverflowClip and usesCompositedScrolling into a helper method?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>759637</commentid>
    <comment_count>7</comment_count>
      <attachid>172536</attachid>
    <who name="Sami Kyöstilä">skyostil</who>
    <bug_when>2012-11-06 06:59:12 -0800</bug_when>
    <thetext>Comment on attachment 172536
Patch

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

&gt;&gt; Source/WebCore/rendering/RenderBox.cpp:656
&gt;&gt; +    if (hasOverflowClip() &amp;&amp; hasLayer() &amp;&amp; layer()-&gt;usesCompositedScrolling())
&gt; 
&gt; does hasOverflowClip imply a having a layer? If so, should we extract hasOverflowClip and usesCompositedScrolling into a helper method?

Yes, I believe it does. Good idea, this makes things a little neater.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>759640</commentid>
    <comment_count>8</comment_count>
      <attachid>172578</attachid>
    <who name="Sami Kyöstilä">skyostil</who>
    <bug_when>2012-11-06 07:08:13 -0800</bug_when>
    <thetext>Created attachment 172578
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>759828</commentid>
    <comment_count>9</comment_count>
      <attachid>172578</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-11-06 10:24:15 -0800</bug_when>
    <thetext>Comment on attachment 172578
Patch

I&apos;m confused about why we need this patch. Doesn&apos;t the ShouldRespectOverflowClip stuff in RenderLayer take care of this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>759900</commentid>
    <comment_count>10</comment_count>
    <who name="Sami Kyöstilä">skyostil</who>
    <bug_when>2012-11-06 11:18:24 -0800</bug_when>
    <thetext>The reason why we also need this is to make sure we don&apos;t lose any updates to the contents of the scrolling GraphicsLayer. Consider this case where A and B form the scrolling content. The A part is currently inside the overflow clip (i.e., visible) and B is hidden:

    +---+
    | A |
    +---+
    : B :
    +...+

Since A is visible, it will be painted to the scrolling GraphicsLayer. Now if we scroll down, the situation becomes this:

    +...+
    : A :
    +---+
    | B |
    +---+

Now both A and B have been painted to the GraphicsLayer. Suppose we now change the A content to C. Without the patch, nothing happens because the paint operation is outside the overflow clip. With the patch, the new content is properly updated:

    w/patch      w/o patch
    =======      =========

    +...+        +...+
    : C :        : A :
    +---+        +---+
    | B |        | B |
    +---+        +---+

Finally let&apos;s scroll back up. Since scrolling no longer invalidates the content, without the patch we see the old A instead the new C:

    +---+        +---+
    | C |        | A |
    +---+        +---+
    : B :        : B :
    +...+        +...+

I&apos;m open to suggestions if you have a better way of solving this problem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>759912</commentid>
    <comment_count>11</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-11-06 11:28:25 -0800</bug_when>
    <thetext>Do your tests show that this problem exists on iOS 6?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>760512</commentid>
    <comment_count>12</comment_count>
    <who name="Sami Kyöstilä">skyostil</who>
    <bug_when>2012-11-07 03:54:54 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; Do your tests show that this problem exists on iOS 6?

iOS 6 has a similar fix for this bug (see RenderBox::computeRectForRepaint), but it doesn&apos;t cover all the cases. For example, a text selection isn&apos;t painted outside the overflow clip, but I think iOS uses a different way to highlight selected text so the problem doesn&apos;t show up.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>764413</commentid>
    <comment_count>13</comment_count>
    <who name="Sami Kyöstilä">skyostil</who>
    <bug_when>2012-11-12 07:41:00 -0800</bug_when>
    <thetext>Simon, do you think there&apos;s something that needs to be done for this patch?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>764472</commentid>
    <comment_count>14</comment_count>
      <attachid>172578</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-11-12 09:08:13 -0800</bug_when>
    <thetext>Comment on attachment 172578
Patch

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

&gt; Source/WebCore/rendering/RenderBlock.cpp:2757
&gt; +    if (!isRoot() &amp;&amp; !usesCompositedScrolling()) {

This seems a bit heavy-handed. Maybe it would be better to provide a variant of visualOverflowRect() that checks for composited scrolling? This is also hot code so beware of perf regressions.

&gt; Source/WebCore/rendering/RenderBox.cpp:622
&gt; +    return hasOverflowClip() &amp;&amp; layer()-&gt;usesCompositedScrolling();

There are some cases where hasOverflowClip() does not guarantee that you have a layer(), so you should check hasLayer() too.

&gt; Source/WebCore/rendering/RenderBox.cpp:662
&gt;      paintRect.move(-scrolledContentOffset()); // For overflow:auto/scroll/hidden.
&gt;  
&gt; +    // Do not clip scroll layer contents to reduce the number of repaints while scrolling.
&gt; +    if (usesCompositedScrolling())
&gt; +        return;

Why bother to move the paintRect if you&apos;re going to return?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>765716</commentid>
    <comment_count>15</comment_count>
    <who name="Sami Kyöstilä">skyostil</who>
    <bug_when>2012-11-13 09:57:30 -0800</bug_when>
    <thetext>(In reply to comment #14)
&gt; (From update of attachment 172578 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=172578&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/rendering/RenderBlock.cpp:2757
&gt; &gt; +    if (!isRoot() &amp;&amp; !usesCompositedScrolling()) {
&gt; 
&gt; This seems a bit heavy-handed. Maybe it would be better to provide a variant of visualOverflowRect() that checks for composited scrolling? This is also hot code so beware of perf regressions.

I took your suggestion and now check against the union rect of visual and layout overflow for composited scrolling. While doing this I noticed RenderTable also does similar paint rejection, but since I wasn&apos;t able to make composited scrolling trigger that path I opted not to change it.

&gt; &gt; Source/WebCore/rendering/RenderBox.cpp:622
&gt; &gt; +    return hasOverflowClip() &amp;&amp; layer()-&gt;usesCompositedScrolling();
&gt; 
&gt; There are some cases where hasOverflowClip() does not guarantee that you have a layer(), so you should check hasLayer() too.

Thanks, I wasn&apos;t aware of this.

&gt; &gt; Source/WebCore/rendering/RenderBox.cpp:662
&gt; &gt;      paintRect.move(-scrolledContentOffset()); // For overflow:auto/scroll/hidden.
&gt; &gt;  
&gt; &gt; +    // Do not clip scroll layer contents to reduce the number of repaints while scrolling.
&gt; &gt; +    if (usesCompositedScrolling())
&gt; &gt; +        return;
&gt; 
&gt; Why bother to move the paintRect if you&apos;re going to return?

paintRect is a reference and we always need to apply the scroll offset to it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>765720</commentid>
    <comment_count>16</comment_count>
      <attachid>173916</attachid>
    <who name="Sami Kyöstilä">skyostil</who>
    <bug_when>2012-11-13 09:59:48 -0800</bug_when>
    <thetext>Created attachment 173916
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>765785</commentid>
    <comment_count>17</comment_count>
      <attachid>173916</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-11-13 10:39:51 -0800</bug_when>
    <thetext>Comment on attachment 173916
Patch

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

&gt; Source/WebCore/rendering/RenderBox.cpp:622
&gt; +    return hasOverflowClip() &amp;&amp; layer() &amp;&amp; layer()-&gt;usesCompositedScrolling();

use hasLayer() (it&apos;s a bit-check).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>765802</commentid>
    <comment_count>18</comment_count>
      <attachid>173927</attachid>
    <who name="Sami Kyöstilä">skyostil</who>
    <bug_when>2012-11-13 10:50:21 -0800</bug_when>
    <thetext>Created attachment 173927
Patch

Patch for landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>765859</commentid>
    <comment_count>19</comment_count>
      <attachid>173927</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-13 11:41:05 -0800</bug_when>
    <thetext>Comment on attachment 173927
Patch

Clearing flags on attachment: 173927

Committed r134456: &lt;http://trac.webkit.org/changeset/134456&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>765860</commentid>
    <comment_count>20</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-13 11:41:10 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>170937</attachid>
            <date>2012-10-26 08:49:53 -0700</date>
            <delta_ts>2012-11-06 03:06:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100524-20121026164824.patch</filename>
            <type>text/plain</type>
            <size>10353</size>
            <attacher name="Sami Kyöstilä">skyostil</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMyNTk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmU4MDE2YTYwMzQ1ZDZi
MWZjZGFiZWI5YzRjNmY3N2NkODVjMzFiNy4uZDZlMWIyYTA0OGIxNmI0NzAwZjI5NjM2YTUwNGNi
YjlmZmVkNjZiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEyLTEwLTI2ICBTYW1p
IEt5b3N0aWxhICA8c2t5b3N0aWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEFsbG93IHBhaW50
aW5nIG91dHNpZGUgb3ZlcmZsb3cgY2xpcCBpbiBhY2NlbGVyYXRlZCBzY3JvbGxpbmcgbGF5ZXJz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDA1MjQK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbiBwcmVw
YXJhdGlvbiBmb3IgYXZvaWRpbmcgcmVwYWludHMgd2hlbiBzY3JvbGxpbmcgY2hpbGQgbGF5ZXJz
LCBtYWtlIGl0CisgICAgICAgIHBvc3NpYmxlIHRvIHBhaW50IG91dHNpZGUgdGhlIG92ZXJmbG93
IGNsaXAuCisKKyAgICAgICAgVGVzdDogY29tcG9zaXRpbmcvb3ZlcmZsb3cvdXBkYXRpbmctc2Ny
b2xsaW5nLWNvbnRlbnQuaHRtbAorCisgICAgICAgICogcmVuZGVyaW5nL0xheW91dFN0YXRlLmg6
CisgICAgICAgIChMYXlvdXRTdGF0ZSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2Nr
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpwYWludCk6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlckJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OmFw
cGx5Q2FjaGVkQ2xpcEFuZFNjcm9sbE9mZnNldEZvclJlcGFpbnQpOgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJMYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6cmVw
YWludEJsb2NrU2VsZWN0aW9uR2Fwcyk6CisKIDIwMTItMTAtMjUgIElhbiBWb2xsaWNrICA8dm9s
bGlja0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgU3VwcG9ydCBpbnZhbGlkYXRpb24gdHJhY2tp
bmcgZm9yIGNvbXBvc2l0ZWQgbGF5ZXJzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvTGF5b3V0U3RhdGUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9MYXlvdXRTdGF0
ZS5oCmluZGV4IGIwYWM0OTQzZWEwNDViMDRlMjhkZDY4M2E5YjQ0NmI4MTY2OTQ3YzQuLmEyMzIy
ZTEyZjdjODgzOTJmNzFjODQ1ZTJmNzc1MzMyMTdhYjc3ZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9MYXlvdXRTdGF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9MYXlvdXRTdGF0ZS5oCkBAIC0xMTcsNiArMTE3LDggQEAgcHVibGljOgogICAgIGJvb2wg
bV9sYXlvdXREZWx0YVhTYXR1cmF0ZWQ7CiAgICAgYm9vbCBtX2xheW91dERlbHRhWVNhdHVyYXRl
ZDsKICNlbmRpZgorICAgIC8vIEZJWE1FOiBEaXN0aW5ndWlzaCBiZXR3ZWVuIHRoZSBsYXlvdXQg
Y2xpcCByZWN0IGFuZCB0aGUgcGFpbnQgY2xpcCByZWN0IHdoaWNoIG1heSBiZSBsYXJnZXIsCisg
ICAgLy8gZS5nLiwgYmVjYXVzZSBvZiBjb21wb3NpdGVkIHNjcm9sbGluZy4KICAgICBMYXlvdXRS
ZWN0IG1fY2xpcFJlY3Q7CiAgICAgCiAgICAgLy8geC95IG9mZnNldCBmcm9tIGNvbnRhaW5lci4g
SW5jbHVkZXMgcmVsYXRpdmUgcG9zaXRpb25pbmcgYW5kIHNjcm9sbCBvZmZzZXRzLgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKaW5kZXggZjIwYjBiMjJmODczZTY4ZWIx
NDMzOTVlZDIwOGE4ZDcxOGRiZWQ2Mi4uNDUyNjBiNDI4MTFhOTQ0NDI2ZGU0YWE1OTkwZWViM2Qx
MGE1NDZhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2Nr
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCkBAIC0y
NzQ3LDcgKzI3NDcsNyBAQCB2b2lkIFJlbmRlckJsb2NrOjpwYWludChQYWludEluZm8mIHBhaW50
SW5mbywgY29uc3QgTGF5b3V0UG9pbnQmIHBhaW50T2Zmc2V0KQogICAgIC8vIENoZWNrIGlmIHdl
IG5lZWQgdG8gZG8gYW55dGhpbmcgYXQgYWxsLgogICAgIC8vIEZJWE1FOiBDb3VsZCBlbGltaW5h
dGUgdGhlIGlzUm9vdCgpIGNoZWNrIGlmIHdlIGZpeCBiYWNrZ3JvdW5kIHBhaW50aW5nIHNvIHRo
YXQgdGhlIFJlbmRlclZpZXcKICAgICAvLyBwYWludHMgdGhlIHJvb3QncyBiYWNrZ3JvdW5kLgot
ICAgIGlmICghaXNSb290KCkpIHsKKyAgICBpZiAoIWlzUm9vdCgpICYmICEoaGFzT3ZlcmZsb3dD
bGlwKCkgJiYgaGFzTGF5ZXIoKSAmJiBsYXllcigpLT51c2VzQ29tcG9zaXRlZFNjcm9sbGluZygp
KSkgewogICAgICAgICBMYXlvdXRSZWN0IG92ZXJmbG93Qm94ID0gdmlzdWFsT3ZlcmZsb3dSZWN0
KCk7CiAgICAgICAgIGZsaXBGb3JXcml0aW5nTW9kZShvdmVyZmxvd0JveCk7CiAgICAgICAgIG92
ZXJmbG93Qm94LmluZmxhdGUobWF4aW1hbE91dGxpbmVTaXplKHBhaW50SW5mby5waGFzZSkpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAppbmRleCA2ODNjMjM4MzkxY2EyNDk3
MzVkZTY4MjFhYTQyMjFhYjRjMzU2NDY0Li5jZDM5NGJjNzA3ZjA1Y2NkZGM2N2RiNmFiNjY0YzY2
ZjM3YTFkYzA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcApAQCAtNjUy
LDYgKzY1MiwxMCBAQCB2b2lkIFJlbmRlckJveDo6YXBwbHlDYWNoZWRDbGlwQW5kU2Nyb2xsT2Zm
c2V0Rm9yUmVwYWludChMYXlvdXRSZWN0JiBwYWludFJlY3QpCiB7CiAgICAgcGFpbnRSZWN0Lm1v
dmUoLXNjcm9sbGVkQ29udGVudE9mZnNldCgpKTsgLy8gRm9yIG92ZXJmbG93OmF1dG8vc2Nyb2xs
L2hpZGRlbi4KIAorICAgIC8vIERvIG5vdCBjbGlwIHNjcm9sbCBsYXllciBjb250ZW50cyB0byBy
ZWR1Y2UgdGhlIG51bWJlciBvZiByZXBhaW50cyB3aGlsZSBzY3JvbGxpbmcuCisgICAgaWYgKGhh
c092ZXJmbG93Q2xpcCgpICYmIGhhc0xheWVyKCkgJiYgbGF5ZXIoKS0+dXNlc0NvbXBvc2l0ZWRT
Y3JvbGxpbmcoKSkKKyAgICAgICAgcmV0dXJuOworCiAgICAgLy8gaGVpZ2h0KCkgaXMgaW5hY2N1
cmF0ZSBpZiB3ZSdyZSBpbiB0aGUgbWlkZGxlIG9mIGEgbGF5b3V0IG9mIHRoaXMgUmVuZGVyQm94
LCBzbyB1c2UgdGhlCiAgICAgLy8gbGF5ZXIncyBzaXplIGluc3RlYWQuIEV2ZW4gaWYgdGhlIGxh
eWVyJ3Mgc2l6ZSBpcyB3cm9uZywgdGhlIGxheWVyIGl0c2VsZiB3aWxsIHJlcGFpbnQKICAgICAv
LyBhbnl3YXkgaWYgaXRzIHNpemUgZG9lcyBjaGFuZ2UuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyLmNwcAppbmRleCA2OTkwOGFmNDIwMDI3NmNmNmE0NWU2MTM0MTA4Yzk0OTVi
N2QzNmIzLi41NWZmN2FhMDk5MWQ5NzJjYTEyODEwYzhlMTAzMTQyZjE3ZDk5ZDg3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKQEAgLTQyNTEsNyArNDI1MSw3IEBA
IHZvaWQgUmVuZGVyTGF5ZXI6OnJlcGFpbnRCbG9ja1NlbGVjdGlvbkdhcHMoKQogCiAgICAgTGF5
b3V0UmVjdCByZWN0ID0gbV9ibG9ja1NlbGVjdGlvbkdhcHNCb3VuZHM7CiAgICAgcmVjdC5tb3Zl
KC1zY3JvbGxlZENvbnRlbnRPZmZzZXQoKSk7Ci0gICAgaWYgKHJlbmRlcmVyKCktPmhhc092ZXJm
bG93Q2xpcCgpKQorICAgIGlmIChyZW5kZXJlcigpLT5oYXNPdmVyZmxvd0NsaXAoKSAmJiAhdXNl
c0NvbXBvc2l0ZWRTY3JvbGxpbmcoKSkKICAgICAgICAgcmVjdC5pbnRlcnNlY3QodG9SZW5kZXJC
b3gocmVuZGVyZXIoKSktPm92ZXJmbG93Q2xpcFJlY3QoTGF5b3V0UG9pbnQoKSwgMCkpOyAvLyBG
SVhNRTogUmVnaW9ucyBub3QgYWNjb3VudGVkIGZvci4KICAgICBpZiAocmVuZGVyZXIoKS0+aGFz
Q2xpcCgpKQogICAgICAgICByZWN0LmludGVyc2VjdCh0b1JlbmRlckJveChyZW5kZXJlcigpKS0+
Y2xpcFJlY3QoTGF5b3V0UG9pbnQoKSwgMCkpOyAvLyBGSVhNRTogUmVnaW9ucyBub3QgYWNjb3Vu
dGVkIGZvci4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwppbmRleCA2YmViNGUyMTg1NzRiMDUxM2Q5NGM4NjBlYjJmZmQ0ZDczZTE3MTVj
Li5mYzg2MTcxYWQ0NjVkZjhmMDFjY2EwM2ExNmFmYWFjZDI2NDczYjliIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTggQEAKKzIwMTItMTAtMjYgIFNhbWkgS3lvc3RpbGEgIDxza3lvc3RpbEBjaHJvbWl1bS5v
cmc+CisKKyAgICAgICAgQWxsb3cgcGFpbnRpbmcgb3V0c2lkZSBvdmVyZmxvdyBjbGlwIGluIGFj
Y2VsZXJhdGVkIHNjcm9sbGluZyBsYXllcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEwMDUyNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEFkZGVkIGEgdGVzdCB0byBjaGVjayBwYWludGluZyBvdXRzaWRl
IHRoZSBvdmVyZmxvdyBjbGlwLiBOb3RlIHRoYXQgdGhpcyB3aWxsCisgICAgICAgIG5vdCBwYXNz
IHVubGVzcyBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HIGlzIGVuYWJsZWQu
CisKKyAgICAgICAgKiBjb21wb3NpdGluZy9vdmVyZmxvdy91cGRhdGluZy1zY3JvbGxpbmctY29u
dGVudC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNvbXBvc2l0aW5nL292ZXJmbG93
L3VwZGF0aW5nLXNjcm9sbGluZy1jb250ZW50Lmh0bWw6IEFkZGVkLgorCisgICAgICAgICogcGxh
dGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9uczoKKwogMjAxMi0xMC0yNSAgSWFuIFZvbGxp
Y2sgIDx2b2xsaWNrQGNocm9taXVtLm9yZz4KIAogICAgICAgICBTdXBwb3J0IGludmFsaWRhdGlv
biB0cmFja2luZyBmb3IgY29tcG9zaXRlZCBsYXllcnMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2NvbXBvc2l0aW5nL292ZXJmbG93L3VwZGF0aW5nLXNjcm9sbGluZy1jb250ZW50LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL292ZXJmbG93L3VwZGF0aW5nLXNjcm9sbGlu
Zy1jb250ZW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45NTIxNmQ1NGEzMzQ2NzgwYjdiOWUz
YzNkYTIwZDJhMDk5MmE1NDM2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9z
aXRpbmcvb3ZlcmZsb3cvdXBkYXRpbmctc2Nyb2xsaW5nLWNvbnRlbnQtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNTIgQEAKKyhHcmFwaGljc0xheWVyCisgIChib3VuZHMgODAwLjAwIDYwMC4wMCkK
KyAgKGNoaWxkcmVuIDEKKyAgICAoR3JhcGhpY3NMYXllcgorICAgICAgKGJvdW5kcyA4MDAuMDAg
NjAwLjAwKQorICAgICAgKGNoaWxkcmVuIDEKKyAgICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAg
ICAgICAocG9zaXRpb24gOC4wMCA4LjAwKQorICAgICAgICAgIChib3VuZHMgMjAwLjAwIDIwMC4w
MCkKKyAgICAgICAgICAoY2hpbGRyZW4gNAorICAgICAgICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAg
ICAgICAgICAgICAgKGJvdW5kcyAyMDAuMDAgMjAwLjAwKQorICAgICAgICAgICAgICAoY2hpbGRy
ZW4gMQorICAgICAgICAgICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAgICAgICAgICAo
Ym91bmRzIDE4NS4wMCAxMjAwLjAwKQorICAgICAgICAgICAgICAgICAgKGRyYXdzQ29udGVudCAx
KQorICAgICAgICAgICAgICAgICAgKHJlcGFpbnQgcmVjdHMKKyAgICAgICAgICAgICAgICAgICAg
KHJlY3QgMC4wMCAwLjAwIDE4NS4wMCAyMDAuMDApCisgICAgICAgICAgICAgICAgICAgIChyZWN0
IDAuMDAgMC4wMCAxODUuMDAgMjAwLjAwKQorICAgICAgICAgICAgICAgICAgICAocmVjdCAwLjAw
IDAuMDAgMTg1LjAwIDIwMC4wMCkKKyAgICAgICAgICAgICAgICAgICAgKHJlY3QgMC4wMCAwLjAw
IDE4NS4wMCAxMjAwLjAwKQorICAgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICAgICkK
KyAgICAgICAgICAgICAgKQorICAgICAgICAgICAgKQorICAgICAgICAgICAgKEdyYXBoaWNzTGF5
ZXIKKyAgICAgICAgICAgICAgKHBvc2l0aW9uIDAuMDAgMTg1LjAwKQorICAgICAgICAgICAgICAo
Ym91bmRzIDE4NS4wMCAxNS4wMCkKKyAgICAgICAgICAgICAgKGRyYXdzQ29udGVudCAxKQorICAg
ICAgICAgICAgKQorICAgICAgICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICAgICAgKHBv
c2l0aW9uIDE4NS4wMCAwLjAwKQorICAgICAgICAgICAgICAoYm91bmRzIDE1LjAwIDE4NS4wMCkK
KyAgICAgICAgICAgICAgKGRyYXdzQ29udGVudCAxKQorICAgICAgICAgICAgICAocmVwYWludCBy
ZWN0cworICAgICAgICAgICAgICAgIChyZWN0IDE4NS4wMCAwLjAwIDE1LjAwIDE4NS4wMCkKKyAg
ICAgICAgICAgICAgKQorICAgICAgICAgICAgKQorICAgICAgICAgICAgKEdyYXBoaWNzTGF5ZXIK
KyAgICAgICAgICAgICAgKHBvc2l0aW9uIDE4NS4wMCAxODUuMDApCisgICAgICAgICAgICAgIChi
b3VuZHMgMTUuMDAgMTUuMDApCisgICAgICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAgICAg
ICAgICAgICkKKyAgICAgICAgICApCisgICAgICAgICkKKyAgICAgICkKKyAgICApCisgICkKKykK
KyhyZXBhaW50IHJlY3RzCispCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5n
L292ZXJmbG93L3VwZGF0aW5nLXNjcm9sbGluZy1jb250ZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9j
b21wb3NpdGluZy9vdmVyZmxvdy91cGRhdGluZy1zY3JvbGxpbmctY29udGVudC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmQyMTk2N2RkOWZmM2QyMzRmZjY5MTE0Njc4Y2EyN2Q1ZTJkOGY1MGMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9vdmVyZmxvdy91cGRhdGluZy1zY3Jv
bGxpbmctY29udGVudC5odG1sCkBAIC0wLDAgKzEsNjMgQEAKKzwhRE9DVFlQRSBodG1sPgorCis8
IS0tCitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIGNvbnRlbnRzIG9mIGFjY2VsZXJhdGVkIHNj
cm9sbGluZyBsYXllcnMgYXJlIHByb3Blcmx5Cit1cGRhdGVkIGFsc28gb3V0c2lkZSB0aGUgY3Vy
cmVudCBvdmVyZmxvdyBjbGlwLiBTZWUKK2h0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMDA1MjQuCistLT4KKworPGh0bWw+Cis8aGVhZD4KKyAgPHN0eWxlIHR5cGU9InRl
eHQvY3NzIj4KKyAgICAjc2Nyb2xsZXIgeworICAgICAgICBvdmVyZmxvdzogc2Nyb2xsOworICAg
ICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7CisgICAgICAgIHdpZHRoOiAy
MDBweDsKKyAgICAgICAgaGVpZ2h0OiAyMDBweDsKKyAgICB9CisKKyAgICAjaW5kaWNhdG9yIHsK
KyAgICAgICAgYmFja2dyb3VuZDogcmVkOworICAgICAgICBoZWlnaHQ6IDIwMHB4OworICAgIH0K
KworICAgICNjb250ZW50IHsKKyAgICAgICAgaGVpZ2h0OiAxMDAwcHg7CisgICAgfQorICA8L3N0
eWxlPgorICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CisgICAgICB3aW5kb3cuYWRk
RXZlbnRMaXN0ZW5lcignbG9hZCcsIGZ1bmN0aW9uKCkgeworICAgICAgICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIgfHwgIXdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICAgICAgICAgICAgYWxlcnQo
J1RoaXMgdGVzdCByZXF1aXJlcyB0ZXN0UnVubmVyIHRvIHJ1biEnKTsKKyAgICAgICAgICAgICAg
cmV0dXJuOworICAgICAgICAgIH0KKyAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoZmFs
c2UpOworCisgICAgICAgICAgdmFyIHNjcm9sbGVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J3Njcm9sbGVyJyk7CisgICAgICAgICAgdmFyIGluZGljYXRvciA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdpbmRpY2F0b3InKTsKKworICAgICAgICAgIC8vIE1ha2Ugc3VyZSB0aGUgc2Nyb2xs
aW5nIGNvbnRlbnQgaXMgcGFpbnRlZCBiZWZvcmUgd2Ugc3RhcnQuCisgICAgICAgICAgdmFyIGR1
bW15ID0gc2Nyb2xsZXIub2Zmc2V0VG9wOworCisgICAgICAgICAgLy8gU2Nyb2xsIGFsbCB0aGUg
d2F5IHRvIHRoZSBib3R0b20gYW5kIGNoYW5nZSB0aGUgY29sb3Igb2YgdGhlCisgICAgICAgICAg
Ly8gaW5kaWNhdG9yICh3aGljaCBpcyBub3cgb3V0c2lkZSB0aGUgb3ZlcmZsb3cgY2xpcCkuCisg
ICAgICAgICAgc2Nyb2xsZXIuc2Nyb2xsVG9wID0gMTAwMDsKKyAgICAgICAgICB3aW5kb3cuaW50
ZXJuYWxzLnN0YXJ0VHJhY2tpbmdSZXBhaW50cyhkb2N1bWVudCk7CisgICAgICAgICAgaW5kaWNh
dG9yLnN0eWxlLmJhY2tncm91bmQgPSAnZ3JlZW4nOworCisgICAgICAgICAgLy8gU2Nyb2xsIGJh
Y2sgdXAgc28gdGhhdCB0aGUgdXBkYXRlZCAoZ3JlZW4pIGluZGljYXRvciBpcyB2aXNpYmxlLgor
ICAgICAgICAgIHZhciBsYXllclRyZWUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGF5ZXJU
cmVlJyk7CisgICAgICAgICAgc2Nyb2xsZXIuc2Nyb2xsVG9wID0gMDsKKyAgICAgICAgICBsYXll
clRyZWUuaW5uZXJUZXh0ID0KKyAgICAgICAgICAgICAgd2luZG93LmludGVybmFscy5sYXllclRy
ZWVBc1RleHQoZG9jdW1lbnQsIGludGVybmFscy5MQVlFUl9UUkVFX0lOQ0xVREVTX1JFUEFJTlRf
UkVDVFMpOworICAgICAgfSk7CisgIDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisgIDxkaXYg
aWQ9InNjcm9sbGVyIj4KKyAgICA8ZGl2IGlkPSJpbmRpY2F0b3IiPjwvZGl2PgorICAgIDxkaXYg
aWQ9ImNvbnRlbnQiPjwvZGl2PgorICA8L2Rpdj4KKyAgPHByZSBpZD0ibGF5ZXJUcmVlIj5UaGlz
IHRleHQgd2lsbCBiZSByZXBsYWNlZCB3aXRoIHRoZSBsYXllciB0cmVlLjwvcHJlPgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVz
dEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3Rh
dGlvbnMKaW5kZXggOTkzMGRlODdlMTVmZjJmYmE3YWVlYzA4ZmEzZTEwZDcyM2YyNTg1Yy4uNDNk
ODMwM2MyNWRiMmZmZjVkOTBlNTMzMjcyNmZmZjE1ZWNkMDlkMiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCkBAIC0zNzE5LDYgKzM3MTksNyBA
QCB3ZWJraXQub3JnL2IvOTk3MzQgWyBNYWMgXSBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3Jl
cXVlc3QtZW5jb2RpbmcyLmh0bWwgWyBQYQogIyBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1df
U0NST0xMSU5HIGlzIG5vdCBjdXJyZW50bHkgZW5hYmxlZCBpbiBDaHJvbWl1bS4KIHdlYmtpdC5v
cmcvYi85NDM1MyBjb21wb3NpdGluZy9vdmVyZmxvdy9zY3JvbGxpbmctY29udGVudC1jbGlwLXRv
LXZpZXdwb3J0Lmh0bWwgWyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi85NDM1MyBwbGF0Zm9ybS9j
aHJvbWl1bS92aXJ0dWFsL3NvZnR3YXJlY29tcG9zaXRpbmcvb3ZlcmZsb3cvc2Nyb2xsaW5nLWNv
bnRlbnQtY2xpcC10by12aWV3cG9ydC5odG1sIFsgRmFpbHVyZSBdCit3ZWJraXQub3JnL2IvOTQz
NTMgY29tcG9zaXRpbmcvb3ZlcmZsb3cvdXBkYXRpbmctc2Nyb2xsaW5nLWNvbnRlbnQuaHRtbCBb
IEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzk0MzUzIGNvbXBvc2l0aW5nL292ZXJmbG93L3RleHRh
cmVhLXNjcm9sbC10b3VjaC5odG1sIFsgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvOTQzNTMgcGxh
dGZvcm0vY2hyb21pdW0vdmlydHVhbC9zb2Z0d2FyZWNvbXBvc2l0aW5nL292ZXJmbG93L3RleHRh
cmVhLXNjcm9sbC10b3VjaC5odG1sIFsgRmFpbHVyZSBdCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>172536</attachid>
            <date>2012-11-06 03:06:28 -0800</date>
            <delta_ts>2012-11-06 07:08:08 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100524-20121106110440.patch</filename>
            <type>text/plain</type>
            <size>11324</size>
            <attacher name="Sami Kyöstilä">skyostil</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMzNTcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjUwOWFkMjVmZWI3N2Ew
MDljNjAyZGZiNWFkMjM5ZTdhZjI1MTc3Zi4uZGYxMjkwMDNiZmI2MDU4YThkZDExOGQxNGNlMDVh
NDUyY2UyMDRlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEyLTEwLTI2ICBTYW1p
IEt5b3N0aWxhICA8c2t5b3N0aWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEFsbG93IHBhaW50
aW5nIG91dHNpZGUgb3ZlcmZsb3cgY2xpcCBpbiBhY2NlbGVyYXRlZCBzY3JvbGxpbmcgbGF5ZXJz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDA1MjQK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbiBwcmVw
YXJhdGlvbiBmb3IgYXZvaWRpbmcgcmVwYWludHMgd2hlbiBzY3JvbGxpbmcgY2hpbGQgbGF5ZXJz
LCBtYWtlIGl0CisgICAgICAgIHBvc3NpYmxlIHRvIHBhaW50IG91dHNpZGUgdGhlIG92ZXJmbG93
IGNsaXAuCisKKyAgICAgICAgVGVzdDogY29tcG9zaXRpbmcvb3ZlcmZsb3cvdXBkYXRpbmctc2Ny
b2xsaW5nLWNvbnRlbnQuaHRtbAorCisgICAgICAgICogcmVuZGVyaW5nL0xheW91dFN0YXRlLmg6
CisgICAgICAgIChMYXlvdXRTdGF0ZSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2Nr
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpwYWludCk6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlckJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OmFw
cGx5Q2FjaGVkQ2xpcEFuZFNjcm9sbE9mZnNldEZvclJlcGFpbnQpOgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJMYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6cmVw
YWludEJsb2NrU2VsZWN0aW9uR2Fwcyk6CisKIDIwMTItMTEtMDIgIFl1cnkgU2VtaWtoYXRza3kg
IDx5dXJ5c0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogSmF2YVNjcmlw
dCB3ZWIgd29ya2VycyBkZWJ1Z2dpbmcgY3Jhc2hlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL0xheW91dFN0YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvTGF5
b3V0U3RhdGUuaAppbmRleCBiMGFjNDk0M2VhMDQ1YjA0ZTI4ZGQ2ODNhOWI0NDZiODE2Njk0N2M0
Li5hMjMyMmUxMmY3Yzg4MzkyZjcxYzg0NWUyZjc3NTMzMjE3YWI3N2ZkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvTGF5b3V0U3RhdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvTGF5b3V0U3RhdGUuaApAQCAtMTE3LDYgKzExNyw4IEBAIHB1YmxpYzoKICAg
ICBib29sIG1fbGF5b3V0RGVsdGFYU2F0dXJhdGVkOwogICAgIGJvb2wgbV9sYXlvdXREZWx0YVlT
YXR1cmF0ZWQ7CiAjZW5kaWYKKyAgICAvLyBGSVhNRTogRGlzdGluZ3Vpc2ggYmV0d2VlbiB0aGUg
bGF5b3V0IGNsaXAgcmVjdCBhbmQgdGhlIHBhaW50IGNsaXAgcmVjdCB3aGljaCBtYXkgYmUgbGFy
Z2VyLAorICAgIC8vIGUuZy4sIGJlY2F1c2Ugb2YgY29tcG9zaXRlZCBzY3JvbGxpbmcuCiAgICAg
TGF5b3V0UmVjdCBtX2NsaXBSZWN0OwogICAgIAogICAgIC8vIHgveSBvZmZzZXQgZnJvbSBjb250
YWluZXIuIEluY2x1ZGVzIHJlbGF0aXZlIHBvc2l0aW9uaW5nIGFuZCBzY3JvbGwgb2Zmc2V0cy4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCmluZGV4IDcxNzVjMjgzMWNi
ZjEzOWJjNzEzMjVjYjdhZmIwNGZkMTU2OGM2YzcuLmE1NDlhYTNhZGE0YTFiZWU1ZDMyYzZlNTM4
YTc1NDYwZDk0YTA0OGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCbG9jay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNw
cApAQCAtMjc1NCw3ICsyNzU0LDcgQEAgdm9pZCBSZW5kZXJCbG9jazo6cGFpbnQoUGFpbnRJbmZv
JiBwYWludEluZm8sIGNvbnN0IExheW91dFBvaW50JiBwYWludE9mZnNldCkKICAgICAvLyBDaGVj
ayBpZiB3ZSBuZWVkIHRvIGRvIGFueXRoaW5nIGF0IGFsbC4KICAgICAvLyBGSVhNRTogQ291bGQg
ZWxpbWluYXRlIHRoZSBpc1Jvb3QoKSBjaGVjayBpZiB3ZSBmaXggYmFja2dyb3VuZCBwYWludGlu
ZyBzbyB0aGF0IHRoZSBSZW5kZXJWaWV3CiAgICAgLy8gcGFpbnRzIHRoZSByb290J3MgYmFja2dy
b3VuZC4KLSAgICBpZiAoIWlzUm9vdCgpKSB7CisgICAgaWYgKCFpc1Jvb3QoKSAmJiAhKGhhc092
ZXJmbG93Q2xpcCgpICYmIGhhc0xheWVyKCkgJiYgbGF5ZXIoKS0+dXNlc0NvbXBvc2l0ZWRTY3Jv
bGxpbmcoKSkpIHsKICAgICAgICAgTGF5b3V0UmVjdCBvdmVyZmxvd0JveCA9IHZpc3VhbE92ZXJm
bG93UmVjdCgpOwogICAgICAgICBmbGlwRm9yV3JpdGluZ01vZGUob3ZlcmZsb3dCb3gpOwogICAg
ICAgICBvdmVyZmxvd0JveC5pbmZsYXRlKG1heGltYWxPdXRsaW5lU2l6ZShwYWludEluZm8ucGhh
c2UpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKaW5kZXggNjgzYzIzODM5
MWNhMjQ5NzM1ZGU2ODIxYWE0MjIxYWI0YzM1NjQ2NC4uY2QzOTRiYzcwN2YwNWNjZGRjNjdkYjZh
YjY2NGM2NmYzN2ExZGMwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAK
QEAgLTY1Miw2ICs2NTIsMTAgQEAgdm9pZCBSZW5kZXJCb3g6OmFwcGx5Q2FjaGVkQ2xpcEFuZFNj
cm9sbE9mZnNldEZvclJlcGFpbnQoTGF5b3V0UmVjdCYgcGFpbnRSZWN0KQogewogICAgIHBhaW50
UmVjdC5tb3ZlKC1zY3JvbGxlZENvbnRlbnRPZmZzZXQoKSk7IC8vIEZvciBvdmVyZmxvdzphdXRv
L3Njcm9sbC9oaWRkZW4uCiAKKyAgICAvLyBEbyBub3QgY2xpcCBzY3JvbGwgbGF5ZXIgY29udGVu
dHMgdG8gcmVkdWNlIHRoZSBudW1iZXIgb2YgcmVwYWludHMgd2hpbGUgc2Nyb2xsaW5nLgorICAg
IGlmIChoYXNPdmVyZmxvd0NsaXAoKSAmJiBoYXNMYXllcigpICYmIGxheWVyKCktPnVzZXNDb21w
b3NpdGVkU2Nyb2xsaW5nKCkpCisgICAgICAgIHJldHVybjsKKwogICAgIC8vIGhlaWdodCgpIGlz
IGluYWNjdXJhdGUgaWYgd2UncmUgaW4gdGhlIG1pZGRsZSBvZiBhIGxheW91dCBvZiB0aGlzIFJl
bmRlckJveCwgc28gdXNlIHRoZQogICAgIC8vIGxheWVyJ3Mgc2l6ZSBpbnN0ZWFkLiBFdmVuIGlm
IHRoZSBsYXllcidzIHNpemUgaXMgd3JvbmcsIHRoZSBsYXllciBpdHNlbGYgd2lsbCByZXBhaW50
CiAgICAgLy8gYW55d2F5IGlmIGl0cyBzaXplIGRvZXMgY2hhbmdlLgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMYXllci5jcHAKaW5kZXggMzk5N2JkZTNhNTJjMzFkNzhkYTczM2YzMTli
N2JjY2YxY2RiNWVmOS4uMGI3YzllYmQ1NWZhNmQ4ZmQ5MDY5ZTY5MmZmMDE2NDI3MTVjZDlmZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCkBAIC00MjU4LDcgKzQy
NTgsNyBAQCB2b2lkIFJlbmRlckxheWVyOjpyZXBhaW50QmxvY2tTZWxlY3Rpb25HYXBzKCkKIAog
ICAgIExheW91dFJlY3QgcmVjdCA9IG1fYmxvY2tTZWxlY3Rpb25HYXBzQm91bmRzOwogICAgIHJl
Y3QubW92ZSgtc2Nyb2xsZWRDb250ZW50T2Zmc2V0KCkpOwotICAgIGlmIChyZW5kZXJlcigpLT5o
YXNPdmVyZmxvd0NsaXAoKSkKKyAgICBpZiAocmVuZGVyZXIoKS0+aGFzT3ZlcmZsb3dDbGlwKCkg
JiYgIXVzZXNDb21wb3NpdGVkU2Nyb2xsaW5nKCkpCiAgICAgICAgIHJlY3QuaW50ZXJzZWN0KHRv
UmVuZGVyQm94KHJlbmRlcmVyKCkpLT5vdmVyZmxvd0NsaXBSZWN0KExheW91dFBvaW50KCksIDAp
KTsgLy8gRklYTUU6IFJlZ2lvbnMgbm90IGFjY291bnRlZCBmb3IuCiAgICAgaWYgKHJlbmRlcmVy
KCktPmhhc0NsaXAoKSkKICAgICAgICAgcmVjdC5pbnRlcnNlY3QodG9SZW5kZXJCb3gocmVuZGVy
ZXIoKSktPmNsaXBSZWN0KExheW91dFBvaW50KCksIDApKTsgLy8gRklYTUU6IFJlZ2lvbnMgbm90
IGFjY291bnRlZCBmb3IuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNTVmZjc1MWVhZjk0OGMyMDJmNmIyNmI2MzFmNTMxZTFj
MDM1N2RkMC4uYWQyNzdmZmE0Y2QzMzJjMDFlODlkYzBhMTM3ZTMwNDc5MjgzNzIzOSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE5IEBACisyMDEyLTEwLTI2ICBTYW1pIEt5b3N0aWxhICA8c2t5b3N0aWxAY2hy
b21pdW0ub3JnPgorCisgICAgICAgIEFsbG93IHBhaW50aW5nIG91dHNpZGUgb3ZlcmZsb3cgY2xp
cCBpbiBhY2NlbGVyYXRlZCBzY3JvbGxpbmcgbGF5ZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDA1MjQKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBhIHRlc3QgdG8gY2hlY2sgcGFpbnRpbmcg
b3V0c2lkZSB0aGUgb3ZlcmZsb3cgY2xpcC4gTm90ZSB0aGF0IHRoaXMgd2lsbAorICAgICAgICBu
b3QgcGFzcyB1bmxlc3MgRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORyBpcyBl
bmFibGVkLgorCisgICAgICAgICogY29tcG9zaXRpbmcvb3ZlcmZsb3cvdXBkYXRpbmctc2Nyb2xs
aW5nLWNvbnRlbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjb21wb3NpdGluZy9v
dmVyZmxvdy91cGRhdGluZy1zY3JvbGxpbmctY29udGVudC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBwbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zOiBNYXJrIHRlc3QgYXMgZXhwZWN0
ZWQgdG8gZmFpbAorICAgICAgICAgIGJ5IGRlZmF1bHQuCisgICAgICAgICogcGxhdGZvcm0vbWFj
L1Rlc3RFeHBlY3RhdGlvbnM6IFNraXAgdGhlIHRlc3QuCisKIDIwMTItMTEtMDYgIERvbmd3b28g
Sm9zaHVhIEltICA8ZHcuaW1Ac2Ftc3VuZy5jb20+CiAKICAgICAgICAgW1FUXSBbR1RLXSBSZW1v
dmUgZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcyBmcm9tIFRlc3RFeHBlY3RhdGlvbnMg
b2YgZ3RrIGFuZCBxdC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL292ZXJm
bG93L3VwZGF0aW5nLXNjcm9sbGluZy1jb250ZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2NvbXBvc2l0aW5nL292ZXJmbG93L3VwZGF0aW5nLXNjcm9sbGluZy1jb250ZW50LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5hYjdiODc0MmQ4YzgyNjQ3YmEyZmZmMGIwMDUwN2NmYzY3ZGMzY2E0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvb3ZlcmZsb3cvdXBk
YXRpbmctc2Nyb2xsaW5nLWNvbnRlbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNTAgQEAKKyhH
cmFwaGljc0xheWVyCisgIChib3VuZHMgODAwLjAwIDYwMC4wMCkKKyAgKGNoaWxkcmVuIDEKKyAg
ICAoR3JhcGhpY3NMYXllcgorICAgICAgKGJvdW5kcyA4MDAuMDAgNjAwLjAwKQorICAgICAgKGNo
aWxkcmVuIDEKKyAgICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICAocG9zaXRpb24gOC4w
MCA4LjAwKQorICAgICAgICAgIChib3VuZHMgMjAwLjAwIDIwMC4wMCkKKyAgICAgICAgICAoY2hp
bGRyZW4gNAorICAgICAgICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICAgICAgKGJvdW5k
cyAyMDAuMDAgMjAwLjAwKQorICAgICAgICAgICAgICAoY2hpbGRyZW4gMQorICAgICAgICAgICAg
ICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAgICAgICAgICAoYm91bmRzIDE4NS4wMCAxMjAw
LjAwKQorICAgICAgICAgICAgICAgICAgKGRyYXdzQ29udGVudCAxKQorICAgICAgICAgICAgICAg
ICAgKHJlcGFpbnQgcmVjdHMKKyAgICAgICAgICAgICAgICAgICAgKHJlY3QgMC4wMCAwLjAwIDE4
NS4wMCAyMDAuMDApCisgICAgICAgICAgICAgICAgICAgIChyZWN0IDAuMDAgMC4wMCAxODUuMDAg
MjAwLjAwKQorICAgICAgICAgICAgICAgICAgICAocmVjdCAwLjAwIDAuMDAgMTg1LjAwIDIwMC4w
MCkKKyAgICAgICAgICAgICAgICAgICAgKHJlY3QgMC4wMCAwLjAwIDE4NS4wMCAxMjAwLjAwKQor
ICAgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgKQor
ICAgICAgICAgICAgKQorICAgICAgICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICAgICAg
KHBvc2l0aW9uIDAuMDAgMTg1LjAwKQorICAgICAgICAgICAgICAoYm91bmRzIDE4NS4wMCAxNS4w
MCkKKyAgICAgICAgICAgICAgKGRyYXdzQ29udGVudCAxKQorICAgICAgICAgICAgKQorICAgICAg
ICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICAgICAgKHBvc2l0aW9uIDE4NS4wMCAwLjAw
KQorICAgICAgICAgICAgICAoYm91bmRzIDE1LjAwIDE4NS4wMCkKKyAgICAgICAgICAgICAgKGRy
YXdzQ29udGVudCAxKQorICAgICAgICAgICAgICAocmVwYWludCByZWN0cworICAgICAgICAgICAg
ICAgIChyZWN0IDAuMDAgMC4wMCAxNS4wMCAxODUuMDApCisgICAgICAgICAgICAgICkKKyAgICAg
ICAgICAgICkKKyAgICAgICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAgICAgIChwb3Np
dGlvbiAxODUuMDAgMTg1LjAwKQorICAgICAgICAgICAgICAoYm91bmRzIDE1LjAwIDE1LjAwKQor
ICAgICAgICAgICAgICAoZHJhd3NDb250ZW50IDEpCisgICAgICAgICAgICApCisgICAgICAgICAg
KQorICAgICAgICApCisgICAgICApCisgICAgKQorICApCispCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2NvbXBvc2l0aW5nL292ZXJmbG93L3VwZGF0aW5nLXNjcm9sbGluZy1jb250ZW50Lmh0
bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9vdmVyZmxvdy91cGRhdGluZy1zY3JvbGxpbmct
Y29udGVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ4OTljYTRmNGY2ZmE0MGMxZGQ0MDc2MDUwNWIyNzM0
NjRlZmEyYjIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9vdmVy
Zmxvdy91cGRhdGluZy1zY3JvbGxpbmctY29udGVudC5odG1sCkBAIC0wLDAgKzEsNjQgQEAKKzwh
RE9DVFlQRSBodG1sPgorCis8IS0tCitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIGNvbnRlbnRz
IG9mIGFjY2VsZXJhdGVkIHNjcm9sbGluZyBsYXllcnMgYXJlIHByb3Blcmx5Cit1cGRhdGVkIGFs
c28gb3V0c2lkZSB0aGUgY3VycmVudCBvdmVyZmxvdyBjbGlwLiBTZWUKK2h0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDA1MjQuCistLT4KKworPGh0bWw+Cis8aGVhZD4K
KyAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KKyAgICAjc2Nyb2xsZXIgeworICAgICAgICBvdmVy
Zmxvdzogc2Nyb2xsOworICAgICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7
CisgICAgICAgIHdpZHRoOiAyMDBweDsKKyAgICAgICAgaGVpZ2h0OiAyMDBweDsKKyAgICB9CisK
KyAgICAjaW5kaWNhdG9yIHsKKyAgICAgICAgYmFja2dyb3VuZDogcmVkOworICAgICAgICBoZWln
aHQ6IDIwMHB4OworICAgIH0KKworICAgICNjb250ZW50IHsKKyAgICAgICAgaGVpZ2h0OiAxMDAw
cHg7CisgICAgfQorICA8L3N0eWxlPgorICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+
CisgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIGZ1bmN0aW9uKCkgeworICAg
ICAgICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIgfHwgIXdpbmRvdy5pbnRlcm5hbHMpIHsKKyAg
ICAgICAgICAgICAgYWxlcnQoJ1RoaXMgdGVzdCByZXF1aXJlcyB0ZXN0UnVubmVyIHRvIHJ1biEn
KTsKKyAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgIH0KKyAgICAgICAgICB0ZXN0UnVu
bmVyLmR1bXBBc1RleHQoZmFsc2UpOworCisgICAgICAgICAgdmFyIHNjcm9sbGVyID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ3Njcm9sbGVyJyk7CisgICAgICAgICAgdmFyIGluZGljYXRvciA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbmRpY2F0b3InKTsKKworICAgICAgICAgIC8vIE1h
a2Ugc3VyZSB0aGUgc2Nyb2xsaW5nIGNvbnRlbnQgaXMgcGFpbnRlZCBiZWZvcmUgd2Ugc3RhcnQu
CisgICAgICAgICAgdmFyIGR1bW15ID0gc2Nyb2xsZXIub2Zmc2V0VG9wOworCisgICAgICAgICAg
Ly8gU2Nyb2xsIGFsbCB0aGUgd2F5IHRvIHRoZSBib3R0b20gYW5kIGNoYW5nZSB0aGUgY29sb3Ig
b2YgdGhlCisgICAgICAgICAgLy8gaW5kaWNhdG9yICh3aGljaCBpcyBub3cgb3V0c2lkZSB0aGUg
b3ZlcmZsb3cgY2xpcCkuCisgICAgICAgICAgc2Nyb2xsZXIuc2Nyb2xsVG9wID0gMTAwMDsKKyAg
ICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnN0YXJ0VHJhY2tpbmdSZXBhaW50cyhkb2N1bWVudCk7
CisgICAgICAgICAgaW5kaWNhdG9yLnN0eWxlLmJhY2tncm91bmQgPSAnZ3JlZW4nOworCisgICAg
ICAgICAgLy8gU2Nyb2xsIGJhY2sgdXAgc28gdGhhdCB0aGUgdXBkYXRlZCAoZ3JlZW4pIGluZGlj
YXRvciBpcyB2aXNpYmxlLgorICAgICAgICAgIHZhciBsYXllclRyZWUgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgnbGF5ZXJUcmVlJyk7CisgICAgICAgICAgc2Nyb2xsZXIuc2Nyb2xsVG9wID0g
MDsKKyAgICAgICAgICBsYXllclRyZWUuaW5uZXJUZXh0ID0KKyAgICAgICAgICAgICAgd2luZG93
LmludGVybmFscy5sYXllclRyZWVBc1RleHQoZG9jdW1lbnQsIGludGVybmFscy5MQVlFUl9UUkVF
X0lOQ0xVREVTX1JFUEFJTlRfUkVDVFMpOworICAgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc3Rv
cFRyYWNraW5nUmVwYWludHMoZG9jdW1lbnQpOworICAgICAgfSk7CisgIDwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+CisgIDxkaXYgaWQ9InNjcm9sbGVyIj4KKyAgICA8ZGl2IGlkPSJpbmRpY2F0
b3IiPjwvZGl2PgorICAgIDxkaXYgaWQ9ImNvbnRlbnQiPjwvZGl2PgorICA8L2Rpdj4KKyAgPHBy
ZSBpZD0ibGF5ZXJUcmVlIj5UaGlzIHRleHQgd2lsbCBiZSByZXBsYWNlZCB3aXRoIHRoZSBsYXll
ciB0cmVlLjwvcHJlPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggZTA0NmVlZWM5ZDJjODllNDY4ZjE5ODM4
ZDAwZDQ2Y2RmMTg5YjA0Yy4uNGFkNzU1NGE0Zjk3YWZmMzQ0MzVlMTMzYjk5OTMzMTc4ZDYyYjk0
OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0
aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25z
CkBAIC0zNzEyLDYgKzM3MTIsOCBAQCB3ZWJraXQub3JnL2IvOTk3MzQgWyBNYWMgXSBodHRwL3Rl
c3RzL3htbGh0dHByZXF1ZXN0L3JlcXVlc3QtZW5jb2RpbmcyLmh0bWwgWyBQYQogIyBFTkFCTEVf
QUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HIGlzIG5vdCBjdXJyZW50bHkgZW5hYmxlZCBp
biBDaHJvbWl1bS4KIHdlYmtpdC5vcmcvYi85NDM1MyBjb21wb3NpdGluZy9vdmVyZmxvdy9zY3Jv
bGxpbmctY29udGVudC1jbGlwLXRvLXZpZXdwb3J0Lmh0bWwgWyBGYWlsdXJlIF0KIHdlYmtpdC5v
cmcvYi85NDM1MyBwbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL3NvZnR3YXJlY29tcG9zaXRpbmcv
b3ZlcmZsb3cvc2Nyb2xsaW5nLWNvbnRlbnQtY2xpcC10by12aWV3cG9ydC5odG1sIFsgRmFpbHVy
ZSBdCit3ZWJraXQub3JnL2IvOTQzNTMgY29tcG9zaXRpbmcvb3ZlcmZsb3cvdXBkYXRpbmctc2Ny
b2xsaW5nLWNvbnRlbnQuaHRtbCBbIEZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzk0MzUzIHBsYXRm
b3JtL2Nocm9taXVtL3ZpcnR1YWwvc29mdHdhcmVjb21wb3NpdGluZy9vdmVyZmxvdy91cGRhdGlu
Zy1zY3JvbGxpbmctY29udGVudC5odG1sIFsgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvOTQzNTMg
Y29tcG9zaXRpbmcvb3ZlcmZsb3cvdGV4dGFyZWEtc2Nyb2xsLXRvdWNoLmh0bWwgWyBGYWlsdXJl
IF0KIHdlYmtpdC5vcmcvYi85NDM1MyBwbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL3NvZnR3YXJl
Y29tcG9zaXRpbmcvb3ZlcmZsb3cvdGV4dGFyZWEtc2Nyb2xsLXRvdWNoLmh0bWwgWyBGYWlsdXJl
IF0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlv
bnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCAzMTFm
M2JjMTM5ODQ2NzQ4YjJhYWNjYTQ4ZDJjMjkyNjU1MjlhNDRlLi5kMjhlNDJkZDVlMTMyNGViZDJh
NmVhNjRiNTdkNDRkNWJiMWJiMjM2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4
cGVjdGF0aW9ucwpAQCAtODQ4LDYgKzg0OCw3IEBAIGNvbXBvc2l0aW5nL292ZXJmbG93L292ZXJm
bG93LWF1dG8td2l0aC10b3VjaC5odG1sCiBjb21wb3NpdGluZy9vdmVyZmxvdy9vdmVyZmxvdy1v
dmVybGF5LXdpdGgtdG91Y2guaHRtbAogY29tcG9zaXRpbmcvb3ZlcmZsb3cvc2Nyb2xsaW5nLWNv
bnRlbnQtY2xpcC10by12aWV3cG9ydC5odG1sCiBjb21wb3NpdGluZy9vdmVyZmxvdy90ZXh0YXJl
YS1zY3JvbGwtdG91Y2guaHRtbAorY29tcG9zaXRpbmcvb3ZlcmZsb3cvdXBkYXRpbmctc2Nyb2xs
aW5nLWNvbnRlbnQuaHRtbAogCiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD05NTAyNwogZmFzdC9ibG9jay9mbG9hdC8wMTYuaHRtbAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>172578</attachid>
            <date>2012-11-06 07:08:13 -0800</date>
            <delta_ts>2012-11-13 09:59:43 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100524-20121106150625.patch</filename>
            <type>text/plain</type>
            <size>12392</size>
            <attacher name="Sami Kyöstilä">skyostil</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMzNTk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjIwNzAwMDk5MDVkNDkz
NmM1NWJjYTg3NzM2MGFhNmI3MWE1ZDYwMi4uZGQzYjNlNTljZjEzNTAzZWFkODA2NDQ4MDk0ZDMx
OTI2NzI4OTcyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEyLTEwLTI2ICBTYW1p
IEt5b3N0aWxhICA8c2t5b3N0aWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEFsbG93IHBhaW50
aW5nIG91dHNpZGUgb3ZlcmZsb3cgY2xpcCBpbiBhY2NlbGVyYXRlZCBzY3JvbGxpbmcgbGF5ZXJz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDA1MjQK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbiBwcmVw
YXJhdGlvbiBmb3IgYXZvaWRpbmcgcmVwYWludHMgd2hlbiBzY3JvbGxpbmcgY2hpbGQgbGF5ZXJz
LCBtYWtlIGl0CisgICAgICAgIHBvc3NpYmxlIHRvIHBhaW50IG91dHNpZGUgdGhlIG92ZXJmbG93
IGNsaXAuCisKKyAgICAgICAgVGVzdDogY29tcG9zaXRpbmcvb3ZlcmZsb3cvdXBkYXRpbmctc2Ny
b2xsaW5nLWNvbnRlbnQuaHRtbAorCisgICAgICAgICogcmVuZGVyaW5nL0xheW91dFN0YXRlLmg6
CisgICAgICAgIChMYXlvdXRTdGF0ZSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2Nr
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpwYWludCk6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlckJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OmFw
cGx5Q2FjaGVkQ2xpcEFuZFNjcm9sbE9mZnNldEZvclJlcGFpbnQpOgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJMYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6cmVw
YWludEJsb2NrU2VsZWN0aW9uR2Fwcyk6CisKIDIwMTItMTEtMDYgIEFsZXhlaSBGaWxpcHBvdiAg
PGFscGhAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IHJlcG9ydCBwaHlz
aWNhbCBtZW1vcnkgcmVhbGx5IGNvbW1pdHRlZCBmb3IgSlMgaGVhcCBpbiBOTUkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9MYXlvdXRTdGF0ZS5oIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL0xheW91dFN0YXRlLmgKaW5kZXggYjBhYzQ5NDNlYTA0NWIwNGUyOGRkNjgz
YTliNDQ2YjgxNjY5NDdjNC4uYTIzMjJlMTJmN2M4ODM5MmY3MWM4NDVlMmY3NzUzMzIxN2FiNzdm
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0xheW91dFN0YXRlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0xheW91dFN0YXRlLmgKQEAgLTExNyw2ICsxMTcs
OCBAQCBwdWJsaWM6CiAgICAgYm9vbCBtX2xheW91dERlbHRhWFNhdHVyYXRlZDsKICAgICBib29s
IG1fbGF5b3V0RGVsdGFZU2F0dXJhdGVkOwogI2VuZGlmCisgICAgLy8gRklYTUU6IERpc3Rpbmd1
aXNoIGJldHdlZW4gdGhlIGxheW91dCBjbGlwIHJlY3QgYW5kIHRoZSBwYWludCBjbGlwIHJlY3Qg
d2hpY2ggbWF5IGJlIGxhcmdlciwKKyAgICAvLyBlLmcuLCBiZWNhdXNlIG9mIGNvbXBvc2l0ZWQg
c2Nyb2xsaW5nLgogICAgIExheW91dFJlY3QgbV9jbGlwUmVjdDsKICAgICAKICAgICAvLyB4L3kg
b2Zmc2V0IGZyb20gY29udGFpbmVyLiBJbmNsdWRlcyByZWxhdGl2ZSBwb3NpdGlvbmluZyBhbmQg
c2Nyb2xsIG9mZnNldHMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQmxvY2suY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcApp
bmRleCA3MTc1YzI4MzFjYmYxMzliYzcxMzI1Y2I3YWZiMDRmZDE1NjhjNmM3Li40Yzk0N2U2YTAx
OWQ1NWUyMjgyZjJiYjAxYjQ2YWEwYWMyOWEwZjEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCbG9jay5jcHAKQEAgLTI3NTQsNyArMjc1NCw3IEBAIHZvaWQgUmVuZGVyQmxvY2s6
OnBhaW50KFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBMYXlvdXRQb2ludCYgcGFpbnRPZmZz
ZXQpCiAgICAgLy8gQ2hlY2sgaWYgd2UgbmVlZCB0byBkbyBhbnl0aGluZyBhdCBhbGwuCiAgICAg
Ly8gRklYTUU6IENvdWxkIGVsaW1pbmF0ZSB0aGUgaXNSb290KCkgY2hlY2sgaWYgd2UgZml4IGJh
Y2tncm91bmQgcGFpbnRpbmcgc28gdGhhdCB0aGUgUmVuZGVyVmlldwogICAgIC8vIHBhaW50cyB0
aGUgcm9vdCdzIGJhY2tncm91bmQuCi0gICAgaWYgKCFpc1Jvb3QoKSkgeworICAgIGlmICghaXNS
b290KCkgJiYgIXVzZXNDb21wb3NpdGVkU2Nyb2xsaW5nKCkpIHsKICAgICAgICAgTGF5b3V0UmVj
dCBvdmVyZmxvd0JveCA9IHZpc3VhbE92ZXJmbG93UmVjdCgpOwogICAgICAgICBmbGlwRm9yV3Jp
dGluZ01vZGUob3ZlcmZsb3dCb3gpOwogICAgICAgICBvdmVyZmxvd0JveC5pbmZsYXRlKG1heGlt
YWxPdXRsaW5lU2l6ZShwYWludEluZm8ucGhhc2UpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJveC5jcHAKaW5kZXggNjgzYzIzODM5MWNhMjQ5NzM1ZGU2ODIxYWE0MjIxYWI0YzM1NjQ2
NC4uYjQyOTQ1NTk0NWM5MGIxYzlhNWM2N2E0MjgxYzZhOTAwYThjOTY5NiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKQEAgLTYxNyw2ICs2MTcsMTEgQEAgYm9vbCBSZW5k
ZXJCb3g6OmNhbkJlUHJvZ3JhbWF0aWNhbGx5U2Nyb2xsZWQoKSBjb25zdAogICAgIHJldHVybiAo
aGFzT3ZlcmZsb3dDbGlwKCkgJiYgKHNjcm9sbHNPdmVyZmxvdygpIHx8IChub2RlKCkgJiYgbm9k
ZSgpLT5yZW5kZXJlcklzRWRpdGFibGUoKSkpKSB8fCAobm9kZSgpICYmIG5vZGUoKS0+aXNEb2N1
bWVudE5vZGUoKSk7CiB9CiAKK2Jvb2wgUmVuZGVyQm94Ojp1c2VzQ29tcG9zaXRlZFNjcm9sbGlu
ZygpIGNvbnN0Cit7CisgICAgcmV0dXJuIGhhc092ZXJmbG93Q2xpcCgpICYmIGxheWVyKCktPnVz
ZXNDb21wb3NpdGVkU2Nyb2xsaW5nKCk7Cit9CisKIHZvaWQgUmVuZGVyQm94OjphdXRvc2Nyb2xs
KCkKIHsKICAgICBpZiAobGF5ZXIoKSkKQEAgLTY1Miw2ICs2NTcsMTAgQEAgdm9pZCBSZW5kZXJC
b3g6OmFwcGx5Q2FjaGVkQ2xpcEFuZFNjcm9sbE9mZnNldEZvclJlcGFpbnQoTGF5b3V0UmVjdCYg
cGFpbnRSZWN0KQogewogICAgIHBhaW50UmVjdC5tb3ZlKC1zY3JvbGxlZENvbnRlbnRPZmZzZXQo
KSk7IC8vIEZvciBvdmVyZmxvdzphdXRvL3Njcm9sbC9oaWRkZW4uCiAKKyAgICAvLyBEbyBub3Qg
Y2xpcCBzY3JvbGwgbGF5ZXIgY29udGVudHMgdG8gcmVkdWNlIHRoZSBudW1iZXIgb2YgcmVwYWlu
dHMgd2hpbGUgc2Nyb2xsaW5nLgorICAgIGlmICh1c2VzQ29tcG9zaXRlZFNjcm9sbGluZygpKQor
ICAgICAgICByZXR1cm47CisKICAgICAvLyBoZWlnaHQoKSBpcyBpbmFjY3VyYXRlIGlmIHdlJ3Jl
IGluIHRoZSBtaWRkbGUgb2YgYSBsYXlvdXQgb2YgdGhpcyBSZW5kZXJCb3gsIHNvIHVzZSB0aGUK
ICAgICAvLyBsYXllcidzIHNpemUgaW5zdGVhZC4gRXZlbiBpZiB0aGUgbGF5ZXIncyBzaXplIGlz
IHdyb25nLCB0aGUgbGF5ZXIgaXRzZWxmIHdpbGwgcmVwYWludAogICAgIC8vIGFueXdheSBpZiBp
dHMgc2l6ZSBkb2VzIGNoYW5nZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCb3guaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaAppbmRl
eCAwZTczMTJjMGQyMDVkZjA2NGU4ODgyYzQ3Yjg1N2YxZGJlNDdkMTYyLi5lODlkNWY5Y2VkMGVi
ZWU5OTNjNDk2YjY4MmY2YjljMDVjOWU0NzcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQm94LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJveC5oCkBAIC00MzMsNiArNDMzLDcgQEAgcHVibGljOgogICAgIGJvb2wgc2Nyb2xsc092ZXJm
bG93KCkgY29uc3QgeyByZXR1cm4gc2Nyb2xsc092ZXJmbG93WCgpIHx8IHNjcm9sbHNPdmVyZmxv
d1koKTsgfQogICAgIGJvb2wgc2Nyb2xsc092ZXJmbG93WCgpIGNvbnN0IHsgcmV0dXJuIGhhc092
ZXJmbG93Q2xpcCgpICYmIChzdHlsZSgpLT5vdmVyZmxvd1goKSA9PSBPU0NST0xMIHx8IGhhc0F1
dG9Ib3Jpem9udGFsU2Nyb2xsYmFyKCkpOyB9CiAgICAgYm9vbCBzY3JvbGxzT3ZlcmZsb3dZKCkg
Y29uc3QgeyByZXR1cm4gaGFzT3ZlcmZsb3dDbGlwKCkgJiYgKHN0eWxlKCktPm92ZXJmbG93WSgp
ID09IE9TQ1JPTEwgfHwgaGFzQXV0b1ZlcnRpY2FsU2Nyb2xsYmFyKCkpOyB9CisgICAgYm9vbCB1
c2VzQ29tcG9zaXRlZFNjcm9sbGluZygpIGNvbnN0OwogICAgIAogICAgIGJvb2wgaGFzVW5zcGxp
dHRhYmxlU2Nyb2xsaW5nT3ZlcmZsb3coKSBjb25zdDsKICAgICBib29sIGlzVW5zcGxpdHRhYmxl
Rm9yUGFnaW5hdGlvbigpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXll
ci5jcHAKaW5kZXggMzk5N2JkZTNhNTJjMzFkNzhkYTczM2YzMTliN2JjY2YxY2RiNWVmOS4uMGI3
YzllYmQ1NWZhNmQ4ZmQ5MDY5ZTY5MmZmMDE2NDI3MTVjZDlmZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCkBAIC00MjU4LDcgKzQyNTgsNyBAQCB2b2lkIFJlbmRl
ckxheWVyOjpyZXBhaW50QmxvY2tTZWxlY3Rpb25HYXBzKCkKIAogICAgIExheW91dFJlY3QgcmVj
dCA9IG1fYmxvY2tTZWxlY3Rpb25HYXBzQm91bmRzOwogICAgIHJlY3QubW92ZSgtc2Nyb2xsZWRD
b250ZW50T2Zmc2V0KCkpOwotICAgIGlmIChyZW5kZXJlcigpLT5oYXNPdmVyZmxvd0NsaXAoKSkK
KyAgICBpZiAocmVuZGVyZXIoKS0+aGFzT3ZlcmZsb3dDbGlwKCkgJiYgIXVzZXNDb21wb3NpdGVk
U2Nyb2xsaW5nKCkpCiAgICAgICAgIHJlY3QuaW50ZXJzZWN0KHRvUmVuZGVyQm94KHJlbmRlcmVy
KCkpLT5vdmVyZmxvd0NsaXBSZWN0KExheW91dFBvaW50KCksIDApKTsgLy8gRklYTUU6IFJlZ2lv
bnMgbm90IGFjY291bnRlZCBmb3IuCiAgICAgaWYgKHJlbmRlcmVyKCktPmhhc0NsaXAoKSkKICAg
ICAgICAgcmVjdC5pbnRlcnNlY3QodG9SZW5kZXJCb3gocmVuZGVyZXIoKSktPmNsaXBSZWN0KExh
eW91dFBvaW50KCksIDApKTsgLy8gRklYTUU6IFJlZ2lvbnMgbm90IGFjY291bnRlZCBmb3IuCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
aW5kZXggZjYzY2JhZGI3MzRjMDJhM2I0NjZjMGU2ZGE3OWRjZDRiYWZhNWViYy4uNWU4ZDQ4NDRj
Y2ViNzNjY2Y1M2NlMDUzZDU3ZDdkODZiNDZhOGZhNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisy
MDEyLTEwLTI2ICBTYW1pIEt5b3N0aWxhICA8c2t5b3N0aWxAY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIEFsbG93IHBhaW50aW5nIG91dHNpZGUgb3ZlcmZsb3cgY2xpcCBpbiBhY2NlbGVyYXRlZCBz
Y3JvbGxpbmcgbGF5ZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMDA1MjQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBBZGRlZCBhIHRlc3QgdG8gY2hlY2sgcGFpbnRpbmcgb3V0c2lkZSB0aGUgb3ZlcmZs
b3cgY2xpcC4gTm90ZSB0aGF0IHRoaXMgd2lsbAorICAgICAgICBub3QgcGFzcyB1bmxlc3MgRU5B
QkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORyBpcyBlbmFibGVkLgorCisgICAgICAg
ICogY29tcG9zaXRpbmcvb3ZlcmZsb3cvdXBkYXRpbmctc2Nyb2xsaW5nLWNvbnRlbnQtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjb21wb3NpdGluZy9vdmVyZmxvdy91cGRhdGluZy1z
Y3JvbGxpbmctY29udGVudC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1
bS9UZXN0RXhwZWN0YXRpb25zOiBNYXJrIHRlc3QgYXMgZXhwZWN0ZWQgdG8gZmFpbAorICAgICAg
ICAgIGJ5IGRlZmF1bHQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnM6
IFNraXAgdGhlIHRlc3QuCisKIDIwMTItMTEtMDYgIFZzZXZvbG9kIFZsYXNvdiAgPHZzZXZpa0Bj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCB1bnNraXAgcGFzc2luZyB0ZXN0cy4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL292ZXJmbG93L3VwZGF0aW5nLXNj
cm9sbGluZy1jb250ZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL292
ZXJmbG93L3VwZGF0aW5nLXNjcm9sbGluZy1jb250ZW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5hYjdiODc0MmQ4YzgyNjQ3YmEyZmZmMGIwMDUwN2NmYzY3ZGMzY2E0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvb3ZlcmZsb3cvdXBkYXRpbmctc2Nyb2xsaW5n
LWNvbnRlbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNTAgQEAKKyhHcmFwaGljc0xheWVyCisg
IChib3VuZHMgODAwLjAwIDYwMC4wMCkKKyAgKGNoaWxkcmVuIDEKKyAgICAoR3JhcGhpY3NMYXll
cgorICAgICAgKGJvdW5kcyA4MDAuMDAgNjAwLjAwKQorICAgICAgKGNoaWxkcmVuIDEKKyAgICAg
ICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICAocG9zaXRpb24gOC4wMCA4LjAwKQorICAgICAg
ICAgIChib3VuZHMgMjAwLjAwIDIwMC4wMCkKKyAgICAgICAgICAoY2hpbGRyZW4gNAorICAgICAg
ICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICAgICAgKGJvdW5kcyAyMDAuMDAgMjAwLjAw
KQorICAgICAgICAgICAgICAoY2hpbGRyZW4gMQorICAgICAgICAgICAgICAgIChHcmFwaGljc0xh
eWVyCisgICAgICAgICAgICAgICAgICAoYm91bmRzIDE4NS4wMCAxMjAwLjAwKQorICAgICAgICAg
ICAgICAgICAgKGRyYXdzQ29udGVudCAxKQorICAgICAgICAgICAgICAgICAgKHJlcGFpbnQgcmVj
dHMKKyAgICAgICAgICAgICAgICAgICAgKHJlY3QgMC4wMCAwLjAwIDE4NS4wMCAyMDAuMDApCisg
ICAgICAgICAgICAgICAgICAgIChyZWN0IDAuMDAgMC4wMCAxODUuMDAgMjAwLjAwKQorICAgICAg
ICAgICAgICAgICAgICAocmVjdCAwLjAwIDAuMDAgMTg1LjAwIDIwMC4wMCkKKyAgICAgICAgICAg
ICAgICAgICAgKHJlY3QgMC4wMCAwLjAwIDE4NS4wMCAxMjAwLjAwKQorICAgICAgICAgICAgICAg
ICAgKQorICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgKQorICAgICAgICAgICAgKQor
ICAgICAgICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICAgICAgKHBvc2l0aW9uIDAuMDAg
MTg1LjAwKQorICAgICAgICAgICAgICAoYm91bmRzIDE4NS4wMCAxNS4wMCkKKyAgICAgICAgICAg
ICAgKGRyYXdzQ29udGVudCAxKQorICAgICAgICAgICAgKQorICAgICAgICAgICAgKEdyYXBoaWNz
TGF5ZXIKKyAgICAgICAgICAgICAgKHBvc2l0aW9uIDE4NS4wMCAwLjAwKQorICAgICAgICAgICAg
ICAoYm91bmRzIDE1LjAwIDE4NS4wMCkKKyAgICAgICAgICAgICAgKGRyYXdzQ29udGVudCAxKQor
ICAgICAgICAgICAgICAocmVwYWludCByZWN0cworICAgICAgICAgICAgICAgIChyZWN0IDAuMDAg
MC4wMCAxNS4wMCAxODUuMDApCisgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICkKKyAgICAg
ICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAgICAgIChwb3NpdGlvbiAxODUuMDAgMTg1
LjAwKQorICAgICAgICAgICAgICAoYm91bmRzIDE1LjAwIDE1LjAwKQorICAgICAgICAgICAgICAo
ZHJhd3NDb250ZW50IDEpCisgICAgICAgICAgICApCisgICAgICAgICAgKQorICAgICAgICApCisg
ICAgICApCisgICAgKQorICApCispCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0
aW5nL292ZXJmbG93L3VwZGF0aW5nLXNjcm9sbGluZy1jb250ZW50Lmh0bWwgYi9MYXlvdXRUZXN0
cy9jb21wb3NpdGluZy9vdmVyZmxvdy91cGRhdGluZy1zY3JvbGxpbmctY29udGVudC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjQ4OTljYTRmNGY2ZmE0MGMxZGQ0MDc2MDUwNWIyNzM0NjRlZmEyYjIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9vdmVyZmxvdy91cGRhdGluZy1z
Y3JvbGxpbmctY29udGVudC5odG1sCkBAIC0wLDAgKzEsNjQgQEAKKzwhRE9DVFlQRSBodG1sPgor
Cis8IS0tCitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIGNvbnRlbnRzIG9mIGFjY2VsZXJhdGVk
IHNjcm9sbGluZyBsYXllcnMgYXJlIHByb3Blcmx5Cit1cGRhdGVkIGFsc28gb3V0c2lkZSB0aGUg
Y3VycmVudCBvdmVyZmxvdyBjbGlwLiBTZWUKK2h0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMDA1MjQuCistLT4KKworPGh0bWw+Cis8aGVhZD4KKyAgPHN0eWxlIHR5cGU9
InRleHQvY3NzIj4KKyAgICAjc2Nyb2xsZXIgeworICAgICAgICBvdmVyZmxvdzogc2Nyb2xsOwor
ICAgICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7CisgICAgICAgIHdpZHRo
OiAyMDBweDsKKyAgICAgICAgaGVpZ2h0OiAyMDBweDsKKyAgICB9CisKKyAgICAjaW5kaWNhdG9y
IHsKKyAgICAgICAgYmFja2dyb3VuZDogcmVkOworICAgICAgICBoZWlnaHQ6IDIwMHB4OworICAg
IH0KKworICAgICNjb250ZW50IHsKKyAgICAgICAgaGVpZ2h0OiAxMDAwcHg7CisgICAgfQorICA8
L3N0eWxlPgorICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CisgICAgICB3aW5kb3cu
YWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIGZ1bmN0aW9uKCkgeworICAgICAgICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIgfHwgIXdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICAgICAgICAgICAgYWxl
cnQoJ1RoaXMgdGVzdCByZXF1aXJlcyB0ZXN0UnVubmVyIHRvIHJ1biEnKTsKKyAgICAgICAgICAg
ICAgcmV0dXJuOworICAgICAgICAgIH0KKyAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQo
ZmFsc2UpOworCisgICAgICAgICAgdmFyIHNjcm9sbGVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ3Njcm9sbGVyJyk7CisgICAgICAgICAgdmFyIGluZGljYXRvciA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCdpbmRpY2F0b3InKTsKKworICAgICAgICAgIC8vIE1ha2Ugc3VyZSB0aGUgc2Ny
b2xsaW5nIGNvbnRlbnQgaXMgcGFpbnRlZCBiZWZvcmUgd2Ugc3RhcnQuCisgICAgICAgICAgdmFy
IGR1bW15ID0gc2Nyb2xsZXIub2Zmc2V0VG9wOworCisgICAgICAgICAgLy8gU2Nyb2xsIGFsbCB0
aGUgd2F5IHRvIHRoZSBib3R0b20gYW5kIGNoYW5nZSB0aGUgY29sb3Igb2YgdGhlCisgICAgICAg
ICAgLy8gaW5kaWNhdG9yICh3aGljaCBpcyBub3cgb3V0c2lkZSB0aGUgb3ZlcmZsb3cgY2xpcCku
CisgICAgICAgICAgc2Nyb2xsZXIuc2Nyb2xsVG9wID0gMTAwMDsKKyAgICAgICAgICB3aW5kb3cu
aW50ZXJuYWxzLnN0YXJ0VHJhY2tpbmdSZXBhaW50cyhkb2N1bWVudCk7CisgICAgICAgICAgaW5k
aWNhdG9yLnN0eWxlLmJhY2tncm91bmQgPSAnZ3JlZW4nOworCisgICAgICAgICAgLy8gU2Nyb2xs
IGJhY2sgdXAgc28gdGhhdCB0aGUgdXBkYXRlZCAoZ3JlZW4pIGluZGljYXRvciBpcyB2aXNpYmxl
LgorICAgICAgICAgIHZhciBsYXllclRyZWUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGF5
ZXJUcmVlJyk7CisgICAgICAgICAgc2Nyb2xsZXIuc2Nyb2xsVG9wID0gMDsKKyAgICAgICAgICBs
YXllclRyZWUuaW5uZXJUZXh0ID0KKyAgICAgICAgICAgICAgd2luZG93LmludGVybmFscy5sYXll
clRyZWVBc1RleHQoZG9jdW1lbnQsIGludGVybmFscy5MQVlFUl9UUkVFX0lOQ0xVREVTX1JFUEFJ
TlRfUkVDVFMpOworICAgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc3RvcFRyYWNraW5nUmVwYWlu
dHMoZG9jdW1lbnQpOworICAgICAgfSk7CisgIDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cisg
IDxkaXYgaWQ9InNjcm9sbGVyIj4KKyAgICA8ZGl2IGlkPSJpbmRpY2F0b3IiPjwvZGl2PgorICAg
IDxkaXYgaWQ9ImNvbnRlbnQiPjwvZGl2PgorICA8L2Rpdj4KKyAgPHByZSBpZD0ibGF5ZXJUcmVl
Ij5UaGlzIHRleHQgd2lsbCBiZSByZXBsYWNlZCB3aXRoIHRoZSBsYXllciB0cmVlLjwvcHJlPgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RF
eHBlY3RhdGlvbnMKaW5kZXggNDc5OTM5ODEwNjM3NDE3MGU1YTIzMDJmM2M1NjY5NzhmOTc1YTI2
OC4uMTY2M2I1ZjNjMzI3ZTIwOGEyNTk5NDBjMTZjODdkNjYwZTcxMzMxMyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCkBAIC0zNzI4LDYgKzM3
MjgsOCBAQCB3ZWJraXQub3JnL2IvOTk3MzQgWyBNYWMgXSBodHRwL3Rlc3RzL3htbGh0dHByZXF1
ZXN0L3JlcXVlc3QtZW5jb2RpbmcyLmh0bWwgWyBQYQogIyBFTkFCTEVfQUNDRUxFUkFURURfT1ZF
UkZMT1dfU0NST0xMSU5HIGlzIG5vdCBjdXJyZW50bHkgZW5hYmxlZCBpbiBDaHJvbWl1bS4KIHdl
YmtpdC5vcmcvYi85NDM1MyBjb21wb3NpdGluZy9vdmVyZmxvdy9zY3JvbGxpbmctY29udGVudC1j
bGlwLXRvLXZpZXdwb3J0Lmh0bWwgWyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi85NDM1MyBwbGF0
Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL3NvZnR3YXJlY29tcG9zaXRpbmcvb3ZlcmZsb3cvc2Nyb2xs
aW5nLWNvbnRlbnQtY2xpcC10by12aWV3cG9ydC5odG1sIFsgRmFpbHVyZSBdCit3ZWJraXQub3Jn
L2IvOTQzNTMgY29tcG9zaXRpbmcvb3ZlcmZsb3cvdXBkYXRpbmctc2Nyb2xsaW5nLWNvbnRlbnQu
aHRtbCBbIEZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzk0MzUzIHBsYXRmb3JtL2Nocm9taXVtL3Zp
cnR1YWwvc29mdHdhcmVjb21wb3NpdGluZy9vdmVyZmxvdy91cGRhdGluZy1zY3JvbGxpbmctY29u
dGVudC5odG1sIFsgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvOTQzNTMgY29tcG9zaXRpbmcvb3Zl
cmZsb3cvdGV4dGFyZWEtc2Nyb2xsLXRvdWNoLmh0bWwgWyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcv
Yi85NDM1MyBwbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL3NvZnR3YXJlY29tcG9zaXRpbmcvb3Zl
cmZsb3cvdGV4dGFyZWEtc2Nyb2xsLXRvdWNoLmh0bWwgWyBGYWlsdXJlIF0KIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCAzMTFmM2JjMTM5ODQ2NzQ4YjJh
YWNjYTQ4ZDJjMjkyNjU1MjlhNDRlLi5kMjhlNDJkZDVlMTMyNGViZDJhNmVhNjRiNTdkNDRkNWJi
MWJiMjM2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0
aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwpAQCAt
ODQ4LDYgKzg0OCw3IEBAIGNvbXBvc2l0aW5nL292ZXJmbG93L292ZXJmbG93LWF1dG8td2l0aC10
b3VjaC5odG1sCiBjb21wb3NpdGluZy9vdmVyZmxvdy9vdmVyZmxvdy1vdmVybGF5LXdpdGgtdG91
Y2guaHRtbAogY29tcG9zaXRpbmcvb3ZlcmZsb3cvc2Nyb2xsaW5nLWNvbnRlbnQtY2xpcC10by12
aWV3cG9ydC5odG1sCiBjb21wb3NpdGluZy9vdmVyZmxvdy90ZXh0YXJlYS1zY3JvbGwtdG91Y2gu
aHRtbAorY29tcG9zaXRpbmcvb3ZlcmZsb3cvdXBkYXRpbmctc2Nyb2xsaW5nLWNvbnRlbnQuaHRt
bAogCiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NTAyNwogZmFz
dC9ibG9jay9mbG9hdC8wMTYuaHRtbAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>173916</attachid>
            <date>2012-11-13 09:59:48 -0800</date>
            <delta_ts>2012-11-13 10:50:16 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100524-20121113175748.patch</filename>
            <type>text/plain</type>
            <size>13593</size>
            <attacher name="Sami Kyöstilä">skyostil</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0MjM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWNhMzk5ZWRhZGEzODEz
YTNhOTM0ZDQ1MjMwYzZmYjVmMDcxOTA3NC4uNjhmZmNiY2NjNDZkZWYzZjkwZGYxYjg4MTRkNzEz
NjdjY2FkZjBiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEyLTEwLTI2ICBTYW1p
IEt5b3N0aWxhICA8c2t5b3N0aWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEFsbG93IHBhaW50
aW5nIG91dHNpZGUgb3ZlcmZsb3cgY2xpcCBpbiBhY2NlbGVyYXRlZCBzY3JvbGxpbmcgbGF5ZXJz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDA1MjQK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbiBwcmVw
YXJhdGlvbiBmb3IgYXZvaWRpbmcgcmVwYWludHMgd2hlbiBzY3JvbGxpbmcgY2hpbGQgbGF5ZXJz
LCBtYWtlIGl0CisgICAgICAgIHBvc3NpYmxlIHRvIHBhaW50IG91dHNpZGUgdGhlIG92ZXJmbG93
IGNsaXAuCisKKyAgICAgICAgVGVzdDogY29tcG9zaXRpbmcvb3ZlcmZsb3cvdXBkYXRpbmctc2Ny
b2xsaW5nLWNvbnRlbnQuaHRtbAorCisgICAgICAgICogcmVuZGVyaW5nL0xheW91dFN0YXRlLmg6
CisgICAgICAgIChMYXlvdXRTdGF0ZSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2Nr
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpwYWludCk6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlckJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OmFw
cGx5Q2FjaGVkQ2xpcEFuZFNjcm9sbE9mZnNldEZvclJlcGFpbnQpOgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJMYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6cmVw
YWludEJsb2NrU2VsZWN0aW9uR2Fwcyk6CisKIDIwMTItMTEtMTIgIFRpYW5jaGVuZyBKaWFuZyAg
PHRpamlhbmdAcmltLmNvbT4KIAogICAgICAgICBbQmxhY2tCZXJyeV0gVXBkYXRlIEJCMTAgZm9y
bSB0aGVtZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9MYXlvdXRTdGF0
ZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0xheW91dFN0YXRlLmgKaW5kZXggMTZlMDEw
MDVmY2VhNTQyMzViYmZkZjA4N2NiODlkM2E3OGRiZWZmNy4uMzg1NzFmOTFkNzhhZjYxODA0OTgx
ZGUxMWNmYjQ5M2U0ZjZjNjkyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L0xheW91dFN0YXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0xheW91dFN0YXRl
LmgKQEAgLTEyOSw2ICsxMjksOCBAQCBwdWJsaWM6CiAgICAgRXhjbHVzaW9uU2hhcGVJbnNpZGVJ
bmZvKiBtX2V4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbzsKICNlbmRpZgogCisgICAgLy8gRklYTUU6
IERpc3Rpbmd1aXNoIGJldHdlZW4gdGhlIGxheW91dCBjbGlwIHJlY3QgYW5kIHRoZSBwYWludCBj
bGlwIHJlY3Qgd2hpY2ggbWF5IGJlIGxhcmdlciwKKyAgICAvLyBlLmcuLCBiZWNhdXNlIG9mIGNv
bXBvc2l0ZWQgc2Nyb2xsaW5nLgogICAgIExheW91dFJlY3QgbV9jbGlwUmVjdDsKICAgICAKICAg
ICAvLyB4L3kgb2Zmc2V0IGZyb20gY29udGFpbmVyLiBJbmNsdWRlcyByZWxhdGl2ZSBwb3NpdGlv
bmluZyBhbmQgc2Nyb2xsIG9mZnNldHMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQmxvY2suY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJs
b2NrLmNwcAppbmRleCA5ODJiMDk1MTk5YjQzMWIxMGFmM2Q4Y2ZkZjM1YjBmZTU4NWFlNWQzLi40
YTVlODkzM2QwYTBhZmY5NGFjNzM2NDk3NGJkYzQwOTY1MDMyNDM0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKQEAgLTI3NTgsNyArMjc1OCw3IEBAIHZvaWQgUmVu
ZGVyQmxvY2s6OnBhaW50KFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBMYXlvdXRQb2ludCYg
cGFpbnRPZmZzZXQpCiAgICAgLy8gRklYTUU6IENvdWxkIGVsaW1pbmF0ZSB0aGUgaXNSb290KCkg
Y2hlY2sgaWYgd2UgZml4IGJhY2tncm91bmQgcGFpbnRpbmcgc28gdGhhdCB0aGUgUmVuZGVyVmll
dwogICAgIC8vIHBhaW50cyB0aGUgcm9vdCdzIGJhY2tncm91bmQuCiAgICAgaWYgKCFpc1Jvb3Qo
KSkgewotICAgICAgICBMYXlvdXRSZWN0IG92ZXJmbG93Qm94ID0gdmlzdWFsT3ZlcmZsb3dSZWN0
KCk7CisgICAgICAgIExheW91dFJlY3Qgb3ZlcmZsb3dCb3ggPSBvdmVyZmxvd1JlY3RGb3JQYWlu
dFJlamVjdGlvbigpOwogICAgICAgICBmbGlwRm9yV3JpdGluZ01vZGUob3ZlcmZsb3dCb3gpOwog
ICAgICAgICBvdmVyZmxvd0JveC5pbmZsYXRlKG1heGltYWxPdXRsaW5lU2l6ZShwYWludEluZm8u
cGhhc2UpKTsKICAgICAgICAgb3ZlcmZsb3dCb3gubW92ZUJ5KGFkanVzdGVkUGFpbnRPZmZzZXQp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAppbmRleCBmMmZiMzc4ZjhjOTVh
Yjk1MTliN2IxNzU1Mjc4NzM5YTRiN2EzMjNkLi4xYmY5YzI0ZTZkZWUyMTc4OWRmNTc5MTQzNWRj
NmRmMjkwNjE4Y2FhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
Qm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcApAQCAt
NjE3LDYgKzYxNywxMSBAQCBib29sIFJlbmRlckJveDo6Y2FuQmVQcm9ncmFtYXRpY2FsbHlTY3Jv
bGxlZCgpIGNvbnN0CiAgICAgcmV0dXJuIChoYXNPdmVyZmxvd0NsaXAoKSAmJiAoc2Nyb2xsc092
ZXJmbG93KCkgfHwgKG5vZGUoKSAmJiBub2RlKCktPnJlbmRlcmVySXNFZGl0YWJsZSgpKSkpIHx8
IChub2RlKCkgJiYgbm9kZSgpLT5pc0RvY3VtZW50Tm9kZSgpKTsKIH0KIAorYm9vbCBSZW5kZXJC
b3g6OnVzZXNDb21wb3NpdGVkU2Nyb2xsaW5nKCkgY29uc3QKK3sKKyAgICByZXR1cm4gaGFzT3Zl
cmZsb3dDbGlwKCkgJiYgbGF5ZXIoKSAmJiBsYXllcigpLT51c2VzQ29tcG9zaXRlZFNjcm9sbGlu
ZygpOworfQorCiB2b2lkIFJlbmRlckJveDo6YXV0b3Njcm9sbCgpCiB7CiAgICAgaWYgKGxheWVy
KCkpCkBAIC02NTIsNiArNjU3LDEwIEBAIHZvaWQgUmVuZGVyQm94OjphcHBseUNhY2hlZENsaXBB
bmRTY3JvbGxPZmZzZXRGb3JSZXBhaW50KExheW91dFJlY3QmIHBhaW50UmVjdCkKIHsKICAgICBw
YWludFJlY3QubW92ZSgtc2Nyb2xsZWRDb250ZW50T2Zmc2V0KCkpOyAvLyBGb3Igb3ZlcmZsb3c6
YXV0by9zY3JvbGwvaGlkZGVuLgogCisgICAgLy8gRG8gbm90IGNsaXAgc2Nyb2xsIGxheWVyIGNv
bnRlbnRzIHRvIHJlZHVjZSB0aGUgbnVtYmVyIG9mIHJlcGFpbnRzIHdoaWxlIHNjcm9sbGluZy4K
KyAgICBpZiAodXNlc0NvbXBvc2l0ZWRTY3JvbGxpbmcoKSkKKyAgICAgICAgcmV0dXJuOworCiAg
ICAgLy8gaGVpZ2h0KCkgaXMgaW5hY2N1cmF0ZSBpZiB3ZSdyZSBpbiB0aGUgbWlkZGxlIG9mIGEg
bGF5b3V0IG9mIHRoaXMgUmVuZGVyQm94LCBzbyB1c2UgdGhlCiAgICAgLy8gbGF5ZXIncyBzaXpl
IGluc3RlYWQuIEV2ZW4gaWYgdGhlIGxheWVyJ3Mgc2l6ZSBpcyB3cm9uZywgdGhlIGxheWVyIGl0
c2VsZiB3aWxsIHJlcGFpbnQKICAgICAvLyBhbnl3YXkgaWYgaXRzIHNpemUgZG9lcyBjaGFuZ2Uu
CkBAIC0zOTI4LDYgKzM5MzcsMTcgQEAgTGF5b3V0UmVjdCBSZW5kZXJCb3g6OmxheW91dE92ZXJm
bG93UmVjdEZvclByb3BhZ2F0aW9uKFJlbmRlclN0eWxlKiBwYXJlbnRTdHlsZSkKICAgICByZXR1
cm4gcmVjdDsKIH0KIAorTGF5b3V0UmVjdCBSZW5kZXJCb3g6Om92ZXJmbG93UmVjdEZvclBhaW50
UmVqZWN0aW9uKCkgY29uc3QKK3sKKyAgICBMYXlvdXRSZWN0IG92ZXJmbG93UmVjdCA9IHZpc3Vh
bE92ZXJmbG93UmVjdCgpOworICAgIGlmICghbV9vdmVyZmxvdyB8fCAhdXNlc0NvbXBvc2l0ZWRT
Y3JvbGxpbmcoKSkKKyAgICAgICAgcmV0dXJuIG92ZXJmbG93UmVjdDsKKworICAgIG92ZXJmbG93
UmVjdC51bml0ZShsYXlvdXRPdmVyZmxvd1JlY3QoKSk7CisgICAgb3ZlcmZsb3dSZWN0Lm1vdmUo
LXNjcm9sbGVkQ29udGVudE9mZnNldCgpKTsKKyAgICByZXR1cm4gb3ZlcmZsb3dSZWN0OworfQor
CiBMYXlvdXRVbml0IFJlbmRlckJveDo6b2Zmc2V0TGVmdCgpIGNvbnN0CiB7CiAgICAgcmV0dXJu
IGFkanVzdGVkUG9zaXRpb25SZWxhdGl2ZVRvT2Zmc2V0UGFyZW50KHRvcExlZnRMb2NhdGlvbigp
KS54KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgKaW5kZXggZTVkMWM4MzA2YjVj
YjgzYzNlZDI0YzcwNjMxYzgyOGVkYjJjMjU0YS4uYmVjMTYxOGY2NjkxNTJkMjgxYTg1Mzk1NmJl
OWViZmYzY2QzMzZhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJveC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaApAQCAtMTc1
LDYgKzE3NSw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIExheW91dFJlY3QgdmlzdWFsT3ZlcmZs
b3dSZWN0KCkgY29uc3QgeyByZXR1cm4gbV9vdmVyZmxvdyA/IG1fb3ZlcmZsb3ctPnZpc3VhbE92
ZXJmbG93UmVjdCgpIDogYm9yZGVyQm94UmVjdCgpOyB9CiAgICAgTGF5b3V0VW5pdCBsb2dpY2Fs
TGVmdFZpc3VhbE92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gc3R5bGUoKS0+aXNIb3Jpem9udGFs
V3JpdGluZ01vZGUoKSA/IHZpc3VhbE92ZXJmbG93UmVjdCgpLngoKSA6IHZpc3VhbE92ZXJmbG93
UmVjdCgpLnkoKTsgfQogICAgIExheW91dFVuaXQgbG9naWNhbFJpZ2h0VmlzdWFsT3ZlcmZsb3co
KSBjb25zdCB7IHJldHVybiBzdHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gdmlz
dWFsT3ZlcmZsb3dSZWN0KCkubWF4WCgpIDogdmlzdWFsT3ZlcmZsb3dSZWN0KCkubWF4WSgpOyB9
CisKKyAgICBMYXlvdXRSZWN0IG92ZXJmbG93UmVjdEZvclBhaW50UmVqZWN0aW9uKCkgY29uc3Q7
CiAgICAgCiAgICAgdm9pZCBhZGRMYXlvdXRPdmVyZmxvdyhjb25zdCBMYXlvdXRSZWN0Jik7CiAg
ICAgdm9pZCBhZGRWaXN1YWxPdmVyZmxvdyhjb25zdCBMYXlvdXRSZWN0Jik7CkBAIC00MzMsNiAr
NDM1LDcgQEAgcHVibGljOgogICAgIGJvb2wgc2Nyb2xsc092ZXJmbG93KCkgY29uc3QgeyByZXR1
cm4gc2Nyb2xsc092ZXJmbG93WCgpIHx8IHNjcm9sbHNPdmVyZmxvd1koKTsgfQogICAgIGJvb2wg
c2Nyb2xsc092ZXJmbG93WCgpIGNvbnN0IHsgcmV0dXJuIGhhc092ZXJmbG93Q2xpcCgpICYmIChz
dHlsZSgpLT5vdmVyZmxvd1goKSA9PSBPU0NST0xMIHx8IGhhc0F1dG9Ib3Jpem9udGFsU2Nyb2xs
YmFyKCkpOyB9CiAgICAgYm9vbCBzY3JvbGxzT3ZlcmZsb3dZKCkgY29uc3QgeyByZXR1cm4gaGFz
T3ZlcmZsb3dDbGlwKCkgJiYgKHN0eWxlKCktPm92ZXJmbG93WSgpID09IE9TQ1JPTEwgfHwgaGFz
QXV0b1ZlcnRpY2FsU2Nyb2xsYmFyKCkpOyB9CisgICAgYm9vbCB1c2VzQ29tcG9zaXRlZFNjcm9s
bGluZygpIGNvbnN0OwogICAgIAogICAgIGJvb2wgaGFzVW5zcGxpdHRhYmxlU2Nyb2xsaW5nT3Zl
cmZsb3coKSBjb25zdDsKICAgICBib29sIGlzVW5zcGxpdHRhYmxlRm9yUGFnaW5hdGlvbigpIGNv
bnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKaW5kZXggN2JhNGZl
OGJiNjgxYWU0ZjlmODY4Nzc3YTBjYjY3OTI2NDk2NmM0OC4uY2Y2NWM5ODIwNTlkMTg1MzViNDAx
ZjYxNmFiMGQxNjg0ZTg1NTk3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5
ZXIuY3BwCkBAIC00Mjc3LDcgKzQyNzcsNyBAQCB2b2lkIFJlbmRlckxheWVyOjpyZXBhaW50Qmxv
Y2tTZWxlY3Rpb25HYXBzKCkKIAogICAgIExheW91dFJlY3QgcmVjdCA9IG1fYmxvY2tTZWxlY3Rp
b25HYXBzQm91bmRzOwogICAgIHJlY3QubW92ZSgtc2Nyb2xsZWRDb250ZW50T2Zmc2V0KCkpOwot
ICAgIGlmIChyZW5kZXJlcigpLT5oYXNPdmVyZmxvd0NsaXAoKSkKKyAgICBpZiAocmVuZGVyZXIo
KS0+aGFzT3ZlcmZsb3dDbGlwKCkgJiYgIXVzZXNDb21wb3NpdGVkU2Nyb2xsaW5nKCkpCiAgICAg
ICAgIHJlY3QuaW50ZXJzZWN0KHRvUmVuZGVyQm94KHJlbmRlcmVyKCkpLT5vdmVyZmxvd0NsaXBS
ZWN0KExheW91dFBvaW50KCksIDApKTsgLy8gRklYTUU6IFJlZ2lvbnMgbm90IGFjY291bnRlZCBm
b3IuCiAgICAgaWYgKHJlbmRlcmVyKCktPmhhc0NsaXAoKSkKICAgICAgICAgcmVjdC5pbnRlcnNl
Y3QodG9SZW5kZXJCb3gocmVuZGVyZXIoKSktPmNsaXBSZWN0KExheW91dFBvaW50KCksIDApKTsg
Ly8gRklYTUU6IFJlZ2lvbnMgbm90IGFjY291bnRlZCBmb3IuCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggOTQ5OThjMTlmMTUw
ZDdhNDZlN2FjMWVhM2UzYjcyNmE0N2IyMWJiMS4uN2QwNjU2MzdhZjllNzQ2N2MxMTMyYTU5NGJj
MzFiMmZiZDc2YWFmZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTEwLTI2ICBTYW1pIEt5
b3N0aWxhICA8c2t5b3N0aWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEFsbG93IHBhaW50aW5n
IG91dHNpZGUgb3ZlcmZsb3cgY2xpcCBpbiBhY2NlbGVyYXRlZCBzY3JvbGxpbmcgbGF5ZXJzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDA1MjQKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBhIHRl
c3QgdG8gY2hlY2sgcGFpbnRpbmcgb3V0c2lkZSB0aGUgb3ZlcmZsb3cgY2xpcC4gTm90ZSB0aGF0
IHRoaXMgd2lsbAorICAgICAgICBub3QgcGFzcyB1bmxlc3MgRU5BQkxFX0FDQ0VMRVJBVEVEX09W
RVJGTE9XX1NDUk9MTElORyBpcyBlbmFibGVkLgorCisgICAgICAgICogY29tcG9zaXRpbmcvb3Zl
cmZsb3cvdXBkYXRpbmctc2Nyb2xsaW5nLWNvbnRlbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBjb21wb3NpdGluZy9vdmVyZmxvdy91cGRhdGluZy1zY3JvbGxpbmctY29udGVudC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25z
OiBNYXJrIHRlc3QgYXMgZXhwZWN0ZWQgdG8gZmFpbAorICAgICAgICAgIGJ5IGRlZmF1bHQuCisg
ICAgICAgICogcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnM6IFNraXAgdGhlIHRlc3QuCisK
IDIwMTItMTEtMTIgIErDoW5vcyBCYWRpY3MgIDxqYmFkaWNzQGluZi51LXN6ZWdlZC5odT4KIAog
ICAgICAgICBbUXRdIFJFR1JFU1NJT04ocjEzNDIwNSk6IGdhcmRlbmluZy4gU2tpcHBlZCAyIGZh
aWxpbmcgcmVmdGVzdHMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9vdmVy
Zmxvdy91cGRhdGluZy1zY3JvbGxpbmctY29udGVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9jb21wb3NpdGluZy9vdmVyZmxvdy91cGRhdGluZy1zY3JvbGxpbmctY29udGVudC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYWI3Yjg3NDJkOGM4MjY0N2JhMmZmZjBiMDA1MDdjZmM2N2RjM2Nh
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL292ZXJmbG93L3Vw
ZGF0aW5nLXNjcm9sbGluZy1jb250ZW50LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUwIEBACiso
R3JhcGhpY3NMYXllcgorICAoYm91bmRzIDgwMC4wMCA2MDAuMDApCisgIChjaGlsZHJlbiAxCisg
ICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgIChib3VuZHMgODAwLjAwIDYwMC4wMCkKKyAgICAgIChj
aGlsZHJlbiAxCisgICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAgKHBvc2l0aW9uIDgu
MDAgOC4wMCkKKyAgICAgICAgICAoYm91bmRzIDIwMC4wMCAyMDAuMDApCisgICAgICAgICAgKGNo
aWxkcmVuIDQKKyAgICAgICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAgICAgIChib3Vu
ZHMgMjAwLjAwIDIwMC4wMCkKKyAgICAgICAgICAgICAgKGNoaWxkcmVuIDEKKyAgICAgICAgICAg
ICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgICAgICAgICAgKGJvdW5kcyAxODUuMDAgMTIw
MC4wMCkKKyAgICAgICAgICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAgICAgICAgICAgICAg
ICAgIChyZXBhaW50IHJlY3RzCisgICAgICAgICAgICAgICAgICAgIChyZWN0IDAuMDAgMC4wMCAx
ODUuMDAgMjAwLjAwKQorICAgICAgICAgICAgICAgICAgICAocmVjdCAwLjAwIDAuMDAgMTg1LjAw
IDIwMC4wMCkKKyAgICAgICAgICAgICAgICAgICAgKHJlY3QgMC4wMCAwLjAwIDE4NS4wMCAyMDAu
MDApCisgICAgICAgICAgICAgICAgICAgIChyZWN0IDAuMDAgMC4wMCAxODUuMDAgMTIwMC4wMCkK
KyAgICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgICApCisgICAgICAgICAgICAgICkK
KyAgICAgICAgICAgICkKKyAgICAgICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAgICAg
IChwb3NpdGlvbiAwLjAwIDE4NS4wMCkKKyAgICAgICAgICAgICAgKGJvdW5kcyAxODUuMDAgMTUu
MDApCisgICAgICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAgICAgICAgICAgICkKKyAgICAg
ICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAgICAgIChwb3NpdGlvbiAxODUuMDAgMC4w
MCkKKyAgICAgICAgICAgICAgKGJvdW5kcyAxNS4wMCAxODUuMDApCisgICAgICAgICAgICAgIChk
cmF3c0NvbnRlbnQgMSkKKyAgICAgICAgICAgICAgKHJlcGFpbnQgcmVjdHMKKyAgICAgICAgICAg
ICAgICAocmVjdCAwLjAwIDAuMDAgMTUuMDAgMTg1LjAwKQorICAgICAgICAgICAgICApCisgICAg
ICAgICAgICApCisgICAgICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgICAgICAocG9z
aXRpb24gMTg1LjAwIDE4NS4wMCkKKyAgICAgICAgICAgICAgKGJvdW5kcyAxNS4wMCAxNS4wMCkK
KyAgICAgICAgICAgICAgKGRyYXdzQ29udGVudCAxKQorICAgICAgICAgICAgKQorICAgICAgICAg
ICkKKyAgICAgICAgKQorICAgICAgKQorICAgICkKKyAgKQorKQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9jb21wb3NpdGluZy9vdmVyZmxvdy91cGRhdGluZy1zY3JvbGxpbmctY29udGVudC5o
dG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvb3ZlcmZsb3cvdXBkYXRpbmctc2Nyb2xsaW5n
LWNvbnRlbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NzE5MGY4YTE1NTQzNDBhY2EwMjkwZDI5MzEwYTkw
Y2I4NWNlYTAxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvb3Zl
cmZsb3cvdXBkYXRpbmctc2Nyb2xsaW5nLWNvbnRlbnQuaHRtbApAQCAtMCwwICsxLDY0IEBACis8
IURPQ1RZUEUgaHRtbD4KKworPCEtLQorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBjb250ZW50
cyBvZiBhY2NlbGVyYXRlZCBzY3JvbGxpbmcgbGF5ZXJzIGFyZSBwcm9wZXJseQordXBkYXRlZCBh
bHNvIG91dHNpZGUgdGhlIGN1cnJlbnQgb3ZlcmZsb3cgY2xpcC4gU2VlCitodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwNTI0LgorLS0+CisKKzxodG1sPgorPGhlYWQ+
CisgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgICAgI3Njcm9sbGVyIHsKKyAgICAgICAgb3Zl
cmZsb3c6IHNjcm9sbDsKKyAgICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNo
OworICAgICAgICB3aWR0aDogMjAwcHg7CisgICAgICAgIGhlaWdodDogMjAwcHg7CisgICAgfQor
CisgICAgI2luZGljYXRvciB7CisgICAgICAgIGJhY2tncm91bmQ6IHJlZDsKKyAgICAgICAgaGVp
Z2h0OiAyMDBweDsKKyAgICB9CisKKyAgICAjY29udGVudCB7CisgICAgICAgIGhlaWdodDogMTAw
MHB4OworICAgIH0KKyAgPC9zdHlsZT4KKyAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi
PgorICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBmdW5jdGlvbigpIHsKKyAg
ICAgICAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyIHx8ICF3aW5kb3cuaW50ZXJuYWxzKSB7Cisg
ICAgICAgICAgICAgIGFsZXJ0KCdUaGlzIHRlc3QgcmVxdWlyZXMgdGVzdFJ1bm5lciB0byBydW4h
Jyk7CisgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICB9CisgICAgICAgICAgdGVzdFJ1
bm5lci5kdW1wQXNUZXh0KGZhbHNlKTsKKworICAgICAgICAgIHZhciBzY3JvbGxlciA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCdzY3JvbGxlcicpOworICAgICAgICAgIHZhciBpbmRpY2F0b3Ig
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaW5kaWNhdG9yJyk7CisKKyAgICAgICAgICAvLyBN
YWtlIHN1cmUgdGhlIHNjcm9sbGluZyBjb250ZW50IGlzIHBhaW50ZWQgYmVmb3JlIHdlIHN0YXJ0
LgorICAgICAgICAgIHNjcm9sbGVyLm9mZnNldFRvcDsKKworICAgICAgICAgIC8vIFNjcm9sbCBh
bGwgdGhlIHdheSB0byB0aGUgYm90dG9tIGFuZCBjaGFuZ2UgdGhlIGNvbG9yIG9mIHRoZQorICAg
ICAgICAgIC8vIGluZGljYXRvciAod2hpY2ggaXMgbm93IG91dHNpZGUgdGhlIG92ZXJmbG93IGNs
aXApLgorICAgICAgICAgIHNjcm9sbGVyLnNjcm9sbFRvcCA9IDEwMDA7CisgICAgICAgICAgd2lu
ZG93LmludGVybmFscy5zdGFydFRyYWNraW5nUmVwYWludHMoZG9jdW1lbnQpOworICAgICAgICAg
IGluZGljYXRvci5zdHlsZS5iYWNrZ3JvdW5kID0gJ2dyZWVuJzsKKworICAgICAgICAgIC8vIFNj
cm9sbCBiYWNrIHVwIHNvIHRoYXQgdGhlIHVwZGF0ZWQgKGdyZWVuKSBpbmRpY2F0b3IgaXMgdmlz
aWJsZS4KKyAgICAgICAgICB2YXIgbGF5ZXJUcmVlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J2xheWVyVHJlZScpOworICAgICAgICAgIHNjcm9sbGVyLnNjcm9sbFRvcCA9IDA7CisgICAgICAg
ICAgbGF5ZXJUcmVlLmlubmVyVGV4dCA9CisgICAgICAgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMu
bGF5ZXJUcmVlQXNUZXh0KGRvY3VtZW50LCBpbnRlcm5hbHMuTEFZRVJfVFJFRV9JTkNMVURFU19S
RVBBSU5UX1JFQ1RTKTsKKyAgICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnN0b3BUcmFja2luZ1Jl
cGFpbnRzKGRvY3VtZW50KTsKKyAgICAgIH0pOworICA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorICA8ZGl2IGlkPSJzY3JvbGxlciI+CisgICAgPGRpdiBpZD0iaW5kaWNhdG9yIj48L2Rpdj4K
KyAgICA8ZGl2IGlkPSJjb250ZW50Ij48L2Rpdj4KKyAgPC9kaXY+CisgIDxwcmUgaWQ9ImxheWVy
VHJlZSI+VGhpcyB0ZXh0IHdpbGwgYmUgcmVwbGFjZWQgd2l0aCB0aGUgbGF5ZXIgdHJlZS48L3By
ZT4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9U
ZXN0RXhwZWN0YXRpb25zCmluZGV4IDk1YjNmNGMwZjlmNTAyYWQzZjM4NjdlOGEzMTdmYWVjMjlk
MzEzMjEuLjE1NTZmMWY3ZWY1OWU3ZjU3YWY3YjU0MmU5N2U3Y2YxYzU4ZWRhNDQgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucwpAQCAtMzcyOSw2
ICszNzI5LDggQEAgd2Via2l0Lm9yZy9iLzk5NzM0IFsgTWFjIF0gaHR0cC90ZXN0cy94bWxodHRw
cmVxdWVzdC9yZXF1ZXN0LWVuY29kaW5nMi5odG1sIFsgUGEKICMgRU5BQkxFX0FDQ0VMRVJBVEVE
X09WRVJGTE9XX1NDUk9MTElORyBpcyBub3QgY3VycmVudGx5IGVuYWJsZWQgaW4gQ2hyb21pdW0u
CiB3ZWJraXQub3JnL2IvOTQzNTMgY29tcG9zaXRpbmcvb3ZlcmZsb3cvc2Nyb2xsaW5nLWNvbnRl
bnQtY2xpcC10by12aWV3cG9ydC5odG1sIFsgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvOTQzNTMg
cGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9zb2Z0d2FyZWNvbXBvc2l0aW5nL292ZXJmbG93L3Nj
cm9sbGluZy1jb250ZW50LWNsaXAtdG8tdmlld3BvcnQuaHRtbCBbIEZhaWx1cmUgXQord2Via2l0
Lm9yZy9iLzk0MzUzIGNvbXBvc2l0aW5nL292ZXJmbG93L3VwZGF0aW5nLXNjcm9sbGluZy1jb250
ZW50Lmh0bWwgWyBGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi85NDM1MyBwbGF0Zm9ybS9jaHJvbWl1
bS92aXJ0dWFsL3NvZnR3YXJlY29tcG9zaXRpbmcvb3ZlcmZsb3cvdXBkYXRpbmctc2Nyb2xsaW5n
LWNvbnRlbnQuaHRtbCBbIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzk0MzUzIGNvbXBvc2l0aW5n
L292ZXJmbG93L3RleHRhcmVhLXNjcm9sbC10b3VjaC5odG1sIFsgRmFpbHVyZSBdCiB3ZWJraXQu
b3JnL2IvOTQzNTMgcGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9zb2Z0d2FyZWNvbXBvc2l0aW5n
L292ZXJmbG93L3RleHRhcmVhLXNjcm9sbC10b3VjaC5odG1sIFsgRmFpbHVyZSBdCiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggODNlYjY3YjQ4NjBmYWU5
N2VmMjRlYzdkNzVlZTM0N2M0OTY0MThhMC4uMjE0ZmUyMjkxZWI4MzIwYzI5OGZjNmU4ZTUxOTFj
YWViNjdkZmRlNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBl
Y3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMK
QEAgLTg1Miw2ICs4NTIsNyBAQCBjb21wb3NpdGluZy9vdmVyZmxvdy9vdmVyZmxvdy1hdXRvLXdp
dGgtdG91Y2guaHRtbAogY29tcG9zaXRpbmcvb3ZlcmZsb3cvb3ZlcmZsb3ctb3ZlcmxheS13aXRo
LXRvdWNoLmh0bWwKIGNvbXBvc2l0aW5nL292ZXJmbG93L3Njcm9sbGluZy1jb250ZW50LWNsaXAt
dG8tdmlld3BvcnQuaHRtbAogY29tcG9zaXRpbmcvb3ZlcmZsb3cvdGV4dGFyZWEtc2Nyb2xsLXRv
dWNoLmh0bWwKK2NvbXBvc2l0aW5nL292ZXJmbG93L3VwZGF0aW5nLXNjcm9sbGluZy1jb250ZW50
Lmh0bWwKIAogIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTUwMjcK
IGZhc3QvYmxvY2svZmxvYXQvMDE2Lmh0bWwK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>173927</attachid>
            <date>2012-11-13 10:50:21 -0800</date>
            <delta_ts>2012-11-13 11:41:05 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100524-20121113184821.patch</filename>
            <type>text/plain</type>
            <size>13592</size>
            <attacher name="Sami Kyöstilä">skyostil</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0MjM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWNhMzk5ZWRhZGEzODEz
YTNhOTM0ZDQ1MjMwYzZmYjVmMDcxOTA3NC4uNjc3NmE1ZGIyM2FhN2RiZmY4ZWI2ZGZiODkxMDRi
M2IzYzFkOWEzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEyLTEwLTI2ICBTYW1p
IEt5b3N0aWxhICA8c2t5b3N0aWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEFsbG93IHBhaW50
aW5nIG91dHNpZGUgb3ZlcmZsb3cgY2xpcCBpbiBhY2NlbGVyYXRlZCBzY3JvbGxpbmcgbGF5ZXJz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDA1MjQK
KworICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCisKKyAgICAgICAgSW4gcHJlcGFy
YXRpb24gZm9yIGF2b2lkaW5nIHJlcGFpbnRzIHdoZW4gc2Nyb2xsaW5nIGNoaWxkIGxheWVycywg
bWFrZSBpdAorICAgICAgICBwb3NzaWJsZSB0byBwYWludCBvdXRzaWRlIHRoZSBvdmVyZmxvdyBj
bGlwLgorCisgICAgICAgIFRlc3Q6IGNvbXBvc2l0aW5nL292ZXJmbG93L3VwZGF0aW5nLXNjcm9s
bGluZy1jb250ZW50Lmh0bWwKKworICAgICAgICAqIHJlbmRlcmluZy9MYXlvdXRTdGF0ZS5oOgor
ICAgICAgICAoTGF5b3V0U3RhdGUpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9jay5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6cGFpbnQpOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94OjphcHBs
eUNhY2hlZENsaXBBbmRTY3JvbGxPZmZzZXRGb3JSZXBhaW50KToKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnJlcGFp
bnRCbG9ja1NlbGVjdGlvbkdhcHMpOgorCiAyMDEyLTExLTEyICBUaWFuY2hlbmcgSmlhbmcgIDx0
aWppYW5nQHJpbS5jb20+CiAKICAgICAgICAgW0JsYWNrQmVycnldIFVwZGF0ZSBCQjEwIGZvcm0g
dGhlbWUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvTGF5b3V0U3RhdGUu
aCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9MYXlvdXRTdGF0ZS5oCmluZGV4IDE2ZTAxMDA1
ZmNlYTU0MjM1YmJmZGYwODdjYjg5ZDNhNzhkYmVmZjcuLjM4NTcxZjkxZDc4YWY2MTgwNDk4MWRl
MTFjZmI0OTNlNGY2YzY5MjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9M
YXlvdXRTdGF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9MYXlvdXRTdGF0ZS5o
CkBAIC0xMjksNiArMTI5LDggQEAgcHVibGljOgogICAgIEV4Y2x1c2lvblNoYXBlSW5zaWRlSW5m
byogbV9leGNsdXNpb25TaGFwZUluc2lkZUluZm87CiAjZW5kaWYKIAorICAgIC8vIEZJWE1FOiBE
aXN0aW5ndWlzaCBiZXR3ZWVuIHRoZSBsYXlvdXQgY2xpcCByZWN0IGFuZCB0aGUgcGFpbnQgY2xp
cCByZWN0IHdoaWNoIG1heSBiZSBsYXJnZXIsCisgICAgLy8gZS5nLiwgYmVjYXVzZSBvZiBjb21w
b3NpdGVkIHNjcm9sbGluZy4KICAgICBMYXlvdXRSZWN0IG1fY2xpcFJlY3Q7CiAgICAgCiAgICAg
Ly8geC95IG9mZnNldCBmcm9tIGNvbnRhaW5lci4gSW5jbHVkZXMgcmVsYXRpdmUgcG9zaXRpb25p
bmcgYW5kIHNjcm9sbCBvZmZzZXRzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJsb2NrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9j
ay5jcHAKaW5kZXggOTgyYjA5NTE5OWI0MzFiMTBhZjNkOGNmZGYzNWIwZmU1ODVhZTVkMy4uNGE1
ZTg5MzNkMGEwYWZmOTRhYzczNjQ5NzRiZGM0MDk2NTAzMjQzNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCkBAIC0yNzU4LDcgKzI3NTgsNyBAQCB2b2lkIFJlbmRl
ckJsb2NrOjpwYWludChQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgTGF5b3V0UG9pbnQmIHBh
aW50T2Zmc2V0KQogICAgIC8vIEZJWE1FOiBDb3VsZCBlbGltaW5hdGUgdGhlIGlzUm9vdCgpIGNo
ZWNrIGlmIHdlIGZpeCBiYWNrZ3JvdW5kIHBhaW50aW5nIHNvIHRoYXQgdGhlIFJlbmRlclZpZXcK
ICAgICAvLyBwYWludHMgdGhlIHJvb3QncyBiYWNrZ3JvdW5kLgogICAgIGlmICghaXNSb290KCkp
IHsKLSAgICAgICAgTGF5b3V0UmVjdCBvdmVyZmxvd0JveCA9IHZpc3VhbE92ZXJmbG93UmVjdCgp
OworICAgICAgICBMYXlvdXRSZWN0IG92ZXJmbG93Qm94ID0gb3ZlcmZsb3dSZWN0Rm9yUGFpbnRS
ZWplY3Rpb24oKTsKICAgICAgICAgZmxpcEZvcldyaXRpbmdNb2RlKG92ZXJmbG93Qm94KTsKICAg
ICAgICAgb3ZlcmZsb3dCb3guaW5mbGF0ZShtYXhpbWFsT3V0bGluZVNpemUocGFpbnRJbmZvLnBo
YXNlKSk7CiAgICAgICAgIG92ZXJmbG93Qm94Lm1vdmVCeShhZGp1c3RlZFBhaW50T2Zmc2V0KTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKaW5kZXggZjJmYjM3OGY4Yzk1YWI5
NTE5YjdiMTc1NTI3ODczOWE0YjdhMzIzZC4uYjgzOTIzYTQwYzJjYWU4MzAwZmRhMWVhY2MzYjkw
OTg4OTk2MDA5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJv
eC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKQEAgLTYx
Nyw2ICs2MTcsMTEgQEAgYm9vbCBSZW5kZXJCb3g6OmNhbkJlUHJvZ3JhbWF0aWNhbGx5U2Nyb2xs
ZWQoKSBjb25zdAogICAgIHJldHVybiAoaGFzT3ZlcmZsb3dDbGlwKCkgJiYgKHNjcm9sbHNPdmVy
ZmxvdygpIHx8IChub2RlKCkgJiYgbm9kZSgpLT5yZW5kZXJlcklzRWRpdGFibGUoKSkpKSB8fCAo
bm9kZSgpICYmIG5vZGUoKS0+aXNEb2N1bWVudE5vZGUoKSk7CiB9CiAKK2Jvb2wgUmVuZGVyQm94
Ojp1c2VzQ29tcG9zaXRlZFNjcm9sbGluZygpIGNvbnN0Cit7CisgICAgcmV0dXJuIGhhc092ZXJm
bG93Q2xpcCgpICYmIGhhc0xheWVyKCkgJiYgbGF5ZXIoKS0+dXNlc0NvbXBvc2l0ZWRTY3JvbGxp
bmcoKTsKK30KKwogdm9pZCBSZW5kZXJCb3g6OmF1dG9zY3JvbGwoKQogewogICAgIGlmIChsYXll
cigpKQpAQCAtNjUyLDYgKzY1NywxMCBAQCB2b2lkIFJlbmRlckJveDo6YXBwbHlDYWNoZWRDbGlw
QW5kU2Nyb2xsT2Zmc2V0Rm9yUmVwYWludChMYXlvdXRSZWN0JiBwYWludFJlY3QpCiB7CiAgICAg
cGFpbnRSZWN0Lm1vdmUoLXNjcm9sbGVkQ29udGVudE9mZnNldCgpKTsgLy8gRm9yIG92ZXJmbG93
OmF1dG8vc2Nyb2xsL2hpZGRlbi4KIAorICAgIC8vIERvIG5vdCBjbGlwIHNjcm9sbCBsYXllciBj
b250ZW50cyB0byByZWR1Y2UgdGhlIG51bWJlciBvZiByZXBhaW50cyB3aGlsZSBzY3JvbGxpbmcu
CisgICAgaWYgKHVzZXNDb21wb3NpdGVkU2Nyb2xsaW5nKCkpCisgICAgICAgIHJldHVybjsKKwog
ICAgIC8vIGhlaWdodCgpIGlzIGluYWNjdXJhdGUgaWYgd2UncmUgaW4gdGhlIG1pZGRsZSBvZiBh
IGxheW91dCBvZiB0aGlzIFJlbmRlckJveCwgc28gdXNlIHRoZQogICAgIC8vIGxheWVyJ3Mgc2l6
ZSBpbnN0ZWFkLiBFdmVuIGlmIHRoZSBsYXllcidzIHNpemUgaXMgd3JvbmcsIHRoZSBsYXllciBp
dHNlbGYgd2lsbCByZXBhaW50CiAgICAgLy8gYW55d2F5IGlmIGl0cyBzaXplIGRvZXMgY2hhbmdl
LgpAQCAtMzkyOCw2ICszOTM3LDE3IEBAIExheW91dFJlY3QgUmVuZGVyQm94OjpsYXlvdXRPdmVy
Zmxvd1JlY3RGb3JQcm9wYWdhdGlvbihSZW5kZXJTdHlsZSogcGFyZW50U3R5bGUpCiAgICAgcmV0
dXJuIHJlY3Q7CiB9CiAKK0xheW91dFJlY3QgUmVuZGVyQm94OjpvdmVyZmxvd1JlY3RGb3JQYWlu
dFJlamVjdGlvbigpIGNvbnN0Cit7CisgICAgTGF5b3V0UmVjdCBvdmVyZmxvd1JlY3QgPSB2aXN1
YWxPdmVyZmxvd1JlY3QoKTsKKyAgICBpZiAoIW1fb3ZlcmZsb3cgfHwgIXVzZXNDb21wb3NpdGVk
U2Nyb2xsaW5nKCkpCisgICAgICAgIHJldHVybiBvdmVyZmxvd1JlY3Q7CisKKyAgICBvdmVyZmxv
d1JlY3QudW5pdGUobGF5b3V0T3ZlcmZsb3dSZWN0KCkpOworICAgIG92ZXJmbG93UmVjdC5tb3Zl
KC1zY3JvbGxlZENvbnRlbnRPZmZzZXQoKSk7CisgICAgcmV0dXJuIG92ZXJmbG93UmVjdDsKK30K
KwogTGF5b3V0VW5pdCBSZW5kZXJCb3g6Om9mZnNldExlZnQoKSBjb25zdAogewogICAgIHJldHVy
biBhZGp1c3RlZFBvc2l0aW9uUmVsYXRpdmVUb09mZnNldFBhcmVudCh0b3BMZWZ0TG9jYXRpb24o
KSkueCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5o
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCmluZGV4IGU1ZDFjODMwNmI1
Y2I4M2MzZWQyNGM3MDYzMWM4MjhlZGIyYzI1NGEuLmJlYzE2MThmNjY5MTUyZDI4MWE4NTM5NTZi
ZTllYmZmM2NkMzM2YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCb3guaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgKQEAgLTE3
NSw2ICsxNzUsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBMYXlvdXRSZWN0IHZpc3VhbE92ZXJm
bG93UmVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fb3ZlcmZsb3cgPyBtX292ZXJmbG93LT52aXN1YWxP
dmVyZmxvd1JlY3QoKSA6IGJvcmRlckJveFJlY3QoKTsgfQogICAgIExheW91dFVuaXQgbG9naWNh
bExlZnRWaXN1YWxPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIHN0eWxlKCktPmlzSG9yaXpvbnRh
bFdyaXRpbmdNb2RlKCkgPyB2aXN1YWxPdmVyZmxvd1JlY3QoKS54KCkgOiB2aXN1YWxPdmVyZmxv
d1JlY3QoKS55KCk7IH0KICAgICBMYXlvdXRVbml0IGxvZ2ljYWxSaWdodFZpc3VhbE92ZXJmbG93
KCkgY29uc3QgeyByZXR1cm4gc3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IHZp
c3VhbE92ZXJmbG93UmVjdCgpLm1heFgoKSA6IHZpc3VhbE92ZXJmbG93UmVjdCgpLm1heFkoKTsg
fQorCisgICAgTGF5b3V0UmVjdCBvdmVyZmxvd1JlY3RGb3JQYWludFJlamVjdGlvbigpIGNvbnN0
OwogICAgIAogICAgIHZvaWQgYWRkTGF5b3V0T3ZlcmZsb3coY29uc3QgTGF5b3V0UmVjdCYpOwog
ICAgIHZvaWQgYWRkVmlzdWFsT3ZlcmZsb3coY29uc3QgTGF5b3V0UmVjdCYpOwpAQCAtNDMzLDYg
KzQzNSw3IEBAIHB1YmxpYzoKICAgICBib29sIHNjcm9sbHNPdmVyZmxvdygpIGNvbnN0IHsgcmV0
dXJuIHNjcm9sbHNPdmVyZmxvd1goKSB8fCBzY3JvbGxzT3ZlcmZsb3dZKCk7IH0KICAgICBib29s
IHNjcm9sbHNPdmVyZmxvd1goKSBjb25zdCB7IHJldHVybiBoYXNPdmVyZmxvd0NsaXAoKSAmJiAo
c3R5bGUoKS0+b3ZlcmZsb3dYKCkgPT0gT1NDUk9MTCB8fCBoYXNBdXRvSG9yaXpvbnRhbFNjcm9s
bGJhcigpKTsgfQogICAgIGJvb2wgc2Nyb2xsc092ZXJmbG93WSgpIGNvbnN0IHsgcmV0dXJuIGhh
c092ZXJmbG93Q2xpcCgpICYmIChzdHlsZSgpLT5vdmVyZmxvd1koKSA9PSBPU0NST0xMIHx8IGhh
c0F1dG9WZXJ0aWNhbFNjcm9sbGJhcigpKTsgfQorICAgIGJvb2wgdXNlc0NvbXBvc2l0ZWRTY3Jv
bGxpbmcoKSBjb25zdDsKICAgICAKICAgICBib29sIGhhc1Vuc3BsaXR0YWJsZVNjcm9sbGluZ092
ZXJmbG93KCkgY29uc3Q7CiAgICAgYm9vbCBpc1Vuc3BsaXR0YWJsZUZvclBhZ2luYXRpb24oKSBj
b25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IDdiYTRm
ZThiYjY4MWFlNGY5Zjg2ODc3N2EwY2I2NzkyNjQ5NjZjNDguLmNmNjVjOTgyMDU5ZDE4NTM1YjQw
MWY2MTZhYjBkMTY4NGU4NTU5N2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxh
eWVyLmNwcApAQCAtNDI3Nyw3ICs0Mjc3LDcgQEAgdm9pZCBSZW5kZXJMYXllcjo6cmVwYWludEJs
b2NrU2VsZWN0aW9uR2FwcygpCiAKICAgICBMYXlvdXRSZWN0IHJlY3QgPSBtX2Jsb2NrU2VsZWN0
aW9uR2Fwc0JvdW5kczsKICAgICByZWN0Lm1vdmUoLXNjcm9sbGVkQ29udGVudE9mZnNldCgpKTsK
LSAgICBpZiAocmVuZGVyZXIoKS0+aGFzT3ZlcmZsb3dDbGlwKCkpCisgICAgaWYgKHJlbmRlcmVy
KCktPmhhc092ZXJmbG93Q2xpcCgpICYmICF1c2VzQ29tcG9zaXRlZFNjcm9sbGluZygpKQogICAg
ICAgICByZWN0LmludGVyc2VjdCh0b1JlbmRlckJveChyZW5kZXJlcigpKS0+b3ZlcmZsb3dDbGlw
UmVjdChMYXlvdXRQb2ludCgpLCAwKSk7IC8vIEZJWE1FOiBSZWdpb25zIG5vdCBhY2NvdW50ZWQg
Zm9yLgogICAgIGlmIChyZW5kZXJlcigpLT5oYXNDbGlwKCkpCiAgICAgICAgIHJlY3QuaW50ZXJz
ZWN0KHRvUmVuZGVyQm94KHJlbmRlcmVyKCkpLT5jbGlwUmVjdChMYXlvdXRQb2ludCgpLCAwKSk7
IC8vIEZJWE1FOiBSZWdpb25zIG5vdCBhY2NvdW50ZWQgZm9yLgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDk0OTk4YzE5ZjE1
MGQ3YTQ2ZTdhYzFlYTNlM2I3MjZhNDdiMjFiYjEuLjZlYWU3NTc1ZmRmYTEzNjlkMmYyOGQxNjJh
N2M3N2VhMjc2MWJjN2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxMi0xMC0yNiAgU2FtaSBL
eW9zdGlsYSAgPHNreW9zdGlsQGNocm9taXVtLm9yZz4KKworICAgICAgICBBbGxvdyBwYWludGlu
ZyBvdXRzaWRlIG92ZXJmbG93IGNsaXAgaW4gYWNjZWxlcmF0ZWQgc2Nyb2xsaW5nIGxheWVycwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwNTI0CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgorCisgICAgICAgIEFkZGVkIGEgdGVz
dCB0byBjaGVjayBwYWludGluZyBvdXRzaWRlIHRoZSBvdmVyZmxvdyBjbGlwLiBOb3RlIHRoYXQg
dGhpcyB3aWxsCisgICAgICAgIG5vdCBwYXNzIHVubGVzcyBFTkFCTEVfQUNDRUxFUkFURURfT1ZF
UkZMT1dfU0NST0xMSU5HIGlzIGVuYWJsZWQuCisKKyAgICAgICAgKiBjb21wb3NpdGluZy9vdmVy
Zmxvdy91cGRhdGluZy1zY3JvbGxpbmctY29udGVudC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGNvbXBvc2l0aW5nL292ZXJmbG93L3VwZGF0aW5nLXNjcm9sbGluZy1jb250ZW50Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnM6
IE1hcmsgdGVzdCBhcyBleHBlY3RlZCB0byBmYWlsCisgICAgICAgICAgYnkgZGVmYXVsdC4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9uczogU2tpcCB0aGUgdGVzdC4KKwog
MjAxMi0xMS0xMiAgSsOhbm9zIEJhZGljcyAgPGpiYWRpY3NAaW5mLnUtc3plZ2VkLmh1PgogCiAg
ICAgICAgIFtRdF0gUkVHUkVTU0lPTihyMTM0MjA1KTogZ2FyZGVuaW5nLiBTa2lwcGVkIDIgZmFp
bGluZyByZWZ0ZXN0cy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL292ZXJm
bG93L3VwZGF0aW5nLXNjcm9sbGluZy1jb250ZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2NvbXBvc2l0aW5nL292ZXJmbG93L3VwZGF0aW5nLXNjcm9sbGluZy1jb250ZW50LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5hYjdiODc0MmQ4YzgyNjQ3YmEyZmZmMGIwMDUwN2NmYzY3ZGMzY2E0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvb3ZlcmZsb3cvdXBk
YXRpbmctc2Nyb2xsaW5nLWNvbnRlbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNTAgQEAKKyhH
cmFwaGljc0xheWVyCisgIChib3VuZHMgODAwLjAwIDYwMC4wMCkKKyAgKGNoaWxkcmVuIDEKKyAg
ICAoR3JhcGhpY3NMYXllcgorICAgICAgKGJvdW5kcyA4MDAuMDAgNjAwLjAwKQorICAgICAgKGNo
aWxkcmVuIDEKKyAgICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICAocG9zaXRpb24gOC4w
MCA4LjAwKQorICAgICAgICAgIChib3VuZHMgMjAwLjAwIDIwMC4wMCkKKyAgICAgICAgICAoY2hp
bGRyZW4gNAorICAgICAgICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICAgICAgKGJvdW5k
cyAyMDAuMDAgMjAwLjAwKQorICAgICAgICAgICAgICAoY2hpbGRyZW4gMQorICAgICAgICAgICAg
ICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAgICAgICAgICAoYm91bmRzIDE4NS4wMCAxMjAw
LjAwKQorICAgICAgICAgICAgICAgICAgKGRyYXdzQ29udGVudCAxKQorICAgICAgICAgICAgICAg
ICAgKHJlcGFpbnQgcmVjdHMKKyAgICAgICAgICAgICAgICAgICAgKHJlY3QgMC4wMCAwLjAwIDE4
NS4wMCAyMDAuMDApCisgICAgICAgICAgICAgICAgICAgIChyZWN0IDAuMDAgMC4wMCAxODUuMDAg
MjAwLjAwKQorICAgICAgICAgICAgICAgICAgICAocmVjdCAwLjAwIDAuMDAgMTg1LjAwIDIwMC4w
MCkKKyAgICAgICAgICAgICAgICAgICAgKHJlY3QgMC4wMCAwLjAwIDE4NS4wMCAxMjAwLjAwKQor
ICAgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgKQor
ICAgICAgICAgICAgKQorICAgICAgICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICAgICAg
KHBvc2l0aW9uIDAuMDAgMTg1LjAwKQorICAgICAgICAgICAgICAoYm91bmRzIDE4NS4wMCAxNS4w
MCkKKyAgICAgICAgICAgICAgKGRyYXdzQ29udGVudCAxKQorICAgICAgICAgICAgKQorICAgICAg
ICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICAgICAgKHBvc2l0aW9uIDE4NS4wMCAwLjAw
KQorICAgICAgICAgICAgICAoYm91bmRzIDE1LjAwIDE4NS4wMCkKKyAgICAgICAgICAgICAgKGRy
YXdzQ29udGVudCAxKQorICAgICAgICAgICAgICAocmVwYWludCByZWN0cworICAgICAgICAgICAg
ICAgIChyZWN0IDAuMDAgMC4wMCAxNS4wMCAxODUuMDApCisgICAgICAgICAgICAgICkKKyAgICAg
ICAgICAgICkKKyAgICAgICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAgICAgIChwb3Np
dGlvbiAxODUuMDAgMTg1LjAwKQorICAgICAgICAgICAgICAoYm91bmRzIDE1LjAwIDE1LjAwKQor
ICAgICAgICAgICAgICAoZHJhd3NDb250ZW50IDEpCisgICAgICAgICAgICApCisgICAgICAgICAg
KQorICAgICAgICApCisgICAgICApCisgICAgKQorICApCispCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2NvbXBvc2l0aW5nL292ZXJmbG93L3VwZGF0aW5nLXNjcm9sbGluZy1jb250ZW50Lmh0
bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9vdmVyZmxvdy91cGRhdGluZy1zY3JvbGxpbmct
Y29udGVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ3MTkwZjhhMTU1NDM0MGFjYTAyOTBkMjkzMTBhOTBj
Yjg1Y2VhMDEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9vdmVy
Zmxvdy91cGRhdGluZy1zY3JvbGxpbmctY29udGVudC5odG1sCkBAIC0wLDAgKzEsNjQgQEAKKzwh
RE9DVFlQRSBodG1sPgorCis8IS0tCitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIGNvbnRlbnRz
IG9mIGFjY2VsZXJhdGVkIHNjcm9sbGluZyBsYXllcnMgYXJlIHByb3Blcmx5Cit1cGRhdGVkIGFs
c28gb3V0c2lkZSB0aGUgY3VycmVudCBvdmVyZmxvdyBjbGlwLiBTZWUKK2h0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDA1MjQuCistLT4KKworPGh0bWw+Cis8aGVhZD4K
KyAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KKyAgICAjc2Nyb2xsZXIgeworICAgICAgICBvdmVy
Zmxvdzogc2Nyb2xsOworICAgICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7
CisgICAgICAgIHdpZHRoOiAyMDBweDsKKyAgICAgICAgaGVpZ2h0OiAyMDBweDsKKyAgICB9CisK
KyAgICAjaW5kaWNhdG9yIHsKKyAgICAgICAgYmFja2dyb3VuZDogcmVkOworICAgICAgICBoZWln
aHQ6IDIwMHB4OworICAgIH0KKworICAgICNjb250ZW50IHsKKyAgICAgICAgaGVpZ2h0OiAxMDAw
cHg7CisgICAgfQorICA8L3N0eWxlPgorICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+
CisgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIGZ1bmN0aW9uKCkgeworICAg
ICAgICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIgfHwgIXdpbmRvdy5pbnRlcm5hbHMpIHsKKyAg
ICAgICAgICAgICAgYWxlcnQoJ1RoaXMgdGVzdCByZXF1aXJlcyB0ZXN0UnVubmVyIHRvIHJ1biEn
KTsKKyAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgIH0KKyAgICAgICAgICB0ZXN0UnVu
bmVyLmR1bXBBc1RleHQoZmFsc2UpOworCisgICAgICAgICAgdmFyIHNjcm9sbGVyID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ3Njcm9sbGVyJyk7CisgICAgICAgICAgdmFyIGluZGljYXRvciA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbmRpY2F0b3InKTsKKworICAgICAgICAgIC8vIE1h
a2Ugc3VyZSB0aGUgc2Nyb2xsaW5nIGNvbnRlbnQgaXMgcGFpbnRlZCBiZWZvcmUgd2Ugc3RhcnQu
CisgICAgICAgICAgc2Nyb2xsZXIub2Zmc2V0VG9wOworCisgICAgICAgICAgLy8gU2Nyb2xsIGFs
bCB0aGUgd2F5IHRvIHRoZSBib3R0b20gYW5kIGNoYW5nZSB0aGUgY29sb3Igb2YgdGhlCisgICAg
ICAgICAgLy8gaW5kaWNhdG9yICh3aGljaCBpcyBub3cgb3V0c2lkZSB0aGUgb3ZlcmZsb3cgY2xp
cCkuCisgICAgICAgICAgc2Nyb2xsZXIuc2Nyb2xsVG9wID0gMTAwMDsKKyAgICAgICAgICB3aW5k
b3cuaW50ZXJuYWxzLnN0YXJ0VHJhY2tpbmdSZXBhaW50cyhkb2N1bWVudCk7CisgICAgICAgICAg
aW5kaWNhdG9yLnN0eWxlLmJhY2tncm91bmQgPSAnZ3JlZW4nOworCisgICAgICAgICAgLy8gU2Ny
b2xsIGJhY2sgdXAgc28gdGhhdCB0aGUgdXBkYXRlZCAoZ3JlZW4pIGluZGljYXRvciBpcyB2aXNp
YmxlLgorICAgICAgICAgIHZhciBsYXllclRyZWUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
bGF5ZXJUcmVlJyk7CisgICAgICAgICAgc2Nyb2xsZXIuc2Nyb2xsVG9wID0gMDsKKyAgICAgICAg
ICBsYXllclRyZWUuaW5uZXJUZXh0ID0KKyAgICAgICAgICAgICAgd2luZG93LmludGVybmFscy5s
YXllclRyZWVBc1RleHQoZG9jdW1lbnQsIGludGVybmFscy5MQVlFUl9UUkVFX0lOQ0xVREVTX1JF
UEFJTlRfUkVDVFMpOworICAgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc3RvcFRyYWNraW5nUmVw
YWludHMoZG9jdW1lbnQpOworICAgICAgfSk7CisgIDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
CisgIDxkaXYgaWQ9InNjcm9sbGVyIj4KKyAgICA8ZGl2IGlkPSJpbmRpY2F0b3IiPjwvZGl2Pgor
ICAgIDxkaXYgaWQ9ImNvbnRlbnQiPjwvZGl2PgorICA8L2Rpdj4KKyAgPHByZSBpZD0ibGF5ZXJU
cmVlIj5UaGlzIHRleHQgd2lsbCBiZSByZXBsYWNlZCB3aXRoIHRoZSBsYXllciB0cmVlLjwvcHJl
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rl
c3RFeHBlY3RhdGlvbnMKaW5kZXggOTViM2Y0YzBmOWY1MDJhZDNmMzg2N2U4YTMxN2ZhZWMyOWQz
MTMyMS4uMTU1NmYxZjdlZjU5ZTdmNTdhZjdiNTQyZTk3ZTdjZjFjNThlZGE0NCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucworKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCkBAIC0zNzI5LDYg
KzM3MjksOCBAQCB3ZWJraXQub3JnL2IvOTk3MzQgWyBNYWMgXSBodHRwL3Rlc3RzL3htbGh0dHBy
ZXF1ZXN0L3JlcXVlc3QtZW5jb2RpbmcyLmh0bWwgWyBQYQogIyBFTkFCTEVfQUNDRUxFUkFURURf
T1ZFUkZMT1dfU0NST0xMSU5HIGlzIG5vdCBjdXJyZW50bHkgZW5hYmxlZCBpbiBDaHJvbWl1bS4K
IHdlYmtpdC5vcmcvYi85NDM1MyBjb21wb3NpdGluZy9vdmVyZmxvdy9zY3JvbGxpbmctY29udGVu
dC1jbGlwLXRvLXZpZXdwb3J0Lmh0bWwgWyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi85NDM1MyBw
bGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL3NvZnR3YXJlY29tcG9zaXRpbmcvb3ZlcmZsb3cvc2Ny
b2xsaW5nLWNvbnRlbnQtY2xpcC10by12aWV3cG9ydC5odG1sIFsgRmFpbHVyZSBdCit3ZWJraXQu
b3JnL2IvOTQzNTMgY29tcG9zaXRpbmcvb3ZlcmZsb3cvdXBkYXRpbmctc2Nyb2xsaW5nLWNvbnRl
bnQuaHRtbCBbIEZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzk0MzUzIHBsYXRmb3JtL2Nocm9taXVt
L3ZpcnR1YWwvc29mdHdhcmVjb21wb3NpdGluZy9vdmVyZmxvdy91cGRhdGluZy1zY3JvbGxpbmct
Y29udGVudC5odG1sIFsgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvOTQzNTMgY29tcG9zaXRpbmcv
b3ZlcmZsb3cvdGV4dGFyZWEtc2Nyb2xsLXRvdWNoLmh0bWwgWyBGYWlsdXJlIF0KIHdlYmtpdC5v
cmcvYi85NDM1MyBwbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL3NvZnR3YXJlY29tcG9zaXRpbmcv
b3ZlcmZsb3cvdGV4dGFyZWEtc2Nyb2xsLXRvdWNoLmh0bWwgWyBGYWlsdXJlIF0KIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA4M2ViNjdiNDg2MGZhZTk3
ZWYyNGVjN2Q3NWVlMzQ3YzQ5NjQxOGEwLi4yMTRmZTIyOTFlYjgzMjBjMjk4ZmM2ZThlNTE5MWNh
ZWI2N2RmZGU0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVj
dGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwpA
QCAtODUyLDYgKzg1Miw3IEBAIGNvbXBvc2l0aW5nL292ZXJmbG93L292ZXJmbG93LWF1dG8td2l0
aC10b3VjaC5odG1sCiBjb21wb3NpdGluZy9vdmVyZmxvdy9vdmVyZmxvdy1vdmVybGF5LXdpdGgt
dG91Y2guaHRtbAogY29tcG9zaXRpbmcvb3ZlcmZsb3cvc2Nyb2xsaW5nLWNvbnRlbnQtY2xpcC10
by12aWV3cG9ydC5odG1sCiBjb21wb3NpdGluZy9vdmVyZmxvdy90ZXh0YXJlYS1zY3JvbGwtdG91
Y2guaHRtbAorY29tcG9zaXRpbmcvb3ZlcmZsb3cvdXBkYXRpbmctc2Nyb2xsaW5nLWNvbnRlbnQu
aHRtbAogCiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NTAyNwog
ZmFzdC9ibG9jay9mbG9hdC8wMTYuaHRtbAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>