<?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>115613</bug_id>
          
          <creation_ts>2013-05-05 15:16:46 -0700</creation_ts>
          <short_desc>GraphicsLayers should be aware of rounded rect clipping</short_desc>
          <delta_ts>2022-08-31 14:46:42 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</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>115614</dependson>
          <blocked>115616</blocked>
    
    <blocked>114638</blocked>
    
    <blocked>115615</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Noam Rosenthal">noam</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ahmad.saleem792</cc>
    
    <cc>ap</cc>
    
    <cc>benjamin</cc>
    
    <cc>bfulgham</cc>
    
    <cc>buildbot</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>eflews.bot</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>fujii</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>rniwa</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>884739</commentid>
    <comment_count>0</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2013-05-05 15:16:46 -0700</bug_when>
    <thetext>When a GraphicsLayer is clipped by an ancestor with a border radius, or when it has its own border radius and composited contents like canvas, the border radius information should be passed to the port-specific compositor.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>884744</commentid>
    <comment_count>1</comment_count>
      <attachid>200597</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2013-05-05 15:34:52 -0700</bug_when>
    <thetext>Created attachment 200597
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>884768</commentid>
    <comment_count>2</comment_count>
      <attachid>200597</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-05-05 19:47:24 -0700</bug_when>
    <thetext>Comment on attachment 200597
Patch

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

&gt; LayoutTests/TestExpectations:15
&gt; +# pending border-radius support in port-specific compositors
&gt; +webkit.org/b/115613 compositing/border-radius

This is a bad idea.

See the recent threads about testing on webkit-dev.

&gt; LayoutTests/compositing/border-radius/composited-border-radius-descendant-large-radius.html:3
&gt; +&lt;html&gt;
&gt; +	&lt;head&gt;
&gt; +		&lt;style&gt;

Tabs in tests? Heresy! :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>884787</commentid>
    <comment_count>3</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2013-05-06 00:16:37 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 200597 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=200597&amp;action=review
&gt; 
&gt; &gt; LayoutTests/TestExpectations:15
&gt; &gt; +# pending border-radius support in port-specific compositors
&gt; &gt; +webkit.org/b/115613 compositing/border-radius
&gt; 
&gt; This is a bad idea.
&gt; 
&gt; See the recent threads about testing on webkit-dev.
As I recall that thread was more about tests that work but need rebaseline.
In this case the feature is not ready (it&apos;s not ready until at least one compositor supports it), but I wanted the tests to be there for reference. What do you propose?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>884906</commentid>
    <comment_count>4</comment_count>
      <attachid>200658</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2013-05-06 04:15:24 -0700</bug_when>
    <thetext>Created attachment 200658
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>886133</commentid>
    <comment_count>5</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-05-07 20:43:45 -0700</bug_when>
    <thetext>&gt; As I recall that thread was more about tests that work but need rebaseline.

The problem is TestExpectations is growing faster than it is shrinking.
Skipped tests are the worse because we have no idea what is going on in that case.

&gt; In this case the feature is not ready (it&apos;s not ready until at least one compositor supports it), but I wanted the tests to be there for reference. What do you propose?

At a minimum, marking them as failing, not skipped.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>886325</commentid>
    <comment_count>6</comment_count>
      <attachid>201069</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2013-05-08 06:49:40 -0700</bug_when>
    <thetext>Created attachment 201069
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>893907</commentid>
    <comment_count>7</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2013-05-27 01:08:51 -0700</bug_when>
    <thetext>Any chance to get this reviewed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>894503</commentid>
    <comment_count>8</comment_count>
      <attachid>201069</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-05-28 14:11:55 -0700</bug_when>
    <thetext>Comment on attachment 201069
Patch

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

&gt; Source/WebCore/rendering/RenderLayerBacking.cpp:730
&gt; +    RoundedRect roundedRect = roundedRectMask(renderer());
&gt; +    m_graphicsLayer-&gt;setRoundedRectMask(roundedRect);

This seems wrong. For a rounded-corner layer with box-shadow or an overflowing child, it will clip the shadow/child.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>897678</commentid>
    <comment_count>9</comment_count>
      <attachid>203912</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2013-06-06 01:38:34 -0700</bug_when>
    <thetext>Created attachment 203912
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>897680</commentid>
    <comment_count>10</comment_count>
      <attachid>203912</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-06-06 01:45:52 -0700</bug_when>
    <thetext>Comment on attachment 203912
Patch

Attachment 203912 did not pass qt-ews (qt):
Output: http://webkit-queues.appspot.com/results/712609</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>897682</commentid>
    <comment_count>11</comment_count>
      <attachid>203912</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-06-06 01:47:06 -0700</bug_when>
    <thetext>Comment on attachment 203912
Patch

Attachment 203912 did not pass efl-ews (efl):
Output: http://webkit-queues.appspot.com/results/716439</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>897683</commentid>
    <comment_count>12</comment_count>
      <attachid>203912</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-06-06 01:48:11 -0700</bug_when>
    <thetext>Comment on attachment 203912
Patch

Attachment 203912 did not pass efl-wk2-ews (efl-wk2):
Output: http://webkit-queues.appspot.com/results/729869</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>897684</commentid>
    <comment_count>13</comment_count>
      <attachid>203912</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-06-06 01:48:38 -0700</bug_when>
    <thetext>Comment on attachment 203912
Patch

Attachment 203912 did not pass qt-wk2-ews (qt-wk2):
Output: http://webkit-queues.appspot.com/results/777106</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>897692</commentid>
    <comment_count>14</comment_count>
      <attachid>203912</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-06-06 02:24:00 -0700</bug_when>
    <thetext>Comment on attachment 203912
Patch

Attachment 203912 did not pass mac-ews (mac):
Output: http://webkit-queues.appspot.com/results/712615</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>897696</commentid>
    <comment_count>15</comment_count>
      <attachid>203917</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2013-06-06 02:35:06 -0700</bug_when>
    <thetext>Created attachment 203917
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>897697</commentid>
    <comment_count>16</comment_count>
      <attachid>203917</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-06-06 02:40:55 -0700</bug_when>
    <thetext>Comment on attachment 203917
Patch

Attachment 203917 did not pass efl-ews (efl):
Output: http://webkit-queues.appspot.com/results/747906</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>897699</commentid>
    <comment_count>17</comment_count>
      <attachid>203918</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2013-06-06 02:42:59 -0700</bug_when>
    <thetext>Created attachment 203918
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>903417</commentid>
    <comment_count>18</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2013-06-25 13:32:07 -0700</bug_when>
    <thetext>Ping review?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>908861</commentid>
    <comment_count>19</comment_count>
      <attachid>203918</attachid>
    <who name="Alexandru Chiculita">achicu</who>
    <bug_when>2013-07-16 06:33:45 -0700</bug_when>
    <thetext>Comment on attachment 203918
Patch

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

&gt; Source/WebCore/ChangeLog:9
&gt; +        This is done by adding new roundedRectMask/setRoundedRectMask properties to GraphicsLayer.

I think some compositors would need to use the bitmap masking instead. Maybe we should have an ifdef around it. For example CALayer has a cornerRadius property, but cannot target each corner independently.

Somehow related to this patch, I was thinking to fix the &quot;clip-path&quot; property for composited layers. The idea was to force the mask even if it is not specified. Then it would generate the mask by clipping the context and filling the mask with black.

&gt; Source/WebCore/rendering/RenderLayerBacking.cpp:596
&gt; +    return style-&gt;getRoundedBorderFor(toRenderBox(renderer)-&gt;pixelSnappedBorderBoxRect());

I think you need to use getRoundedInnerBorderFor instead. At least that&apos;s what RenderBox::pushContentsClip is doing.

&gt; LayoutTests/ChangeLog:11
&gt; +        * TestExpectations: Added expectations for new tests.

I would expose the rounded rects in the graphics layer dump. That way we could have some real expected results.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>908866</commentid>
    <comment_count>20</comment_count>
      <attachid>203918</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2013-07-16 06:43:06 -0700</bug_when>
    <thetext>Comment on attachment 203918
Patch

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

&gt;&gt; Source/WebCore/ChangeLog:9
&gt;&gt; +        This is done by adding new roundedRectMask/setRoundedRectMask properties to GraphicsLayer.
&gt; 
&gt; I think some compositors would need to use the bitmap masking instead. Maybe we should have an ifdef around it. For example CALayer has a cornerRadius property, but cannot target each corner independently.
&gt; 
&gt; Somehow related to this patch, I was thinking to fix the &quot;clip-path&quot; property for composited layers. The idea was to force the mask even if it is not specified. Then it would generate the mask by clipping the context and filling the mask with black.

I agree that using masks for fallback clipping is a good idea.
In this case smfr has asked that we leave this decision to a lower level (e.g. GraphicsLayerCA), either seem reasonable.

&gt;&gt; Source/WebCore/rendering/RenderLayerBacking.cpp:596
&gt;&gt; +    return style-&gt;getRoundedBorderFor(toRenderBox(renderer)-&gt;pixelSnappedBorderBoxRect());
&gt; 
&gt; I think you need to use getRoundedInnerBorderFor instead. At least that&apos;s what RenderBox::pushContentsClip is doing.

right, good catch. We&apos;ll need a test for that as well with border-radius+border-width.

&gt;&gt; LayoutTests/ChangeLog:11
&gt;&gt; +        * TestExpectations: Added expectations for new tests.
&gt; 
&gt; I would expose the rounded rects in the graphics layer dump. That way we could have some real expected results.

I was going to add ref-tests when TextureMapper or any other compositor supports it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>939373</commentid>
    <comment_count>21</comment_count>
      <attachid>214131</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2013-10-14 00:53:52 -0700</bug_when>
    <thetext>Created attachment 214131
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>939506</commentid>
    <comment_count>22</comment_count>
      <attachid>214131</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-10-14 10:30:42 -0700</bug_when>
    <thetext>Comment on attachment 214131
Patch

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

&gt; Source/WebCore/platform/graphics/GraphicsLayer.h:312
&gt; +    virtual void setChildrenRoundedRectMask(const RoundedRect&amp; r) { m_childrenRoundedRectMask = r; }

I suggest naming the argument &quot;mask&quot; instead of &quot;r&quot;.

&gt; Source/WebCore/platform/graphics/GraphicsLayer.h:317
&gt; +    virtual void setContentsRoundedRectMask(const RoundedRect&amp; r) { m_contentsRoundedRectMask = r; }

I suggest naming the argument &quot;mask&quot; instead of &quot;r&quot;.

&gt; Source/WebCore/rendering/RenderLayerBacking.cpp:588
&gt; +static RoundedRect roundedRectMask(const RenderObject&amp; renderer)

The type here should be RenderLayerModelObject, not RenderObject, at least, since that’s the type returned from RenderLayerBacking::renderer. But it seems we know this is a RenderBox?

&gt; Source/WebCore/rendering/RenderLayerBacking.cpp:594
&gt; +    return style-&gt;getRoundedInnerBorderFor(toRenderBox(renderer).pixelSnappedBorderBoxRect());

What guarantees the renderer is a RenderBox? If the caller has that guarantee, then can we put this cast at the caller&apos;s level?

&gt; Source/WebCore/rendering/RenderLayerBacking.cpp:711
&gt; +    RoundedRect roundedRect = roundedRectMask(renderer());

I would call this mask, not roundedRect. Unless we have other masks, in which case maybe roundedRectMask.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>939887</commentid>
    <comment_count>23</comment_count>
      <attachid>214240</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2013-10-15 00:56:03 -0700</bug_when>
    <thetext>Created attachment 214240
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>940114</commentid>
    <comment_count>24</comment_count>
      <attachid>214240</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-10-15 13:54:59 -0700</bug_when>
    <thetext>Comment on attachment 214240
Patch

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

&gt; Source/WebCore/rendering/RenderLayerBacking.cpp:711
&gt; +    RoundedRect roundedRectMask = getRoundedRectMask(toRenderBox(renderer()));

What guarantees the renderer is a box? Maybe it’s obvious to a rendering expert, but I don’t see any other code here casting to RenderBox.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>940115</commentid>
    <comment_count>25</comment_count>
      <attachid>214240</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2013-10-15 13:57:25 -0700</bug_when>
    <thetext>Comment on attachment 214240
Patch

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

&gt;&gt; Source/WebCore/rendering/RenderLayerBacking.cpp:711
&gt;&gt; +    RoundedRect roundedRectMask = getRoundedRectMask(toRenderBox(renderer()));
&gt; 
&gt; What guarantees the renderer is a box? Maybe it’s obvious to a rendering expert, but I don’t see any other code here casting to RenderBox.

clippingBox = clipBox(toRenderBox(renderer()));
a few lines later?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>940304</commentid>
    <comment_count>26</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-10-16 01:00:54 -0700</bug_when>
    <thetext>*** Bug 122880 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>960577</commentid>
    <comment_count>27</comment_count>
      <attachid>214240</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-12-17 10:49:29 -0800</bug_when>
    <thetext>Comment on attachment 214240
Patch

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

&gt; Source/WebCore/rendering/RenderLayerBacking.cpp:588
&gt; +static RoundedRect getRoundedRectMask(const RenderBox&amp; renderBox)

We don&apos;t normally use &apos;get&apos; in a function that returns a value.

&gt; Source/WebCore/rendering/RenderLayerBacking.cpp:712
&gt; +    m_graphicsLayer-&gt;setContentsRoundedRectMask(roundedRectMask);

I think it would be better to avoid calling setContentsRoundedRectMask() unless there really is a rounded mask to use.

&gt; Source/WebCore/rendering/RenderLayerBacking.cpp:721
&gt; +        clipLayer-&gt;setChildrenRoundedRectMask(roundedRectMask);

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>960659</commentid>
    <comment_count>28</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2013-12-17 13:42:43 -0800</bug_when>
    <thetext>Un-assigning to default. I&apos;m not working on this stuff anymore.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>960660</commentid>
    <comment_count>29</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2013-12-17 13:43:16 -0800</bug_when>
    <thetext>Unassigning. I&apos;m not going to submit more patches for this, if someone else want to you&apos;re welcome to it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1889015</commentid>
    <comment_count>30</comment_count>
    <who name="Ahmad Saleem">ahmad.saleem792</who>
    <bug_when>2022-08-04 17:08:29 -0700</bug_when>
    <thetext>I took test cases from this patch and it shows different behavior of Safari 15.6 compared to other browsers:

Test Case 1 - border-radius-webgl.html - https://jsfiddle.net/hfjb9gey/show

In Safari 15.6, above test case only show single green box with rounder corners while in other browsers, it shows two.

Test Case 2 - composited-border-radius-descendant-large-radius.html - (Removed -webkit- prefix) https://jsfiddle.net/oLpf3z0n/show

^This is working same across all browsers (Chrome Canary 106, Firefox Nightly 105 and Safari 15.6)

Test Case 3 - composited-border-radius-descendant-uneven.html  - https://jsfiddle.net/L9fhjy7e/show

^This is working same across all browsers (Chrome Canary 106, Firefox Nightly 105 and Safari 15.6)

Test Case 4 - composited-border-radius-descendant.html - https://jsfiddle.net/pbysd0te/show

^This is working same across all browsers (Chrome Canary 106, Firefox Nightly 105 and Safari 15.6)

Test Case 5 - composited-border-radius.html - https://jsfiddle.net/aprxcnw7/show

^This is working same across all browsers (Chrome Canary 106, Firefox Nightly 105 and Safari 15.6)

_______

Except first case, Safari 15.6 is working same as other browsers in above test cases, is something required or this can be marked as &quot;RESOLVED LATER&quot; and I can create separate bug for first case (but I doubt I have seen similar case of as such in other bug). Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1889412</commentid>
    <comment_count>31</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2022-08-06 14:43:16 -0700</bug_when>
    <thetext>Created a new ticket for Test Case 1.
  Bug 243629 – composited canvas element should update the layer configuration after creating a WebGL context</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1895287</commentid>
    <comment_count>32</comment_count>
    <who name="Ahmad Saleem">ahmad.saleem792</who>
    <bug_when>2022-08-31 14:43:02 -0700</bug_when>
    <thetext>(In reply to Fujii Hironori from comment #31)
&gt; Created a new ticket for Test Case 1.
&gt;   Bug 243629 – composited canvas element should update the layer
&gt; configuration after creating a WebGL context

Can we close this since the bug 243629 is not resolved? Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1895288</commentid>
    <comment_count>33</comment_count>
    <who name="Ahmad Saleem">ahmad.saleem792</who>
    <bug_when>2022-08-31 14:43:34 -0700</bug_when>
    <thetext>(In reply to Ahmad Saleem from comment #32)
&gt; (In reply to Fujii Hironori from comment #31)
&gt; &gt; Created a new ticket for Test Case 1.
&gt; &gt;   Bug 243629 – composited canvas element should update the layer
&gt; &gt; configuration after creating a WebGL context
&gt; 
&gt; Can we close this since the bug 243629 is not resolved? Thanks!

Is resolved.. Stupid silly typo..</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1895290</commentid>
    <comment_count>34</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2022-08-31 14:46:42 -0700</bug_when>
    <thetext>Yup. Resolved.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>200597</attachid>
            <date>2013-05-05 15:34:52 -0700</date>
            <delta_ts>2013-05-06 04:15:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-115613-20130506003353.patch</filename>
            <type>text/plain</type>
            <size>14035</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ5MTg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGQ5MTM0N2JiMWQ0OWE2
MzZmOWM5Mjg2MWVjMzc2YmRlMjA5YTZhZi4uMGZiOTQ0NmEzZDdkM2ZlMWRlOWM4NjExY2E5MjE2
NGE5OTM4YzQzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDEzLTA1LTA1ICBOb2Ft
IFJvc2VudGhhbCAgPG5vYW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBHcmFwaGljc0xheWVycyBz
aG91bGQgYmUgYXdhcmUgb2Ygcm91bmRlZCByZWN0IGNsaXBwaW5nCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTU2MTMKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCB0aGUgbG9naWMgaW4gUmVuZGVy
TGF5ZXJCYWNraW5nIHRvIGZpZ3VyZSBvdXQgdGhlIGJvcmRlci1yYWRpdXMgY2xpcHBpbmcgZm9y
IGEgR3JhcGhpY3NMYXllci4KKyAgICAgICAgVGhpcyBpcyBkb25lIGJ5IGFkZGluZyBuZXcgcm91
bmRlZFJlY3RNYXNrL3NldFJvdW5kZWRSZWN0TWFzayBwcm9wZXJ0aWVzIHRvIEdyYXBoaWNzTGF5
ZXIuCisKKyAgICAgICAgTm90ZSB0aGF0IHRoaXMgaXMgbm90IGNvbXBsZXRlLCBhcyBpdCBkb2Vz
IG5vdCBjb3ZlciB0aGUgY2FzZSB3aGVyZSB0aGUgbGF5ZXIgd2hpY2ggaGFzIHRoZSBib3JkZXIK
KyAgICAgICAgcmFkaXVzIGlzIG5vdCBjb21wb3NpdGVkIGJ1dCBpcyBhbiBhbmNlc3RvciBmb3Ig
b3RoZXIgY29tcG9zaXRpbmcgbGF5ZXJzLgorCisgICAgICAgIFRlc3RzOiBjb21wb3NpdGluZy9i
b3JkZXItcmFkaXVzL2JvcmRlci1yYWRpdXMtd2ViZ2wuaHRtbAorICAgICAgICAgICAgICAgY29t
cG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9jb21wb3NpdGVkLWJvcmRlci1yYWRpdXMtZGVzY2VuZGFu
dC1sYXJnZS1yYWRpdXMuaHRtbAorICAgICAgICAgICAgICAgY29tcG9zaXRpbmcvYm9yZGVyLXJh
ZGl1cy9jb21wb3NpdGVkLWJvcmRlci1yYWRpdXMtZGVzY2VuZGFudC11bmV2ZW4uaHRtbAorICAg
ICAgICAgICAgICAgY29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9jb21wb3NpdGVkLWJvcmRlci1y
YWRpdXMtZGVzY2VuZGFudC5odG1sCisgICAgICAgICAgICAgICBjb21wb3NpdGluZy9ib3JkZXIt
cmFkaXVzL2NvbXBvc2l0ZWQtYm9yZGVyLXJhZGl1cy5odG1sCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmg6CisgICAgICAgIChHcmFwaGljc0xheWVyKToKKyAg
ICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OnNldFJvdW5kZWRSZWN0TWFzayk6CisgICAg
ICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVyOjpyb3VuZGVkUmVjdE1hc2spOgorICAgICAgICAg
ICAgQWRkIHJvdW5kZWRSZWN0TWFzayBwcm9wZXJ0eSB0byBHcmFwaGljc0xheWVyLgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL1JvdW5kZWRSZWN0Lmg6CisgICAgICAgIChSb3VuZGVkUmVj
dCk6CisgICAgICAgICAgICBBZGRlZCBhIGRlZmF1bHQgY29uc3RydWN0b3IgZm9yIFJvdW5kZWRS
ZWN0LgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpyb3VuZGVkUmVjdE1hc2spOgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZUdyYXBoaWNzTGF5ZXJHZW9t
ZXRyeSk6CisgICAgICAgICAgICBDYWxjdWxhdGUgdGhlIHJvdW5kZWRSZWN0IG1hc2sgZm9yIHRo
ZSBHcmFwaGljc0xheWVyIHdoZW4gY29tcHV0aW5nIGl0cyBjbGlwIHByb3BlcnRpZXMuCisKIDIw
MTMtMDQtMzAgIE5vYW0gUm9zZW50aGFsICA8bm9hbUB3ZWJraXQub3JnPgogCiAgICAgICAgIFtU
ZXhtYXBdIEF2b2lkIHVzaW5nIG92ZXJsYXAvbm9uLW92ZXJsYXAgcmVnaW9uIGluIGNhc2VzIHdo
ZXJlIHRoZSBvdmVyaGVhZCBpcyBiaWdnZXIgdGhhbiB0aGUgZ2FpbgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5oCmluZGV4IDk3OWM5M2U3ZTFh
NzA0OTQ3Y2RiN2UyNGMyY2Q0NzlkYjE3MzkwYzkuLjc4ZGQyN2Q5OTYwYzAxNjFiODJlNjRjYWFj
N2QwOTVhMzNjZjRmYzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0dyYXBoaWNzTGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9HcmFwaGljc0xheWVyLmgKQEAgLTM5LDYgKzM5LDcgQEAKICNpbmNsdWRlICJHcmFwaGljc0xh
eWVyQ2xpZW50LmgiCiAjaW5jbHVkZSAiSW50UmVjdC5oIgogI2luY2x1ZGUgIlBsYXRmb3JtTGF5
ZXIuaCIKKyNpbmNsdWRlICJSb3VuZGVkUmVjdC5oIgogI2luY2x1ZGUgIlRyYW5zZm9ybU9wZXJh
dGlvbnMuaCIKICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25Q
dHIuaD4KQEAgLTI4Myw3ICsyODQsMTIgQEAgcHVibGljOgogICAgIAogICAgIGJvb2wgbWFza3NU
b0JvdW5kcygpIGNvbnN0IHsgcmV0dXJuIG1fbWFza3NUb0JvdW5kczsgfQogICAgIHZpcnR1YWwg
dm9pZCBzZXRNYXNrc1RvQm91bmRzKGJvb2wgYikgeyBtX21hc2tzVG9Cb3VuZHMgPSBiOyB9Ci0g
ICAgCisKKyAgICAvLyByb3VuZGVkUmVjdE1hc2sgd29ya3MgaW4gY29uanVuY3Rpb24gd2l0aCBt
YXNrc1RvQm91bmRzLiBJZiBtYXNrc1RvQm91bmRzIGlzIGZhbHNlLAorICAgIC8vIGl0IG9ubHkg
Y2xpcHMgaXRzIG93biBjb250ZW50cywgb3RoZXJ3aXNlIGl0IHdvdWxkIGNsaXAgaXRzIGRlc2Nl
bmRhbnRzIGFzIHdlbGwuCisgICAgdmlydHVhbCB2b2lkIHNldFJvdW5kZWRSZWN0TWFzayhjb25z
dCBSb3VuZGVkUmVjdCYgcikgeyBtX3JvdW5kZWRSZWN0TWFzayA9IHI7IH0KKyAgICBjb25zdCBS
b3VuZGVkUmVjdCYgcm91bmRlZFJlY3RNYXNrKCkgY29uc3QgeyByZXR1cm4gbV9yb3VuZGVkUmVj
dE1hc2s7IH0gCisKICAgICBib29sIGRyYXdzQ29udGVudCgpIGNvbnN0IHsgcmV0dXJuIG1fZHJh
d3NDb250ZW50OyB9CiAgICAgdmlydHVhbCB2b2lkIHNldERyYXdzQ29udGVudChib29sIGIpIHsg
bV9kcmF3c0NvbnRlbnQgPSBiOyB9CiAKQEAgLTU0Niw2ICs1NTIsOCBAQCBwcm90ZWN0ZWQ6CiAg
ICAgSW50UG9pbnQgbV9jb250ZW50c1RpbGVQaGFzZTsKICAgICBJbnRTaXplIG1fY29udGVudHNU
aWxlU2l6ZTsKIAorICAgIFJvdW5kZWRSZWN0IG1fcm91bmRlZFJlY3RNYXNrOworCiAgICAgaW50
IG1fcmVwYWludENvdW50OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvUm91bmRlZFJlY3QuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL1JvdW5kZWRSZWN0LmgKaW5kZXggZDkyM2UzNTNmNDhhYjk4ZGU5MTU3NzM2M2JhNjM0Yzc4
YTljMjMwMy4uYzhiZmNlNWQzMDczOGM3NjFiODQ2YmEwMmRlYTA0MmU4MGUwNDExNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUm91bmRlZFJlY3QuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Sb3VuZGVkUmVjdC5oCkBAIC03Myw3
ICs3Myw3IEBAIHB1YmxpYzoKICAgICAgICAgSW50U2l6ZSBtX2JvdHRvbVJpZ2h0OwogICAgIH07
CiAKLSAgICBleHBsaWNpdCBSb3VuZGVkUmVjdChjb25zdCBJbnRSZWN0JiwgY29uc3QgUmFkaWkm
ID0gUmFkaWkoKSk7CisgICAgZXhwbGljaXQgUm91bmRlZFJlY3QoY29uc3QgSW50UmVjdCYgPSBJ
bnRSZWN0KCksIGNvbnN0IFJhZGlpJiA9IFJhZGlpKCkpOwogICAgIFJvdW5kZWRSZWN0KGludCB4
LCBpbnQgeSwgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KTsKICAgICBSb3VuZGVkUmVjdChjb25zdCBJ
bnRSZWN0JiwgY29uc3QgSW50U2l6ZSYgdG9wTGVmdCwgY29uc3QgSW50U2l6ZSYgdG9wUmlnaHQs
IGNvbnN0IEludFNpemUmIGJvdHRvbUxlZnQsIGNvbnN0IEludFNpemUmIGJvdHRvbVJpZ2h0KTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2lu
Zy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcApp
bmRleCAwZjQzNDE0Mjk3ZGMzYWVhYTk0OTIyZWE1OTZjZjMxNzE0ZGU4OTdmLi45N2UxY2Y4MmM2
NTE5M2JmZWE1MzBjZGYyMmUzMGQ1ZDBmNDQwM2JkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcApAQCAtNTg4LDYgKzU4OCwxNSBAQCBib29s
IFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlR3JhcGhpY3NMYXllckNvbmZpZ3VyYXRpb24oKQog
ICAgIHJldHVybiBsYXllckNvbmZpZ0NoYW5nZWQ7CiB9CiAKK3N0YXRpYyBSb3VuZGVkUmVjdCBy
b3VuZGVkUmVjdE1hc2soY29uc3QgUmVuZGVyT2JqZWN0KiByZW5kZXJlcikKK3sKKyAgICBjb25z
dCBSZW5kZXJTdHlsZSogc3R5bGUgPSByZW5kZXJlci0+c3R5bGUoKTsKKyAgICBpZiAoIXN0eWxl
LT5oYXNCb3JkZXJSYWRpdXMoKSkKKyAgICAgICAgcmV0dXJuIFJvdW5kZWRSZWN0KCk7CisKKyAg
ICByZXR1cm4gc3R5bGUtPmdldFJvdW5kZWRCb3JkZXJGb3IodG9SZW5kZXJCb3gocmVuZGVyZXIp
LT5waXhlbFNuYXBwZWRCb3JkZXJCb3hSZWN0KCkpOworfQorCiBzdGF0aWMgSW50UmVjdCBjbGlw
Qm94KFJlbmRlckJveCogcmVuZGVyZXIpCiB7CiAgICAgTGF5b3V0UmVjdCByZXN1bHQgPSBQYWlu
dEluZm86OmluZmluaXRlUmVjdCgpOwpAQCAtNjcxLDcgKzY4MCw3IEBAIHZvaWQgUmVuZGVyTGF5
ZXJCYWNraW5nOjp1cGRhdGVHcmFwaGljc0xheWVyR2VvbWV0cnkoKQogICAgICAgICBJbnRQb2lu
dCBzY3JvbGxPcmlnaW4ocmVuZGVyQm94LT5ib3JkZXJMZWZ0KCksIHJlbmRlckJveC0+Ym9yZGVy
VG9wKCkpOwogICAgICAgICBncmFwaGljc0xheWVyUGFyZW50TG9jYXRpb24gPSBzY3JvbGxPcmln
aW4gLSBzY3JvbGxPZmZzZXQ7CiAgICAgfQotICAgIAorCiAgICAgaWYgKGNvbXBBbmNlc3RvciAm
JiBtX2FuY2VzdG9yQ2xpcHBpbmdMYXllcikgewogICAgICAgICAvLyBDYWxsIGNhbGN1bGF0ZVJl
Y3RzIHRvIGdldCB0aGUgYmFja2dyb3VuZFJlY3Qgd2hpY2ggaXMgd2hhdCBpcyB1c2VkIHRvIGNs
aXAgdGhlIGNvbnRlbnRzIG9mIHRoaXMKICAgICAgICAgLy8gbGF5ZXIuIE5vdGUgdGhhdCB3ZSBj
YWxsIGl0IHdpdGggdGVtcG9yYXJ5Q2xpcFJlY3RzID0gdHJ1ZSBiZWNhdXNlIG5vcm1hbGx5IHdo
ZW4gY29tcHV0aW5nIGNsaXAgcmVjdHMKQEAgLTcxNyw2ICs3MjYsOSBAQCB2b2lkIFJlbmRlckxh
eWVyQmFja2luZzo6dXBkYXRlR3JhcGhpY3NMYXllckdlb21ldHJ5KCkKICAgICAgICAgbV9ncmFw
aGljc0xheWVyLT5zZXRDb250ZW50c09wYXF1ZShtX293bmluZ0xheWVyLT5iYWNrZ3JvdW5kSXNL
bm93blRvQmVPcGFxdWVJblJlY3QobG9jYWxDb21wb3NpdGluZ0JvdW5kcykpOwogICAgIH0KIAor
ICAgIFJvdW5kZWRSZWN0IHJvdW5kZWRSZWN0ID0gcm91bmRlZFJlY3RNYXNrKHJlbmRlcmVyKCkp
OworICAgIG1fZ3JhcGhpY3NMYXllci0+c2V0Um91bmRlZFJlY3RNYXNrKHJvdW5kZWRSZWN0KTsK
KwogICAgIC8vIElmIHdlIGhhdmUgYSBsYXllciB0aGF0IGNsaXBzIGNoaWxkcmVuLCBwb3NpdGlv
biBpdC4KICAgICBJbnRSZWN0IGNsaXBwaW5nQm94OwogICAgIGlmIChHcmFwaGljc0xheWVyKiBj
bGlwTGF5ZXIgPSBjbGlwcGluZ0xheWVyKCkpIHsKQEAgLTcyNCw2ICs3MzYsNyBAQCB2b2lkIFJl
bmRlckxheWVyQmFja2luZzo6dXBkYXRlR3JhcGhpY3NMYXllckdlb21ldHJ5KCkKICAgICAgICAg
Y2xpcExheWVyLT5zZXRQb3NpdGlvbihGbG9hdFBvaW50KGNsaXBwaW5nQm94LmxvY2F0aW9uKCkg
LSBsb2NhbENvbXBvc2l0aW5nQm91bmRzLmxvY2F0aW9uKCkpKTsKICAgICAgICAgY2xpcExheWVy
LT5zZXRTaXplKGNsaXBwaW5nQm94LnNpemUoKSk7CiAgICAgICAgIGNsaXBMYXllci0+c2V0T2Zm
c2V0RnJvbVJlbmRlcmVyKHRvSW50U2l6ZShjbGlwcGluZ0JveC5sb2NhdGlvbigpKSk7CisgICAg
ICAgIGNsaXBMYXllci0+c2V0Um91bmRlZFJlY3RNYXNrKHJvdW5kZWRSZWN0KTsKICAgICB9CiAg
ICAgCiAgICAgaWYgKG1fbWFza0xheWVyKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggM2RiNGUyNTY0OGUyZDhjODBlYTlm
MTJlYTk0NDVkOTZjMjNkNjRjNC4uMmU1YTdlYmY1YTE4MTZhNmI1Zjc0MmVkODk3ODA5MjUyMTU0
MzAyYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEzLTA1LTA1ICBOb2FtIFJvc2VudGhhbCAg
PG5vYW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBHcmFwaGljc0xheWVycyBzaG91bGQgYmUgYXdh
cmUgb2Ygcm91bmRlZCByZWN0IGNsaXBwaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMTU2MTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBBZGRlZCBhIGZldyB0ZXN0cyBmb3IgY29tcG9zaXRpbmcvYm9y
ZGVyLXJhZGl1cy4gRm9yIG5vdyB0aG9zZSB0ZXN0cyBhcmUgZGlzYWJsZWQgZm9yIGFsbAorICAg
ICAgICBwb3J0cyB1bnRpbCBzb21lIGNvbXBvc2l0b3JzIHN1cHBvcnQgdGhpcyBmZWF0dXJlLgor
CisgICAgICAgICogVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBjb21wb3NpdGluZy9ib3Jk
ZXItcmFkaXVzL2JvcmRlci1yYWRpdXMtd2ViZ2wuaHRtbDogQWRkZWQuCisgICAgICAgICogY29t
cG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9jb21wb3NpdGVkLWJvcmRlci1yYWRpdXMtZGVzY2VuZGFu
dC1sYXJnZS1yYWRpdXMuaHRtbDogQWRkZWQuCisgICAgICAgICogY29tcG9zaXRpbmcvYm9yZGVy
LXJhZGl1cy9jb21wb3NpdGVkLWJvcmRlci1yYWRpdXMtZGVzY2VuZGFudC11bmV2ZW4uaHRtbDog
QWRkZWQuCisgICAgICAgICogY29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9jb21wb3NpdGVkLWJv
cmRlci1yYWRpdXMtZGVzY2VuZGFudC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjb21wb3NpdGlu
Zy9ib3JkZXItcmFkaXVzL2NvbXBvc2l0ZWQtYm9yZGVyLXJhZGl1cy5odG1sOiBBZGRlZC4KKwog
MjAxMy0wNC0wOSAgTm9hbSBSb3NlbnRoYWwgIDxub2FtQHdlYmtpdC5vcmc+CiAKICAgICAgICAg
W1RleG1hcF0gSW4gY2VydGFpbiBzaXR1YXRpb25zIG5lc3RlZCBibGVuZGluZyB3aXRoIG92ZXJm
bG93OmhpZGRlbiBkaXNwbGF5cyBjbGlwcGVkIHJlc3VsdHMKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCmluZGV4
IGIzODdmY2E4NWIyYWQ2ZTdjOGQwNjgzMGY2ODVjN2RmMTJhYTkxYTMuLmZhYjUyYWM2M2RmOWRi
ZTNhZWNiOGFiZTI3NjMxMzFkNWQ4MzJmZTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL1Rlc3RF
eHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTAsMyAr
MTAsNiBAQCB3ZWJraXQub3JnL2IvMTA5NTcwIG1lZGlhL3RyYWNrL3JlZ2lvbnMtd2VidnR0IFsg
U2tpcCBdCiAKICMgcGVuZGluZyBDU1MgZ3JhbW1hciByZWZhY3RvcmluZwogd2Via2l0Lm9yZy9i
LzExMzQwMSBpbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWNzcy13YXJuaW5ncy5odG1sIFsgU2tp
cCBdCisKKyMgcGVuZGluZyBib3JkZXItcmFkaXVzIHN1cHBvcnQgaW4gcG9ydC1zcGVjaWZpYyBj
b21wb3NpdG9ycword2Via2l0Lm9yZy9iLzExNTYxMyBjb21wb3NpdGluZy9ib3JkZXItcmFkaXVz
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29t
cG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9ib3JkZXItcmFkaXVzLXdlYmdsLmh0bWwgYi9MYXlvdXRU
ZXN0cy9jb21wb3NpdGluZy9ib3JkZXItcmFkaXVzL2JvcmRlci1yYWRpdXMtd2ViZ2wuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yOTk5ZDhkYTUyMDZlMjVlZGJmNjE4MWNlZGUyMWE5ZjlkMzI5ZDBjCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9ib3Jk
ZXItcmFkaXVzLXdlYmdsLmh0bWwKQEAgLTAsMCArMSw3MSBAQAorPGh0bWw+CisgIDxoZWFkPgor
ICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyIgbWVkaWE9InNjcmVlbiI+CisgICAgICBib2R5IHsK
KyAgICAgICAgb3V0bGluZTogMTBweCBzb2xpZCB0cmFuc3BhcmVudDsgLyogYWZmZWN0cyBsYXll
ciBzaXplcyAqLworICAgICAgfQorICAgICAgY2FudmFzIHsKKyAgICAgICAgbWFyZ2luOiAyMHB4
OworICAgICAgICB3aWR0aDogMjAwcHg7CisgICAgICAgIGhlaWdodDogMjAwcHg7CisgICAgICAg
IHBhZGRpbmc6IDAgMjBweDsKKyAgICAgIH0KKworICAgICAgLmNvbXBvc2l0ZWQgeworICAgICAg
CS13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsKKyAgICAgIH0KKworICAg
ICAgLnJvdW5kZWQgeworICAgICAgCWJvcmRlci1yYWRpdXM6IDgwcHg7CisgICAgICB9CisgICAg
CisgICAgICAuY29tcGFyZSB7CisgICAgICAgIG1hcmdpbi1sZWZ0OiA0MHB4OworICAgICAgICBt
YXJnaW4tdG9wOiAyMHB4OworICAgICAgICB3aWR0aDogMjAwcHg7CisgICAgICAgIGhlaWdodDog
MjAwcHg7CisgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTI4LCAwLCAxLjApOwor
ICAgICAgfQorICAgIDwvc3R5bGU+CisgICAgPHNjcmlwdD4KKyAgICAgICAgaWYgKHdpbmRvdy50
ZXN0UnVubmVyKSB7CisgICAgICAgICAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgi
V2ViS2l0V2ViR0xFbmFibGVkIiwgIjEiKTsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFz
VGV4dCh0cnVlKTsKKyAgICAgICAgfQorCisgICAgICAgIGZ1bmN0aW9uIGluaXRXZWJHTChjYW52
YXNOYW1lLCB2c2hhZGVyLCBmc2hhZGVyLCBhdHRyaWJzLCBjbGVhckNvbG9yLCBjbGVhckRlcHRo
KQorICAgICAgICB7CisgICAgICAgICAgICB2YXIgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoY2FudmFzTmFtZSk7CisgICAgICAgICAgICB2YXIgZ2wgPSBjYW52YXMuZ2V0Q29udGV4
dCgiZXhwZXJpbWVudGFsLXdlYmdsIiwge2FscGhhOiBmYWxzZX0pOworICAgICAgICAgICAgaWYg
KCFnbCkgeworICAgICAgICAgICAgICAgIGFsZXJ0KCJObyBXZWJHTCBjb250ZXh0IGZvdW5kIik7
CisgICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7CisgICAgICAgICAgICB9CisKKyAgICAgICAg
ICAgIGdsLmNsZWFyQ29sb3IoY2xlYXJDb2xvclswXSwgY2xlYXJDb2xvclsxXSwgY2xlYXJDb2xv
clsyXSwgY2xlYXJDb2xvclszXSk7CisgICAgICAgICAgICBnbC5jbGVhckRlcHRoKGNsZWFyRGVw
dGgpOworCisgICAgICAgICAgICByZXR1cm4gZ2w7CisgICAgICAgIH0KKworICAgICAgICBmdW5j
dGlvbiBkcmF3Q2FudmFzKGNhbnZhc0lEKQorICAgICAgICB7CisgICAgICAgICAgdmFyIGdsID0g
aW5pdFdlYkdMKGNhbnZhc0lELCAiIiwgIiIsIFtdLCBbIDAsIC41LCAwLCAwIF0sIDEpOworICAg
ICAgICAgIGdsLnZpZXdwb3J0KDAsIDAsIDIwMCwgMjAwKTsKKyAgICAgICAgICBnbC5jbGVhcihn
bC5DT0xPUl9CVUZGRVJfQklUIHwgZ2wuREVQVEhfQlVGRkVSX0JJVCk7CisgICAgICAgIH0KKwor
ICAgICAgICBmdW5jdGlvbiBpbml0KCkKKyAgICAgICAgeworICAgICAgICAgIGRyYXdDYW52YXMo
J2NhbnZhcycpOworICAgICAgICB9CisgICAgPC9zY3JpcHQ+CisgIDwvaGVhZD4KKyAgPGJvZHkg
b25sb2FkPSJpbml0KCkiPgorCisgICAgPGRpdiBjbGFzcz0iY29tcGFyZSBjb21wb3NpdGVkIHJv
dW5kZWQiPjwvZGl2PgorICAgIDxjYW52YXMgaWQ9ImNhbnZhcyIgY2xhc3M9ImNvbXBvc2l0ZWQg
cm91bmRlZCIgd2lkdGg9IjIwMCIgaGVpZ2h0PSIyMDAiPjwvY2FudmFzPgorCisgICAgPCEtLSBU
b3AgYW5kIGJvdHRvbSBzaG91bGQgbG9vayB0aGUgc2FtZS4gLS0+CisgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2JvcmRlci1yYWRpdXMvY29t
cG9zaXRlZC1ib3JkZXItcmFkaXVzLWRlc2NlbmRhbnQtbGFyZ2UtcmFkaXVzLmh0bWwgYi9MYXlv
dXRUZXN0cy9jb21wb3NpdGluZy9ib3JkZXItcmFkaXVzL2NvbXBvc2l0ZWQtYm9yZGVyLXJhZGl1
cy1kZXNjZW5kYW50LWxhcmdlLXJhZGl1cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQwODY4NmFhNDVjMDk5
ZjgxM2ExYTg0ZjYxYjgyMTFmMDBjZGNlZTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9jb21wb3NpdGluZy9ib3JkZXItcmFkaXVzL2NvbXBvc2l0ZWQtYm9yZGVyLXJhZGl1cy1kZXNj
ZW5kYW50LWxhcmdlLXJhZGl1cy5odG1sCkBAIC0wLDAgKzEsMzAgQEAKKzxodG1sPgorCTxoZWFk
PgorCQk8c3R5bGU+CisJCQkucm91bmRlZCB7CisJCQkJYm9yZGVyLXJhZGl1czogNjBweDsKKwkJ
CQlvdmVyZmxvdzogaGlkZGVuOworCQkJCWRpc3BsYXk6IGJsb2NrOworCQkJCXdpZHRoOiAxMDBw
eDsKKwkJCX0KKworCQkJLmNvbXBvc2l0ZWQgeworCQkJCS13ZWJraXQtdHJhbnNmb3JtOiB0cmFu
c2xhdGUzZCgwLCAwLCAwKTsKKwkJCX0KKworCQkJLmdyZWVuIHsKKwkJCQl3aWR0aDogMTAwcHg7
CisJCQkJaGVpZ2h0OiAxMDBweDsKKwkJCQlkaXNwbGF5OiBibG9jazsKKwkJCQliYWNrZ3JvdW5k
LWNvbG9yOiBncmVlbjsKKwkJCX0KKwkJPC9zdHlsZT4KKwk8L2hlYWQ+CisJPGJvZHk+CisJCTxk
aXYgY2xhc3M9ImNvbXBvc2l0ZWQgcm91bmRlZCI+CisJCQk8ZGl2IGNsYXNzPSJjb21wb3NpdGVk
IGdyZWVuIj4KKwkJCQk8c3Bhbj48L3NwYW4+CisJCQk8L2Rpdj4KKwkJPC9kaXY+CisJPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2NvbXBvc2l0aW5nL2JvcmRlci1yYWRpdXMvY29tcG9zaXRlZC1ib3JkZXItcmFkaXVz
LWRlc2NlbmRhbnQtdW5ldmVuLmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9ib3JkZXIt
cmFkaXVzL2NvbXBvc2l0ZWQtYm9yZGVyLXJhZGl1cy1kZXNjZW5kYW50LXVuZXZlbi5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmFmZTI5OWU1ZmY5NzlkMzA3MDAwNGQ4ZGI5N2UwYjgzYTAwM2ZiZmEKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9ib3JkZXItcmFkaXVzL2NvbXBv
c2l0ZWQtYm9yZGVyLXJhZGl1cy1kZXNjZW5kYW50LXVuZXZlbi5odG1sCkBAIC0wLDAgKzEsMzAg
QEAKKzxodG1sPgorCTxoZWFkPgorCQk8c3R5bGU+CisJCQkucm91bmRlZCB7CisJCQkJYm9yZGVy
LXJhZGl1czogMCAxMHB4IDIwcHggMzBweDsKKwkJCQlvdmVyZmxvdzogaGlkZGVuOworCQkJCWRp
c3BsYXk6IGJsb2NrOworCQkJCXdpZHRoOiAxMDBweDsKKwkJCX0KKworCQkJLmNvbXBvc2l0ZWQg
eworCQkJCS13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsKKwkJCX0KKwor
CQkJLmdyZWVuIHsKKwkJCQl3aWR0aDogMTAwcHg7CisJCQkJaGVpZ2h0OiAxMDBweDsKKwkJCQlk
aXNwbGF5OiBibG9jazsKKwkJCQliYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsKKwkJCX0KKwkJPC9z
dHlsZT4KKwk8L2hlYWQ+CisJPGJvZHk+CisJCTxkaXYgY2xhc3M9ImNvbXBvc2l0ZWQgcm91bmRl
ZCI+CisJCQk8ZGl2IGNsYXNzPSJjb21wb3NpdGVkIGdyZWVuIj4KKwkJCQk8c3Bhbj48L3NwYW4+
CisJCQk8L2Rpdj4KKwkJPC9kaXY+CisJPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2JvcmRlci1y
YWRpdXMvY29tcG9zaXRlZC1ib3JkZXItcmFkaXVzLWRlc2NlbmRhbnQuaHRtbCBiL0xheW91dFRl
c3RzL2NvbXBvc2l0aW5nL2JvcmRlci1yYWRpdXMvY29tcG9zaXRlZC1ib3JkZXItcmFkaXVzLWRl
c2NlbmRhbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44NGIyNTMxYmI2ODI3MzcxMGQxMjgyMjQ3OTQxNWEx
NGViMWM1ZTJmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvYm9y
ZGVyLXJhZGl1cy9jb21wb3NpdGVkLWJvcmRlci1yYWRpdXMtZGVzY2VuZGFudC5odG1sCkBAIC0w
LDAgKzEsMzAgQEAKKzxodG1sPgorCTxoZWFkPgorCQk8c3R5bGU+CisJCQkucm91bmRlZCB7CisJ
CQkJYm9yZGVyLXJhZGl1czogMTBweDsKKwkJCQlvdmVyZmxvdzogaGlkZGVuOworCQkJCWRpc3Bs
YXk6IGJsb2NrOworCQkJCXdpZHRoOiAxMDBweDsKKwkJCX0KKworCQkJLmNvbXBvc2l0ZWQgewor
CQkJCS13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsKKwkJCX0KKworCQkJ
LmdyZWVuIHsKKwkJCQl3aWR0aDogMTAwcHg7CisJCQkJaGVpZ2h0OiAxMDBweDsKKwkJCQlkaXNw
bGF5OiBibG9jazsKKwkJCQliYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsKKwkJCX0KKwkJPC9zdHls
ZT4KKwk8L2hlYWQ+CisJPGJvZHk+CisJCTxkaXYgY2xhc3M9ImNvbXBvc2l0ZWQgcm91bmRlZCI+
CisJCQk8ZGl2IGNsYXNzPSJjb21wb3NpdGVkIGdyZWVuIj4KKwkJCQk8c3Bhbj48L3NwYW4+CisJ
CQk8L2Rpdj4KKwkJPC9kaXY+CisJPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2JvcmRlci1yYWRp
dXMvY29tcG9zaXRlZC1ib3JkZXItcmFkaXVzLmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGlu
Zy9ib3JkZXItcmFkaXVzL2NvbXBvc2l0ZWQtYm9yZGVyLXJhZGl1cy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjI2M2U5ZTY5NzYyMzE1YWY3YTY3MDczYWQ5N2VjOGFkZjc5ZjAwZmEKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9ib3JkZXItcmFkaXVzL2NvbXBvc2l0ZWQtYm9y
ZGVyLXJhZGl1cy5odG1sCkBAIC0wLDAgKzEsMzAgQEAKKzxodG1sPgorCTxoZWFkPgorCQk8c3R5
bGU+CisJCQkucm91bmRlZCB7CisJCQkJYm9yZGVyLXJhZGl1czogMjBweDsKKwkJCQlkaXNwbGF5
OiBibG9jazsKKwkJCQl3aWR0aDogMTAwcHg7CisJCQkJcG9zaXRpb246IGFic29sdXRlOworCQkJ
fQorCisJCQkuY29tcG9zaXRlZCB7CisJCQkJLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNk
KDAsIDAsIDApOworCQkJfQorCisJCQkuZ3JlZW4geworCQkJCXdpZHRoOiAxMDBweDsKKwkJCQlo
ZWlnaHQ6IDEwMHB4OworCQkJCWRpc3BsYXk6IGJsb2NrOworCQkJCWJhY2tncm91bmQtY29sb3I6
IGdyZWVuOworCQkJfQorCQk8L3N0eWxlPgorCTwvaGVhZD4KKwk8Ym9keT4KKwkJPGRpdj4KKwkJ
CTxkaXYgY2xhc3M9ImNvbXBvc2l0ZWQgZ3JlZW4gcm91bmRlZCI+CisJCQkJPHNwYW4+PC9zcGFu
PgorCQkJPC9kaXY+CisJCTwvZGl2PgorCTwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>200658</attachid>
            <date>2013-05-06 04:15:24 -0700</date>
            <delta_ts>2013-05-08 06:49:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-115613-20130506131433.patch</filename>
            <type>text/plain</type>
            <size>33530</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ5MTg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGQ5MTM0N2JiMWQ0OWE2
MzZmOWM5Mjg2MWVjMzc2YmRlMjA5YTZhZi4uMGZiOTQ0NmEzZDdkM2ZlMWRlOWM4NjExY2E5MjE2
NGE5OTM4YzQzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDEzLTA1LTA1ICBOb2Ft
IFJvc2VudGhhbCAgPG5vYW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBHcmFwaGljc0xheWVycyBz
aG91bGQgYmUgYXdhcmUgb2Ygcm91bmRlZCByZWN0IGNsaXBwaW5nCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTU2MTMKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCB0aGUgbG9naWMgaW4gUmVuZGVy
TGF5ZXJCYWNraW5nIHRvIGZpZ3VyZSBvdXQgdGhlIGJvcmRlci1yYWRpdXMgY2xpcHBpbmcgZm9y
IGEgR3JhcGhpY3NMYXllci4KKyAgICAgICAgVGhpcyBpcyBkb25lIGJ5IGFkZGluZyBuZXcgcm91
bmRlZFJlY3RNYXNrL3NldFJvdW5kZWRSZWN0TWFzayBwcm9wZXJ0aWVzIHRvIEdyYXBoaWNzTGF5
ZXIuCisKKyAgICAgICAgTm90ZSB0aGF0IHRoaXMgaXMgbm90IGNvbXBsZXRlLCBhcyBpdCBkb2Vz
IG5vdCBjb3ZlciB0aGUgY2FzZSB3aGVyZSB0aGUgbGF5ZXIgd2hpY2ggaGFzIHRoZSBib3JkZXIK
KyAgICAgICAgcmFkaXVzIGlzIG5vdCBjb21wb3NpdGVkIGJ1dCBpcyBhbiBhbmNlc3RvciBmb3Ig
b3RoZXIgY29tcG9zaXRpbmcgbGF5ZXJzLgorCisgICAgICAgIFRlc3RzOiBjb21wb3NpdGluZy9i
b3JkZXItcmFkaXVzL2JvcmRlci1yYWRpdXMtd2ViZ2wuaHRtbAorICAgICAgICAgICAgICAgY29t
cG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9jb21wb3NpdGVkLWJvcmRlci1yYWRpdXMtZGVzY2VuZGFu
dC1sYXJnZS1yYWRpdXMuaHRtbAorICAgICAgICAgICAgICAgY29tcG9zaXRpbmcvYm9yZGVyLXJh
ZGl1cy9jb21wb3NpdGVkLWJvcmRlci1yYWRpdXMtZGVzY2VuZGFudC11bmV2ZW4uaHRtbAorICAg
ICAgICAgICAgICAgY29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9jb21wb3NpdGVkLWJvcmRlci1y
YWRpdXMtZGVzY2VuZGFudC5odG1sCisgICAgICAgICAgICAgICBjb21wb3NpdGluZy9ib3JkZXIt
cmFkaXVzL2NvbXBvc2l0ZWQtYm9yZGVyLXJhZGl1cy5odG1sCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmg6CisgICAgICAgIChHcmFwaGljc0xheWVyKToKKyAg
ICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OnNldFJvdW5kZWRSZWN0TWFzayk6CisgICAg
ICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVyOjpyb3VuZGVkUmVjdE1hc2spOgorICAgICAgICAg
ICAgQWRkIHJvdW5kZWRSZWN0TWFzayBwcm9wZXJ0eSB0byBHcmFwaGljc0xheWVyLgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL1JvdW5kZWRSZWN0Lmg6CisgICAgICAgIChSb3VuZGVkUmVj
dCk6CisgICAgICAgICAgICBBZGRlZCBhIGRlZmF1bHQgY29uc3RydWN0b3IgZm9yIFJvdW5kZWRS
ZWN0LgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpyb3VuZGVkUmVjdE1hc2spOgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZUdyYXBoaWNzTGF5ZXJHZW9t
ZXRyeSk6CisgICAgICAgICAgICBDYWxjdWxhdGUgdGhlIHJvdW5kZWRSZWN0IG1hc2sgZm9yIHRo
ZSBHcmFwaGljc0xheWVyIHdoZW4gY29tcHV0aW5nIGl0cyBjbGlwIHByb3BlcnRpZXMuCisKIDIw
MTMtMDQtMzAgIE5vYW0gUm9zZW50aGFsICA8bm9hbUB3ZWJraXQub3JnPgogCiAgICAgICAgIFtU
ZXhtYXBdIEF2b2lkIHVzaW5nIG92ZXJsYXAvbm9uLW92ZXJsYXAgcmVnaW9uIGluIGNhc2VzIHdo
ZXJlIHRoZSBvdmVyaGVhZCBpcyBiaWdnZXIgdGhhbiB0aGUgZ2FpbgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5oCmluZGV4IDk3OWM5M2U3ZTFh
NzA0OTQ3Y2RiN2UyNGMyY2Q0NzlkYjE3MzkwYzkuLjc4ZGQyN2Q5OTYwYzAxNjFiODJlNjRjYWFj
N2QwOTVhMzNjZjRmYzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0dyYXBoaWNzTGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9HcmFwaGljc0xheWVyLmgKQEAgLTM5LDYgKzM5LDcgQEAKICNpbmNsdWRlICJHcmFwaGljc0xh
eWVyQ2xpZW50LmgiCiAjaW5jbHVkZSAiSW50UmVjdC5oIgogI2luY2x1ZGUgIlBsYXRmb3JtTGF5
ZXIuaCIKKyNpbmNsdWRlICJSb3VuZGVkUmVjdC5oIgogI2luY2x1ZGUgIlRyYW5zZm9ybU9wZXJh
dGlvbnMuaCIKICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25Q
dHIuaD4KQEAgLTI4Myw3ICsyODQsMTIgQEAgcHVibGljOgogICAgIAogICAgIGJvb2wgbWFza3NU
b0JvdW5kcygpIGNvbnN0IHsgcmV0dXJuIG1fbWFza3NUb0JvdW5kczsgfQogICAgIHZpcnR1YWwg
dm9pZCBzZXRNYXNrc1RvQm91bmRzKGJvb2wgYikgeyBtX21hc2tzVG9Cb3VuZHMgPSBiOyB9Ci0g
ICAgCisKKyAgICAvLyByb3VuZGVkUmVjdE1hc2sgd29ya3MgaW4gY29uanVuY3Rpb24gd2l0aCBt
YXNrc1RvQm91bmRzLiBJZiBtYXNrc1RvQm91bmRzIGlzIGZhbHNlLAorICAgIC8vIGl0IG9ubHkg
Y2xpcHMgaXRzIG93biBjb250ZW50cywgb3RoZXJ3aXNlIGl0IHdvdWxkIGNsaXAgaXRzIGRlc2Nl
bmRhbnRzIGFzIHdlbGwuCisgICAgdmlydHVhbCB2b2lkIHNldFJvdW5kZWRSZWN0TWFzayhjb25z
dCBSb3VuZGVkUmVjdCYgcikgeyBtX3JvdW5kZWRSZWN0TWFzayA9IHI7IH0KKyAgICBjb25zdCBS
b3VuZGVkUmVjdCYgcm91bmRlZFJlY3RNYXNrKCkgY29uc3QgeyByZXR1cm4gbV9yb3VuZGVkUmVj
dE1hc2s7IH0gCisKICAgICBib29sIGRyYXdzQ29udGVudCgpIGNvbnN0IHsgcmV0dXJuIG1fZHJh
d3NDb250ZW50OyB9CiAgICAgdmlydHVhbCB2b2lkIHNldERyYXdzQ29udGVudChib29sIGIpIHsg
bV9kcmF3c0NvbnRlbnQgPSBiOyB9CiAKQEAgLTU0Niw2ICs1NTIsOCBAQCBwcm90ZWN0ZWQ6CiAg
ICAgSW50UG9pbnQgbV9jb250ZW50c1RpbGVQaGFzZTsKICAgICBJbnRTaXplIG1fY29udGVudHNU
aWxlU2l6ZTsKIAorICAgIFJvdW5kZWRSZWN0IG1fcm91bmRlZFJlY3RNYXNrOworCiAgICAgaW50
IG1fcmVwYWludENvdW50OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvUm91bmRlZFJlY3QuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL1JvdW5kZWRSZWN0LmgKaW5kZXggZDkyM2UzNTNmNDhhYjk4ZGU5MTU3NzM2M2JhNjM0Yzc4
YTljMjMwMy4uYzhiZmNlNWQzMDczOGM3NjFiODQ2YmEwMmRlYTA0MmU4MGUwNDExNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUm91bmRlZFJlY3QuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Sb3VuZGVkUmVjdC5oCkBAIC03Myw3
ICs3Myw3IEBAIHB1YmxpYzoKICAgICAgICAgSW50U2l6ZSBtX2JvdHRvbVJpZ2h0OwogICAgIH07
CiAKLSAgICBleHBsaWNpdCBSb3VuZGVkUmVjdChjb25zdCBJbnRSZWN0JiwgY29uc3QgUmFkaWkm
ID0gUmFkaWkoKSk7CisgICAgZXhwbGljaXQgUm91bmRlZFJlY3QoY29uc3QgSW50UmVjdCYgPSBJ
bnRSZWN0KCksIGNvbnN0IFJhZGlpJiA9IFJhZGlpKCkpOwogICAgIFJvdW5kZWRSZWN0KGludCB4
LCBpbnQgeSwgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KTsKICAgICBSb3VuZGVkUmVjdChjb25zdCBJ
bnRSZWN0JiwgY29uc3QgSW50U2l6ZSYgdG9wTGVmdCwgY29uc3QgSW50U2l6ZSYgdG9wUmlnaHQs
IGNvbnN0IEludFNpemUmIGJvdHRvbUxlZnQsIGNvbnN0IEludFNpemUmIGJvdHRvbVJpZ2h0KTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2lu
Zy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcApp
bmRleCAwZjQzNDE0Mjk3ZGMzYWVhYTk0OTIyZWE1OTZjZjMxNzE0ZGU4OTdmLi45N2UxY2Y4MmM2
NTE5M2JmZWE1MzBjZGYyMmUzMGQ1ZDBmNDQwM2JkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcApAQCAtNTg4LDYgKzU4OCwxNSBAQCBib29s
IFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlR3JhcGhpY3NMYXllckNvbmZpZ3VyYXRpb24oKQog
ICAgIHJldHVybiBsYXllckNvbmZpZ0NoYW5nZWQ7CiB9CiAKK3N0YXRpYyBSb3VuZGVkUmVjdCBy
b3VuZGVkUmVjdE1hc2soY29uc3QgUmVuZGVyT2JqZWN0KiByZW5kZXJlcikKK3sKKyAgICBjb25z
dCBSZW5kZXJTdHlsZSogc3R5bGUgPSByZW5kZXJlci0+c3R5bGUoKTsKKyAgICBpZiAoIXN0eWxl
LT5oYXNCb3JkZXJSYWRpdXMoKSkKKyAgICAgICAgcmV0dXJuIFJvdW5kZWRSZWN0KCk7CisKKyAg
ICByZXR1cm4gc3R5bGUtPmdldFJvdW5kZWRCb3JkZXJGb3IodG9SZW5kZXJCb3gocmVuZGVyZXIp
LT5waXhlbFNuYXBwZWRCb3JkZXJCb3hSZWN0KCkpOworfQorCiBzdGF0aWMgSW50UmVjdCBjbGlw
Qm94KFJlbmRlckJveCogcmVuZGVyZXIpCiB7CiAgICAgTGF5b3V0UmVjdCByZXN1bHQgPSBQYWlu
dEluZm86OmluZmluaXRlUmVjdCgpOwpAQCAtNjcxLDcgKzY4MCw3IEBAIHZvaWQgUmVuZGVyTGF5
ZXJCYWNraW5nOjp1cGRhdGVHcmFwaGljc0xheWVyR2VvbWV0cnkoKQogICAgICAgICBJbnRQb2lu
dCBzY3JvbGxPcmlnaW4ocmVuZGVyQm94LT5ib3JkZXJMZWZ0KCksIHJlbmRlckJveC0+Ym9yZGVy
VG9wKCkpOwogICAgICAgICBncmFwaGljc0xheWVyUGFyZW50TG9jYXRpb24gPSBzY3JvbGxPcmln
aW4gLSBzY3JvbGxPZmZzZXQ7CiAgICAgfQotICAgIAorCiAgICAgaWYgKGNvbXBBbmNlc3RvciAm
JiBtX2FuY2VzdG9yQ2xpcHBpbmdMYXllcikgewogICAgICAgICAvLyBDYWxsIGNhbGN1bGF0ZVJl
Y3RzIHRvIGdldCB0aGUgYmFja2dyb3VuZFJlY3Qgd2hpY2ggaXMgd2hhdCBpcyB1c2VkIHRvIGNs
aXAgdGhlIGNvbnRlbnRzIG9mIHRoaXMKICAgICAgICAgLy8gbGF5ZXIuIE5vdGUgdGhhdCB3ZSBj
YWxsIGl0IHdpdGggdGVtcG9yYXJ5Q2xpcFJlY3RzID0gdHJ1ZSBiZWNhdXNlIG5vcm1hbGx5IHdo
ZW4gY29tcHV0aW5nIGNsaXAgcmVjdHMKQEAgLTcxNyw2ICs3MjYsOSBAQCB2b2lkIFJlbmRlckxh
eWVyQmFja2luZzo6dXBkYXRlR3JhcGhpY3NMYXllckdlb21ldHJ5KCkKICAgICAgICAgbV9ncmFw
aGljc0xheWVyLT5zZXRDb250ZW50c09wYXF1ZShtX293bmluZ0xheWVyLT5iYWNrZ3JvdW5kSXNL
bm93blRvQmVPcGFxdWVJblJlY3QobG9jYWxDb21wb3NpdGluZ0JvdW5kcykpOwogICAgIH0KIAor
ICAgIFJvdW5kZWRSZWN0IHJvdW5kZWRSZWN0ID0gcm91bmRlZFJlY3RNYXNrKHJlbmRlcmVyKCkp
OworICAgIG1fZ3JhcGhpY3NMYXllci0+c2V0Um91bmRlZFJlY3RNYXNrKHJvdW5kZWRSZWN0KTsK
KwogICAgIC8vIElmIHdlIGhhdmUgYSBsYXllciB0aGF0IGNsaXBzIGNoaWxkcmVuLCBwb3NpdGlv
biBpdC4KICAgICBJbnRSZWN0IGNsaXBwaW5nQm94OwogICAgIGlmIChHcmFwaGljc0xheWVyKiBj
bGlwTGF5ZXIgPSBjbGlwcGluZ0xheWVyKCkpIHsKQEAgLTcyNCw2ICs3MzYsNyBAQCB2b2lkIFJl
bmRlckxheWVyQmFja2luZzo6dXBkYXRlR3JhcGhpY3NMYXllckdlb21ldHJ5KCkKICAgICAgICAg
Y2xpcExheWVyLT5zZXRQb3NpdGlvbihGbG9hdFBvaW50KGNsaXBwaW5nQm94LmxvY2F0aW9uKCkg
LSBsb2NhbENvbXBvc2l0aW5nQm91bmRzLmxvY2F0aW9uKCkpKTsKICAgICAgICAgY2xpcExheWVy
LT5zZXRTaXplKGNsaXBwaW5nQm94LnNpemUoKSk7CiAgICAgICAgIGNsaXBMYXllci0+c2V0T2Zm
c2V0RnJvbVJlbmRlcmVyKHRvSW50U2l6ZShjbGlwcGluZ0JveC5sb2NhdGlvbigpKSk7CisgICAg
ICAgIGNsaXBMYXllci0+c2V0Um91bmRlZFJlY3RNYXNrKHJvdW5kZWRSZWN0KTsKICAgICB9CiAg
ICAgCiAgICAgaWYgKG1fbWFza0xheWVyKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggM2RiNGUyNTY0OGUyZDhjODBlYTlm
MTJlYTk0NDVkOTZjMjNkNjRjNC4uMmUzYWQzYTUyNzRhYjU5ZWU5MDM2MTg0MmMyMTg3MDY0Y2U3
NmYzMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEzLTA1LTA1ICBOb2FtIFJvc2VudGhhbCAg
PG5vYW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBHcmFwaGljc0xheWVycyBzaG91bGQgYmUgYXdh
cmUgb2Ygcm91bmRlZCByZWN0IGNsaXBwaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMTU2MTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBBZGRlZCBhIGZldyB0ZXN0cyBmb3IgY29tcG9zaXRpbmcvYm9y
ZGVyLXJhZGl1cy4gVGhvc2UgdGVzdHMgY3VycmVudGx5IHNob3cgdGhlIGN1cnJlbnQgc3RhdGUK
KyAgICAgICAgd2l0aCB3cm9uZyByZXN1bHRzLGFuZCB3b3VsZCBuZWVkIHRvIGJlIHJlYmFzZWxp
bmVkIHdoZW4gdGhpcyBpcyBmaXhlZCBpbiB0aGUgY29tcG9zaXRvcnMuCisKKyAgICAgICAgKiBj
b21wb3NpdGluZy9ib3JkZXItcmFkaXVzL2JvcmRlci1yYWRpdXMtd2ViZ2wuaHRtbDogQWRkZWQu
CisgICAgICAgICogY29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9jb21wb3NpdGVkLWJvcmRlci1y
YWRpdXMtZGVzY2VuZGFudC1sYXJnZS1yYWRpdXMuaHRtbDogQWRkZWQuCisgICAgICAgICogY29t
cG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9jb21wb3NpdGVkLWJvcmRlci1yYWRpdXMtZGVzY2VuZGFu
dC11bmV2ZW4uaHRtbDogQWRkZWQuCisgICAgICAgICogY29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1
cy9jb21wb3NpdGVkLWJvcmRlci1yYWRpdXMtZGVzY2VuZGFudC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBjb21wb3NpdGluZy9ib3JkZXItcmFkaXVzL2NvbXBvc2l0ZWQtYm9yZGVyLXJhZGl1cy5o
dG1sOiBBZGRlZC4KKwogMjAxMy0wNC0wOSAgTm9hbSBSb3NlbnRoYWwgIDxub2FtQHdlYmtpdC5v
cmc+CiAKICAgICAgICAgW1RleG1hcF0gSW4gY2VydGFpbiBzaXR1YXRpb25zIG5lc3RlZCBibGVu
ZGluZyB3aXRoIG92ZXJmbG93OmhpZGRlbiBkaXNwbGF5cyBjbGlwcGVkIHJlc3VsdHMKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2JvcmRlci1yYWRpdXMvYm9yZGVyLXJhZGl1
cy13ZWJnbC1leHBlY3RlZC5wbmcgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9ib3JkZXItcmFk
aXVzL2JvcmRlci1yYWRpdXMtd2ViZ2wtZXhwZWN0ZWQucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE5Nzc1ZmY3
ODBmYjNiNTQyYjIwNWU4YzIxZWFmN2NhZjJkMTBhNmQKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFs
IDE0NzM1CnpjbWVIT2A5Rzl4KVNzQ35NaykkWGlpd2J2ZUZAPUsqPkA0anpBdkZOaF9URlF4OCo3
T0kjMWJwTlE5TEFBIXtrdwp6dmtYeCpqNGpMOXo0dz9JYE1tR0AyZlR9KWRfTVBGKkVRIXA9WD1p
aXA2QGp0Pis3bD0qbXJDbjFPaHBycD89dkEKejBAO0l2S3d6ZWJ6Mks4WHBPQm0yQTM+Q2dEYXl7
LSFPcVJnK1p8I3JFLVVVSkF0b3kkWWNKfkg9d0w1cFoqUyp0CnotYk87cU0ldkVhTW9QdihBIyhA
PGt2KncjUz1zMGdiYUg/KCpVQzZXV1g0O3dKKzZxPUBBIXxSbCYqQ0JlQipsdAp6SCFkSUdXaCNq
TjRqYjxMQiNQT3V1TD9Cb0tRQ3E/WDhEWksmS2glNmAya2MhJXdKe2J3JjBAKyQ5WmghRjZ1fGAK
enlVK2pqaWhuK1JYIUg/QWNUTXljRV8lTW5zd1dIYlBNY3FYMCg+c15QODl+Wnk8UllMNkJ6cnJx
MiZLfEtVYjQ3CnoxX0ZoXzV6SSZjMUhsUi0hcENjKiV0UVY+ZzJGWmhrKGVGP2JwPzRUTihYPXRq
dWtUPUI1JEdXMXl9NlpVR2N7cwp6cVF7aUk7TDt3d0BoamNBK0Vzb1RPMFNOdWRIcWFlYX5iTTFD
Uyl2I1dVdlI1RjhhP0Y4eHd2V2FCR3xKRVJWR2UKejlPKjNiWGBnVHppRVdBNSVoNGB6TSgzRDxA
TUxBKmx1TihJTlBEV0NLdnJQPWJsanB9VSF9YHkyNlA1fmZUVlNXCnpVeXBPbVFgNWhKRUFYWX4l
b25qMjRNelVEZCkyNXhhVmBZRCNReXVEMT4mOHVUNiRvalpGc3tmejN6KXJMaDNRbwp6PFJIYkZK
SipVPDNZeklkLSZCTkVpfkNOS0dEd1NEdT9NRzhRWEhxMTFYYHhoZFdxK0tZYD97SURiZGhURXNR
YFEKeiVQPmF3YDZuIWBsN2RRYTdfMm5DO20lVUt4XmBPT3tFUng9MUxHdkk8REtac2E8O3V7WlMr
bjdyJXghX2NfZzBxCnpGbSRpP3p8akU0Jnd4TyhTK0BLWElqNi1XezlhX0JZOTJxb2Q5e0NGQzV5
QVIqckBLeFE+OFNZMDZFOWVUWkMtMAp6aEQtdndnKEVMLTtTdnBJYDdCVlZ5I08kPEcyMHhNcmJY
SHFwRiZMeGQhbjFhQH5zVU04ZWJNRnI5YDU7WEkrfDgKenVhdSNUPDQjaUhTIyQrfXlzUiF8X3ZH
M3Y7YlRnXzleYFhuPD98YylHb3NISTR9UU5RcHt0cDchcnlWRiZgYj8yCnpma3V+TDZJZHY1PGxC
Y3BAKG9ZclBHRjFvNVV4TUxDcyVHMTI1Vk9aeG0hRTZ0ZTF6dXJqSExNZVVfajFCOGNGRgp6Um1X
MzBgcyMkclNnRnAhZVNeVW81eExWNmQkaWdqIXQlN2I2X0BvfllEWm16X2ZIe2FqSy1oWnNZUGd4
ZU9iT0MKej1RYjZCdll5Vj5qQSpmQHEjelhMJkJfZHZ6SGA7R3grODZ8KDhAK0E8PWdENyVQSC0r
JCM2RClBcCFPRXVla0p0CnpSVzRDO2l9OG9sPn0hPlNMZW0rd0R1K3V4dyNWSDRjVnhWLSt4eHEj
dSkqOHZgLVNaM1ZmMSQhaSVSckZSdDtBSwp6czItOGoxdDVhQUd7UXN9JVF3RWV3TDVIWFdFMkk+
V2dkUT1LSDxUciVeQFhjdjR8RFBAPV4rQDZwPHhMUzU4bmYKeno0ITwtcGxNbjt7UEV7PiEwPWxY
O1Z5ZXQjKUxgaU8qKUlLRCVQWC0xUFEtaTxZXjBWLVBSbEA1TURPdGh1QHt6CnpyKjgmXkVqfSp1
JmloVjJNaUk/SGk9Wik0UWZ9RTkjKD4pXmp8cmo2Q1ZwbURXN3dOfHM2fEs8IzkzfDh7dj4qKAp6
bWhucyNuZT9pX1VwNGQxb1NZOXxuaGJQa1NVKHg0UGsoKkYmcyl4Rz5ZR2MpUD9uUHsmMiNYI1l8
T3gwc1YycF8Kendac2s3emJENGhgX2pxOyVDMEtVIUY1eVJMQGQxOFdaRXtLdHRRSUlPN0t1VXZF
S2xJOU9XNHpySjJXbnR7Zn1zCnpzSXFCY01qUFQhVkppIXN3STcpQyhCTXYhc00yVGBYUSE2UD5M
fEskLUJhckNacH1EY3dKSUgoWlpEVkRXbVhKJQp6cGQlfjxiMTlHc1JXS3k3KFFqd1dHfkVSIzFN
IX0qbkBOVjNobDBYRFhSc0NTbm5vWDdfbXtsJXp8SFlaLUhLPWEKemViVX1AZHtrPzBARkZvY0Yx
O0NIc1dNLV9FY2E3PkYwZ3ptR0dQclJnZEhDN19ndzkkblYlQVRjdz5RT15BcnUqCnpTXiVXVWJl
Y1ozUVkzSkFrdEx3bl8oNEt1RnphYld6NnJGelVgKFhxdU82aztjXlJ0bHooO3NGeSopZW9UMmgj
WQp6YzA+UCkqbXBiajNkejIheFRRT3p3b0dqMz9PeCFWZ01xd1o2YmtOU2RhZHIlenU4XlpZUkNl
VVhGdDdZU2RldmAKem1kZXMjZSNvMEhvVikldWVSS0opTkpiZDxkbGRidndNUmZEUD4+WmBWTjRY
R0lSZDh4IXwhPk0oa1VEeXcjTXlpCnpsfn1uXzd+R0BGbjhtUSlWdTxuS2hRJihyWStQMXFZVTx5
PG5lO1NNNTVPLSN6a1RLalQmVm5iQDV5QShkNCZMJgp6TzcqJExMPmlgQWszalZSeG0/dWpOYE9l
JklBcH1nMSFscl4lZGhtO2lANH5uc3pgPmRlZz1nWjl8OTNeP2VRPjYKelghLVg1QT1YVnxYbXZ9
Jm53REpQbCRwaSoqZjhvVXhUKz1xQGUyIT5ScDcyYE5TOHh8TV5+P0JaQiYhKWd8aypwCno5SHh7
NTMtRnxrdT1oKDM9OXElI1pWdHxVamQzNjI+MD4hdm5MRzJuSiRSaDZ5QGRZOTF4bj1nKE5ORWUr
fnpncAp6eEw+SzF1dipHcV9zUUZZaGwmV0RVOT5GX0k2P0N1fEdwd2MlI0d0fl9vcz4xSF94MjJz
Q3g1dyFjQTktXzRNTWYKelkpTldyWGEjfVJRNnpQNjMoeX1xY2Robzg8Wm9fZHpSRnFkRmR4ZD5T
VCF0PSoqLTBrcD1kPGBJVChEfkNlZ1FuCnpMRmY5RkloVXd2MSVaSldNTWJCZXlOPm99Q3w/V28o
T3UmTlFteHc0QFdKYXU1YiEjRUIrUm1qRGJBRGxXQiU5cwp6dXkheSomUm8jRSM3bCkzdUBuJXAz
TXV4Ujh6cEJIZzFmOXp1anUkbUVEdz8kVUVFVzZrUU9mJV9fZD5lJDJIV1kKeigpSVZ+I1FkUHFS
djZheV4kfk96amJBdjIwMjd1VyNwRGBRUnV6UE0oKGhnfjxeSl99PXJzTkVQcm9uZUV9bSlsCno9
Vm5QfkM/MElSako+Sj17cjFLfHRKTUN4Tnt0JGVAOW8rI3FXfnJLMF5jd05CRiFydVc7a1Eka0l3
PWdUM3xfVwp6TzZtVUNiTiNHN2Fsbj5Jbz5tZE9rMnRxejwjKU44I3ZMcGh3WUVCTUl5VEArYlJu
MGpTO2thTm1JbUUpbnQ5bjcKemZMa2lZZH4+Rl9NKHRjbHdzTXMqWllnJSZSXi1vN1l8ZUVvUU5z
fnFeeV9uPCRrbm5tQDdYUHVyTXVQbDN8X1JpCnoyTiFtNXdyd0paTVd7fHJmblNAMnw3ZD1nJEUt
TUJCb3lLTzVUKzYoeWpWbS11ZjdfI1VJfVdwUWQzQzRPZFFNfAp6PkUpMlhwNGZNeFkkIXB9WWpC
VEdQZChFJWZMV1peU2ZYOykodVYoO2xwUShCNEBJTm5rPjFwZmglJn1+KWROekcKem5tJT4zMi1Z
YEl3Zz9BZz13ZyNzUUY4Z2RTN2smOSpKd3lQJHNvREgmPEopUyZjbChtRmt8LW9oTWRaYV47RCpD
Cno8NkxXeDBDSkJUZU9zRCZNUjBHdi0mfmoxcTktaWs1UW5fMChhSUNYRyhFNlBhWV9pVlAjYkZF
KjdgeUpkQl5XQgp6ek07RWBkKzk8azdEVnN1WSFgK18xaTs/aFlPaEROIzxhSit3JktrR0Q5MGd5
Jjk5YmtBWjJFV1NwSFFYJmMhbHkKej1fSXZHOzt4Z3x8RX1kREY+KCp8RCg2V0khJkYqQDd0NlBP
TVVQZTg4K0R6bD5nQj0zZFVmal9JQzB0TE1hTG0oCnpzPVdiNUt2ZXp5SW84KFVtS3BPWTZBa05S
eGliflFNa1dDe0dOUWIrTFNMP2V5UUskQXQjPU4xQ1p0diFjN0I0WAp6NykmamV6T3NkMWVKNS1e
VURTMjw7SWh2WEhiaSgwWSV3VGFtdWc/RDNSYWFhWUt5UU95d0lraTd7e1ozMCY2P1gKelBRcSoo
PXM7ZFVwU3F6T15DfV8mQWkkPXVaSTNPZW9RMn4jQEItR2p0fkdzdj1pelBHIWpZUnk5cTlHJilV
RDF+CnpxPkt8dzNuYHZqRDBaMF5UR1p3JngjM1k7biF0O1ZneFVHNFdefjR0Qy1YLXBiPEI/R1Fj
RG5BXiVfbzA0KjtweAp6VW8mRURXbGFsZTx+WVBxVUJ3VkJBJmlXMVYkZEd+QUFgKHw/TThUN2pp
SUVBQ2hzbDZEUSZvcyltYTxqWEo3WTMKekpTJEhZPiR2WTdkKmJeJU4wbHUqNk0wJTZrdWJTXmBO
QkZZUitlLTRYZE1APk9ZRWtyJWYmOWtKJiFMPHQyNUQlCnpXT0t5JTE0fnJoZEtISmBrJTI/bUJe
ZE5ge0RqbHwqMmxPZVNQS0lBTWR7bFFEUkNMdEgoMXlKJVF3ZTspVUd+LQp6a21TSyFramo1MmU9
WUFLanZxR2xJUHErPiZETlY/a0wmfEtUTUhQUEp0Q1lVJGtKMVpMRUVsTTJWSkRORmd6RVMKeit8
eVhFIWBjNDReR1FWUl5CazchYztKPkVFOXQ+QDBIbTxKXmlkbTlMVi19NVBNP19CQE9ReE17ZDt2
NC0/I211CnpnSWszRGthPDBDKCRhQVVWUlcmJiFyLXhrRDF1VkV0Y0EkQ1Y+VSNsdVdGNV8hR2xE
R0BjQXJNcXRFUDxMfUdIWQp6cFhaMWo7PCR5NGFxSCpndHdpa0k/JC1MTjViPkd1Zjg2PGghbDV3
MV9jQkJuPHcjczh0ZTZSeilCUVMrdkoqPEcKemU8WHMxUW9HRndfJjdIWk02IU04QkNDUl9ifHBR
fnAmbj9ZUGQybHp5QndZcXZmM1BWMjA0ViF1SUF4QFFKfGg1CnpMSDVIKCZhTjkwZiZ2STteYDs2
TmMzUEtYJT9eYjR0dyhoS15VR0JtdTQtT2dBdlVhSzRXWlR8ZGgrfDM0QmpjTwp6RWxUREFzdy1A
bWM1WDgoQlBeVUxKO3M3UCNEM0U9ZUNhUjtqWmBYdyNAS18/JGNmQ0tBZyFHYGZUa2lrYCNFVGIK
ekktNWJuVzlteEtkaEJOeU94PW15aUJgNDFaJDdPSWEhamFrOTJHZF5jUisjc1FMZ05+N1dFKTdJ
c2dOPmswSEMxCnojJURtb2FEXkMxK3FYSjFpWUs/MFlCR2JvNlhAaWw3N1gmVTZncWcrWFdgR1oh
fm55a0FBKjR4IXV9RTdWWnlKbwp6TkRSdjdSX3FRdDU1d1Y2aHhOVFJjOWBHPGxJT3koIVgwKS1C
YXhWQiVzKk4/T3BzJGxBWDYtb1grKGB8Q21oQGQKekg/cjdhTGFQfSM3ISF4aj95IT4mPGckRllA
dXhkWCptVl5jdF5jWDZhXihpPD1SMVAtckleJjQhN2oxaF54U18pCnpVelFTMntaTD5zN0BhMlJa
IVJiKiRFV1dMQzgtWFd2QFVKbzRVbkolY2xyI3ZsTnxISCU/QCFxJERyKlZWVldzZQp6IzJVaU0k
NCpMRHZUfiN4Jk13MkNVclklKHVXYlBpbXE0eCo9KlgxKlBjZFJifElJaDxYO2Q1YDNESyEkIU4t
TmMKemE8SURaNy1iLUwmSUghP0gxO2pKazJjNCVWTmRRT2peSF8tPDhEKnkmd2dec1NNVT4hQUF+
Nn5iWGJEKlprMTF4CnpAKjF0YDxqP1F9NzRWJEQ8bEVDOW9FXmUqaTJyPyVUSlIyJlAwaUYheSRU
QnhYNlVkMkgqUUt2PyU2c088WWFyewp6UUd6PD0+fFEqZ19FXkRaMUR1eXNKRGArUE1UekExbkNe
TXUqPCpsRyQxJVhCQktVS2slV2Y0Sz4/bEtyQjQrLTsKemg4MTIrcCpUJS0mTHtTME1Efjl6O2hV
cTFqYFEpN3BjWX09KHM+NkZ7QCpPMmtBbHJ0UjZMfTk0emBLUSVORUkkCnotMEh5c3lzKlo5RCsr
eEBSZ2AjSTZgYGNkdDZseCFsPC0pPGp+eE8pVkl4WnpVJDIxXjAtSH5zWGM+WkhJeTFBZwp6RHVq
VTZ2bVZ6KE5TYXVgTUwmTlo9SF5JPSZMfUpiZmRweHl3JVApaCFDWiFEMElaZip6bmAmQTtaSkta
eiNXMzcKelYtIUhxPERYd3srVkUyMEE8SktLPy17OU87VjNNRTBtKz5fYCoqbURuPG5sKFowaTFL
LW04U0ljXmI9KWttU2M0CnpTRzNDJElkIThaUXU1KFIyMzlNO3c0WlVDUXliR0FWKngtNDVVbT84
X3hoakReKHZzeyFIU2JoTSpuJXV6OUJuRAp6RSkhIVh1OztUdU5xfFliI1hYOHNJNn16bTwxMm1P
NEZzenU3fCRWNFJwfDtvPl99fW1sR2t0c1EyUH4yaUdic3QKekZHX05uQ2U/OUVPOVI3UEg+bksq
ez9GT2dZPXxMe0NiIXlkeWVLVVYlVjZrUCZHPFNWUGQjMGdPcSlqVi1mTj0yCnplfXd7cGFOX3oo
WnA+ZWxvLVdOT0RVOHduPUg8SDU1Jm8+VkphWkkoNW9gTn05WCtfc3hKIVclbV55U0w/cVJCZAp6
eDk8cUFYZjZ5Q1ZuKns5dm1+ZzY3Y2hmRz5fPjheY3goSFFFI2NwTW4lQlleIXM7d0hMOC0+WFJl
TFdAN1YxZF8KemM9dDVNZjM8NyNkbD0rX19WUCZ1VWNmXnVFUXg7R2w9TDc+O3JpWXVhe0RFSCEq
fXBwRk9RZHRhOTNWWXBOe04jCnpaZyN+cWUqd1E/bE96PWhlRzEtaFZedE5RZj9ZKlJfbGF3PVkz
fEZ2Nk5CMzZMS1REcUJtLWt3b0B9ezVRVlVsQQp6TypoUmY5Mkl1JWEhb2paZUZaMVp6NT4+c1E1
PStBNCFxZFloXjs3VzNvJVEzeHlIa1IjNkFLRk8yUVBUWHcwTlQKejE2TUUmXzQ3SXVUUkMkPlpt
NHc2Ozk4YXZnUVYpdkhAWXVtbldyXj1JaThCcylgTTc4QzglSSp7dTEzfSV7Ui0/CnomZEFDQlJJ
Py1LWWZIe3d7RjROPyEwaH1LNylpc2hoSFpebSU5fEc/VUphSk4pTnBlV0tGMWE+PldjRFRAcj16
Ugp6UGc7aTFjNzYmNSM/UTdjMl9XbCtTKng8aXFFRU05Tl9heyZIfFZ+ejBjK1M9RHs1SXRXR0VW
RFAlcSUwa2p+WTUKelh5SkE5VDR8NiZPS2pzIWhCYnBOO2ZGZCt0Jkx+fCk4QHR3YnNVPT41Vn4r
VyRmaiY5VGdhX1FAYDB4SGIqd0VECnpCWD9pdmQxfnhCKU5vUnV8RExpaSQ/XnEpViRnIXczMH1V
TEJPdCMlZzZgUHtOK0lCODhMfXxTIXsoX1RPekxMUgp6ZXFDTkwrajM+JmwpZktVIUg0ciVrUk0o
R3ppT30/Qk13bDJXOTxaYzxxdEVvWDckOWNfeEAhdntpKkg/Z09NaCMKenJ4MVV+QCtGQGIyVzF1
VmJaYVRaQE8rOWFpSFEyJDtpb0xfMDUyOE5Dd0FJP2speW1kNnNFKU1KZk19MkghbTlOCnpwM2Zw
I0Rha0sqbiRDPzExfFFCJjFfcGJZMnclT312KF5QaiN2VjhKVVp5Z05NfklAfDRDK3dod1RyJkI8
PTElfQp6VHx2MVYqWWwhQXReMXdEQk1LXmhnI2QxUSlOTkwwVyNgKTJIfE9VcHRiR19AJWRrNTkq
fk0lY3JFTldoP1clLU4Kenc1YXItVXZlPWBkJClXS1d3SUlRbmZoQSo8WjAqc3A2OzJpa2VKZjYr
cER6Uk9taDwkYC13ZzMxQFNwdWQ3OWlDCnpee1c5fHs/Qn1UQkV9MkBgaiVfUUYycFYtNjxJfCUr
NURtczlnd29VM1MjST1JI25tKVVsUW5RYkVlWW1VdUVsNAp6QWl6ekREJk9yK25mek4hWkN+T2Iq
Vj0zZ0J0PjZwQms1TT1YdUFjbl50PVFMPSkpPzAoT0BpVDRDKkh6bzRFcDgKejNrYWlqOCRadUV0
O0dOJjVKZV9MPD9TU0ZnMjVXRT1BYypsMyleRFUlcXUoMUhjI3AyMFI+fkI2PVUxeVNieipGCnp6
bEo/PHteQCo3WkJAXkEwb185IUw3PFNwaFdAPCRvXzlmVUQjZHVDclhWZ3U8b0pxai19MXxMX3lh
WHVrNm9SbQp6N3AtdmhAXzxVM1F3R31LenMpNEZze2RLazxrRVFzNm4zfnR0KUw7YVZ3Q29NTUpt
LUs0NiNQallOMXhCdD9yMz0KekRkUmIqbGxnQTJJPCNVcihYfjZiaCZuemRAKnkkQVZnRGVudU12
ZHMpbEdsKT51IyNudEZYRSgzJX1hcyNsU1VjCnp4cGpWdmZqbGohV1YjUyZ3ZW4kN0FsKEd0Nkt7
fHFoI2gyUHdHdVpDYDEwXmNaIXNANXJLQ1lkblVKJmpGLTkqUAp6KVFGVG9eKyZ3V2E4OD0+UT9s
cSFySzwxIWFyQHU7dkIlMyhkWHpybTR2WVYmO15gbzR6KjJIVStnaGNheFI4YCoKejRwM2tjcz15
bWk8Vl96aExzPlg7NiQ8X0Y+Ujh6bFhgTyNFJk9fZUxXQFJgbkQyUUUxKGhYZCM3RnVDUUpXMn0p
CnoyR0Z6JmtAe2RVdm82NCVTdlcwdzRuKClhaHR5fnA0WUMlNTBeIUAlRiFzcl90PzFLejNVSEM0
X0U0eU88Ml54egp6cyFTenxuKz52ciNqJlpRNUFZfWhVK2xCMiZzeUVkXkFTYXhLUHBUMD5MfDFi
KypUYCQjTyFBd2pKNzFUPng2bHoKejJkfW8/U0xBYngqUGlJb25ING0jbEsoeDk4dHBHXiZvOzBl
RmZDYi11JXpUQlA5RFVIc1FsfXQkPXw0Xm55QHpDCnp4SXgpWjNLTXpGdShhZUwrZnYmTlcwJjUo
RUVCKUBkUjEhUGFvaHN3XyZ2VEp2U2MqKHhVVmdQJCZ4dFl1UWxfXgp6RnNgbSkhWk41TWhWYkUl
dTcta3dnN0xBJDB2YiV0Zk9sS2JANk05VFRETVl3ZG5zfFNEIVIpUFohe2MoOGdSIWwKenlpbT5o
czV0V3pIVENkfDk+QFpTaSQ1KFdic3JvenU1VzRYQ2dvPSpLJFM8YE01SHAwKFp1V1Y4Iz58UzNa
ekJBCno0P2FyfFc5Z3l8WTZfYD5UQihKM1NCQSlpcWBZSk1kQWlSbmNNRHJ+VzwxY2N7eHxuYWRm
NDgoNFc5eTtJUCEkSQp6dVI1R2xGYzVLPSoyYnNtcj5LJFY2SyV6TTgmYFRvbWs0SCY8Tkx4LXRW
IW1+alJpPWpOY2skMGxeJDw7UzlAQWsKekN4UWI5Pz5se1Jtbi0zX2tQVGRTK0tkbGNAMnk1ZWUj
al59YXRHfEFERSF9UFRFVmokNXtBPzFfKmNRaUxGIWcwCnpPY0BHMmdeKT5oO0ZOTEtSeC1hR1Q+
NWkxc2NxQTJCbHV5VlRjRT9mSDQ8VS1UIzhSbTBedm5ycT11ZDlsY3dBKgp6RCl+WUpWOWtYIWUh
Zj9fSFd3cUo2aTMhczJ3aW85eD1mJkVALXdHbz9sd3JFez9iaVpDIXFTdkJLNTg7Q2ltKlgKejMj
bHkjZnprbDh7eElyP18oIVgydjBRZ249bXtHY3F8Q0NeRzZERGc7ZFAhdjRYQG5sPWZnRHh2e1R8
RDZhMzhPCnpSJlktO3pea0YyKCNPSG55QmF0bWBWPCZSeFAxUlc5eS11e2g0NG0mMExtY0FUeFBT
cGRUUWQ+dSZtPjErTjxnLQp6TCpZeXJ3TjlVT1NRPlBpaU9PQ1N1en08MmNXfWFkYU9vQyY8I2dx
Ym8zfVBhK0o/dXt3RGtfMCltN3JZYkslXnoKemI8Pkhvcj51SDFxZl9nWl5MVHUxOCVRKFRpUil3
Ty12WHkrOWs5SWxZOEpFIXVhKjJSPjR4b0lieEdlPXxMZihTCnolZmQ+aCVmaHMhd24qak1HWnAx
Rkl7eDYpLWo/SDhwNGpFI1UtMjg4Zm5hXjZgYjRYMmBZcmxjTiM5YkBTV2xCbgp6K1UjbVojbyR9
TFVVVXVxcjd2bHtFeE1fRj9gRzBkZTFWJFBJT2tlPlFpRUc1X0NPTFBOMWdBMzw4IUVrdjxCX24K
enBzLUc2NCZ3K0w0bXdKTypsUFJrO1FSTEdIOzx9cyYlcm56YTF2S0pRWEArMWVRLW4oSUtqS3Jv
PU1gfS1pUXFhCnooWnl6bHNITjNVYUZFKno9RH5yUzg8RT42Zn1hNnZ1YVcpOXtqXj5OamBeSjYq
ZSN2PU0pdUZKb2MjeksqWjthTgp6eThuLXp8Q14xbk1oeXNqXkRAPk8kZypDOFlxSXAqe3U8bDEo
amBYcTlGa3s8TEgpQU1mbyhAWlZKRT57YDtiWHgKejFZfnomTDVDYlJ4SSFiZjszR2dDZkdgdlko
aUJYdlcrNmUoVWhlM2lSV0M0OSUhaXFRaSNKMDUxZGFJLTdAfFdgCnpRaCZtTXhDYzYpSWY+X3dx
djdPT0AwdnJ3eztxZmF6LWJwZGUrdGBmVz5FJTJhJXRKRUpLS0c3dzxfPVVFSGN5RAp6Wkp+Y1Mk
OEhQVlpLMW5PVndidmE1citUSWdBTXJ5KXFpV00/M2xmbjgoQy1JciZ6U05yM1NFZDQxPzJHendY
WjQKej47JikkZkJmaTxlSUcjMF48OWVRait1P0QhZksxUVB6MHJ8TEdscihBbHtPWCp8RXpXbCRq
RSY2U3FZWGE2VipiCnoyOE1taz9BWC1eez04S0RVckV8ZUxDTmU2bDt9UTg4dlU4Z2t4YCY1Vypf
M0J5TXkoWjFDWW1rRkwmSjJCZigkUQp6SG9ARHMxdDQmT2VGc2prQzBCT2R0IUlMSUNfXlVvMChB
PT5waUZubEJhNWIla21wYClAWDQtJnd4aFZ+cGpgd30KemIpd3hBK3BSJj1vMHJgcHoxempNaG03
NGV6c3JNWUxnb0ttcUtNc09AezVrS2NhVzk0MU9BNjRMXzxhUWFeNk1qCkdrcEJQKz5WUl9xCgps
aXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGlu
Zy9ib3JkZXItcmFkaXVzL2JvcmRlci1yYWRpdXMtd2ViZ2wtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvY29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9ib3JkZXItcmFkaXVzLXdlYmdsLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44YjEzNzg5MTc5MWZlOTY5MjdhZDc4ZTY0YjBhYWQ3YmRlZDA4
YmRjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvYm9yZGVyLXJh
ZGl1cy9ib3JkZXItcmFkaXVzLXdlYmdsLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxIEBACisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2JvcmRlci1yYWRpdXMvYm9yZGVyLXJh
ZGl1cy13ZWJnbC5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9i
b3JkZXItcmFkaXVzLXdlYmdsLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjk5OWQ4ZGE1MjA2ZTI1ZWRiZjYx
ODFjZWRlMjFhOWY5ZDMyOWQwYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NvbXBv
c2l0aW5nL2JvcmRlci1yYWRpdXMvYm9yZGVyLXJhZGl1cy13ZWJnbC5odG1sCkBAIC0wLDAgKzEs
NzEgQEAKKzxodG1sPgorICA8aGVhZD4KKyAgICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiIG1lZGlh
PSJzY3JlZW4iPgorICAgICAgYm9keSB7CisgICAgICAgIG91dGxpbmU6IDEwcHggc29saWQgdHJh
bnNwYXJlbnQ7IC8qIGFmZmVjdHMgbGF5ZXIgc2l6ZXMgKi8KKyAgICAgIH0KKyAgICAgIGNhbnZh
cyB7CisgICAgICAgIG1hcmdpbjogMjBweDsKKyAgICAgICAgd2lkdGg6IDIwMHB4OworICAgICAg
ICBoZWlnaHQ6IDIwMHB4OworICAgICAgICBwYWRkaW5nOiAwIDIwcHg7CisgICAgICB9CisKKyAg
ICAgIC5jb21wb3NpdGVkIHsKKyAgICAgIAktd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2Qo
MCwgMCwgMCk7CisgICAgICB9CisKKyAgICAgIC5yb3VuZGVkIHsKKyAgICAgIAlib3JkZXItcmFk
aXVzOiA4MHB4OworICAgICAgfQorICAgIAorICAgICAgLmNvbXBhcmUgeworICAgICAgICBtYXJn
aW4tbGVmdDogNDBweDsKKyAgICAgICAgbWFyZ2luLXRvcDogMjBweDsKKyAgICAgICAgd2lkdGg6
IDIwMHB4OworICAgICAgICBoZWlnaHQ6IDIwMHB4OworICAgICAgICBiYWNrZ3JvdW5kLWNvbG9y
OiByZ2JhKDAsIDEyOCwgMCwgMS4wKTsKKyAgICAgIH0KKyAgICA8L3N0eWxlPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgICAgICAgdGVzdFJ1
bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFdlYkdMRW5hYmxlZCIsICIxIik7CisgICAg
ICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQodHJ1ZSk7CisgICAgICAgIH0KKworICAgICAg
ICBmdW5jdGlvbiBpbml0V2ViR0woY2FudmFzTmFtZSwgdnNoYWRlciwgZnNoYWRlciwgYXR0cmli
cywgY2xlYXJDb2xvciwgY2xlYXJEZXB0aCkKKyAgICAgICAgeworICAgICAgICAgICAgdmFyIGNh
bnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGNhbnZhc05hbWUpOworICAgICAgICAgICAg
dmFyIGdsID0gY2FudmFzLmdldENvbnRleHQoImV4cGVyaW1lbnRhbC13ZWJnbCIsIHthbHBoYTog
ZmFsc2V9KTsKKyAgICAgICAgICAgIGlmICghZ2wpIHsKKyAgICAgICAgICAgICAgICBhbGVydCgi
Tm8gV2ViR0wgY29udGV4dCBmb3VuZCIpOworICAgICAgICAgICAgICAgIHJldHVybiBudWxsOwor
ICAgICAgICAgICAgfQorCisgICAgICAgICAgICBnbC5jbGVhckNvbG9yKGNsZWFyQ29sb3JbMF0s
IGNsZWFyQ29sb3JbMV0sIGNsZWFyQ29sb3JbMl0sIGNsZWFyQ29sb3JbM10pOworICAgICAgICAg
ICAgZ2wuY2xlYXJEZXB0aChjbGVhckRlcHRoKTsKKworICAgICAgICAgICAgcmV0dXJuIGdsOwor
ICAgICAgICB9CisKKyAgICAgICAgZnVuY3Rpb24gZHJhd0NhbnZhcyhjYW52YXNJRCkKKyAgICAg
ICAgeworICAgICAgICAgIHZhciBnbCA9IGluaXRXZWJHTChjYW52YXNJRCwgIiIsICIiLCBbXSwg
WyAwLCAuNSwgMCwgMCBdLCAxKTsKKyAgICAgICAgICBnbC52aWV3cG9ydCgwLCAwLCAyMDAsIDIw
MCk7CisgICAgICAgICAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCB8IGdsLkRFUFRIX0JV
RkZFUl9CSVQpOworICAgICAgICB9CisKKyAgICAgICAgZnVuY3Rpb24gaW5pdCgpCisgICAgICAg
IHsKKyAgICAgICAgICBkcmF3Q2FudmFzKCdjYW52YXMnKTsKKyAgICAgICAgfQorICAgIDwvc2Ny
aXB0PgorICA8L2hlYWQ+CisgIDxib2R5IG9ubG9hZD0iaW5pdCgpIj4KKworICAgIDxkaXYgY2xh
c3M9ImNvbXBhcmUgY29tcG9zaXRlZCByb3VuZGVkIj48L2Rpdj4KKyAgICA8Y2FudmFzIGlkPSJj
YW52YXMiIGNsYXNzPSJjb21wb3NpdGVkIHJvdW5kZWQiIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAw
Ij48L2NhbnZhcz4KKworICAgIDwhLS0gVG9wIGFuZCBib3R0b20gc2hvdWxkIGxvb2sgdGhlIHNh
bWUuIC0tPgorICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21w
b3NpdGluZy9ib3JkZXItcmFkaXVzL2NvbXBvc2l0ZWQtYm9yZGVyLXJhZGl1cy1kZXNjZW5kYW50
LWV4cGVjdGVkLnBuZyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2JvcmRlci1yYWRpdXMvY29t
cG9zaXRlZC1ib3JkZXItcmFkaXVzLWRlc2NlbmRhbnQtZXhwZWN0ZWQucG5nCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjE4MWYxNjEwNjY5MzVhMTdhZGZjMWNkYjVjNGI4Y2Y4MDdhNzI3MjkKR0lUIGJpbmFyeSBwYXRj
aApsaXRlcmFsIDEwNTY3CnpjbWVBU0BOPyhvbEh5YHVWQnEhaWEweX55VXsrdllWMmE+aTFCJVFs
WWJwUnpua0I5Z0NDTTQ3JD1TdUZ4ZVI3Vwp6MkMyISg9RWtPYE1rV1Q5V35QUXxEUVUoZ1g9YXdE
aVJRKXpYMnlSckhvN3R9WHgjTDRhU1crb2UwJGUwT0QwZ24Keil2XkVNelRSKj4mZ2NFSlckSHJh
IyhrOVBeNVlZSkAlaWlMS2M1NT85Mnl1SG5PSGMwajBjU2UtbXx+fHp5O3chCnpnI1U7T0RBPShl
aU9sMlZuMj4lWSZJUFdrcEBIRWVGT280SWQ+azVWN0pwTWgoITxoYGs1SkNnbjlqdVhMfl5VUgp6
QWowWW8+NEcpP1lPbD98QTx0RndfaUtLJVR2ND9zKUtMdSVJdUZEck5MO1oqR0IxeWp2RkxVTCRq
TU0rSjZLc2YKemN3V2lDdjthTXt5QDZxOHRgNjgrNUgmfWJte2l6R2AoUz07VX0laFhYdC1sMGhH
YzlLQmNvOFdsez48ejJYcXgyCnpAfSMrdWpOUkQ0KENJaT04RD1qcSUpfHJ+dyllSW84NWBseWFB
ZChiQituSWFiNDw4PiVuNHp2Z059a2pRb3dVMAp6X3dRaDNJZ3kqSmglaTxHWHNxRmlWa0d6OTBT
NE4oalItRioybXA7ODRWS1loMFZhdmopQj8pSXFuUVg7OSoma1IKenBmWW4lNn1iblZ6a2E/bTlr
fmBedjB+aWNQJT0jcXNnZntZVkw4RUlCbis/NzZmT1lrKj5qZ3ZrKmNTKjFfbnVvCnpHJGE4bE0j
ZjgjeU8zKCkwfEVqSCVxTSkxWThySX4yUF5PQ05IdldGNkheTXFPaW5+U0BgOG9NQm1KY2lRWFN7
KQp6KDc+WiRqM2g5KGYjSWMydFAtTWpPNW9zX3o/aDxqNUxoNUFwZkdvLUgmUylRIV5talZhMFdA
QmdvJGElPTh7Z04KemljKFIqZm87TX1CbXFCJShMZm11NnBxbzkhb28ze2VIPSMxNmF8T1RmfGlr
S3dEd19TOG0qRUFNJXlWSTA7NyQkCnoyOFlvV1pOcTNZcDkkRTU4dHdheGJfaHAlJC11N3Q9K0ZU
fTxMSi08TCp3WXMhUlhLZGFDQzVWPXdOaXswNjRybQp6SSY/NVBiTzQkTjcjJXRvOVhiRmAhO0I2
Y2oxQzxEQ2xeUEQ0bn5JI0tyXm5STGtGV24yU2FiQHBvViRjSl5xemoKVWpOJj9oRDxjXl5VSHgz
dklWQ2chMEF9eT9CTER5WgoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvY29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9jb21wb3NpdGVkLWJvcmRlci1yYWRp
dXMtZGVzY2VuZGFudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9ib3Jk
ZXItcmFkaXVzL2NvbXBvc2l0ZWQtYm9yZGVyLXJhZGl1cy1kZXNjZW5kYW50LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4zMTk4OTFjM2FlN2I5NWFkZWUwYzZmMjZiN2VmYTlkMDMzMTIyZWFkCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9j
b21wb3NpdGVkLWJvcmRlci1yYWRpdXMtZGVzY2VuZGFudC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMSBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAs
MCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyQmxv
Y2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYwMAorICAgIFJlbmRlckJvZHkge0JPRFl9IGF0
ICg4LDgpIHNpemUgNzg0eDU4NAorbGF5ZXIgYXQgKDgsOCkgc2l6ZSAxMDB4MTAwCisgIFJlbmRl
ckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMTAweDEwMAorbGF5ZXIgYXQgKDgsOCkgc2l6ZSAx
MDB4MTAwCisgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMTAweDEwMCBbYmdjb2xv
cj0jMDA4MDAwXQorICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAweDAKKyAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2NvbXBvc2l0aW5nL2JvcmRlci1yYWRpdXMvY29tcG9zaXRlZC1ib3JkZXItcmFkaXVz
LWRlc2NlbmRhbnQtbGFyZ2UtcmFkaXVzLWV4cGVjdGVkLnBuZyBiL0xheW91dFRlc3RzL2NvbXBv
c2l0aW5nL2JvcmRlci1yYWRpdXMvY29tcG9zaXRlZC1ib3JkZXItcmFkaXVzLWRlc2NlbmRhbnQt
bGFyZ2UtcmFkaXVzLWV4cGVjdGVkLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xODFmMTYxMDY2OTM1YTE3YWRm
YzFjZGI1YzRiOGNmODA3YTcyNzI5CkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAxMDU2Nwp6Y21l
QVNATj8ob2xIeWB1VkJxIWlhMHl+eVV7K3ZZVjJhPmkxQiVRbFlicFJ6bmtCOWdDQ000NyQ9U3VG
eGVSN1cKejJDMiEoPUVrT2BNa1dUOVd+UFF8RFFVKGdYPWF3RGlSUSl6WDJ5UnJIbzd0fVh4I0w0
YVNXK29lMCRlME9EMGduCnopdl5FTXpUUio+JmdjRUpXJEhyYSMoazlQXjVZWUpAJWlpTEtjNTU/
OTJ5dUhuT0hjMGowY1NlLW18fnx6eTt3IQp6ZyNVO09EQT0oZWlPbDJWbjI+JVkmSVBXa3BASEVl
Rk9vNElkPms1VjdKcE1oKCE8aGBrNUpDZ245anVYTH5eVVIKekFqMFlvPjRHKT9ZT2w/fEE8dEZ3
X2lLSyVUdjQ/cylLTHUlSXVGRHJOTDtaKkdCMXlqdkZMVUwkak1NK0o2S3NmCnpjd1dpQ3Y7YU17
eUA2cTh0YDY4KzVIJn1ibXtpekdgKFM9O1V9JWhYWHQtbDBoR2M5S0JjbzhXbHs+PHoyWHF4Mgp6
QH0jK3VqTlJENChDSWk9OEQ9anElKXxyfncpZUlvODVgbHlhQWQoYkIrbklhYjQ8OD4lbjR6dmdO
fWtqUW93VTAKel93UWgzSWd5KkpoJWk8R1hzcUZpVmtHejkwUzROKGpSLUYqMm1wOzg0VktZaDBW
YXZqKUI/KUlxblFYOzkqJmtSCnpwZlluJTZ9Ym5WemthP205a35gXnYwfmljUCU9I3FzZ2Z7WVZM
OEVJQm4rPzc2Zk9Zayo+amd2aypjUyoxX251bwp6RyRhOGxNI2Y4I3lPMygpMHxFakglcU0pMVk4
ckl+MlBeT0NOSHZXRjZIXk1xT2luflNAYDhvTUJtSmNpUVhTeykKeig3PlokajNoOShmI0ljMnRQ
LU1qTzVvc196P2g8ajVMaDVBcGZHby1IJlMpUSFebWpWYTBXQEJnbyRhJT04e2dOCnppYyhSKmZv
O019Qm1xQiUoTGZtdTZwcW85IW9vM3tlSD0jMTZhfE9UZnxpa0t3RHdfUzhtKkVBTSV5VkkwOzck
JAp6MjhZb1daTnEzWXA5JEU1OHR3YXhiX2hwJSQtdTd0PStGVH08TEotPEwqd1lzIVJYS2RhQ0M1
Vj13Tml7MDY0cm0KekkmPzVQYk80JE43IyV0bzlYYkZgITtCNmNqMUM8RENsXlBENG5+SSNLcl5u
UkxrRlduMlNhYkBwb1YkY0pecXpqClVqTiY/aEQ8Y15eVUh4M3ZJVkNnITBBfXk/QkxEeVoKCmxp
dGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5n
L2JvcmRlci1yYWRpdXMvY29tcG9zaXRlZC1ib3JkZXItcmFkaXVzLWRlc2NlbmRhbnQtbGFyZ2Ut
cmFkaXVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2JvcmRlci1yYWRp
dXMvY29tcG9zaXRlZC1ib3JkZXItcmFkaXVzLWRlc2NlbmRhbnQtbGFyZ2UtcmFkaXVzLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4zMTk4OTFjM2FlN2I5NWFkZWUwYzZmMjZiN2VmYTlkMDMzMTIy
ZWFkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvYm9yZGVyLXJh
ZGl1cy9jb21wb3NpdGVkLWJvcmRlci1yYWRpdXMtZGVzY2VuZGFudC1sYXJnZS1yYWRpdXMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAor
ICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4
MDB4NjAwCisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgICBS
ZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKK2xheWVyIGF0ICg4LDgpIHNp
emUgMTAweDEwMAorICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDEwMHgxMDAKK2xh
eWVyIGF0ICg4LDgpIHNpemUgMTAweDEwMAorICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBz
aXplIDEwMHgxMDAgW2JnY29sb3I9IzAwODAwMF0KKyAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0
ICgwLDApIHNpemUgMHgwCisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgw
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9ib3JkZXItcmFkaXVzL2NvbXBv
c2l0ZWQtYm9yZGVyLXJhZGl1cy1kZXNjZW5kYW50LWxhcmdlLXJhZGl1cy5odG1sIGIvTGF5b3V0
VGVzdHMvY29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9jb21wb3NpdGVkLWJvcmRlci1yYWRpdXMt
ZGVzY2VuZGFudC1sYXJnZS1yYWRpdXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lYzZjZjA1Y2FlMDg5ZjVl
ODAzZjE2MTNiYTFhZTYwNDhlNzIxODdiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
Y29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9jb21wb3NpdGVkLWJvcmRlci1yYWRpdXMtZGVzY2Vu
ZGFudC1sYXJnZS1yYWRpdXMuaHRtbApAQCAtMCwwICsxLDI3IEBACis8aHRtbD4KKyAgPGhlYWQ+
CisgICAgPHN0eWxlPgorCSAgLnJvdW5kZWQgeworCQlib3JkZXItcmFkaXVzOiA2MHB4OworCQlv
dmVyZmxvdzogaGlkZGVuOworCQlkaXNwbGF5OiBibG9jazsKKwkJd2lkdGg6IDEwMHB4OworCSAg
fQorCisJICAuY29tcG9zaXRlZCB7IC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAw
LCAwKTsgfQorCSAgLmdyZWVuIHsKKwkJd2lkdGg6IDEwMHB4OworCQloZWlnaHQ6IDEwMHB4Owor
CQlkaXNwbGF5OiBibG9jazsKKwkJYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47CisJICB9CisJPC9z
dHlsZT4KKyAgPC9oZWFkPgorICA8Ym9keT4KKwk8ZGl2IGNsYXNzPSJjb21wb3NpdGVkIHJvdW5k
ZWQiPgorCSAgPGRpdiBjbGFzcz0iY29tcG9zaXRlZCBncmVlbiI+CisJCTxzcGFuPjwvc3Bhbj4K
KwkgIDwvZGl2PgorCTwvZGl2PgorICA8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvYm9yZGVyLXJh
ZGl1cy9jb21wb3NpdGVkLWJvcmRlci1yYWRpdXMtZGVzY2VuZGFudC11bmV2ZW4tZXhwZWN0ZWQu
cG5nIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9jb21wb3NpdGVkLWJv
cmRlci1yYWRpdXMtZGVzY2VuZGFudC11bmV2ZW4tZXhwZWN0ZWQucG5nCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE4
MWYxNjEwNjY5MzVhMTdhZGZjMWNkYjVjNGI4Y2Y4MDdhNzI3MjkKR0lUIGJpbmFyeSBwYXRjaAps
aXRlcmFsIDEwNTY3CnpjbWVBU0BOPyhvbEh5YHVWQnEhaWEweX55VXsrdllWMmE+aTFCJVFsWWJw
Unpua0I5Z0NDTTQ3JD1TdUZ4ZVI3Vwp6MkMyISg9RWtPYE1rV1Q5V35QUXxEUVUoZ1g9YXdEaVJR
KXpYMnlSckhvN3R9WHgjTDRhU1crb2UwJGUwT0QwZ24Keil2XkVNelRSKj4mZ2NFSlckSHJhIyhr
OVBeNVlZSkAlaWlMS2M1NT85Mnl1SG5PSGMwajBjU2UtbXx+fHp5O3chCnpnI1U7T0RBPShlaU9s
MlZuMj4lWSZJUFdrcEBIRWVGT280SWQ+azVWN0pwTWgoITxoYGs1SkNnbjlqdVhMfl5VUgp6QWow
WW8+NEcpP1lPbD98QTx0RndfaUtLJVR2ND9zKUtMdSVJdUZEck5MO1oqR0IxeWp2RkxVTCRqTU0r
SjZLc2YKemN3V2lDdjthTXt5QDZxOHRgNjgrNUgmfWJte2l6R2AoUz07VX0laFhYdC1sMGhHYzlL
QmNvOFdsez48ejJYcXgyCnpAfSMrdWpOUkQ0KENJaT04RD1qcSUpfHJ+dyllSW84NWBseWFBZChi
QituSWFiNDw4PiVuNHp2Z059a2pRb3dVMAp6X3dRaDNJZ3kqSmglaTxHWHNxRmlWa0d6OTBTNE4o
alItRioybXA7ODRWS1loMFZhdmopQj8pSXFuUVg7OSoma1IKenBmWW4lNn1iblZ6a2E/bTlrfmBe
djB+aWNQJT0jcXNnZntZVkw4RUlCbis/NzZmT1lrKj5qZ3ZrKmNTKjFfbnVvCnpHJGE4bE0jZjgj
eU8zKCkwfEVqSCVxTSkxWThySX4yUF5PQ05IdldGNkheTXFPaW5+U0BgOG9NQm1KY2lRWFN7KQp6
KDc+WiRqM2g5KGYjSWMydFAtTWpPNW9zX3o/aDxqNUxoNUFwZkdvLUgmUylRIV5talZhMFdAQmdv
JGElPTh7Z04KemljKFIqZm87TX1CbXFCJShMZm11NnBxbzkhb28ze2VIPSMxNmF8T1RmfGlrS3dE
d19TOG0qRUFNJXlWSTA7NyQkCnoyOFlvV1pOcTNZcDkkRTU4dHdheGJfaHAlJC11N3Q9K0ZUfTxM
Si08TCp3WXMhUlhLZGFDQzVWPXdOaXswNjRybQp6SSY/NVBiTzQkTjcjJXRvOVhiRmAhO0I2Y2ox
QzxEQ2xeUEQ0bn5JI0tyXm5STGtGV24yU2FiQHBvViRjSl5xemoKVWpOJj9oRDxjXl5VSHgzdklW
Q2chMEF9eT9CTER5WgoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvY29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9jb21wb3NpdGVkLWJvcmRlci1yYWRpdXMt
ZGVzY2VuZGFudC11bmV2ZW4tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcv
Ym9yZGVyLXJhZGl1cy9jb21wb3NpdGVkLWJvcmRlci1yYWRpdXMtZGVzY2VuZGFudC11bmV2ZW4t
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMxOTg5MWMzYWU3Yjk1YWRlZTBjNmYyNmI3ZWZhOWQw
MzMxMjJlYWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9ib3Jk
ZXItcmFkaXVzL2NvbXBvc2l0ZWQtYm9yZGVyLXJhZGl1cy1kZXNjZW5kYW50LXVuZXZlbi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisg
IFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgw
MHg2MDAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYwMAorICAgIFJl
bmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU4NAorbGF5ZXIgYXQgKDgsOCkgc2l6
ZSAxMDB4MTAwCisgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMTAweDEwMAorbGF5
ZXIgYXQgKDgsOCkgc2l6ZSAxMDB4MTAwCisgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNp
emUgMTAweDEwMCBbYmdjb2xvcj0jMDA4MDAwXQorICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQg
KDAsMCkgc2l6ZSAweDAKKyAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2JvcmRlci1yYWRpdXMvY29tcG9z
aXRlZC1ib3JkZXItcmFkaXVzLWRlc2NlbmRhbnQtdW5ldmVuLmh0bWwgYi9MYXlvdXRUZXN0cy9j
b21wb3NpdGluZy9ib3JkZXItcmFkaXVzL2NvbXBvc2l0ZWQtYm9yZGVyLXJhZGl1cy1kZXNjZW5k
YW50LXVuZXZlbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjlkODJhM2Q5ZWI3ZTUxN2QxOWE3N2ZlMTcxZTRl
ZGI0YzIwNzFjZTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9i
b3JkZXItcmFkaXVzL2NvbXBvc2l0ZWQtYm9yZGVyLXJhZGl1cy1kZXNjZW5kYW50LXVuZXZlbi5o
dG1sCkBAIC0wLDAgKzEsMzAgQEAKKzxodG1sPgorICA8aGVhZD4KKyAgICA8c3R5bGU+CisgICAg
ICAucm91bmRlZCB7CisgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMTBweCAyMHB4IDMwcHg7Cisg
ICAgICAgIG92ZXJmbG93OiBoaWRkZW47CisgICAgICAgIGRpc3BsYXk6IGJsb2NrOworICAgICAg
ICB3aWR0aDogMTAwcHg7CisgICAgICB9CisKKyAgICAgIC5jb21wb3NpdGVkIHsKKyAgICAgICAg
LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOworICAgICAgfQorCisgICAg
ICAuZ3JlZW4geworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgIGRpc3BsYXk6IGJsb2NrOworICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVl
bjsKKyAgICAgIH0KKyAgICA8L3N0eWxlPgorICA8L2hlYWQ+CisgIDxib2R5PgorICAgIDxkaXYg
Y2xhc3M9ImNvbXBvc2l0ZWQgcm91bmRlZCI+CisgICAgICA8ZGl2IGNsYXNzPSJjb21wb3NpdGVk
IGdyZWVuIj4KKyAgICAgICAgPHNwYW4+PC9zcGFuPgorICAgICAgPC9kaXY+CisgICAgPC9kaXY+
CisgIDwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9ib3JkZXItcmFkaXVzL2NvbXBvc2l0ZWQtYm9y
ZGVyLXJhZGl1cy1kZXNjZW5kYW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9ib3Jk
ZXItcmFkaXVzL2NvbXBvc2l0ZWQtYm9yZGVyLXJhZGl1cy1kZXNjZW5kYW50Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uOThhNjY2MjQ4NDU5YWUwMGNmMDFlNmI0NWZmNjZjNDBlOGIxNzVmNQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2JvcmRlci1yYWRpdXMvY29tcG9zaXRl
ZC1ib3JkZXItcmFkaXVzLWRlc2NlbmRhbnQuaHRtbApAQCAtMCwwICsxLDMwIEBACis8aHRtbD4K
KyAgPGhlYWQ+CisgICAgPHN0eWxlPgorICAgICAgLnJvdW5kZWQgeworICAgICAgICBib3JkZXIt
cmFkaXVzOiAxMHB4OworICAgICAgICBvdmVyZmxvdzogaGlkZGVuOworICAgICAgICBkaXNwbGF5
OiBibG9jazsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgfQorCisgICAgICAuY29tcG9z
aXRlZCB7CisgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsK
KyAgICAgIH0KKworICAgICAgLmdyZWVuIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBkaXNwbGF5OiBibG9jazsKKyAgICAgICAgYmFja2dy
b3VuZC1jb2xvcjogZ3JlZW47CisgICAgICB9CisgICAgPC9zdHlsZT4KKyAgPC9oZWFkPgorICA8
Ym9keT4KKyAgICA8ZGl2IGNsYXNzPSJjb21wb3NpdGVkIHJvdW5kZWQiPgorICAgICAgPGRpdiBj
bGFzcz0iY29tcG9zaXRlZCBncmVlbiI+CisgICAgICAgIDxzcGFuPjwvc3Bhbj4KKyAgICAgIDwv
ZGl2PgorICAgIDwvZGl2PgorICA8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1
cy9jb21wb3NpdGVkLWJvcmRlci1yYWRpdXMtZXhwZWN0ZWQucG5nIGIvTGF5b3V0VGVzdHMvY29t
cG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9jb21wb3NpdGVkLWJvcmRlci1yYWRpdXMtZXhwZWN0ZWQu
cG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIwYTVlMjhjNTE5MzcxZThhMDA2YWUzNjBjMWZiOTYyZTBkYjg2ZjgK
R0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDExMDY3CnpjbWVITllnQUtMN1FQOUExVyphMVJhK3x3
I1pmNX5CMjs7NGghdTQjTFJpYCY2KHktYmFFZGZPQzxxQzsyYCZkMgp6c3lJVXtrNFEydU0+NGlU
SyZDa09BZ08zVU1XVig8Y3FnSkkySUxWRUFQPHJ8N3diKjxHciM2JUAyeytOX1BQNykKenZtZjhM
QDRoS1lofktgQDwyP0BtMDJjMX1RX0w7XmEzS1EjSGlfVHt1VCo5aTlEI3JRdiRpSD51P2AoJVdn
UHp8Cno2QTFmcVQ/OHZNZ3pfPEVVM2x0Jkd9Z0xedjwockkmQFVzX2dAa1RjcEJmcjFLaE9qS0Ez
b1g8di16X1ZuOStYdgp6PjhoT0R0JE5BZ149dHB4ZjQzMyQtUSMzSm9NJmNULV94bzlOVkJXPE5i
dDx3MWRleSRqa1NZQURHQVNtViltX2wKej1rNTspQDM7bUItSFEmJHhsRypRbmZXTyNtUFV3c1JK
fTRgKlpvN0piKC1BOz44cT5Nb1QydHhYfWpyaDlvaD5qCnpiQzZ+MTxORl9oeGkyeSV4QUZsRDdE
cGhHWD8jRkhXQlBTYkhxVCM/eGY2KG11bjVeaFRUUH5nZTZ7ODYxOVBoYwp6ViVZeUJ6bTx2bXh3
RXM9SVFUR2xyKHojQkZLX0g9bFd6OFZ0KXk1Tzk5SmV5c257VUJPKzljLVAxVi0+amhCeXcKej1X
ISEqVSlTbzRkVFhfbmV4YnJBKG1hdStzRzVtaXZCSlZ1Xk55cX1NQCpGeTE8QmI0dU1jS2hoNjBv
JjlkPjVrCnphUTdPP2FxMGYkbExjTjZOPH5kbSZ4fnlAQ0duNzYxSUNTMHYjcHpSbEx6cH4ofGBj
e3VyMl5JSVY/YDhZU3hjUAp6O34ySV9kbHZRUWd4angtWkxsbE1RTER0RGRSZXVpOFBlKy1hfFJt
RWhAVGd9YXBEXlZOZXNkRF9zT3pJczh8O28KelpHQ0MlalpXRmlJRiYhflY0U0JhKGd7aUNGezQw
OT5jTEJZaUpmISZaLS1MMFh7dGYqSjNyTkFEOWI+Kk9vQGt9CnptTzw3c3N4VSY2X09Mc3ZhbXBE
aDRjVmpiU3FgbiVaWFB5dihJSmtkPEozNFFyZ1JmWDdlYEwlYnd3cFNQTlplfQp6NjM0I3g3Sngo
LWdUM2lyX1g0UFpNclM0OXFgU1VlRDg5MiRseVVZUEpPNEZEYEx7RUVWSjZWX2sjcU01eWNAIWUK
ektzQHRTeSpJYmhrVy1lSCFFZ3FDKGNrNH5uX1dWbjApdHVRWnlMdCYlPFNrSFBpNTVDdjVxfF9U
Xm09RDRlWHorCnpuI0JAWmYjR0xUbl40VE5fdCRxJnZqXkJ1dFpCPGorITI+YD9xYz5yP3d6dyp1
QmomNXN5TU1oSmV1JEFhN3tQPwp6K2lPfFc3OWNFPis/M2Y8eiY0RmZ7LUEtQlh1N0dlNFQjSHx4
NypWa256SEg0V0hyWEQ/PFcxVnEoNC14NTZ3KkIKejxYZkl9bFV8IyZXX08yZXhNYHZNMG5wdmtR
el49dXpIZ2hwO25oRDw1cTs5IUZ5WnR2diZ1RW10KnRtJU15Y1lBCnotaWVnOHk2QWhmM1pefWY+
b2hHWFVHUDAtdmkrViFXd3gjU211anBiSmJAJCQrd3dOMTtvbzVjVHdYVENZOFU7bgp6b3lTI0Rp
KjJTV0MqbUFOTTBxRUBPViZ5XiUxWDVjN1QmYFk9ciktNTYlcWtLNEQlcD1VbXc+JCpMUGNAcnp0
UlQKemgxdUtqcSYwYT8qcW5DfGwlM3BTOU9mPTllQVAwWWgmVGNOODd5ckYtQStrdXpNNihFbEtB
OHZNXnpzJiUkWVBLCno/b3E2QVdGQ3ojLSRtbUdacmI+UGJCWHk2S0pmMThrdD5LIV9+O31MIW53
PForWnsmVzJuJmBGJHUzN1h0Iz8hbgp6MXs7Z1BUcipDYmJ8M35JNU1aJlg8WFh3PGRBanx7d0RV
ZWJQQWAldjJ7aXRLeUhuNVI9Py0rb3dMTlh8TCkteCQKejtSY15DXz5aVl5wNjwoaDtFVEt5Ri1R
cik3b2xNPUF3PD5nI2c2MTUqVEZge2RYQFohYWM/WUx6THJkej9gbkFRCnpKWnoteXglYSRfeFdN
UHJfUi1fIT18LUp8SV9kWUZOaWIkY1dXUVliUTJoTGYkbFZrO3twfG4rREgoWj9gXyU+Swp6cVIj
ckxGWjxJQ2lMVHRHPzlVJTcpKnd+aWw+cjBndkJ8RmU5TlQtTigwK09QXkNnYW8/QSNDSSlkZWF+
ZUZNZj0KemdDJjB7ZSZ+e004ekxARGdyJEFwVkVlXjstRTRNV2RjQihKRWlGVnFmR0xeN3Z4fXUo
PEhpVl5YKX41dXl0eih2Cno5KzhxNCF3NVVtbXBoJnspVmFJY0diRD44Rm8leyRkKEk9VyZNI29+
aFl1ZyNTK2E1QikmQihmV2MlYlZzdnA4OAp6M0xvdk0yRihedV5gaWBfKU47YGRWWHlgPHE9JCkh
bXA0PTJpe0UldDs+NlgqP3VTUGhSfV8lT1lNI2x6JG9jJkkKelFmJEwqUV97SDtoKlFYUSlvKys+
YnxBJjN7ODQkNWVuR151dyNIXnk1Pjx3U1lGcTdNV3BgQF97cllWfjt9cTg9CnojUjs8bGtsNTlr
TG1NSlJMb08zeChVYms0PjU0dHdtbSh9S2BKfjRVaTNyV05aV08zc3dCekghTHpiczlKNihVewp6
QEdXMFR2U08kaUBoeSg8e3RgaFp2P2ZXVm98dFBxO0xlfig3cXpTenc2Vj0yZlBofFFGJlMlMF40
WEVzajs2e1IKeklHO012bkIhTT5YYEo2NGVBSkV+VHRsXnR7QElSQ1d3M0IqejE+T05afW40Rzla
MWV1R3VMJTZoTSF5fio/TUpGCnpHaClgTDlVbXNfUEBCdW8lOykkKyplRS1fWmVZUjBqfE4jZSl6
Q248XnckcThYbFE5UWpBeVRoM1hhUSRTY09NOwp6O21HQ1dkKTtzUzNSSXteWE9vUyo3Yj1GWiom
PnZoVDBDLTBkSWo3ZHo/fXFsK0UheGl1Z3lOQkVwKUtLUms2R2wKeipFVihDX0YoOCZVMjhmUnpH
Pj1wc2peOEd2PThkRj1lWTwldVp0PnVheTN0TVlTT0dpSF9naUYoYCt7LUpNTXk4CnpCJEMmPHdT
NlAxc2oxUTNEYFMrNG5vTEd4LXtzPjxiQVc9ckVSMGJaI0pHTHpScjhoKnU8KnMlT1JiWDkqMElX
WAp6bDhrKT14Pzc9eGxheE19aX5wYGF4PzZfUk1tRVUpOzkja3dEMWs1TFREQ2B1cW5fWHRGNS1p
KFYjKjMlTjRuNk0Kek9OcnokQ25FdVpvaXUqeHYlZmdRTmhGZkxNJihHN3AjRE1nMUZhN2ZBNWVV
QjVEbSU/Q19mX0lGK0IxXmAycG56CnpscGohaks+NllBVE5CRVVDX2tlN2h8R0Q9e3M1aD9wenxl
a3pKYDNLQzd8O35iaVJ0dG0obHQxK2ZPMkJlfU1KfQpwWG4lbkEyV1dxUWU1M3VuJmtzeGklY1kh
Tlp0eUJJe0JLeGIkSlkzbStFMTdUe3tfNFcpZjR+IwoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9jb21wb3Np
dGVkLWJvcmRlci1yYWRpdXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcv
Ym9yZGVyLXJhZGl1cy9jb21wb3NpdGVkLWJvcmRlci1yYWRpdXMtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjVkODY1ZWQyNTYyMzgzZWZiODJhYzIwMGYyMzk0OTQ4YmE2NjAzMTcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9ib3JkZXItcmFkaXVzL2NvbXBvc2l0
ZWQtYm9yZGVyLXJhZGl1cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMCBAQAorbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCits
YXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDAp
IHNpemUgODAweDYwMAorICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU4
NAorICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSA3ODR4MAorbGF5ZXIgYXQg
KDgsOCkgc2l6ZSAxMDB4MTAwCisgIFJlbmRlckJsb2NrIChwb3NpdGlvbmVkKSB7RElWfSBhdCAo
OCw4KSBzaXplIDEwMHgxMDAgW2JnY29sb3I9IzAwODAwMF0KKyAgICBSZW5kZXJJbmxpbmUge1NQ
QU59IGF0ICgwLDApIHNpemUgMHgwCisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNp
emUgMHgwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9ib3JkZXItcmFkaXVz
L2NvbXBvc2l0ZWQtYm9yZGVyLXJhZGl1cy5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcv
Ym9yZGVyLXJhZGl1cy9jb21wb3NpdGVkLWJvcmRlci1yYWRpdXMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MjU5OTZjY2QyOWI1NDc1NGMzMjI3NDZkOTM4MzkyYmZiMThmYWI4Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9jb21wb3NpdGVkLWJvcmRl
ci1yYWRpdXMuaHRtbApAQCAtMCwwICsxLDI4IEBACis8aHRtbD4KKyAgPGhlYWQ+CisgICAgPHN0
eWxlPgorICAgICAgLnJvdW5kZWQgeworICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4OworICAg
ICAgICBkaXNwbGF5OiBibG9jazsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBwb3Np
dGlvbjogYWJzb2x1dGU7CisgICAgICB9CisKKyAgICAgIC5jb21wb3NpdGVkIHsgLXdlYmtpdC10
cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9CisKKyAgICAgIC5ncmVlbiB7CisgICAg
ICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgZGlzcGxh
eTogYmxvY2s7CisgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGdyZWVuOworICAgICAgfQorICAg
IDwvc3R5bGU+CisgIDwvaGVhZD4KKyAgPGJvZHk+CisgICAgPGRpdj4KKyAgICAgIDxkaXYgY2xh
c3M9ImNvbXBvc2l0ZWQgZ3JlZW4gcm91bmRlZCI+CisgICAgICAgIDxzcGFuPjwvc3Bhbj4KKyAg
ICAgIDwvZGl2PgorICAgIDwvZGl2PgorICA8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>201069</attachid>
            <date>2013-05-08 06:49:40 -0700</date>
            <delta_ts>2013-06-06 01:38:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-115613-20130508154844.patch</filename>
            <type>text/plain</type>
            <size>18076</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ5NzIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTM4ZmI1NDQwNzJhOWZm
YjEzODE0NzY0ZWZhYTdmOTUwOWI0NzkwYi4uMTJmMDZjZWYzNDcxMzQwMmY5NDIzMzRhZGYzMDM3
NDg0OTEyNDdhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDEzLTA1LTA1ICBOb2Ft
IFJvc2VudGhhbCAgPG5vYW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBHcmFwaGljc0xheWVycyBz
aG91bGQgYmUgYXdhcmUgb2Ygcm91bmRlZCByZWN0IGNsaXBwaW5nCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTU2MTMKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCB0aGUgbG9naWMgaW4gUmVuZGVy
TGF5ZXJCYWNraW5nIHRvIGZpZ3VyZSBvdXQgdGhlIGJvcmRlci1yYWRpdXMgY2xpcHBpbmcgZm9y
IGEgR3JhcGhpY3NMYXllci4KKyAgICAgICAgVGhpcyBpcyBkb25lIGJ5IGFkZGluZyBuZXcgcm91
bmRlZFJlY3RNYXNrL3NldFJvdW5kZWRSZWN0TWFzayBwcm9wZXJ0aWVzIHRvIEdyYXBoaWNzTGF5
ZXIuCisKKyAgICAgICAgTm90ZSB0aGF0IHRoaXMgaXMgbm90IGNvbXBsZXRlLCBhcyBpdCBkb2Vz
IG5vdCBjb3ZlciB0aGUgY2FzZSB3aGVyZSB0aGUgbGF5ZXIgd2hpY2ggaGFzIHRoZSBib3JkZXIK
KyAgICAgICAgcmFkaXVzIGlzIG5vdCBjb21wb3NpdGVkIGJ1dCBpcyBhbiBhbmNlc3RvciBmb3Ig
b3RoZXIgY29tcG9zaXRpbmcgbGF5ZXJzLgorCisgICAgICAgIFRlc3RzOiBjb21wb3NpdGluZy9i
b3JkZXItcmFkaXVzL2JvcmRlci1yYWRpdXMtd2ViZ2wuaHRtbAorICAgICAgICAgICAgICAgY29t
cG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9jb21wb3NpdGVkLWJvcmRlci1yYWRpdXMtZGVzY2VuZGFu
dC1sYXJnZS1yYWRpdXMuaHRtbAorICAgICAgICAgICAgICAgY29tcG9zaXRpbmcvYm9yZGVyLXJh
ZGl1cy9jb21wb3NpdGVkLWJvcmRlci1yYWRpdXMtZGVzY2VuZGFudC11bmV2ZW4uaHRtbAorICAg
ICAgICAgICAgICAgY29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9jb21wb3NpdGVkLWJvcmRlci1y
YWRpdXMtZGVzY2VuZGFudC5odG1sCisgICAgICAgICAgICAgICBjb21wb3NpdGluZy9ib3JkZXIt
cmFkaXVzL2NvbXBvc2l0ZWQtYm9yZGVyLXJhZGl1cy5odG1sCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmg6CisgICAgICAgIChHcmFwaGljc0xheWVyKToKKyAg
ICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OnNldFJvdW5kZWRSZWN0TWFzayk6CisgICAg
ICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVyOjpyb3VuZGVkUmVjdE1hc2spOgorICAgICAgICAg
ICAgQWRkIHJvdW5kZWRSZWN0TWFzayBwcm9wZXJ0eSB0byBHcmFwaGljc0xheWVyLgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL1JvdW5kZWRSZWN0Lmg6CisgICAgICAgIChSb3VuZGVkUmVj
dCk6CisgICAgICAgICAgICBBZGRlZCBhIGRlZmF1bHQgY29uc3RydWN0b3IgZm9yIFJvdW5kZWRS
ZWN0LgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpyb3VuZGVkUmVjdE1hc2spOgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZUdyYXBoaWNzTGF5ZXJHZW9t
ZXRyeSk6CisgICAgICAgICAgICBDYWxjdWxhdGUgdGhlIHJvdW5kZWRSZWN0IG1hc2sgZm9yIHRo
ZSBHcmFwaGljc0xheWVyIHdoZW4gY29tcHV0aW5nIGl0cyBjbGlwIHByb3BlcnRpZXMuCisKIDIw
MTMtMDUtMDggIERvbmdzZW9uZyBId2FuZyAgPGRvbmdzZW9uZy5od2FuZ0BpbnRlbC5jb20+CiAK
ICAgICAgICAgTWFrZSBvcHRpb25hbCBhcmd1bWVudHMgaW4gQ2FudmFzUmVuZGVyaW5nQ29udGV4
dDJEIG1hdGNoIHRoZSBzcGVjLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvR3JhcGhpY3NMYXllci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvR3JhcGhpY3NMYXllci5oCmluZGV4IDE2ZGMwN2ZlYmI3YzhkODJlN2Q5MjdkNzYzYTdlMDE1
YmE4NzlmNWIuLjBmOGVhZDNkYmY2ZTQ4OGFmODY1YWUwOGQ0OWRmNzEyMWVmOTk5YmEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmgKQEAg
LTM2LDYgKzM2LDcgQEAKICNpbmNsdWRlICJHcmFwaGljc0xheWVyQ2xpZW50LmgiCiAjaW5jbHVk
ZSAiSW50UmVjdC5oIgogI2luY2x1ZGUgIlBsYXRmb3JtTGF5ZXIuaCIKKyNpbmNsdWRlICJSb3Vu
ZGVkUmVjdC5oIgogI2luY2x1ZGUgIlRyYW5zZm9ybU9wZXJhdGlvbnMuaCIKICNpbmNsdWRlIDx3
dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KQEAgLTMwOSw3ICszMTAs
MTIgQEAgcHVibGljOgogICAgIAogICAgIGJvb2wgbWFza3NUb0JvdW5kcygpIGNvbnN0IHsgcmV0
dXJuIG1fbWFza3NUb0JvdW5kczsgfQogICAgIHZpcnR1YWwgdm9pZCBzZXRNYXNrc1RvQm91bmRz
KGJvb2wgYikgeyBtX21hc2tzVG9Cb3VuZHMgPSBiOyB9Ci0gICAgCisKKyAgICAvLyByb3VuZGVk
UmVjdE1hc2sgd29ya3MgaW4gY29uanVuY3Rpb24gd2l0aCBtYXNrc1RvQm91bmRzLiBJZiBtYXNr
c1RvQm91bmRzIGlzIGZhbHNlLAorICAgIC8vIGl0IG9ubHkgY2xpcHMgaXRzIG93biBjb250ZW50
cywgb3RoZXJ3aXNlIGl0IHdvdWxkIGNsaXAgaXRzIGRlc2NlbmRhbnRzIGFzIHdlbGwuCisgICAg
dmlydHVhbCB2b2lkIHNldFJvdW5kZWRSZWN0TWFzayhjb25zdCBSb3VuZGVkUmVjdCYgcikgeyBt
X3JvdW5kZWRSZWN0TWFzayA9IHI7IH0KKyAgICBjb25zdCBSb3VuZGVkUmVjdCYgcm91bmRlZFJl
Y3RNYXNrKCkgY29uc3QgeyByZXR1cm4gbV9yb3VuZGVkUmVjdE1hc2s7IH0gCisKICAgICBib29s
IGRyYXdzQ29udGVudCgpIGNvbnN0IHsgcmV0dXJuIG1fZHJhd3NDb250ZW50OyB9CiAgICAgdmly
dHVhbCB2b2lkIHNldERyYXdzQ29udGVudChib29sIGIpIHsgbV9kcmF3c0NvbnRlbnQgPSBiOyB9
CiAKQEAgLTU3Miw2ICs1NzgsOCBAQCBwcm90ZWN0ZWQ6CiAgICAgSW50UG9pbnQgbV9jb250ZW50
c1RpbGVQaGFzZTsKICAgICBJbnRTaXplIG1fY29udGVudHNUaWxlU2l6ZTsKIAorICAgIFJvdW5k
ZWRSZWN0IG1fcm91bmRlZFJlY3RNYXNrOworCiAgICAgaW50IG1fcmVwYWludENvdW50OwogfTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUm91bmRlZFJl
Y3QuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1JvdW5kZWRSZWN0LmgKaW5k
ZXggZDkyM2UzNTNmNDhhYjk4ZGU5MTU3NzM2M2JhNjM0Yzc4YTljMjMwMy4uYzhiZmNlNWQzMDcz
OGM3NjFiODQ2YmEwMmRlYTA0MmU4MGUwNDExNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvUm91bmRlZFJlY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9Sb3VuZGVkUmVjdC5oCkBAIC03Myw3ICs3Myw3IEBAIHB1YmxpYzoKICAg
ICAgICAgSW50U2l6ZSBtX2JvdHRvbVJpZ2h0OwogICAgIH07CiAKLSAgICBleHBsaWNpdCBSb3Vu
ZGVkUmVjdChjb25zdCBJbnRSZWN0JiwgY29uc3QgUmFkaWkmID0gUmFkaWkoKSk7CisgICAgZXhw
bGljaXQgUm91bmRlZFJlY3QoY29uc3QgSW50UmVjdCYgPSBJbnRSZWN0KCksIGNvbnN0IFJhZGlp
JiA9IFJhZGlpKCkpOwogICAgIFJvdW5kZWRSZWN0KGludCB4LCBpbnQgeSwgaW50IHdpZHRoLCBp
bnQgaGVpZ2h0KTsKICAgICBSb3VuZGVkUmVjdChjb25zdCBJbnRSZWN0JiwgY29uc3QgSW50U2l6
ZSYgdG9wTGVmdCwgY29uc3QgSW50U2l6ZSYgdG9wUmlnaHQsIGNvbnN0IEludFNpemUmIGJvdHRv
bUxlZnQsIGNvbnN0IEludFNpemUmIGJvdHRvbVJpZ2h0KTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcAppbmRleCA2NDE5ZTBjYmJmMWQ5ZmJl
MDYwMjAwOGY3ZjY4NTE5NmNhOTgzOGNmLi44NzI0ZWM0MGEwZWZhOTRiOTljMGEyOWNmNjc5NmZi
OGYxMDNhNjg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5
ZXJCYWNraW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJC
YWNraW5nLmNwcApAQCAtNTg4LDYgKzU4OCwxNSBAQCBib29sIFJlbmRlckxheWVyQmFja2luZzo6
dXBkYXRlR3JhcGhpY3NMYXllckNvbmZpZ3VyYXRpb24oKQogICAgIHJldHVybiBsYXllckNvbmZp
Z0NoYW5nZWQ7CiB9CiAKK3N0YXRpYyBSb3VuZGVkUmVjdCByb3VuZGVkUmVjdE1hc2soY29uc3Qg
UmVuZGVyT2JqZWN0KiByZW5kZXJlcikKK3sKKyAgICBjb25zdCBSZW5kZXJTdHlsZSogc3R5bGUg
PSByZW5kZXJlci0+c3R5bGUoKTsKKyAgICBpZiAoIXN0eWxlLT5oYXNCb3JkZXJSYWRpdXMoKSkK
KyAgICAgICAgcmV0dXJuIFJvdW5kZWRSZWN0KCk7CisKKyAgICByZXR1cm4gc3R5bGUtPmdldFJv
dW5kZWRCb3JkZXJGb3IodG9SZW5kZXJCb3gocmVuZGVyZXIpLT5waXhlbFNuYXBwZWRCb3JkZXJC
b3hSZWN0KCkpOworfQorCiBzdGF0aWMgSW50UmVjdCBjbGlwQm94KFJlbmRlckJveCogcmVuZGVy
ZXIpCiB7CiAgICAgTGF5b3V0UmVjdCByZXN1bHQgPSBQYWludEluZm86OmluZmluaXRlUmVjdCgp
OwpAQCAtNjcxLDcgKzY4MCw3IEBAIHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVHcmFw
aGljc0xheWVyR2VvbWV0cnkoKQogICAgICAgICBJbnRQb2ludCBzY3JvbGxPcmlnaW4ocmVuZGVy
Qm94LT5ib3JkZXJMZWZ0KCksIHJlbmRlckJveC0+Ym9yZGVyVG9wKCkpOwogICAgICAgICBncmFw
aGljc0xheWVyUGFyZW50TG9jYXRpb24gPSBzY3JvbGxPcmlnaW4gLSBzY3JvbGxPZmZzZXQ7CiAg
ICAgfQotICAgIAorCiAgICAgaWYgKGNvbXBBbmNlc3RvciAmJiBtX2FuY2VzdG9yQ2xpcHBpbmdM
YXllcikgewogICAgICAgICAvLyBDYWxsIGNhbGN1bGF0ZVJlY3RzIHRvIGdldCB0aGUgYmFja2dy
b3VuZFJlY3Qgd2hpY2ggaXMgd2hhdCBpcyB1c2VkIHRvIGNsaXAgdGhlIGNvbnRlbnRzIG9mIHRo
aXMKICAgICAgICAgLy8gbGF5ZXIuIE5vdGUgdGhhdCB3ZSBjYWxsIGl0IHdpdGggdGVtcG9yYXJ5
Q2xpcFJlY3RzID0gdHJ1ZSBiZWNhdXNlIG5vcm1hbGx5IHdoZW4gY29tcHV0aW5nIGNsaXAgcmVj
dHMKQEAgLTcxNyw2ICs3MjYsOSBAQCB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlR3Jh
cGhpY3NMYXllckdlb21ldHJ5KCkKICAgICAgICAgbV9ncmFwaGljc0xheWVyLT5zZXRDb250ZW50
c09wYXF1ZShtX293bmluZ0xheWVyLT5iYWNrZ3JvdW5kSXNLbm93blRvQmVPcGFxdWVJblJlY3Qo
bG9jYWxDb21wb3NpdGluZ0JvdW5kcykpOwogICAgIH0KIAorICAgIFJvdW5kZWRSZWN0IHJvdW5k
ZWRSZWN0ID0gcm91bmRlZFJlY3RNYXNrKHJlbmRlcmVyKCkpOworICAgIG1fZ3JhcGhpY3NMYXll
ci0+c2V0Um91bmRlZFJlY3RNYXNrKHJvdW5kZWRSZWN0KTsKKwogICAgIC8vIElmIHdlIGhhdmUg
YSBsYXllciB0aGF0IGNsaXBzIGNoaWxkcmVuLCBwb3NpdGlvbiBpdC4KICAgICBJbnRSZWN0IGNs
aXBwaW5nQm94OwogICAgIGlmIChHcmFwaGljc0xheWVyKiBjbGlwTGF5ZXIgPSBjbGlwcGluZ0xh
eWVyKCkpIHsKQEAgLTcyNCw2ICs3MzYsNyBAQCB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6dXBk
YXRlR3JhcGhpY3NMYXllckdlb21ldHJ5KCkKICAgICAgICAgY2xpcExheWVyLT5zZXRQb3NpdGlv
bihGbG9hdFBvaW50KGNsaXBwaW5nQm94LmxvY2F0aW9uKCkgLSBsb2NhbENvbXBvc2l0aW5nQm91
bmRzLmxvY2F0aW9uKCkpKTsKICAgICAgICAgY2xpcExheWVyLT5zZXRTaXplKGNsaXBwaW5nQm94
LnNpemUoKSk7CiAgICAgICAgIGNsaXBMYXllci0+c2V0T2Zmc2V0RnJvbVJlbmRlcmVyKHRvSW50
U2l6ZShjbGlwcGluZ0JveC5sb2NhdGlvbigpKSk7CisgICAgICAgIGNsaXBMYXllci0+c2V0Um91
bmRlZFJlY3RNYXNrKHJvdW5kZWRSZWN0KTsKICAgICB9CiAgICAgCiAgICAgaWYgKG1fbWFza0xh
eWVyKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKaW5kZXggZGM2ZDlmMzE2YTNjZGRhYmFkYjI0NGFlNWVkM2YzZWZmNjE0NzE3Mi4u
ZjZmMDJlZjI0ZDM4ZTFkMDAyNDA3NDkyZGM0OGY5ODk1ODJkMzNiMSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDIwIEBACisyMDEzLTA1LTA1ICBOb2FtIFJvc2VudGhhbCAgPG5vYW1Ad2Via2l0Lm9yZz4KKwor
ICAgICAgICBHcmFwaGljc0xheWVycyBzaG91bGQgYmUgYXdhcmUgb2Ygcm91bmRlZCByZWN0IGNs
aXBwaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MTU2MTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGRlZCBhIGZldyB0ZXN0cyBmb3IgY29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1cy4gRm9yIG5vdyB0
aG9zZSB0ZXN0cyBhcmUgbWFya2VkIGFzIGhhdmluZworICAgICAgICBtaXNzaW5nIGltYWdlcywg
dW50aWwgdGhlIGNvbXBvc2l0b3JzIGNhbiBwcm9kdWNlIHRoZSByaWdodCBpbWFnZSByZXN1bHRz
LgorCisgICAgICAgICogVGVzdEV4cGVjdGF0aW9uczogQWRkZWQgZXhwZWN0YXRpb25zIGZvciBu
ZXcgdGVzdHMuCisgICAgICAgICogY29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9ib3JkZXItcmFk
aXVzLXdlYmdsLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNvbXBvc2l0aW5nL2JvcmRlci1yYWRp
dXMvY29tcG9zaXRlZC1ib3JkZXItcmFkaXVzLWRlc2NlbmRhbnQtbGFyZ2UtcmFkaXVzLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGNvbXBvc2l0aW5nL2JvcmRlci1yYWRpdXMvY29tcG9zaXRlZC1i
b3JkZXItcmFkaXVzLWRlc2NlbmRhbnQtdW5ldmVuLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNv
bXBvc2l0aW5nL2JvcmRlci1yYWRpdXMvY29tcG9zaXRlZC1ib3JkZXItcmFkaXVzLWRlc2NlbmRh
bnQuaHRtbDogQWRkZWQuCisgICAgICAgICogY29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9jb21w
b3NpdGVkLWJvcmRlci1yYWRpdXMuaHRtbDogQWRkZWQuCisKIDIwMTMtMDUtMDggIERvbmdzZW9u
ZyBId2FuZyAgPGRvbmdzZW9uZy5od2FuZ0BpbnRlbC5jb20+CiAKICAgICAgICAgTWFrZSBvcHRp
b25hbCBhcmd1bWVudHMgaW4gQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEIG1hdGNoIHRoZSBzcGVj
LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3Rz
L1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggYTM0ZDgyNGFhMTMwMWM2ODY1NzAwZjMzN2Q0YzVhZTYy
YTNhNGQxMC4uNmFkN2JlMTJlZDI3MTY1MDdiMmZmNzc1NmEwODg2NTBmMDcyOWRlNSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9UZXN0
RXhwZWN0YXRpb25zCkBAIC0xMiwzICsxMiw2IEBAIHdlYmtpdC5vcmcvYi8xMDk1NzAgbWVkaWEv
dHJhY2svcmVnaW9ucy13ZWJ2dHQgWyBTa2lwIF0KIHdlYmtpdC5vcmcvYi8xMTM0MDEgaW5zcGVj
dG9yL2NvbnNvbGUvY29uc29sZS1jc3Mtd2FybmluZ3MuaHRtbCBbIFNraXAgXQogCiB3ZWJraXQu
b3JnL2IvMTE1Nzc2IGZhc3QvY3NzLWdlbmVyYXRlZC1jb250ZW50L2Nsb3NlLXF1b3RlLW5lZ2F0
aXZlLWRlcHRoLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KKworIyBwZW5kaW5nIGJvcmRlciBy
YWRpdXMgaW4gY29tcG9zaXRvcnMKK3dlYmtpdC5vcmcvYi8xMTU2MTQgY29tcG9zaXRpbmcvYm9y
ZGVyLXJhZGl1cyBbIFBhc3MgTWlzc2luZyBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21w
b3NpdGluZy9ib3JkZXItcmFkaXVzL2JvcmRlci1yYWRpdXMtd2ViZ2wtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9ib3JkZXItcmFkaXVzLXdlYmds
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44YjEzNzg5MTc5MWZlOTY5MjdhZDc4ZTY0YjBhYWQ3
YmRlZDA4YmRjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvYm9y
ZGVyLXJhZGl1cy9ib3JkZXItcmFkaXVzLXdlYmdsLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxIEBA
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2JvcmRlci1yYWRpdXMvYm9y
ZGVyLXJhZGl1cy13ZWJnbC5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvYm9yZGVyLXJh
ZGl1cy9ib3JkZXItcmFkaXVzLXdlYmdsLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjk5OWQ4ZGE1MjA2ZTI1
ZWRiZjYxODFjZWRlMjFhOWY5ZDMyOWQwYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2NvbXBvc2l0aW5nL2JvcmRlci1yYWRpdXMvYm9yZGVyLXJhZGl1cy13ZWJnbC5odG1sCkBAIC0w
LDAgKzEsNzEgQEAKKzxodG1sPgorICA8aGVhZD4KKyAgICA8c3R5bGUgdHlwZT0idGV4dC9jc3Mi
IG1lZGlhPSJzY3JlZW4iPgorICAgICAgYm9keSB7CisgICAgICAgIG91dGxpbmU6IDEwcHggc29s
aWQgdHJhbnNwYXJlbnQ7IC8qIGFmZmVjdHMgbGF5ZXIgc2l6ZXMgKi8KKyAgICAgIH0KKyAgICAg
IGNhbnZhcyB7CisgICAgICAgIG1hcmdpbjogMjBweDsKKyAgICAgICAgd2lkdGg6IDIwMHB4Owor
ICAgICAgICBoZWlnaHQ6IDIwMHB4OworICAgICAgICBwYWRkaW5nOiAwIDIwcHg7CisgICAgICB9
CisKKyAgICAgIC5jb21wb3NpdGVkIHsKKyAgICAgIAktd2Via2l0LXRyYW5zZm9ybTogdHJhbnNs
YXRlM2QoMCwgMCwgMCk7CisgICAgICB9CisKKyAgICAgIC5yb3VuZGVkIHsKKyAgICAgIAlib3Jk
ZXItcmFkaXVzOiA4MHB4OworICAgICAgfQorICAgIAorICAgICAgLmNvbXBhcmUgeworICAgICAg
ICBtYXJnaW4tbGVmdDogNDBweDsKKyAgICAgICAgbWFyZ2luLXRvcDogMjBweDsKKyAgICAgICAg
d2lkdGg6IDIwMHB4OworICAgICAgICBoZWlnaHQ6IDIwMHB4OworICAgICAgICBiYWNrZ3JvdW5k
LWNvbG9yOiByZ2JhKDAsIDEyOCwgMCwgMS4wKTsKKyAgICAgIH0KKyAgICA8L3N0eWxlPgorICAg
IDxzY3JpcHQ+CisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgICAgICAg
dGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFdlYkdMRW5hYmxlZCIsICIxIik7
CisgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQodHJ1ZSk7CisgICAgICAgIH0KKwor
ICAgICAgICBmdW5jdGlvbiBpbml0V2ViR0woY2FudmFzTmFtZSwgdnNoYWRlciwgZnNoYWRlciwg
YXR0cmlicywgY2xlYXJDb2xvciwgY2xlYXJEZXB0aCkKKyAgICAgICAgeworICAgICAgICAgICAg
dmFyIGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGNhbnZhc05hbWUpOworICAgICAg
ICAgICAgdmFyIGdsID0gY2FudmFzLmdldENvbnRleHQoImV4cGVyaW1lbnRhbC13ZWJnbCIsIHth
bHBoYTogZmFsc2V9KTsKKyAgICAgICAgICAgIGlmICghZ2wpIHsKKyAgICAgICAgICAgICAgICBh
bGVydCgiTm8gV2ViR0wgY29udGV4dCBmb3VuZCIpOworICAgICAgICAgICAgICAgIHJldHVybiBu
dWxsOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBnbC5jbGVhckNvbG9yKGNsZWFyQ29s
b3JbMF0sIGNsZWFyQ29sb3JbMV0sIGNsZWFyQ29sb3JbMl0sIGNsZWFyQ29sb3JbM10pOworICAg
ICAgICAgICAgZ2wuY2xlYXJEZXB0aChjbGVhckRlcHRoKTsKKworICAgICAgICAgICAgcmV0dXJu
IGdsOworICAgICAgICB9CisKKyAgICAgICAgZnVuY3Rpb24gZHJhd0NhbnZhcyhjYW52YXNJRCkK
KyAgICAgICAgeworICAgICAgICAgIHZhciBnbCA9IGluaXRXZWJHTChjYW52YXNJRCwgIiIsICIi
LCBbXSwgWyAwLCAuNSwgMCwgMCBdLCAxKTsKKyAgICAgICAgICBnbC52aWV3cG9ydCgwLCAwLCAy
MDAsIDIwMCk7CisgICAgICAgICAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCB8IGdsLkRF
UFRIX0JVRkZFUl9CSVQpOworICAgICAgICB9CisKKyAgICAgICAgZnVuY3Rpb24gaW5pdCgpCisg
ICAgICAgIHsKKyAgICAgICAgICBkcmF3Q2FudmFzKCdjYW52YXMnKTsKKyAgICAgICAgfQorICAg
IDwvc2NyaXB0PgorICA8L2hlYWQ+CisgIDxib2R5IG9ubG9hZD0iaW5pdCgpIj4KKworICAgIDxk
aXYgY2xhc3M9ImNvbXBhcmUgY29tcG9zaXRlZCByb3VuZGVkIj48L2Rpdj4KKyAgICA8Y2FudmFz
IGlkPSJjYW52YXMiIGNsYXNzPSJjb21wb3NpdGVkIHJvdW5kZWQiIHdpZHRoPSIyMDAiIGhlaWdo
dD0iMjAwIj48L2NhbnZhcz4KKworICAgIDwhLS0gVG9wIGFuZCBib3R0b20gc2hvdWxkIGxvb2sg
dGhlIHNhbWUuIC0tPgorICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9jb21wb3NpdGluZy9ib3JkZXItcmFkaXVzL2NvbXBvc2l0ZWQtYm9yZGVyLXJhZGl1cy1kZXNj
ZW5kYW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2JvcmRlci1yYWRp
dXMvY29tcG9zaXRlZC1ib3JkZXItcmFkaXVzLWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjMxOTg5MWMzYWU3Yjk1YWRlZTBjNmYyNmI3ZWZhOWQwMzMxMjJlYWQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9ib3JkZXItcmFkaXVzL2NvbXBvc2l0
ZWQtYm9yZGVyLXJhZGl1cy1kZXNjZW5kYW50LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBA
CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXpl
IDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJCbG9jayB7SFRN
TH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkg
c2l6ZSA3ODR4NTg0CitsYXllciBhdCAoOCw4KSBzaXplIDEwMHgxMDAKKyAgUmVuZGVyQmxvY2sg
e0RJVn0gYXQgKDAsMCkgc2l6ZSAxMDB4MTAwCitsYXllciBhdCAoOCw4KSBzaXplIDEwMHgxMDAK
KyAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSAxMDB4MTAwIFtiZ2NvbG9yPSMwMDgw
MDBdCisgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDB4MAorICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Y29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9jb21wb3NpdGVkLWJvcmRlci1yYWRpdXMtZGVzY2Vu
ZGFudC1sYXJnZS1yYWRpdXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcv
Ym9yZGVyLXJhZGl1cy9jb21wb3NpdGVkLWJvcmRlci1yYWRpdXMtZGVzY2VuZGFudC1sYXJnZS1y
YWRpdXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMxOTg5MWMzYWU3Yjk1YWRlZTBjNmYyNmI3
ZWZhOWQwMzMxMjJlYWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGlu
Zy9ib3JkZXItcmFkaXVzL2NvbXBvc2l0ZWQtYm9yZGVyLXJhZGl1cy1kZXNjZW5kYW50LWxhcmdl
LXJhZGl1cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAo
MCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAw
eDYwMAorICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU4NAorbGF5ZXIg
YXQgKDgsOCkgc2l6ZSAxMDB4MTAwCisgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUg
MTAweDEwMAorbGF5ZXIgYXQgKDgsOCkgc2l6ZSAxMDB4MTAwCisgIFJlbmRlckJsb2NrIHtESVZ9
IGF0ICgwLDApIHNpemUgMTAweDEwMCBbYmdjb2xvcj0jMDA4MDAwXQorICAgIFJlbmRlcklubGlu
ZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAs
MCkgc2l6ZSAweDAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2JvcmRlci1y
YWRpdXMvY29tcG9zaXRlZC1ib3JkZXItcmFkaXVzLWRlc2NlbmRhbnQtbGFyZ2UtcmFkaXVzLmh0
bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9ib3JkZXItcmFkaXVzL2NvbXBvc2l0ZWQtYm9y
ZGVyLXJhZGl1cy1kZXNjZW5kYW50LWxhcmdlLXJhZGl1cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVjNmNm
MDVjYWUwODlmNWU4MDNmMTYxM2JhMWFlNjA0OGU3MjE4N2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9jb21wb3NpdGluZy9ib3JkZXItcmFkaXVzL2NvbXBvc2l0ZWQtYm9yZGVyLXJh
ZGl1cy1kZXNjZW5kYW50LWxhcmdlLXJhZGl1cy5odG1sCkBAIC0wLDAgKzEsMjcgQEAKKzxodG1s
PgorICA8aGVhZD4KKyAgICA8c3R5bGU+CisJICAucm91bmRlZCB7CisJCWJvcmRlci1yYWRpdXM6
IDYwcHg7CisJCW92ZXJmbG93OiBoaWRkZW47CisJCWRpc3BsYXk6IGJsb2NrOworCQl3aWR0aDog
MTAwcHg7CisJICB9CisKKwkgIC5jb21wb3NpdGVkIHsgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5z
bGF0ZTNkKDAsIDAsIDApOyB9CisJICAuZ3JlZW4geworCQl3aWR0aDogMTAwcHg7CisJCWhlaWdo
dDogMTAwcHg7CisJCWRpc3BsYXk6IGJsb2NrOworCQliYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsK
KwkgIH0KKwk8L3N0eWxlPgorICA8L2hlYWQ+CisgIDxib2R5PgorCTxkaXYgY2xhc3M9ImNvbXBv
c2l0ZWQgcm91bmRlZCI+CisJICA8ZGl2IGNsYXNzPSJjb21wb3NpdGVkIGdyZWVuIj4KKwkJPHNw
YW4+PC9zcGFuPgorCSAgPC9kaXY+CisJPC9kaXY+CisgIDwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGlu
Zy9ib3JkZXItcmFkaXVzL2NvbXBvc2l0ZWQtYm9yZGVyLXJhZGl1cy1kZXNjZW5kYW50LXVuZXZl
bi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9ib3JkZXItcmFkaXVzL2Nv
bXBvc2l0ZWQtYm9yZGVyLXJhZGl1cy1kZXNjZW5kYW50LXVuZXZlbi1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMzE5ODkxYzNhZTdiOTVhZGVlMGM2ZjI2YjdlZmE5ZDAzMzEyMmVhZAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2JvcmRlci1yYWRpdXMvY29tcG9z
aXRlZC1ib3JkZXItcmFkaXVzLWRlc2NlbmRhbnQtdW5ldmVuLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDExIEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyVmlldyBhdCAo
MCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJC
bG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgICAgUmVuZGVyQm9keSB7Qk9EWX0g
YXQgKDgsOCkgc2l6ZSA3ODR4NTg0CitsYXllciBhdCAoOCw4KSBzaXplIDEwMHgxMDAKKyAgUmVu
ZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSAxMDB4MTAwCitsYXllciBhdCAoOCw4KSBzaXpl
IDEwMHgxMDAKKyAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSAxMDB4MTAwIFtiZ2Nv
bG9yPSMwMDgwMDBdCisgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDB4MAor
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvY29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9jb21wb3NpdGVkLWJvcmRlci1yYWRp
dXMtZGVzY2VuZGFudC11bmV2ZW4uaHRtbCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2JvcmRl
ci1yYWRpdXMvY29tcG9zaXRlZC1ib3JkZXItcmFkaXVzLWRlc2NlbmRhbnQtdW5ldmVuLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uOWQ4MmEzZDllYjdlNTE3ZDE5YTc3ZmUxNzFlNGVkYjRjMjA3MWNlOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2JvcmRlci1yYWRpdXMvY29t
cG9zaXRlZC1ib3JkZXItcmFkaXVzLWRlc2NlbmRhbnQtdW5ldmVuLmh0bWwKQEAgLTAsMCArMSwz
MCBAQAorPGh0bWw+CisgIDxoZWFkPgorICAgIDxzdHlsZT4KKyAgICAgIC5yb3VuZGVkIHsKKyAg
ICAgICAgYm9yZGVyLXJhZGl1czogMCAxMHB4IDIwcHggMzBweDsKKyAgICAgICAgb3ZlcmZsb3c6
IGhpZGRlbjsKKyAgICAgICAgZGlzcGxheTogYmxvY2s7CisgICAgICAgIHdpZHRoOiAxMDBweDsK
KyAgICAgIH0KKworICAgICAgLmNvbXBvc2l0ZWQgeworICAgICAgICAtd2Via2l0LXRyYW5zZm9y
bTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7CisgICAgICB9CisKKyAgICAgIC5ncmVlbiB7CisgICAg
ICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgZGlzcGxh
eTogYmxvY2s7CisgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGdyZWVuOworICAgICAgfQorICAg
IDwvc3R5bGU+CisgIDwvaGVhZD4KKyAgPGJvZHk+CisgICAgPGRpdiBjbGFzcz0iY29tcG9zaXRl
ZCByb3VuZGVkIj4KKyAgICAgIDxkaXYgY2xhc3M9ImNvbXBvc2l0ZWQgZ3JlZW4iPgorICAgICAg
ICA8c3Bhbj48L3NwYW4+CisgICAgICA8L2Rpdj4KKyAgICA8L2Rpdj4KKyAgPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2NvbXBvc2l0aW5nL2JvcmRlci1yYWRpdXMvY29tcG9zaXRlZC1ib3JkZXItcmFkaXVzLWRlc2Nl
bmRhbnQuaHRtbCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2JvcmRlci1yYWRpdXMvY29tcG9z
aXRlZC1ib3JkZXItcmFkaXVzLWRlc2NlbmRhbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45OGE2NjYyNDg0
NTlhZTAwY2YwMWU2YjQ1ZmY2NmM0MGU4YjE3NWY1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvY29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9jb21wb3NpdGVkLWJvcmRlci1yYWRpdXMt
ZGVzY2VuZGFudC5odG1sCkBAIC0wLDAgKzEsMzAgQEAKKzxodG1sPgorICA8aGVhZD4KKyAgICA8
c3R5bGU+CisgICAgICAucm91bmRlZCB7CisgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7Cisg
ICAgICAgIG92ZXJmbG93OiBoaWRkZW47CisgICAgICAgIGRpc3BsYXk6IGJsb2NrOworICAgICAg
ICB3aWR0aDogMTAwcHg7CisgICAgICB9CisKKyAgICAgIC5jb21wb3NpdGVkIHsKKyAgICAgICAg
LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOworICAgICAgfQorCisgICAg
ICAuZ3JlZW4geworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgIGRpc3BsYXk6IGJsb2NrOworICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVl
bjsKKyAgICAgIH0KKyAgICA8L3N0eWxlPgorICA8L2hlYWQ+CisgIDxib2R5PgorICAgIDxkaXYg
Y2xhc3M9ImNvbXBvc2l0ZWQgcm91bmRlZCI+CisgICAgICA8ZGl2IGNsYXNzPSJjb21wb3NpdGVk
IGdyZWVuIj4KKyAgICAgICAgPHNwYW4+PC9zcGFuPgorICAgICAgPC9kaXY+CisgICAgPC9kaXY+
CisgIDwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9ib3JkZXItcmFkaXVzL2NvbXBvc2l0ZWQtYm9y
ZGVyLXJhZGl1cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9ib3JkZXIt
cmFkaXVzL2NvbXBvc2l0ZWQtYm9yZGVyLXJhZGl1cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NWQ4NjVlZDI1NjIzODNlZmI4MmFjMjAwZjIzOTQ5NDhiYTY2MDMxNwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2JvcmRlci1yYWRpdXMvY29tcG9zaXRlZC1ib3Jk
ZXItcmFkaXVzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwIEBACitsYXllciBhdCAoMCwwKSBz
aXplIDgwMHg2MDAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0
ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4
MDB4NjAwCisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTg0CisgICAg
ICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDc4NHgwCitsYXllciBhdCAoOCw4KSBz
aXplIDEwMHgxMDAKKyAgUmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHtESVZ9IGF0ICg4LDgpIHNp
emUgMTAweDEwMCBbYmdjb2xvcj0jMDA4MDAwXQorICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQg
KDAsMCkgc2l6ZSAweDAKKyAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2JvcmRlci1yYWRpdXMvY29tcG9z
aXRlZC1ib3JkZXItcmFkaXVzLmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9ib3JkZXIt
cmFkaXVzL2NvbXBvc2l0ZWQtYm9yZGVyLXJhZGl1cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYyNTk5NmNj
ZDI5YjU0NzU0YzMyMjc0NmQ5MzgzOTJiZmIxOGZhYjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9jb21wb3NpdGluZy9ib3JkZXItcmFkaXVzL2NvbXBvc2l0ZWQtYm9yZGVyLXJhZGl1
cy5odG1sCkBAIC0wLDAgKzEsMjggQEAKKzxodG1sPgorICA8aGVhZD4KKyAgICA8c3R5bGU+Cisg
ICAgICAucm91bmRlZCB7CisgICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7CisgICAgICAgIGRp
c3BsYXk6IGJsb2NrOworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIHBvc2l0aW9uOiBh
YnNvbHV0ZTsKKyAgICAgIH0KKworICAgICAgLmNvbXBvc2l0ZWQgeyAtd2Via2l0LXRyYW5zZm9y
bTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0KKworICAgICAgLmdyZWVuIHsKKyAgICAgICAgd2lk
dGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBkaXNwbGF5OiBibG9j
azsKKyAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47CisgICAgICB9CisgICAgPC9zdHls
ZT4KKyAgPC9oZWFkPgorICA8Ym9keT4KKyAgICA8ZGl2PgorICAgICAgPGRpdiBjbGFzcz0iY29t
cG9zaXRlZCBncmVlbiByb3VuZGVkIj4KKyAgICAgICAgPHNwYW4+PC9zcGFuPgorICAgICAgPC9k
aXY+CisgICAgPC9kaXY+CisgIDwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>203912</attachid>
            <date>2013-06-06 01:38:34 -0700</date>
            <delta_ts>2013-06-06 02:34:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-115613-20130606103706.patch</filename>
            <type>text/plain</type>
            <size>19334</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUxMDk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGZkZTE2NGFiNzZhYWU0
M2EwMTQ1M2E5MjgxYmEyNmM0NzMzNjI3OC4uZWUzMzkzNTMwZWU1NGU2ZWQyNjJkZmRiMDNhMmJm
OGUxMjQ1OTI1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDEzLTA1LTA1ICBOb2Ft
IFJvc2VudGhhbCAgPG5vYW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBHcmFwaGljc0xheWVycyBz
aG91bGQgYmUgYXdhcmUgb2Ygcm91bmRlZCByZWN0IGNsaXBwaW5nCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTU2MTMKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCB0aGUgbG9naWMgaW4gUmVuZGVy
TGF5ZXJCYWNraW5nIHRvIGZpZ3VyZSBvdXQgdGhlIGJvcmRlci1yYWRpdXMgY2xpcHBpbmcgZm9y
IGEgR3JhcGhpY3NMYXllci4KKyAgICAgICAgVGhpcyBpcyBkb25lIGJ5IGFkZGluZyBuZXcgcm91
bmRlZFJlY3RNYXNrL3NldFJvdW5kZWRSZWN0TWFzayBwcm9wZXJ0aWVzIHRvIEdyYXBoaWNzTGF5
ZXIuCisKKyAgICAgICAgTm90ZSB0aGF0IHRoaXMgaXMgbm90IGNvbXBsZXRlLCBhcyBpdCBkb2Vz
IG5vdCBjb3ZlciB0aGUgY2FzZSB3aGVyZSB0aGUgbGF5ZXIgd2hpY2ggaGFzIHRoZSBib3JkZXIg
cmFkaXVzIGlzIG5vdCBjb21wb3NpdGVkIGJ1dCBpcyBhbiBhbmNlc3RvciBmb3Igb3RoZXIgY29t
cG9zaXRpbmcgbGF5ZXJzLgorICAgICAgICBUaGlzIHdvdWxkIGhhdmUgdG8gYmUgZG9uZSBieSBt
YWtpbmcgdGhvc2Ugcm91bmRlZC1yZWN0IGxheWVycyBjb21wb3NpdGVkLCBhcyB0aGUgQ2xpcFJl
Y3RzCisgICAgICAgIGNvbnRleHQgY2Fubm90IGludGVyc2VjdCBtdWx0aXBsZSByb3VuZGVkIHJl
Y3RzLgorCisgICAgICAgIFRlc3RzOiBjb21wb3NpdGluZy9ib3JkZXItcmFkaXVzL2JvcmRlci1y
YWRpdXMtd2ViZ2wuaHRtbAorICAgICAgICAgICAgICAgY29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1
cy9jb21wb3NpdGVkLWJvcmRlci1yYWRpdXMtZGVzY2VuZGFudC1sYXJnZS1yYWRpdXMuaHRtbAor
ICAgICAgICAgICAgICAgY29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9jb21wb3NpdGVkLWJvcmRl
ci1yYWRpdXMtZGVzY2VuZGFudC11bmV2ZW4uaHRtbAorICAgICAgICAgICAgICAgY29tcG9zaXRp
bmcvYm9yZGVyLXJhZGl1cy9jb21wb3NpdGVkLWJvcmRlci1yYWRpdXMtZGVzY2VuZGFudC5odG1s
CisgICAgICAgICAgICAgICBjb21wb3NpdGluZy9ib3JkZXItcmFkaXVzL2NvbXBvc2l0ZWQtYm9y
ZGVyLXJhZGl1cy5odG1sCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xh
eWVyLmg6CisgICAgICAgIChHcmFwaGljc0xheWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBo
aWNzTGF5ZXI6OnNldENoaWxkcmVuUm91bmRlZFJlY3RNYXNrKToKKyAgICAgICAgKFdlYkNvcmU6
OkdyYXBoaWNzTGF5ZXI6OnNldENvbnRlbnRzUm91bmRlZFJlY3RNYXNrKToKKyAgICAgICAgKFdl
YkNvcmU6OkdyYXBoaWNzTGF5ZXI6OmNoaWxkcmVuUm91bmRlZFJlY3RNYXNrKToKKyAgICAgICAg
KFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OmNvbnRlbnRzUm91bmRlZFJlY3RNYXNrKToKKyAgICAg
ICAgICAgIEFkZCByb3VuZGVkUmVjdE1hc2sgcHJvcGVydHkgdG8gR3JhcGhpY3NMYXllci4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Sb3VuZGVkUmVjdC5oOgorICAgICAgICAoUm91bmRl
ZFJlY3QpOgorICAgICAgICAgICAgQWRkZWQgYSBkZWZhdWx0IGNvbnN0cnVjdG9yIGZvciBSb3Vu
ZGVkUmVjdC4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6cm91bmRlZFJlY3RNYXNrKToKKyAgICAgICAgKFdlYkNvcmUpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVHcmFwaGljc0xheWVy
R2VvbWV0cnkpOgorICAgICAgICAgICAgQ2FsY3VsYXRlIHRoZSByb3VuZGVkUmVjdCBtYXNrIGZv
ciB0aGUgR3JhcGhpY3NMYXllciB3aGVuIGNvbXB1dGluZyBpdHMgY2xpcCBwcm9wZXJ0aWVzLgor
CiAyMDEzLTA2LTAzICBOb2FtIFJvc2VudGhhbCAgPG5vYW1Ad2Via2l0Lm9yZz4KIAogICAgICAg
ICBSZWZhY3RvciB0aGUgY29kZSB0aGF0IGRlY2lkZXMgd2hldGhlciB0byBlbmFibGUgV2ViR0wg
ZnJvbSBzZXR0aW5ncyB0byBoZWxwZXIgZnVuY3Rpb25zCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmgKaW5kZXggMTZkYzA3ZmViYjdjOGQ4MmU3
ZDkyN2Q3NjNhN2UwMTViYTg3OWY1Yi4uMjgyN2FhNTdkZjVmMjAzM2M0NWU1N2UyNDE5N2FiY2Mw
YTgwZGIwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3Jh
cGhpY3NMYXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBo
aWNzTGF5ZXIuaApAQCAtMzYsNiArMzYsNyBAQAogI2luY2x1ZGUgIkdyYXBoaWNzTGF5ZXJDbGll
bnQuaCIKICNpbmNsdWRlICJJbnRSZWN0LmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1MYXllci5oIgor
I2luY2x1ZGUgIlJvdW5kZWRSZWN0LmgiCiAjaW5jbHVkZSAiVHJhbnNmb3JtT3BlcmF0aW9ucy5o
IgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgpA
QCAtMzA5LDcgKzMxMCwxNSBAQCBwdWJsaWM6CiAgICAgCiAgICAgYm9vbCBtYXNrc1RvQm91bmRz
KCkgY29uc3QgeyByZXR1cm4gbV9tYXNrc1RvQm91bmRzOyB9CiAgICAgdmlydHVhbCB2b2lkIHNl
dE1hc2tzVG9Cb3VuZHMoYm9vbCBiKSB7IG1fbWFza3NUb0JvdW5kcyA9IGI7IH0KLSAgICAKKwor
ICAgIHZpcnR1YWwgdm9pZCBzZXRDaGlsZHJlblJvdW5kZWRSZWN0TWFzayhjb25zdCBSb3VuZGVk
UmVjdCYgcikgeyBtX2NoaWxkcmVuUm91bmRlZFJlY3RNYXNrID0gcjsgfQorICAgIGNvbnN0IFJv
dW5kZWRSZWN0JiBjaGlsZHJlblJvdW5kZWRSZWN0TWFzaygpIGNvbnN0IHsgcmV0dXJuIG1fY2hp
bGRyZW5Sb3VuZGVkUmVjdE1hc2s7IH0KKworICAgIC8vIFRoaXMgbWFza3MgdGhlIGxheWVyJ3Mg
ZGlyZWN0IGNvbXBvc2l0ZWQgY29udGVudHMgKGNhbnZhcywgdmlkZW8sIHBsdWdpbiwgaW1hZ2Up
LgorICAgIC8vIE5vdGUgdGhhdCB0aGUgbGF5ZXIncyBiYWNraW5nLXN0b3JlIGNvbnRlbnRzIGFs
cmVhZHkgaW5jbHVkZSB0aGUgcm91bmRpbmcuCisgICAgdmlydHVhbCB2b2lkIHNldENvbnRlbnRz
Um91bmRlZFJlY3RNYXNrKGNvbnN0IFJvdW5kZWRSZWN0JiByKSB7IG1fY29udGVudHNSb3VuZGVk
UmVjdE1hc2sgPSByOyB9CisgICAgY29uc3QgUm91bmRlZFJlY3QmIGNvbnRlbnRzUm91bmRlZFJl
Y3RNYXNrKCkgY29uc3QgeyByZXR1cm4gbV9jb250ZW50c1JvdW5kZWRSZWN0TWFzazsgfQorCiAg
ICAgYm9vbCBkcmF3c0NvbnRlbnQoKSBjb25zdCB7IHJldHVybiBtX2RyYXdzQ29udGVudDsgfQog
ICAgIHZpcnR1YWwgdm9pZCBzZXREcmF3c0NvbnRlbnQoYm9vbCBiKSB7IG1fZHJhd3NDb250ZW50
ID0gYjsgfQogCkBAIC01NzIsNiArNTgxLDkgQEAgcHJvdGVjdGVkOgogICAgIEludFBvaW50IG1f
Y29udGVudHNUaWxlUGhhc2U7CiAgICAgSW50U2l6ZSBtX2NvbnRlbnRzVGlsZVNpemU7CiAKKyAg
ICBSb3VuZGVkUmVjdCBtX2NoaWxkcmVuUm91bmRlZFJlY3RNYXNrOworICAgIFJvdW5kZWRSZWN0
IG1fY29udGVudHNSb3VuZGVkUmVjdE1hc2s7CisKICAgICBpbnQgbV9yZXBhaW50Q291bnQ7CiB9
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Sb3VuZGVk
UmVjdC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUm91bmRlZFJlY3QuaApp
bmRleCBkOTIzZTM1M2Y0OGFiOThkZTkxNTc3MzYzYmE2MzRjNzhhOWMyMzAzLi5jOGJmY2U1ZDMw
NzM4Yzc2MWI4NDZiYTAyZGVhMDQyZTgwZTA0MTE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9Sb3VuZGVkUmVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL1JvdW5kZWRSZWN0LmgKQEAgLTczLDcgKzczLDcgQEAgcHVibGljOgog
ICAgICAgICBJbnRTaXplIG1fYm90dG9tUmlnaHQ7CiAgICAgfTsKIAotICAgIGV4cGxpY2l0IFJv
dW5kZWRSZWN0KGNvbnN0IEludFJlY3QmLCBjb25zdCBSYWRpaSYgPSBSYWRpaSgpKTsKKyAgICBl
eHBsaWNpdCBSb3VuZGVkUmVjdChjb25zdCBJbnRSZWN0JiA9IEludFJlY3QoKSwgY29uc3QgUmFk
aWkmID0gUmFkaWkoKSk7CiAgICAgUm91bmRlZFJlY3QoaW50IHgsIGludCB5LCBpbnQgd2lkdGgs
IGludCBoZWlnaHQpOwogICAgIFJvdW5kZWRSZWN0KGNvbnN0IEludFJlY3QmLCBjb25zdCBJbnRT
aXplJiB0b3BMZWZ0LCBjb25zdCBJbnRTaXplJiB0b3BSaWdodCwgY29uc3QgSW50U2l6ZSYgYm90
dG9tTGVmdCwgY29uc3QgSW50U2l6ZSYgYm90dG9tUmlnaHQpOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwCmluZGV4IDgwN2ZkOGYxMWY3NTM1
MThjM2M5NDJjMWEyNDJmYzA3MjJkMzFjYjkuLmRhZmQ5YTk0MDk0Zjg3NWViZGRlYWFjNmFjNmNi
Y2FiN2U2ZWI3MTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllckJhY2tpbmcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXll
ckJhY2tpbmcuY3BwCkBAIC01ODcsNiArNTg3LDE1IEBAIGJvb2wgUmVuZGVyTGF5ZXJCYWNraW5n
Ojp1cGRhdGVHcmFwaGljc0xheWVyQ29uZmlndXJhdGlvbigpCiAgICAgcmV0dXJuIGxheWVyQ29u
ZmlnQ2hhbmdlZDsKIH0KIAorc3RhdGljIFJvdW5kZWRSZWN0IHJvdW5kZWRSZWN0TWFzayhjb25z
dCBSZW5kZXJPYmplY3QqIHJlbmRlcmVyKQoreworICAgIGNvbnN0IFJlbmRlclN0eWxlKiBzdHls
ZSA9IHJlbmRlcmVyLT5zdHlsZSgpOworICAgIGlmICghc3R5bGUtPmhhc0JvcmRlclJhZGl1cygp
KQorICAgICAgICByZXR1cm4gUm91bmRlZFJlY3QoKTsKKworICAgIHJldHVybiBzdHlsZS0+Z2V0
Um91bmRlZEJvcmRlckZvcih0b1JlbmRlckJveChyZW5kZXJlciktPnBpeGVsU25hcHBlZEJvcmRl
ckJveFJlY3QoKSk7Cit9CisKIHN0YXRpYyBJbnRSZWN0IGNsaXBCb3goUmVuZGVyQm94KiByZW5k
ZXJlcikKIHsKICAgICBMYXlvdXRSZWN0IHJlc3VsdCA9IFBhaW50SW5mbzo6aW5maW5pdGVSZWN0
KCk7CkBAIC02NzAsMTMgKzY3OSwxNCBAQCB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRl
R3JhcGhpY3NMYXllckdlb21ldHJ5KCkKICAgICAgICAgSW50UG9pbnQgc2Nyb2xsT3JpZ2luKHJl
bmRlckJveC0+Ym9yZGVyTGVmdCgpLCByZW5kZXJCb3gtPmJvcmRlclRvcCgpKTsKICAgICAgICAg
Z3JhcGhpY3NMYXllclBhcmVudExvY2F0aW9uID0gc2Nyb2xsT3JpZ2luIC0gc2Nyb2xsT2Zmc2V0
OwogICAgIH0KLSAgICAKKwogICAgIGlmIChjb21wQW5jZXN0b3IgJiYgbV9hbmNlc3RvckNsaXBw
aW5nTGF5ZXIpIHsKICAgICAgICAgLy8gQ2FsbCBjYWxjdWxhdGVSZWN0cyB0byBnZXQgdGhlIGJh
Y2tncm91bmRSZWN0IHdoaWNoIGlzIHdoYXQgaXMgdXNlZCB0byBjbGlwIHRoZSBjb250ZW50cyBv
ZiB0aGlzCiAgICAgICAgIC8vIGxheWVyLiBOb3RlIHRoYXQgd2UgY2FsbCBpdCB3aXRoIHRlbXBv
cmFyeUNsaXBSZWN0cyA9IHRydWUgYmVjYXVzZSBub3JtYWxseSB3aGVuIGNvbXB1dGluZyBjbGlw
IHJlY3RzCiAgICAgICAgIC8vIGZvciBhIGNvbXBvc2l0aW5nIGxheWVyLCByb290TGF5ZXIgaXMg
dGhlIGxheWVyIGl0c2VsZi4KICAgICAgICAgUmVuZGVyTGF5ZXI6OkNsaXBSZWN0c0NvbnRleHQg
Y2xpcFJlY3RzQ29udGV4dChjb21wQW5jZXN0b3IsIDAsIFRlbXBvcmFyeUNsaXBSZWN0cywgSWdu
b3JlT3ZlcmxheVNjcm9sbGJhclNpemUsIElnbm9yZU92ZXJmbG93Q2xpcCk7CiAgICAgICAgIElu
dFJlY3QgcGFyZW50Q2xpcFJlY3QgPSBwaXhlbFNuYXBwZWRJbnRSZWN0KG1fb3duaW5nTGF5ZXIt
PmJhY2tncm91bmRDbGlwUmVjdChjbGlwUmVjdHNDb250ZXh0KS5yZWN0KCkpOyAvLyBGSVhNRTog
SW5jb3JyZWN0IGZvciBDU1MgcmVnaW9ucy4KKyAgICAgICAgUm91bmRlZFJlY3Qgcm91bmRlZFJl
Y3QgPSByb3VuZGVkUmVjdE1hc2soY29tcEFuY2VzdG9yLT5yZW5kZXJlcigpKTsKICAgICAgICAg
QVNTRVJUKHBhcmVudENsaXBSZWN0ICE9IFBhaW50SW5mbzo6aW5maW5pdGVSZWN0KCkpOwogICAg
ICAgICBtX2FuY2VzdG9yQ2xpcHBpbmdMYXllci0+c2V0UG9zaXRpb24oRmxvYXRQb2ludChwYXJl
bnRDbGlwUmVjdC5sb2NhdGlvbigpIC0gZ3JhcGhpY3NMYXllclBhcmVudExvY2F0aW9uKSk7CiAg
ICAgICAgIG1fYW5jZXN0b3JDbGlwcGluZ0xheWVyLT5zZXRTaXplKHBhcmVudENsaXBSZWN0LnNp
emUoKSk7CkBAIC03MTYsNiArNzI2LDkgQEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0
ZUdyYXBoaWNzTGF5ZXJHZW9tZXRyeSgpCiAgICAgICAgIG1fZ3JhcGhpY3NMYXllci0+c2V0Q29u
dGVudHNPcGFxdWUobV9vd25pbmdMYXllci0+YmFja2dyb3VuZElzS25vd25Ub0JlT3BhcXVlSW5S
ZWN0KGxvY2FsQ29tcG9zaXRpbmdCb3VuZHMpKTsKICAgICB9CiAKKyAgICBSb3VuZGVkUmVjdCBy
b3VuZGVkUmVjdCA9IHJvdW5kZWRSZWN0TWFzayhyZW5kZXJlcigpKTsKKyAgICBtX2dyYXBoaWNz
TGF5ZXItPnNldENvbnRlbnRzUm91bmRlZFJlY3RNYXNrKHJvdW5kZWRSZWN0KTsKKwogICAgIC8v
IElmIHdlIGhhdmUgYSBsYXllciB0aGF0IGNsaXBzIGNoaWxkcmVuLCBwb3NpdGlvbiBpdC4KICAg
ICBJbnRSZWN0IGNsaXBwaW5nQm94OwogICAgIGlmIChHcmFwaGljc0xheWVyKiBjbGlwTGF5ZXIg
PSBjbGlwcGluZ0xheWVyKCkpIHsKQEAgLTcyMyw2ICs3MzYsNyBAQCB2b2lkIFJlbmRlckxheWVy
QmFja2luZzo6dXBkYXRlR3JhcGhpY3NMYXllckdlb21ldHJ5KCkKICAgICAgICAgY2xpcExheWVy
LT5zZXRQb3NpdGlvbihGbG9hdFBvaW50KGNsaXBwaW5nQm94LmxvY2F0aW9uKCkgLSBsb2NhbENv
bXBvc2l0aW5nQm91bmRzLmxvY2F0aW9uKCkpKTsKICAgICAgICAgY2xpcExheWVyLT5zZXRTaXpl
KGNsaXBwaW5nQm94LnNpemUoKSk7CiAgICAgICAgIGNsaXBMYXllci0+c2V0T2Zmc2V0RnJvbVJl
bmRlcmVyKHRvSW50U2l6ZShjbGlwcGluZ0JveC5sb2NhdGlvbigpKSk7CisgICAgICAgIGNsaXBM
YXllci0+c2V0Q2hpbGRyZW5Sb3VuZGVkUmVjdE1hc2socm91bmRlZFJlY3QpOwogICAgIH0KICAg
ICAKICAgICBpZiAobV9tYXNrTGF5ZXIpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA5MzE4NjUyMzdlZGRmNjY1MjZmNTc5
MmVkNjIxOTBjM2U4ZWY3ZGQ4Li4zN2VmYTFjYzAzMjA1MTY4ZTRkYzE0Mzk4NjE1Mjc3ZTIxZjQz
ZjJjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTMtMDUtMDUgIE5vYW0gUm9zZW50aGFsICA8
bm9hbUB3ZWJraXQub3JnPgorCisgICAgICAgIEdyYXBoaWNzTGF5ZXJzIHNob3VsZCBiZSBhd2Fy
ZSBvZiByb3VuZGVkIHJlY3QgY2xpcHBpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTExNTYxMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEFkZGVkIGEgZmV3IHRlc3RzIGZvciBjb21wb3NpdGluZy9ib3Jk
ZXItcmFkaXVzLiBGb3Igbm93IHRob3NlIHRlc3RzIGFyZSBtYXJrZWQgYXMgaGF2aW5nCisgICAg
ICAgIG1pc3NpbmcgaW1hZ2VzLCB1bnRpbCB0aGUgY29tcG9zaXRvcnMgY2FuIHByb2R1Y2UgdGhl
IHJpZ2h0IGltYWdlIHJlc3VsdHMuCisKKyAgICAgICAgKiBUZXN0RXhwZWN0YXRpb25zOiBBZGRl
ZCBleHBlY3RhdGlvbnMgZm9yIG5ldyB0ZXN0cy4KKyAgICAgICAgKiBjb21wb3NpdGluZy9ib3Jk
ZXItcmFkaXVzL2JvcmRlci1yYWRpdXMtd2ViZ2wuaHRtbDogQWRkZWQuCisgICAgICAgICogY29t
cG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9jb21wb3NpdGVkLWJvcmRlci1yYWRpdXMtZGVzY2VuZGFu
dC1sYXJnZS1yYWRpdXMuaHRtbDogQWRkZWQuCisgICAgICAgICogY29tcG9zaXRpbmcvYm9yZGVy
LXJhZGl1cy9jb21wb3NpdGVkLWJvcmRlci1yYWRpdXMtZGVzY2VuZGFudC11bmV2ZW4uaHRtbDog
QWRkZWQuCisgICAgICAgICogY29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9jb21wb3NpdGVkLWJv
cmRlci1yYWRpdXMtZGVzY2VuZGFudC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjb21wb3NpdGlu
Zy9ib3JkZXItcmFkaXVzL2NvbXBvc2l0ZWQtYm9yZGVyLXJhZGl1cy5odG1sOiBBZGRlZC4KKwog
MjAxMy0wNi0wMyAgQ2hyaXN0b3BoZSBEdW1leiAgPGNoLmR1bWV6QHNpc2Euc2Ftc3VuZy5jb20+
CiAKICAgICAgICAgVW5yZXZpZXdlZCBFRkwgZ2FyZGVuaW5nLgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKaW5k
ZXggMmM3ZDg3MTI3YTczZjJiMDM5YjM0MmZlNTY5NjlhMjVmZjY4ODQwMC4uYTVhMjA5ZjIyZTRk
OWI3MzdlYTI1MmE2ZGY0YTUxNzkzNTI4YTkyYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvVGVz
dEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBAIC0xNSwz
ICsxNSw2IEBAIHdlYmtpdC5vcmcvYi8xMTY0NzMgZWRpdGluZy9zZWxlY3Rpb24vdXNlci1kcmFn
LWVsZW1lbnQtYW5kLXVzZXItc2VsZWN0LW5vbmUuaHRtCiAKICMgbWVkaWEvVzNDL3ZpZGVvL25l
dHdvcmtTdGF0ZS9uZXR3b3JrU3RhdGVfZHVyaW5nX3Byb2dyZXNzLmh0bWwgaXMgZmxha3kKIHdl
YmtpdC5vcmcvYi83NjI4MCBtZWRpYS9XM0MvdmlkZW8vbmV0d29ya1N0YXRlL25ldHdvcmtTdGF0
ZV9kdXJpbmdfcHJvZ3Jlc3MuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCisKKyMgcGVuZGluZyBib3Jk
ZXIgcmFkaXVzIGluIGNvbXBvc2l0b3JzCit3ZWJraXQub3JnL2IvMTE1NjE0IGNvbXBvc2l0aW5n
L2JvcmRlci1yYWRpdXMgWyBQYXNzIE1pc3NpbmcgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Y29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9ib3JkZXItcmFkaXVzLXdlYmdsLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2JvcmRlci1yYWRpdXMvYm9yZGVyLXJhZGl1cy13
ZWJnbC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGIxMzc4OTE3OTFmZTk2OTI3YWQ3OGU2NGIw
YWFkN2JkZWQwOGJkYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5n
L2JvcmRlci1yYWRpdXMvYm9yZGVyLXJhZGl1cy13ZWJnbC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSBAQAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9ib3JkZXItcmFkaXVz
L2JvcmRlci1yYWRpdXMtd2ViZ2wuaHRtbCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2JvcmRl
ci1yYWRpdXMvYm9yZGVyLXJhZGl1cy13ZWJnbC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI5OTlkOGRhNTIw
NmUyNWVkYmY2MTgxY2VkZTIxYTlmOWQzMjlkMGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9jb21wb3NpdGluZy9ib3JkZXItcmFkaXVzL2JvcmRlci1yYWRpdXMtd2ViZ2wuaHRtbApA
QCAtMCwwICsxLDcxIEBACis8aHRtbD4KKyAgPGhlYWQ+CisgICAgPHN0eWxlIHR5cGU9InRleHQv
Y3NzIiBtZWRpYT0ic2NyZWVuIj4KKyAgICAgIGJvZHkgeworICAgICAgICBvdXRsaW5lOiAxMHB4
IHNvbGlkIHRyYW5zcGFyZW50OyAvKiBhZmZlY3RzIGxheWVyIHNpemVzICovCisgICAgICB9Cisg
ICAgICBjYW52YXMgeworICAgICAgICBtYXJnaW46IDIwcHg7CisgICAgICAgIHdpZHRoOiAyMDBw
eDsKKyAgICAgICAgaGVpZ2h0OiAyMDBweDsKKyAgICAgICAgcGFkZGluZzogMCAyMHB4OworICAg
ICAgfQorCisgICAgICAuY29tcG9zaXRlZCB7CisgICAgICAJLXdlYmtpdC10cmFuc2Zvcm06IHRy
YW5zbGF0ZTNkKDAsIDAsIDApOworICAgICAgfQorCisgICAgICAucm91bmRlZCB7CisgICAgICAJ
Ym9yZGVyLXJhZGl1czogODBweDsKKyAgICAgIH0KKyAgICAKKyAgICAgIC5jb21wYXJlIHsKKyAg
ICAgICAgbWFyZ2luLWxlZnQ6IDQwcHg7CisgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7CisgICAg
ICAgIHdpZHRoOiAyMDBweDsKKyAgICAgICAgaGVpZ2h0OiAyMDBweDsKKyAgICAgICAgYmFja2dy
b3VuZC1jb2xvcjogcmdiYSgwLCAxMjgsIDAsIDEuMCk7CisgICAgICB9CisgICAgPC9zdHlsZT4K
KyAgICA8c2NyaXB0PgorICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAg
ICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRXZWJHTEVuYWJsZWQiLCAi
MSIpOworICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KHRydWUpOworICAgICAgICB9
CisKKyAgICAgICAgZnVuY3Rpb24gaW5pdFdlYkdMKGNhbnZhc05hbWUsIHZzaGFkZXIsIGZzaGFk
ZXIsIGF0dHJpYnMsIGNsZWFyQ29sb3IsIGNsZWFyRGVwdGgpCisgICAgICAgIHsKKyAgICAgICAg
ICAgIHZhciBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChjYW52YXNOYW1lKTsKKyAg
ICAgICAgICAgIHZhciBnbCA9IGNhbnZhcy5nZXRDb250ZXh0KCJleHBlcmltZW50YWwtd2ViZ2wi
LCB7YWxwaGE6IGZhbHNlfSk7CisgICAgICAgICAgICBpZiAoIWdsKSB7CisgICAgICAgICAgICAg
ICAgYWxlcnQoIk5vIFdlYkdMIGNvbnRleHQgZm91bmQiKTsKKyAgICAgICAgICAgICAgICByZXR1
cm4gbnVsbDsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZ2wuY2xlYXJDb2xvcihjbGVh
ckNvbG9yWzBdLCBjbGVhckNvbG9yWzFdLCBjbGVhckNvbG9yWzJdLCBjbGVhckNvbG9yWzNdKTsK
KyAgICAgICAgICAgIGdsLmNsZWFyRGVwdGgoY2xlYXJEZXB0aCk7CisKKyAgICAgICAgICAgIHJl
dHVybiBnbDsKKyAgICAgICAgfQorCisgICAgICAgIGZ1bmN0aW9uIGRyYXdDYW52YXMoY2FudmFz
SUQpCisgICAgICAgIHsKKyAgICAgICAgICB2YXIgZ2wgPSBpbml0V2ViR0woY2FudmFzSUQsICIi
LCAiIiwgW10sIFsgMCwgLjUsIDAsIDAgXSwgMSk7CisgICAgICAgICAgZ2wudmlld3BvcnQoMCwg
MCwgMjAwLCAyMDApOworICAgICAgICAgIGdsLmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQgfCBn
bC5ERVBUSF9CVUZGRVJfQklUKTsKKyAgICAgICAgfQorCisgICAgICAgIGZ1bmN0aW9uIGluaXQo
KQorICAgICAgICB7CisgICAgICAgICAgZHJhd0NhbnZhcygnY2FudmFzJyk7CisgICAgICAgIH0K
KyAgICA8L3NjcmlwdD4KKyAgPC9oZWFkPgorICA8Ym9keSBvbmxvYWQ9ImluaXQoKSI+CisKKyAg
ICA8ZGl2IGNsYXNzPSJjb21wYXJlIGNvbXBvc2l0ZWQgcm91bmRlZCI+PC9kaXY+CisgICAgPGNh
bnZhcyBpZD0iY2FudmFzIiBjbGFzcz0iY29tcG9zaXRlZCByb3VuZGVkIiB3aWR0aD0iMjAwIiBo
ZWlnaHQ9IjIwMCI+PC9jYW52YXM+CisKKyAgICA8IS0tIFRvcCBhbmQgYm90dG9tIHNob3VsZCBs
b29rIHRoZSBzYW1lLiAtLT4KKyAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvY29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9jb21wb3NpdGVkLWJvcmRlci1yYWRpdXMt
ZGVzY2VuZGFudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9ib3JkZXIt
cmFkaXVzL2NvbXBvc2l0ZWQtYm9yZGVyLXJhZGl1cy1kZXNjZW5kYW50LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4zMTk4OTFjM2FlN2I5NWFkZWUwYzZmMjZiN2VmYTlkMDMzMTIyZWFkCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9jb21w
b3NpdGVkLWJvcmRlci1yYWRpdXMtZGVzY2VuZGFudC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MSBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkg
c2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyQmxvY2sg
e0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYwMAorICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4
LDgpIHNpemUgNzg0eDU4NAorbGF5ZXIgYXQgKDgsOCkgc2l6ZSAxMDB4MTAwCisgIFJlbmRlckJs
b2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMTAweDEwMAorbGF5ZXIgYXQgKDgsOCkgc2l6ZSAxMDB4
MTAwCisgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMTAweDEwMCBbYmdjb2xvcj0j
MDA4MDAwXQorICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2NvbXBvc2l0aW5nL2JvcmRlci1yYWRpdXMvY29tcG9zaXRlZC1ib3JkZXItcmFkaXVzLWRl
c2NlbmRhbnQtbGFyZ2UtcmFkaXVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NvbXBvc2l0
aW5nL2JvcmRlci1yYWRpdXMvY29tcG9zaXRlZC1ib3JkZXItcmFkaXVzLWRlc2NlbmRhbnQtbGFy
Z2UtcmFkaXVzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMTk4OTFjM2FlN2I5NWFkZWUwYzZm
MjZiN2VmYTlkMDMzMTIyZWFkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9z
aXRpbmcvYm9yZGVyLXJhZGl1cy9jb21wb3NpdGVkLWJvcmRlci1yYWRpdXMtZGVzY2VuZGFudC1s
YXJnZS1yYWRpdXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKK2xheWVyIGF0ICgwLDAp
IHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIg
YXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXpl
IDgwMHg2MDAKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKK2xh
eWVyIGF0ICg4LDgpIHNpemUgMTAweDEwMAorICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBz
aXplIDEwMHgxMDAKK2xheWVyIGF0ICg4LDgpIHNpemUgMTAweDEwMAorICBSZW5kZXJCbG9jayB7
RElWfSBhdCAoMCwwKSBzaXplIDEwMHgxMDAgW2JnY29sb3I9IzAwODAwMF0KKyAgICBSZW5kZXJJ
bmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgMHgwCisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgwLDApIHNpemUgMHgwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9ib3Jk
ZXItcmFkaXVzL2NvbXBvc2l0ZWQtYm9yZGVyLXJhZGl1cy1kZXNjZW5kYW50LWxhcmdlLXJhZGl1
cy5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9jb21wb3NpdGVk
LWJvcmRlci1yYWRpdXMtZGVzY2VuZGFudC1sYXJnZS1yYWRpdXMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5l
YzZjZjA1Y2FlMDg5ZjVlODAzZjE2MTNiYTFhZTYwNDhlNzIxODdiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9jb21wb3NpdGVkLWJvcmRl
ci1yYWRpdXMtZGVzY2VuZGFudC1sYXJnZS1yYWRpdXMuaHRtbApAQCAtMCwwICsxLDI3IEBACis8
aHRtbD4KKyAgPGhlYWQ+CisgICAgPHN0eWxlPgorCSAgLnJvdW5kZWQgeworCQlib3JkZXItcmFk
aXVzOiA2MHB4OworCQlvdmVyZmxvdzogaGlkZGVuOworCQlkaXNwbGF5OiBibG9jazsKKwkJd2lk
dGg6IDEwMHB4OworCSAgfQorCisJICAuY29tcG9zaXRlZCB7IC13ZWJraXQtdHJhbnNmb3JtOiB0
cmFuc2xhdGUzZCgwLCAwLCAwKTsgfQorCSAgLmdyZWVuIHsKKwkJd2lkdGg6IDEwMHB4OworCQlo
ZWlnaHQ6IDEwMHB4OworCQlkaXNwbGF5OiBibG9jazsKKwkJYmFja2dyb3VuZC1jb2xvcjogZ3Jl
ZW47CisJICB9CisJPC9zdHlsZT4KKyAgPC9oZWFkPgorICA8Ym9keT4KKwk8ZGl2IGNsYXNzPSJj
b21wb3NpdGVkIHJvdW5kZWQiPgorCSAgPGRpdiBjbGFzcz0iY29tcG9zaXRlZCBncmVlbiI+CisJ
CTxzcGFuPjwvc3Bhbj4KKwkgIDwvZGl2PgorCTwvZGl2PgorICA8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9z
aXRpbmcvYm9yZGVyLXJhZGl1cy9jb21wb3NpdGVkLWJvcmRlci1yYWRpdXMtZGVzY2VuZGFudC11
bmV2ZW4tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1
cy9jb21wb3NpdGVkLWJvcmRlci1yYWRpdXMtZGVzY2VuZGFudC11bmV2ZW4tZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjMxOTg5MWMzYWU3Yjk1YWRlZTBjNmYyNmI3ZWZhOWQwMzMxMjJlYWQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9ib3JkZXItcmFkaXVzL2Nv
bXBvc2l0ZWQtYm9yZGVyLXJhZGl1cy1kZXNjZW5kYW50LXVuZXZlbi1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMSBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcg
YXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVu
ZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYwMAorICAgIFJlbmRlckJvZHkge0JP
RFl9IGF0ICg4LDgpIHNpemUgNzg0eDU4NAorbGF5ZXIgYXQgKDgsOCkgc2l6ZSAxMDB4MTAwCisg
IFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMTAweDEwMAorbGF5ZXIgYXQgKDgsOCkg
c2l6ZSAxMDB4MTAwCisgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMTAweDEwMCBb
Ymdjb2xvcj0jMDA4MDAwXQorICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAw
eDAKKyAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2JvcmRlci1yYWRpdXMvY29tcG9zaXRlZC1ib3JkZXIt
cmFkaXVzLWRlc2NlbmRhbnQtdW5ldmVuLmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9i
b3JkZXItcmFkaXVzL2NvbXBvc2l0ZWQtYm9yZGVyLXJhZGl1cy1kZXNjZW5kYW50LXVuZXZlbi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjlkODJhM2Q5ZWI3ZTUxN2QxOWE3N2ZlMTcxZTRlZGI0YzIwNzFjZTgK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9ib3JkZXItcmFkaXVz
L2NvbXBvc2l0ZWQtYm9yZGVyLXJhZGl1cy1kZXNjZW5kYW50LXVuZXZlbi5odG1sCkBAIC0wLDAg
KzEsMzAgQEAKKzxodG1sPgorICA8aGVhZD4KKyAgICA8c3R5bGU+CisgICAgICAucm91bmRlZCB7
CisgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMTBweCAyMHB4IDMwcHg7CisgICAgICAgIG92ZXJm
bG93OiBoaWRkZW47CisgICAgICAgIGRpc3BsYXk6IGJsb2NrOworICAgICAgICB3aWR0aDogMTAw
cHg7CisgICAgICB9CisKKyAgICAgIC5jb21wb3NpdGVkIHsKKyAgICAgICAgLXdlYmtpdC10cmFu
c2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOworICAgICAgfQorCisgICAgICAuZ3JlZW4gewor
ICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIGRp
c3BsYXk6IGJsb2NrOworICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsKKyAgICAgIH0K
KyAgICA8L3N0eWxlPgorICA8L2hlYWQ+CisgIDxib2R5PgorICAgIDxkaXYgY2xhc3M9ImNvbXBv
c2l0ZWQgcm91bmRlZCI+CisgICAgICA8ZGl2IGNsYXNzPSJjb21wb3NpdGVkIGdyZWVuIj4KKyAg
ICAgICAgPHNwYW4+PC9zcGFuPgorICAgICAgPC9kaXY+CisgICAgPC9kaXY+CisgIDwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9jb21wb3NpdGluZy9ib3JkZXItcmFkaXVzL2NvbXBvc2l0ZWQtYm9yZGVyLXJhZGl1cy1k
ZXNjZW5kYW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9ib3JkZXItcmFkaXVzL2Nv
bXBvc2l0ZWQtYm9yZGVyLXJhZGl1cy1kZXNjZW5kYW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOThhNjY2
MjQ4NDU5YWUwMGNmMDFlNmI0NWZmNjZjNDBlOGIxNzVmNQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2NvbXBvc2l0aW5nL2JvcmRlci1yYWRpdXMvY29tcG9zaXRlZC1ib3JkZXItcmFk
aXVzLWRlc2NlbmRhbnQuaHRtbApAQCAtMCwwICsxLDMwIEBACis8aHRtbD4KKyAgPGhlYWQ+Cisg
ICAgPHN0eWxlPgorICAgICAgLnJvdW5kZWQgeworICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4
OworICAgICAgICBvdmVyZmxvdzogaGlkZGVuOworICAgICAgICBkaXNwbGF5OiBibG9jazsKKyAg
ICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgfQorCisgICAgICAuY29tcG9zaXRlZCB7CisgICAg
ICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsKKyAgICAgIH0KKwor
ICAgICAgLmdyZWVuIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICBkaXNwbGF5OiBibG9jazsKKyAgICAgICAgYmFja2dyb3VuZC1jb2xvcjog
Z3JlZW47CisgICAgICB9CisgICAgPC9zdHlsZT4KKyAgPC9oZWFkPgorICA8Ym9keT4KKyAgICA8
ZGl2IGNsYXNzPSJjb21wb3NpdGVkIHJvdW5kZWQiPgorICAgICAgPGRpdiBjbGFzcz0iY29tcG9z
aXRlZCBncmVlbiI+CisgICAgICAgIDxzcGFuPjwvc3Bhbj4KKyAgICAgIDwvZGl2PgorICAgIDwv
ZGl2PgorICA8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9jb21wb3NpdGVk
LWJvcmRlci1yYWRpdXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvYm9y
ZGVyLXJhZGl1cy9jb21wb3NpdGVkLWJvcmRlci1yYWRpdXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjVkODY1ZWQyNTYyMzgzZWZiODJhYzIwMGYyMzk0OTQ4YmE2NjAzMTcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9ib3JkZXItcmFkaXVzL2NvbXBvc2l0ZWQt
Ym9yZGVyLXJhZGl1cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMCBAQAorbGF5ZXIgYXQgKDAs
MCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXll
ciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNp
emUgODAweDYwMAorICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU4NAor
ICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSA3ODR4MAorbGF5ZXIgYXQgKDgs
OCkgc2l6ZSAxMDB4MTAwCisgIFJlbmRlckJsb2NrIChwb3NpdGlvbmVkKSB7RElWfSBhdCAoOCw4
KSBzaXplIDEwMHgxMDAgW2JnY29sb3I9IzAwODAwMF0KKyAgICBSZW5kZXJJbmxpbmUge1NQQU59
IGF0ICgwLDApIHNpemUgMHgwCisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUg
MHgwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9ib3JkZXItcmFkaXVzL2Nv
bXBvc2l0ZWQtYm9yZGVyLXJhZGl1cy5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvYm9y
ZGVyLXJhZGl1cy9jb21wb3NpdGVkLWJvcmRlci1yYWRpdXMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMjU5
OTZjY2QyOWI1NDc1NGMzMjI3NDZkOTM4MzkyYmZiMThmYWI4Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9jb21wb3NpdGVkLWJvcmRlci1y
YWRpdXMuaHRtbApAQCAtMCwwICsxLDI4IEBACis8aHRtbD4KKyAgPGhlYWQ+CisgICAgPHN0eWxl
PgorICAgICAgLnJvdW5kZWQgeworICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4OworICAgICAg
ICBkaXNwbGF5OiBibG9jazsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBwb3NpdGlv
bjogYWJzb2x1dGU7CisgICAgICB9CisKKyAgICAgIC5jb21wb3NpdGVkIHsgLXdlYmtpdC10cmFu
c2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9CisKKyAgICAgIC5ncmVlbiB7CisgICAgICAg
IHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgZGlzcGxheTog
YmxvY2s7CisgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGdyZWVuOworICAgICAgfQorICAgIDwv
c3R5bGU+CisgIDwvaGVhZD4KKyAgPGJvZHk+CisgICAgPGRpdj4KKyAgICAgIDxkaXYgY2xhc3M9
ImNvbXBvc2l0ZWQgZ3JlZW4gcm91bmRlZCI+CisgICAgICAgIDxzcGFuPjwvc3Bhbj4KKyAgICAg
IDwvZGl2PgorICAgIDwvZGl2PgorICA8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>203917</attachid>
            <date>2013-06-06 02:35:06 -0700</date>
            <delta_ts>2013-06-06 02:42:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-115613-20130606113338.patch</filename>
            <type>text/plain</type>
            <size>19334</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUxMDk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGZkZTE2NGFiNzZhYWU0
M2EwMTQ1M2E5MjgxYmEyNmM0NzMzNjI3OC4uZWUzMzkzNTMwZWU1NGU2ZWQyNjJkZmRiMDNhMmJm
OGUxMjQ1OTI1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDEzLTA1LTA1ICBOb2Ft
IFJvc2VudGhhbCAgPG5vYW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBHcmFwaGljc0xheWVycyBz
aG91bGQgYmUgYXdhcmUgb2Ygcm91bmRlZCByZWN0IGNsaXBwaW5nCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTU2MTMKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCB0aGUgbG9naWMgaW4gUmVuZGVy
TGF5ZXJCYWNraW5nIHRvIGZpZ3VyZSBvdXQgdGhlIGJvcmRlci1yYWRpdXMgY2xpcHBpbmcgZm9y
IGEgR3JhcGhpY3NMYXllci4KKyAgICAgICAgVGhpcyBpcyBkb25lIGJ5IGFkZGluZyBuZXcgcm91
bmRlZFJlY3RNYXNrL3NldFJvdW5kZWRSZWN0TWFzayBwcm9wZXJ0aWVzIHRvIEdyYXBoaWNzTGF5
ZXIuCisKKyAgICAgICAgTm90ZSB0aGF0IHRoaXMgaXMgbm90IGNvbXBsZXRlLCBhcyBpdCBkb2Vz
IG5vdCBjb3ZlciB0aGUgY2FzZSB3aGVyZSB0aGUgbGF5ZXIgd2hpY2ggaGFzIHRoZSBib3JkZXIg
cmFkaXVzIGlzIG5vdCBjb21wb3NpdGVkIGJ1dCBpcyBhbiBhbmNlc3RvciBmb3Igb3RoZXIgY29t
cG9zaXRpbmcgbGF5ZXJzLgorICAgICAgICBUaGlzIHdvdWxkIGhhdmUgdG8gYmUgZG9uZSBieSBt
YWtpbmcgdGhvc2Ugcm91bmRlZC1yZWN0IGxheWVycyBjb21wb3NpdGVkLCBhcyB0aGUgQ2xpcFJl
Y3RzCisgICAgICAgIGNvbnRleHQgY2Fubm90IGludGVyc2VjdCBtdWx0aXBsZSByb3VuZGVkIHJl
Y3RzLgorCisgICAgICAgIFRlc3RzOiBjb21wb3NpdGluZy9ib3JkZXItcmFkaXVzL2JvcmRlci1y
YWRpdXMtd2ViZ2wuaHRtbAorICAgICAgICAgICAgICAgY29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1
cy9jb21wb3NpdGVkLWJvcmRlci1yYWRpdXMtZGVzY2VuZGFudC1sYXJnZS1yYWRpdXMuaHRtbAor
ICAgICAgICAgICAgICAgY29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9jb21wb3NpdGVkLWJvcmRl
ci1yYWRpdXMtZGVzY2VuZGFudC11bmV2ZW4uaHRtbAorICAgICAgICAgICAgICAgY29tcG9zaXRp
bmcvYm9yZGVyLXJhZGl1cy9jb21wb3NpdGVkLWJvcmRlci1yYWRpdXMtZGVzY2VuZGFudC5odG1s
CisgICAgICAgICAgICAgICBjb21wb3NpdGluZy9ib3JkZXItcmFkaXVzL2NvbXBvc2l0ZWQtYm9y
ZGVyLXJhZGl1cy5odG1sCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xh
eWVyLmg6CisgICAgICAgIChHcmFwaGljc0xheWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBo
aWNzTGF5ZXI6OnNldENoaWxkcmVuUm91bmRlZFJlY3RNYXNrKToKKyAgICAgICAgKFdlYkNvcmU6
OkdyYXBoaWNzTGF5ZXI6OnNldENvbnRlbnRzUm91bmRlZFJlY3RNYXNrKToKKyAgICAgICAgKFdl
YkNvcmU6OkdyYXBoaWNzTGF5ZXI6OmNoaWxkcmVuUm91bmRlZFJlY3RNYXNrKToKKyAgICAgICAg
KFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OmNvbnRlbnRzUm91bmRlZFJlY3RNYXNrKToKKyAgICAg
ICAgICAgIEFkZCByb3VuZGVkUmVjdE1hc2sgcHJvcGVydHkgdG8gR3JhcGhpY3NMYXllci4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Sb3VuZGVkUmVjdC5oOgorICAgICAgICAoUm91bmRl
ZFJlY3QpOgorICAgICAgICAgICAgQWRkZWQgYSBkZWZhdWx0IGNvbnN0cnVjdG9yIGZvciBSb3Vu
ZGVkUmVjdC4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6cm91bmRlZFJlY3RNYXNrKToKKyAgICAgICAgKFdlYkNvcmUpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVHcmFwaGljc0xheWVy
R2VvbWV0cnkpOgorICAgICAgICAgICAgQ2FsY3VsYXRlIHRoZSByb3VuZGVkUmVjdCBtYXNrIGZv
ciB0aGUgR3JhcGhpY3NMYXllciB3aGVuIGNvbXB1dGluZyBpdHMgY2xpcCBwcm9wZXJ0aWVzLgor
CiAyMDEzLTA2LTAzICBOb2FtIFJvc2VudGhhbCAgPG5vYW1Ad2Via2l0Lm9yZz4KIAogICAgICAg
ICBSZWZhY3RvciB0aGUgY29kZSB0aGF0IGRlY2lkZXMgd2hldGhlciB0byBlbmFibGUgV2ViR0wg
ZnJvbSBzZXR0aW5ncyB0byBoZWxwZXIgZnVuY3Rpb25zCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmgKaW5kZXggMTZkYzA3ZmViYjdjOGQ4MmU3
ZDkyN2Q3NjNhN2UwMTViYTg3OWY1Yi4uMjgyN2FhNTdkZjVmMjAzM2M0NWU1N2UyNDE5N2FiY2Mw
YTgwZGIwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3Jh
cGhpY3NMYXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBo
aWNzTGF5ZXIuaApAQCAtMzYsNiArMzYsNyBAQAogI2luY2x1ZGUgIkdyYXBoaWNzTGF5ZXJDbGll
bnQuaCIKICNpbmNsdWRlICJJbnRSZWN0LmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1MYXllci5oIgor
I2luY2x1ZGUgIlJvdW5kZWRSZWN0LmgiCiAjaW5jbHVkZSAiVHJhbnNmb3JtT3BlcmF0aW9ucy5o
IgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgpA
QCAtMzA5LDcgKzMxMCwxNSBAQCBwdWJsaWM6CiAgICAgCiAgICAgYm9vbCBtYXNrc1RvQm91bmRz
KCkgY29uc3QgeyByZXR1cm4gbV9tYXNrc1RvQm91bmRzOyB9CiAgICAgdmlydHVhbCB2b2lkIHNl
dE1hc2tzVG9Cb3VuZHMoYm9vbCBiKSB7IG1fbWFza3NUb0JvdW5kcyA9IGI7IH0KLSAgICAKKwor
ICAgIHZpcnR1YWwgdm9pZCBzZXRDaGlsZHJlblJvdW5kZWRSZWN0TWFzayhjb25zdCBSb3VuZGVk
UmVjdCYgcikgeyBtX2NoaWxkcmVuUm91bmRlZFJlY3RNYXNrID0gcjsgfQorICAgIGNvbnN0IFJv
dW5kZWRSZWN0JiBjaGlsZHJlblJvdW5kZWRSZWN0TWFzaygpIGNvbnN0IHsgcmV0dXJuIG1fY2hp
bGRyZW5Sb3VuZGVkUmVjdE1hc2s7IH0KKworICAgIC8vIFRoaXMgbWFza3MgdGhlIGxheWVyJ3Mg
ZGlyZWN0IGNvbXBvc2l0ZWQgY29udGVudHMgKGNhbnZhcywgdmlkZW8sIHBsdWdpbiwgaW1hZ2Up
LgorICAgIC8vIE5vdGUgdGhhdCB0aGUgbGF5ZXIncyBiYWNraW5nLXN0b3JlIGNvbnRlbnRzIGFs
cmVhZHkgaW5jbHVkZSB0aGUgcm91bmRpbmcuCisgICAgdmlydHVhbCB2b2lkIHNldENvbnRlbnRz
Um91bmRlZFJlY3RNYXNrKGNvbnN0IFJvdW5kZWRSZWN0JiByKSB7IG1fY29udGVudHNSb3VuZGVk
UmVjdE1hc2sgPSByOyB9CisgICAgY29uc3QgUm91bmRlZFJlY3QmIGNvbnRlbnRzUm91bmRlZFJl
Y3RNYXNrKCkgY29uc3QgeyByZXR1cm4gbV9jb250ZW50c1JvdW5kZWRSZWN0TWFzazsgfQorCiAg
ICAgYm9vbCBkcmF3c0NvbnRlbnQoKSBjb25zdCB7IHJldHVybiBtX2RyYXdzQ29udGVudDsgfQog
ICAgIHZpcnR1YWwgdm9pZCBzZXREcmF3c0NvbnRlbnQoYm9vbCBiKSB7IG1fZHJhd3NDb250ZW50
ID0gYjsgfQogCkBAIC01NzIsNiArNTgxLDkgQEAgcHJvdGVjdGVkOgogICAgIEludFBvaW50IG1f
Y29udGVudHNUaWxlUGhhc2U7CiAgICAgSW50U2l6ZSBtX2NvbnRlbnRzVGlsZVNpemU7CiAKKyAg
ICBSb3VuZGVkUmVjdCBtX2NoaWxkcmVuUm91bmRlZFJlY3RNYXNrOworICAgIFJvdW5kZWRSZWN0
IG1fY29udGVudHNSb3VuZGVkUmVjdE1hc2s7CisKICAgICBpbnQgbV9yZXBhaW50Q291bnQ7CiB9
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Sb3VuZGVk
UmVjdC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUm91bmRlZFJlY3QuaApp
bmRleCBkOTIzZTM1M2Y0OGFiOThkZTkxNTc3MzYzYmE2MzRjNzhhOWMyMzAzLi5jOGJmY2U1ZDMw
NzM4Yzc2MWI4NDZiYTAyZGVhMDQyZTgwZTA0MTE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9Sb3VuZGVkUmVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL1JvdW5kZWRSZWN0LmgKQEAgLTczLDcgKzczLDcgQEAgcHVibGljOgog
ICAgICAgICBJbnRTaXplIG1fYm90dG9tUmlnaHQ7CiAgICAgfTsKIAotICAgIGV4cGxpY2l0IFJv
dW5kZWRSZWN0KGNvbnN0IEludFJlY3QmLCBjb25zdCBSYWRpaSYgPSBSYWRpaSgpKTsKKyAgICBl
eHBsaWNpdCBSb3VuZGVkUmVjdChjb25zdCBJbnRSZWN0JiA9IEludFJlY3QoKSwgY29uc3QgUmFk
aWkmID0gUmFkaWkoKSk7CiAgICAgUm91bmRlZFJlY3QoaW50IHgsIGludCB5LCBpbnQgd2lkdGgs
IGludCBoZWlnaHQpOwogICAgIFJvdW5kZWRSZWN0KGNvbnN0IEludFJlY3QmLCBjb25zdCBJbnRT
aXplJiB0b3BMZWZ0LCBjb25zdCBJbnRTaXplJiB0b3BSaWdodCwgY29uc3QgSW50U2l6ZSYgYm90
dG9tTGVmdCwgY29uc3QgSW50U2l6ZSYgYm90dG9tUmlnaHQpOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwCmluZGV4IDgwN2ZkOGYxMWY3NTM1
MThjM2M5NDJjMWEyNDJmYzA3MjJkMzFjYjkuLmRhZmQ5YTk0MDk0Zjg3NWViZGRlYWFjNmFjNmNi
Y2FiN2U2ZWI3MTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllckJhY2tpbmcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXll
ckJhY2tpbmcuY3BwCkBAIC01ODcsNiArNTg3LDE1IEBAIGJvb2wgUmVuZGVyTGF5ZXJCYWNraW5n
Ojp1cGRhdGVHcmFwaGljc0xheWVyQ29uZmlndXJhdGlvbigpCiAgICAgcmV0dXJuIGxheWVyQ29u
ZmlnQ2hhbmdlZDsKIH0KIAorc3RhdGljIFJvdW5kZWRSZWN0IHJvdW5kZWRSZWN0TWFzayhjb25z
dCBSZW5kZXJPYmplY3QqIHJlbmRlcmVyKQoreworICAgIGNvbnN0IFJlbmRlclN0eWxlKiBzdHls
ZSA9IHJlbmRlcmVyLT5zdHlsZSgpOworICAgIGlmICghc3R5bGUtPmhhc0JvcmRlclJhZGl1cygp
KQorICAgICAgICByZXR1cm4gUm91bmRlZFJlY3QoKTsKKworICAgIHJldHVybiBzdHlsZS0+Z2V0
Um91bmRlZEJvcmRlckZvcih0b1JlbmRlckJveChyZW5kZXJlciktPnBpeGVsU25hcHBlZEJvcmRl
ckJveFJlY3QoKSk7Cit9CisKIHN0YXRpYyBJbnRSZWN0IGNsaXBCb3goUmVuZGVyQm94KiByZW5k
ZXJlcikKIHsKICAgICBMYXlvdXRSZWN0IHJlc3VsdCA9IFBhaW50SW5mbzo6aW5maW5pdGVSZWN0
KCk7CkBAIC02NzAsMTMgKzY3OSwxNCBAQCB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRl
R3JhcGhpY3NMYXllckdlb21ldHJ5KCkKICAgICAgICAgSW50UG9pbnQgc2Nyb2xsT3JpZ2luKHJl
bmRlckJveC0+Ym9yZGVyTGVmdCgpLCByZW5kZXJCb3gtPmJvcmRlclRvcCgpKTsKICAgICAgICAg
Z3JhcGhpY3NMYXllclBhcmVudExvY2F0aW9uID0gc2Nyb2xsT3JpZ2luIC0gc2Nyb2xsT2Zmc2V0
OwogICAgIH0KLSAgICAKKwogICAgIGlmIChjb21wQW5jZXN0b3IgJiYgbV9hbmNlc3RvckNsaXBw
aW5nTGF5ZXIpIHsKICAgICAgICAgLy8gQ2FsbCBjYWxjdWxhdGVSZWN0cyB0byBnZXQgdGhlIGJh
Y2tncm91bmRSZWN0IHdoaWNoIGlzIHdoYXQgaXMgdXNlZCB0byBjbGlwIHRoZSBjb250ZW50cyBv
ZiB0aGlzCiAgICAgICAgIC8vIGxheWVyLiBOb3RlIHRoYXQgd2UgY2FsbCBpdCB3aXRoIHRlbXBv
cmFyeUNsaXBSZWN0cyA9IHRydWUgYmVjYXVzZSBub3JtYWxseSB3aGVuIGNvbXB1dGluZyBjbGlw
IHJlY3RzCiAgICAgICAgIC8vIGZvciBhIGNvbXBvc2l0aW5nIGxheWVyLCByb290TGF5ZXIgaXMg
dGhlIGxheWVyIGl0c2VsZi4KICAgICAgICAgUmVuZGVyTGF5ZXI6OkNsaXBSZWN0c0NvbnRleHQg
Y2xpcFJlY3RzQ29udGV4dChjb21wQW5jZXN0b3IsIDAsIFRlbXBvcmFyeUNsaXBSZWN0cywgSWdu
b3JlT3ZlcmxheVNjcm9sbGJhclNpemUsIElnbm9yZU92ZXJmbG93Q2xpcCk7CiAgICAgICAgIElu
dFJlY3QgcGFyZW50Q2xpcFJlY3QgPSBwaXhlbFNuYXBwZWRJbnRSZWN0KG1fb3duaW5nTGF5ZXIt
PmJhY2tncm91bmRDbGlwUmVjdChjbGlwUmVjdHNDb250ZXh0KS5yZWN0KCkpOyAvLyBGSVhNRTog
SW5jb3JyZWN0IGZvciBDU1MgcmVnaW9ucy4KKyAgICAgICAgUm91bmRlZFJlY3Qgcm91bmRlZFJl
Y3QgPSByb3VuZGVkUmVjdE1hc2soY29tcEFuY2VzdG9yLT5yZW5kZXJlcigpKTsKICAgICAgICAg
QVNTRVJUKHBhcmVudENsaXBSZWN0ICE9IFBhaW50SW5mbzo6aW5maW5pdGVSZWN0KCkpOwogICAg
ICAgICBtX2FuY2VzdG9yQ2xpcHBpbmdMYXllci0+c2V0UG9zaXRpb24oRmxvYXRQb2ludChwYXJl
bnRDbGlwUmVjdC5sb2NhdGlvbigpIC0gZ3JhcGhpY3NMYXllclBhcmVudExvY2F0aW9uKSk7CiAg
ICAgICAgIG1fYW5jZXN0b3JDbGlwcGluZ0xheWVyLT5zZXRTaXplKHBhcmVudENsaXBSZWN0LnNp
emUoKSk7CkBAIC03MTYsNiArNzI2LDkgQEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0
ZUdyYXBoaWNzTGF5ZXJHZW9tZXRyeSgpCiAgICAgICAgIG1fZ3JhcGhpY3NMYXllci0+c2V0Q29u
dGVudHNPcGFxdWUobV9vd25pbmdMYXllci0+YmFja2dyb3VuZElzS25vd25Ub0JlT3BhcXVlSW5S
ZWN0KGxvY2FsQ29tcG9zaXRpbmdCb3VuZHMpKTsKICAgICB9CiAKKyAgICBSb3VuZGVkUmVjdCBy
b3VuZGVkUmVjdCA9IHJvdW5kZWRSZWN0TWFzayhyZW5kZXJlcigpKTsKKyAgICBtX2dyYXBoaWNz
TGF5ZXItPnNldENvbnRlbnRzUm91bmRlZFJlY3RNYXNrKHJvdW5kZWRSZWN0KTsKKwogICAgIC8v
IElmIHdlIGhhdmUgYSBsYXllciB0aGF0IGNsaXBzIGNoaWxkcmVuLCBwb3NpdGlvbiBpdC4KICAg
ICBJbnRSZWN0IGNsaXBwaW5nQm94OwogICAgIGlmIChHcmFwaGljc0xheWVyKiBjbGlwTGF5ZXIg
PSBjbGlwcGluZ0xheWVyKCkpIHsKQEAgLTcyMyw2ICs3MzYsNyBAQCB2b2lkIFJlbmRlckxheWVy
QmFja2luZzo6dXBkYXRlR3JhcGhpY3NMYXllckdlb21ldHJ5KCkKICAgICAgICAgY2xpcExheWVy
LT5zZXRQb3NpdGlvbihGbG9hdFBvaW50KGNsaXBwaW5nQm94LmxvY2F0aW9uKCkgLSBsb2NhbENv
bXBvc2l0aW5nQm91bmRzLmxvY2F0aW9uKCkpKTsKICAgICAgICAgY2xpcExheWVyLT5zZXRTaXpl
KGNsaXBwaW5nQm94LnNpemUoKSk7CiAgICAgICAgIGNsaXBMYXllci0+c2V0T2Zmc2V0RnJvbVJl
bmRlcmVyKHRvSW50U2l6ZShjbGlwcGluZ0JveC5sb2NhdGlvbigpKSk7CisgICAgICAgIGNsaXBM
YXllci0+c2V0Q2hpbGRyZW5Sb3VuZGVkUmVjdE1hc2socm91bmRlZFJlY3QpOwogICAgIH0KICAg
ICAKICAgICBpZiAobV9tYXNrTGF5ZXIpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA5MzE4NjUyMzdlZGRmNjY1MjZmNTc5
MmVkNjIxOTBjM2U4ZWY3ZGQ4Li4zN2VmYTFjYzAzMjA1MTY4ZTRkYzE0Mzk4NjE1Mjc3ZTIxZjQz
ZjJjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTMtMDUtMDUgIE5vYW0gUm9zZW50aGFsICA8
bm9hbUB3ZWJraXQub3JnPgorCisgICAgICAgIEdyYXBoaWNzTGF5ZXJzIHNob3VsZCBiZSBhd2Fy
ZSBvZiByb3VuZGVkIHJlY3QgY2xpcHBpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTExNTYxMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEFkZGVkIGEgZmV3IHRlc3RzIGZvciBjb21wb3NpdGluZy9ib3Jk
ZXItcmFkaXVzLiBGb3Igbm93IHRob3NlIHRlc3RzIGFyZSBtYXJrZWQgYXMgaGF2aW5nCisgICAg
ICAgIG1pc3NpbmcgaW1hZ2VzLCB1bnRpbCB0aGUgY29tcG9zaXRvcnMgY2FuIHByb2R1Y2UgdGhl
IHJpZ2h0IGltYWdlIHJlc3VsdHMuCisKKyAgICAgICAgKiBUZXN0RXhwZWN0YXRpb25zOiBBZGRl
ZCBleHBlY3RhdGlvbnMgZm9yIG5ldyB0ZXN0cy4KKyAgICAgICAgKiBjb21wb3NpdGluZy9ib3Jk
ZXItcmFkaXVzL2JvcmRlci1yYWRpdXMtd2ViZ2wuaHRtbDogQWRkZWQuCisgICAgICAgICogY29t
cG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9jb21wb3NpdGVkLWJvcmRlci1yYWRpdXMtZGVzY2VuZGFu
dC1sYXJnZS1yYWRpdXMuaHRtbDogQWRkZWQuCisgICAgICAgICogY29tcG9zaXRpbmcvYm9yZGVy
LXJhZGl1cy9jb21wb3NpdGVkLWJvcmRlci1yYWRpdXMtZGVzY2VuZGFudC11bmV2ZW4uaHRtbDog
QWRkZWQuCisgICAgICAgICogY29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9jb21wb3NpdGVkLWJv
cmRlci1yYWRpdXMtZGVzY2VuZGFudC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjb21wb3NpdGlu
Zy9ib3JkZXItcmFkaXVzL2NvbXBvc2l0ZWQtYm9yZGVyLXJhZGl1cy5odG1sOiBBZGRlZC4KKwog
MjAxMy0wNi0wMyAgQ2hyaXN0b3BoZSBEdW1leiAgPGNoLmR1bWV6QHNpc2Euc2Ftc3VuZy5jb20+
CiAKICAgICAgICAgVW5yZXZpZXdlZCBFRkwgZ2FyZGVuaW5nLgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKaW5k
ZXggMmM3ZDg3MTI3YTczZjJiMDM5YjM0MmZlNTY5NjlhMjVmZjY4ODQwMC4uYTVhMjA5ZjIyZTRk
OWI3MzdlYTI1MmE2ZGY0YTUxNzkzNTI4YTkyYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvVGVz
dEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBAIC0xNSwz
ICsxNSw2IEBAIHdlYmtpdC5vcmcvYi8xMTY0NzMgZWRpdGluZy9zZWxlY3Rpb24vdXNlci1kcmFn
LWVsZW1lbnQtYW5kLXVzZXItc2VsZWN0LW5vbmUuaHRtCiAKICMgbWVkaWEvVzNDL3ZpZGVvL25l
dHdvcmtTdGF0ZS9uZXR3b3JrU3RhdGVfZHVyaW5nX3Byb2dyZXNzLmh0bWwgaXMgZmxha3kKIHdl
YmtpdC5vcmcvYi83NjI4MCBtZWRpYS9XM0MvdmlkZW8vbmV0d29ya1N0YXRlL25ldHdvcmtTdGF0
ZV9kdXJpbmdfcHJvZ3Jlc3MuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCisKKyMgcGVuZGluZyBib3Jk
ZXIgcmFkaXVzIGluIGNvbXBvc2l0b3JzCit3ZWJraXQub3JnL2IvMTE1NjE0IGNvbXBvc2l0aW5n
L2JvcmRlci1yYWRpdXMgWyBQYXNzIE1pc3NpbmcgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Y29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9ib3JkZXItcmFkaXVzLXdlYmdsLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2JvcmRlci1yYWRpdXMvYm9yZGVyLXJhZGl1cy13
ZWJnbC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGIxMzc4OTE3OTFmZTk2OTI3YWQ3OGU2NGIw
YWFkN2JkZWQwOGJkYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5n
L2JvcmRlci1yYWRpdXMvYm9yZGVyLXJhZGl1cy13ZWJnbC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSBAQAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9ib3JkZXItcmFkaXVz
L2JvcmRlci1yYWRpdXMtd2ViZ2wuaHRtbCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2JvcmRl
ci1yYWRpdXMvYm9yZGVyLXJhZGl1cy13ZWJnbC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI5OTlkOGRhNTIw
NmUyNWVkYmY2MTgxY2VkZTIxYTlmOWQzMjlkMGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9jb21wb3NpdGluZy9ib3JkZXItcmFkaXVzL2JvcmRlci1yYWRpdXMtd2ViZ2wuaHRtbApA
QCAtMCwwICsxLDcxIEBACis8aHRtbD4KKyAgPGhlYWQ+CisgICAgPHN0eWxlIHR5cGU9InRleHQv
Y3NzIiBtZWRpYT0ic2NyZWVuIj4KKyAgICAgIGJvZHkgeworICAgICAgICBvdXRsaW5lOiAxMHB4
IHNvbGlkIHRyYW5zcGFyZW50OyAvKiBhZmZlY3RzIGxheWVyIHNpemVzICovCisgICAgICB9Cisg
ICAgICBjYW52YXMgeworICAgICAgICBtYXJnaW46IDIwcHg7CisgICAgICAgIHdpZHRoOiAyMDBw
eDsKKyAgICAgICAgaGVpZ2h0OiAyMDBweDsKKyAgICAgICAgcGFkZGluZzogMCAyMHB4OworICAg
ICAgfQorCisgICAgICAuY29tcG9zaXRlZCB7CisgICAgICAJLXdlYmtpdC10cmFuc2Zvcm06IHRy
YW5zbGF0ZTNkKDAsIDAsIDApOworICAgICAgfQorCisgICAgICAucm91bmRlZCB7CisgICAgICAJ
Ym9yZGVyLXJhZGl1czogODBweDsKKyAgICAgIH0KKyAgICAKKyAgICAgIC5jb21wYXJlIHsKKyAg
ICAgICAgbWFyZ2luLWxlZnQ6IDQwcHg7CisgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7CisgICAg
ICAgIHdpZHRoOiAyMDBweDsKKyAgICAgICAgaGVpZ2h0OiAyMDBweDsKKyAgICAgICAgYmFja2dy
b3VuZC1jb2xvcjogcmdiYSgwLCAxMjgsIDAsIDEuMCk7CisgICAgICB9CisgICAgPC9zdHlsZT4K
KyAgICA8c2NyaXB0PgorICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAg
ICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRXZWJHTEVuYWJsZWQiLCAi
MSIpOworICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KHRydWUpOworICAgICAgICB9
CisKKyAgICAgICAgZnVuY3Rpb24gaW5pdFdlYkdMKGNhbnZhc05hbWUsIHZzaGFkZXIsIGZzaGFk
ZXIsIGF0dHJpYnMsIGNsZWFyQ29sb3IsIGNsZWFyRGVwdGgpCisgICAgICAgIHsKKyAgICAgICAg
ICAgIHZhciBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChjYW52YXNOYW1lKTsKKyAg
ICAgICAgICAgIHZhciBnbCA9IGNhbnZhcy5nZXRDb250ZXh0KCJleHBlcmltZW50YWwtd2ViZ2wi
LCB7YWxwaGE6IGZhbHNlfSk7CisgICAgICAgICAgICBpZiAoIWdsKSB7CisgICAgICAgICAgICAg
ICAgYWxlcnQoIk5vIFdlYkdMIGNvbnRleHQgZm91bmQiKTsKKyAgICAgICAgICAgICAgICByZXR1
cm4gbnVsbDsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZ2wuY2xlYXJDb2xvcihjbGVh
ckNvbG9yWzBdLCBjbGVhckNvbG9yWzFdLCBjbGVhckNvbG9yWzJdLCBjbGVhckNvbG9yWzNdKTsK
KyAgICAgICAgICAgIGdsLmNsZWFyRGVwdGgoY2xlYXJEZXB0aCk7CisKKyAgICAgICAgICAgIHJl
dHVybiBnbDsKKyAgICAgICAgfQorCisgICAgICAgIGZ1bmN0aW9uIGRyYXdDYW52YXMoY2FudmFz
SUQpCisgICAgICAgIHsKKyAgICAgICAgICB2YXIgZ2wgPSBpbml0V2ViR0woY2FudmFzSUQsICIi
LCAiIiwgW10sIFsgMCwgLjUsIDAsIDAgXSwgMSk7CisgICAgICAgICAgZ2wudmlld3BvcnQoMCwg
MCwgMjAwLCAyMDApOworICAgICAgICAgIGdsLmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQgfCBn
bC5ERVBUSF9CVUZGRVJfQklUKTsKKyAgICAgICAgfQorCisgICAgICAgIGZ1bmN0aW9uIGluaXQo
KQorICAgICAgICB7CisgICAgICAgICAgZHJhd0NhbnZhcygnY2FudmFzJyk7CisgICAgICAgIH0K
KyAgICA8L3NjcmlwdD4KKyAgPC9oZWFkPgorICA8Ym9keSBvbmxvYWQ9ImluaXQoKSI+CisKKyAg
ICA8ZGl2IGNsYXNzPSJjb21wYXJlIGNvbXBvc2l0ZWQgcm91bmRlZCI+PC9kaXY+CisgICAgPGNh
bnZhcyBpZD0iY2FudmFzIiBjbGFzcz0iY29tcG9zaXRlZCByb3VuZGVkIiB3aWR0aD0iMjAwIiBo
ZWlnaHQ9IjIwMCI+PC9jYW52YXM+CisKKyAgICA8IS0tIFRvcCBhbmQgYm90dG9tIHNob3VsZCBs
b29rIHRoZSBzYW1lLiAtLT4KKyAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvY29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9jb21wb3NpdGVkLWJvcmRlci1yYWRpdXMt
ZGVzY2VuZGFudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9ib3JkZXIt
cmFkaXVzL2NvbXBvc2l0ZWQtYm9yZGVyLXJhZGl1cy1kZXNjZW5kYW50LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4zMTk4OTFjM2FlN2I5NWFkZWUwYzZmMjZiN2VmYTlkMDMzMTIyZWFkCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9jb21w
b3NpdGVkLWJvcmRlci1yYWRpdXMtZGVzY2VuZGFudC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MSBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkg
c2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyQmxvY2sg
e0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYwMAorICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4
LDgpIHNpemUgNzg0eDU4NAorbGF5ZXIgYXQgKDgsOCkgc2l6ZSAxMDB4MTAwCisgIFJlbmRlckJs
b2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMTAweDEwMAorbGF5ZXIgYXQgKDgsOCkgc2l6ZSAxMDB4
MTAwCisgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMTAweDEwMCBbYmdjb2xvcj0j
MDA4MDAwXQorICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2NvbXBvc2l0aW5nL2JvcmRlci1yYWRpdXMvY29tcG9zaXRlZC1ib3JkZXItcmFkaXVzLWRl
c2NlbmRhbnQtbGFyZ2UtcmFkaXVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NvbXBvc2l0
aW5nL2JvcmRlci1yYWRpdXMvY29tcG9zaXRlZC1ib3JkZXItcmFkaXVzLWRlc2NlbmRhbnQtbGFy
Z2UtcmFkaXVzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMTk4OTFjM2FlN2I5NWFkZWUwYzZm
MjZiN2VmYTlkMDMzMTIyZWFkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9z
aXRpbmcvYm9yZGVyLXJhZGl1cy9jb21wb3NpdGVkLWJvcmRlci1yYWRpdXMtZGVzY2VuZGFudC1s
YXJnZS1yYWRpdXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKK2xheWVyIGF0ICgwLDAp
IHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIg
YXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXpl
IDgwMHg2MDAKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKK2xh
eWVyIGF0ICg4LDgpIHNpemUgMTAweDEwMAorICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBz
aXplIDEwMHgxMDAKK2xheWVyIGF0ICg4LDgpIHNpemUgMTAweDEwMAorICBSZW5kZXJCbG9jayB7
RElWfSBhdCAoMCwwKSBzaXplIDEwMHgxMDAgW2JnY29sb3I9IzAwODAwMF0KKyAgICBSZW5kZXJJ
bmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgMHgwCisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgwLDApIHNpemUgMHgwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9ib3Jk
ZXItcmFkaXVzL2NvbXBvc2l0ZWQtYm9yZGVyLXJhZGl1cy1kZXNjZW5kYW50LWxhcmdlLXJhZGl1
cy5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9jb21wb3NpdGVk
LWJvcmRlci1yYWRpdXMtZGVzY2VuZGFudC1sYXJnZS1yYWRpdXMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5l
YzZjZjA1Y2FlMDg5ZjVlODAzZjE2MTNiYTFhZTYwNDhlNzIxODdiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9jb21wb3NpdGVkLWJvcmRl
ci1yYWRpdXMtZGVzY2VuZGFudC1sYXJnZS1yYWRpdXMuaHRtbApAQCAtMCwwICsxLDI3IEBACis8
aHRtbD4KKyAgPGhlYWQ+CisgICAgPHN0eWxlPgorCSAgLnJvdW5kZWQgeworCQlib3JkZXItcmFk
aXVzOiA2MHB4OworCQlvdmVyZmxvdzogaGlkZGVuOworCQlkaXNwbGF5OiBibG9jazsKKwkJd2lk
dGg6IDEwMHB4OworCSAgfQorCisJICAuY29tcG9zaXRlZCB7IC13ZWJraXQtdHJhbnNmb3JtOiB0
cmFuc2xhdGUzZCgwLCAwLCAwKTsgfQorCSAgLmdyZWVuIHsKKwkJd2lkdGg6IDEwMHB4OworCQlo
ZWlnaHQ6IDEwMHB4OworCQlkaXNwbGF5OiBibG9jazsKKwkJYmFja2dyb3VuZC1jb2xvcjogZ3Jl
ZW47CisJICB9CisJPC9zdHlsZT4KKyAgPC9oZWFkPgorICA8Ym9keT4KKwk8ZGl2IGNsYXNzPSJj
b21wb3NpdGVkIHJvdW5kZWQiPgorCSAgPGRpdiBjbGFzcz0iY29tcG9zaXRlZCBncmVlbiI+CisJ
CTxzcGFuPjwvc3Bhbj4KKwkgIDwvZGl2PgorCTwvZGl2PgorICA8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9z
aXRpbmcvYm9yZGVyLXJhZGl1cy9jb21wb3NpdGVkLWJvcmRlci1yYWRpdXMtZGVzY2VuZGFudC11
bmV2ZW4tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1
cy9jb21wb3NpdGVkLWJvcmRlci1yYWRpdXMtZGVzY2VuZGFudC11bmV2ZW4tZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjMxOTg5MWMzYWU3Yjk1YWRlZTBjNmYyNmI3ZWZhOWQwMzMxMjJlYWQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9ib3JkZXItcmFkaXVzL2Nv
bXBvc2l0ZWQtYm9yZGVyLXJhZGl1cy1kZXNjZW5kYW50LXVuZXZlbi1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMSBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcg
YXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVu
ZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYwMAorICAgIFJlbmRlckJvZHkge0JP
RFl9IGF0ICg4LDgpIHNpemUgNzg0eDU4NAorbGF5ZXIgYXQgKDgsOCkgc2l6ZSAxMDB4MTAwCisg
IFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMTAweDEwMAorbGF5ZXIgYXQgKDgsOCkg
c2l6ZSAxMDB4MTAwCisgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMTAweDEwMCBb
Ymdjb2xvcj0jMDA4MDAwXQorICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAw
eDAKKyAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2JvcmRlci1yYWRpdXMvY29tcG9zaXRlZC1ib3JkZXIt
cmFkaXVzLWRlc2NlbmRhbnQtdW5ldmVuLmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9i
b3JkZXItcmFkaXVzL2NvbXBvc2l0ZWQtYm9yZGVyLXJhZGl1cy1kZXNjZW5kYW50LXVuZXZlbi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjlkODJhM2Q5ZWI3ZTUxN2QxOWE3N2ZlMTcxZTRlZGI0YzIwNzFjZTgK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9ib3JkZXItcmFkaXVz
L2NvbXBvc2l0ZWQtYm9yZGVyLXJhZGl1cy1kZXNjZW5kYW50LXVuZXZlbi5odG1sCkBAIC0wLDAg
KzEsMzAgQEAKKzxodG1sPgorICA8aGVhZD4KKyAgICA8c3R5bGU+CisgICAgICAucm91bmRlZCB7
CisgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMTBweCAyMHB4IDMwcHg7CisgICAgICAgIG92ZXJm
bG93OiBoaWRkZW47CisgICAgICAgIGRpc3BsYXk6IGJsb2NrOworICAgICAgICB3aWR0aDogMTAw
cHg7CisgICAgICB9CisKKyAgICAgIC5jb21wb3NpdGVkIHsKKyAgICAgICAgLXdlYmtpdC10cmFu
c2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOworICAgICAgfQorCisgICAgICAuZ3JlZW4gewor
ICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIGRp
c3BsYXk6IGJsb2NrOworICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsKKyAgICAgIH0K
KyAgICA8L3N0eWxlPgorICA8L2hlYWQ+CisgIDxib2R5PgorICAgIDxkaXYgY2xhc3M9ImNvbXBv
c2l0ZWQgcm91bmRlZCI+CisgICAgICA8ZGl2IGNsYXNzPSJjb21wb3NpdGVkIGdyZWVuIj4KKyAg
ICAgICAgPHNwYW4+PC9zcGFuPgorICAgICAgPC9kaXY+CisgICAgPC9kaXY+CisgIDwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9jb21wb3NpdGluZy9ib3JkZXItcmFkaXVzL2NvbXBvc2l0ZWQtYm9yZGVyLXJhZGl1cy1k
ZXNjZW5kYW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9ib3JkZXItcmFkaXVzL2Nv
bXBvc2l0ZWQtYm9yZGVyLXJhZGl1cy1kZXNjZW5kYW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOThhNjY2
MjQ4NDU5YWUwMGNmMDFlNmI0NWZmNjZjNDBlOGIxNzVmNQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2NvbXBvc2l0aW5nL2JvcmRlci1yYWRpdXMvY29tcG9zaXRlZC1ib3JkZXItcmFk
aXVzLWRlc2NlbmRhbnQuaHRtbApAQCAtMCwwICsxLDMwIEBACis8aHRtbD4KKyAgPGhlYWQ+Cisg
ICAgPHN0eWxlPgorICAgICAgLnJvdW5kZWQgeworICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4
OworICAgICAgICBvdmVyZmxvdzogaGlkZGVuOworICAgICAgICBkaXNwbGF5OiBibG9jazsKKyAg
ICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgfQorCisgICAgICAuY29tcG9zaXRlZCB7CisgICAg
ICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsKKyAgICAgIH0KKwor
ICAgICAgLmdyZWVuIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICBkaXNwbGF5OiBibG9jazsKKyAgICAgICAgYmFja2dyb3VuZC1jb2xvcjog
Z3JlZW47CisgICAgICB9CisgICAgPC9zdHlsZT4KKyAgPC9oZWFkPgorICA8Ym9keT4KKyAgICA8
ZGl2IGNsYXNzPSJjb21wb3NpdGVkIHJvdW5kZWQiPgorICAgICAgPGRpdiBjbGFzcz0iY29tcG9z
aXRlZCBncmVlbiI+CisgICAgICAgIDxzcGFuPjwvc3Bhbj4KKyAgICAgIDwvZGl2PgorICAgIDwv
ZGl2PgorICA8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9jb21wb3NpdGVk
LWJvcmRlci1yYWRpdXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvYm9y
ZGVyLXJhZGl1cy9jb21wb3NpdGVkLWJvcmRlci1yYWRpdXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjVkODY1ZWQyNTYyMzgzZWZiODJhYzIwMGYyMzk0OTQ4YmE2NjAzMTcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9ib3JkZXItcmFkaXVzL2NvbXBvc2l0ZWQt
Ym9yZGVyLXJhZGl1cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMCBAQAorbGF5ZXIgYXQgKDAs
MCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXll
ciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNp
emUgODAweDYwMAorICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU4NAor
ICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSA3ODR4MAorbGF5ZXIgYXQgKDgs
OCkgc2l6ZSAxMDB4MTAwCisgIFJlbmRlckJsb2NrIChwb3NpdGlvbmVkKSB7RElWfSBhdCAoOCw4
KSBzaXplIDEwMHgxMDAgW2JnY29sb3I9IzAwODAwMF0KKyAgICBSZW5kZXJJbmxpbmUge1NQQU59
IGF0ICgwLDApIHNpemUgMHgwCisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUg
MHgwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9ib3JkZXItcmFkaXVzL2Nv
bXBvc2l0ZWQtYm9yZGVyLXJhZGl1cy5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvYm9y
ZGVyLXJhZGl1cy9jb21wb3NpdGVkLWJvcmRlci1yYWRpdXMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMjU5
OTZjY2QyOWI1NDc1NGMzMjI3NDZkOTM4MzkyYmZiMThmYWI4Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9jb21wb3NpdGVkLWJvcmRlci1y
YWRpdXMuaHRtbApAQCAtMCwwICsxLDI4IEBACis8aHRtbD4KKyAgPGhlYWQ+CisgICAgPHN0eWxl
PgorICAgICAgLnJvdW5kZWQgeworICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4OworICAgICAg
ICBkaXNwbGF5OiBibG9jazsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBwb3NpdGlv
bjogYWJzb2x1dGU7CisgICAgICB9CisKKyAgICAgIC5jb21wb3NpdGVkIHsgLXdlYmtpdC10cmFu
c2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9CisKKyAgICAgIC5ncmVlbiB7CisgICAgICAg
IHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgZGlzcGxheTog
YmxvY2s7CisgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGdyZWVuOworICAgICAgfQorICAgIDwv
c3R5bGU+CisgIDwvaGVhZD4KKyAgPGJvZHk+CisgICAgPGRpdj4KKyAgICAgIDxkaXYgY2xhc3M9
ImNvbXBvc2l0ZWQgZ3JlZW4gcm91bmRlZCI+CisgICAgICAgIDxzcGFuPjwvc3Bhbj4KKyAgICAg
IDwvZGl2PgorICAgIDwvZGl2PgorICA8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>203918</attachid>
            <date>2013-06-06 02:42:59 -0700</date>
            <delta_ts>2013-10-14 00:53:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-115613-20130606114130.patch</filename>
            <type>text/plain</type>
            <size>18648</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUxMDk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGZkZTE2NGFiNzZhYWU0
M2EwMTQ1M2E5MjgxYmEyNmM0NzMzNjI3OC4uZWUzMzkzNTMwZWU1NGU2ZWQyNjJkZmRiMDNhMmJm
OGUxMjQ1OTI1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDEzLTA1LTA1ICBOb2Ft
IFJvc2VudGhhbCAgPG5vYW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBHcmFwaGljc0xheWVycyBz
aG91bGQgYmUgYXdhcmUgb2Ygcm91bmRlZCByZWN0IGNsaXBwaW5nCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTU2MTMKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCB0aGUgbG9naWMgaW4gUmVuZGVy
TGF5ZXJCYWNraW5nIHRvIGZpZ3VyZSBvdXQgdGhlIGJvcmRlci1yYWRpdXMgY2xpcHBpbmcgZm9y
IGEgR3JhcGhpY3NMYXllci4KKyAgICAgICAgVGhpcyBpcyBkb25lIGJ5IGFkZGluZyBuZXcgcm91
bmRlZFJlY3RNYXNrL3NldFJvdW5kZWRSZWN0TWFzayBwcm9wZXJ0aWVzIHRvIEdyYXBoaWNzTGF5
ZXIuCisKKyAgICAgICAgTm90ZSB0aGF0IHRoaXMgaXMgbm90IGNvbXBsZXRlLCBhcyBpdCBkb2Vz
IG5vdCBjb3ZlciB0aGUgY2FzZSB3aGVyZSB0aGUgbGF5ZXIgd2hpY2ggaGFzIHRoZSBib3JkZXIg
cmFkaXVzIGlzIG5vdCBjb21wb3NpdGVkIGJ1dCBpcyBhbiBhbmNlc3RvciBmb3Igb3RoZXIgY29t
cG9zaXRpbmcgbGF5ZXJzLgorICAgICAgICBUaGlzIHdvdWxkIGhhdmUgdG8gYmUgZG9uZSBieSBt
YWtpbmcgdGhvc2Ugcm91bmRlZC1yZWN0IGxheWVycyBjb21wb3NpdGVkLCBhcyB0aGUgQ2xpcFJl
Y3RzCisgICAgICAgIGNvbnRleHQgY2Fubm90IGludGVyc2VjdCBtdWx0aXBsZSByb3VuZGVkIHJl
Y3RzLgorCisgICAgICAgIFRlc3RzOiBjb21wb3NpdGluZy9ib3JkZXItcmFkaXVzL2JvcmRlci1y
YWRpdXMtd2ViZ2wuaHRtbAorICAgICAgICAgICAgICAgY29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1
cy9jb21wb3NpdGVkLWJvcmRlci1yYWRpdXMtZGVzY2VuZGFudC1sYXJnZS1yYWRpdXMuaHRtbAor
ICAgICAgICAgICAgICAgY29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9jb21wb3NpdGVkLWJvcmRl
ci1yYWRpdXMtZGVzY2VuZGFudC11bmV2ZW4uaHRtbAorICAgICAgICAgICAgICAgY29tcG9zaXRp
bmcvYm9yZGVyLXJhZGl1cy9jb21wb3NpdGVkLWJvcmRlci1yYWRpdXMtZGVzY2VuZGFudC5odG1s
CisgICAgICAgICAgICAgICBjb21wb3NpdGluZy9ib3JkZXItcmFkaXVzL2NvbXBvc2l0ZWQtYm9y
ZGVyLXJhZGl1cy5odG1sCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xh
eWVyLmg6CisgICAgICAgIChHcmFwaGljc0xheWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBo
aWNzTGF5ZXI6OnNldENoaWxkcmVuUm91bmRlZFJlY3RNYXNrKToKKyAgICAgICAgKFdlYkNvcmU6
OkdyYXBoaWNzTGF5ZXI6OnNldENvbnRlbnRzUm91bmRlZFJlY3RNYXNrKToKKyAgICAgICAgKFdl
YkNvcmU6OkdyYXBoaWNzTGF5ZXI6OmNoaWxkcmVuUm91bmRlZFJlY3RNYXNrKToKKyAgICAgICAg
KFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OmNvbnRlbnRzUm91bmRlZFJlY3RNYXNrKToKKyAgICAg
ICAgICAgIEFkZCByb3VuZGVkUmVjdE1hc2sgcHJvcGVydHkgdG8gR3JhcGhpY3NMYXllci4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Sb3VuZGVkUmVjdC5oOgorICAgICAgICAoUm91bmRl
ZFJlY3QpOgorICAgICAgICAgICAgQWRkZWQgYSBkZWZhdWx0IGNvbnN0cnVjdG9yIGZvciBSb3Vu
ZGVkUmVjdC4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6cm91bmRlZFJlY3RNYXNrKToKKyAgICAgICAgKFdlYkNvcmUpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVHcmFwaGljc0xheWVy
R2VvbWV0cnkpOgorICAgICAgICAgICAgQ2FsY3VsYXRlIHRoZSByb3VuZGVkUmVjdCBtYXNrIGZv
ciB0aGUgR3JhcGhpY3NMYXllciB3aGVuIGNvbXB1dGluZyBpdHMgY2xpcCBwcm9wZXJ0aWVzLgor
CiAyMDEzLTA2LTAzICBOb2FtIFJvc2VudGhhbCAgPG5vYW1Ad2Via2l0Lm9yZz4KIAogICAgICAg
ICBSZWZhY3RvciB0aGUgY29kZSB0aGF0IGRlY2lkZXMgd2hldGhlciB0byBlbmFibGUgV2ViR0wg
ZnJvbSBzZXR0aW5ncyB0byBoZWxwZXIgZnVuY3Rpb25zCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmgKaW5kZXggMTZkYzA3ZmViYjdjOGQ4MmU3
ZDkyN2Q3NjNhN2UwMTViYTg3OWY1Yi4uMjgyN2FhNTdkZjVmMjAzM2M0NWU1N2UyNDE5N2FiY2Mw
YTgwZGIwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3Jh
cGhpY3NMYXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBo
aWNzTGF5ZXIuaApAQCAtMzYsNiArMzYsNyBAQAogI2luY2x1ZGUgIkdyYXBoaWNzTGF5ZXJDbGll
bnQuaCIKICNpbmNsdWRlICJJbnRSZWN0LmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1MYXllci5oIgor
I2luY2x1ZGUgIlJvdW5kZWRSZWN0LmgiCiAjaW5jbHVkZSAiVHJhbnNmb3JtT3BlcmF0aW9ucy5o
IgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgpA
QCAtMzA5LDcgKzMxMCwxNSBAQCBwdWJsaWM6CiAgICAgCiAgICAgYm9vbCBtYXNrc1RvQm91bmRz
KCkgY29uc3QgeyByZXR1cm4gbV9tYXNrc1RvQm91bmRzOyB9CiAgICAgdmlydHVhbCB2b2lkIHNl
dE1hc2tzVG9Cb3VuZHMoYm9vbCBiKSB7IG1fbWFza3NUb0JvdW5kcyA9IGI7IH0KLSAgICAKKwor
ICAgIHZpcnR1YWwgdm9pZCBzZXRDaGlsZHJlblJvdW5kZWRSZWN0TWFzayhjb25zdCBSb3VuZGVk
UmVjdCYgcikgeyBtX2NoaWxkcmVuUm91bmRlZFJlY3RNYXNrID0gcjsgfQorICAgIGNvbnN0IFJv
dW5kZWRSZWN0JiBjaGlsZHJlblJvdW5kZWRSZWN0TWFzaygpIGNvbnN0IHsgcmV0dXJuIG1fY2hp
bGRyZW5Sb3VuZGVkUmVjdE1hc2s7IH0KKworICAgIC8vIFRoaXMgbWFza3MgdGhlIGxheWVyJ3Mg
ZGlyZWN0IGNvbXBvc2l0ZWQgY29udGVudHMgKGNhbnZhcywgdmlkZW8sIHBsdWdpbiwgaW1hZ2Up
LgorICAgIC8vIE5vdGUgdGhhdCB0aGUgbGF5ZXIncyBiYWNraW5nLXN0b3JlIGNvbnRlbnRzIGFs
cmVhZHkgaW5jbHVkZSB0aGUgcm91bmRpbmcuCisgICAgdmlydHVhbCB2b2lkIHNldENvbnRlbnRz
Um91bmRlZFJlY3RNYXNrKGNvbnN0IFJvdW5kZWRSZWN0JiByKSB7IG1fY29udGVudHNSb3VuZGVk
UmVjdE1hc2sgPSByOyB9CisgICAgY29uc3QgUm91bmRlZFJlY3QmIGNvbnRlbnRzUm91bmRlZFJl
Y3RNYXNrKCkgY29uc3QgeyByZXR1cm4gbV9jb250ZW50c1JvdW5kZWRSZWN0TWFzazsgfQorCiAg
ICAgYm9vbCBkcmF3c0NvbnRlbnQoKSBjb25zdCB7IHJldHVybiBtX2RyYXdzQ29udGVudDsgfQog
ICAgIHZpcnR1YWwgdm9pZCBzZXREcmF3c0NvbnRlbnQoYm9vbCBiKSB7IG1fZHJhd3NDb250ZW50
ID0gYjsgfQogCkBAIC01NzIsNiArNTgxLDkgQEAgcHJvdGVjdGVkOgogICAgIEludFBvaW50IG1f
Y29udGVudHNUaWxlUGhhc2U7CiAgICAgSW50U2l6ZSBtX2NvbnRlbnRzVGlsZVNpemU7CiAKKyAg
ICBSb3VuZGVkUmVjdCBtX2NoaWxkcmVuUm91bmRlZFJlY3RNYXNrOworICAgIFJvdW5kZWRSZWN0
IG1fY29udGVudHNSb3VuZGVkUmVjdE1hc2s7CisKICAgICBpbnQgbV9yZXBhaW50Q291bnQ7CiB9
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Sb3VuZGVk
UmVjdC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUm91bmRlZFJlY3QuaApp
bmRleCBkOTIzZTM1M2Y0OGFiOThkZTkxNTc3MzYzYmE2MzRjNzhhOWMyMzAzLi5jOGJmY2U1ZDMw
NzM4Yzc2MWI4NDZiYTAyZGVhMDQyZTgwZTA0MTE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9Sb3VuZGVkUmVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL1JvdW5kZWRSZWN0LmgKQEAgLTczLDcgKzczLDcgQEAgcHVibGljOgog
ICAgICAgICBJbnRTaXplIG1fYm90dG9tUmlnaHQ7CiAgICAgfTsKIAotICAgIGV4cGxpY2l0IFJv
dW5kZWRSZWN0KGNvbnN0IEludFJlY3QmLCBjb25zdCBSYWRpaSYgPSBSYWRpaSgpKTsKKyAgICBl
eHBsaWNpdCBSb3VuZGVkUmVjdChjb25zdCBJbnRSZWN0JiA9IEludFJlY3QoKSwgY29uc3QgUmFk
aWkmID0gUmFkaWkoKSk7CiAgICAgUm91bmRlZFJlY3QoaW50IHgsIGludCB5LCBpbnQgd2lkdGgs
IGludCBoZWlnaHQpOwogICAgIFJvdW5kZWRSZWN0KGNvbnN0IEludFJlY3QmLCBjb25zdCBJbnRT
aXplJiB0b3BMZWZ0LCBjb25zdCBJbnRTaXplJiB0b3BSaWdodCwgY29uc3QgSW50U2l6ZSYgYm90
dG9tTGVmdCwgY29uc3QgSW50U2l6ZSYgYm90dG9tUmlnaHQpOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwCmluZGV4IDgwN2ZkOGYxMWY3NTM1
MThjM2M5NDJjMWEyNDJmYzA3MjJkMzFjYjkuLjQ1M2RiZDQ2MDAxNjcwNWZiNGUxZDZiOTQzN2Vi
ZjdjMmRjYmJhMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllckJhY2tpbmcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXll
ckJhY2tpbmcuY3BwCkBAIC01ODcsNiArNTg3LDE1IEBAIGJvb2wgUmVuZGVyTGF5ZXJCYWNraW5n
Ojp1cGRhdGVHcmFwaGljc0xheWVyQ29uZmlndXJhdGlvbigpCiAgICAgcmV0dXJuIGxheWVyQ29u
ZmlnQ2hhbmdlZDsKIH0KIAorc3RhdGljIFJvdW5kZWRSZWN0IHJvdW5kZWRSZWN0TWFzayhjb25z
dCBSZW5kZXJPYmplY3QqIHJlbmRlcmVyKQoreworICAgIGNvbnN0IFJlbmRlclN0eWxlKiBzdHls
ZSA9IHJlbmRlcmVyLT5zdHlsZSgpOworICAgIGlmICghc3R5bGUtPmhhc0JvcmRlclJhZGl1cygp
KQorICAgICAgICByZXR1cm4gUm91bmRlZFJlY3QoKTsKKworICAgIHJldHVybiBzdHlsZS0+Z2V0
Um91bmRlZEJvcmRlckZvcih0b1JlbmRlckJveChyZW5kZXJlciktPnBpeGVsU25hcHBlZEJvcmRl
ckJveFJlY3QoKSk7Cit9CisKIHN0YXRpYyBJbnRSZWN0IGNsaXBCb3goUmVuZGVyQm94KiByZW5k
ZXJlcikKIHsKICAgICBMYXlvdXRSZWN0IHJlc3VsdCA9IFBhaW50SW5mbzo6aW5maW5pdGVSZWN0
KCk7CkBAIC02NzAsNyArNjc5LDcgQEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZUdy
YXBoaWNzTGF5ZXJHZW9tZXRyeSgpCiAgICAgICAgIEludFBvaW50IHNjcm9sbE9yaWdpbihyZW5k
ZXJCb3gtPmJvcmRlckxlZnQoKSwgcmVuZGVyQm94LT5ib3JkZXJUb3AoKSk7CiAgICAgICAgIGdy
YXBoaWNzTGF5ZXJQYXJlbnRMb2NhdGlvbiA9IHNjcm9sbE9yaWdpbiAtIHNjcm9sbE9mZnNldDsK
ICAgICB9Ci0gICAgCisKICAgICBpZiAoY29tcEFuY2VzdG9yICYmIG1fYW5jZXN0b3JDbGlwcGlu
Z0xheWVyKSB7CiAgICAgICAgIC8vIENhbGwgY2FsY3VsYXRlUmVjdHMgdG8gZ2V0IHRoZSBiYWNr
Z3JvdW5kUmVjdCB3aGljaCBpcyB3aGF0IGlzIHVzZWQgdG8gY2xpcCB0aGUgY29udGVudHMgb2Yg
dGhpcwogICAgICAgICAvLyBsYXllci4gTm90ZSB0aGF0IHdlIGNhbGwgaXQgd2l0aCB0ZW1wb3Jh
cnlDbGlwUmVjdHMgPSB0cnVlIGJlY2F1c2Ugbm9ybWFsbHkgd2hlbiBjb21wdXRpbmcgY2xpcCBy
ZWN0cwpAQCAtNzE2LDYgKzcyNSw5IEBAIHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVH
cmFwaGljc0xheWVyR2VvbWV0cnkoKQogICAgICAgICBtX2dyYXBoaWNzTGF5ZXItPnNldENvbnRl
bnRzT3BhcXVlKG1fb3duaW5nTGF5ZXItPmJhY2tncm91bmRJc0tub3duVG9CZU9wYXF1ZUluUmVj
dChsb2NhbENvbXBvc2l0aW5nQm91bmRzKSk7CiAgICAgfQogCisgICAgUm91bmRlZFJlY3Qgcm91
bmRlZFJlY3QgPSByb3VuZGVkUmVjdE1hc2socmVuZGVyZXIoKSk7CisgICAgbV9ncmFwaGljc0xh
eWVyLT5zZXRDb250ZW50c1JvdW5kZWRSZWN0TWFzayhyb3VuZGVkUmVjdCk7CisKICAgICAvLyBJ
ZiB3ZSBoYXZlIGEgbGF5ZXIgdGhhdCBjbGlwcyBjaGlsZHJlbiwgcG9zaXRpb24gaXQuCiAgICAg
SW50UmVjdCBjbGlwcGluZ0JveDsKICAgICBpZiAoR3JhcGhpY3NMYXllciogY2xpcExheWVyID0g
Y2xpcHBpbmdMYXllcigpKSB7CkBAIC03MjMsNiArNzM1LDcgQEAgdm9pZCBSZW5kZXJMYXllckJh
Y2tpbmc6OnVwZGF0ZUdyYXBoaWNzTGF5ZXJHZW9tZXRyeSgpCiAgICAgICAgIGNsaXBMYXllci0+
c2V0UG9zaXRpb24oRmxvYXRQb2ludChjbGlwcGluZ0JveC5sb2NhdGlvbigpIC0gbG9jYWxDb21w
b3NpdGluZ0JvdW5kcy5sb2NhdGlvbigpKSk7CiAgICAgICAgIGNsaXBMYXllci0+c2V0U2l6ZShj
bGlwcGluZ0JveC5zaXplKCkpOwogICAgICAgICBjbGlwTGF5ZXItPnNldE9mZnNldEZyb21SZW5k
ZXJlcih0b0ludFNpemUoY2xpcHBpbmdCb3gubG9jYXRpb24oKSkpOworICAgICAgICBjbGlwTGF5
ZXItPnNldENoaWxkcmVuUm91bmRlZFJlY3RNYXNrKHJvdW5kZWRSZWN0KTsKICAgICB9CiAgICAg
CiAgICAgaWYgKG1fbWFza0xheWVyKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggOTMxODY1MjM3ZWRkZjY2NTI2ZjU3OTJl
ZDYyMTkwYzNlOGVmN2RkOC4uMzdlZmExY2MwMzIwNTE2OGU0ZGMxNDM5ODYxNTI3N2UyMWY0M2Yy
YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEzLTA1LTA1ICBOb2FtIFJvc2VudGhhbCAgPG5v
YW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBHcmFwaGljc0xheWVycyBzaG91bGQgYmUgYXdhcmUg
b2Ygcm91bmRlZCByZWN0IGNsaXBwaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMTU2MTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBBZGRlZCBhIGZldyB0ZXN0cyBmb3IgY29tcG9zaXRpbmcvYm9yZGVy
LXJhZGl1cy4gRm9yIG5vdyB0aG9zZSB0ZXN0cyBhcmUgbWFya2VkIGFzIGhhdmluZworICAgICAg
ICBtaXNzaW5nIGltYWdlcywgdW50aWwgdGhlIGNvbXBvc2l0b3JzIGNhbiBwcm9kdWNlIHRoZSBy
aWdodCBpbWFnZSByZXN1bHRzLgorCisgICAgICAgICogVGVzdEV4cGVjdGF0aW9uczogQWRkZWQg
ZXhwZWN0YXRpb25zIGZvciBuZXcgdGVzdHMuCisgICAgICAgICogY29tcG9zaXRpbmcvYm9yZGVy
LXJhZGl1cy9ib3JkZXItcmFkaXVzLXdlYmdsLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNvbXBv
c2l0aW5nL2JvcmRlci1yYWRpdXMvY29tcG9zaXRlZC1ib3JkZXItcmFkaXVzLWRlc2NlbmRhbnQt
bGFyZ2UtcmFkaXVzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNvbXBvc2l0aW5nL2JvcmRlci1y
YWRpdXMvY29tcG9zaXRlZC1ib3JkZXItcmFkaXVzLWRlc2NlbmRhbnQtdW5ldmVuLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGNvbXBvc2l0aW5nL2JvcmRlci1yYWRpdXMvY29tcG9zaXRlZC1ib3Jk
ZXItcmFkaXVzLWRlc2NlbmRhbnQuaHRtbDogQWRkZWQuCisgICAgICAgICogY29tcG9zaXRpbmcv
Ym9yZGVyLXJhZGl1cy9jb21wb3NpdGVkLWJvcmRlci1yYWRpdXMuaHRtbDogQWRkZWQuCisKIDIw
MTMtMDYtMDMgIENocmlzdG9waGUgRHVtZXogIDxjaC5kdW1lekBzaXNhLnNhbXN1bmcuY29tPgog
CiAgICAgICAgIFVucmV2aWV3ZWQgRUZMIGdhcmRlbmluZy4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCmluZGV4
IDJjN2Q4NzEyN2E3M2YyYjAzOWIzNDJmZTU2OTY5YTI1ZmY2ODg0MDAuLmE1YTIwOWYyMmU0ZDli
NzM3ZWEyNTJhNmRmNGE1MTc5MzUyOGE5MmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL1Rlc3RF
eHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTUsMyAr
MTUsNiBAQCB3ZWJraXQub3JnL2IvMTE2NDczIGVkaXRpbmcvc2VsZWN0aW9uL3VzZXItZHJhZy1l
bGVtZW50LWFuZC11c2VyLXNlbGVjdC1ub25lLmh0bQogCiAjIG1lZGlhL1czQy92aWRlby9uZXR3
b3JrU3RhdGUvbmV0d29ya1N0YXRlX2R1cmluZ19wcm9ncmVzcy5odG1sIGlzIGZsYWt5CiB3ZWJr
aXQub3JnL2IvNzYyODAgbWVkaWEvVzNDL3ZpZGVvL25ldHdvcmtTdGF0ZS9uZXR3b3JrU3RhdGVf
ZHVyaW5nX3Byb2dyZXNzLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQorCisjIHBlbmRpbmcgYm9yZGVy
IHJhZGl1cyBpbiBjb21wb3NpdG9ycword2Via2l0Lm9yZy9iLzExNTYxNCBjb21wb3NpdGluZy9i
b3JkZXItcmFkaXVzIFsgUGFzcyBNaXNzaW5nIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Nv
bXBvc2l0aW5nL2JvcmRlci1yYWRpdXMvYm9yZGVyLXJhZGl1cy13ZWJnbC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9ib3JkZXItcmFkaXVzL2JvcmRlci1yYWRpdXMtd2Vi
Z2wtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhiMTM3ODkxNzkxZmU5NjkyN2FkNzhlNjRiMGFh
ZDdiZGVkMDhiZGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9i
b3JkZXItcmFkaXVzL2JvcmRlci1yYWRpdXMtd2ViZ2wtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEg
QEAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9i
b3JkZXItcmFkaXVzLXdlYmdsLmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9ib3JkZXIt
cmFkaXVzL2JvcmRlci1yYWRpdXMtd2ViZ2wuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yOTk5ZDhkYTUyMDZl
MjVlZGJmNjE4MWNlZGUyMWE5ZjlkMzI5ZDBjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvY29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9ib3JkZXItcmFkaXVzLXdlYmdsLmh0bWwKQEAg
LTAsMCArMSw3MSBAQAorPGh0bWw+CisgIDxoZWFkPgorICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2Nz
cyIgbWVkaWE9InNjcmVlbiI+CisgICAgICBib2R5IHsKKyAgICAgICAgb3V0bGluZTogMTBweCBz
b2xpZCB0cmFuc3BhcmVudDsgLyogYWZmZWN0cyBsYXllciBzaXplcyAqLworICAgICAgfQorICAg
ICAgY2FudmFzIHsKKyAgICAgICAgbWFyZ2luOiAyMHB4OworICAgICAgICB3aWR0aDogMjAwcHg7
CisgICAgICAgIGhlaWdodDogMjAwcHg7CisgICAgICAgIHBhZGRpbmc6IDAgMjBweDsKKyAgICAg
IH0KKworICAgICAgLmNvbXBvc2l0ZWQgeworICAgICAgCS13ZWJraXQtdHJhbnNmb3JtOiB0cmFu
c2xhdGUzZCgwLCAwLCAwKTsKKyAgICAgIH0KKworICAgICAgLnJvdW5kZWQgeworICAgICAgCWJv
cmRlci1yYWRpdXM6IDgwcHg7CisgICAgICB9CisgICAgCisgICAgICAuY29tcGFyZSB7CisgICAg
ICAgIG1hcmdpbi1sZWZ0OiA0MHB4OworICAgICAgICBtYXJnaW4tdG9wOiAyMHB4OworICAgICAg
ICB3aWR0aDogMjAwcHg7CisgICAgICAgIGhlaWdodDogMjAwcHg7CisgICAgICAgIGJhY2tncm91
bmQtY29sb3I6IHJnYmEoMCwgMTI4LCAwLCAxLjApOworICAgICAgfQorICAgIDwvc3R5bGU+Cisg
ICAgPHNjcmlwdD4KKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgICAg
ICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0V2ViR0xFbmFibGVkIiwgIjEi
KTsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCh0cnVlKTsKKyAgICAgICAgfQor
CisgICAgICAgIGZ1bmN0aW9uIGluaXRXZWJHTChjYW52YXNOYW1lLCB2c2hhZGVyLCBmc2hhZGVy
LCBhdHRyaWJzLCBjbGVhckNvbG9yLCBjbGVhckRlcHRoKQorICAgICAgICB7CisgICAgICAgICAg
ICB2YXIgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoY2FudmFzTmFtZSk7CisgICAg
ICAgICAgICB2YXIgZ2wgPSBjYW52YXMuZ2V0Q29udGV4dCgiZXhwZXJpbWVudGFsLXdlYmdsIiwg
e2FscGhhOiBmYWxzZX0pOworICAgICAgICAgICAgaWYgKCFnbCkgeworICAgICAgICAgICAgICAg
IGFsZXJ0KCJObyBXZWJHTCBjb250ZXh0IGZvdW5kIik7CisgICAgICAgICAgICAgICAgcmV0dXJu
IG51bGw7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGdsLmNsZWFyQ29sb3IoY2xlYXJD
b2xvclswXSwgY2xlYXJDb2xvclsxXSwgY2xlYXJDb2xvclsyXSwgY2xlYXJDb2xvclszXSk7Cisg
ICAgICAgICAgICBnbC5jbGVhckRlcHRoKGNsZWFyRGVwdGgpOworCisgICAgICAgICAgICByZXR1
cm4gZ2w7CisgICAgICAgIH0KKworICAgICAgICBmdW5jdGlvbiBkcmF3Q2FudmFzKGNhbnZhc0lE
KQorICAgICAgICB7CisgICAgICAgICAgdmFyIGdsID0gaW5pdFdlYkdMKGNhbnZhc0lELCAiIiwg
IiIsIFtdLCBbIDAsIC41LCAwLCAwIF0sIDEpOworICAgICAgICAgIGdsLnZpZXdwb3J0KDAsIDAs
IDIwMCwgMjAwKTsKKyAgICAgICAgICBnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUIHwgZ2wu
REVQVEhfQlVGRkVSX0JJVCk7CisgICAgICAgIH0KKworICAgICAgICBmdW5jdGlvbiBpbml0KCkK
KyAgICAgICAgeworICAgICAgICAgIGRyYXdDYW52YXMoJ2NhbnZhcycpOworICAgICAgICB9Cisg
ICAgPC9zY3JpcHQ+CisgIDwvaGVhZD4KKyAgPGJvZHkgb25sb2FkPSJpbml0KCkiPgorCisgICAg
PGRpdiBjbGFzcz0iY29tcGFyZSBjb21wb3NpdGVkIHJvdW5kZWQiPjwvZGl2PgorICAgIDxjYW52
YXMgaWQ9ImNhbnZhcyIgY2xhc3M9ImNvbXBvc2l0ZWQgcm91bmRlZCIgd2lkdGg9IjIwMCIgaGVp
Z2h0PSIyMDAiPjwvY2FudmFzPgorCisgICAgPCEtLSBUb3AgYW5kIGJvdHRvbSBzaG91bGQgbG9v
ayB0aGUgc2FtZS4gLS0+CisgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2NvbXBvc2l0aW5nL2JvcmRlci1yYWRpdXMvY29tcG9zaXRlZC1ib3JkZXItcmFkaXVzLWRl
c2NlbmRhbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvYm9yZGVyLXJh
ZGl1cy9jb21wb3NpdGVkLWJvcmRlci1yYWRpdXMtZGVzY2VuZGFudC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMzE5ODkxYzNhZTdiOTVhZGVlMGM2ZjI2YjdlZmE5ZDAzMzEyMmVhZAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2JvcmRlci1yYWRpdXMvY29tcG9z
aXRlZC1ib3JkZXItcmFkaXVzLWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEg
QEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNp
emUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlckJsb2NrIHtI
VE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4
KSBzaXplIDc4NHg1ODQKK2xheWVyIGF0ICg4LDgpIHNpemUgMTAweDEwMAorICBSZW5kZXJCbG9j
ayB7RElWfSBhdCAoMCwwKSBzaXplIDEwMHgxMDAKK2xheWVyIGF0ICg4LDgpIHNpemUgMTAweDEw
MAorICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDEwMHgxMDAgW2JnY29sb3I9IzAw
ODAwMF0KKyAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgMHgwCisgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9jb21wb3NpdGluZy9ib3JkZXItcmFkaXVzL2NvbXBvc2l0ZWQtYm9yZGVyLXJhZGl1cy1kZXNj
ZW5kYW50LWxhcmdlLXJhZGl1cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGlu
Zy9ib3JkZXItcmFkaXVzL2NvbXBvc2l0ZWQtYm9yZGVyLXJhZGl1cy1kZXNjZW5kYW50LWxhcmdl
LXJhZGl1cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzE5ODkxYzNhZTdiOTVhZGVlMGM2ZjI2
YjdlZmE5ZDAzMzEyMmVhZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0
aW5nL2JvcmRlci1yYWRpdXMvY29tcG9zaXRlZC1ib3JkZXItcmFkaXVzLWRlc2NlbmRhbnQtbGFy
Z2UtcmFkaXVzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBACitsYXllciBhdCAoMCwwKSBz
aXplIDgwMHg2MDAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0
ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4
MDB4NjAwCisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTg0CitsYXll
ciBhdCAoOCw4KSBzaXplIDEwMHgxMDAKKyAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6
ZSAxMDB4MTAwCitsYXllciBhdCAoOCw4KSBzaXplIDEwMHgxMDAKKyAgUmVuZGVyQmxvY2sge0RJ
Vn0gYXQgKDAsMCkgc2l6ZSAxMDB4MTAwIFtiZ2NvbG9yPSMwMDgwMDBdCisgICAgUmVuZGVySW5s
aW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDB4MAorICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MCwwKSBzaXplIDB4MApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvYm9yZGVy
LXJhZGl1cy9jb21wb3NpdGVkLWJvcmRlci1yYWRpdXMtZGVzY2VuZGFudC1sYXJnZS1yYWRpdXMu
aHRtbCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2JvcmRlci1yYWRpdXMvY29tcG9zaXRlZC1i
b3JkZXItcmFkaXVzLWRlc2NlbmRhbnQtbGFyZ2UtcmFkaXVzLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWM2
Y2YwNWNhZTA4OWY1ZTgwM2YxNjEzYmExYWU2MDQ4ZTcyMTg3YgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2JvcmRlci1yYWRpdXMvY29tcG9zaXRlZC1ib3JkZXIt
cmFkaXVzLWRlc2NlbmRhbnQtbGFyZ2UtcmFkaXVzLmh0bWwKQEAgLTAsMCArMSwyNyBAQAorPGh0
bWw+CisgIDxoZWFkPgorICAgIDxzdHlsZT4KKwkgIC5yb3VuZGVkIHsKKwkJYm9yZGVyLXJhZGl1
czogNjBweDsKKwkJb3ZlcmZsb3c6IGhpZGRlbjsKKwkJZGlzcGxheTogYmxvY2s7CisJCXdpZHRo
OiAxMDBweDsKKwkgIH0KKworCSAgLmNvbXBvc2l0ZWQgeyAtd2Via2l0LXRyYW5zZm9ybTogdHJh
bnNsYXRlM2QoMCwgMCwgMCk7IH0KKwkgIC5ncmVlbiB7CisJCXdpZHRoOiAxMDBweDsKKwkJaGVp
Z2h0OiAxMDBweDsKKwkJZGlzcGxheTogYmxvY2s7CisJCWJhY2tncm91bmQtY29sb3I6IGdyZWVu
OworCSAgfQorCTwvc3R5bGU+CisgIDwvaGVhZD4KKyAgPGJvZHk+CisJPGRpdiBjbGFzcz0iY29t
cG9zaXRlZCByb3VuZGVkIj4KKwkgIDxkaXYgY2xhc3M9ImNvbXBvc2l0ZWQgZ3JlZW4iPgorCQk8
c3Bhbj48L3NwYW4+CisJICA8L2Rpdj4KKwk8L2Rpdj4KKyAgPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0
aW5nL2JvcmRlci1yYWRpdXMvY29tcG9zaXRlZC1ib3JkZXItcmFkaXVzLWRlc2NlbmRhbnQtdW5l
dmVuLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2JvcmRlci1yYWRpdXMv
Y29tcG9zaXRlZC1ib3JkZXItcmFkaXVzLWRlc2NlbmRhbnQtdW5ldmVuLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4zMTk4OTFjM2FlN2I5NWFkZWUwYzZmMjZiN2VmYTlkMDMzMTIyZWFkCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9jb21w
b3NpdGVkLWJvcmRlci1yYWRpdXMtZGVzY2VuZGFudC11bmV2ZW4tZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTEgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0
ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRl
ckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgICBSZW5kZXJCb2R5IHtCT0RZ
fSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKK2xheWVyIGF0ICg4LDgpIHNpemUgMTAweDEwMAorICBS
ZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDEwMHgxMDAKK2xheWVyIGF0ICg4LDgpIHNp
emUgMTAweDEwMAorICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDEwMHgxMDAgW2Jn
Y29sb3I9IzAwODAwMF0KKyAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgMHgw
CisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9jb21wb3NpdGluZy9ib3JkZXItcmFkaXVzL2NvbXBvc2l0ZWQtYm9yZGVyLXJh
ZGl1cy1kZXNjZW5kYW50LXVuZXZlbi5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvYm9y
ZGVyLXJhZGl1cy9jb21wb3NpdGVkLWJvcmRlci1yYWRpdXMtZGVzY2VuZGFudC11bmV2ZW4uaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi45ZDgyYTNkOWViN2U1MTdkMTlhNzdmZTE3MWU0ZWRiNGMyMDcxY2U4Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9j
b21wb3NpdGVkLWJvcmRlci1yYWRpdXMtZGVzY2VuZGFudC11bmV2ZW4uaHRtbApAQCAtMCwwICsx
LDMwIEBACis8aHRtbD4KKyAgPGhlYWQ+CisgICAgPHN0eWxlPgorICAgICAgLnJvdW5kZWQgewor
ICAgICAgICBib3JkZXItcmFkaXVzOiAwIDEwcHggMjBweCAzMHB4OworICAgICAgICBvdmVyZmxv
dzogaGlkZGVuOworICAgICAgICBkaXNwbGF5OiBibG9jazsKKyAgICAgICAgd2lkdGg6IDEwMHB4
OworICAgICAgfQorCisgICAgICAuY29tcG9zaXRlZCB7CisgICAgICAgIC13ZWJraXQtdHJhbnNm
b3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsKKyAgICAgIH0KKworICAgICAgLmdyZWVuIHsKKyAg
ICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBkaXNw
bGF5OiBibG9jazsKKyAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47CisgICAgICB9Cisg
ICAgPC9zdHlsZT4KKyAgPC9oZWFkPgorICA8Ym9keT4KKyAgICA8ZGl2IGNsYXNzPSJjb21wb3Np
dGVkIHJvdW5kZWQiPgorICAgICAgPGRpdiBjbGFzcz0iY29tcG9zaXRlZCBncmVlbiI+CisgICAg
ICAgIDxzcGFuPjwvc3Bhbj4KKyAgICAgIDwvZGl2PgorICAgIDwvZGl2PgorICA8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvY29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9jb21wb3NpdGVkLWJvcmRlci1yYWRpdXMtZGVz
Y2VuZGFudC5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9jb21w
b3NpdGVkLWJvcmRlci1yYWRpdXMtZGVzY2VuZGFudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk4YTY2NjI0
ODQ1OWFlMDBjZjAxZTZiNDVmZjY2YzQwZThiMTc1ZjUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9jb21wb3NpdGluZy9ib3JkZXItcmFkaXVzL2NvbXBvc2l0ZWQtYm9yZGVyLXJhZGl1
cy1kZXNjZW5kYW50Lmh0bWwKQEAgLTAsMCArMSwzMCBAQAorPGh0bWw+CisgIDxoZWFkPgorICAg
IDxzdHlsZT4KKyAgICAgIC5yb3VuZGVkIHsKKyAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDsK
KyAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKKyAgICAgICAgZGlzcGxheTogYmxvY2s7CisgICAg
ICAgIHdpZHRoOiAxMDBweDsKKyAgICAgIH0KKworICAgICAgLmNvbXBvc2l0ZWQgeworICAgICAg
ICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7CisgICAgICB9CisKKyAg
ICAgIC5ncmVlbiB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgZGlzcGxheTogYmxvY2s7CisgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGdy
ZWVuOworICAgICAgfQorICAgIDwvc3R5bGU+CisgIDwvaGVhZD4KKyAgPGJvZHk+CisgICAgPGRp
diBjbGFzcz0iY29tcG9zaXRlZCByb3VuZGVkIj4KKyAgICAgIDxkaXYgY2xhc3M9ImNvbXBvc2l0
ZWQgZ3JlZW4iPgorICAgICAgICA8c3Bhbj48L3NwYW4+CisgICAgICA8L2Rpdj4KKyAgICA8L2Rp
dj4KKyAgPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2JvcmRlci1yYWRpdXMvY29tcG9zaXRlZC1i
b3JkZXItcmFkaXVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2JvcmRl
ci1yYWRpdXMvY29tcG9zaXRlZC1ib3JkZXItcmFkaXVzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li41ZDg2NWVkMjU2MjM4M2VmYjgyYWMyMDBmMjM5NDk0OGJhNjYwMzE3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9jb21wb3NpdGVkLWJv
cmRlci1yYWRpdXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAKK2xheWVyIGF0ICgwLDAp
IHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIg
YXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXpl
IDgwMHg2MDAKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKKyAg
ICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgNzg0eDAKK2xheWVyIGF0ICg4LDgp
IHNpemUgMTAweDEwMAorICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkge0RJVn0gYXQgKDgsOCkg
c2l6ZSAxMDB4MTAwIFtiZ2NvbG9yPSMwMDgwMDBdCisgICAgUmVuZGVySW5saW5lIHtTUEFOfSBh
dCAoMCwwKSBzaXplIDB4MAorICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4
MApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9jb21w
b3NpdGVkLWJvcmRlci1yYWRpdXMuaHRtbCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2JvcmRl
ci1yYWRpdXMvY29tcG9zaXRlZC1ib3JkZXItcmFkaXVzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjI1OTk2
Y2NkMjliNTQ3NTRjMzIyNzQ2ZDkzODM5MmJmYjE4ZmFiOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2NvbXBvc2l0aW5nL2JvcmRlci1yYWRpdXMvY29tcG9zaXRlZC1ib3JkZXItcmFk
aXVzLmh0bWwKQEAgLTAsMCArMSwyOCBAQAorPGh0bWw+CisgIDxoZWFkPgorICAgIDxzdHlsZT4K
KyAgICAgIC5yb3VuZGVkIHsKKyAgICAgICAgYm9yZGVyLXJhZGl1czogMjBweDsKKyAgICAgICAg
ZGlzcGxheTogYmxvY2s7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgcG9zaXRpb246
IGFic29sdXRlOworICAgICAgfQorCisgICAgICAuY29tcG9zaXRlZCB7IC13ZWJraXQtdHJhbnNm
b3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfQorCisgICAgICAuZ3JlZW4geworICAgICAgICB3
aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIGRpc3BsYXk6IGJs
b2NrOworICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsKKyAgICAgIH0KKyAgICA8L3N0
eWxlPgorICA8L2hlYWQ+CisgIDxib2R5PgorICAgIDxkaXY+CisgICAgICA8ZGl2IGNsYXNzPSJj
b21wb3NpdGVkIGdyZWVuIHJvdW5kZWQiPgorICAgICAgICA8c3Bhbj48L3NwYW4+CisgICAgICA8
L2Rpdj4KKyAgICA8L2Rpdj4KKyAgPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>214131</attachid>
            <date>2013-10-14 00:53:52 -0700</date>
            <delta_ts>2013-10-15 00:55:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-115613-20131014095352.patch</filename>
            <type>text/plain</type>
            <size>18480</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU3Mzg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDNlNTA1ZWUzNzg1NTc2
NmE3OThlMWY2MTEyNWFlODQzOWIyODk4Ni4uMGMwZGMzMTAwMzRjOWMyZmJmYzIxOTQxM2JhYjI3
YTViNjBkMjc0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDEzLTEwLTE0ICBOb2Ft
IFJvc2VudGhhbCAgPG5vYW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBHcmFwaGljc0xheWVycyBz
aG91bGQgYmUgYXdhcmUgb2Ygcm91bmRlZCByZWN0IGNsaXBwaW5nCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTU2MTMKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCB0aGUgbG9naWMgaW4gUmVuZGVy
TGF5ZXJCYWNraW5nIHRvIGZpZ3VyZSBvdXQgdGhlIGJvcmRlci1yYWRpdXMgY2xpcHBpbmcgZm9y
IGEgR3JhcGhpY3NMYXllci4KKyAgICAgICAgVGhpcyBpcyBkb25lIGJ5IGFkZGluZyBuZXcgcm91
bmRlZFJlY3RNYXNrL3NldFJvdW5kZWRSZWN0TWFzayBwcm9wZXJ0aWVzIHRvIEdyYXBoaWNzTGF5
ZXIuCisKKyAgICAgICAgTm90ZSB0aGF0IHRoaXMgaXMgbm90IGNvbXBsZXRlLCBhcyBpdCBkb2Vz
IG5vdCBjb3ZlciB0aGUgY2FzZSB3aGVyZSB0aGUgbGF5ZXIgd2hpY2ggaGFzIHRoZSBib3JkZXIK
KyAgICAgICAgcmFkaXVzIGlzIG5vdCBjb21wb3NpdGVkIGJ1dCBpcyBhbiBhbmNlc3RvciBmb3Ig
b3RoZXIgY29tcG9zaXRpbmcgbGF5ZXJzLgorICAgICAgICBUaGlzIHdvdWxkIGhhdmUgdG8gYmUg
ZG9uZSBieSBtYWtpbmcgdGhvc2Ugcm91bmRlZC1yZWN0IGxheWVycyBjb21wb3NpdGVkLCBhcyB0
aGUgQ2xpcFJlY3RzCisgICAgICAgIGNvbnRleHQgY2Fubm90IGludGVyc2VjdCBtdWx0aXBsZSBy
b3VuZGVkIHJlY3RzLgorCisgICAgICAgIFRlc3RzOiBjb21wb3NpdGluZy9ib3JkZXItcmFkaXVz
L2JvcmRlci1yYWRpdXMtd2ViZ2wuaHRtbAorICAgICAgICAgICAgICAgY29tcG9zaXRpbmcvYm9y
ZGVyLXJhZGl1cy9jb21wb3NpdGVkLWJvcmRlci1yYWRpdXMtZGVzY2VuZGFudC1sYXJnZS1yYWRp
dXMuaHRtbAorICAgICAgICAgICAgICAgY29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9jb21wb3Np
dGVkLWJvcmRlci1yYWRpdXMtZGVzY2VuZGFudC11bmV2ZW4uaHRtbAorICAgICAgICAgICAgICAg
Y29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9jb21wb3NpdGVkLWJvcmRlci1yYWRpdXMtZGVzY2Vu
ZGFudC5odG1sCisgICAgICAgICAgICAgICBjb21wb3NpdGluZy9ib3JkZXItcmFkaXVzL2NvbXBv
c2l0ZWQtYm9yZGVyLXJhZGl1cy5odG1sCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9H
cmFwaGljc0xheWVyLmg6CisgICAgICAgIChHcmFwaGljc0xheWVyKToKKyAgICAgICAgKFdlYkNv
cmU6OkdyYXBoaWNzTGF5ZXI6OnNldENoaWxkcmVuUm91bmRlZFJlY3RNYXNrKToKKyAgICAgICAg
KFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OnNldENvbnRlbnRzUm91bmRlZFJlY3RNYXNrKToKKyAg
ICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OmNoaWxkcmVuUm91bmRlZFJlY3RNYXNrKToK
KyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OmNvbnRlbnRzUm91bmRlZFJlY3RNYXNr
KToKKyAgICAgICAgICAgIEFkZCByb3VuZGVkUmVjdE1hc2sgcHJvcGVydHkgdG8gR3JhcGhpY3NM
YXllci4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Sb3VuZGVkUmVjdC5oOgorICAgICAg
ICAoUm91bmRlZFJlY3QpOgorICAgICAgICAgICAgQWRkZWQgYSBkZWZhdWx0IGNvbnN0cnVjdG9y
IGZvciBSb3VuZGVkUmVjdC4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckJhY2tp
bmcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6cm91bmRlZFJlY3RNYXNrKToKKyAgICAgICAgKFdl
YkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVHcmFw
aGljc0xheWVyR2VvbWV0cnkpOgorICAgICAgICAgICAgQ2FsY3VsYXRlIHRoZSByb3VuZGVkUmVj
dCBtYXNrIGZvciB0aGUgR3JhcGhpY3NMYXllciB3aGVuIGNvbXB1dGluZyBpdHMgY2xpcCBwcm9w
ZXJ0aWVzLgorCiAyMDEzLTEwLTEzICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgTWVyZ2UgTk9ERV9UWVBFX0NBU1RTIGFuZCBFTEVNRU5UX1RZUEVfQ0FTVFMKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuaAppbmRleCBl
YmE0M2RkNGViMmMyZGFiNjVlOGRiM2ZkNWJlZTRmNzBjZjY1MjZkLi40Njk4ODEwMjY0NzdhYmRk
NzQ1Y2I3MDZjN2JmZjE4NjczMDgzZTMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5oCkBAIC0zNiw2ICszNiw3IEBACiAjaW5jbHVkZSAi
R3JhcGhpY3NMYXllckNsaWVudC5oIgogI2luY2x1ZGUgIkludFJlY3QuaCIKICNpbmNsdWRlICJQ
bGF0Zm9ybUxheWVyLmgiCisjaW5jbHVkZSAiUm91bmRlZFJlY3QuaCIKICNpbmNsdWRlICJUcmFu
c2Zvcm1PcGVyYXRpb25zLmgiCiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0
Zi9QYXNzT3duUHRyLmg+CkBAIC0zMDcsNyArMzA4LDE1IEBAIHB1YmxpYzoKICAgICAKICAgICBi
b29sIG1hc2tzVG9Cb3VuZHMoKSBjb25zdCB7IHJldHVybiBtX21hc2tzVG9Cb3VuZHM7IH0KICAg
ICB2aXJ0dWFsIHZvaWQgc2V0TWFza3NUb0JvdW5kcyhib29sIGIpIHsgbV9tYXNrc1RvQm91bmRz
ID0gYjsgfQotICAgIAorCisgICAgdmlydHVhbCB2b2lkIHNldENoaWxkcmVuUm91bmRlZFJlY3RN
YXNrKGNvbnN0IFJvdW5kZWRSZWN0JiByKSB7IG1fY2hpbGRyZW5Sb3VuZGVkUmVjdE1hc2sgPSBy
OyB9CisgICAgY29uc3QgUm91bmRlZFJlY3QmIGNoaWxkcmVuUm91bmRlZFJlY3RNYXNrKCkgY29u
c3QgeyByZXR1cm4gbV9jaGlsZHJlblJvdW5kZWRSZWN0TWFzazsgfQorCisgICAgLy8gVGhpcyBt
YXNrcyB0aGUgbGF5ZXIncyBkaXJlY3QgY29tcG9zaXRlZCBjb250ZW50cyAoY2FudmFzLCB2aWRl
bywgcGx1Z2luLCBpbWFnZSkuCisgICAgLy8gTm90ZSB0aGF0IHRoZSBsYXllcidzIGJhY2tpbmct
c3RvcmUgY29udGVudHMgYWxyZWFkeSBpbmNsdWRlIHRoZSByb3VuZGluZy4KKyAgICB2aXJ0dWFs
IHZvaWQgc2V0Q29udGVudHNSb3VuZGVkUmVjdE1hc2soY29uc3QgUm91bmRlZFJlY3QmIHIpIHsg
bV9jb250ZW50c1JvdW5kZWRSZWN0TWFzayA9IHI7IH0KKyAgICBjb25zdCBSb3VuZGVkUmVjdCYg
Y29udGVudHNSb3VuZGVkUmVjdE1hc2soKSBjb25zdCB7IHJldHVybiBtX2NvbnRlbnRzUm91bmRl
ZFJlY3RNYXNrOyB9CisKICAgICBib29sIGRyYXdzQ29udGVudCgpIGNvbnN0IHsgcmV0dXJuIG1f
ZHJhd3NDb250ZW50OyB9CiAgICAgdmlydHVhbCB2b2lkIHNldERyYXdzQ29udGVudChib29sIGIp
IHsgbV9kcmF3c0NvbnRlbnQgPSBiOyB9CiAKQEAgLTU3Niw2ICs1ODUsOSBAQCBwcm90ZWN0ZWQ6
CiAgICAgSW50UG9pbnQgbV9jb250ZW50c1RpbGVQaGFzZTsKICAgICBJbnRTaXplIG1fY29udGVu
dHNUaWxlU2l6ZTsKIAorICAgIFJvdW5kZWRSZWN0IG1fY2hpbGRyZW5Sb3VuZGVkUmVjdE1hc2s7
CisgICAgUm91bmRlZFJlY3QgbV9jb250ZW50c1JvdW5kZWRSZWN0TWFzazsKKwogICAgIGludCBt
X3JlcGFpbnRDb3VudDsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL1JvdW5kZWRSZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9Sb3VuZGVkUmVjdC5oCmluZGV4IGQ5MjNlMzUzZjQ4YWI5OGRlOTE1NzczNjNiYTYzNGM3OGE5
YzIzMDMuLmM4YmZjZTVkMzA3MzhjNzYxYjg0NmJhMDJkZWEwNDJlODBlMDQxMTQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1JvdW5kZWRSZWN0LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUm91bmRlZFJlY3QuaApAQCAtNzMsNyAr
NzMsNyBAQCBwdWJsaWM6CiAgICAgICAgIEludFNpemUgbV9ib3R0b21SaWdodDsKICAgICB9Owog
Ci0gICAgZXhwbGljaXQgUm91bmRlZFJlY3QoY29uc3QgSW50UmVjdCYsIGNvbnN0IFJhZGlpJiA9
IFJhZGlpKCkpOworICAgIGV4cGxpY2l0IFJvdW5kZWRSZWN0KGNvbnN0IEludFJlY3QmID0gSW50
UmVjdCgpLCBjb25zdCBSYWRpaSYgPSBSYWRpaSgpKTsKICAgICBSb3VuZGVkUmVjdChpbnQgeCwg
aW50IHksIGludCB3aWR0aCwgaW50IGhlaWdodCk7CiAgICAgUm91bmRlZFJlY3QoY29uc3QgSW50
UmVjdCYsIGNvbnN0IEludFNpemUmIHRvcExlZnQsIGNvbnN0IEludFNpemUmIHRvcFJpZ2h0LCBj
b25zdCBJbnRTaXplJiBib3R0b21MZWZ0LCBjb25zdCBJbnRTaXplJiBib3R0b21SaWdodCk7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKaW5k
ZXggOWFhYjY1ZjIzNjJmOGYwODY4YzAxNjM0MTRmOGQ4NjU2MzJmMDk1OS4uZjVlZDM3OWI1Njhi
ZDUzZTU4NDFlZjRlYjA5Mjc1YjRkZGE4ZGQ0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKQEAgLTU4NSw2ICs1ODUsMTUgQEAgc3RhdGlj
IEludFJlY3QgY2xpcEJveChSZW5kZXJCb3gmIHJlbmRlcmVyKQogICAgIHJldHVybiBwaXhlbFNu
YXBwZWRJbnRSZWN0KHJlc3VsdCk7CiB9CiAKK3N0YXRpYyBSb3VuZGVkUmVjdCByb3VuZGVkUmVj
dE1hc2soY29uc3QgUmVuZGVyT2JqZWN0JiByZW5kZXJlcikKK3sKKyAgICBjb25zdCBSZW5kZXJT
dHlsZSogc3R5bGUgPSByZW5kZXJlci5zdHlsZSgpOworICAgIGlmICghc3R5bGUtPmhhc0JvcmRl
clJhZGl1cygpKQorICAgICAgICByZXR1cm4gUm91bmRlZFJlY3QoKTsKKworICAgIHJldHVybiBz
dHlsZS0+Z2V0Um91bmRlZElubmVyQm9yZGVyRm9yKHRvUmVuZGVyQm94KHJlbmRlcmVyKS5waXhl
bFNuYXBwZWRCb3JkZXJCb3hSZWN0KCkpOworfQorCiB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6
dXBkYXRlR3JhcGhpY3NMYXllckdlb21ldHJ5KCkKIHsKICAgICAvLyBJZiB3ZSBoYXZlbid0IGJ1
aWx0IHotb3JkZXIgbGlzdHMgeWV0LCB3YWl0IHVudGlsIGxhdGVyLgpAQCAtNjYxLDcgKzY3MCw3
IEBAIHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVHcmFwaGljc0xheWVyR2VvbWV0cnko
KQogICAgICAgICBJbnRQb2ludCBzY3JvbGxPcmlnaW4ocmVuZGVyQm94LmJvcmRlckxlZnQoKSwg
cmVuZGVyQm94LmJvcmRlclRvcCgpKTsKICAgICAgICAgZ3JhcGhpY3NMYXllclBhcmVudExvY2F0
aW9uID0gc2Nyb2xsT3JpZ2luIC0gc2Nyb2xsT2Zmc2V0OwogICAgIH0KLSAgICAKKwogICAgIGlm
IChjb21wQW5jZXN0b3IgJiYgbV9hbmNlc3RvckNsaXBwaW5nTGF5ZXIpIHsKICAgICAgICAgLy8g
Q2FsbCBjYWxjdWxhdGVSZWN0cyB0byBnZXQgdGhlIGJhY2tncm91bmRSZWN0IHdoaWNoIGlzIHdo
YXQgaXMgdXNlZCB0byBjbGlwIHRoZSBjb250ZW50cyBvZiB0aGlzCiAgICAgICAgIC8vIGxheWVy
LiBOb3RlIHRoYXQgd2UgY2FsbCBpdCB3aXRoIHRlbXBvcmFyeUNsaXBSZWN0cyA9IHRydWUgYmVj
YXVzZSBub3JtYWxseSB3aGVuIGNvbXB1dGluZyBjbGlwIHJlY3RzCkBAIC02OTksNiArNzA4LDkg
QEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZUdyYXBoaWNzTGF5ZXJHZW9tZXRyeSgp
CiAgICAgICAgIG1fZ3JhcGhpY3NMYXllci0+c2V0Q29udGVudHNPcGFxdWUobV9vd25pbmdMYXll
ci5iYWNrZ3JvdW5kSXNLbm93blRvQmVPcGFxdWVJblJlY3QobG9jYWxDb21wb3NpdGluZ0JvdW5k
cykpOwogICAgIH0KIAorICAgIFJvdW5kZWRSZWN0IHJvdW5kZWRSZWN0ID0gcm91bmRlZFJlY3RN
YXNrKHJlbmRlcmVyKCkpOworICAgIG1fZ3JhcGhpY3NMYXllci0+c2V0Q29udGVudHNSb3VuZGVk
UmVjdE1hc2socm91bmRlZFJlY3QpOworCiAgICAgLy8gSWYgd2UgaGF2ZSBhIGxheWVyIHRoYXQg
Y2xpcHMgY2hpbGRyZW4sIHBvc2l0aW9uIGl0LgogICAgIEludFJlY3QgY2xpcHBpbmdCb3g7CiAg
ICAgaWYgKEdyYXBoaWNzTGF5ZXIqIGNsaXBMYXllciA9IGNsaXBwaW5nTGF5ZXIoKSkgewpAQCAt
NzA2LDYgKzcxOCw3IEBAIHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVHcmFwaGljc0xh
eWVyR2VvbWV0cnkoKQogICAgICAgICBjbGlwTGF5ZXItPnNldFBvc2l0aW9uKEZsb2F0UG9pbnQo
Y2xpcHBpbmdCb3gubG9jYXRpb24oKSAtIGxvY2FsQ29tcG9zaXRpbmdCb3VuZHMubG9jYXRpb24o
KSkpOwogICAgICAgICBjbGlwTGF5ZXItPnNldFNpemUoY2xpcHBpbmdCb3guc2l6ZSgpKTsKICAg
ICAgICAgY2xpcExheWVyLT5zZXRPZmZzZXRGcm9tUmVuZGVyZXIodG9JbnRTaXplKGNsaXBwaW5n
Qm94LmxvY2F0aW9uKCkpKTsKKyAgICAgICAgY2xpcExheWVyLT5zZXRDaGlsZHJlblJvdW5kZWRS
ZWN0TWFzayhyb3VuZGVkUmVjdCk7CiAgICAgfQogICAgIAogICAgIGlmIChtX21hc2tMYXllcikg
ewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCmluZGV4IDRhZDEzODJiMTVhMWYzZTE4NmRmYmJjYjc5YTVkYTQyNWY1NTc0MDUuLjdlYzFi
ZTczMDI3NjBjOGQyY2VlYWUwNTkzMTc4NmRlOWJiNTA3OWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEgKzEsMTggQEAK
KzIwMTMtMTAtMTQgIE5vYW0gUm9zZW50aGFsICA8bm9hbUB3ZWJraXQub3JnPgorCisgICAgICAg
IEdyYXBoaWNzTGF5ZXJzIHNob3VsZCBiZSBhd2FyZSBvZiByb3VuZGVkIHJlY3QgY2xpcHBpbmcK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNTYxMwor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIGEg
ZmV3IHRlc3RzIGZvciBjb21wb3NpdGluZy9ib3JkZXItcmFkaXVzLiBGb3Igbm93IHRob3NlIHRl
c3RzIGFyZSBtYXJrZWQgYXMgaGF2aW5nCisgICAgICAgIG1pc3NpbmcgaW1hZ2VzLCB1bnRpbCB0
aGUgY29tcG9zaXRvcnMgY2FuIHByb2R1Y2UgdGhlIHJpZ2h0IGltYWdlIHJlc3VsdHMuCisKKyAg
ICAgICAgKiBUZXN0RXhwZWN0YXRpb25zOiBBZGRlZCBleHBlY3RhdGlvbnMgZm9yIG5ldyB0ZXN0
cy4KKyAgICAgICAgKiBjb21wb3NpdGluZy9ib3JkZXItcmFkaXVzL2JvcmRlci1yYWRpdXMtd2Vi
Z2wuaHRtbDogQWRkZWQuCisgICAgICAgICogY29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9jb21w
b3NpdGVkLWJvcmRlci1yYWRpdXMtZGVzY2VuZGFudC1sYXJnZS1yYWRpdXMuaHRtbDogQWRkZWQu
CisgICAgICAgICogY29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9jb21wb3NpdGVkLWJvcmRlci1y
YWRpdXMtZGVzY2VuZGFudC11bmV2ZW4uaHRtbDogQWRkZWQuCisgICAgICAgICogY29tcG9zaXRp
bmcvYm9yZGVyLXJhZGl1cy9jb21wb3NpdGVkLWJvcmRlci1yYWRpdXMtZGVzY2VuZGFudC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBjb21wb3NpdGluZy9ib3JkZXItcmFkaXVzL2NvbXBvc2l0ZWQt
Ym9yZGVyLXJhZGl1cy5odG1sOiBBZGRlZC4KKwogPT0gUm9sbGVkIG92ZXIgdG8gQ2hhbmdlTG9n
LTIwMTMtMTAtMTMgPT0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMg
Yi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDAyOGNhNDk4MGJlZDVmMzg3Njgy
Yzg1ZWVmOGI0NDIwMDBkMTliMzQuLmUxZjI3ODFlMzk4MDE2MzViYzQ3NmM1Y2ZlYThlZTg5YWNm
YThhNDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5
b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNjUsMyArNjUsNSBAQCBmYXN0L21lZGlhc3Ry
ZWFtL01lZGlhU3RyZWFtLWNsb25lLmh0bWwgWyBTa2lwIF0KICMgU2tpcHBpbmcgaXQgZm9yIG5v
dywgdGhlbiBwdXQgaXQgYWdhaW4gd2hlbiB0aGUgc3BlYyBkZWNpZGVzIGl0CiBmYXN0L21lZGlh
c3RyZWFtL01lZGlhU3RyZWFtLW9uZW5kZWQuaHRtbCBbIFNraXAgXQogCisjIHBlbmRpbmcgYm9y
ZGVyIHJhZGl1cyBpbiBjb21wb3NpdG9ycword2Via2l0Lm9yZy9iLzExNTYxNCBjb21wb3NpdGlu
Zy9ib3JkZXItcmFkaXVzIFsgUGFzcyBNaXNzaW5nIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2NvbXBvc2l0aW5nL2JvcmRlci1yYWRpdXMvYm9yZGVyLXJhZGl1cy13ZWJnbC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9ib3JkZXItcmFkaXVzL2JvcmRlci1yYWRpdXMt
d2ViZ2wtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhiMTM3ODkxNzkxZmU5NjkyN2FkNzhlNjRi
MGFhZDdiZGVkMDhiZGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGlu
Zy9ib3JkZXItcmFkaXVzL2JvcmRlci1yYWRpdXMtd2ViZ2wtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEgQEAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1
cy9ib3JkZXItcmFkaXVzLXdlYmdsLmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9ib3Jk
ZXItcmFkaXVzL2JvcmRlci1yYWRpdXMtd2ViZ2wuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yOTk5ZDhkYTUy
MDZlMjVlZGJmNjE4MWNlZGUyMWE5ZjlkMzI5ZDBjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvY29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9ib3JkZXItcmFkaXVzLXdlYmdsLmh0bWwK
QEAgLTAsMCArMSw3MSBAQAorPGh0bWw+CisgIDxoZWFkPgorICAgIDxzdHlsZSB0eXBlPSJ0ZXh0
L2NzcyIgbWVkaWE9InNjcmVlbiI+CisgICAgICBib2R5IHsKKyAgICAgICAgb3V0bGluZTogMTBw
eCBzb2xpZCB0cmFuc3BhcmVudDsgLyogYWZmZWN0cyBsYXllciBzaXplcyAqLworICAgICAgfQor
ICAgICAgY2FudmFzIHsKKyAgICAgICAgbWFyZ2luOiAyMHB4OworICAgICAgICB3aWR0aDogMjAw
cHg7CisgICAgICAgIGhlaWdodDogMjAwcHg7CisgICAgICAgIHBhZGRpbmc6IDAgMjBweDsKKyAg
ICAgIH0KKworICAgICAgLmNvbXBvc2l0ZWQgeworICAgICAgCS13ZWJraXQtdHJhbnNmb3JtOiB0
cmFuc2xhdGUzZCgwLCAwLCAwKTsKKyAgICAgIH0KKworICAgICAgLnJvdW5kZWQgeworICAgICAg
CWJvcmRlci1yYWRpdXM6IDgwcHg7CisgICAgICB9CisgICAgCisgICAgICAuY29tcGFyZSB7Cisg
ICAgICAgIG1hcmdpbi1sZWZ0OiA0MHB4OworICAgICAgICBtYXJnaW4tdG9wOiAyMHB4OworICAg
ICAgICB3aWR0aDogMjAwcHg7CisgICAgICAgIGhlaWdodDogMjAwcHg7CisgICAgICAgIGJhY2tn
cm91bmQtY29sb3I6IHJnYmEoMCwgMTI4LCAwLCAxLjApOworICAgICAgfQorICAgIDwvc3R5bGU+
CisgICAgPHNjcmlwdD4KKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAg
ICAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0V2ViR0xFbmFibGVkIiwg
IjEiKTsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCh0cnVlKTsKKyAgICAgICAg
fQorCisgICAgICAgIGZ1bmN0aW9uIGluaXRXZWJHTChjYW52YXNOYW1lLCB2c2hhZGVyLCBmc2hh
ZGVyLCBhdHRyaWJzLCBjbGVhckNvbG9yLCBjbGVhckRlcHRoKQorICAgICAgICB7CisgICAgICAg
ICAgICB2YXIgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoY2FudmFzTmFtZSk7Cisg
ICAgICAgICAgICB2YXIgZ2wgPSBjYW52YXMuZ2V0Q29udGV4dCgiZXhwZXJpbWVudGFsLXdlYmds
Iiwge2FscGhhOiBmYWxzZX0pOworICAgICAgICAgICAgaWYgKCFnbCkgeworICAgICAgICAgICAg
ICAgIGFsZXJ0KCJObyBXZWJHTCBjb250ZXh0IGZvdW5kIik7CisgICAgICAgICAgICAgICAgcmV0
dXJuIG51bGw7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGdsLmNsZWFyQ29sb3IoY2xl
YXJDb2xvclswXSwgY2xlYXJDb2xvclsxXSwgY2xlYXJDb2xvclsyXSwgY2xlYXJDb2xvclszXSk7
CisgICAgICAgICAgICBnbC5jbGVhckRlcHRoKGNsZWFyRGVwdGgpOworCisgICAgICAgICAgICBy
ZXR1cm4gZ2w7CisgICAgICAgIH0KKworICAgICAgICBmdW5jdGlvbiBkcmF3Q2FudmFzKGNhbnZh
c0lEKQorICAgICAgICB7CisgICAgICAgICAgdmFyIGdsID0gaW5pdFdlYkdMKGNhbnZhc0lELCAi
IiwgIiIsIFtdLCBbIDAsIC41LCAwLCAwIF0sIDEpOworICAgICAgICAgIGdsLnZpZXdwb3J0KDAs
IDAsIDIwMCwgMjAwKTsKKyAgICAgICAgICBnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUIHwg
Z2wuREVQVEhfQlVGRkVSX0JJVCk7CisgICAgICAgIH0KKworICAgICAgICBmdW5jdGlvbiBpbml0
KCkKKyAgICAgICAgeworICAgICAgICAgIGRyYXdDYW52YXMoJ2NhbnZhcycpOworICAgICAgICB9
CisgICAgPC9zY3JpcHQ+CisgIDwvaGVhZD4KKyAgPGJvZHkgb25sb2FkPSJpbml0KCkiPgorCisg
ICAgPGRpdiBjbGFzcz0iY29tcGFyZSBjb21wb3NpdGVkIHJvdW5kZWQiPjwvZGl2PgorICAgIDxj
YW52YXMgaWQ9ImNhbnZhcyIgY2xhc3M9ImNvbXBvc2l0ZWQgcm91bmRlZCIgd2lkdGg9IjIwMCIg
aGVpZ2h0PSIyMDAiPjwvY2FudmFzPgorCisgICAgPCEtLSBUb3AgYW5kIGJvdHRvbSBzaG91bGQg
bG9vayB0aGUgc2FtZS4gLS0+CisgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2NvbXBvc2l0aW5nL2JvcmRlci1yYWRpdXMvY29tcG9zaXRlZC1ib3JkZXItcmFkaXVz
LWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvYm9yZGVy
LXJhZGl1cy9jb21wb3NpdGVkLWJvcmRlci1yYWRpdXMtZGVzY2VuZGFudC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMzE5ODkxYzNhZTdiOTVhZGVlMGM2ZjI2YjdlZmE5ZDAzMzEyMmVhZAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2JvcmRlci1yYWRpdXMvY29t
cG9zaXRlZC1ib3JkZXItcmFkaXVzLWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTEgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDAp
IHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlckJsb2Nr
IHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAo
OCw4KSBzaXplIDc4NHg1ODQKK2xheWVyIGF0ICg4LDgpIHNpemUgMTAweDEwMAorICBSZW5kZXJC
bG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDEwMHgxMDAKK2xheWVyIGF0ICg4LDgpIHNpemUgMTAw
eDEwMAorICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDEwMHgxMDAgW2JnY29sb3I9
IzAwODAwMF0KKyAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgMHgwCisgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9jb21wb3NpdGluZy9ib3JkZXItcmFkaXVzL2NvbXBvc2l0ZWQtYm9yZGVyLXJhZGl1cy1k
ZXNjZW5kYW50LWxhcmdlLXJhZGl1cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jb21wb3Np
dGluZy9ib3JkZXItcmFkaXVzL2NvbXBvc2l0ZWQtYm9yZGVyLXJhZGl1cy1kZXNjZW5kYW50LWxh
cmdlLXJhZGl1cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzE5ODkxYzNhZTdiOTVhZGVlMGM2
ZjI2YjdlZmE5ZDAzMzEyMmVhZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NvbXBv
c2l0aW5nL2JvcmRlci1yYWRpdXMvY29tcG9zaXRlZC1ib3JkZXItcmFkaXVzLWRlc2NlbmRhbnQt
bGFyZ2UtcmFkaXVzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBACitsYXllciBhdCAoMCww
KSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVy
IGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6
ZSA4MDB4NjAwCisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTg0Cits
YXllciBhdCAoOCw4KSBzaXplIDEwMHgxMDAKKyAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkg
c2l6ZSAxMDB4MTAwCitsYXllciBhdCAoOCw4KSBzaXplIDEwMHgxMDAKKyAgUmVuZGVyQmxvY2sg
e0RJVn0gYXQgKDAsMCkgc2l6ZSAxMDB4MTAwIFtiZ2NvbG9yPSMwMDgwMDBdCisgICAgUmVuZGVy
SW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDB4MAorICAgIFJlbmRlclRleHQgeyN0ZXh0fSBh
dCAoMCwwKSBzaXplIDB4MApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvYm9y
ZGVyLXJhZGl1cy9jb21wb3NpdGVkLWJvcmRlci1yYWRpdXMtZGVzY2VuZGFudC1sYXJnZS1yYWRp
dXMuaHRtbCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2JvcmRlci1yYWRpdXMvY29tcG9zaXRl
ZC1ib3JkZXItcmFkaXVzLWRlc2NlbmRhbnQtbGFyZ2UtcmFkaXVzLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZWM2Y2YwNWNhZTA4OWY1ZTgwM2YxNjEzYmExYWU2MDQ4ZTcyMTg3YgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2JvcmRlci1yYWRpdXMvY29tcG9zaXRlZC1ib3Jk
ZXItcmFkaXVzLWRlc2NlbmRhbnQtbGFyZ2UtcmFkaXVzLmh0bWwKQEAgLTAsMCArMSwyNyBAQAor
PGh0bWw+CisgIDxoZWFkPgorICAgIDxzdHlsZT4KKwkgIC5yb3VuZGVkIHsKKwkJYm9yZGVyLXJh
ZGl1czogNjBweDsKKwkJb3ZlcmZsb3c6IGhpZGRlbjsKKwkJZGlzcGxheTogYmxvY2s7CisJCXdp
ZHRoOiAxMDBweDsKKwkgIH0KKworCSAgLmNvbXBvc2l0ZWQgeyAtd2Via2l0LXRyYW5zZm9ybTog
dHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0KKwkgIC5ncmVlbiB7CisJCXdpZHRoOiAxMDBweDsKKwkJ
aGVpZ2h0OiAxMDBweDsKKwkJZGlzcGxheTogYmxvY2s7CisJCWJhY2tncm91bmQtY29sb3I6IGdy
ZWVuOworCSAgfQorCTwvc3R5bGU+CisgIDwvaGVhZD4KKyAgPGJvZHk+CisJPGRpdiBjbGFzcz0i
Y29tcG9zaXRlZCByb3VuZGVkIj4KKwkgIDxkaXYgY2xhc3M9ImNvbXBvc2l0ZWQgZ3JlZW4iPgor
CQk8c3Bhbj48L3NwYW4+CisJICA8L2Rpdj4KKwk8L2Rpdj4KKyAgPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBv
c2l0aW5nL2JvcmRlci1yYWRpdXMvY29tcG9zaXRlZC1ib3JkZXItcmFkaXVzLWRlc2NlbmRhbnQt
dW5ldmVuLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2JvcmRlci1yYWRp
dXMvY29tcG9zaXRlZC1ib3JkZXItcmFkaXVzLWRlc2NlbmRhbnQtdW5ldmVuLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4zMTk4OTFjM2FlN2I5NWFkZWUwYzZmMjZiN2VmYTlkMDMzMTIyZWFkCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9j
b21wb3NpdGVkLWJvcmRlci1yYWRpdXMtZGVzY2VuZGFudC11bmV2ZW4tZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTEgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3
IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJl
bmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgICBSZW5kZXJCb2R5IHtC
T0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKK2xheWVyIGF0ICg4LDgpIHNpemUgMTAweDEwMAor
ICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDEwMHgxMDAKK2xheWVyIGF0ICg4LDgp
IHNpemUgMTAweDEwMAorICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDEwMHgxMDAg
W2JnY29sb3I9IzAwODAwMF0KKyAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUg
MHgwCisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9ib3JkZXItcmFkaXVzL2NvbXBvc2l0ZWQtYm9yZGVy
LXJhZGl1cy1kZXNjZW5kYW50LXVuZXZlbi5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcv
Ym9yZGVyLXJhZGl1cy9jb21wb3NpdGVkLWJvcmRlci1yYWRpdXMtZGVzY2VuZGFudC11bmV2ZW4u
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi45ZDgyYTNkOWViN2U1MTdkMTlhNzdmZTE3MWU0ZWRiNGMyMDcxY2U4
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1
cy9jb21wb3NpdGVkLWJvcmRlci1yYWRpdXMtZGVzY2VuZGFudC11bmV2ZW4uaHRtbApAQCAtMCww
ICsxLDMwIEBACis8aHRtbD4KKyAgPGhlYWQ+CisgICAgPHN0eWxlPgorICAgICAgLnJvdW5kZWQg
eworICAgICAgICBib3JkZXItcmFkaXVzOiAwIDEwcHggMjBweCAzMHB4OworICAgICAgICBvdmVy
ZmxvdzogaGlkZGVuOworICAgICAgICBkaXNwbGF5OiBibG9jazsKKyAgICAgICAgd2lkdGg6IDEw
MHB4OworICAgICAgfQorCisgICAgICAuY29tcG9zaXRlZCB7CisgICAgICAgIC13ZWJraXQtdHJh
bnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsKKyAgICAgIH0KKworICAgICAgLmdyZWVuIHsK
KyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBk
aXNwbGF5OiBibG9jazsKKyAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47CisgICAgICB9
CisgICAgPC9zdHlsZT4KKyAgPC9oZWFkPgorICA8Ym9keT4KKyAgICA8ZGl2IGNsYXNzPSJjb21w
b3NpdGVkIHJvdW5kZWQiPgorICAgICAgPGRpdiBjbGFzcz0iY29tcG9zaXRlZCBncmVlbiI+Cisg
ICAgICAgIDxzcGFuPjwvc3Bhbj4KKyAgICAgIDwvZGl2PgorICAgIDwvZGl2PgorICA8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvY29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9jb21wb3NpdGVkLWJvcmRlci1yYWRpdXMt
ZGVzY2VuZGFudC5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9j
b21wb3NpdGVkLWJvcmRlci1yYWRpdXMtZGVzY2VuZGFudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk4YTY2
NjI0ODQ1OWFlMDBjZjAxZTZiNDVmZjY2YzQwZThiMTc1ZjUKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9jb21wb3NpdGluZy9ib3JkZXItcmFkaXVzL2NvbXBvc2l0ZWQtYm9yZGVyLXJh
ZGl1cy1kZXNjZW5kYW50Lmh0bWwKQEAgLTAsMCArMSwzMCBAQAorPGh0bWw+CisgIDxoZWFkPgor
ICAgIDxzdHlsZT4KKyAgICAgIC5yb3VuZGVkIHsKKyAgICAgICAgYm9yZGVyLXJhZGl1czogMTBw
eDsKKyAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKKyAgICAgICAgZGlzcGxheTogYmxvY2s7Cisg
ICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgIH0KKworICAgICAgLmNvbXBvc2l0ZWQgeworICAg
ICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7CisgICAgICB9CisK
KyAgICAgIC5ncmVlbiB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAx
MDBweDsKKyAgICAgICAgZGlzcGxheTogYmxvY2s7CisgICAgICAgIGJhY2tncm91bmQtY29sb3I6
IGdyZWVuOworICAgICAgfQorICAgIDwvc3R5bGU+CisgIDwvaGVhZD4KKyAgPGJvZHk+CisgICAg
PGRpdiBjbGFzcz0iY29tcG9zaXRlZCByb3VuZGVkIj4KKyAgICAgIDxkaXYgY2xhc3M9ImNvbXBv
c2l0ZWQgZ3JlZW4iPgorICAgICAgICA8c3Bhbj48L3NwYW4+CisgICAgICA8L2Rpdj4KKyAgICA8
L2Rpdj4KKyAgPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2JvcmRlci1yYWRpdXMvY29tcG9zaXRl
ZC1ib3JkZXItcmFkaXVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2Jv
cmRlci1yYWRpdXMvY29tcG9zaXRlZC1ib3JkZXItcmFkaXVzLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi41ZDg2NWVkMjU2MjM4M2VmYjgyYWMyMDBmMjM5NDk0OGJhNjYwMzE3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9jb21wb3NpdGVk
LWJvcmRlci1yYWRpdXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAKK2xheWVyIGF0ICgw
LDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBz
aXplIDgwMHg2MDAKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQK
KyAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgNzg0eDAKK2xheWVyIGF0ICg4
LDgpIHNpemUgMTAweDEwMAorICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkge0RJVn0gYXQgKDgs
OCkgc2l6ZSAxMDB4MTAwIFtiZ2NvbG9yPSMwMDgwMDBdCisgICAgUmVuZGVySW5saW5lIHtTUEFO
fSBhdCAoMCwwKSBzaXplIDB4MAorICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXpl
IDB4MApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9j
b21wb3NpdGVkLWJvcmRlci1yYWRpdXMuaHRtbCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2Jv
cmRlci1yYWRpdXMvY29tcG9zaXRlZC1ib3JkZXItcmFkaXVzLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjI1
OTk2Y2NkMjliNTQ3NTRjMzIyNzQ2ZDkzODM5MmJmYjE4ZmFiOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2JvcmRlci1yYWRpdXMvY29tcG9zaXRlZC1ib3JkZXIt
cmFkaXVzLmh0bWwKQEAgLTAsMCArMSwyOCBAQAorPGh0bWw+CisgIDxoZWFkPgorICAgIDxzdHls
ZT4KKyAgICAgIC5yb3VuZGVkIHsKKyAgICAgICAgYm9yZGVyLXJhZGl1czogMjBweDsKKyAgICAg
ICAgZGlzcGxheTogYmxvY2s7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgcG9zaXRp
b246IGFic29sdXRlOworICAgICAgfQorCisgICAgICAuY29tcG9zaXRlZCB7IC13ZWJraXQtdHJh
bnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfQorCisgICAgICAuZ3JlZW4geworICAgICAg
ICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIGRpc3BsYXk6
IGJsb2NrOworICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsKKyAgICAgIH0KKyAgICA8
L3N0eWxlPgorICA8L2hlYWQ+CisgIDxib2R5PgorICAgIDxkaXY+CisgICAgICA8ZGl2IGNsYXNz
PSJjb21wb3NpdGVkIGdyZWVuIHJvdW5kZWQiPgorICAgICAgICA8c3Bhbj48L3NwYW4+CisgICAg
ICA8L2Rpdj4KKyAgICA8L2Rpdj4KKyAgPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>214240</attachid>
            <date>2013-10-15 00:56:03 -0700</date>
            <delta_ts>2013-12-17 10:49:29 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-115613-20131015095601.patch</filename>
            <type>text/plain</type>
            <size>18510</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU3Mzg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDNlNTA1ZWUzNzg1NTc2
NmE3OThlMWY2MTEyNWFlODQzOWIyODk4Ni4uMGMwZGMzMTAwMzRjOWMyZmJmYzIxOTQxM2JhYjI3
YTViNjBkMjc0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDEzLTEwLTE0ICBOb2Ft
IFJvc2VudGhhbCAgPG5vYW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBHcmFwaGljc0xheWVycyBz
aG91bGQgYmUgYXdhcmUgb2Ygcm91bmRlZCByZWN0IGNsaXBwaW5nCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTU2MTMKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCB0aGUgbG9naWMgaW4gUmVuZGVy
TGF5ZXJCYWNraW5nIHRvIGZpZ3VyZSBvdXQgdGhlIGJvcmRlci1yYWRpdXMgY2xpcHBpbmcgZm9y
IGEgR3JhcGhpY3NMYXllci4KKyAgICAgICAgVGhpcyBpcyBkb25lIGJ5IGFkZGluZyBuZXcgcm91
bmRlZFJlY3RNYXNrL3NldFJvdW5kZWRSZWN0TWFzayBwcm9wZXJ0aWVzIHRvIEdyYXBoaWNzTGF5
ZXIuCisKKyAgICAgICAgTm90ZSB0aGF0IHRoaXMgaXMgbm90IGNvbXBsZXRlLCBhcyBpdCBkb2Vz
IG5vdCBjb3ZlciB0aGUgY2FzZSB3aGVyZSB0aGUgbGF5ZXIgd2hpY2ggaGFzIHRoZSBib3JkZXIK
KyAgICAgICAgcmFkaXVzIGlzIG5vdCBjb21wb3NpdGVkIGJ1dCBpcyBhbiBhbmNlc3RvciBmb3Ig
b3RoZXIgY29tcG9zaXRpbmcgbGF5ZXJzLgorICAgICAgICBUaGlzIHdvdWxkIGhhdmUgdG8gYmUg
ZG9uZSBieSBtYWtpbmcgdGhvc2Ugcm91bmRlZC1yZWN0IGxheWVycyBjb21wb3NpdGVkLCBhcyB0
aGUgQ2xpcFJlY3RzCisgICAgICAgIGNvbnRleHQgY2Fubm90IGludGVyc2VjdCBtdWx0aXBsZSBy
b3VuZGVkIHJlY3RzLgorCisgICAgICAgIFRlc3RzOiBjb21wb3NpdGluZy9ib3JkZXItcmFkaXVz
L2JvcmRlci1yYWRpdXMtd2ViZ2wuaHRtbAorICAgICAgICAgICAgICAgY29tcG9zaXRpbmcvYm9y
ZGVyLXJhZGl1cy9jb21wb3NpdGVkLWJvcmRlci1yYWRpdXMtZGVzY2VuZGFudC1sYXJnZS1yYWRp
dXMuaHRtbAorICAgICAgICAgICAgICAgY29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9jb21wb3Np
dGVkLWJvcmRlci1yYWRpdXMtZGVzY2VuZGFudC11bmV2ZW4uaHRtbAorICAgICAgICAgICAgICAg
Y29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9jb21wb3NpdGVkLWJvcmRlci1yYWRpdXMtZGVzY2Vu
ZGFudC5odG1sCisgICAgICAgICAgICAgICBjb21wb3NpdGluZy9ib3JkZXItcmFkaXVzL2NvbXBv
c2l0ZWQtYm9yZGVyLXJhZGl1cy5odG1sCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9H
cmFwaGljc0xheWVyLmg6CisgICAgICAgIChHcmFwaGljc0xheWVyKToKKyAgICAgICAgKFdlYkNv
cmU6OkdyYXBoaWNzTGF5ZXI6OnNldENoaWxkcmVuUm91bmRlZFJlY3RNYXNrKToKKyAgICAgICAg
KFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OnNldENvbnRlbnRzUm91bmRlZFJlY3RNYXNrKToKKyAg
ICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OmNoaWxkcmVuUm91bmRlZFJlY3RNYXNrKToK
KyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OmNvbnRlbnRzUm91bmRlZFJlY3RNYXNr
KToKKyAgICAgICAgICAgIEFkZCByb3VuZGVkUmVjdE1hc2sgcHJvcGVydHkgdG8gR3JhcGhpY3NM
YXllci4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Sb3VuZGVkUmVjdC5oOgorICAgICAg
ICAoUm91bmRlZFJlY3QpOgorICAgICAgICAgICAgQWRkZWQgYSBkZWZhdWx0IGNvbnN0cnVjdG9y
IGZvciBSb3VuZGVkUmVjdC4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckJhY2tp
bmcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6cm91bmRlZFJlY3RNYXNrKToKKyAgICAgICAgKFdl
YkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVHcmFw
aGljc0xheWVyR2VvbWV0cnkpOgorICAgICAgICAgICAgQ2FsY3VsYXRlIHRoZSByb3VuZGVkUmVj
dCBtYXNrIGZvciB0aGUgR3JhcGhpY3NMYXllciB3aGVuIGNvbXB1dGluZyBpdHMgY2xpcCBwcm9w
ZXJ0aWVzLgorCiAyMDEzLTEwLTEzICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgTWVyZ2UgTk9ERV9UWVBFX0NBU1RTIGFuZCBFTEVNRU5UX1RZUEVfQ0FTVFMKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuaAppbmRleCBl
YmE0M2RkNGViMmMyZGFiNjVlOGRiM2ZkNWJlZTRmNzBjZjY1MjZkLi5mYWRiNjgyMmM5NGJiYmM1
YzU3ZmMyNGZjYzE5MTJhMTUxZDAwYzdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5oCkBAIC0zNiw2ICszNiw3IEBACiAjaW5jbHVkZSAi
R3JhcGhpY3NMYXllckNsaWVudC5oIgogI2luY2x1ZGUgIkludFJlY3QuaCIKICNpbmNsdWRlICJQ
bGF0Zm9ybUxheWVyLmgiCisjaW5jbHVkZSAiUm91bmRlZFJlY3QuaCIKICNpbmNsdWRlICJUcmFu
c2Zvcm1PcGVyYXRpb25zLmgiCiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0
Zi9QYXNzT3duUHRyLmg+CkBAIC0zMDcsNyArMzA4LDE1IEBAIHB1YmxpYzoKICAgICAKICAgICBi
b29sIG1hc2tzVG9Cb3VuZHMoKSBjb25zdCB7IHJldHVybiBtX21hc2tzVG9Cb3VuZHM7IH0KICAg
ICB2aXJ0dWFsIHZvaWQgc2V0TWFza3NUb0JvdW5kcyhib29sIGIpIHsgbV9tYXNrc1RvQm91bmRz
ID0gYjsgfQotICAgIAorCisgICAgdmlydHVhbCB2b2lkIHNldENoaWxkcmVuUm91bmRlZFJlY3RN
YXNrKGNvbnN0IFJvdW5kZWRSZWN0JiBtYXNrKSB7IG1fY2hpbGRyZW5Sb3VuZGVkUmVjdE1hc2sg
PSBtYXNrOyB9CisgICAgY29uc3QgUm91bmRlZFJlY3QmIGNoaWxkcmVuUm91bmRlZFJlY3RNYXNr
KCkgY29uc3QgeyByZXR1cm4gbV9jaGlsZHJlblJvdW5kZWRSZWN0TWFzazsgfQorCisgICAgLy8g
VGhpcyBtYXNrcyB0aGUgbGF5ZXIncyBkaXJlY3QgY29tcG9zaXRlZCBjb250ZW50cyAoY2FudmFz
LCB2aWRlbywgcGx1Z2luLCBpbWFnZSkuCisgICAgLy8gTm90ZSB0aGF0IHRoZSBsYXllcidzIGJh
Y2tpbmctc3RvcmUgY29udGVudHMgYWxyZWFkeSBpbmNsdWRlIHRoZSByb3VuZGluZy4KKyAgICB2
aXJ0dWFsIHZvaWQgc2V0Q29udGVudHNSb3VuZGVkUmVjdE1hc2soY29uc3QgUm91bmRlZFJlY3Qm
IG1hc2spIHsgbV9jb250ZW50c1JvdW5kZWRSZWN0TWFzayA9IG1hc2s7IH0KKyAgICBjb25zdCBS
b3VuZGVkUmVjdCYgY29udGVudHNSb3VuZGVkUmVjdE1hc2soKSBjb25zdCB7IHJldHVybiBtX2Nv
bnRlbnRzUm91bmRlZFJlY3RNYXNrOyB9CisKICAgICBib29sIGRyYXdzQ29udGVudCgpIGNvbnN0
IHsgcmV0dXJuIG1fZHJhd3NDb250ZW50OyB9CiAgICAgdmlydHVhbCB2b2lkIHNldERyYXdzQ29u
dGVudChib29sIGIpIHsgbV9kcmF3c0NvbnRlbnQgPSBiOyB9CiAKQEAgLTU3Niw2ICs1ODUsOSBA
QCBwcm90ZWN0ZWQ6CiAgICAgSW50UG9pbnQgbV9jb250ZW50c1RpbGVQaGFzZTsKICAgICBJbnRT
aXplIG1fY29udGVudHNUaWxlU2l6ZTsKIAorICAgIFJvdW5kZWRSZWN0IG1fY2hpbGRyZW5Sb3Vu
ZGVkUmVjdE1hc2s7CisgICAgUm91bmRlZFJlY3QgbV9jb250ZW50c1JvdW5kZWRSZWN0TWFzazsK
KwogICAgIGludCBtX3JlcGFpbnRDb3VudDsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL1JvdW5kZWRSZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9Sb3VuZGVkUmVjdC5oCmluZGV4IGQ5MjNlMzUzZjQ4YWI5OGRlOTE1Nzcz
NjNiYTYzNGM3OGE5YzIzMDMuLmM4YmZjZTVkMzA3MzhjNzYxYjg0NmJhMDJkZWEwNDJlODBlMDQx
MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1JvdW5kZWRS
ZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUm91bmRlZFJlY3Qu
aApAQCAtNzMsNyArNzMsNyBAQCBwdWJsaWM6CiAgICAgICAgIEludFNpemUgbV9ib3R0b21SaWdo
dDsKICAgICB9OwogCi0gICAgZXhwbGljaXQgUm91bmRlZFJlY3QoY29uc3QgSW50UmVjdCYsIGNv
bnN0IFJhZGlpJiA9IFJhZGlpKCkpOworICAgIGV4cGxpY2l0IFJvdW5kZWRSZWN0KGNvbnN0IElu
dFJlY3QmID0gSW50UmVjdCgpLCBjb25zdCBSYWRpaSYgPSBSYWRpaSgpKTsKICAgICBSb3VuZGVk
UmVjdChpbnQgeCwgaW50IHksIGludCB3aWR0aCwgaW50IGhlaWdodCk7CiAgICAgUm91bmRlZFJl
Y3QoY29uc3QgSW50UmVjdCYsIGNvbnN0IEludFNpemUmIHRvcExlZnQsIGNvbnN0IEludFNpemUm
IHRvcFJpZ2h0LCBjb25zdCBJbnRTaXplJiBib3R0b21MZWZ0LCBjb25zdCBJbnRTaXplJiBib3R0
b21SaWdodCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllckJhY2tpbmcuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFj
a2luZy5jcHAKaW5kZXggOWFhYjY1ZjIzNjJmOGYwODY4YzAxNjM0MTRmOGQ4NjU2MzJmMDk1OS4u
MTExNDEwMGE2YTk5ZGNhMjIwZWExMWM4ZDc0NTNiMmNkZGVhOGYzZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKQEAgLTU4NSw2ICs1ODUs
MTUgQEAgc3RhdGljIEludFJlY3QgY2xpcEJveChSZW5kZXJCb3gmIHJlbmRlcmVyKQogICAgIHJl
dHVybiBwaXhlbFNuYXBwZWRJbnRSZWN0KHJlc3VsdCk7CiB9CiAKK3N0YXRpYyBSb3VuZGVkUmVj
dCBnZXRSb3VuZGVkUmVjdE1hc2soY29uc3QgUmVuZGVyQm94JiByZW5kZXJCb3gpCit7CisgICAg
Y29uc3QgUmVuZGVyU3R5bGUqIHN0eWxlID0gcmVuZGVyQm94LnN0eWxlKCk7CisgICAgaWYgKCFz
dHlsZS0+aGFzQm9yZGVyUmFkaXVzKCkpCisgICAgICAgIHJldHVybiBSb3VuZGVkUmVjdCgpOwor
CisgICAgcmV0dXJuIHN0eWxlLT5nZXRSb3VuZGVkSW5uZXJCb3JkZXJGb3IocmVuZGVyQm94LnBp
eGVsU25hcHBlZEJvcmRlckJveFJlY3QoKSk7Cit9CisKIHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5n
Ojp1cGRhdGVHcmFwaGljc0xheWVyR2VvbWV0cnkoKQogewogICAgIC8vIElmIHdlIGhhdmVuJ3Qg
YnVpbHQgei1vcmRlciBsaXN0cyB5ZXQsIHdhaXQgdW50aWwgbGF0ZXIuCkBAIC02NjEsNyArNjcw
LDcgQEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZUdyYXBoaWNzTGF5ZXJHZW9tZXRy
eSgpCiAgICAgICAgIEludFBvaW50IHNjcm9sbE9yaWdpbihyZW5kZXJCb3guYm9yZGVyTGVmdCgp
LCByZW5kZXJCb3guYm9yZGVyVG9wKCkpOwogICAgICAgICBncmFwaGljc0xheWVyUGFyZW50TG9j
YXRpb24gPSBzY3JvbGxPcmlnaW4gLSBzY3JvbGxPZmZzZXQ7CiAgICAgfQotICAgIAorCiAgICAg
aWYgKGNvbXBBbmNlc3RvciAmJiBtX2FuY2VzdG9yQ2xpcHBpbmdMYXllcikgewogICAgICAgICAv
LyBDYWxsIGNhbGN1bGF0ZVJlY3RzIHRvIGdldCB0aGUgYmFja2dyb3VuZFJlY3Qgd2hpY2ggaXMg
d2hhdCBpcyB1c2VkIHRvIGNsaXAgdGhlIGNvbnRlbnRzIG9mIHRoaXMKICAgICAgICAgLy8gbGF5
ZXIuIE5vdGUgdGhhdCB3ZSBjYWxsIGl0IHdpdGggdGVtcG9yYXJ5Q2xpcFJlY3RzID0gdHJ1ZSBi
ZWNhdXNlIG5vcm1hbGx5IHdoZW4gY29tcHV0aW5nIGNsaXAgcmVjdHMKQEAgLTY5OSw2ICs3MDgs
OSBAQCB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlR3JhcGhpY3NMYXllckdlb21ldHJ5
KCkKICAgICAgICAgbV9ncmFwaGljc0xheWVyLT5zZXRDb250ZW50c09wYXF1ZShtX293bmluZ0xh
eWVyLmJhY2tncm91bmRJc0tub3duVG9CZU9wYXF1ZUluUmVjdChsb2NhbENvbXBvc2l0aW5nQm91
bmRzKSk7CiAgICAgfQogCisgICAgUm91bmRlZFJlY3Qgcm91bmRlZFJlY3RNYXNrID0gZ2V0Um91
bmRlZFJlY3RNYXNrKHRvUmVuZGVyQm94KHJlbmRlcmVyKCkpKTsKKyAgICBtX2dyYXBoaWNzTGF5
ZXItPnNldENvbnRlbnRzUm91bmRlZFJlY3RNYXNrKHJvdW5kZWRSZWN0TWFzayk7CisKICAgICAv
LyBJZiB3ZSBoYXZlIGEgbGF5ZXIgdGhhdCBjbGlwcyBjaGlsZHJlbiwgcG9zaXRpb24gaXQuCiAg
ICAgSW50UmVjdCBjbGlwcGluZ0JveDsKICAgICBpZiAoR3JhcGhpY3NMYXllciogY2xpcExheWVy
ID0gY2xpcHBpbmdMYXllcigpKSB7CkBAIC03MDYsNiArNzE4LDcgQEAgdm9pZCBSZW5kZXJMYXll
ckJhY2tpbmc6OnVwZGF0ZUdyYXBoaWNzTGF5ZXJHZW9tZXRyeSgpCiAgICAgICAgIGNsaXBMYXll
ci0+c2V0UG9zaXRpb24oRmxvYXRQb2ludChjbGlwcGluZ0JveC5sb2NhdGlvbigpIC0gbG9jYWxD
b21wb3NpdGluZ0JvdW5kcy5sb2NhdGlvbigpKSk7CiAgICAgICAgIGNsaXBMYXllci0+c2V0U2l6
ZShjbGlwcGluZ0JveC5zaXplKCkpOwogICAgICAgICBjbGlwTGF5ZXItPnNldE9mZnNldEZyb21S
ZW5kZXJlcih0b0ludFNpemUoY2xpcHBpbmdCb3gubG9jYXRpb24oKSkpOworICAgICAgICBjbGlw
TGF5ZXItPnNldENoaWxkcmVuUm91bmRlZFJlY3RNYXNrKHJvdW5kZWRSZWN0TWFzayk7CiAgICAg
fQogICAgIAogICAgIGlmIChtX21hc2tMYXllcikgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDRhZDEzODJiMTVhMWYzZTE4
NmRmYmJjYjc5YTVkYTQyNWY1NTc0MDUuLjdlYzFiZTczMDI3NjBjOGQyY2VlYWUwNTkzMTc4NmRl
OWJiNTA3OWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEgKzEsMTggQEAKKzIwMTMtMTAtMTQgIE5vYW0gUm9zZW50aGFs
ICA8bm9hbUB3ZWJraXQub3JnPgorCisgICAgICAgIEdyYXBoaWNzTGF5ZXJzIHNob3VsZCBiZSBh
d2FyZSBvZiByb3VuZGVkIHJlY3QgY2xpcHBpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTExNTYxMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIGEgZmV3IHRlc3RzIGZvciBjb21wb3NpdGluZy9i
b3JkZXItcmFkaXVzLiBGb3Igbm93IHRob3NlIHRlc3RzIGFyZSBtYXJrZWQgYXMgaGF2aW5nCisg
ICAgICAgIG1pc3NpbmcgaW1hZ2VzLCB1bnRpbCB0aGUgY29tcG9zaXRvcnMgY2FuIHByb2R1Y2Ug
dGhlIHJpZ2h0IGltYWdlIHJlc3VsdHMuCisKKyAgICAgICAgKiBUZXN0RXhwZWN0YXRpb25zOiBB
ZGRlZCBleHBlY3RhdGlvbnMgZm9yIG5ldyB0ZXN0cy4KKyAgICAgICAgKiBjb21wb3NpdGluZy9i
b3JkZXItcmFkaXVzL2JvcmRlci1yYWRpdXMtd2ViZ2wuaHRtbDogQWRkZWQuCisgICAgICAgICog
Y29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9jb21wb3NpdGVkLWJvcmRlci1yYWRpdXMtZGVzY2Vu
ZGFudC1sYXJnZS1yYWRpdXMuaHRtbDogQWRkZWQuCisgICAgICAgICogY29tcG9zaXRpbmcvYm9y
ZGVyLXJhZGl1cy9jb21wb3NpdGVkLWJvcmRlci1yYWRpdXMtZGVzY2VuZGFudC11bmV2ZW4uaHRt
bDogQWRkZWQuCisgICAgICAgICogY29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9jb21wb3NpdGVk
LWJvcmRlci1yYWRpdXMtZGVzY2VuZGFudC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjb21wb3Np
dGluZy9ib3JkZXItcmFkaXVzL2NvbXBvc2l0ZWQtYm9yZGVyLXJhZGl1cy5odG1sOiBBZGRlZC4K
KwogPT0gUm9sbGVkIG92ZXIgdG8gQ2hhbmdlTG9nLTIwMTMtMTAtMTMgPT0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRp
b25zCmluZGV4IDAyOGNhNDk4MGJlZDVmMzg3NjgyYzg1ZWVmOGI0NDIwMDBkMTliMzQuLmUxZjI3
ODFlMzk4MDE2MzViYzQ3NmM1Y2ZlYThlZTg5YWNmYThhNDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpA
QCAtNjUsMyArNjUsNSBAQCBmYXN0L21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLWNsb25lLmh0bWwg
WyBTa2lwIF0KICMgU2tpcHBpbmcgaXQgZm9yIG5vdywgdGhlbiBwdXQgaXQgYWdhaW4gd2hlbiB0
aGUgc3BlYyBkZWNpZGVzIGl0CiBmYXN0L21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLW9uZW5kZWQu
aHRtbCBbIFNraXAgXQogCisjIHBlbmRpbmcgYm9yZGVyIHJhZGl1cyBpbiBjb21wb3NpdG9ycwor
d2Via2l0Lm9yZy9iLzExNTYxNCBjb21wb3NpdGluZy9ib3JkZXItcmFkaXVzIFsgUGFzcyBNaXNz
aW5nIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2JvcmRlci1yYWRpdXMv
Ym9yZGVyLXJhZGl1cy13ZWJnbC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGlu
Zy9ib3JkZXItcmFkaXVzL2JvcmRlci1yYWRpdXMtd2ViZ2wtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjhiMTM3ODkxNzkxZmU5NjkyN2FkNzhlNjRiMGFhZDdiZGVkMDhiZGMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9ib3JkZXItcmFkaXVzL2JvcmRlci1yYWRp
dXMtd2ViZ2wtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEgQEAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvY29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9ib3JkZXItcmFkaXVzLXdlYmdsLmh0bWwg
Yi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9ib3JkZXItcmFkaXVzL2JvcmRlci1yYWRpdXMtd2Vi
Z2wuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yOTk5ZDhkYTUyMDZlMjVlZGJmNjE4MWNlZGUyMWE5ZjlkMzI5
ZDBjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvYm9yZGVyLXJh
ZGl1cy9ib3JkZXItcmFkaXVzLXdlYmdsLmh0bWwKQEAgLTAsMCArMSw3MSBAQAorPGh0bWw+Cisg
IDxoZWFkPgorICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyIgbWVkaWE9InNjcmVlbiI+CisgICAg
ICBib2R5IHsKKyAgICAgICAgb3V0bGluZTogMTBweCBzb2xpZCB0cmFuc3BhcmVudDsgLyogYWZm
ZWN0cyBsYXllciBzaXplcyAqLworICAgICAgfQorICAgICAgY2FudmFzIHsKKyAgICAgICAgbWFy
Z2luOiAyMHB4OworICAgICAgICB3aWR0aDogMjAwcHg7CisgICAgICAgIGhlaWdodDogMjAwcHg7
CisgICAgICAgIHBhZGRpbmc6IDAgMjBweDsKKyAgICAgIH0KKworICAgICAgLmNvbXBvc2l0ZWQg
eworICAgICAgCS13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsKKyAgICAg
IH0KKworICAgICAgLnJvdW5kZWQgeworICAgICAgCWJvcmRlci1yYWRpdXM6IDgwcHg7CisgICAg
ICB9CisgICAgCisgICAgICAuY29tcGFyZSB7CisgICAgICAgIG1hcmdpbi1sZWZ0OiA0MHB4Owor
ICAgICAgICBtYXJnaW4tdG9wOiAyMHB4OworICAgICAgICB3aWR0aDogMjAwcHg7CisgICAgICAg
IGhlaWdodDogMjAwcHg7CisgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTI4LCAw
LCAxLjApOworICAgICAgfQorICAgIDwvc3R5bGU+CisgICAgPHNjcmlwdD4KKyAgICAgICAgaWYg
KHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgICAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJl
ZmVyZW5jZSgiV2ViS2l0V2ViR0xFbmFibGVkIiwgIjEiKTsKKyAgICAgICAgICAgIHRlc3RSdW5u
ZXIuZHVtcEFzVGV4dCh0cnVlKTsKKyAgICAgICAgfQorCisgICAgICAgIGZ1bmN0aW9uIGluaXRX
ZWJHTChjYW52YXNOYW1lLCB2c2hhZGVyLCBmc2hhZGVyLCBhdHRyaWJzLCBjbGVhckNvbG9yLCBj
bGVhckRlcHRoKQorICAgICAgICB7CisgICAgICAgICAgICB2YXIgY2FudmFzID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoY2FudmFzTmFtZSk7CisgICAgICAgICAgICB2YXIgZ2wgPSBjYW52YXMu
Z2V0Q29udGV4dCgiZXhwZXJpbWVudGFsLXdlYmdsIiwge2FscGhhOiBmYWxzZX0pOworICAgICAg
ICAgICAgaWYgKCFnbCkgeworICAgICAgICAgICAgICAgIGFsZXJ0KCJObyBXZWJHTCBjb250ZXh0
IGZvdW5kIik7CisgICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7CisgICAgICAgICAgICB9CisK
KyAgICAgICAgICAgIGdsLmNsZWFyQ29sb3IoY2xlYXJDb2xvclswXSwgY2xlYXJDb2xvclsxXSwg
Y2xlYXJDb2xvclsyXSwgY2xlYXJDb2xvclszXSk7CisgICAgICAgICAgICBnbC5jbGVhckRlcHRo
KGNsZWFyRGVwdGgpOworCisgICAgICAgICAgICByZXR1cm4gZ2w7CisgICAgICAgIH0KKworICAg
ICAgICBmdW5jdGlvbiBkcmF3Q2FudmFzKGNhbnZhc0lEKQorICAgICAgICB7CisgICAgICAgICAg
dmFyIGdsID0gaW5pdFdlYkdMKGNhbnZhc0lELCAiIiwgIiIsIFtdLCBbIDAsIC41LCAwLCAwIF0s
IDEpOworICAgICAgICAgIGdsLnZpZXdwb3J0KDAsIDAsIDIwMCwgMjAwKTsKKyAgICAgICAgICBn
bC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUIHwgZ2wuREVQVEhfQlVGRkVSX0JJVCk7CisgICAg
ICAgIH0KKworICAgICAgICBmdW5jdGlvbiBpbml0KCkKKyAgICAgICAgeworICAgICAgICAgIGRy
YXdDYW52YXMoJ2NhbnZhcycpOworICAgICAgICB9CisgICAgPC9zY3JpcHQ+CisgIDwvaGVhZD4K
KyAgPGJvZHkgb25sb2FkPSJpbml0KCkiPgorCisgICAgPGRpdiBjbGFzcz0iY29tcGFyZSBjb21w
b3NpdGVkIHJvdW5kZWQiPjwvZGl2PgorICAgIDxjYW52YXMgaWQ9ImNhbnZhcyIgY2xhc3M9ImNv
bXBvc2l0ZWQgcm91bmRlZCIgd2lkdGg9IjIwMCIgaGVpZ2h0PSIyMDAiPjwvY2FudmFzPgorCisg
ICAgPCEtLSBUb3AgYW5kIGJvdHRvbSBzaG91bGQgbG9vayB0aGUgc2FtZS4gLS0+CisgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2JvcmRlci1y
YWRpdXMvY29tcG9zaXRlZC1ib3JkZXItcmFkaXVzLWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9jb21wb3NpdGVkLWJvcmRlci1y
YWRpdXMtZGVzY2VuZGFudC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzE5ODkxYzNhZTdiOTVh
ZGVlMGM2ZjI2YjdlZmE5ZDAzMzEyMmVhZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2NvbXBvc2l0aW5nL2JvcmRlci1yYWRpdXMvY29tcG9zaXRlZC1ib3JkZXItcmFkaXVzLWRlc2Nl
bmRhbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKK2xheWVyIGF0ICgwLDApIHNpemUg
ODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAs
MCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2
MDAKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKK2xheWVyIGF0
ICg4LDgpIHNpemUgMTAweDEwMAorICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDEw
MHgxMDAKK2xheWVyIGF0ICg4LDgpIHNpemUgMTAweDEwMAorICBSZW5kZXJCbG9jayB7RElWfSBh
dCAoMCwwKSBzaXplIDEwMHgxMDAgW2JnY29sb3I9IzAwODAwMF0KKyAgICBSZW5kZXJJbmxpbmUg
e1NQQU59IGF0ICgwLDApIHNpemUgMHgwCisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDAp
IHNpemUgMHgwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9ib3JkZXItcmFk
aXVzL2NvbXBvc2l0ZWQtYm9yZGVyLXJhZGl1cy1kZXNjZW5kYW50LWxhcmdlLXJhZGl1cy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9ib3JkZXItcmFkaXVzL2NvbXBvc2l0
ZWQtYm9yZGVyLXJhZGl1cy1kZXNjZW5kYW50LWxhcmdlLXJhZGl1cy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMzE5ODkxYzNhZTdiOTVhZGVlMGM2ZjI2YjdlZmE5ZDAzMzEyMmVhZAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2JvcmRlci1yYWRpdXMvY29tcG9z
aXRlZC1ib3JkZXItcmFkaXVzLWRlc2NlbmRhbnQtbGFyZ2UtcmFkaXVzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDExIEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyVmll
dyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBS
ZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgICAgUmVuZGVyQm9keSB7
Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTg0CitsYXllciBhdCAoOCw4KSBzaXplIDEwMHgxMDAK
KyAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSAxMDB4MTAwCitsYXllciBhdCAoOCw4
KSBzaXplIDEwMHgxMDAKKyAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSAxMDB4MTAw
IFtiZ2NvbG9yPSMwMDgwMDBdCisgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXpl
IDB4MAorICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9jb21wb3NpdGVkLWJvcmRl
ci1yYWRpdXMtZGVzY2VuZGFudC1sYXJnZS1yYWRpdXMuaHRtbCBiL0xheW91dFRlc3RzL2NvbXBv
c2l0aW5nL2JvcmRlci1yYWRpdXMvY29tcG9zaXRlZC1ib3JkZXItcmFkaXVzLWRlc2NlbmRhbnQt
bGFyZ2UtcmFkaXVzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWM2Y2YwNWNhZTA4OWY1ZTgwM2YxNjEzYmEx
YWU2MDQ4ZTcyMTg3YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5n
L2JvcmRlci1yYWRpdXMvY29tcG9zaXRlZC1ib3JkZXItcmFkaXVzLWRlc2NlbmRhbnQtbGFyZ2Ut
cmFkaXVzLmh0bWwKQEAgLTAsMCArMSwyNyBAQAorPGh0bWw+CisgIDxoZWFkPgorICAgIDxzdHls
ZT4KKwkgIC5yb3VuZGVkIHsKKwkJYm9yZGVyLXJhZGl1czogNjBweDsKKwkJb3ZlcmZsb3c6IGhp
ZGRlbjsKKwkJZGlzcGxheTogYmxvY2s7CisJCXdpZHRoOiAxMDBweDsKKwkgIH0KKworCSAgLmNv
bXBvc2l0ZWQgeyAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0KKwkg
IC5ncmVlbiB7CisJCXdpZHRoOiAxMDBweDsKKwkJaGVpZ2h0OiAxMDBweDsKKwkJZGlzcGxheTog
YmxvY2s7CisJCWJhY2tncm91bmQtY29sb3I6IGdyZWVuOworCSAgfQorCTwvc3R5bGU+CisgIDwv
aGVhZD4KKyAgPGJvZHk+CisJPGRpdiBjbGFzcz0iY29tcG9zaXRlZCByb3VuZGVkIj4KKwkgIDxk
aXYgY2xhc3M9ImNvbXBvc2l0ZWQgZ3JlZW4iPgorCQk8c3Bhbj48L3NwYW4+CisJICA8L2Rpdj4K
Kwk8L2Rpdj4KKyAgPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2JvcmRlci1yYWRpdXMvY29tcG9z
aXRlZC1ib3JkZXItcmFkaXVzLWRlc2NlbmRhbnQtdW5ldmVuLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2NvbXBvc2l0aW5nL2JvcmRlci1yYWRpdXMvY29tcG9zaXRlZC1ib3JkZXItcmFkaXVz
LWRlc2NlbmRhbnQtdW5ldmVuLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMTk4OTFjM2FlN2I5
NWFkZWUwYzZmMjZiN2VmYTlkMDMzMTIyZWFkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvY29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9jb21wb3NpdGVkLWJvcmRlci1yYWRpdXMtZGVz
Y2VuZGFudC11bmV2ZW4tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKK2xheWVyIGF0ICgw
LDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBz
aXplIDgwMHg2MDAKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQK
K2xheWVyIGF0ICg4LDgpIHNpemUgMTAweDEwMAorICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCww
KSBzaXplIDEwMHgxMDAKK2xheWVyIGF0ICg4LDgpIHNpemUgMTAweDEwMAorICBSZW5kZXJCbG9j
ayB7RElWfSBhdCAoMCwwKSBzaXplIDEwMHgxMDAgW2JnY29sb3I9IzAwODAwMF0KKyAgICBSZW5k
ZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgMHgwCisgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICgwLDApIHNpemUgMHgwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9i
b3JkZXItcmFkaXVzL2NvbXBvc2l0ZWQtYm9yZGVyLXJhZGl1cy1kZXNjZW5kYW50LXVuZXZlbi5o
dG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9jb21wb3NpdGVkLWJv
cmRlci1yYWRpdXMtZGVzY2VuZGFudC11bmV2ZW4uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45ZDgyYTNkOWVi
N2U1MTdkMTlhNzdmZTE3MWU0ZWRiNGMyMDcxY2U4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvY29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9jb21wb3NpdGVkLWJvcmRlci1yYWRpdXMt
ZGVzY2VuZGFudC11bmV2ZW4uaHRtbApAQCAtMCwwICsxLDMwIEBACis8aHRtbD4KKyAgPGhlYWQ+
CisgICAgPHN0eWxlPgorICAgICAgLnJvdW5kZWQgeworICAgICAgICBib3JkZXItcmFkaXVzOiAw
IDEwcHggMjBweCAzMHB4OworICAgICAgICBvdmVyZmxvdzogaGlkZGVuOworICAgICAgICBkaXNw
bGF5OiBibG9jazsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgfQorCisgICAgICAuY29t
cG9zaXRlZCB7CisgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAw
KTsKKyAgICAgIH0KKworICAgICAgLmdyZWVuIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBkaXNwbGF5OiBibG9jazsKKyAgICAgICAgYmFj
a2dyb3VuZC1jb2xvcjogZ3JlZW47CisgICAgICB9CisgICAgPC9zdHlsZT4KKyAgPC9oZWFkPgor
ICA8Ym9keT4KKyAgICA8ZGl2IGNsYXNzPSJjb21wb3NpdGVkIHJvdW5kZWQiPgorICAgICAgPGRp
diBjbGFzcz0iY29tcG9zaXRlZCBncmVlbiI+CisgICAgICAgIDxzcGFuPjwvc3Bhbj4KKyAgICAg
IDwvZGl2PgorICAgIDwvZGl2PgorICA8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvYm9yZGVyLXJh
ZGl1cy9jb21wb3NpdGVkLWJvcmRlci1yYWRpdXMtZGVzY2VuZGFudC5odG1sIGIvTGF5b3V0VGVz
dHMvY29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9jb21wb3NpdGVkLWJvcmRlci1yYWRpdXMtZGVz
Y2VuZGFudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk4YTY2NjI0ODQ1OWFlMDBjZjAxZTZiNDVmZjY2YzQw
ZThiMTc1ZjUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9ib3Jk
ZXItcmFkaXVzL2NvbXBvc2l0ZWQtYm9yZGVyLXJhZGl1cy1kZXNjZW5kYW50Lmh0bWwKQEAgLTAs
MCArMSwzMCBAQAorPGh0bWw+CisgIDxoZWFkPgorICAgIDxzdHlsZT4KKyAgICAgIC5yb3VuZGVk
IHsKKyAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDsKKyAgICAgICAgb3ZlcmZsb3c6IGhpZGRl
bjsKKyAgICAgICAgZGlzcGxheTogYmxvY2s7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAg
IH0KKworICAgICAgLmNvbXBvc2l0ZWQgeworICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJh
bnNsYXRlM2QoMCwgMCwgMCk7CisgICAgICB9CisKKyAgICAgIC5ncmVlbiB7CisgICAgICAgIHdp
ZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgZGlzcGxheTogYmxv
Y2s7CisgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGdyZWVuOworICAgICAgfQorICAgIDwvc3R5
bGU+CisgIDwvaGVhZD4KKyAgPGJvZHk+CisgICAgPGRpdiBjbGFzcz0iY29tcG9zaXRlZCByb3Vu
ZGVkIj4KKyAgICAgIDxkaXYgY2xhc3M9ImNvbXBvc2l0ZWQgZ3JlZW4iPgorICAgICAgICA8c3Bh
bj48L3NwYW4+CisgICAgICA8L2Rpdj4KKyAgICA8L2Rpdj4KKyAgPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBv
c2l0aW5nL2JvcmRlci1yYWRpdXMvY29tcG9zaXRlZC1ib3JkZXItcmFkaXVzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2JvcmRlci1yYWRpdXMvY29tcG9zaXRlZC1ib3Jk
ZXItcmFkaXVzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ZDg2NWVkMjU2MjM4M2VmYjgyYWMy
MDBmMjM5NDk0OGJhNjYwMzE3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9z
aXRpbmcvYm9yZGVyLXJhZGl1cy9jb21wb3NpdGVkLWJvcmRlci1yYWRpdXMtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTAgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJW
aWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisg
IFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgICBSZW5kZXJCb2R5
IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKKyAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0
ICgwLDApIHNpemUgNzg0eDAKK2xheWVyIGF0ICg4LDgpIHNpemUgMTAweDEwMAorICBSZW5kZXJC
bG9jayAocG9zaXRpb25lZCkge0RJVn0gYXQgKDgsOCkgc2l6ZSAxMDB4MTAwIFtiZ2NvbG9yPSMw
MDgwMDBdCisgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDB4MAorICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvY29tcG9zaXRpbmcvYm9yZGVyLXJhZGl1cy9jb21wb3NpdGVkLWJvcmRlci1yYWRpdXMuaHRt
bCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2JvcmRlci1yYWRpdXMvY29tcG9zaXRlZC1ib3Jk
ZXItcmFkaXVzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjI1OTk2Y2NkMjliNTQ3NTRjMzIyNzQ2ZDkzODM5
MmJmYjE4ZmFiOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2Jv
cmRlci1yYWRpdXMvY29tcG9zaXRlZC1ib3JkZXItcmFkaXVzLmh0bWwKQEAgLTAsMCArMSwyOCBA
QAorPGh0bWw+CisgIDxoZWFkPgorICAgIDxzdHlsZT4KKyAgICAgIC5yb3VuZGVkIHsKKyAgICAg
ICAgYm9yZGVyLXJhZGl1czogMjBweDsKKyAgICAgICAgZGlzcGxheTogYmxvY2s7CisgICAgICAg
IHdpZHRoOiAxMDBweDsKKyAgICAgICAgcG9zaXRpb246IGFic29sdXRlOworICAgICAgfQorCisg
ICAgICAuY29tcG9zaXRlZCB7IC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAw
KTsgfQorCisgICAgICAuZ3JlZW4geworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgIGRpc3BsYXk6IGJsb2NrOworICAgICAgICBiYWNrZ3JvdW5k
LWNvbG9yOiBncmVlbjsKKyAgICAgIH0KKyAgICA8L3N0eWxlPgorICA8L2hlYWQ+CisgIDxib2R5
PgorICAgIDxkaXY+CisgICAgICA8ZGl2IGNsYXNzPSJjb21wb3NpdGVkIGdyZWVuIHJvdW5kZWQi
PgorICAgICAgICA8c3Bhbj48L3NwYW4+CisgICAgICA8L2Rpdj4KKyAgICA8L2Rpdj4KKyAgPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
</data>
<flag name="review"
          id="236775"
          type_id="1"
          status="-"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>