<?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>78862</bug_id>
          
          <creation_ts>2012-02-16 17:20:27 -0800</creation_ts>
          <short_desc>Register scrolling layers with ScrollingCoordinator</short_desc>
          <delta_ts>2012-09-07 10:55:32 -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>73350</dependson>
    
    <dependson>78739</dependson>
    
    <dependson>89216</dependson>
    
    <dependson>91117</dependson>
          <blocked>66687</blocked>
    
    <blocked>95679</blocked>
    
    <blocked>96087</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Sami Kyostila">skyostil</reporter>
          <assigned_to name="Sami Kyostila">skyostil</assigned_to>
          <cc>abarth</cc>
    
    <cc>aelias</cc>
    
    <cc>andersca</cc>
    
    <cc>anilsson</cc>
    
    <cc>bdakin</cc>
    
    <cc>cc-bugs</cc>
    
    <cc>danakj</cc>
    
    <cc>dglazkov</cc>
    
    <cc>efidler</cc>
    
    <cc>enne</cc>
    
    <cc>eric</cc>
    
    <cc>fishd</cc>
    
    <cc>hans</cc>
    
    <cc>jamesr</cc>
    
    <cc>kenneth</cc>
    
    <cc>noam</cc>
    
    <cc>shawnsingh</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>skyostil</cc>
    
    <cc>thorton</cc>
    
    <cc>tkent+wkapi</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>vollick</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>558731</commentid>
    <comment_count>0</comment_count>
    <who name="Sami Kyostila">skyostil</who>
    <bug_when>2012-02-16 17:20:27 -0800</bug_when>
    <thetext>Touch overflow scrolling elements (-webkit-overflow-scrolling: touch) should be split into layers and registered with the ScrollCoordinator so they can be scrolled efficiently without repainting the contents.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>630705</commentid>
    <comment_count>1</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2012-05-22 13:36:15 -0700</bug_when>
    <thetext>Are you merging the code from iOS5 branch into trunk? Or actually re-working it or working from scratch?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>630727</commentid>
    <comment_count>2</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2012-05-22 13:58:58 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; Are you merging the code from iOS5 branch into trunk? Or actually re-working it or working from scratch?

I am asking because I have done that for the BlackBerry port myself, but it was not a clean backport...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>631476</commentid>
    <comment_count>3</comment_count>
    <who name="Sami Kyostila">skyostil</who>
    <bug_when>2012-05-23 03:57:56 -0700</bug_when>
    <thetext>It&apos;s really more of a reimplementation than a straight port. I agree that the iOS5 branch isn&apos;t really usable as such.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>645014</commentid>
    <comment_count>4</comment_count>
      <attachid>146645</attachid>
    <who name="Sami Kyostila">skyostil</who>
    <bug_when>2012-06-08 14:05:17 -0700</bug_when>
    <thetext>Created attachment 146645
Patch

First version with the main pieces of functionality in place. Does not calculate per-layer non-fast scrollable regions, but that could be left for a follow-up patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>645321</commentid>
    <comment_count>5</comment_count>
      <attachid>146645</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2012-06-09 07:22:49 -0700</bug_when>
    <thetext>Comment on attachment 146645
Patch

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

&gt; Source/WebCore/ChangeLog:12
&gt; +        Touch overflow scrolling elements should be split into layers
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=78862
&gt; +
&gt; +        Reviewed by NOBODY (OOPS!).
&gt; +
&gt; +        When a regular overflow element is scrolled, we repaint the entire area
&gt; +        it occupies in the view from scratch. Since this painting is done in the
&gt; +        main thread, it can be blocked by, e.g., JavaScript execution, further
&gt; +        limiting performance.
&gt; +

I think it is valid and fair to mention that it was based on the original iOS5 branch implementation. I know it is a re-work, but it had a starting point..

&gt; Source/WebCore/rendering/RenderLayer.cpp:4862
&gt; +    if (hasOverflow &amp;&amp; isVisibleToHitTest
&gt; +#if ENABLE(OVERFLOW_SCROLLING)
&gt; +        &amp;&amp; !hasAcceleratedScrolling()
&gt; +#endif
&gt; +        )

the blackberry port relies on all of the scrollable elements being tracked by the FrameView, in order to for example just skip a bunch of logic if there is no scrollable element (other than the main frame).No matter if it has &quot;accelerated scrolling&quot; or not.

Could you explain why this change specifically?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>646087</commentid>
    <comment_count>6</comment_count>
      <attachid>146645</attachid>
    <who name="Sami Kyostila">skyostil</who>
    <bug_when>2012-06-11 10:38:32 -0700</bug_when>
    <thetext>Comment on attachment 146645
Patch

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

Something I failed to mention earlier is that I&apos;m still working on layout tests for these changes.

&gt;&gt; Source/WebCore/ChangeLog:12
&gt;&gt; +
&gt; 
&gt; I think it is valid and fair to mention that it was based on the original iOS5 branch implementation. I know it is a re-work, but it had a starting point..

You are absolutely right. I did not mean to pass this off as original work.

&gt;&gt; Source/WebCore/rendering/RenderLayer.cpp:4862
&gt;&gt; +        )
&gt; 
&gt; the blackberry port relies on all of the scrollable elements being tracked by the FrameView, in order to for example just skip a bunch of logic if there is no scrollable element (other than the main frame).No matter if it has &quot;accelerated scrolling&quot; or not.
&gt; 
&gt; Could you explain why this change specifically?

My motivation was to avoid the scrollable area from becoming part of the non-fast scrollable region (see ScrollingCoordinator.cpp) which would prevent it from being independently scrolled by the threaded compositor.

Completely removing the scrollable layer from the scrollable set is a bit drastic, so perhaps it would be better to move this logic to ScrollingCoordinator instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>648353</commentid>
    <comment_count>7</comment_count>
      <attachid>147387</attachid>
    <who name="Sami Kyostila">skyostil</who>
    <bug_when>2012-06-13 12:22:45 -0700</bug_when>
    <thetext>Created attachment 147387
Patch

Updated to match new interface from bug 73350. Did not fix FrameView scrollable are registry yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>650412</commentid>
    <comment_count>8</comment_count>
      <attachid>147879</attachid>
    <who name="Sami Kyostila">skyostil</who>
    <bug_when>2012-06-15 12:45:19 -0700</bug_when>
    <thetext>Created attachment 147879
Patch

- Keep all ScrollableAreas -- fast scrollable or not -- in the FrameView&apos;s scrollable area set.
- Add layout tests to verify graphics layer configuration and stacking context behavior with overflow:hidden.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>650415</commentid>
    <comment_count>9</comment_count>
    <who name="Sami Kyostila">skyostil</who>
    <bug_when>2012-06-15 12:51:34 -0700</bug_when>
    <thetext>The test coverage for the prepainting part of this patch isn&apos;t as good as I&apos;d like yet. I&apos;m thinking of somehow capturing the GraphicsLayer invalidations from DRT.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>651570</commentid>
    <comment_count>10</comment_count>
      <attachid>148135</attachid>
    <who name="Sami Kyostila">skyostil</who>
    <bug_when>2012-06-18 11:31:13 -0700</bug_when>
    <thetext>Created attachment 148135
Patch

- Added new test to verify scrolling tree using the framework from bug 89216.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>651819</commentid>
    <comment_count>11</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-06-18 15:43:54 -0700</bug_when>
    <thetext>Who should review this patch?  @jamesr?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>653446</commentid>
    <comment_count>12</comment_count>
      <attachid>148562</attachid>
    <who name="Sami Kyöstilä">skyostil</who>
    <bug_when>2012-06-20 07:25:40 -0700</bug_when>
    <thetext>Created attachment 148562
Patch

- Cleaned up most of the #ifdef spaghetti.
- Added test to verify scroll content layer alignment with borders.
- Added test to check outline fallback.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>653647</commentid>
    <comment_count>13</comment_count>
      <attachid>148604</attachid>
    <who name="Sami Kyöstilä">skyostil</who>
    <bug_when>2012-06-20 10:54:34 -0700</bug_when>
    <thetext>Created attachment 148604
Patch

- Added overflow clipping test. Does not cover all the cases yet but it&apos;s a start.
- Removed scrollingTreeAsText() test for now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>656247</commentid>
    <comment_count>14</comment_count>
      <attachid>148604</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-06-24 14:38:54 -0700</bug_when>
    <thetext>Comment on attachment 148604
Patch

I have some review feedback, but need a few days to look at the patch. Please wait for my feedback.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>656252</commentid>
    <comment_count>15</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-06-24 14:55:50 -0700</bug_when>
    <thetext>Sami: please cc: me on any future bugs that involve changes to RenderLayerCompositor/RenderLayerBacking/GraphicsLayer. Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>658256</commentid>
    <comment_count>16</comment_count>
      <attachid>148604</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-06-26 19:17:02 -0700</bug_when>
    <thetext>Comment on attachment 148604
Patch

I plan to upsteam some iOS code that has a better implementation in RenderLayerBacking etc. Please give me a few days to do that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>661355</commentid>
    <comment_count>17</comment_count>
    <who name="Sami Kyöstilä">skyostil</who>
    <bug_when>2012-07-02 02:53:45 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; I plan to upsteam some iOS code that has a better implementation in RenderLayerBacking etc. Please give me a few days to do that.

Okay, thanks Simon!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>667825</commentid>
    <comment_count>18</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-07-12 08:46:45 -0700</bug_when>
    <thetext>&gt; I plan to upsteam some iOS code that has a better implementation in RenderLayerBacking etc. Please give me a few days to do that.

@smfr: Did this end up happening? This patch accounts for a moderate amount of the remaining chromium-android fork and I&apos;d like to make sure we don&apos;t stall out here.  Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>667828</commentid>
    <comment_count>19</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-07-12 08:49:52 -0700</bug_when>
    <thetext>Sorry I haven&apos;t had time yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>667855</commentid>
    <comment_count>20</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-07-12 09:24:02 -0700</bug_when>
    <thetext>&gt; Sorry I haven&apos;t had time yet.

Would it be appropriate to proceed with this patch and then plan to merge with your work when you have time to contribute it?  I don&apos;t fully understand the relation between the patches, so it&apos;s hard for me to know what the best course of action is here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>667949</commentid>
    <comment_count>21</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-07-12 10:31:10 -0700</bug_when>
    <thetext>Unfortunately my patch will directly conflict with some of these changes (and addresses various issues that I think the current patch has). I&apos;ll try to get to it early next week.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>667952</commentid>
    <comment_count>22</comment_count>
    <who name="Sami Kyöstilä">skyostil</who>
    <bug_when>2012-07-12 10:33:24 -0700</bug_when>
    <thetext>(In reply to comment #21)
&gt; Unfortunately my patch will directly conflict with some of these changes (and addresses various issues that I think the current patch has). I&apos;ll try to get to it early next week.

Thanks for the update. Is there another bug open for your patch, or were you going to land it against this one?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>667962</commentid>
    <comment_count>23</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-07-12 10:40:59 -0700</bug_when>
    <thetext>I&apos;ll do it via bug 91117.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>667970</commentid>
    <comment_count>24</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-07-12 10:46:48 -0700</bug_when>
    <thetext>Thanks Simon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>674711</commentid>
    <comment_count>25</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-07-20 10:43:07 -0700</bug_when>
    <thetext>&gt; I&apos;ll try to get to it early next week.

Simon, I&apos;m sorry to keep nagging you about this issue, but you&apos;ve been blocking this patch for upwards of a month now.  This bug is blocking us from upstreaming the chromium-android port and is one of the larger diffs left in WebCore, as described in &lt;http://lists.webkit.org/pipermail/webkit-dev/2012-July/021516.html&gt;.

How do we make progress here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>674730</commentid>
    <comment_count>26</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-07-20 10:57:29 -0700</bug_when>
    <thetext>This is top of my list to do after some internal stuff.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>674739</commentid>
    <comment_count>27</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-07-20 11:00:14 -0700</bug_when>
    <thetext>&gt; This is top of my list to do after some internal stuff.

Thanks Simon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>677050</commentid>
    <comment_count>28</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2012-07-24 11:18:21 -0700</bug_when>
    <thetext>(In reply to comment #27)
&gt; &gt; This is top of my list to do after some internal stuff.
&gt; 
&gt; Thanks Simon.

Just to make it clearer to me, once bug 91117 is done, there should still work to be done here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>677146</commentid>
    <comment_count>29</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-07-24 13:11:33 -0700</bug_when>
    <thetext>ENABLE(OVERFLOW_SCROLLING) is a really bad name for this flag. overflows already scroll. It should have been ENABLE(COMPOSITED_OVERFLOW_SCROLLING) or something.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>677147</commentid>
    <comment_count>30</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-07-24 13:14:59 -0700</bug_when>
    <thetext>Also, I think it&apos;s fine to only protected the CSS parser code with #if ENABLE(OVERFLOW_SCROLLING). That just needs to hide the new CSS property. The rest of the code doesn&apos;t need #ifdefs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>677974</commentid>
    <comment_count>31</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2012-07-25 06:13:37 -0700</bug_when>
    <thetext>(In reply to comment #28)
&gt; (In reply to comment #27)
&gt; &gt; &gt; This is top of my list to do after some internal stuff.
&gt; &gt; 
&gt; &gt; Thanks Simon.
&gt; 
&gt; Just to make it clearer to me, once bug 91117 is done, there should still work to be done here?

Ok, given the patch Simon uploaded to bug 91117, the answer seems &apos;yes&apos;. But it also seems it overlaps or even overwrites most of the changes the patch in this bug does in RenderLayer and RenderLayerBacking ...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>677987</commentid>
    <comment_count>32</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2012-07-25 06:39:13 -0700</bug_when>
    <thetext>The original iOS5 branch also had a related setting that I found useful, and maybe we should consider having them here:

        void setAlwaysUseAcceleratedOverflowScroll(bool flag)
        bool alwaysUseAcceleratedOverflowScroll() const</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>678078</commentid>
    <comment_count>33</comment_count>
    <who name="Sami Kyöstilä">skyostil</who>
    <bug_when>2012-07-25 08:27:40 -0700</bug_when>
    <thetext>(In reply to comment #31)
&gt; Ok, given the patch Simon uploaded to bug 91117, the answer seems &apos;yes&apos;. But it also seems it overlaps or even overwrites most of the changes the patch in this bug does in RenderLayer and RenderLayerBacking ...

Right, as far as I can tell the following things are still needed on top of bug 91117:

- Letting ScrollingCoordinator know about scrollable layers.
- Avoiding repainting layer contents after scrolling.
- Possibly avoiding overflow clipping when calculating paint rects (e.g., RenderObject::computeRectForRepaint() in this patch).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>678138</commentid>
    <comment_count>34</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-07-25 09:15:11 -0700</bug_when>
    <thetext>(In reply to comment #32)
&gt; The original iOS5 branch also had a related setting that I found useful, and maybe we should consider having them here:
&gt; 
&gt;         void setAlwaysUseAcceleratedOverflowScroll(bool flag)
&gt;         bool alwaysUseAcceleratedOverflowScroll() const

I don&apos;t think you want those. The idea is they make every overflow:scroll use composting and create stacking context, which can break web pages.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>678139</commentid>
    <comment_count>35</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-07-25 09:16:08 -0700</bug_when>
    <thetext>(In reply to comment #33)
&gt; (In reply to comment #31)
&gt; &gt; Ok, given the patch Simon uploaded to bug 91117, the answer seems &apos;yes&apos;. But it also seems it overlaps or even overwrites most of the changes the patch in this bug does in RenderLayer and RenderLayerBacking ...
&gt; 
&gt; Right, as far as I can tell the following things are still needed on top of bug 91117:
&gt; 
&gt; - Letting ScrollingCoordinator know about scrollable layers.
&gt; - Avoiding repainting layer contents after scrolling.

Yes on these two.

&gt; - Possibly avoiding overflow clipping when calculating paint rects (e.g., RenderObject::computeRectForRepaint() in this patch).

I don&apos;t think you need any changes here; the repaintContainner logic should take case of this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>678165</commentid>
    <comment_count>36</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2012-07-25 09:49:15 -0700</bug_when>
    <thetext>(In reply to comment #34)
&gt; (In reply to comment #32)
&gt; &gt; The original iOS5 branch also had a related setting that I found useful, and maybe we should consider having them here:
&gt; &gt; 
&gt; &gt;         void setAlwaysUseAcceleratedOverflowScroll(bool flag)
&gt; &gt;         bool alwaysUseAcceleratedOverflowScroll() const
&gt; 
&gt; I don&apos;t think you want those. The idea is they make every overflow:scroll use composting and create stacking context, which can break web pages.

would you have example of broken web pages with that overly enabled?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>679561</commentid>
    <comment_count>37</comment_count>
      <attachid>154694</attachid>
    <who name="Sami Kyöstilä">skyostil</who>
    <bug_when>2012-07-26 11:26:03 -0700</bug_when>
    <thetext>Created attachment 154694
Patch

Work-in-progress patch against 91117
    - Register scrolling layers with ScrollingCoordinator.
    - Implement bounds origin in Chromium compositor.
    - Keep scrolling contents layer under overflow controls.
    - Don&apos;t reparent overflow controls inside scrolling content.
    - Promote composited scrolling layers to composited layers.
    - Include composited scrolling layers in memory usage estimate.
    - Avoid repaints when scrolling (not working yet).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>679582</commentid>
    <comment_count>38</comment_count>
      <attachid>154694</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-07-26 11:35:05 -0700</bug_when>
    <thetext>Comment on attachment 154694
Patch

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

&gt; Source/WebCore/platform/graphics/chromium/LayerChromium.h:120
&gt; +    const FloatPoint&amp; boundsOrigin() const { return m_boundsOrigin; }
&gt; +    void setBoundsOrigin(const FloatPoint&amp; origin) { m_boundsOrigin = origin; }

What does bounds origin mean? 

Forgive my skepticism about adding another member, but are you sure this translation can&apos;t be combined into one of position, anchor, transform, sublayerTransform, or scrollPosition at the LayerChromium level?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>679585</commentid>
    <comment_count>39</comment_count>
    <who name="Sami Kyöstilä">skyostil</who>
    <bug_when>2012-07-26 11:37:48 -0700</bug_when>
    <thetext>(In reply to comment #38)
&gt; What does bounds origin mean? 
&gt; 
&gt; Forgive my skepticism about adding another member, but are you sure this translation can&apos;t be combined into one of position, anchor, transform, sublayerTransform, or scrollPosition at the LayerChromium level?

As far as I can tell it could be baked into sublayerTransform, so I don&apos;t think the compositor actually needs to care about it. I&apos;m with you on not adding any more degrees of freedom to the layer transforms.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>679593</commentid>
    <comment_count>40</comment_count>
    <who name="Sami Kyöstilä">skyostil</who>
    <bug_when>2012-07-26 11:42:58 -0700</bug_when>
    <thetext>(In reply to comment #35)
&gt; &gt; - Possibly avoiding overflow clipping when calculating paint rects (e.g., RenderObject::computeRectForRepaint() in this patch).
&gt; 
&gt; I don&apos;t think you need any changes here; the repaintContainner logic should take case of this.

I tried to make this work but looks like the repaints are still getting clipped to the visible part of the overflow contents. For example:

1. Make an overflow div with lots of text.
2. Select a part of the text at the beginning and scroll to the end.
3. Deselect and scroll back to the beginning.

=&gt; The text is still selected, because the deselect repaint got clipped.

I don&apos;t quite understand how this should work without turning off the overflow clipping in RenderObject et al. Did I miss something?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>679598</commentid>
    <comment_count>41</comment_count>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-07-26 11:48:02 -0700</bug_when>
    <thetext>(In reply to comment #40)

&gt; I don&apos;t quite understand how this should work without turning off the overflow clipping in RenderObject et al. Did I miss something?

For what it&apos;s worth, Chromium explicitly doesn&apos;t clip repaint rects for frame scrolling so that we can know which parts of the layer are invalidated even if they&apos;re not visible and don&apos;t have to invalidate on scroll.  See FrameView::clipsRepaints().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>679609</commentid>
    <comment_count>42</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-07-26 11:52:58 -0700</bug_when>
    <thetext>(In reply to comment #38)
&gt; (From update of attachment 154694 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=154694&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/chromium/LayerChromium.h:120
&gt; &gt; +    const FloatPoint&amp; boundsOrigin() const { return m_boundsOrigin; }
&gt; &gt; +    void setBoundsOrigin(const FloatPoint&amp; origin) { m_boundsOrigin = origin; }
&gt; 
&gt; What does bounds origin mean? 
&gt; 
&gt; Forgive my skepticism about adding another member, but are you sure this translation can&apos;t be combined into one of position, anchor, transform, sublayerTransform, or scrollPosition at the LayerChromium level?

We used boundsOrigin because it plays nicely with UIScrollViews on iOS.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>681045</commentid>
    <comment_count>43</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-07-27 13:50:27 -0700</bug_when>
    <thetext>(In reply to comment #42)
&gt; (In reply to comment #38)
&gt; &gt; (From update of attachment 154694 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=154694&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/platform/graphics/chromium/LayerChromium.h:120
&gt; &gt; &gt; +    const FloatPoint&amp; boundsOrigin() const { return m_boundsOrigin; }
&gt; &gt; &gt; +    void setBoundsOrigin(const FloatPoint&amp; origin) { m_boundsOrigin = origin; }
&gt; &gt; 
&gt; &gt; What does bounds origin mean? 
&gt; &gt; 
&gt; &gt; Forgive my skepticism about adding another member, but are you sure this translation can&apos;t be combined into one of position, anchor, transform, sublayerTransform, or scrollPosition at the LayerChromium level?
&gt; 
&gt; We used boundsOrigin because it plays nicely with UIScrollViews on iOS.

I don&apos;t understand what UIScrollViews has to do with adding a new property to LayerChromium.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>692566</commentid>
    <comment_count>44</comment_count>
      <attachid>157739</attachid>
    <who name="">vollick</who>
    <bug_when>2012-08-10 08:38:06 -0700</bug_when>
    <thetext>Created attachment 157739
Diff with 91117

This patch set removes boundsOrigin from LayerChromium and below and instead
bakes the value into the sublayerTransform.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>692567</commentid>
    <comment_count>45</comment_count>
      <attachid>157740</attachid>
    <who name="">vollick</who>
    <bug_when>2012-08-10 08:41:16 -0700</bug_when>
    <thetext>Created attachment 157740
Patch including 91117

This attachment also contains code from 91117 (so that it can apply for the ews
bots).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>692572</commentid>
    <comment_count>46</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-10 08:43:56 -0700</bug_when>
    <thetext>Please wait for approval from abarth@webkit.org, dglazkov@chromium.org, fishd@chromium.org, jamesr@chromium.org or tkent@chromium.org before submitting, as this patch contains changes to the Chromium public API. See also https://trac.webkit.org/wiki/ChromiumWebKitAPI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>692622</commentid>
    <comment_count>47</comment_count>
      <attachid>157740</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-10 09:47:35 -0700</bug_when>
    <thetext>Comment on attachment 157740
Patch including 91117

Attachment 157740 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/13479010</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>692685</commentid>
    <comment_count>48</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-08-10 11:04:04 -0700</bug_when>
    <thetext>(In reply to comment #44)
&gt; Created an attachment (id=157739) [details]
&gt; Diff with 91117
&gt; 
&gt; This patch set removes boundsOrigin from LayerChromium and below and instead
&gt; bakes the value into the sublayerTransform.

How does that work if the overflow element also has perspective style?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>692865</commentid>
    <comment_count>49</comment_count>
      <attachid>157805</attachid>
    <who name="">vollick</who>
    <bug_when>2012-08-10 13:58:10 -0700</bug_when>
    <thetext>Created attachment 157805
Patch

Adding missing file: WebScrollDelegate.h.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>693006</commentid>
    <comment_count>50</comment_count>
      <attachid>157805</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-10 18:13:47 -0700</bug_when>
    <thetext>Comment on attachment 157805
Patch

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

New failing tests:
fast/css/resize-corner-tracking-transformed.html
compositing/geometry/clip.html
compositing/overflow/overflow-scroll.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>693007</commentid>
    <comment_count>51</comment_count>
      <attachid>157848</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-10 18:13:55 -0700</bug_when>
    <thetext>Created attachment 157848
Archive of layout-test-results from gce-cr-linux-06

The attached test failures were seen while running run-webkit-tests on the chromium-ews.
Bot: gce-cr-linux-06  Port: &lt;class &apos;webkitpy.common.config.ports.ChromiumXVFBPort&apos;&gt;  Platform: Linux-2.6.39-gcg-201203291735-x86_64-with-Ubuntu-10.04-lucid</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>693875</commentid>
    <comment_count>52</comment_count>
    <who name="">vollick</who>
    <bug_when>2012-08-13 11:34:48 -0700</bug_when>
    <thetext>The layout test failures appear to be due to 91117, so this should still be safe to review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>696965</commentid>
    <comment_count>53</comment_count>
      <attachid>157805</attachid>
    <who name="Sami Kyöstilä">skyostil</who>
    <bug_when>2012-08-16 03:15:37 -0700</bug_when>
    <thetext>Comment on attachment 157805
Patch

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

&gt; Source/WebKit/chromium/features.gypi:182
&gt; +          &apos;ENABLE_OVERFLOW_SCROLLING=1&apos;,

I don&apos;t think we want to enable this unconditionally just yet -- see, e.g., http://code.google.com/p/chromium/issues/detail?id=128325 for the kinds of problems it can cause.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>697386</commentid>
    <comment_count>54</comment_count>
      <attachid>157805</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2012-08-16 12:53:17 -0700</bug_when>
    <thetext>Comment on attachment 157805
Patch

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

&gt; Source/WebCore/rendering/RenderLayerBacking.cpp:673
&gt; +        // FIXME: Should use DontSetNeedsDisplay to avoid repainting the entire layer.
&gt; +        m_scrollingContentsLayer-&gt;setOffsetFromRenderer(scrollingContentsOffset, GraphicsLayer::SetNeedsDisplay);

why the fixme instead of using it right way?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>698088</commentid>
    <comment_count>55</comment_count>
    <who name="Sami Kyöstilä">skyostil</who>
    <bug_when>2012-08-17 02:36:20 -0700</bug_when>
    <thetext>(In reply to comment #54)
&gt; &gt; +        // FIXME: Should use DontSetNeedsDisplay to avoid repainting the entire layer.
&gt; &gt; +        m_scrollingContentsLayer-&gt;setOffsetFromRenderer(scrollingContentsOffset, GraphicsLayer::SetNeedsDisplay);
&gt; 
&gt; why the fixme instead of using it right way?

The problem is that with the current patch, doing this produces a lot of rendering corruption which we need to fix first. I think we&apos;ll want to get bug 91117 landed first to provide the scrolling layer infrastructure and then use this bug to make prepainting et al work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>705885</commentid>
    <comment_count>56</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-08-27 16:57:53 -0700</bug_when>
    <thetext>(In reply to comment #55)
&gt; (In reply to comment #54)
&gt; &gt; &gt; +        // FIXME: Should use DontSetNeedsDisplay to avoid repainting the entire layer.
&gt; &gt; &gt; +        m_scrollingContentsLayer-&gt;setOffsetFromRenderer(scrollingContentsOffset, GraphicsLayer::SetNeedsDisplay);
&gt; &gt; 
&gt; &gt; why the fixme instead of using it right way?
&gt; 
&gt; The problem is that with the current patch, doing this produces a lot of rendering corruption which we need to fix first. I think we&apos;ll want to get bug 91117 landed first to provide the scrolling layer infrastructure and then use this bug to make prepainting et al work.

91117 has landed now - what&apos;s next for this patch?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>705892</commentid>
    <comment_count>57</comment_count>
      <attachid>157805</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-08-27 17:02:02 -0700</bug_when>
    <thetext>Comment on attachment 157805
Patch

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

This needs a rebase now that 91117 has landed

&gt;&gt; Source/WebCore/rendering/RenderLayerBacking.cpp:673
&gt;&gt; +        m_scrollingContentsLayer-&gt;setOffsetFromRenderer(scrollingContentsOffset, GraphicsLayer::SetNeedsDisplay);
&gt; 
&gt; why the fixme instead of using it right way?

Now that bug 91117 has landed I&apos;d like to see an attempt at this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>706228</commentid>
    <comment_count>58</comment_count>
    <who name="Sami Kyöstilä">skyostil</who>
    <bug_when>2012-08-28 03:46:51 -0700</bug_when>
    <thetext>(In reply to comment #57)
&gt; &gt; why the fixme instead of using it right way?
&gt; 
&gt; Now that bug 91117 has landed I&apos;d like to see an attempt at this.

Agreed, I&apos;m on it. The way I see it there are two things we need: telling ScrollingCoordinator about the scrolling layers and implementing prepainting so that we don&apos;t need to fully invalidate the layers as they scroll.

I&apos;ve updated the title to better match the scope -- please let me know if want this bug split further.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>707892</commentid>
    <comment_count>59</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-08-29 14:41:18 -0700</bug_when>
    <thetext>(In reply to comment #58)
&gt; (In reply to comment #57)
&gt; &gt; &gt; why the fixme instead of using it right way?
&gt; &gt; 
&gt; &gt; Now that bug 91117 has landed I&apos;d like to see an attempt at this.
&gt; 
&gt; Agreed, I&apos;m on it. The way I see it there are two things we need: telling ScrollingCoordinator about the scrolling layers and implementing prepainting so that we don&apos;t need to fully invalidate the layers as they scroll.
&gt; 
&gt; I&apos;ve updated the title to better match the scope -- please let me know if want this bug split further.

It&apos;s hard to say when to split.  I think you should definitely split cross-platform changes from chromium-only changes, and then split as things get unwieldy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>708858</commentid>
    <comment_count>60</comment_count>
    <who name="Sami Kyöstilä">skyostil</who>
    <bug_when>2012-08-30 11:22:14 -0700</bug_when>
    <thetext>(In reply to comment #59)
&gt; It&apos;s hard to say when to split.  I think you should definitely split cross-platform changes from chromium-only changes, and then split as things get unwieldy.

Ok. I&apos;ll use this bug for the registration part since it&apos;s (mostly) Chromium and will open another bug for prepainting.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>708868</commentid>
    <comment_count>61</comment_count>
      <attachid>161523</attachid>
    <who name="Sami Kyöstilä">skyostil</who>
    <bug_when>2012-08-30 11:33:02 -0700</bug_when>
    <thetext>Created attachment 161523
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>709074</commentid>
    <comment_count>62</comment_count>
      <attachid>161523</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-08-30 15:08:54 -0700</bug_when>
    <thetext>Comment on attachment 161523
Patch

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

&gt; Source/Platform/ChangeLog:3
&gt; +        Register scrolling layers with ScrollingCoordinator

this is an ~80% chromium-specific change with some changes in cross-platform code like RenderLayerBacking/etc.  Please split the chromium parts out into a different patch so it can be reviewed separately.

&gt; Source/Platform/chromium/public/WebLayer.h:177
&gt; +    virtual void setScrollDelegate(WebLayerScrollDelegate*) = 0;

document this please - in particular what the rules are for the lifetime of the passed in pointer (outlives the WebLayer, I&apos;m guessing?) and whether you can have multiple (I&apos;m guessing no?)

&gt; Source/Platform/chromium/public/WebLayerScrollDelegate.h:32
&gt; +class WebLayerScrollDelegate {

s/Delegate/Client/, please. we shouldn&apos;t be using &apos;delegate&apos; in the WebKit API

&gt; Source/Platform/chromium/public/WebLayerScrollDelegate.h:35
&gt; +};

declared d&apos;tor please (protected most likely since you shouldn&apos;t call delete on a client ptr)

&gt; Source/WebCore/page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:33
&gt; +#include &quot;LayerChromium.h&quot;

this is a really bad dependency - you can&apos;t depend on LayerChromium outside of the compositor implementation

&gt; Source/WebCore/platform/ScrollableArea.h:173
&gt; +    virtual bool usesCompositedScrolling() const { return false; }

why is this outside of USE(ACCELERATED_COMPOSITING) ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>710626</commentid>
    <comment_count>63</comment_count>
      <attachid>161523</attachid>
    <who name="Sami Kyöstilä">skyostil</who>
    <bug_when>2012-09-03 07:13:26 -0700</bug_when>
    <thetext>Comment on attachment 161523
Patch

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

&gt;&gt; Source/Platform/ChangeLog:3
&gt;&gt; +        Register scrolling layers with ScrollingCoordinator
&gt; 
&gt; this is an ~80% chromium-specific change with some changes in cross-platform code like RenderLayerBacking/etc.  Please split the chromium parts out into a different patch so it can be reviewed separately.

Sure, here&apos;s the Chromium part: https://bugs.webkit.org/show_bug.cgi?id=95679

&gt;&gt; Source/Platform/chromium/public/WebLayer.h:177
&gt;&gt; +    virtual void setScrollDelegate(WebLayerScrollDelegate*) = 0;
&gt; 
&gt; document this please - in particular what the rules are for the lifetime of the passed in pointer (outlives the WebLayer, I&apos;m guessing?) and whether you can have multiple (I&apos;m guessing no?)

Good idea. I&apos;ve added a comment block.

&gt;&gt; Source/Platform/chromium/public/WebLayerScrollDelegate.h:32
&gt;&gt; +class WebLayerScrollDelegate {
&gt; 
&gt; s/Delegate/Client/, please. we shouldn&apos;t be using &apos;delegate&apos; in the WebKit API

Done. FWIW, this was modeled after WebAnimationDelegate.

&gt;&gt; Source/Platform/chromium/public/WebLayerScrollDelegate.h:35
&gt;&gt; +};
&gt; 
&gt; declared d&apos;tor please (protected most likely since you shouldn&apos;t call delete on a client ptr)

Done.

&gt;&gt; Source/WebCore/page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:33
&gt;&gt; +#include &quot;LayerChromium.h&quot;
&gt; 
&gt; this is a really bad dependency - you can&apos;t depend on LayerChromium outside of the compositor implementation

Sorry, I added this include by mistake; there isn&apos;t an actual dependency here.

&gt;&gt; Source/WebCore/platform/ScrollableArea.h:173
&gt;&gt; +    virtual bool usesCompositedScrolling() const { return false; }
&gt; 
&gt; why is this outside of USE(ACCELERATED_COMPOSITING) ?

This used to be so because RenderLayer exposes usesCompositedScrolling() both with and without USE(ACCELERATED_COMPOSITING). I&apos;ve now rearranged things so that RenderLayer uses OVERRIDE for usesCompositedScrolling() based on the build configuration.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>710638</commentid>
    <comment_count>64</comment_count>
      <attachid>161924</attachid>
    <who name="Sami Kyöstilä">skyostil</who>
    <bug_when>2012-09-03 07:28:34 -0700</bug_when>
    <thetext>Created attachment 161924
Patch

Cross-platform patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>711278</commentid>
    <comment_count>65</comment_count>
      <attachid>161924</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-09-04 11:30:05 -0700</bug_when>
    <thetext>Comment on attachment 161924
Patch

R=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>711309</commentid>
    <comment_count>66</comment_count>
      <attachid>161924</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-04 11:53:37 -0700</bug_when>
    <thetext>Comment on attachment 161924
Patch

Clearing flags on attachment: 161924

Committed r127480: &lt;http://trac.webkit.org/changeset/127480&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>711310</commentid>
    <comment_count>67</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-04 11:53:46 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>713309</commentid>
    <comment_count>68</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2012-09-06 08:22:50 -0700</bug_when>
    <thetext>(In reply to comment #57)
&gt; (From update of attachment 157805 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=157805&amp;action=review
&gt; 
&gt; This needs a rebase now that 91117 has landed
&gt; 
&gt; &gt;&gt; Source/WebCore/rendering/RenderLayerBacking.cpp:673
&gt; &gt;&gt; +        m_scrollingContentsLayer-&gt;setOffsetFromRenderer(scrollingContentsOffset, GraphicsLayer::SetNeedsDisplay);
&gt; &gt; 
&gt; &gt; why the fixme instead of using it right way?
&gt; 
&gt; Now that bug 91117 has landed I&apos;d like to see an attempt at this.

If you referred to an attempt to fix the FIXME I pointed out above, if did not happen afaik.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>714320</commentid>
    <comment_count>69</comment_count>
    <who name="Sami Kyöstilä">skyostil</who>
    <bug_when>2012-09-07 02:31:29 -0700</bug_when>
    <thetext>(In reply to comment #68)
&gt; If you referred to an attempt to fix the FIXME I pointed out above, if did not happen afaik.

That&apos;s right, I&apos;ve opened https://bugs.webkit.org/show_bug.cgi?id=96087 to track that.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>146645</attachid>
            <date>2012-06-08 14:05:17 -0700</date>
            <delta_ts>2012-06-13 12:22:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-78862-20120608220516.patch</filename>
            <type>text/plain</type>
            <size>43432</size>
            <attacher name="Sami Kyostila">skyostil</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5ODEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTcxOTBmYjJkNTA3ZDc5
MjI0ZWExN2NlZjczYmRhMDk4YjNjN2JhMy4uYjE2Yjg2OTBlODBhYjFmZWI1MzAyYzM0NzIzMGMy
ZjY2Y2M4MWRlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDExNSBAQAorMjAxMi0wNi0wOCAgU2Ft
aSBLeW9zdGlsYSAgPHNreW9zdGlsQGNocm9taXVtLm9yZz4KKworICAgICAgICBUb3VjaCBvdmVy
ZmxvdyBzY3JvbGxpbmcgZWxlbWVudHMgc2hvdWxkIGJlIHNwbGl0IGludG8gbGF5ZXJzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03ODg2MgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gYSByZWd1bGFy
IG92ZXJmbG93IGVsZW1lbnQgaXMgc2Nyb2xsZWQsIHdlIHJlcGFpbnQgdGhlIGVudGlyZSBhcmVh
CisgICAgICAgIGl0IG9jY3VwaWVzIGluIHRoZSB2aWV3IGZyb20gc2NyYXRjaC4gU2luY2UgdGhp
cyBwYWludGluZyBpcyBkb25lIGluIHRoZQorICAgICAgICBtYWluIHRocmVhZCwgaXQgY2FuIGJl
IGJsb2NrZWQgYnksIGUuZy4sIEphdmFTY3JpcHQgZXhlY3V0aW9uLCBmdXJ0aGVyCisgICAgICAg
IGxpbWl0aW5nIHBlcmZvcm1hbmNlLgorCisgICAgICAgIEluIGNvbnRyYXN0LCB0aGUgbWFpbiBi
b2R5IGVsZW1lbnQgb2YgYSBwYWdlIGNhbiB1c3VhbGx5IGJlIHNjcm9sbGVkCisgICAgICAgIGJ5
IHRoZSBjb21wb3NpdG9yIHNpbXBseSBieSB0cmFuc2xhdGluZyBpdCBhcm91bmQgdGhlIHNjcmVl
bi4gVGhpcyBpcworICAgICAgICBiZWNhdXNlIHRoZSBjb250ZW50cyBvZiB0aGUgYm9keSBoYXZl
IGJlZW4gcGFpbnRlZCBpbnRvIGEKKyAgICAgICAgUmVuZGVyTGF5ZXJCYWNraW5nIHRvIHdoaWNo
IHRoZSBjb21wb3NpdG9yIGNhbiBhcHBseSBhIHNjcm9sbCB0cmFuc2Zvcm0uCisgICAgICAgIEZ1
cnRoZXJtb3JlLCBhIGNvbXBvc2l0b3IgdGhyZWFkIGNhbiBhcHBseSB1cGRhdGUgdGhlIHNjcm9s
bCBvZmZzZXQKKyAgICAgICAgd2hpbGUgdGhlIG1haW4gdGhyZWFkIGlzIGJ1c3kgd2l0aCBvdGhl
ciBwcm9jZXNzaW5nLgorCisgICAgICAgIEluIG9yZGVyIHRvIG1ha2Ugb3ZlcmZsb3cgZWxlbWVu
dCBzY3JvbGxpbmcgc2ltaWxhcmx5IGVmZmljaWVudCwgdGhpcworICAgICAgICBwYXRjaCBkb2Vz
IHRocmVlIHRoaW5nczoKKworICAgICAgICAgICAgMS4gU3BsaXRzIG92ZXJmbG93IGVsZW1lbnRz
IGludG8gYSBmaXhlZCBiYWNrZ3JvdW5kIGxheWVyIGFuZCBhCisgICAgICAgICAgICBzY3JvbGxp
bmcgZm9yZWdyb3VuZCBsYXllci4gVGhpcyBpcyBvbmx5IGRvbmUgZm9yIGVsZW1lbnRzIHVzaW5n
IHRoZQorICAgICAgICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoIHN0eWxl
LCBiZWNhdXNlIGl0IGludHJvZHVjZXMgYQorICAgICAgICAgICAgc3RhY2tpbmcgY29udGV4dCB3
aGljaCBlbmFibGVzIHVzIHRvIHByb21vdGUgdGhlIGVsZW1lbnQgdG8gYQorICAgICAgICAgICAg
Y29tcG9zaXRlZCBsYXllci4KKworICAgICAgICAgICAgMi4gUmVnaXN0ZXJzIHRoZXNlIGVsZW1l
bnRzIHdpdGggdGhlIFNjcm9sbGluZ0Nvb3JkaW5hdG9yIHNvIGl0CisgICAgICAgICAgICBrbm93
cyB0aGVpciBhc3NvY2lhdGVkIHNjcm9sbCBnZW9tZXRyeS4KKworICAgICAgICAgICAgMy4gQXZv
aWRzIGludmFsaWRhdGluZyB0aGUgY29udGVudHMgb2YgdGhlIGxheWVycyB3aGVuIHRoZXkgYXJl
CisgICAgICAgICAgICBzY3JvbGxlZC4gVGhpcyBhbGxvd3MgdGhlIGxheWVycyB0byBiZSB0cmFu
c2xhdGVkIGFjY29yZGluZyB0byB0aGVpcgorICAgICAgICAgICAgc2Nyb2xsIHBvc2l0aW9uIHdp
dGhvdXQgdW5uZWNlc3NhcnkgcmVwYWludHMuCisKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9T
Y3JvbGxpbmdDb29yZGluYXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdl
YkNvcmU6OlNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpzY3JvbGxhYmxlQXJlYVNjcm9sbExheWVyRGlk
Q2hhbmdlKToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5o
OgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChTY3JvbGxpbmdDb29yZGluYXRvcik6Cisg
ICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3JOb25lLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nQ29vcmRpbmF0b3I6
OnNjcm9sbGFibGVBcmVhU2Nyb2xsTGF5ZXJEaWRDaGFuZ2UpOgorICAgICAgICAqIHBhZ2Uvc2Ny
b2xsaW5nL2Nocm9taXVtL1Njcm9sbGluZ0Nvb3JkaW5hdG9yQ2hyb21pdW0uY3BwOgorICAgICAg
ICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdDb29yZGluYXRvcjo6c2Ny
b2xsYWJsZUFyZWFTY3JvbGxMYXllckRpZENoYW5nZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvR3JhcGhpY3NMYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVy
OjpzZXRPZmZzZXRGcm9tUmVuZGVyZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dy
YXBoaWNzTGF5ZXIuaDoKKyAgICAgICAgKEdyYXBoaWNzTGF5ZXIpOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL0dyYXBoaWNzTGF5ZXJDaHJvbWl1bS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpHcmFwaGljc0xheWVyQ2hyb21pdW06OkdyYXBoaWNzTGF5ZXJDaHJvbWl1bSk6
CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVyQ2hyb21pdW06OmRpZFNjcm9sbCk6Cisg
ICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9H
cmFwaGljc0xheWVyQ2hyb21pdW0uaDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJD
aHJvbWl1bTo6c2V0U2Nyb2xsYWJsZUFyZWEpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NM
YXllckNocm9taXVtOjpzY3JvbGxhYmxlQXJlYSk6CisgICAgICAgIChHcmFwaGljc0xheWVyQ2hy
b21pdW0pOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9jay5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJCbG9jazo6bGF5b3V0QmxvY2spOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyQmxvY2s6OnBhaW50KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6YXBwbHlDYWNoZWRDbGlwQW5kU2Nyb2xsT2Zmc2V0
Rm9yUmVwYWludCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckJveDo6Y29tcHV0ZVJlY3RGb3JSZXBhaW50KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
Qm94Lmg6CisgICAgICAgIChSZW5kZXJCb3gpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJ
bmxpbmUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW5saW5lOjpjbGlwcGVkT3ZlcmZs
b3dSZWN0Rm9yUmVwYWludCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJJbmxpbmU6OmNvbXB1
dGVSZWN0Rm9yUmVwYWludCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6Omhhc0Fj
Y2VsZXJhdGVkU2Nyb2xsaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpzY3Jv
bGxUbyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6cGFpbnRMYXllckNvbnRlbnRz
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpjYWxjdWxhdGVDbGlwUmVjdHMpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnJlcGFpbnRCbG9ja1NlbGVjdGlvbkdhcHMp
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnNob3VsZEJlTm9ybWFsRmxvd09ubHkp
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnVwZGF0ZVNjcm9sbGFibGVBcmVhU2V0
KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaDoKKyAgICAgICAgKFJlbmRlckxh
eWVyKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQmFja2luZzo6flJlbmRlckxheWVyQmFja2luZyk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OmRlc3Ryb3lHcmFwaGljc0xheWVy
cyk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6Omhhc1RvdWNoT3ZlcmZs
b3dTY3JvbGxpbmcpOgorICAgICAgICAoV2ViQ29yZTo6bGF5ZXJPckFuY2VzdG9ySXNTY3JvbGxp
bmcpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjpwYXJlbnRGb3JTdWJs
YXllcnMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjpzaG91bGRDbGlw
Q29tcG9zaXRlZEJvdW5kcyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6
OnVwZGF0ZUdyYXBoaWNzTGF5ZXJDb25maWd1cmF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckxheWVyQmFja2luZzo6dXBkYXRlR3JhcGhpY3NMYXllckdlb21ldHJ5KToKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlSW50ZXJuYWxIaWVyYXJjaHkpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVTY3JvbGxpbmdMYXll
cik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OnBhaW50Q29udGVudHMp
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuaDoKKyAgICAgICAgKFJl
bmRlckxheWVyQmFja2luZyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6
Omhhc1Njcm9sbGluZ0xheWVyKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQmFja2lu
Zzo6c2Nyb2xsaW5nTGF5ZXIpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckNvbXBv
c2l0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpjb21w
dXRlQ29tcG9zaXRpbmdSZXF1aXJlbWVudHMpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OnNjcm9sbGluZ0xheWVyRGlkQ2hhbmdl
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6cmVxdWlyZXNDb21w
b3NpdGluZ0xheWVyKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6
cmVxdWlyZXNPd25CYWNraW5nU3RvcmUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJD
b21wb3NpdG9yOjpyZXF1aXJlc0NvbXBvc2l0aW5nRm9yT3ZlcmZsb3dTY3JvbGwpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpuZWVkc0NvbnRlbnRzQ29tcG9zaXRp
bmdMYXllcik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5oOgor
ICAgICAgICAoUmVuZGVyTGF5ZXJDb21wb3NpdG9yKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6Y29tcHV0ZVJl
Y3RGb3JSZXBhaW50KToKKwogMjAxMi0wMy0yOCAgU2FtaSBLeW9zdGlsYSAgPHNreW9zdGlsQGNo
cm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIEFsbG93IHNjcm9sbGluZyBub24tcm9v
dCBsYXllcnMgaW4gdGhlIGNvbXBvc2l0b3IgdGhyZWFkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5jcHAKaW5kZXggZDM4YmJk
NWI1MWMyNDJkZDgxNjg3OThkOGYzNjZkMjhkN2IwYjk3OS4uZTNmYzU0M2ZhNjViM2U4Zjc4ZTNh
ZjQ1MWE3MjE1MmFhODBkYTY2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
c2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcApAQCAtNDI3LDYgKzQyNywxNCBAQCB2
b2lkIFNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpjb21taXRUcmVlU3RhdGUoKQogICAgIE93blB0cjxT
Y3JvbGxpbmdUcmVlU3RhdGU+IHRyZWVTdGF0ZSA9IG1fc2Nyb2xsaW5nVHJlZVN0YXRlLT5jb21t
aXQoKTsKICAgICBTY3JvbGxpbmdUaHJlYWQ6OmRpc3BhdGNoKGJpbmQoJlNjcm9sbGluZ1RyZWU6
OmNvbW1pdE5ld1RyZWVTdGF0ZSwgbV9zY3JvbGxpbmdUcmVlLmdldCgpLCB0cmVlU3RhdGUucmVs
ZWFzZSgpKSk7CiB9CisKKyNpZiBFTkFCTEUoT1ZFUkZMT1dfU0NST0xMSU5HKQordm9pZCBTY3Jv
bGxpbmdDb29yZGluYXRvcjo6c2Nyb2xsYWJsZUFyZWFTY3JvbGxMYXllckRpZENoYW5nZShTY3Jv
bGxhYmxlQXJlYSosIEdyYXBoaWNzTGF5ZXIqKQoreworICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQu
Cit9CisjZW5kaWYKKwogI2VuZGlmCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5oCmlu
ZGV4IGI0NzFlMmFhZTNmNjMxYzBhYTE5OTAxMTI3NmNjNDk0Mjg0ZWMxYWEuLmRhZjU0ZjMzOGU5
YThkYTAzYTUyM2NiNjcxOGJhYzY4Njg3NmU4OTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaApAQCAtNTUsNiArNTUsMTAg
QEAgY2xhc3MgU2Nyb2xsaW5nVHJlZVN0YXRlOwogY2xhc3MgU2Nyb2xsaW5nVHJlZTsKICNlbmRp
ZgogCisjaWYgRU5BQkxFKE9WRVJGTE9XX1NDUk9MTElORykKK2NsYXNzIFNjcm9sbGFibGVBcmVh
OworI2VuZGlmCisKIGNsYXNzIFNjcm9sbGluZ0Nvb3JkaW5hdG9yIDogcHVibGljIFRocmVhZFNh
ZmVSZWZDb3VudGVkPFNjcm9sbGluZ0Nvb3JkaW5hdG9yPiB7CiBwdWJsaWM6CiAgICAgc3RhdGlj
IFBhc3NSZWZQdHI8U2Nyb2xsaW5nQ29vcmRpbmF0b3I+IGNyZWF0ZShQYWdlKik7CkBAIC05NSw2
ICs5OSwxMSBAQCBwdWJsaWM6CiAgICAgLy8gU2hvdWxkIGJlIGNhbGxlZCB3aGVuZXZlciB0aGUg
dmVydGljYWwgc2Nyb2xsYmFyIGxheWVyIGZvciB0aGUgZ2l2ZW4gZnJhbWUgdmlldyBjaGFuZ2Vz
LgogICAgIHZvaWQgZnJhbWVWaWV3VmVydGljYWxTY3JvbGxiYXJMYXllckRpZENoYW5nZShGcmFt
ZVZpZXcqLCBHcmFwaGljc0xheWVyKiB2ZXJ0aWNhbFNjcm9sbGJhckxheWVyKTsKIAorI2lmIEVO
QUJMRShPVkVSRkxPV19TQ1JPTExJTkcpCisgICAgLy8gU2hvdWxkIGJlIGNhbGxlZCB3aGVuZXZl
ciB0aGUgc2Nyb2xsYWJsZSBsYXllciBmb3IgdGhlIGdpdmVuIHNjcm9sbCBhcmVhIGNoYW5nZXMu
CisgICAgdm9pZCBzY3JvbGxhYmxlQXJlYVNjcm9sbExheWVyRGlkQ2hhbmdlKFNjcm9sbGFibGVB
cmVhKiwgR3JhcGhpY3NMYXllciopOworI2VuZGlmCisKICAgICAvLyBSZXF1ZXN0cyB0aGF0IHRo
ZSBzY3JvbGxpbmcgY29vcmRpbmF0b3IgdXBkYXRlcyB0aGUgc2Nyb2xsIHBvc2l0aW9uIG9mIHRo
ZSBnaXZlbiBmcmFtZSB2aWV3LiBJZiB0aGlzIGZ1bmN0aW9uIHJldHVybnMgdHJ1ZSwgaXQgbWVh
bnMgdGhhdCB0aGUKICAgICAvLyBwb3NpdGlvbiB3aWxsIGJlIHVwZGF0ZWQgYXN5bmNocm9ub3Vz
bHkuIElmIGl0IHJldHVybnMgZmFsc2UsIHRoZSBjYWxsZXIgc2hvdWxkIHVwZGF0ZSB0aGUgc2Ny
b2xsaW5nIHBvc2l0aW9uIGl0c2VsZi4KICAgICBib29sIHJlcXVlc3RTY3JvbGxQb3NpdGlvblVw
ZGF0ZShGcmFtZVZpZXcqLCBjb25zdCBJbnRQb2ludCYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3JOb25lLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTm9uZS5jcHAKaW5k
ZXggY2YxNDVkZDIzMzdiODA4N2M0OGY3NWE2MjRkMTAxMTdjOWU0NDIzNC4uYmNlNmU5YzBiZjg5
ODQzNTNmN2U2NzAyOGE1MDUxNmY5Njk2YzU1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3JOb25lLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvck5vbmUuY3BwCkBAIC03
MSw2ICs3MSwxMiBAQCB2b2lkIFNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpzZXRTaG91bGRVcGRhdGVT
Y3JvbGxMYXllclBvc2l0aW9uT25NYWluVGhyZWFkKGJvb2wpCiB7CiB9CiAKKyNpZiBFTkFCTEUo
T1ZFUkZMT1dfU0NST0xMSU5HKQordm9pZCBTY3JvbGxpbmdDb29yZGluYXRvcjo6c2Nyb2xsYWJs
ZUFyZWFTY3JvbGxMYXllckRpZENoYW5nZShTY3JvbGxhYmxlQXJlYSosIEdyYXBoaWNzTGF5ZXIq
KQoreworfQorI2VuZGlmCisKICNlbmRpZiAvLyAhRU5BQkxFKFRIUkVBREVEX1NDUk9MTElORykK
IAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvY2hyb21pdW0v
U2Nyb2xsaW5nQ29vcmRpbmF0b3JDaHJvbWl1bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9jaHJvbWl1bS9TY3JvbGxpbmdDb29yZGluYXRvckNocm9taXVtLmNwcAppbmRleCBj
MThlN2UzOTc2NjA0OGFlZDBlODVjM2E3MGQ5MjIyYjg1NGM4ZDdiLi5kYzMyNjhiMzQ2ZTA1NmQy
NzZhMWU4Nzc3NWFjNWE5NGI2ODFhM2FlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9jaHJvbWl1bS9TY3JvbGxpbmdDb29yZGluYXRvckNocm9taXVtLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9jaHJvbWl1bS9TY3JvbGxpbmdDb29yZGlu
YXRvckNocm9taXVtLmNwcApAQCAtMzcsNiArMzcsMTAgQEAKICNpbmNsdWRlICJTY3JvbGxiYXJU
aGVtZS5oIgogI2luY2x1ZGUgImNjL0NDUHJveHkuaCIKIAorI2lmIEVOQUJMRShPVkVSRkxPV19T
Q1JPTExJTkcpCisjaW5jbHVkZSAiR3JhcGhpY3NMYXllckNocm9taXVtLmgiCisjZW5kaWYKKwog
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTY3JvbGxpbmdDb29yZGluYXRvclByaXZhdGUg
ewpAQCAtMTYxLDQgKzE2NSwxOSBAQCB2b2lkIFNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpzZXRTaG91
bGRVcGRhdGVTY3JvbGxMYXllclBvc2l0aW9uT25NYWluVGhyZWFkKGJvb2wgcwogICAgICAgICBs
YXllci0+c2V0U2hvdWxkU2Nyb2xsT25NYWluVGhyZWFkKHNob3VsZCk7CiB9CiAKKyNpZiBFTkFC
TEUoT1ZFUkZMT1dfU0NST0xMSU5HKQordm9pZCBTY3JvbGxpbmdDb29yZGluYXRvcjo6c2Nyb2xs
YWJsZUFyZWFTY3JvbGxMYXllckRpZENoYW5nZShTY3JvbGxhYmxlQXJlYSogc2Nyb2xsYWJsZUFy
ZWEsIEdyYXBoaWNzTGF5ZXIqIHNjcm9sbExheWVyKQoreworICAgIEdyYXBoaWNzTGF5ZXJDaHJv
bWl1bSogbGF5ZXIgPSBzdGF0aWNfY2FzdDxHcmFwaGljc0xheWVyQ2hyb21pdW0qPihzY3JvbGxM
YXllcik7CisgICAgTGF5ZXJDaHJvbWl1bSogcGxhdGZvcm1MYXllciA9IHNjcm9sbExheWVyID8g
c2Nyb2xsTGF5ZXItPnBsYXRmb3JtTGF5ZXIoKSA6IDA7CisgICAgaWYgKGxheWVyKQorICAgICAg
ICBsYXllci0+c2V0U2Nyb2xsYWJsZUFyZWEoc2Nyb2xsYWJsZUFyZWEpOworICAgIGlmICghcGxh
dGZvcm1MYXllcikKKyAgICAgICAgcmV0dXJuOworICAgIHBsYXRmb3JtTGF5ZXItPnNldFNjcm9s
bGFibGUodHJ1ZSk7CisgICAgcGxhdGZvcm1MYXllci0+c2V0U2Nyb2xsUG9zaXRpb24oc2Nyb2xs
YWJsZUFyZWEtPnNjcm9sbFBvc2l0aW9uKCkpOworICAgIHBsYXRmb3JtTGF5ZXItPnNldE1heFNj
cm9sbFBvc2l0aW9uKEludFNpemUoc2Nyb2xsYWJsZUFyZWEtPnNjcm9sbFNpemUoSG9yaXpvbnRh
bFNjcm9sbGJhciksIHNjcm9sbGFibGVBcmVhLT5zY3JvbGxTaXplKFZlcnRpY2FsU2Nyb2xsYmFy
KSkpOworfQorI2VuZGlmCisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvR3JhcGhpY3NMYXllci5jcHAKaW5kZXggMTBkN2I3ZmM4ZGE0ZjQ4NmQwM2UwMzNmYjQ4
MjExNTg2MWFmNjJmMC4uZmU0ZjdiNDY2NTQ4ZWVkMGEyMDg1ZWNlM2Y4MmExY2E0NTY1NjUxOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXll
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXll
ci5jcHAKQEAgLTI4Myw3ICsyODMsNyBAQCB2b2lkIEdyYXBoaWNzTGF5ZXI6OnNldFJlcGxpY2F0
ZWRCeUxheWVyKEdyYXBoaWNzTGF5ZXIqIGxheWVyKQogICAgIG1fcmVwbGljYUxheWVyID0gbGF5
ZXI7CiB9CiAKLXZvaWQgR3JhcGhpY3NMYXllcjo6c2V0T2Zmc2V0RnJvbVJlbmRlcmVyKGNvbnN0
IEludFNpemUmIG9mZnNldCkKK3ZvaWQgR3JhcGhpY3NMYXllcjo6c2V0T2Zmc2V0RnJvbVJlbmRl
cmVyKGNvbnN0IEludFNpemUmIG9mZnNldCwgYm9vbCBuZWVkc0Rpc3BsYXkpCiB7CiAgICAgaWYg
KG9mZnNldCA9PSBtX29mZnNldEZyb21SZW5kZXJlcikKICAgICAgICAgcmV0dXJuOwpAQCAtMjkx
LDcgKzI5MSw4IEBAIHZvaWQgR3JhcGhpY3NMYXllcjo6c2V0T2Zmc2V0RnJvbVJlbmRlcmVyKGNv
bnN0IEludFNpemUmIG9mZnNldCkKICAgICBtX29mZnNldEZyb21SZW5kZXJlciA9IG9mZnNldDsK
IAogICAgIC8vIElmIHRoZSBjb21wb3NpdGluZyBsYXllciBvZmZzZXQgY2hhbmdlcywgd2UgbmVl
ZCB0byByZXBhaW50LgotICAgIHNldE5lZWRzRGlzcGxheSgpOworICAgIGlmIChuZWVkc0Rpc3Bs
YXkpCisgICAgICAgIHNldE5lZWRzRGlzcGxheSgpOwogfQogCiB2b2lkIEdyYXBoaWNzTGF5ZXI6
OnNldEJhY2tncm91bmRDb2xvcihjb25zdCBDb2xvciYgY29sb3IpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmgKaW5kZXggMTZjNzNhNDgzOGUw
NDQ3ZTVhYWVhMjY0MGNmMjM2NGZlZDA4NmIzMy4uNGMxMzZjYjU0NzBiYjQ5MzNiMTlkMDdmZWZi
YmVhNGNhMzZmY2QxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvR3JhcGhpY3NMYXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0dyYXBoaWNzTGF5ZXIuaApAQCAtMjc0LDcgKzI3NCw3IEBAIHB1YmxpYzoKIAogICAgIC8vIE9m
ZnNldCBpcyBvcmlnaW4gb2YgdGhlIHJlbmRlcmVyIG1pbnVzIG9yaWdpbiBvZiB0aGUgZ3JhcGhp
Y3MgbGF5ZXIgKHNvIGVpdGhlciB6ZXJvIG9yIG5lZ2F0aXZlKS4KICAgICBJbnRTaXplIG9mZnNl
dEZyb21SZW5kZXJlcigpIGNvbnN0IHsgcmV0dXJuIG1fb2Zmc2V0RnJvbVJlbmRlcmVyOyB9Ci0g
ICAgdm9pZCBzZXRPZmZzZXRGcm9tUmVuZGVyZXIoY29uc3QgSW50U2l6ZSYpOworICAgIHZvaWQg
c2V0T2Zmc2V0RnJvbVJlbmRlcmVyKGNvbnN0IEludFNpemUmLCBib29sIG5lZWRzRGlzcGxheSA9
IHRydWUpOwogCiAgICAgLy8gVGhlIHBvc2l0aW9uIG9mIHRoZSBsYXllciAodGhlIGxvY2F0aW9u
IG9mIGl0cyB0b3AtbGVmdCBjb3JuZXIgaW4gaXRzIHBhcmVudCkKICAgICBjb25zdCBGbG9hdFBv
aW50JiBwb3NpdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fcG9zaXRpb247IH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dyYXBoaWNzTGF5ZXJD
aHJvbWl1bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9H
cmFwaGljc0xheWVyQ2hyb21pdW0uY3BwCmluZGV4IDFlMGUxMzQ2ZmU2NDg1OWJmMzM5ZjM5ZWNj
NzcyN2EzMDQ5ZjZhNzUuLjNmNDZmZGI0ZGE2MzYzNjU3MmViZmRhNzlhN2FmNDVlN2Q5YjM2ZDIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dy
YXBoaWNzTGF5ZXJDaHJvbWl1bS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vR3JhcGhpY3NMYXllckNocm9taXVtLmNwcApAQCAtODMsNiArODMsNyBA
QCBHcmFwaGljc0xheWVyQ2hyb21pdW06OkdyYXBoaWNzTGF5ZXJDaHJvbWl1bShHcmFwaGljc0xh
eWVyQ2xpZW50KiBjbGllbnQpCiAgICAgLCBtX2NvbnRlbnRzTGF5ZXJIYXNCYWNrZ3JvdW5kQ29s
b3IoZmFsc2UpCiAgICAgLCBtX2luU2V0Q2hpbGRyZW4oZmFsc2UpCiAgICAgLCBtX3BhZ2VTY2Fs
ZUNoYW5nZWQoZmFsc2UpCisgICAgLCBtX3Njcm9sbGFibGVBcmVhKDApCiB7CiAgICAgbV9sYXll
ciA9IFdlYkNvbnRlbnRMYXllcihDb250ZW50TGF5ZXJDaHJvbWl1bTo6Y3JlYXRlKHRoaXMpKTsK
IApAQCAtODc4LDYgKzg3OSwxMiBAQCB2b2lkIEdyYXBoaWNzTGF5ZXJDaHJvbWl1bTo6bm90aWZ5
QW5pbWF0aW9uRmluaXNoZWQoZG91YmxlKQogICAgIC8vIERvIG5vdGhpbmcuCiB9CiAKK3ZvaWQg
R3JhcGhpY3NMYXllckNocm9taXVtOjpkaWRTY3JvbGwoY29uc3QgSW50U2l6ZSYgc2Nyb2xsRGVs
dGEpCit7CisgICAgaWYgKG1fc2Nyb2xsYWJsZUFyZWEpCisgICAgICAgIG1fc2Nyb2xsYWJsZUFy
ZWEtPnNjcm9sbFRvT2Zmc2V0V2l0aG91dEFuaW1hdGlvbihtX3Njcm9sbGFibGVBcmVhLT5zY3Jv
bGxQb3NpdGlvbigpICsgc2Nyb2xsRGVsdGEpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CiAKICNlbmRpZiAvLyBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9HcmFwaGljc0xheWVyQ2hy
b21pdW0uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dyYXBo
aWNzTGF5ZXJDaHJvbWl1bS5oCmluZGV4IGI4YTgwMThkOGQ0Yjc4MTFlY2I4YWVmZjdlMjRlZTVi
MzEyZmM0OTAuLjhjOWQzNTMwMjFkZGJmYmFlZGUxMDBmMzNhZDFlZWQ0Y2FkYWYyMDQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dyYXBoaWNz
TGF5ZXJDaHJvbWl1bS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL0dyYXBoaWNzTGF5ZXJDaHJvbWl1bS5oCkBAIC0zNiw2ICszNiw3IEBACiAjaW5jbHVk
ZSAiQ29udGVudExheWVyQ2hyb21pdW0uaCIKICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIK
ICNpbmNsdWRlICJHcmFwaGljc0xheWVyLmgiCisjaW5jbHVkZSAiU2Nyb2xsYWJsZUFyZWEuaCIK
ICNpbmNsdWRlICJjYy9DQ0xheWVyQW5pbWF0aW9uRGVsZWdhdGUuaCIKIAogI2luY2x1ZGUgPHB1
YmxpYy9XZWJDb250ZW50TGF5ZXIuaD4KQEAgLTExNyw5ICsxMTgsMTIgQEAgcHVibGljOgogICAg
IHZpcnR1YWwgdm9pZCBzZXREZWJ1Z0JvcmRlcihjb25zdCBDb2xvciYsIGZsb2F0IGJvcmRlcldp
ZHRoKTsKICAgICB2aXJ0dWFsIHZvaWQgZGV2aWNlT3JQYWdlU2NhbGVGYWN0b3JDaGFuZ2VkKCk7
CiAKKyAgICB2b2lkIHNldFNjcm9sbGFibGVBcmVhKFNjcm9sbGFibGVBcmVhKiBzY3JvbGxhYmxl
QXJlYSkgeyBtX3Njcm9sbGFibGVBcmVhID0gc2Nyb2xsYWJsZUFyZWE7IH0KKyAgICBTY3JvbGxh
YmxlQXJlYSogc2Nyb2xsYWJsZUFyZWEoKSBjb25zdCB7IHJldHVybiBtX3Njcm9sbGFibGVBcmVh
OyB9CisKICAgICAvLyBDb250ZW50TGF5ZXJEZWxlZ2F0ZSBpbXBsZW1lbnRhdGlvbi4KICAgICB2
aXJ0dWFsIHZvaWQgcGFpbnRDb250ZW50cyhHcmFwaGljc0NvbnRleHQmLCBjb25zdCBJbnRSZWN0
JiBjbGlwKTsKLSAgICB2aXJ0dWFsIHZvaWQgZGlkU2Nyb2xsKGNvbnN0IEludFNpemUmKSBPVkVS
UklERSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgZGlkU2Nyb2xsKGNvbnN0IEludFNpemUmKSBPVkVS
UklERTsKIAogICAgIC8vIENDTGF5ZXJBbmltYXRpb25EZWxlZ2F0ZSBpbXBsZW1lbnRhdGlvbi4K
ICAgICB2aXJ0dWFsIHZvaWQgbm90aWZ5QW5pbWF0aW9uU3RhcnRlZChkb3VibGUgc3RhcnRUaW1l
KTsKQEAgLTE3OSw2ICsxODMsOCBAQCBwcml2YXRlOgogCiAgICAgdHlwZWRlZiBIYXNoTWFwPFN0
cmluZywgaW50PiBBbmltYXRpb25JZE1hcDsKICAgICBBbmltYXRpb25JZE1hcCBtX2FuaW1hdGlv
bklkTWFwOworCisgICAgU2Nyb2xsYWJsZUFyZWEqIG1fc2Nyb2xsYWJsZUFyZWE7CiB9OwogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQmxvY2suY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2Nr
LmNwcAppbmRleCA5MDY0YzBhMDAxY2ViMGQ5MTNkZjNjN2U4NDE1ZWFmZTM0NmE3MmIxLi43NjQ0
YzFkYzEyOTQ1ODc5ZmFhNWU4OTdiOGU0MmJmN2UwZTYzYjA4IDEwMDc1NQotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCbG9jay5jcHAKQEAgLTE1NTYsOCArMTU1NiwxMSBAQCB2b2lkIFJlbmRl
ckJsb2NrOjpsYXlvdXRCbG9jayhib29sIHJlbGF5b3V0Q2hpbGRyZW4sIExheW91dFVuaXQgcGFn
ZUxvZ2ljYWxIZWlnaAogICAgICAgICAgICAgLy8gQWRqdXN0IHJlcGFpbnQgcmVjdCBmb3Igc2Ny
b2xsIG9mZnNldAogICAgICAgICAgICAgcmVwYWludFJlY3QubW92ZSgtc2Nyb2xsZWRDb250ZW50
T2Zmc2V0KCkpOwogCi0gICAgICAgICAgICAvLyBEb24ndCBhbGxvdyB0aGlzIHJlY3QgdG8gc3Bp
bGwgb3V0IG9mIG91ciBvdmVyZmxvdyBib3guCi0gICAgICAgICAgICByZXBhaW50UmVjdC5pbnRl
cnNlY3QoTGF5b3V0UmVjdChMYXlvdXRQb2ludCgpLCBzaXplKCkpKTsKKyAgICAgICAgICAgIC8v
IERvbid0IGFsbG93IHRoaXMgcmVjdCB0byBzcGlsbCBvdXQgb2Ygb3VyIG92ZXJmbG93IGJveCwg
dW5sZXNzIHRoZSBsYXllciBpcyBzY3JvbGxhYmxlLgorI2lmIEVOQUJMRShPVkVSRkxPV19TQ1JP
TExJTkcpCisgICAgICAgICAgICBpZiAoIWxheWVyKCktPmhhc0FjY2VsZXJhdGVkU2Nyb2xsaW5n
KCkpCisjZW5kaWYKKyAgICAgICAgICAgICAgICByZXBhaW50UmVjdC5pbnRlcnNlY3QoTGF5b3V0
UmVjdChMYXlvdXRQb2ludCgpLCBzaXplKCkpKTsKICAgICAgICAgfQogCiAgICAgICAgIC8vIE1h
a2Ugc3VyZSB0aGUgcmVjdCBpcyBzdGlsbCBub24tZW1wdHkgYWZ0ZXIgaW50ZXJzZWN0aW5nIGZv
ciBvdmVyZmxvdyBhYm92ZQpAQCAtMjYwNyw3ICsyNjEwLDExIEBAIHZvaWQgUmVuZGVyQmxvY2s6
OnBhaW50KFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBMYXlvdXRQb2ludCYgcGFpbnRPZmZz
ZXQpCiAgICAgLy8gQ2hlY2sgaWYgd2UgbmVlZCB0byBkbyBhbnl0aGluZyBhdCBhbGwuCiAgICAg
Ly8gRklYTUU6IENvdWxkIGVsaW1pbmF0ZSB0aGUgaXNSb290KCkgY2hlY2sgaWYgd2UgZml4IGJh
Y2tncm91bmQgcGFpbnRpbmcgc28gdGhhdCB0aGUgUmVuZGVyVmlldwogICAgIC8vIHBhaW50cyB0
aGUgcm9vdCdzIGJhY2tncm91bmQuCi0gICAgaWYgKCFpc1Jvb3QoKSkgeworICAgIGlmICghaXNS
b290KCkKKyNpZiBFTkFCTEUoT1ZFUkZMT1dfU0NST0xMSU5HKQorICAgICAgICAmJiAhKGhhc092
ZXJmbG93Q2xpcCgpICYmIGhhc0xheWVyKCkgJiYgbGF5ZXIoKS0+aGFzQWNjZWxlcmF0ZWRTY3Jv
bGxpbmcoKSkKKyNlbmRpZgorICAgICAgICApIHsKICAgICAgICAgTGF5b3V0UmVjdCBvdmVyZmxv
d0JveCA9IHZpc3VhbE92ZXJmbG93UmVjdCgpOwogICAgICAgICBmbGlwRm9yV3JpdGluZ01vZGUo
b3ZlcmZsb3dCb3gpOwogICAgICAgICBvdmVyZmxvd0JveC5pbmZsYXRlKG1heGltYWxPdXRsaW5l
U2l6ZShwYWludEluZm8ucGhhc2UpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5j
cHAKaW5kZXggZmNjOGRmNzA4NmRkOWNlMGYxMGJhNTExMDE5MzE5NDcxMDkxZDk5ZC4uZDY2OTNl
MTExMTVmZDk0NzYzZTI0NjRhOGE0NzFjZTY2ZjRhZTVlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJveC5jcHAKQEAgLTY1MSw2ICs2NTEsMjIgQEAgTGF5b3V0U2l6ZSBSZW5kZXJC
b3g6OmNhY2hlZFNpemVGb3JPdmVyZmxvd0NsaXAoKSBjb25zdAogICAgIHJldHVybiBsYXllcigp
LT5zaXplKCk7CiB9CiAKK3ZvaWQgUmVuZGVyQm94OjphcHBseUNhY2hlZENsaXBBbmRTY3JvbGxP
ZmZzZXRGb3JSZXBhaW50KExheW91dFJlY3QmIHBhaW50UmVjdCkgY29uc3QKK3sKKyAgICBwYWlu
dFJlY3QubW92ZSgtc2Nyb2xsZWRDb250ZW50T2Zmc2V0KCkpOyAvLyBGb3Igb3ZlcmZsb3c6YXV0
by9zY3JvbGwvaGlkZGVuLgorCisjaWYgRU5BQkxFKE9WRVJGTE9XX1NDUk9MTElORykKKyAgICAv
LyBEbyBub3QgY2xpcCBzY3JvbGwgbGF5ZXIgY29udGVudHMgdG8gcmVkdWNlIHRoZSBudW1iZXIg
b2YgcmVwYWludHMgd2hpbGUgc2Nyb2xsaW5nLgorICAgIGlmIChoYXNPdmVyZmxvd0NsaXAoKSAm
JiBoYXNMYXllcigpICYmIGxheWVyKCktPmhhc0FjY2VsZXJhdGVkU2Nyb2xsaW5nKCkpCisgICAg
ICAgIHJldHVybjsKKyNlbmRpZgorICAgIC8vIGhlaWdodCgpIGlzIGluYWNjdXJhdGUgaWYgd2Un
cmUgaW4gdGhlIG1pZGRsZSBvZiBhIGxheW91dCBvZiB0aGlzIFJlbmRlckJveCwgc28gdXNlIHRo
ZQorICAgIC8vIGxheWVyJ3Mgc2l6ZSBpbnN0ZWFkLiBFdmVuIGlmIHRoZSBsYXllcidzIHNpemUg
aXMgd3JvbmcsIHRoZSBsYXllciBpdHNlbGYgd2lsbCByZXBhaW50CisgICAgLy8gYW55d2F5IGlm
IGl0cyBzaXplIGRvZXMgY2hhbmdlLgorICAgIExheW91dFJlY3QgY2xpcFJlY3QoTGF5b3V0UG9p
bnQoKSwgY2FjaGVkU2l6ZUZvck92ZXJmbG93Q2xpcCgpKTsKKyAgICBwYWludFJlY3QgPSBpbnRl
cnNlY3Rpb24ocGFpbnRSZWN0LCBjbGlwUmVjdCk7Cit9CisKIExheW91dFVuaXQgUmVuZGVyQm94
OjptaW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgoKSBjb25zdAogewogICAgIGlmIChwcmVmZXJyZWRM
b2dpY2FsV2lkdGhzRGlydHkoKSkKQEAgLTE1ODUsMjEgKzE2MDEsMTMgQEAgdm9pZCBSZW5kZXJC
b3g6OmNvbXB1dGVSZWN0Rm9yUmVwYWludChSZW5kZXJCb3hNb2RlbE9iamVjdCogcmVwYWludENv
bnRhaW5lciwgTGEKIAogICAgIC8vIEZJWE1FOiBXZSBpZ25vcmUgdGhlIGxpZ2h0d2VpZ2h0IGNs
aXBwaW5nIHJlY3QgdGhhdCBjb250cm9scyB1c2UsIHNpbmNlIGlmIHxvfCBpcyBpbiBtaWQtbGF5
b3V0LAogICAgIC8vIGl0cyBjb250cm9sQ2xpcFJlY3Qgd2lsbCBiZSB3cm9uZy4gRm9yIG92ZXJm
bG93IGNsaXAgd2UgdXNlIHRoZSB2YWx1ZXMgY2FjaGVkIGJ5IHRoZSBsYXllci4KKyAgICByZWN0
LnNldExvY2F0aW9uKHRvcExlZnQpOwogICAgIGlmIChvLT5oYXNPdmVyZmxvd0NsaXAoKSkgewog
ICAgICAgICBSZW5kZXJCb3gqIGNvbnRhaW5lckJveCA9IHRvUmVuZGVyQm94KG8pOwotCi0gICAg
ICAgIC8vIG8tPmhlaWdodCgpIGlzIGluYWNjdXJhdGUgaWYgd2UncmUgaW4gdGhlIG1pZGRsZSBv
ZiBhIGxheW91dCBvZiB8b3wsIHNvIHVzZSB0aGUKLSAgICAgICAgLy8gbGF5ZXIncyBzaXplIGlu
c3RlYWQuICBFdmVuIGlmIHRoZSBsYXllcidzIHNpemUgaXMgd3JvbmcsIHRoZSBsYXllciBpdHNl
bGYgd2lsbCByZXBhaW50Ci0gICAgICAgIC8vIGFueXdheSBpZiBpdHMgc2l6ZSBkb2VzIGNoYW5n
ZS4KLSAgICAgICAgdG9wTGVmdCAtPSBjb250YWluZXJCb3gtPnNjcm9sbGVkQ29udGVudE9mZnNl
dCgpOyAvLyBGb3Igb3ZlcmZsb3c6YXV0by9zY3JvbGwvaGlkZGVuLgotCi0gICAgICAgIExheW91
dFJlY3QgcmVwYWludFJlY3QodG9wTGVmdCwgcmVjdC5zaXplKCkpOwotICAgICAgICBMYXlvdXRS
ZWN0IGJveFJlY3QoTGF5b3V0UG9pbnQoKSwgY29udGFpbmVyQm94LT5jYWNoZWRTaXplRm9yT3Zl
cmZsb3dDbGlwKCkpOwotICAgICAgICByZWN0ID0gaW50ZXJzZWN0aW9uKHJlcGFpbnRSZWN0LCBi
b3hSZWN0KTsKKyAgICAgICAgY29udGFpbmVyQm94LT5hcHBseUNhY2hlZENsaXBBbmRTY3JvbGxP
ZmZzZXRGb3JSZXBhaW50KHJlY3QpOwogICAgICAgICBpZiAocmVjdC5pc0VtcHR5KCkpCiAgICAg
ICAgICAgICByZXR1cm47Ci0gICAgfSBlbHNlCi0gICAgICAgIHJlY3Quc2V0TG9jYXRpb24odG9w
TGVmdCk7CisgICAgfQogCiAgICAgaWYgKGNvbnRhaW5lclNraXBwZWQpIHsKICAgICAgICAgLy8g
SWYgdGhlIHJlcGFpbnRDb250YWluZXIgaXMgYmVsb3cgbywgdGhlbiB3ZSBuZWVkIHRvIG1hcCB0
aGUgcmVjdCBpbnRvIHJlcGFpbnRDb250YWluZXIncyBjb29yZGluYXRlcy4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCb3guaAppbmRleCA0YmViZjdlYWI4MDEwOTU4OWI0ODYxMWQ0NzE2ZmRk
YThiNzY2MjQwLi43YjkyMWRjYjliOGFhZGI4YmQ4MGY0NjhmYTdiY2RiOWNlNjA4NjZjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCkBAIC00NjEsNiArNDYxLDkgQEAgcHVibGlj
OgogCiAgICAgSW50U2l6ZSBzY3JvbGxlZENvbnRlbnRPZmZzZXQoKSBjb25zdDsKICAgICBMYXlv
dXRTaXplIGNhY2hlZFNpemVGb3JPdmVyZmxvd0NsaXAoKSBjb25zdDsKKyAgICB2b2lkIHVwZGF0
ZUNhY2hlZFNpemVGb3JPdmVyZmxvd0NsaXAoKTsKKyAgICB2b2lkIGNsZWFyQ2FjaGVkU2l6ZUZv
ck92ZXJmbG93Q2xpcCgpOworICAgIHZvaWQgYXBwbHlDYWNoZWRDbGlwQW5kU2Nyb2xsT2Zmc2V0
Rm9yUmVwYWludChMYXlvdXRSZWN0JiBwYWludFJlY3QpIGNvbnN0OwogCiAgICAgdmlydHVhbCBi
b29sIGhhc1JlbGF0aXZlRGltZW5zaW9ucygpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBoYXNS
ZWxhdGl2ZUxvZ2ljYWxIZWlnaHQoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlcklubGluZS5jcHAKaW5kZXggYjQ1YmRjMzM4MmRkYjkyMjdjMzAyZDFjNGQyMmY3OWE0MzJh
YTA1MS4uNmZjYzNkNmQwYzRiNWY4YWE0MzA2ODk3MDk0NGI3MzYyYmRhMjA1OCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5jcHAKQEAgLTk2MCwxNSArOTYwLDggQEAg
TGF5b3V0UmVjdCBSZW5kZXJJbmxpbmU6OmNsaXBwZWRPdmVyZmxvd1JlY3RGb3JSZXBhaW50KFJl
bmRlckJveE1vZGVsT2JqZWN0KiByZXAKICAgICBpZiAoY2ItPmhhc0NvbHVtbnMoKSkKICAgICAg
ICAgY2ItPmFkanVzdFJlY3RGb3JDb2x1bW5zKHJlcGFpbnRSZWN0KTsKIAotICAgIGlmIChjYi0+
aGFzT3ZlcmZsb3dDbGlwKCkpIHsKLSAgICAgICAgLy8gY2ItPmhlaWdodCgpIGlzIGluYWNjdXJh
dGUgaWYgd2UncmUgaW4gdGhlIG1pZGRsZSBvZiBhIGxheW91dCBvZiB8Y2J8LCBzbyB1c2UgdGhl
Ci0gICAgICAgIC8vIGxheWVyJ3Mgc2l6ZSBpbnN0ZWFkLiAgRXZlbiBpZiB0aGUgbGF5ZXIncyBz
aXplIGlzIHdyb25nLCB0aGUgbGF5ZXIgaXRzZWxmIHdpbGwgcmVwYWludAotICAgICAgICAvLyBh
bnl3YXkgaWYgaXRzIHNpemUgZG9lcyBjaGFuZ2UuCi0gICAgICAgIHJlcGFpbnRSZWN0Lm1vdmUo
LWNiLT5zY3JvbGxlZENvbnRlbnRPZmZzZXQoKSk7IC8vIEZvciBvdmVyZmxvdzphdXRvL3Njcm9s
bC9oaWRkZW4uCi0KLSAgICAgICAgTGF5b3V0UmVjdCBib3hSZWN0KExheW91dFBvaW50KCksIGNi
LT5jYWNoZWRTaXplRm9yT3ZlcmZsb3dDbGlwKCkpOwotICAgICAgICByZXBhaW50UmVjdC5pbnRl
cnNlY3QoYm94UmVjdCk7Ci0gICAgfQorICAgIGlmIChjYi0+aGFzT3ZlcmZsb3dDbGlwKCkpCisg
ICAgICAgIGNiLT5hcHBseUNhY2hlZENsaXBBbmRTY3JvbGxPZmZzZXRGb3JSZXBhaW50KHJlcGFp
bnRSZWN0KTsKIAogICAgIGNiLT5jb21wdXRlUmVjdEZvclJlcGFpbnQocmVwYWludENvbnRhaW5l
ciwgcmVwYWludFJlY3QpOwogCkBAIC0xMDQwLDIxICsxMDMzLDEzIEBAIHZvaWQgUmVuZGVySW5s
aW5lOjpjb21wdXRlUmVjdEZvclJlcGFpbnQoUmVuZGVyQm94TW9kZWxPYmplY3QqIHJlcGFpbnRD
b250YWluZXIsCiAgICAgCiAgICAgLy8gRklYTUU6IFdlIGlnbm9yZSB0aGUgbGlnaHR3ZWlnaHQg
Y2xpcHBpbmcgcmVjdCB0aGF0IGNvbnRyb2xzIHVzZSwgc2luY2UgaWYgfG98IGlzIGluIG1pZC1s
YXlvdXQsCiAgICAgLy8gaXRzIGNvbnRyb2xDbGlwUmVjdCB3aWxsIGJlIHdyb25nLiBGb3Igb3Zl
cmZsb3cgY2xpcCB3ZSB1c2UgdGhlIHZhbHVlcyBjYWNoZWQgYnkgdGhlIGxheWVyLgorICAgIHJl
Y3Quc2V0TG9jYXRpb24odG9wTGVmdCk7CiAgICAgaWYgKG8tPmhhc092ZXJmbG93Q2xpcCgpKSB7
CiAgICAgICAgIFJlbmRlckJveCogY29udGFpbmVyQm94ID0gdG9SZW5kZXJCb3gobyk7Ci0KLSAg
ICAgICAgLy8gby0+aGVpZ2h0KCkgaXMgaW5hY2N1cmF0ZSBpZiB3ZSdyZSBpbiB0aGUgbWlkZGxl
IG9mIGEgbGF5b3V0IG9mIHxvfCwgc28gdXNlIHRoZQotICAgICAgICAvLyBsYXllcidzIHNpemUg
aW5zdGVhZC4gIEV2ZW4gaWYgdGhlIGxheWVyJ3Mgc2l6ZSBpcyB3cm9uZywgdGhlIGxheWVyIGl0
c2VsZiB3aWxsIHJlcGFpbnQKLSAgICAgICAgLy8gYW55d2F5IGlmIGl0cyBzaXplIGRvZXMgY2hh
bmdlLgotICAgICAgICB0b3BMZWZ0IC09IGNvbnRhaW5lckJveC0+c2Nyb2xsZWRDb250ZW50T2Zm
c2V0KCk7IC8vIEZvciBvdmVyZmxvdzphdXRvL3Njcm9sbC9oaWRkZW4uCi0KLSAgICAgICAgTGF5
b3V0UmVjdCByZXBhaW50UmVjdCh0b3BMZWZ0LCByZWN0LnNpemUoKSk7Ci0gICAgICAgIExheW91
dFJlY3QgYm94UmVjdChMYXlvdXRQb2ludCgpLCBjb250YWluZXJCb3gtPmNhY2hlZFNpemVGb3JP
dmVyZmxvd0NsaXAoKSk7Ci0gICAgICAgIHJlY3QgPSBpbnRlcnNlY3Rpb24ocmVwYWludFJlY3Qs
IGJveFJlY3QpOworICAgICAgICBjb250YWluZXJCb3gtPmFwcGx5Q2FjaGVkQ2xpcEFuZFNjcm9s
bE9mZnNldEZvclJlcGFpbnQocmVjdCk7CiAgICAgICAgIGlmIChyZWN0LmlzRW1wdHkoKSkKICAg
ICAgICAgICAgIHJldHVybjsKLSAgICB9IGVsc2UKLSAgICAgICAgcmVjdC5zZXRMb2NhdGlvbih0
b3BMZWZ0KTsKKyAgICB9CiAKICAgICBpZiAoY29udGFpbmVyU2tpcHBlZCkgewogICAgICAgICAv
LyBJZiB0aGUgcmVwYWludENvbnRhaW5lciBpcyBiZWxvdyBvLCB0aGVuIHdlIG5lZWQgdG8gbWFw
IHRoZSByZWN0IGludG8gcmVwYWludENvbnRhaW5lcidzIGNvb3JkaW5hdGVzLgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKaW5kZXggZDVlNGZjYmQ4NmFmYjEzOWEyZWE5
ZDA3MjU2ZDQ4OTE2MmVlZGE3NC4uNTg4MjhhZTFmN2ZkZTY0M2VmOWQyNWUzZTgwYjAwZjk4ODNi
MmNjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCkBAIC0yNTYs
NiArMjU2LDE5IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OmNvbnRlbnRDaGFuZ2VkKENvbnRlbnRDaGFu
Z2VUeXBlIGNoYW5nZVR5cGUpCiB9CiAjZW5kaWYgLy8gVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lU
SU5HKQogCisjaWYgRU5BQkxFKE9WRVJGTE9XX1NDUk9MTElORykKK2Jvb2wgUmVuZGVyTGF5ZXI6
Omhhc0FjY2VsZXJhdGVkU2Nyb2xsaW5nKCkgY29uc3QKK3sKKyAgICBpZiAoIXNjcm9sbHNPdmVy
ZmxvdygpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgUmVuZGVyU3R5bGUqIHN0eWxlID0g
cmVuZGVyZXIoKS0+c3R5bGUoKTsKKyAgICAvLyBGSVhNRTogT3V0bGluZXMgY3VycmVudGx5IGVu
ZCB1cCBvbiB0aGUgc2Nyb2xsaW5nIGZvcmVncm91bmQgbGF5ZXIuCisgICAgaWYgKHN0eWxlLT5o
YXNPdXRsaW5lKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICByZXR1cm4gc3R5bGUtPnVz
ZVRvdWNoT3ZlcmZsb3dTY3JvbGxpbmcoKTsKK30KKyNlbmRpZgorCiBib29sIFJlbmRlckxheWVy
OjpjYW5SZW5kZXIzRFRyYW5zZm9ybXMoKSBjb25zdAogewogI2lmIFVTRShBQ0NFTEVSQVRFRF9D
T01QT1NJVElORykKQEAgLTE2MDgsNyArMTYyMSwxMiBAQCB2b2lkIFJlbmRlckxheWVyOjpzY3Jv
bGxUbyhpbnQgeCwgaW50IHkpCiAgICAgfQogCiAgICAgLy8gSnVzdCBzY2hlZHVsZSBhIGZ1bGwg
cmVwYWludCBvZiBvdXIgb2JqZWN0LgotICAgIGlmICh2aWV3KQorICAgIGlmICh2aWV3CisjaWYg
RU5BQkxFKE9WRVJGTE9XX1NDUk9MTElORykKKyAgICAgICAgLy8gUGFpbnRpbmcgaXMgYmUgZHJp
dmVuIGJ5IHRoZSBjb21wb3NpdG9yIGluIHRoZSBhY2NlbGVyYXRlZCBzY3JvbGxpbmcgY2FzZS4K
KyAgICAgICAgJiYgIWhhc0FjY2VsZXJhdGVkU2Nyb2xsaW5nKCkKKyNlbmRpZgorICAgICAgICAp
CiAgICAgICAgIHJlbmRlcmVyKCktPnJlcGFpbnRVc2luZ0NvbnRhaW5lcihyZXBhaW50Q29udGFp
bmVyLCBtX3JlcGFpbnRSZWN0KTsKIAogICAgIC8vIFNjaGVkdWxlIHRoZSBzY3JvbGwgRE9NIGV2
ZW50LgpAQCAtMzA0Miw3ICszMDYwLDEzIEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnBhaW50TGF5ZXJD
b250ZW50cyhSZW5kZXJMYXllciogcm9vdExheWVyLCBHcmFwaGljc0NvbnRleHQqIGNvCiAgICAg
ICAgIHBlcmZvcm1PdmVybGFwVGVzdHMoKm92ZXJsYXBUZXN0UmVxdWVzdHMsIHJvb3RMYXllciwg
dGhpcyk7CiAKICAgICAvLyBXZSB3YW50IHRvIHBhaW50IG91ciBsYXllciwgYnV0IG9ubHkgaWYg
d2UgaW50ZXJzZWN0IHRoZSBkYW1hZ2UgcmVjdC4KLSAgICBzaG91bGRQYWludENvbnRlbnQgJj0g
aW50ZXJzZWN0c0RhbWFnZVJlY3QobGF5ZXJCb3VuZHMsIGRhbWFnZVJlY3QucmVjdCgpLCByb290
TGF5ZXIpOworI2lmIEVOQUJMRShPVkVSRkxPV19TQ1JPTExJTkcpCisgICAgaWYgKGhhc0FjY2Vs
ZXJhdGVkU2Nyb2xsaW5nKCkgJiYgKGxvY2FsUGFpbnRGbGFncyAmIFBhaW50TGF5ZXJQYWludGlu
Z0NvbXBvc2l0aW5nRm9yZWdyb3VuZFBoYXNlKSkgeworICAgICAgICB1c2VDbGlwUmVjdCA9IGZh
bHNlOworICAgICAgICBjbGlwUmVjdFRvQXBwbHkgPSBwYWludERpcnR5UmVjdDsKKyAgICB9IGVs
c2UKKyNlbmRpZgorICAgICAgICBzaG91bGRQYWludENvbnRlbnQgJj0gaW50ZXJzZWN0c0RhbWFn
ZVJlY3QobGF5ZXJCb3VuZHMsIGRhbWFnZVJlY3QucmVjdCgpLCByb290TGF5ZXIpOwogICAgIAog
ICAgIGlmIChsb2NhbFBhaW50RmxhZ3MgJiBQYWludExheWVyUGFpbnRpbmdDb21wb3NpdGluZ0Jh
Y2tncm91bmRQaGFzZSkgewogICAgICAgICBpZiAoc2hvdWxkUGFpbnRDb250ZW50ICYmICFzZWxl
Y3Rpb25Pbmx5KSB7CkBAIC0zODUxLDcgKzM4NzUsMTEgQEAgdm9pZCBSZW5kZXJMYXllcjo6Y2Fs
Y3VsYXRlQ2xpcFJlY3RzKGNvbnN0IFJlbmRlckxheWVyKiByb290TGF5ZXIsIFJlbmRlclJlZ2lv
bioKICAgICAgICAgICAgIG9mZnNldCAtPSB2aWV3LT5mcmFtZVZpZXcoKS0+c2Nyb2xsT2Zmc2V0
Rm9yRml4ZWRQb3NpdGlvbigpOwogICAgICAgICB9CiAgICAgICAgIAotICAgICAgICBpZiAocmVu
ZGVyZXIoKS0+aGFzT3ZlcmZsb3dDbGlwKCkpIHsKKyAgICAgICAgaWYgKHJlbmRlcmVyKCktPmhh
c092ZXJmbG93Q2xpcCgpCisjaWYgRU5BQkxFKE9WRVJGTE9XX1NDUk9MTElORykKKyAgICAgICAg
ICAgICYmICFoYXNBY2NlbGVyYXRlZFNjcm9sbGluZygpCisjZW5kaWYKKyAgICAgICAgICAgICkg
ewogICAgICAgICAgICAgQ2xpcFJlY3QgbmV3T3ZlcmZsb3dDbGlwID0gdG9SZW5kZXJCb3gocmVu
ZGVyZXIoKSktPm92ZXJmbG93Q2xpcFJlY3Qob2Zmc2V0LCByZWdpb24sIHJlbGV2YW5jeSk7CiAg
ICAgICAgICAgICBpZiAocmVuZGVyZXIoKS0+c3R5bGUoKS0+aGFzQm9yZGVyUmFkaXVzKCkpCiAg
ICAgICAgICAgICAgICAgbmV3T3ZlcmZsb3dDbGlwLnNldEhhc1JhZGl1cyh0cnVlKTsKQEAgLTQw
MjUsNyArNDA1MywxMSBAQCB2b2lkIFJlbmRlckxheWVyOjpyZXBhaW50QmxvY2tTZWxlY3Rpb25H
YXBzKCkKIAogICAgIExheW91dFJlY3QgcmVjdCA9IG1fYmxvY2tTZWxlY3Rpb25HYXBzQm91bmRz
OwogICAgIHJlY3QubW92ZSgtc2Nyb2xsZWRDb250ZW50T2Zmc2V0KCkpOwotICAgIGlmIChyZW5k
ZXJlcigpLT5oYXNPdmVyZmxvd0NsaXAoKSkKKyAgICBpZiAocmVuZGVyZXIoKS0+aGFzT3ZlcmZs
b3dDbGlwKCkKKyNpZiBFTkFCTEUoT1ZFUkZMT1dfU0NST0xMSU5HKQorICAgICAgICAmJiAhaGFz
QWNjZWxlcmF0ZWRTY3JvbGxpbmcoKQorI2VuZGlmCisgICAgICAgICkKICAgICAgICAgcmVjdC5p
bnRlcnNlY3QodG9SZW5kZXJCb3gocmVuZGVyZXIoKSktPm92ZXJmbG93Q2xpcFJlY3QoTGF5b3V0
UG9pbnQoKSwgMCkpOyAvLyBGSVhNRTogUmVnaW9ucyBub3QgYWNjb3VudGVkIGZvci4KICAgICBp
ZiAocmVuZGVyZXIoKS0+aGFzQ2xpcCgpKQogICAgICAgICByZWN0LmludGVyc2VjdCh0b1JlbmRl
ckJveChyZW5kZXJlcigpKS0+Y2xpcFJlY3QoTGF5b3V0UG9pbnQoKSwgMCkpOyAvLyBGSVhNRTog
UmVnaW9ucyBub3QgYWNjb3VudGVkIGZvci4KQEAgLTQ2NTgsNiArNDY5MCw5IEBAIGJvb2wgUmVu
ZGVyTGF5ZXI6OnNob3VsZEJlTm9ybWFsRmxvd09ubHkoKSBjb25zdAogI2lmIEVOQUJMRShDU1Nf
RklMVEVSUykKICAgICAgICAgICAgICYmICFyZW5kZXJlcigpLT5oYXNGaWx0ZXIoKQogI2VuZGlm
CisjaWYgRU5BQkxFKE9WRVJGTE9XX1NDUk9MTElORykKKyAgICAgICAgICAgICYmICFoYXNBY2Nl
bGVyYXRlZFNjcm9sbGluZygpCisjZW5kaWYKICAgICAgICAgICAgICYmICFpc1RyYW5zcGFyZW50
KCk7CiB9CiAKQEAgLTQ4MjAsNyArNDg1NSwxMSBAQCB2b2lkIFJlbmRlckxheWVyOjp1cGRhdGVT
Y3JvbGxhYmxlQXJlYVNldChib29sIGhhc092ZXJmbG93KQogICAgIGlmIChIVE1MRnJhbWVPd25l
ckVsZW1lbnQqIG93bmVyID0gZnJhbWUtPm93bmVyRWxlbWVudCgpKQogICAgICAgICBpc1Zpc2li
bGVUb0hpdFRlc3QgJj0gb3duZXItPnJlbmRlcmVyKCkgJiYgb3duZXItPnJlbmRlcmVyKCktPnZp
c2libGVUb0hpdFRlc3RpbmcoKTsKIAotICAgIGlmIChoYXNPdmVyZmxvdyAmJiBpc1Zpc2libGVU
b0hpdFRlc3QpCisgICAgaWYgKGhhc092ZXJmbG93ICYmIGlzVmlzaWJsZVRvSGl0VGVzdAorI2lm
IEVOQUJMRShPVkVSRkxPV19TQ1JPTExJTkcpCisgICAgICAgICYmICFoYXNBY2NlbGVyYXRlZFNj
cm9sbGluZygpCisjZW5kaWYKKyAgICAgICAgKQogICAgICAgICBmcmFtZVZpZXctPmFkZFNjcm9s
bGFibGVBcmVhKHRoaXMpOwogICAgIGVsc2UKICAgICAgICAgZnJhbWVWaWV3LT5yZW1vdmVTY3Jv
bGxhYmxlQXJlYSh0aGlzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMYXllci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKaW5k
ZXggYmQ4MWM5NTEwNWVmNWVhNGQ5YTNjOWQ5MjgyNTk3ZWUyYTQ2OGRjMC4uMDE0ZjJlODc1NTk5
MGQ5ZTI5YjJkZTQyMTUxYjFhMDFhNWJkNzY2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckxheWVyLmgKQEAgLTM3OCw2ICszNzgsMTAgQEAgcHVibGljOgogICAgIHZvaWQgY29udGVu
dENoYW5nZWQoQ29udGVudENoYW5nZVR5cGUpOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoT1ZFUkZM
T1dfU0NST0xMSU5HKQorICAgIGJvb2wgaGFzQWNjZWxlcmF0ZWRTY3JvbGxpbmcoKSBjb25zdDsK
KyNlbmRpZgorCiAgICAgYm9vbCBjYW5SZW5kZXIzRFRyYW5zZm9ybXMoKSBjb25zdDsKIAogICAg
IHZvaWQgdXBkYXRlTGF5ZXJQb3NpdGlvbigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcAppbmRleCBhZGNlNGM3ZWViODgwOTU0NzY1NDBiMGQ3
MzhhMTc0Y2Q1MzFhYmRmLi4zMzYxOWY2ZTdjNmU1YzM0NGNkOGI1M2IzOGRmNDdjMDIzYjZhZTVh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5n
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNw
cApAQCAtMTMxLDYgKzEzMSw5IEBAIFJlbmRlckxheWVyQmFja2luZzo6flJlbmRlckxheWVyQmFj
a2luZygpCiAgICAgdXBkYXRlT3ZlcmZsb3dDb250cm9sc0xheWVycyhmYWxzZSwgZmFsc2UsIGZh
bHNlKTsKICAgICB1cGRhdGVGb3JlZ3JvdW5kTGF5ZXIoZmFsc2UpOwogICAgIHVwZGF0ZU1hc2tM
YXllcihmYWxzZSk7CisjaWYgRU5BQkxFKE9WRVJGTE9XX1NDUk9MTElORykKKyAgICB1cGRhdGVT
Y3JvbGxpbmdMYXllcihmYWxzZSk7CisjZW5kaWYKICAgICBkZXN0cm95R3JhcGhpY3NMYXllcnMo
KTsKIH0KIApAQCAtMTkzLDYgKzE5NiwxMCBAQCB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6ZGVz
dHJveUdyYXBoaWNzTGF5ZXJzKCkKICAgICBtX2ZvcmVncm91bmRMYXllciA9IG51bGxwdHI7CiAg
ICAgbV9jbGlwcGluZ0xheWVyID0gbnVsbHB0cjsKICAgICBtX21hc2tMYXllciA9IG51bGxwdHI7
CisKKyNpZiBFTkFCTEUoT1ZFUkZMT1dfU0NST0xMSU5HKQorICAgIG1fc2Nyb2xsaW5nTGF5ZXIg
PSBudWxscHRyOworI2VuZGlmCiB9CiAKIHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVM
YXllck9wYWNpdHkoY29uc3QgUmVuZGVyU3R5bGUqIHN0eWxlKQpAQCAtMjM3LDggKzI0NCw0MSBA
QCBzdGF0aWMgYm9vbCBsYXllck9yQW5jZXN0b3JJc1RyYW5zZm9ybWVkKFJlbmRlckxheWVyKiBs
YXllcikKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKKyNpZiBFTkFCTEUoT1ZFUkZMT1dfU0NST0xM
SU5HKQorc3RhdGljIGJvb2wgaGFzVG91Y2hPdmVyZmxvd1Njcm9sbGluZyhjb25zdCBSZW5kZXJP
YmplY3QqIHJlbmRlcmVyKQoreworICAgIGlmICghcmVuZGVyZXItPmhhc0xheWVyKCkgfHwgIXJl
bmRlcmVyLT5pc0JveE1vZGVsT2JqZWN0KCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBy
ZXR1cm4gdG9SZW5kZXJCb3hNb2RlbE9iamVjdChyZW5kZXJlciktPmxheWVyKCktPmhhc0FjY2Vs
ZXJhdGVkU2Nyb2xsaW5nKCk7Cit9CisKK3N0YXRpYyBib29sIGxheWVyT3JBbmNlc3RvcklzU2Ny
b2xsaW5nKFJlbmRlckxheWVyKiBsYXllcikKK3sKKyAgICBmb3IgKFJlbmRlckxheWVyKiBjdXJy
ID0gbGF5ZXI7IGN1cnI7IGN1cnIgPSBjdXJyLT5wYXJlbnQoKSkgeworICAgICAgICBpZiAoaGFz
VG91Y2hPdmVyZmxvd1Njcm9sbGluZyhjdXJyLT5yZW5kZXJlcigpKSkKKyAgICAgICAgICAgIHJl
dHVybiB0cnVlOworICAgIH0KKworICAgIHJldHVybiBmYWxzZTsKK30KKyNlbmRpZgorCitHcmFw
aGljc0xheWVyKiBSZW5kZXJMYXllckJhY2tpbmc6OnBhcmVudEZvclN1YmxheWVycygpIGNvbnN0
Cit7CisjaWYgRU5BQkxFKE9WRVJGTE9XX1NDUk9MTElORykKKyAgICBpZiAobV9zY3JvbGxpbmdM
YXllcikKKyAgICAgICAgcmV0dXJuIG1fc2Nyb2xsaW5nTGF5ZXIuZ2V0KCk7CisjZW5kaWYKKyAg
ICByZXR1cm4gbV9jbGlwcGluZ0xheWVyID8gbV9jbGlwcGluZ0xheWVyLmdldCgpIDogbV9ncmFw
aGljc0xheWVyLmdldCgpOworfQorCiBib29sIFJlbmRlckxheWVyQmFja2luZzo6c2hvdWxkQ2xp
cENvbXBvc2l0ZWRCb3VuZHMoKSBjb25zdAogeworI2lmIEVOQUJMRShPVkVSRkxPV19TQ1JPTExJ
TkcpCisgICAgaWYgKGxheWVyT3JBbmNlc3RvcklzU2Nyb2xsaW5nKG1fb3duaW5nTGF5ZXIpKQor
ICAgICAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKKwogICAgIGlmIChtX3VzaW5nVGlsZWRDYWNo
ZUxheWVyKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIApAQCAtMzMwLDcgKzM3MCwxMiBAQCBib29s
IFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlR3JhcGhpY3NMYXllckNvbmZpZ3VyYXRpb24oKQog
ICAgIGJvb2wgbGF5ZXJDb25maWdDaGFuZ2VkID0gZmFsc2U7CiAgICAgaWYgKHVwZGF0ZUZvcmVn
cm91bmRMYXllcihjb21wb3NpdG9yLT5uZWVkc0NvbnRlbnRzQ29tcG9zaXRpbmdMYXllcihtX293
bmluZ0xheWVyKSkpCiAgICAgICAgIGxheWVyQ29uZmlnQ2hhbmdlZCA9IHRydWU7Ci0gICAgCisK
KyNpZiBFTkFCTEUoT1ZFUkZMT1dfU0NST0xMSU5HKQorICAgIGlmICh1cGRhdGVTY3JvbGxpbmdM
YXllcihoYXNUb3VjaE92ZXJmbG93U2Nyb2xsaW5nKHJlbmRlcmVyKSkpCisgICAgICAgIGxheWVy
Q29uZmlnQ2hhbmdlZCA9IHRydWU7CisjZW5kaWYKKwogICAgIGlmICh1cGRhdGVDbGlwcGluZ0xh
eWVycyhjb21wb3NpdG9yLT5jbGlwcGVkQnlBbmNlc3RvcihtX293bmluZ0xheWVyKSwgY29tcG9z
aXRvci0+Y2xpcHNDb21wb3NpdGluZ0Rlc2NlbmRhbnRzKG1fb3duaW5nTGF5ZXIpKSkKICAgICAg
ICAgbGF5ZXJDb25maWdDaGFuZ2VkID0gdHJ1ZTsKIApAQCAtNDYwLDcgKzUwNSw3IEBAIHZvaWQg
UmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVHcmFwaGljc0xheWVyR2VvbWV0cnkoKQogICAgICAg
ICBncmFwaGljc0xheWVyUGFyZW50TG9jYXRpb24gPSBhbmNlc3RvckNvbXBvc2l0aW5nQm91bmRz
LmxvY2F0aW9uKCk7CiAgICAgZWxzZQogICAgICAgICBncmFwaGljc0xheWVyUGFyZW50TG9jYXRp
b24gPSByZW5kZXJlcigpLT52aWV3KCktPmRvY3VtZW50UmVjdCgpLmxvY2F0aW9uKCk7Ci0gICAg
CisKICAgICBpZiAoY29tcEFuY2VzdG9yICYmIG1fYW5jZXN0b3JDbGlwcGluZ0xheWVyKSB7CiAg
ICAgICAgIC8vIENhbGwgY2FsY3VsYXRlUmVjdHMgdG8gZ2V0IHRoZSBiYWNrZ3JvdW5kUmVjdCB3
aGljaCBpcyB3aGF0IGlzIHVzZWQgdG8gY2xpcCB0aGUgY29udGVudHMgb2YgdGhpcwogICAgICAg
ICAvLyBsYXllci4gTm90ZSB0aGF0IHdlIGNhbGwgaXQgd2l0aCB0ZW1wb3JhcnlDbGlwUmVjdHMg
PSB0cnVlIGJlY2F1c2Ugbm9ybWFsbHkgd2hlbiBjb21wdXRpbmcgY2xpcCByZWN0cwpAQCAtNDc3
LDYgKzUyMiwxNSBAQCB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlR3JhcGhpY3NMYXll
ckdlb21ldHJ5KCkKICAgICAgICAgZ3JhcGhpY3NMYXllclBhcmVudExvY2F0aW9uID0gcGFyZW50
Q2xpcFJlY3QubG9jYXRpb24oKTsKICAgICB9CiAKKyNpZiBFTkFCTEUoT1ZFUkZMT1dfU0NST0xM
SU5HKQorICAgIGlmIChjb21wQW5jZXN0b3IgJiYgaGFzVG91Y2hPdmVyZmxvd1Njcm9sbGluZyhj
b21wQW5jZXN0b3ItPnJlbmRlcmVyKCkpKSB7CisgICAgICAgIFJlbmRlckJveCogcmVuZGVyQm94
ID0gdG9SZW5kZXJCb3goY29tcEFuY2VzdG9yLT5yZW5kZXJlcigpKTsKKyAgICAgICAgSW50U2l6
ZSBzY3JvbGxPZmZzZXQgPSBjb21wQW5jZXN0b3ItPnNjcm9sbGVkQ29udGVudE9mZnNldCgpOwor
ICAgICAgICBJbnRQb2ludCBzY3JvbGxPcmlnaW4ocmVuZGVyQm94LT5ib3JkZXJMZWZ0KCksIHJl
bmRlckJveC0+Ym9yZGVyVG9wKCkpOworICAgICAgICBncmFwaGljc0xheWVyUGFyZW50TG9jYXRp
b24gPSBzY3JvbGxPcmlnaW4gLSBzY3JvbGxPZmZzZXQ7CisgICAgfQorI2VuZGlmCisKICAgICBt
X2dyYXBoaWNzTGF5ZXItPnNldFBvc2l0aW9uKEZsb2F0UG9pbnQoKSArIChyZWxhdGl2ZUNvbXBv
c2l0aW5nQm91bmRzLmxvY2F0aW9uKCkgLSBncmFwaGljc0xheWVyUGFyZW50TG9jYXRpb24pKTsK
ICAgICBtX2dyYXBoaWNzTGF5ZXItPnNldE9mZnNldEZyb21SZW5kZXJlcihsb2NhbENvbXBvc2l0
aW5nQm91bmRzLmxvY2F0aW9uKCkgLSBJbnRQb2ludCgpKTsKICAgICAKQEAgLTU0Niw2ICs2MDAs
NyBAQCB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlR3JhcGhpY3NMYXllckdlb21ldHJ5
KCkKICAgICAgICAgRmxvYXRQb2ludCBmb3JlZ3JvdW5kUG9zaXRpb247CiAgICAgICAgIEZsb2F0
U2l6ZSBmb3JlZ3JvdW5kU2l6ZSA9IG5ld1NpemU7CiAgICAgICAgIEludFNpemUgZm9yZWdyb3Vu
ZE9mZnNldCA9IG1fZ3JhcGhpY3NMYXllci0+b2Zmc2V0RnJvbVJlbmRlcmVyKCk7CisgICAgICAg
IGJvb2wgZm9yZWdyb3VuZE5lZWRzRGlzcGxheSA9IHRydWU7CiAgICAgICAgIGlmIChtX2NsaXBw
aW5nTGF5ZXIpIHsKICAgICAgICAgICAgIC8vIElmIHdlIGhhdmUgYSBjbGlwcGluZyBsYXllciAo
d2hpY2ggY2xpcHMgZGVzY2VuZGFudHMpLCB0aGVuIHRoZSBmb3JlZ3JvdW5kIGxheWVyIGlzIGEg
Y2hpbGQgb2YgaXQsCiAgICAgICAgICAgICAvLyBzbyB0aGF0IGl0IGdldHMgY29ycmVjdGx5IHNv
cnRlZCB3aXRoIGNoaWxkcmVuLiBJbiB0aGF0IGNhc2UsIHBvc2l0aW9uIHJlbGF0aXZlIHRvIHRo
ZSBjbGlwcGluZyBsYXllci4KQEAgLTU1Myw5ICs2MDgsMjYgQEAgdm9pZCBSZW5kZXJMYXllckJh
Y2tpbmc6OnVwZGF0ZUdyYXBoaWNzTGF5ZXJHZW9tZXRyeSgpCiAgICAgICAgICAgICBmb3JlZ3Jv
dW5kT2Zmc2V0ID0gY2xpcHBpbmdCb3gubG9jYXRpb24oKSAtIEludFBvaW50KCk7CiAgICAgICAg
IH0KIAorI2lmIEVOQUJMRShPVkVSRkxPV19TQ1JPTExJTkcpCisgICAgICAgIGlmIChtX3Njcm9s
bGluZ0xheWVyKSB7CisgICAgICAgICAgICBJbnRTaXplIHNjcm9sbE9mZnNldCA9IG1fb3duaW5n
TGF5ZXItPnNjcm9sbGVkQ29udGVudE9mZnNldCgpOworICAgICAgICAgICAgSW50U2l6ZSBzY3Jv
bGxEZWx0YSA9IHNjcm9sbE9mZnNldCArIG1fc2Nyb2xsaW5nTGF5ZXItPm9mZnNldEZyb21SZW5k
ZXJlcigpOworICAgICAgICAgICAgSW50U2l6ZSB0YXJnZXRPZmZzZXQgPSBmb3JlZ3JvdW5kT2Zm
c2V0IC0gc2Nyb2xsT2Zmc2V0OworCisgICAgICAgICAgICBmb3JlZ3JvdW5kT2Zmc2V0ID0gdGFy
Z2V0T2Zmc2V0OworICAgICAgICAgICAgZm9yZWdyb3VuZFNpemUgPSBJbnRTaXplKG1fb3duaW5n
TGF5ZXItPnNjcm9sbFdpZHRoKCksIG1fb3duaW5nTGF5ZXItPnNjcm9sbEhlaWdodCgpKTsKKwor
ICAgICAgICAgICAgLy8gSWYgb25seSB0aGUgc2Nyb2xsIG9mZnNldCBjaGFuZ2VkLCB0aGVyZSdz
IG5vIG5lZWQgdG8gdG8gaW52YWxpZGF0ZSB0aGUgZW50aXJlIGxheWVyLgorICAgICAgICAgICAg
aWYgKHRhcmdldE9mZnNldCA9PSBtX2ZvcmVncm91bmRMYXllci0+b2Zmc2V0RnJvbVJlbmRlcmVy
KCkgLSBzY3JvbGxEZWx0YSAmJiBmb3JlZ3JvdW5kU2l6ZSA9PSBtX2ZvcmVncm91bmRMYXllci0+
c2l6ZSgpKQorICAgICAgICAgICAgICAgIGZvcmVncm91bmROZWVkc0Rpc3BsYXkgPSBmYWxzZTsK
KworICAgICAgICAgICAgaWYgKGZvcmVncm91bmRPZmZzZXQgIT0gbV9mb3JlZ3JvdW5kTGF5ZXIt
Pm9mZnNldEZyb21SZW5kZXJlcigpIHx8IGZvcmVncm91bmRTaXplICE9IG1fZm9yZWdyb3VuZExh
eWVyLT5zaXplKCkpCisgICAgICAgICAgICAgICAgY29tcG9zaXRvcigpLT5zY3JvbGxpbmdMYXll
ckRpZENoYW5nZShtX293bmluZ0xheWVyKTsKKyAgICAgICAgfQorI2VuZGlmCiAgICAgICAgIG1f
Zm9yZWdyb3VuZExheWVyLT5zZXRQb3NpdGlvbihmb3JlZ3JvdW5kUG9zaXRpb24pOwogICAgICAg
ICBtX2ZvcmVncm91bmRMYXllci0+c2V0U2l6ZShmb3JlZ3JvdW5kU2l6ZSk7Ci0gICAgICAgIG1f
Zm9yZWdyb3VuZExheWVyLT5zZXRPZmZzZXRGcm9tUmVuZGVyZXIoZm9yZWdyb3VuZE9mZnNldCk7
CisgICAgICAgIG1fZm9yZWdyb3VuZExheWVyLT5zZXRPZmZzZXRGcm9tUmVuZGVyZXIoZm9yZWdy
b3VuZE9mZnNldCwgZm9yZWdyb3VuZE5lZWRzRGlzcGxheSk7CiAgICAgfQogCiAgICAgaWYgKG1f
b3duaW5nTGF5ZXItPnJlZmxlY3Rpb25MYXllcigpICYmIG1fb3duaW5nTGF5ZXItPnJlZmxlY3Rp
b25MYXllcigpLT5pc0NvbXBvc2l0ZWQoKSkgewpAQCAtNTY5LDYgKzY0MSwxNCBAQCB2b2lkIFJl
bmRlckxheWVyQmFja2luZzo6dXBkYXRlR3JhcGhpY3NMYXllckdlb21ldHJ5KCkKICAgICAgICAg
cmVmbGVjdGlvbkJhY2tpbmctPmdyYXBoaWNzTGF5ZXIoKS0+c2V0UmVwbGljYXRlZExheWVyUG9z
aXRpb24oRmxvYXRQb2ludCgpICsgKGxheWVyQm91bmRzLmxvY2F0aW9uKCkgLSByZWZsZWN0aW9u
TGF5ZXJCb3VuZHMubG9jYXRpb24oKSkpOwogICAgIH0KIAorI2lmIEVOQUJMRShPVkVSRkxPV19T
Q1JPTExJTkcpCisgICAgaWYgKG1fc2Nyb2xsaW5nTGF5ZXIpIHsKKyAgICAgICAgSW50U2l6ZSBz
Y3JvbGxPZmZzZXQgPSBtX293bmluZ0xheWVyLT5zY3JvbGxlZENvbnRlbnRPZmZzZXQoKTsKKyAg
ICAgICAgbV9zY3JvbGxpbmdMYXllci0+c2V0UG9zaXRpb24oRmxvYXRQb2ludCgtc2Nyb2xsT2Zm
c2V0LndpZHRoKCksIC1zY3JvbGxPZmZzZXQuaGVpZ2h0KCkpKTsKKyAgICAgICAgbV9zY3JvbGxp
bmdMYXllci0+c2V0T2Zmc2V0RnJvbVJlbmRlcmVyKC1zY3JvbGxPZmZzZXQpOworICAgIH0KKyNl
bmRpZgorCiAgICAgbV9ncmFwaGljc0xheWVyLT5zZXRDb250ZW50c1JlY3QoY29udGVudHNCb3go
KSk7CiAKICAgICAvLyBJZiB0aGlzIGxheWVyIHdhcyBjcmVhdGVkIGp1c3QgZm9yIGNsaXBwaW5n
IG9yIHRvIGFwcGx5IHBlcnNwZWN0aXZlLCBpdCBkb2Vzbid0IG5lZWQgaXRzIG93biBiYWNraW5n
IHN0b3JlLgpAQCAtNjA3LDYgKzY4NywxMyBAQCB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6dXBk
YXRlSW50ZXJuYWxIaWVyYXJjaHkoKQogICAgICAgICAgICAgbV9sYXllckZvclNjcm9sbENvcm5l
ci0+cmVtb3ZlRnJvbVBhcmVudCgpOwogICAgICAgICAgICAgbV9ncmFwaGljc0xheWVyLT5hZGRD
aGlsZChtX2xheWVyRm9yU2Nyb2xsQ29ybmVyLmdldCgpKTsKICAgICAgICAgfQorCisjaWYgRU5B
QkxFKE9WRVJGTE9XX1NDUk9MTElORykKKyAgICAgICAgaWYgKG1fc2Nyb2xsaW5nTGF5ZXIpIHsK
KyAgICAgICAgICAgIG1fc2Nyb2xsaW5nTGF5ZXItPnJlbW92ZUZyb21QYXJlbnQoKTsKKyAgICAg
ICAgICAgIG1fY2xpcHBpbmdMYXllci0+YWRkQ2hpbGQobV9zY3JvbGxpbmdMYXllci5nZXQoKSk7
CisgICAgICAgIH0KKyNlbmRpZgogICAgIH0KIH0KIApAQCAtNzYyLDYgKzg0OSwyOCBAQCBib29s
IFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlTWFza0xheWVyKGJvb2wgbmVlZHNNYXNrTGF5ZXIp
CiAgICAgcmV0dXJuIGxheWVyQ2hhbmdlZDsKIH0KIAorI2lmIEVOQUJMRShPVkVSRkxPV19TQ1JP
TExJTkcpCitib29sIFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlU2Nyb2xsaW5nTGF5ZXIoYm9v
bCBuZWVkU2Nyb2xsaW5nTGF5ZXIpCit7CisgICAgYm9vbCBsYXllckNoYW5nZWQgPSBmYWxzZTsK
KyAgICBpZiAobmVlZFNjcm9sbGluZ0xheWVyKSB7CisgICAgICAgIGlmICghbV9zY3JvbGxpbmdM
YXllcikgeworICAgICAgICAgICAgbV9zY3JvbGxpbmdMYXllciA9IGNyZWF0ZUdyYXBoaWNzTGF5
ZXIoIlNjcm9sbGluZyBMYXllciIpOworICAgICAgICAgICAgbGF5ZXJDaGFuZ2VkID0gdHJ1ZTsK
KyAgICAgICAgfQorICAgIH0gZWxzZSBpZiAobV9zY3JvbGxpbmdMYXllcikgeworICAgICAgICBt
X3Njcm9sbGluZ0xheWVyLT5yZW1vdmVGcm9tUGFyZW50KCk7CisgICAgICAgIG1fc2Nyb2xsaW5n
TGF5ZXIgPSBudWxscHRyOworICAgICAgICBsYXllckNoYW5nZWQgPSB0cnVlOworICAgIH0KKwor
ICAgIGlmIChsYXllckNoYW5nZWQgJiYgbV9vd25pbmdMYXllci0+cmVuZGVyZXIoKS0+dmlldygp
KQorICAgICAgICBjb21wb3NpdG9yKCktPnNjcm9sbGluZ0xheWVyRGlkQ2hhbmdlKG1fb3duaW5n
TGF5ZXIpOworCisgICAgcmV0dXJuIGxheWVyQ2hhbmdlZDsKK30KKyNlbmRpZiAvLyBFTkFCTEUo
T1ZFUkZMT1dfU0NST0xMSU5HKQorCiBHcmFwaGljc0xheWVyUGFpbnRpbmdQaGFzZSBSZW5kZXJM
YXllckJhY2tpbmc6OnBhaW50aW5nUGhhc2VGb3JQcmltYXJ5TGF5ZXIoKSBjb25zdAogewogICAg
IHVuc2lnbmVkIHBoYXNlID0gR3JhcGhpY3NMYXllclBhaW50QmFja2dyb3VuZDsKQEAgLTEyMTcs
OCArMTMyNiwxMyBAQCB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6cGFpbnRDb250ZW50cyhjb25z
dCBHcmFwaGljc0xheWVyKiBncmFwaGljc0xheWVyLCBHcmFwaAogICAgICAgICBJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb25Db29raWUgY29va2llID0gSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3
aWxsUGFpbnQobV9vd25pbmdMYXllci0+cmVuZGVyZXIoKS0+ZnJhbWUoKSwgJmNvbnRleHQsIGNs
aXApOwogCiAgICAgICAgIC8vIFRoZSBkaXJ0eVJlY3QgaXMgaW4gdGhlIGNvb3JkcyBvZiB0aGUg
cGFpbnRpbmcgcm9vdC4KLSAgICAgICAgSW50UmVjdCBkaXJ0eVJlY3QgPSBjb21wb3NpdGVkQm91
bmRzKCk7Ci0gICAgICAgIGRpcnR5UmVjdC5pbnRlcnNlY3QoY2xpcCk7CisgICAgICAgIEludFJl
Y3QgZGlydHlSZWN0OworI2lmIEVOQUJMRShPVkVSRkxPV19TQ1JPTExJTkcpCisgICAgICAgIGlm
IChtX293bmluZ0xheWVyLT5oYXNBY2NlbGVyYXRlZFNjcm9sbGluZygpICYmIHBhaW50aW5nUGhh
c2UgPT0gR3JhcGhpY3NMYXllclBhaW50Rm9yZWdyb3VuZCAmJiBncmFwaGljc0xheWVyID09IG1f
Zm9yZWdyb3VuZExheWVyLmdldCgpKQorICAgICAgICAgICAgZGlydHlSZWN0ID0gY2xpcDsKKyAg
ICAgICAgZWxzZQorI2VuZGlmCisgICAgICAgICAgICBkaXJ0eVJlY3QgPSBpbnRlcnNlY3Rpb24o
Y29tcG9zaXRlZEJvdW5kcygpLCBjbGlwKTsKIAogICAgICAgICAvLyBXZSBoYXZlIHRvIHVzZSB0
aGUgc2FtZSByb290IGFzIGZvciBoaXQgdGVzdGluZywgYmVjYXVzZSBib3RoIG1ldGhvZHMgY2Fu
IGNvbXB1dGUgYW5kIGNhY2hlIGNsaXBSZWN0cy4KICAgICAgICAgcGFpbnRJbnRvTGF5ZXIobV9v
d25pbmdMYXllciwgJmNvbnRleHQsIGRpcnR5UmVjdCwgUGFpbnRCZWhhdmlvck5vcm1hbCwgcGFp
bnRpbmdQaGFzZSwgcmVuZGVyZXIoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXJCYWNraW5nLmgKaW5kZXggZDg3MTg4NThlYWY2YmNlNDE5MDA0YjYxOTQ5ZjJmZTE5
MGIwZDM4Mi4uMjI0OTkwNjc1M2NlZDRjNDMxNjc5OGQxYTBkN2I2MzRlMGMzODEzMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuaApAQCAtODMsMTAg
KzgzLDE1IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgaGFzQ29udGVudHNMYXllcigpIGNvbnN0IHsg
cmV0dXJuIG1fZm9yZWdyb3VuZExheWVyICE9IDA7IH0KICAgICBHcmFwaGljc0xheWVyKiBmb3Jl
Z3JvdW5kTGF5ZXIoKSBjb25zdCB7IHJldHVybiBtX2ZvcmVncm91bmRMYXllci5nZXQoKTsgfQor
CisjaWYgRU5BQkxFKE9WRVJGTE9XX1NDUk9MTElORykKKyAgICBib29sIGhhc1Njcm9sbGluZ0xh
eWVyKCkgY29uc3QgeyByZXR1cm4gbV9zY3JvbGxpbmdMYXllcjsgfQorICAgIEdyYXBoaWNzTGF5
ZXIqIHNjcm9sbGluZ0xheWVyKCkgY29uc3QgeyByZXR1cm4gbV9zY3JvbGxpbmdMYXllci5nZXQo
KTsgfQorI2VuZGlmCiAgICAgCiAgICAgYm9vbCBoYXNNYXNrTGF5ZXIoKSBjb25zdCB7IHJldHVy
biBtX21hc2tMYXllciAhPSAwOyB9CiAKLSAgICBHcmFwaGljc0xheWVyKiBwYXJlbnRGb3JTdWJs
YXllcnMoKSBjb25zdCB7IHJldHVybiBtX2NsaXBwaW5nTGF5ZXIgPyBtX2NsaXBwaW5nTGF5ZXIu
Z2V0KCkgOiBtX2dyYXBoaWNzTGF5ZXIuZ2V0KCk7IH0KKyAgICBHcmFwaGljc0xheWVyKiBwYXJl
bnRGb3JTdWJsYXllcnMoKSBjb25zdDsKICAgICBHcmFwaGljc0xheWVyKiBjaGlsZEZvclN1cGVy
bGF5ZXJzKCkgY29uc3QgeyByZXR1cm4gbV9hbmNlc3RvckNsaXBwaW5nTGF5ZXIgPyBtX2FuY2Vz
dG9yQ2xpcHBpbmdMYXllci5nZXQoKSA6IG1fZ3JhcGhpY3NMYXllci5nZXQoKTsgfQogCiAgICAg
Ly8gUmVuZGVyTGF5ZXJzIHdpdGggYmFja2luZyBub3JtYWxseSBzaG9ydC1jaXJjdWl0IHBhaW50
TGF5ZXIoKSBiZWNhdXNlCkBAIC0xODEsNiArMTg2LDEwIEBAIHByaXZhdGU6CiAgICAgYm9vbCBy
ZXF1aXJlc0hvcml6b250YWxTY3JvbGxiYXJMYXllcigpIGNvbnN0OwogICAgIGJvb2wgcmVxdWly
ZXNWZXJ0aWNhbFNjcm9sbGJhckxheWVyKCkgY29uc3Q7CiAgICAgYm9vbCByZXF1aXJlc1Njcm9s
bENvcm5lckxheWVyKCkgY29uc3Q7CisjaWYgRU5BQkxFKE9WRVJGTE9XX1NDUk9MTElORykKKyAg
ICBib29sIHVwZGF0ZUJhY2tncm91bmRMYXllcihib29sIG5lZWRzQmFja2dyb3VuZExheWVyKTsK
KyAgICBib29sIHVwZGF0ZVNjcm9sbGluZ0xheWVyKGJvb2wgbmVlZFNjcm9sbGluZ0xheWVyKTsK
KyNlbmRpZgogCiAgICAgR3JhcGhpY3NMYXllclBhaW50aW5nUGhhc2UgcGFpbnRpbmdQaGFzZUZv
clByaW1hcnlMYXllcigpIGNvbnN0OwogICAgIApAQCAtMjM3LDYgKzI0NiwxMSBAQCBwcml2YXRl
OgogICAgIE93blB0cjxHcmFwaGljc0xheWVyPiBtX2xheWVyRm9yVmVydGljYWxTY3JvbGxiYXI7
CiAgICAgT3duUHRyPEdyYXBoaWNzTGF5ZXI+IG1fbGF5ZXJGb3JTY3JvbGxDb3JuZXI7CiAKKyNp
ZiBFTkFCTEUoT1ZFUkZMT1dfU0NST0xMSU5HKQorICAgIC8vIE9ubHkgdXNlZCBpZiB0aGUgbGF5
ZXIgaXMgc2Nyb2xsYWJsZS4KKyAgICBPd25QdHI8R3JhcGhpY3NMYXllcj4gbV9zY3JvbGxpbmdM
YXllcjsKKyNlbmRpZgorCiAgICAgSW50UmVjdCBtX2NvbXBvc2l0ZWRCb3VuZHM7CiAKICAgICBi
b29sIG1fYXJ0aWZpY2lhbGx5SW5mbGF0ZWRCb3VuZHM7ICAgICAgLy8gYm91bmRzIGhhZCB0byBi
ZSBtYWRlIG5vbi16ZXJvIHRvIG1ha2UgdHJhbnNmb3JtLW9yaWdpbiB3b3JrCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCmluZGV4IDc3
ODQ0NTE4MzY4ODNkNjdlYjYwNTBkZTc0NWYwOTRjODlhN2NiODcuLmM4YTAxNDBjMzI1ODRiM2Uz
MTNiYTE3ZWJiMDgyNjhjN2VhMzM5MmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCkBAIC03ODAsNiArNzgwLDEyIEBAIHZvaWQg
UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpjb21wdXRlQ29tcG9zaXRpbmdSZXF1aXJlbWVudHMoUmVu
ZGVyTGF5ZXIqIGFuY2VzdG9yCiAKICAgICBib29sIGFueURlc2NlbmRhbnRIYXMzRFRyYW5zZm9y
bSA9IGZhbHNlOwogCisjaWYgRU5BQkxFKE9WRVJGTE9XX1NDUk9MTElORykKKyAgICAvLyBTY3Jv
bGxpbmcgbGF5ZXJzIG5lZWQgdG8gY2xpcCB0aGUgc2Nyb2xsaW5nIGNvbnRlbnQuCisgICAgaWYg
KHdpbGxCZUNvbXBvc2l0ZWQgJiYgbGF5ZXItPmlzU3RhY2tpbmdDb250ZXh0KCkgJiYgbGF5ZXIt
PnJlbmRlcmVyKCktPmhhc092ZXJmbG93Q2xpcCgpKQorICAgICAgICBjaGlsZFN0YXRlLm1fc3Vi
dHJlZUlzQ29tcG9zaXRpbmcgPSB0cnVlOworI2VuZGlmCisKICAgICBpZiAobGF5ZXItPmlzU3Rh
Y2tpbmdDb250ZXh0KCkpIHsKICAgICAgICAgaWYgKFZlY3RvcjxSZW5kZXJMYXllcio+KiBuZWda
T3JkZXJMaXN0ID0gbGF5ZXItPm5lZ1pPcmRlckxpc3QoKSkgewogICAgICAgICAgICAgc2l6ZV90
IGxpc3RTaXplID0gbmVnWk9yZGVyTGlzdC0+c2l6ZSgpOwpAQCAtMTA5NCw2ICsxMTAwLDE1IEBA
IHZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpmcmFtZVZpZXdEaWRTY3JvbGwoKQogICAgIG1f
c2Nyb2xsTGF5ZXItPnNldFBvc2l0aW9uKEZsb2F0UG9pbnQoLXNjcm9sbFBvc2l0aW9uLngoKSwg
LXNjcm9sbFBvc2l0aW9uLnkoKSkpOwogfQogCisjaWYgRU5BQkxFKE9WRVJGTE9XX1NDUk9MTElO
RykKK3ZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpzY3JvbGxpbmdMYXllckRpZENoYW5nZShS
ZW5kZXJMYXllciogbGF5ZXIpCit7CisgICAgUmVuZGVyTGF5ZXJCYWNraW5nKiBiYWNraW5nID0g
bGF5ZXItPmJhY2tpbmcoKTsKKyAgICBpZiAoU2Nyb2xsaW5nQ29vcmRpbmF0b3IqIHNjcm9sbGlu
Z0Nvb3JkaW5hdG9yID0gdGhpcy0+c2Nyb2xsaW5nQ29vcmRpbmF0b3IoKSkKKyAgICAgICAgc2Ny
b2xsaW5nQ29vcmRpbmF0b3ItPnNjcm9sbGFibGVBcmVhU2Nyb2xsTGF5ZXJEaWRDaGFuZ2UobGF5
ZXIsIGJhY2tpbmcgPyBiYWNraW5nLT5zY3JvbGxpbmdMYXllcigpIDogMCk7Cit9CisjZW5kaWYK
KwogU3RyaW5nIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6bGF5ZXJUcmVlQXNUZXh0KGJvb2wgc2hv
d0RlYnVnSW5mbykKIHsKICAgICB1cGRhdGVDb21wb3NpdGluZ0xheWVycyhDb21wb3NpdGluZ1Vw
ZGF0ZUFmdGVyTGF5b3V0KTsKQEAgLTE0NDYsNyArMTQ2MSw4IEBAIGJvb2wgUmVuZGVyTGF5ZXJD
b21wb3NpdG9yOjpyZXF1aXJlc0NvbXBvc2l0aW5nTGF5ZXIoY29uc3QgUmVuZGVyTGF5ZXIqIGxh
eWVyKSBjCiAgICAgICAgIHx8IGNsaXBzQ29tcG9zaXRpbmdEZXNjZW5kYW50cyhsYXllcikKICAg
ICAgICAgfHwgcmVxdWlyZXNDb21wb3NpdGluZ0ZvckFuaW1hdGlvbihyZW5kZXJlcikKICAgICAg
ICAgfHwgcmVxdWlyZXNDb21wb3NpdGluZ0ZvckZpbHRlcnMocmVuZGVyZXIpCi0gICAgICAgIHx8
IHJlcXVpcmVzQ29tcG9zaXRpbmdGb3JQb3NpdGlvbihyZW5kZXJlciwgbGF5ZXIpOworICAgICAg
ICB8fCByZXF1aXJlc0NvbXBvc2l0aW5nRm9yUG9zaXRpb24ocmVuZGVyZXIsIGxheWVyKQorICAg
ICAgICB8fCByZXF1aXJlc0NvbXBvc2l0aW5nRm9yT3ZlcmZsb3dTY3JvbGwocmVuZGVyZXIpOwog
fQogCiBib29sIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6Y2FuQmVDb21wb3NpdGVkKGNvbnN0IFJl
bmRlckxheWVyKiBsYXllcikgY29uc3QKQEAgLTE0NzUsNiArMTQ5MSw3IEBAIGJvb2wgUmVuZGVy
TGF5ZXJDb21wb3NpdG9yOjpyZXF1aXJlc093bkJhY2tpbmdTdG9yZShjb25zdCBSZW5kZXJMYXll
ciogbGF5ZXIsIGNvCiAgICAgICAgIHx8IHJlcXVpcmVzQ29tcG9zaXRpbmdGb3JBbmltYXRpb24o
cmVuZGVyZXIpCiAgICAgICAgIHx8IHJlcXVpcmVzQ29tcG9zaXRpbmdGb3JGaWx0ZXJzKHJlbmRl
cmVyKQogICAgICAgICB8fCByZXF1aXJlc0NvbXBvc2l0aW5nRm9yUG9zaXRpb24ocmVuZGVyZXIs
IGxheWVyKQorICAgICAgICB8fCByZXF1aXJlc0NvbXBvc2l0aW5nRm9yT3ZlcmZsb3dTY3JvbGwo
cmVuZGVyZXIpCiAgICAgICAgIHx8IHJlbmRlcmVyLT5pc1RyYW5zcGFyZW50KCkKICAgICAgICAg
fHwgcmVuZGVyZXItPmhhc01hc2soKQogICAgICAgICB8fCByZW5kZXJlci0+aGFzUmVmbGVjdGlv
bigpCkBAIC0xODEwLDYgKzE4MjcsMTYgQEAgYm9vbCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnJl
cXVpcmVzQ29tcG9zaXRpbmdGb3JQb3NpdGlvbihSZW5kZXJPYmplY3QqIHJlbmRlcmUKICAgICBy
ZXR1cm4gdHJ1ZTsKIH0KIAorYm9vbCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnJlcXVpcmVzQ29t
cG9zaXRpbmdGb3JPdmVyZmxvd1Njcm9sbChSZW5kZXJPYmplY3QqIHJlbmRlcmVyKSBjb25zdAor
eworI2lmIEVOQUJMRShPVkVSRkxPV19TQ1JPTExJTkcpCisgICAgcmV0dXJuIHJlbmRlcmVyLT5o
YXNMYXllcigpICYmIHRvUmVuZGVyQm94TW9kZWxPYmplY3QocmVuZGVyZXIpLT5sYXllcigpLT5o
YXNBY2NlbGVyYXRlZFNjcm9sbGluZygpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0ocmVuZGVy
ZXIpOworICAgIHJldHVybiBmYWxzZTsKKyNlbmRpZgorfQorCiBib29sIFJlbmRlckxheWVyQ29t
cG9zaXRvcjo6aXNSdW5uaW5nQWNjZWxlcmF0ZWRUcmFuc2Zvcm1BbmltYXRpb24oUmVuZGVyT2Jq
ZWN0KiByZW5kZXJlcikgY29uc3QKIHsKICAgICBpZiAoIShtX2NvbXBvc2l0aW5nVHJpZ2dlcnMg
JiBDaHJvbWVDbGllbnQ6OkFuaW1hdGlvblRyaWdnZXIpKQpAQCAtMTgyNiw2ICsxODUzLDEwIEBA
IGJvb2wgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjppc1J1bm5pbmdBY2NlbGVyYXRlZFRyYW5zZm9y
bUFuaW1hdGlvbihSZW5kZXJPYmplY3QqCiAvLyBvYmplY3QuCiBib29sIFJlbmRlckxheWVyQ29t
cG9zaXRvcjo6bmVlZHNDb250ZW50c0NvbXBvc2l0aW5nTGF5ZXIoY29uc3QgUmVuZGVyTGF5ZXIq
IGxheWVyKSBjb25zdAogeworI2lmIEVOQUJMRShPVkVSRkxPV19TQ1JPTExJTkcpCisgICAgaWYg
KGxheWVyLT5yZW5kZXJlcigpLT5zdHlsZSgpLT51c2VUb3VjaE92ZXJmbG93U2Nyb2xsaW5nKCkp
CisgICAgICAgIHJldHVybiB0cnVlOworI2VuZGlmCiAgICAgcmV0dXJuIGxheWVyLT5oYXNOZWdh
dGl2ZVpPcmRlckxpc3QoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckxheWVyQ29tcG9zaXRvci5oCmluZGV4IDc5MmZiMDE2OTRjYWUzYjVjM2NmN2Q2YzNkOGM5
MzgwZjhhNDQwYWUuLjk5MWYzMGFhOGYwYjA2MDBkY2VlOGFhMDdlNTc1OGE0ZDI5ODBlNWIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3Iu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmgK
QEAgLTE4OSw2ICsxODksMTAgQEAgcHVibGljOgogICAgIHZvaWQgZnJhbWVWaWV3RGlkQ2hhbmdl
U2l6ZSgpOwogICAgIHZvaWQgZnJhbWVWaWV3RGlkU2Nyb2xsKCk7CiAKKyNpZiBFTkFCTEUoT1ZF
UkZMT1dfU0NST0xMSU5HKQorICAgIHZvaWQgc2Nyb2xsaW5nTGF5ZXJEaWRDaGFuZ2UoUmVuZGVy
TGF5ZXIqKTsKKyNlbmRpZgorCiAgICAgU3RyaW5nIGxheWVyVHJlZUFzVGV4dChib29sIHNob3dE
ZWJ1Z0luZm8gPSBmYWxzZSk7CiAKICAgICAvLyBUaGVzZSBhcmUgbmFtZWQgdG8gYXZvaWQgY29u
ZmxpY3RzIHdpdGggdGhlIGZ1bmN0aW9ucyBpbiBHcmFwaGljc0xheWVyQ2xpZW50CkBAIC0yODks
NiArMjkzLDcgQEAgcHJpdmF0ZToKICAgICBib29sIHJlcXVpcmVzQ29tcG9zaXRpbmdGb3JGaWx0
ZXJzKFJlbmRlck9iamVjdCopIGNvbnN0OwogICAgIGJvb2wgcmVxdWlyZXNDb21wb3NpdGluZ0Zv
clNjcm9sbGFibGVGcmFtZSgpIGNvbnN0OwogICAgIGJvb2wgcmVxdWlyZXNDb21wb3NpdGluZ0Zv
clBvc2l0aW9uKFJlbmRlck9iamVjdCosIGNvbnN0IFJlbmRlckxheWVyKikgY29uc3Q7CisgICAg
Ym9vbCByZXF1aXJlc0NvbXBvc2l0aW5nRm9yT3ZlcmZsb3dTY3JvbGwoUmVuZGVyT2JqZWN0Kikg
Y29uc3Q7CiAgICAgYm9vbCByZXF1aXJlc0NvbXBvc2l0aW5nRm9ySW5kaXJlY3RSZWFzb24oUmVu
ZGVyT2JqZWN0KiwgYm9vbCBoYXNDb21wb3NpdGVkRGVzY2VuZGFudHMsIGJvb2wgaGFzM0RUcmFu
c2Zvcm1lZERlc2NlbmRhbnRzLCBSZW5kZXJMYXllcjo6SW5kaXJlY3RDb21wb3NpdGluZ1JlYXNv
biYpIGNvbnN0OwogCiAgICAgYm9vbCByZXF1aXJlc1Njcm9sbExheWVyKFJvb3RMYXllckF0dGFj
aG1lbnQpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ck9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcApp
bmRleCAxNGVlNzQ4ODRlZmFkYjBjZDFmODQ3MDMxNjVjMjcwZjJmM2MzOWMzLi5jYzQ4Y2RmOTA5
Zjc4ZDlmNjdlNTVkNDU0YjFiODM4ZDhjNmIzOGFkIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyT2JqZWN0LmNwcApAQCAtMTQ0MCwxNiArMTQ0MCw4IEBAIHZvaWQgUmVuZGVyT2Jq
ZWN0Ojpjb21wdXRlUmVjdEZvclJlcGFpbnQoUmVuZGVyQm94TW9kZWxPYmplY3QqIHJlcGFpbnRD
b250YWluZXIsCiAgICAgICAgIH0KIAogICAgICAgICBpZiAoby0+aGFzT3ZlcmZsb3dDbGlwKCkp
IHsKLSAgICAgICAgICAgIC8vIG8tPmhlaWdodCgpIGlzIGluYWNjdXJhdGUgaWYgd2UncmUgaW4g
dGhlIG1pZGRsZSBvZiBhIGxheW91dCBvZiB8b3wsIHNvIHVzZSB0aGUKLSAgICAgICAgICAgIC8v
IGxheWVyJ3Mgc2l6ZSBpbnN0ZWFkLiAgRXZlbiBpZiB0aGUgbGF5ZXIncyBzaXplIGlzIHdyb25n
LCB0aGUgbGF5ZXIgaXRzZWxmIHdpbGwgcmVwYWludAotICAgICAgICAgICAgLy8gYW55d2F5IGlm
IGl0cyBzaXplIGRvZXMgY2hhbmdlLgogICAgICAgICAgICAgUmVuZGVyQm94KiBib3hQYXJlbnQg
PSB0b1JlbmRlckJveChvKTsKLQotICAgICAgICAgICAgTGF5b3V0UmVjdCByZXBhaW50UmVjdChy
ZWN0KTsKLSAgICAgICAgICAgIHJlcGFpbnRSZWN0Lm1vdmUoLWJveFBhcmVudC0+c2Nyb2xsZWRD
b250ZW50T2Zmc2V0KCkpOyAvLyBGb3Igb3ZlcmZsb3c6YXV0by9zY3JvbGwvaGlkZGVuLgotCi0g
ICAgICAgICAgICBMYXlvdXRSZWN0IGJveFJlY3QoTGF5b3V0UG9pbnQoKSwgYm94UGFyZW50LT5j
YWNoZWRTaXplRm9yT3ZlcmZsb3dDbGlwKCkpOwotICAgICAgICAgICAgcmVjdCA9IGludGVyc2Vj
dGlvbihyZXBhaW50UmVjdCwgYm94UmVjdCk7CisgICAgICAgICAgICBib3hQYXJlbnQtPmFwcGx5
Q2FjaGVkQ2xpcEFuZFNjcm9sbE9mZnNldEZvclJlcGFpbnQocmVjdCk7CiAgICAgICAgICAgICBp
ZiAocmVjdC5pc0VtcHR5KCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>147387</attachid>
            <date>2012-06-13 12:22:45 -0700</date>
            <delta_ts>2012-06-15 12:45:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-78862-20120613202244.patch</filename>
            <type>text/plain</type>
            <size>44445</size>
            <attacher name="Sami Kyostila">skyostil</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIwMTgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzdlNjIxYWU2YThiNmNm
N2I4NDU4MDkxMmI0Mzg3MzA1ZmE3OWVmZi4uMTQwNTM4OTI1Mjg1OGUzNDE0MDU1N2VmYWIyYzNj
NDU1YjY2Njg3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDExOCBAQAorMjAxMi0wNi0wOCAgU2Ft
aSBLeW9zdGlsYSAgPHNreW9zdGlsQGNocm9taXVtLm9yZz4KKworICAgICAgICBUb3VjaCBvdmVy
ZmxvdyBzY3JvbGxpbmcgZWxlbWVudHMgc2hvdWxkIGJlIHNwbGl0IGludG8gbGF5ZXJzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03ODg2MgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gYSByZWd1bGFy
IG92ZXJmbG93IGVsZW1lbnQgaXMgc2Nyb2xsZWQsIHdlIHJlcGFpbnQgdGhlIGVudGlyZSBhcmVh
CisgICAgICAgIGl0IG9jY3VwaWVzIGluIHRoZSB2aWV3IGZyb20gc2NyYXRjaC4gU2luY2UgdGhp
cyBwYWludGluZyBpcyBkb25lIGluIHRoZQorICAgICAgICBtYWluIHRocmVhZCwgaXQgY2FuIGJl
IGJsb2NrZWQgYnksIGUuZy4sIEphdmFTY3JpcHQgZXhlY3V0aW9uLCBmdXJ0aGVyCisgICAgICAg
IGxpbWl0aW5nIHBlcmZvcm1hbmNlLgorCisgICAgICAgIEluIGNvbnRyYXN0LCB0aGUgbWFpbiBi
b2R5IGVsZW1lbnQgb2YgYSBwYWdlIGNhbiB1c3VhbGx5IGJlIHNjcm9sbGVkCisgICAgICAgIGJ5
IHRoZSBjb21wb3NpdG9yIHNpbXBseSBieSB0cmFuc2xhdGluZyBpdCBhcm91bmQgdGhlIHNjcmVl
bi4gVGhpcyBpcworICAgICAgICBiZWNhdXNlIHRoZSBjb250ZW50cyBvZiB0aGUgYm9keSBoYXZl
IGJlZW4gcGFpbnRlZCBpbnRvIGEKKyAgICAgICAgUmVuZGVyTGF5ZXJCYWNraW5nIHRvIHdoaWNo
IHRoZSBjb21wb3NpdG9yIGNhbiBhcHBseSBhIHNjcm9sbCB0cmFuc2Zvcm0uCisgICAgICAgIEZ1
cnRoZXJtb3JlLCBhIGNvbXBvc2l0b3IgdGhyZWFkIGNhbiBhcHBseSB1cGRhdGUgdGhlIHNjcm9s
bCBvZmZzZXQKKyAgICAgICAgd2hpbGUgdGhlIG1haW4gdGhyZWFkIGlzIGJ1c3kgd2l0aCBvdGhl
ciBwcm9jZXNzaW5nLgorCisgICAgICAgIEluIG9yZGVyIHRvIG1ha2Ugb3ZlcmZsb3cgZWxlbWVu
dCBzY3JvbGxpbmcgc2ltaWxhcmx5IGVmZmljaWVudCwgdGhpcworICAgICAgICBwYXRjaCBkb2Vz
IHRocmVlIHRoaW5nczoKKworICAgICAgICAgICAgMS4gU3BsaXRzIG92ZXJmbG93IGVsZW1lbnRz
IGludG8gYSBmaXhlZCBiYWNrZ3JvdW5kIGxheWVyIGFuZCBhCisgICAgICAgICAgICBzY3JvbGxp
bmcgZm9yZWdyb3VuZCBsYXllci4gVGhpcyBpcyBvbmx5IGRvbmUgZm9yIGVsZW1lbnRzIHVzaW5n
IHRoZQorICAgICAgICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoIHN0eWxl
LCBiZWNhdXNlIGl0IGludHJvZHVjZXMgYQorICAgICAgICAgICAgc3RhY2tpbmcgY29udGV4dCB3
aGljaCBlbmFibGVzIHVzIHRvIHByb21vdGUgdGhlIGVsZW1lbnQgdG8gYQorICAgICAgICAgICAg
Y29tcG9zaXRlZCBsYXllci4KKworICAgICAgICAgICAgMi4gUmVnaXN0ZXJzIHRoZXNlIGVsZW1l
bnRzIHdpdGggdGhlIFNjcm9sbGluZ0Nvb3JkaW5hdG9yIHNvIGl0CisgICAgICAgICAgICBrbm93
cyB0aGVpciBhc3NvY2lhdGVkIHNjcm9sbCBnZW9tZXRyeS4KKworICAgICAgICAgICAgMy4gQXZv
aWRzIGludmFsaWRhdGluZyB0aGUgY29udGVudHMgb2YgdGhlIGxheWVycyB3aGVuIHRoZXkgYXJl
CisgICAgICAgICAgICBzY3JvbGxlZC4gVGhpcyBhbGxvd3MgdGhlIGxheWVycyB0byBiZSB0cmFu
c2xhdGVkIGFjY29yZGluZyB0byB0aGVpcgorICAgICAgICAgICAgc2Nyb2xsIHBvc2l0aW9uIHdp
dGhvdXQgdW5uZWNlc3NhcnkgcmVwYWludHMuCisKKyAgICAgICAgVGhpcyBwYXRjaCBpcyBiYXNl
ZCBvbiBBcHBsZSdzIGlPUyA1IGltcGxlbWVudGF0aW9uIG9mIHRoZQorICAgICAgICAiLXdlYmtp
dC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoIiBDU1MgcHJvcGVydHkuCisKKyAgICAgICAgKiBw
YWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5jcHA6CisgICAgICAgIChXZWJDb3Jl
KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpzY3JvbGxhYmxlQXJl
YVNjcm9sbExheWVyRGlkQ2hhbmdlKToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxp
bmdDb29yZGluYXRvci5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChTY3JvbGxpbmdD
b29yZGluYXRvcik6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0
b3JOb25lLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xs
aW5nQ29vcmRpbmF0b3I6OnNjcm9sbGFibGVBcmVhU2Nyb2xsTGF5ZXJEaWRDaGFuZ2UpOgorICAg
ICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL2Nocm9taXVtL1Njcm9sbGluZ0Nvb3JkaW5hdG9yQ2hyb21p
dW0uY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdD
b29yZGluYXRvcjo6c2Nyb2xsYWJsZUFyZWFTY3JvbGxMYXllckRpZENoYW5nZSk6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpHcmFwaGljc0xheWVyOjpzZXRPZmZzZXRGcm9tUmVuZGVyZXIpOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuaDoKKyAgICAgICAgKEdyYXBoaWNzTGF5ZXIpOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dyYXBoaWNzTGF5ZXJDaHJvbWl1
bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVyQ2hyb21pdW06OkdyYXBoaWNz
TGF5ZXJDaHJvbWl1bSk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVyQ2hyb21pdW06
OmRpZFNjcm9sbCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9HcmFwaGljc0xheWVyQ2hyb21pdW0uaDoKKyAgICAgICAgKFdlYkNvcmU6
OkdyYXBoaWNzTGF5ZXJDaHJvbWl1bTo6c2V0U2Nyb2xsYWJsZUFyZWEpOgorICAgICAgICAoV2Vi
Q29yZTo6R3JhcGhpY3NMYXllckNocm9taXVtOjpzY3JvbGxhYmxlQXJlYSk6CisgICAgICAgIChH
cmFwaGljc0xheWVyQ2hyb21pdW0pOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9jay5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6bGF5b3V0QmxvY2spOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OnBhaW50KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyQm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6YXBwbHlDYWNoZWRDbGlw
QW5kU2Nyb2xsT2Zmc2V0Rm9yUmVwYWludCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckJveDo6Y29tcHV0ZVJlY3RGb3JSZXBhaW50KToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyQm94Lmg6CisgICAgICAgIChSZW5kZXJCb3gpOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW5saW5l
OjpjbGlwcGVkT3ZlcmZsb3dSZWN0Rm9yUmVwYWludCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJJbmxpbmU6OmNvbXB1dGVSZWN0Rm9yUmVwYWludCk6CisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlckxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyTGF5ZXI6Omhhc0FjY2VsZXJhdGVkU2Nyb2xsaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckxheWVyOjpzY3JvbGxUbyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6cGFp
bnRMYXllckNvbnRlbnRzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpjYWxjdWxh
dGVDbGlwUmVjdHMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnJlcGFpbnRCbG9j
a1NlbGVjdGlvbkdhcHMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnNob3VsZEJl
Tm9ybWFsRmxvd09ubHkpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnVwZGF0ZVNj
cm9sbGFibGVBcmVhU2V0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaDoKKyAg
ICAgICAgKFJlbmRlckxheWVyKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNr
aW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQmFja2luZzo6flJlbmRlckxh
eWVyQmFja2luZyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OmRlc3Ry
b3lHcmFwaGljc0xheWVycyk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6
Omhhc1RvdWNoT3ZlcmZsb3dTY3JvbGxpbmcpOgorICAgICAgICAoV2ViQ29yZTo6bGF5ZXJPckFu
Y2VzdG9ySXNTY3JvbGxpbmcpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5n
OjpwYXJlbnRGb3JTdWJsYXllcnMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNr
aW5nOjpzaG91bGRDbGlwQ29tcG9zaXRlZEJvdW5kcyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJMYXllckJhY2tpbmc6OnVwZGF0ZUdyYXBoaWNzTGF5ZXJDb25maWd1cmF0aW9uKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlR3JhcGhpY3NMYXllckdlb21l
dHJ5KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlSW50ZXJu
YWxIaWVyYXJjaHkpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRh
dGVTY3JvbGxpbmdMYXllcik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6
OnBhaW50Q29udGVudHMpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcu
aDoKKyAgICAgICAgKFJlbmRlckxheWVyQmFja2luZyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJMYXllckJhY2tpbmc6Omhhc1Njcm9sbGluZ0xheWVyKToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckxheWVyQmFja2luZzo6c2Nyb2xsaW5nTGF5ZXIpOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJD
b21wb3NpdG9yOjpjb21wdXRlQ29tcG9zaXRpbmdSZXF1aXJlbWVudHMpOgorICAgICAgICAoV2Vi
Q29yZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OnNjcm9sbGlu
Z0xheWVyRGlkQ2hhbmdlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRv
cjo6cmVxdWlyZXNDb21wb3NpdGluZ0xheWVyKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxh
eWVyQ29tcG9zaXRvcjo6cmVxdWlyZXNPd25CYWNraW5nU3RvcmUpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpyZXF1aXJlc0NvbXBvc2l0aW5nRm9yT3ZlcmZsb3dT
Y3JvbGwpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpuZWVkc0Nv
bnRlbnRzQ29tcG9zaXRpbmdMYXllcik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVy
Q29tcG9zaXRvci5oOgorICAgICAgICAoUmVuZGVyTGF5ZXJDb21wb3NpdG9yKToKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9i
amVjdDo6Y29tcHV0ZVJlY3RGb3JSZXBhaW50KToKKwogMjAxMi0wMy0yOCAgU2FtaSBLeW9zdGls
YSAgPHNreW9zdGlsQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIEFsbG93IHNj
cm9sbGluZyBub24tcm9vdCBsYXllcnMgaW4gdGhlIGNvbXBvc2l0b3IgdGhyZWFkCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5j
cHAKaW5kZXggZDM4YmJkNWI1MWMyNDJkZDgxNjg3OThkOGYzNjZkMjhkN2IwYjk3OS4uZTNmYzU0
M2ZhNjViM2U4Zjc4ZTNhZjQ1MWE3MjE1MmFhODBkYTY2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcApAQCAtNDI3
LDYgKzQyNywxNCBAQCB2b2lkIFNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpjb21taXRUcmVlU3RhdGUo
KQogICAgIE93blB0cjxTY3JvbGxpbmdUcmVlU3RhdGU+IHRyZWVTdGF0ZSA9IG1fc2Nyb2xsaW5n
VHJlZVN0YXRlLT5jb21taXQoKTsKICAgICBTY3JvbGxpbmdUaHJlYWQ6OmRpc3BhdGNoKGJpbmQo
JlNjcm9sbGluZ1RyZWU6OmNvbW1pdE5ld1RyZWVTdGF0ZSwgbV9zY3JvbGxpbmdUcmVlLmdldCgp
LCB0cmVlU3RhdGUucmVsZWFzZSgpKSk7CiB9CisKKyNpZiBFTkFCTEUoT1ZFUkZMT1dfU0NST0xM
SU5HKQordm9pZCBTY3JvbGxpbmdDb29yZGluYXRvcjo6c2Nyb2xsYWJsZUFyZWFTY3JvbGxMYXll
ckRpZENoYW5nZShTY3JvbGxhYmxlQXJlYSosIEdyYXBoaWNzTGF5ZXIqKQoreworICAgIC8vIEZJ
WE1FOiBJbXBsZW1lbnQuCit9CisjZW5kaWYKKwogI2VuZGlmCiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGlu
Z0Nvb3JkaW5hdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdD
b29yZGluYXRvci5oCmluZGV4IGI0NzFlMmFhZTNmNjMxYzBhYTE5OTAxMTI3NmNjNDk0Mjg0ZWMx
YWEuLmRhZjU0ZjMzOGU5YThkYTAzYTUyM2NiNjcxOGJhYzY4Njg3NmU4OTMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaApA
QCAtNTUsNiArNTUsMTAgQEAgY2xhc3MgU2Nyb2xsaW5nVHJlZVN0YXRlOwogY2xhc3MgU2Nyb2xs
aW5nVHJlZTsKICNlbmRpZgogCisjaWYgRU5BQkxFKE9WRVJGTE9XX1NDUk9MTElORykKK2NsYXNz
IFNjcm9sbGFibGVBcmVhOworI2VuZGlmCisKIGNsYXNzIFNjcm9sbGluZ0Nvb3JkaW5hdG9yIDog
cHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPFNjcm9sbGluZ0Nvb3JkaW5hdG9yPiB7CiBwdWJs
aWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8U2Nyb2xsaW5nQ29vcmRpbmF0b3I+IGNyZWF0ZShQ
YWdlKik7CkBAIC05NSw2ICs5OSwxMSBAQCBwdWJsaWM6CiAgICAgLy8gU2hvdWxkIGJlIGNhbGxl
ZCB3aGVuZXZlciB0aGUgdmVydGljYWwgc2Nyb2xsYmFyIGxheWVyIGZvciB0aGUgZ2l2ZW4gZnJh
bWUgdmlldyBjaGFuZ2VzLgogICAgIHZvaWQgZnJhbWVWaWV3VmVydGljYWxTY3JvbGxiYXJMYXll
ckRpZENoYW5nZShGcmFtZVZpZXcqLCBHcmFwaGljc0xheWVyKiB2ZXJ0aWNhbFNjcm9sbGJhckxh
eWVyKTsKIAorI2lmIEVOQUJMRShPVkVSRkxPV19TQ1JPTExJTkcpCisgICAgLy8gU2hvdWxkIGJl
IGNhbGxlZCB3aGVuZXZlciB0aGUgc2Nyb2xsYWJsZSBsYXllciBmb3IgdGhlIGdpdmVuIHNjcm9s
bCBhcmVhIGNoYW5nZXMuCisgICAgdm9pZCBzY3JvbGxhYmxlQXJlYVNjcm9sbExheWVyRGlkQ2hh
bmdlKFNjcm9sbGFibGVBcmVhKiwgR3JhcGhpY3NMYXllciopOworI2VuZGlmCisKICAgICAvLyBS
ZXF1ZXN0cyB0aGF0IHRoZSBzY3JvbGxpbmcgY29vcmRpbmF0b3IgdXBkYXRlcyB0aGUgc2Nyb2xs
IHBvc2l0aW9uIG9mIHRoZSBnaXZlbiBmcmFtZSB2aWV3LiBJZiB0aGlzIGZ1bmN0aW9uIHJldHVy
bnMgdHJ1ZSwgaXQgbWVhbnMgdGhhdCB0aGUKICAgICAvLyBwb3NpdGlvbiB3aWxsIGJlIHVwZGF0
ZWQgYXN5bmNocm9ub3VzbHkuIElmIGl0IHJldHVybnMgZmFsc2UsIHRoZSBjYWxsZXIgc2hvdWxk
IHVwZGF0ZSB0aGUgc2Nyb2xsaW5nIHBvc2l0aW9uIGl0c2VsZi4KICAgICBib29sIHJlcXVlc3RT
Y3JvbGxQb3NpdGlvblVwZGF0ZShGcmFtZVZpZXcqLCBjb25zdCBJbnRQb2ludCYpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3JO
b25lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5h
dG9yTm9uZS5jcHAKaW5kZXggY2YxNDVkZDIzMzdiODA4N2M0OGY3NWE2MjRkMTAxMTdjOWU0NDIz
NC4uYmNlNmU5YzBiZjg5ODQzNTNmN2U2NzAyOGE1MDUxNmY5Njk2YzU1NiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3JOb25lLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRv
ck5vbmUuY3BwCkBAIC03MSw2ICs3MSwxMiBAQCB2b2lkIFNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpz
ZXRTaG91bGRVcGRhdGVTY3JvbGxMYXllclBvc2l0aW9uT25NYWluVGhyZWFkKGJvb2wpCiB7CiB9
CiAKKyNpZiBFTkFCTEUoT1ZFUkZMT1dfU0NST0xMSU5HKQordm9pZCBTY3JvbGxpbmdDb29yZGlu
YXRvcjo6c2Nyb2xsYWJsZUFyZWFTY3JvbGxMYXllckRpZENoYW5nZShTY3JvbGxhYmxlQXJlYSos
IEdyYXBoaWNzTGF5ZXIqKQoreworfQorI2VuZGlmCisKICNlbmRpZiAvLyAhRU5BQkxFKFRIUkVB
REVEX1NDUk9MTElORykKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvY2hyb21pdW0vU2Nyb2xsaW5nQ29vcmRpbmF0b3JDaHJvbWl1bS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9jaHJvbWl1bS9TY3JvbGxpbmdDb29yZGluYXRvckNocm9t
aXVtLmNwcAppbmRleCAwZTc3ZjNhOWI2NGNiZDRiMDhlNDg0Mjc5YjI3ZjI2MDNkZmY4Y2IyLi5h
NzM5Njg4MmM0YTRlNjQ0NDZmMmY3NTZiNjllY2JmZjc0MzYyMTRhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9jaHJvbWl1bS9TY3JvbGxpbmdDb29yZGluYXRvckNo
cm9taXVtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9jaHJvbWl1bS9T
Y3JvbGxpbmdDb29yZGluYXRvckNocm9taXVtLmNwcApAQCAtMzcsNiArMzcsMTAgQEAKICNpbmNs
dWRlICJTY3JvbGxiYXJUaGVtZS5oIgogI2luY2x1ZGUgImNjL0NDUHJveHkuaCIKIAorI2lmIEVO
QUJMRShPVkVSRkxPV19TQ1JPTExJTkcpCisjaW5jbHVkZSAiR3JhcGhpY3NMYXllckNocm9taXVt
LmgiCisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTY3JvbGxpbmdDb29y
ZGluYXRvclByaXZhdGUgewpAQCAtMTg0LDQgKzE4OCwxOSBAQCB2b2lkIFNjcm9sbGluZ0Nvb3Jk
aW5hdG9yOjpzZXRTaG91bGRVcGRhdGVTY3JvbGxMYXllclBvc2l0aW9uT25NYWluVGhyZWFkKGJv
b2wgcwogICAgICAgICBsYXllci0+c2V0U2hvdWxkU2Nyb2xsT25NYWluVGhyZWFkKHNob3VsZCk7
CiB9CiAKKyNpZiBFTkFCTEUoT1ZFUkZMT1dfU0NST0xMSU5HKQordm9pZCBTY3JvbGxpbmdDb29y
ZGluYXRvcjo6c2Nyb2xsYWJsZUFyZWFTY3JvbGxMYXllckRpZENoYW5nZShTY3JvbGxhYmxlQXJl
YSogc2Nyb2xsYWJsZUFyZWEsIEdyYXBoaWNzTGF5ZXIqIHNjcm9sbExheWVyKQoreworICAgIEdy
YXBoaWNzTGF5ZXJDaHJvbWl1bSogbGF5ZXIgPSBzdGF0aWNfY2FzdDxHcmFwaGljc0xheWVyQ2hy
b21pdW0qPihzY3JvbGxMYXllcik7CisgICAgTGF5ZXJDaHJvbWl1bSogcGxhdGZvcm1MYXllciA9
IHNjcm9sbExheWVyID8gc2Nyb2xsTGF5ZXItPnBsYXRmb3JtTGF5ZXIoKSA6IDA7CisgICAgaWYg
KGxheWVyKQorICAgICAgICBsYXllci0+c2V0U2Nyb2xsYWJsZUFyZWEoc2Nyb2xsYWJsZUFyZWEp
OworICAgIGlmICghcGxhdGZvcm1MYXllcikKKyAgICAgICAgcmV0dXJuOworICAgIHBsYXRmb3Jt
TGF5ZXItPnNldFNjcm9sbGFibGUodHJ1ZSk7CisgICAgcGxhdGZvcm1MYXllci0+c2V0U2Nyb2xs
UG9zaXRpb24oc2Nyb2xsYWJsZUFyZWEtPnNjcm9sbFBvc2l0aW9uKCkpOworICAgIHBsYXRmb3Jt
TGF5ZXItPnNldE1heFNjcm9sbFBvc2l0aW9uKEludFNpemUoc2Nyb2xsYWJsZUFyZWEtPnNjcm9s
bFNpemUoSG9yaXpvbnRhbFNjcm9sbGJhciksIHNjcm9sbGFibGVBcmVhLT5zY3JvbGxTaXplKFZl
cnRpY2FsU2Nyb2xsYmFyKSkpOworfQorI2VuZGlmCisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5jcHAKaW5kZXggMTBkN2I3ZmM4ZGE0
ZjQ4NmQwM2UwMzNmYjQ4MjExNTg2MWFmNjJmMC4uZmU0ZjdiNDY2NTQ4ZWVkMGEyMDg1ZWNlM2Y4
MmExY2E0NTY1NjUxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvR3JhcGhpY3NMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvR3JhcGhpY3NMYXllci5jcHAKQEAgLTI4Myw3ICsyODMsNyBAQCB2b2lkIEdyYXBoaWNzTGF5
ZXI6OnNldFJlcGxpY2F0ZWRCeUxheWVyKEdyYXBoaWNzTGF5ZXIqIGxheWVyKQogICAgIG1fcmVw
bGljYUxheWVyID0gbGF5ZXI7CiB9CiAKLXZvaWQgR3JhcGhpY3NMYXllcjo6c2V0T2Zmc2V0RnJv
bVJlbmRlcmVyKGNvbnN0IEludFNpemUmIG9mZnNldCkKK3ZvaWQgR3JhcGhpY3NMYXllcjo6c2V0
T2Zmc2V0RnJvbVJlbmRlcmVyKGNvbnN0IEludFNpemUmIG9mZnNldCwgYm9vbCBuZWVkc0Rpc3Bs
YXkpCiB7CiAgICAgaWYgKG9mZnNldCA9PSBtX29mZnNldEZyb21SZW5kZXJlcikKICAgICAgICAg
cmV0dXJuOwpAQCAtMjkxLDcgKzI5MSw4IEBAIHZvaWQgR3JhcGhpY3NMYXllcjo6c2V0T2Zmc2V0
RnJvbVJlbmRlcmVyKGNvbnN0IEludFNpemUmIG9mZnNldCkKICAgICBtX29mZnNldEZyb21SZW5k
ZXJlciA9IG9mZnNldDsKIAogICAgIC8vIElmIHRoZSBjb21wb3NpdGluZyBsYXllciBvZmZzZXQg
Y2hhbmdlcywgd2UgbmVlZCB0byByZXBhaW50LgotICAgIHNldE5lZWRzRGlzcGxheSgpOworICAg
IGlmIChuZWVkc0Rpc3BsYXkpCisgICAgICAgIHNldE5lZWRzRGlzcGxheSgpOwogfQogCiB2b2lk
IEdyYXBoaWNzTGF5ZXI6OnNldEJhY2tncm91bmRDb2xvcihjb25zdCBDb2xvciYgY29sb3IpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmgKaW5k
ZXggMTZjNzNhNDgzOGUwNDQ3ZTVhYWVhMjY0MGNmMjM2NGZlZDA4NmIzMy4uNGMxMzZjYjU0NzBi
YjQ5MzNiMTlkMDdmZWZiYmVhNGNhMzZmY2QxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuaApAQCAtMjc0LDcgKzI3NCw3IEBAIHB1Ymxp
YzoKIAogICAgIC8vIE9mZnNldCBpcyBvcmlnaW4gb2YgdGhlIHJlbmRlcmVyIG1pbnVzIG9yaWdp
biBvZiB0aGUgZ3JhcGhpY3MgbGF5ZXIgKHNvIGVpdGhlciB6ZXJvIG9yIG5lZ2F0aXZlKS4KICAg
ICBJbnRTaXplIG9mZnNldEZyb21SZW5kZXJlcigpIGNvbnN0IHsgcmV0dXJuIG1fb2Zmc2V0RnJv
bVJlbmRlcmVyOyB9Ci0gICAgdm9pZCBzZXRPZmZzZXRGcm9tUmVuZGVyZXIoY29uc3QgSW50U2l6
ZSYpOworICAgIHZvaWQgc2V0T2Zmc2V0RnJvbVJlbmRlcmVyKGNvbnN0IEludFNpemUmLCBib29s
IG5lZWRzRGlzcGxheSA9IHRydWUpOwogCiAgICAgLy8gVGhlIHBvc2l0aW9uIG9mIHRoZSBsYXll
ciAodGhlIGxvY2F0aW9uIG9mIGl0cyB0b3AtbGVmdCBjb3JuZXIgaW4gaXRzIHBhcmVudCkKICAg
ICBjb25zdCBGbG9hdFBvaW50JiBwb3NpdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fcG9zaXRpb247
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L0dyYXBoaWNzTGF5ZXJDaHJvbWl1bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9HcmFwaGljc0xheWVyQ2hyb21pdW0uY3BwCmluZGV4IGIzNTM5ODRkNGRk
YTFjOGIyYzIyMmQ3NGY4MGM2ODMzYzg4MmU2MjMuLmY2NDU4NTRlYWRjYThjZjQ3ZTY0NjgzOTFh
N2IzZjI3ZmY3MTk2MzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL0dyYXBoaWNzTGF5ZXJDaHJvbWl1bS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vR3JhcGhpY3NMYXllckNocm9taXVtLmNwcApA
QCAtODYsOCArODYsMTEgQEAgR3JhcGhpY3NMYXllckNocm9taXVtOjpHcmFwaGljc0xheWVyQ2hy
b21pdW0oR3JhcGhpY3NMYXllckNsaWVudCogY2xpZW50KQogICAgICwgbV9jb250ZW50c0xheWVy
SGFzQmFja2dyb3VuZENvbG9yKGZhbHNlKQogICAgICwgbV9pblNldENoaWxkcmVuKGZhbHNlKQog
ICAgICwgbV9wYWdlU2NhbGVDaGFuZ2VkKGZhbHNlKQorICAgICwgbV9zY3JvbGxhYmxlQXJlYSgw
KQogewotICAgIG1fbGF5ZXIgPSBXZWJDb250ZW50TGF5ZXIoQ29udGVudExheWVyQ2hyb21pdW06
OmNyZWF0ZSh0aGlzKSk7CisgICAgUmVmUHRyPENvbnRlbnRMYXllckNocm9taXVtPiBjb250ZW50
TGF5ZXIgPSBDb250ZW50TGF5ZXJDaHJvbWl1bTo6Y3JlYXRlKHRoaXMpOworICAgIGNvbnRlbnRM
YXllci0+c2V0TGF5ZXJTY3JvbGxEZWxlZ2F0ZSh0aGlzKTsKKyAgICBtX2xheWVyID0gV2ViQ29u
dGVudExheWVyKGNvbnRlbnRMYXllcik7CiAKICAgICB1cGRhdGVEZWJ1Z0luZGljYXRvcnMoKTsK
IH0KQEAgLTkwMSw2ICs5MDQsMTIgQEAgdm9pZCBHcmFwaGljc0xheWVyQ2hyb21pdW06Om5vdGlm
eUFuaW1hdGlvbkZpbmlzaGVkKGRvdWJsZSkKICAgICAvLyBEbyBub3RoaW5nLgogfQogCit2b2lk
IEdyYXBoaWNzTGF5ZXJDaHJvbWl1bTo6ZGlkU2Nyb2xsKGNvbnN0IEludFNpemUmIHNjcm9sbERl
bHRhKQoreworICAgIGlmIChtX3Njcm9sbGFibGVBcmVhKQorICAgICAgICBtX3Njcm9sbGFibGVB
cmVhLT5zY3JvbGxUb09mZnNldFdpdGhvdXRBbmltYXRpb24obV9zY3JvbGxhYmxlQXJlYS0+c2Ny
b2xsUG9zaXRpb24oKSArIHNjcm9sbERlbHRhKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQogCiAjZW5kaWYgLy8gVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vR3JhcGhpY3NMYXllckNo
cm9taXVtLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9HcmFw
aGljc0xheWVyQ2hyb21pdW0uaAppbmRleCBiOGE4MDE4ZDhkNGI3ODExZWNiOGFlZmY3ZTI0ZWU1
YjMxMmZjNDkwLi43YjkzMDIxN2VmNmNmZGQ2ZDNmMmRkMDM0NmFhYWNmM2EzY2Q3M2Q3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9HcmFwaGlj
c0xheWVyQ2hyb21pdW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9HcmFwaGljc0xheWVyQ2hyb21pdW0uaApAQCAtMzYsNiArMzYsNyBAQAogI2luY2x1
ZGUgIkNvbnRlbnRMYXllckNocm9taXVtLmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0Lmgi
CiAjaW5jbHVkZSAiR3JhcGhpY3NMYXllci5oIgorI2luY2x1ZGUgIlNjcm9sbGFibGVBcmVhLmgi
CiAjaW5jbHVkZSAiY2MvQ0NMYXllckFuaW1hdGlvbkRlbGVnYXRlLmgiCiAKICNpbmNsdWRlIDxw
dWJsaWMvV2ViQ29udGVudExheWVyLmg+CkBAIC00Nyw3ICs0OCw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIGNsYXNzIExheWVyQ2hyb21pdW07CiBjbGFzcyBMaW5rSGlnaGxpZ2h0OwogCi1jbGFz
cyBHcmFwaGljc0xheWVyQ2hyb21pdW0gOiBwdWJsaWMgR3JhcGhpY3NMYXllciwgcHVibGljIENv
bnRlbnRMYXllckRlbGVnYXRlLCBwdWJsaWMgQ0NMYXllckFuaW1hdGlvbkRlbGVnYXRlIHsKK2Ns
YXNzIEdyYXBoaWNzTGF5ZXJDaHJvbWl1bSA6IHB1YmxpYyBHcmFwaGljc0xheWVyLCBwdWJsaWMg
Q29udGVudExheWVyRGVsZWdhdGUsIHB1YmxpYyBDQ0xheWVyQW5pbWF0aW9uRGVsZWdhdGUsIHB1
YmxpYyBMYXllckNocm9taXVtU2Nyb2xsRGVsZWdhdGUgewogcHVibGljOgogICAgIEdyYXBoaWNz
TGF5ZXJDaHJvbWl1bShHcmFwaGljc0xheWVyQ2xpZW50Kik7CiAgICAgdmlydHVhbCB+R3JhcGhp
Y3NMYXllckNocm9taXVtKCk7CkBAIC0xMTcsMTQgKzExOCwxOSBAQCBwdWJsaWM6CiAgICAgdmly
dHVhbCB2b2lkIHNldERlYnVnQm9yZGVyKGNvbnN0IENvbG9yJiwgZmxvYXQgYm9yZGVyV2lkdGgp
OwogICAgIHZpcnR1YWwgdm9pZCBkZXZpY2VPclBhZ2VTY2FsZUZhY3RvckNoYW5nZWQoKTsKIAor
ICAgIHZvaWQgc2V0U2Nyb2xsYWJsZUFyZWEoU2Nyb2xsYWJsZUFyZWEqIHNjcm9sbGFibGVBcmVh
KSB7IG1fc2Nyb2xsYWJsZUFyZWEgPSBzY3JvbGxhYmxlQXJlYTsgfQorICAgIFNjcm9sbGFibGVB
cmVhKiBzY3JvbGxhYmxlQXJlYSgpIGNvbnN0IHsgcmV0dXJuIG1fc2Nyb2xsYWJsZUFyZWE7IH0K
KwogICAgIC8vIENvbnRlbnRMYXllckRlbGVnYXRlIGltcGxlbWVudGF0aW9uLgogICAgIHZpcnR1
YWwgdm9pZCBwYWludENvbnRlbnRzKEdyYXBoaWNzQ29udGV4dCYsIGNvbnN0IEludFJlY3QmIGNs
aXApOwotICAgIHZpcnR1YWwgdm9pZCBkaWRTY3JvbGwoY29uc3QgSW50U2l6ZSYpIE9WRVJSSURF
IHsgfQogCiAgICAgLy8gQ0NMYXllckFuaW1hdGlvbkRlbGVnYXRlIGltcGxlbWVudGF0aW9uLgog
ICAgIHZpcnR1YWwgdm9pZCBub3RpZnlBbmltYXRpb25TdGFydGVkKGRvdWJsZSBzdGFydFRpbWUp
OwogICAgIHZpcnR1YWwgdm9pZCBub3RpZnlBbmltYXRpb25GaW5pc2hlZChkb3VibGUgZmluaXNo
VGltZSk7CiAKKyAgICAvLyBMYXllckNocm9taXVtU2Nyb2xsRGVsZWdhdGUgaW1wbGVtZW50YXRp
b24uCisgICAgdmlydHVhbCB2b2lkIGRpZFNjcm9sbChjb25zdCBJbnRTaXplJikgT1ZFUlJJREU7
CisKICAgICAvLyBFeHBvc2VkIGZvciB0ZXN0cy4KICAgICBXZWJLaXQ6OldlYkxheWVyIGNvbnRl
bnRzTGF5ZXIoKSBjb25zdCB7IHJldHVybiBtX2NvbnRlbnRzTGF5ZXI7IH0KIApAQCAtMTc5LDYg
KzE4NSw4IEBAIHByaXZhdGU6CiAKICAgICB0eXBlZGVmIEhhc2hNYXA8U3RyaW5nLCBpbnQ+IEFu
aW1hdGlvbklkTWFwOwogICAgIEFuaW1hdGlvbklkTWFwIG1fYW5pbWF0aW9uSWRNYXA7CisKKyAg
ICBTY3JvbGxhYmxlQXJlYSogbV9zY3JvbGxhYmxlQXJlYTsKIH07CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9j
ay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCmluZGV4IDFl
YTkwYzc0ZGZkMjA4YmY2NDM5OGE0N2M5Zjk5Y2IxNjQ1NjliNGQuLmQ4ZGM5OWI2M2RjOWMzZTc5
NGMyNzg4MzliY2RlMTZkZGUyMDNkNTcgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCbG9jay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJsb2NrLmNwcApAQCAtMTU1Niw4ICsxNTU2LDExIEBAIHZvaWQgUmVuZGVyQmxvY2s6OmxheW91
dEJsb2NrKGJvb2wgcmVsYXlvdXRDaGlsZHJlbiwgTGF5b3V0VW5pdCBwYWdlTG9naWNhbEhlaWdo
CiAgICAgICAgICAgICAvLyBBZGp1c3QgcmVwYWludCByZWN0IGZvciBzY3JvbGwgb2Zmc2V0CiAg
ICAgICAgICAgICByZXBhaW50UmVjdC5tb3ZlKC1zY3JvbGxlZENvbnRlbnRPZmZzZXQoKSk7CiAK
LSAgICAgICAgICAgIC8vIERvbid0IGFsbG93IHRoaXMgcmVjdCB0byBzcGlsbCBvdXQgb2Ygb3Vy
IG92ZXJmbG93IGJveC4KLSAgICAgICAgICAgIHJlcGFpbnRSZWN0LmludGVyc2VjdChMYXlvdXRS
ZWN0KExheW91dFBvaW50KCksIHNpemUoKSkpOworICAgICAgICAgICAgLy8gRG9uJ3QgYWxsb3cg
dGhpcyByZWN0IHRvIHNwaWxsIG91dCBvZiBvdXIgb3ZlcmZsb3cgYm94LCB1bmxlc3MgdGhlIGxh
eWVyIGlzIHNjcm9sbGFibGUuCisjaWYgRU5BQkxFKE9WRVJGTE9XX1NDUk9MTElORykKKyAgICAg
ICAgICAgIGlmICghbGF5ZXIoKS0+aGFzQWNjZWxlcmF0ZWRTY3JvbGxpbmcoKSkKKyNlbmRpZgor
ICAgICAgICAgICAgICAgIHJlcGFpbnRSZWN0LmludGVyc2VjdChMYXlvdXRSZWN0KExheW91dFBv
aW50KCksIHNpemUoKSkpOwogICAgICAgICB9CiAKICAgICAgICAgLy8gTWFrZSBzdXJlIHRoZSBy
ZWN0IGlzIHN0aWxsIG5vbi1lbXB0eSBhZnRlciBpbnRlcnNlY3RpbmcgZm9yIG92ZXJmbG93IGFi
b3ZlCkBAIC0yNjA3LDcgKzI2MTAsMTEgQEAgdm9pZCBSZW5kZXJCbG9jazo6cGFpbnQoUGFpbnRJ
bmZvJiBwYWludEluZm8sIGNvbnN0IExheW91dFBvaW50JiBwYWludE9mZnNldCkKICAgICAvLyBD
aGVjayBpZiB3ZSBuZWVkIHRvIGRvIGFueXRoaW5nIGF0IGFsbC4KICAgICAvLyBGSVhNRTogQ291
bGQgZWxpbWluYXRlIHRoZSBpc1Jvb3QoKSBjaGVjayBpZiB3ZSBmaXggYmFja2dyb3VuZCBwYWlu
dGluZyBzbyB0aGF0IHRoZSBSZW5kZXJWaWV3CiAgICAgLy8gcGFpbnRzIHRoZSByb290J3MgYmFj
a2dyb3VuZC4KLSAgICBpZiAoIWlzUm9vdCgpKSB7CisgICAgaWYgKCFpc1Jvb3QoKQorI2lmIEVO
QUJMRShPVkVSRkxPV19TQ1JPTExJTkcpCisgICAgICAgICYmICEoaGFzT3ZlcmZsb3dDbGlwKCkg
JiYgaGFzTGF5ZXIoKSAmJiBsYXllcigpLT5oYXNBY2NlbGVyYXRlZFNjcm9sbGluZygpKQorI2Vu
ZGlmCisgICAgICAgICkgewogICAgICAgICBMYXlvdXRSZWN0IG92ZXJmbG93Qm94ID0gdmlzdWFs
T3ZlcmZsb3dSZWN0KCk7CiAgICAgICAgIGZsaXBGb3JXcml0aW5nTW9kZShvdmVyZmxvd0JveCk7
CiAgICAgICAgIG92ZXJmbG93Qm94LmluZmxhdGUobWF4aW1hbE91dGxpbmVTaXplKHBhaW50SW5m
by5waGFzZSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJv
eC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAppbmRleCBmY2M4
ZGY3MDg2ZGQ5Y2UwZjEwYmE1MTEwMTkzMTk0NzEwOTFkOTlkLi5kNjY5M2UxMTExNWZkOTQ3NjNl
MjQ2NGE4YTQ3MWNlNjZmNGFlNWU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94
LmNwcApAQCAtNjUxLDYgKzY1MSwyMiBAQCBMYXlvdXRTaXplIFJlbmRlckJveDo6Y2FjaGVkU2l6
ZUZvck92ZXJmbG93Q2xpcCgpIGNvbnN0CiAgICAgcmV0dXJuIGxheWVyKCktPnNpemUoKTsKIH0K
IAordm9pZCBSZW5kZXJCb3g6OmFwcGx5Q2FjaGVkQ2xpcEFuZFNjcm9sbE9mZnNldEZvclJlcGFp
bnQoTGF5b3V0UmVjdCYgcGFpbnRSZWN0KSBjb25zdAoreworICAgIHBhaW50UmVjdC5tb3ZlKC1z
Y3JvbGxlZENvbnRlbnRPZmZzZXQoKSk7IC8vIEZvciBvdmVyZmxvdzphdXRvL3Njcm9sbC9oaWRk
ZW4uCisKKyNpZiBFTkFCTEUoT1ZFUkZMT1dfU0NST0xMSU5HKQorICAgIC8vIERvIG5vdCBjbGlw
IHNjcm9sbCBsYXllciBjb250ZW50cyB0byByZWR1Y2UgdGhlIG51bWJlciBvZiByZXBhaW50cyB3
aGlsZSBzY3JvbGxpbmcuCisgICAgaWYgKGhhc092ZXJmbG93Q2xpcCgpICYmIGhhc0xheWVyKCkg
JiYgbGF5ZXIoKS0+aGFzQWNjZWxlcmF0ZWRTY3JvbGxpbmcoKSkKKyAgICAgICAgcmV0dXJuOwor
I2VuZGlmCisgICAgLy8gaGVpZ2h0KCkgaXMgaW5hY2N1cmF0ZSBpZiB3ZSdyZSBpbiB0aGUgbWlk
ZGxlIG9mIGEgbGF5b3V0IG9mIHRoaXMgUmVuZGVyQm94LCBzbyB1c2UgdGhlCisgICAgLy8gbGF5
ZXIncyBzaXplIGluc3RlYWQuIEV2ZW4gaWYgdGhlIGxheWVyJ3Mgc2l6ZSBpcyB3cm9uZywgdGhl
IGxheWVyIGl0c2VsZiB3aWxsIHJlcGFpbnQKKyAgICAvLyBhbnl3YXkgaWYgaXRzIHNpemUgZG9l
cyBjaGFuZ2UuCisgICAgTGF5b3V0UmVjdCBjbGlwUmVjdChMYXlvdXRQb2ludCgpLCBjYWNoZWRT
aXplRm9yT3ZlcmZsb3dDbGlwKCkpOworICAgIHBhaW50UmVjdCA9IGludGVyc2VjdGlvbihwYWlu
dFJlY3QsIGNsaXBSZWN0KTsKK30KKwogTGF5b3V0VW5pdCBSZW5kZXJCb3g6Om1pblByZWZlcnJl
ZExvZ2ljYWxXaWR0aCgpIGNvbnN0CiB7CiAgICAgaWYgKHByZWZlcnJlZExvZ2ljYWxXaWR0aHNE
aXJ0eSgpKQpAQCAtMTU4NSwyMSArMTYwMSwxMyBAQCB2b2lkIFJlbmRlckJveDo6Y29tcHV0ZVJl
Y3RGb3JSZXBhaW50KFJlbmRlckJveE1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyLCBMYQog
CiAgICAgLy8gRklYTUU6IFdlIGlnbm9yZSB0aGUgbGlnaHR3ZWlnaHQgY2xpcHBpbmcgcmVjdCB0
aGF0IGNvbnRyb2xzIHVzZSwgc2luY2UgaWYgfG98IGlzIGluIG1pZC1sYXlvdXQsCiAgICAgLy8g
aXRzIGNvbnRyb2xDbGlwUmVjdCB3aWxsIGJlIHdyb25nLiBGb3Igb3ZlcmZsb3cgY2xpcCB3ZSB1
c2UgdGhlIHZhbHVlcyBjYWNoZWQgYnkgdGhlIGxheWVyLgorICAgIHJlY3Quc2V0TG9jYXRpb24o
dG9wTGVmdCk7CiAgICAgaWYgKG8tPmhhc092ZXJmbG93Q2xpcCgpKSB7CiAgICAgICAgIFJlbmRl
ckJveCogY29udGFpbmVyQm94ID0gdG9SZW5kZXJCb3gobyk7Ci0KLSAgICAgICAgLy8gby0+aGVp
Z2h0KCkgaXMgaW5hY2N1cmF0ZSBpZiB3ZSdyZSBpbiB0aGUgbWlkZGxlIG9mIGEgbGF5b3V0IG9m
IHxvfCwgc28gdXNlIHRoZQotICAgICAgICAvLyBsYXllcidzIHNpemUgaW5zdGVhZC4gIEV2ZW4g
aWYgdGhlIGxheWVyJ3Mgc2l6ZSBpcyB3cm9uZywgdGhlIGxheWVyIGl0c2VsZiB3aWxsIHJlcGFp
bnQKLSAgICAgICAgLy8gYW55d2F5IGlmIGl0cyBzaXplIGRvZXMgY2hhbmdlLgotICAgICAgICB0
b3BMZWZ0IC09IGNvbnRhaW5lckJveC0+c2Nyb2xsZWRDb250ZW50T2Zmc2V0KCk7IC8vIEZvciBv
dmVyZmxvdzphdXRvL3Njcm9sbC9oaWRkZW4uCi0KLSAgICAgICAgTGF5b3V0UmVjdCByZXBhaW50
UmVjdCh0b3BMZWZ0LCByZWN0LnNpemUoKSk7Ci0gICAgICAgIExheW91dFJlY3QgYm94UmVjdChM
YXlvdXRQb2ludCgpLCBjb250YWluZXJCb3gtPmNhY2hlZFNpemVGb3JPdmVyZmxvd0NsaXAoKSk7
Ci0gICAgICAgIHJlY3QgPSBpbnRlcnNlY3Rpb24ocmVwYWludFJlY3QsIGJveFJlY3QpOworICAg
ICAgICBjb250YWluZXJCb3gtPmFwcGx5Q2FjaGVkQ2xpcEFuZFNjcm9sbE9mZnNldEZvclJlcGFp
bnQocmVjdCk7CiAgICAgICAgIGlmIChyZWN0LmlzRW1wdHkoKSkKICAgICAgICAgICAgIHJldHVy
bjsKLSAgICB9IGVsc2UKLSAgICAgICAgcmVjdC5zZXRMb2NhdGlvbih0b3BMZWZ0KTsKKyAgICB9
CiAKICAgICBpZiAoY29udGFpbmVyU2tpcHBlZCkgewogICAgICAgICAvLyBJZiB0aGUgcmVwYWlu
dENvbnRhaW5lciBpcyBiZWxvdyBvLCB0aGVuIHdlIG5lZWQgdG8gbWFwIHRoZSByZWN0IGludG8g
cmVwYWludENvbnRhaW5lcidzIGNvb3JkaW5hdGVzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJveC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJveC5oCmluZGV4IDRiZWJmN2VhYjgwMTA5NTg5YjQ4NjExZDQ3MTZmZGRhOGI3NjYyNDAuLjdi
OTIxZGNiOWI4YWFkYjhiZDgwZjQ2OGZhN2JjZGI5Y2U2MDg2NmMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQm94LmgKQEAgLTQ2MSw2ICs0NjEsOSBAQCBwdWJsaWM6CiAKICAgICBJbnRT
aXplIHNjcm9sbGVkQ29udGVudE9mZnNldCgpIGNvbnN0OwogICAgIExheW91dFNpemUgY2FjaGVk
U2l6ZUZvck92ZXJmbG93Q2xpcCgpIGNvbnN0OworICAgIHZvaWQgdXBkYXRlQ2FjaGVkU2l6ZUZv
ck92ZXJmbG93Q2xpcCgpOworICAgIHZvaWQgY2xlYXJDYWNoZWRTaXplRm9yT3ZlcmZsb3dDbGlw
KCk7CisgICAgdm9pZCBhcHBseUNhY2hlZENsaXBBbmRTY3JvbGxPZmZzZXRGb3JSZXBhaW50KExh
eW91dFJlY3QmIHBhaW50UmVjdCkgY29uc3Q7CiAKICAgICB2aXJ0dWFsIGJvb2wgaGFzUmVsYXRp
dmVEaW1lbnNpb25zKCkgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIGhhc1JlbGF0aXZlTG9naWNh
bEhlaWdodCgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlcklubGluZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmNw
cAppbmRleCA5MWEwNWFkZjMyMzYxNDM0YzZiMTk5MjA4MzMxZWQxNDBhNTg0MzI3Li41ZWNiN2Uy
OTI2MThmYzliOGIxNTIyM2JiNTU1NzYzZjU1Mjc3ZjcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVySW5saW5lLmNwcApAQCAtOTg0LDE1ICs5ODQsOCBAQCBMYXlvdXRSZWN0IFJl
bmRlcklubGluZTo6Y2xpcHBlZE92ZXJmbG93UmVjdEZvclJlcGFpbnQoUmVuZGVyQm94TW9kZWxP
YmplY3QqIHJlcAogICAgIGlmIChjYi0+aGFzQ29sdW1ucygpKQogICAgICAgICBjYi0+YWRqdXN0
UmVjdEZvckNvbHVtbnMocmVwYWludFJlY3QpOwogCi0gICAgaWYgKGNiLT5oYXNPdmVyZmxvd0Ns
aXAoKSkgewotICAgICAgICAvLyBjYi0+aGVpZ2h0KCkgaXMgaW5hY2N1cmF0ZSBpZiB3ZSdyZSBp
biB0aGUgbWlkZGxlIG9mIGEgbGF5b3V0IG9mIHxjYnwsIHNvIHVzZSB0aGUKLSAgICAgICAgLy8g
bGF5ZXIncyBzaXplIGluc3RlYWQuICBFdmVuIGlmIHRoZSBsYXllcidzIHNpemUgaXMgd3Jvbmcs
IHRoZSBsYXllciBpdHNlbGYgd2lsbCByZXBhaW50Ci0gICAgICAgIC8vIGFueXdheSBpZiBpdHMg
c2l6ZSBkb2VzIGNoYW5nZS4KLSAgICAgICAgcmVwYWludFJlY3QubW92ZSgtY2ItPnNjcm9sbGVk
Q29udGVudE9mZnNldCgpKTsgLy8gRm9yIG92ZXJmbG93OmF1dG8vc2Nyb2xsL2hpZGRlbi4KLQot
ICAgICAgICBMYXlvdXRSZWN0IGJveFJlY3QoTGF5b3V0UG9pbnQoKSwgY2ItPmNhY2hlZFNpemVG
b3JPdmVyZmxvd0NsaXAoKSk7Ci0gICAgICAgIHJlcGFpbnRSZWN0LmludGVyc2VjdChib3hSZWN0
KTsKLSAgICB9CisgICAgaWYgKGNiLT5oYXNPdmVyZmxvd0NsaXAoKSkKKyAgICAgICAgY2ItPmFw
cGx5Q2FjaGVkQ2xpcEFuZFNjcm9sbE9mZnNldEZvclJlcGFpbnQocmVwYWludFJlY3QpOwogCiAg
ICAgY2ItPmNvbXB1dGVSZWN0Rm9yUmVwYWludChyZXBhaW50Q29udGFpbmVyLCByZXBhaW50UmVj
dCk7CiAKQEAgLTEwNjQsMjEgKzEwNTcsMTMgQEAgdm9pZCBSZW5kZXJJbmxpbmU6OmNvbXB1dGVS
ZWN0Rm9yUmVwYWludChSZW5kZXJCb3hNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5lciwKICAg
ICAKICAgICAvLyBGSVhNRTogV2UgaWdub3JlIHRoZSBsaWdodHdlaWdodCBjbGlwcGluZyByZWN0
IHRoYXQgY29udHJvbHMgdXNlLCBzaW5jZSBpZiB8b3wgaXMgaW4gbWlkLWxheW91dCwKICAgICAv
LyBpdHMgY29udHJvbENsaXBSZWN0IHdpbGwgYmUgd3JvbmcuIEZvciBvdmVyZmxvdyBjbGlwIHdl
IHVzZSB0aGUgdmFsdWVzIGNhY2hlZCBieSB0aGUgbGF5ZXIuCisgICAgcmVjdC5zZXRMb2NhdGlv
bih0b3BMZWZ0KTsKICAgICBpZiAoby0+aGFzT3ZlcmZsb3dDbGlwKCkpIHsKICAgICAgICAgUmVu
ZGVyQm94KiBjb250YWluZXJCb3ggPSB0b1JlbmRlckJveChvKTsKLQotICAgICAgICAvLyBvLT5o
ZWlnaHQoKSBpcyBpbmFjY3VyYXRlIGlmIHdlJ3JlIGluIHRoZSBtaWRkbGUgb2YgYSBsYXlvdXQg
b2YgfG98LCBzbyB1c2UgdGhlCi0gICAgICAgIC8vIGxheWVyJ3Mgc2l6ZSBpbnN0ZWFkLiAgRXZl
biBpZiB0aGUgbGF5ZXIncyBzaXplIGlzIHdyb25nLCB0aGUgbGF5ZXIgaXRzZWxmIHdpbGwgcmVw
YWludAotICAgICAgICAvLyBhbnl3YXkgaWYgaXRzIHNpemUgZG9lcyBjaGFuZ2UuCi0gICAgICAg
IHRvcExlZnQgLT0gY29udGFpbmVyQm94LT5zY3JvbGxlZENvbnRlbnRPZmZzZXQoKTsgLy8gRm9y
IG92ZXJmbG93OmF1dG8vc2Nyb2xsL2hpZGRlbi4KLQotICAgICAgICBMYXlvdXRSZWN0IHJlcGFp
bnRSZWN0KHRvcExlZnQsIHJlY3Quc2l6ZSgpKTsKLSAgICAgICAgTGF5b3V0UmVjdCBib3hSZWN0
KExheW91dFBvaW50KCksIGNvbnRhaW5lckJveC0+Y2FjaGVkU2l6ZUZvck92ZXJmbG93Q2xpcCgp
KTsKLSAgICAgICAgcmVjdCA9IGludGVyc2VjdGlvbihyZXBhaW50UmVjdCwgYm94UmVjdCk7Cisg
ICAgICAgIGNvbnRhaW5lckJveC0+YXBwbHlDYWNoZWRDbGlwQW5kU2Nyb2xsT2Zmc2V0Rm9yUmVw
YWludChyZWN0KTsKICAgICAgICAgaWYgKHJlY3QuaXNFbXB0eSgpKQogICAgICAgICAgICAgcmV0
dXJuOwotICAgIH0gZWxzZQotICAgICAgICByZWN0LnNldExvY2F0aW9uKHRvcExlZnQpOworICAg
IH0KIAogICAgIGlmIChjb250YWluZXJTa2lwcGVkKSB7CiAgICAgICAgIC8vIElmIHRoZSByZXBh
aW50Q29udGFpbmVyIGlzIGJlbG93IG8sIHRoZW4gd2UgbmVlZCB0byBtYXAgdGhlIHJlY3QgaW50
byByZXBhaW50Q29udGFpbmVyJ3MgY29vcmRpbmF0ZXMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyLmNwcAppbmRleCAyN2M3ZDVjZjU1ZDllNzBmNWVjNjdiZTcyMjA4ZmE1NWE4
NTZmYjdlLi42ZDM5ODIxZDM1Yzg1Mzc0NWE3ZjFhNTc3NDc3N2QwMjcwNWE3NTQ2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKQEAgLTI1Niw2ICsyNTYsMTkgQEAg
dm9pZCBSZW5kZXJMYXllcjo6Y29udGVudENoYW5nZWQoQ29udGVudENoYW5nZVR5cGUgY2hhbmdl
VHlwZSkKIH0KICNlbmRpZiAvLyBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiAKKyNpZiBF
TkFCTEUoT1ZFUkZMT1dfU0NST0xMSU5HKQorYm9vbCBSZW5kZXJMYXllcjo6aGFzQWNjZWxlcmF0
ZWRTY3JvbGxpbmcoKSBjb25zdAoreworICAgIGlmICghc2Nyb2xsc092ZXJmbG93KCkpCisgICAg
ICAgIHJldHVybiBmYWxzZTsKKyAgICBSZW5kZXJTdHlsZSogc3R5bGUgPSByZW5kZXJlcigpLT5z
dHlsZSgpOworICAgIC8vIEZJWE1FOiBPdXRsaW5lcyBjdXJyZW50bHkgZW5kIHVwIG9uIHRoZSBz
Y3JvbGxpbmcgZm9yZWdyb3VuZCBsYXllci4KKyAgICBpZiAoc3R5bGUtPmhhc091dGxpbmUoKSkK
KyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiBzdHlsZS0+dXNlVG91Y2hPdmVyZmxv
d1Njcm9sbGluZygpOworfQorI2VuZGlmCisKIGJvb2wgUmVuZGVyTGF5ZXI6OmNhblJlbmRlcjNE
VHJhbnNmb3JtcygpIGNvbnN0CiB7CiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQpA
QCAtMTYwOCw3ICsxNjIxLDEyIEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnNjcm9sbFRvKGludCB4LCBp
bnQgeSkKICAgICB9CiAKICAgICAvLyBKdXN0IHNjaGVkdWxlIGEgZnVsbCByZXBhaW50IG9mIG91
ciBvYmplY3QuCi0gICAgaWYgKHZpZXcpCisgICAgaWYgKHZpZXcKKyNpZiBFTkFCTEUoT1ZFUkZM
T1dfU0NST0xMSU5HKQorICAgICAgICAvLyBQYWludGluZyBpcyBiZSBkcml2ZW4gYnkgdGhlIGNv
bXBvc2l0b3IgaW4gdGhlIGFjY2VsZXJhdGVkIHNjcm9sbGluZyBjYXNlLgorICAgICAgICAmJiAh
aGFzQWNjZWxlcmF0ZWRTY3JvbGxpbmcoKQorI2VuZGlmCisgICAgICAgICkKICAgICAgICAgcmVu
ZGVyZXIoKS0+cmVwYWludFVzaW5nQ29udGFpbmVyKHJlcGFpbnRDb250YWluZXIsIG1fcmVwYWlu
dFJlY3QpOwogCiAgICAgLy8gU2NoZWR1bGUgdGhlIHNjcm9sbCBET00gZXZlbnQuCkBAIC0zMDQy
LDcgKzMwNjAsMTMgQEAgdm9pZCBSZW5kZXJMYXllcjo6cGFpbnRMYXllckNvbnRlbnRzKFJlbmRl
ckxheWVyKiByb290TGF5ZXIsIEdyYXBoaWNzQ29udGV4dCogY28KICAgICAgICAgcGVyZm9ybU92
ZXJsYXBUZXN0cygqb3ZlcmxhcFRlc3RSZXF1ZXN0cywgcm9vdExheWVyLCB0aGlzKTsKIAogICAg
IC8vIFdlIHdhbnQgdG8gcGFpbnQgb3VyIGxheWVyLCBidXQgb25seSBpZiB3ZSBpbnRlcnNlY3Qg
dGhlIGRhbWFnZSByZWN0LgotICAgIHNob3VsZFBhaW50Q29udGVudCAmPSBpbnRlcnNlY3RzRGFt
YWdlUmVjdChsYXllckJvdW5kcywgZGFtYWdlUmVjdC5yZWN0KCksIHJvb3RMYXllcik7CisjaWYg
RU5BQkxFKE9WRVJGTE9XX1NDUk9MTElORykKKyAgICBpZiAoaGFzQWNjZWxlcmF0ZWRTY3JvbGxp
bmcoKSAmJiAobG9jYWxQYWludEZsYWdzICYgUGFpbnRMYXllclBhaW50aW5nQ29tcG9zaXRpbmdG
b3JlZ3JvdW5kUGhhc2UpKSB7CisgICAgICAgIHVzZUNsaXBSZWN0ID0gZmFsc2U7CisgICAgICAg
IGNsaXBSZWN0VG9BcHBseSA9IHBhaW50RGlydHlSZWN0OworICAgIH0gZWxzZQorI2VuZGlmCisg
ICAgICAgIHNob3VsZFBhaW50Q29udGVudCAmPSBpbnRlcnNlY3RzRGFtYWdlUmVjdChsYXllckJv
dW5kcywgZGFtYWdlUmVjdC5yZWN0KCksIHJvb3RMYXllcik7CiAgICAgCiAgICAgaWYgKGxvY2Fs
UGFpbnRGbGFncyAmIFBhaW50TGF5ZXJQYWludGluZ0NvbXBvc2l0aW5nQmFja2dyb3VuZFBoYXNl
KSB7CiAgICAgICAgIGlmIChzaG91bGRQYWludENvbnRlbnQgJiYgIXNlbGVjdGlvbk9ubHkpIHsK
QEAgLTM4NTEsNyArMzg3NSwxMSBAQCB2b2lkIFJlbmRlckxheWVyOjpjYWxjdWxhdGVDbGlwUmVj
dHMoY29uc3QgUmVuZGVyTGF5ZXIqIHJvb3RMYXllciwgUmVuZGVyUmVnaW9uKgogICAgICAgICAg
ICAgb2Zmc2V0IC09IHZpZXctPmZyYW1lVmlldygpLT5zY3JvbGxPZmZzZXRGb3JGaXhlZFBvc2l0
aW9uKCk7CiAgICAgICAgIH0KICAgICAgICAgCi0gICAgICAgIGlmIChyZW5kZXJlcigpLT5oYXNP
dmVyZmxvd0NsaXAoKSkgeworICAgICAgICBpZiAocmVuZGVyZXIoKS0+aGFzT3ZlcmZsb3dDbGlw
KCkKKyNpZiBFTkFCTEUoT1ZFUkZMT1dfU0NST0xMSU5HKQorICAgICAgICAgICAgJiYgIWhhc0Fj
Y2VsZXJhdGVkU2Nyb2xsaW5nKCkKKyNlbmRpZgorICAgICAgICAgICAgKSB7CiAgICAgICAgICAg
ICBDbGlwUmVjdCBuZXdPdmVyZmxvd0NsaXAgPSB0b1JlbmRlckJveChyZW5kZXJlcigpKS0+b3Zl
cmZsb3dDbGlwUmVjdChvZmZzZXQsIHJlZ2lvbiwgcmVsZXZhbmN5KTsKICAgICAgICAgICAgIGlm
IChyZW5kZXJlcigpLT5zdHlsZSgpLT5oYXNCb3JkZXJSYWRpdXMoKSkKICAgICAgICAgICAgICAg
ICBuZXdPdmVyZmxvd0NsaXAuc2V0SGFzUmFkaXVzKHRydWUpOwpAQCAtNDAyNSw3ICs0MDUzLDEx
IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnJlcGFpbnRCbG9ja1NlbGVjdGlvbkdhcHMoKQogCiAgICAg
TGF5b3V0UmVjdCByZWN0ID0gbV9ibG9ja1NlbGVjdGlvbkdhcHNCb3VuZHM7CiAgICAgcmVjdC5t
b3ZlKC1zY3JvbGxlZENvbnRlbnRPZmZzZXQoKSk7Ci0gICAgaWYgKHJlbmRlcmVyKCktPmhhc092
ZXJmbG93Q2xpcCgpKQorICAgIGlmIChyZW5kZXJlcigpLT5oYXNPdmVyZmxvd0NsaXAoKQorI2lm
IEVOQUJMRShPVkVSRkxPV19TQ1JPTExJTkcpCisgICAgICAgICYmICFoYXNBY2NlbGVyYXRlZFNj
cm9sbGluZygpCisjZW5kaWYKKyAgICAgICAgKQogICAgICAgICByZWN0LmludGVyc2VjdCh0b1Jl
bmRlckJveChyZW5kZXJlcigpKS0+b3ZlcmZsb3dDbGlwUmVjdChMYXlvdXRQb2ludCgpLCAwKSk7
IC8vIEZJWE1FOiBSZWdpb25zIG5vdCBhY2NvdW50ZWQgZm9yLgogICAgIGlmIChyZW5kZXJlcigp
LT5oYXNDbGlwKCkpCiAgICAgICAgIHJlY3QuaW50ZXJzZWN0KHRvUmVuZGVyQm94KHJlbmRlcmVy
KCkpLT5jbGlwUmVjdChMYXlvdXRQb2ludCgpLCAwKSk7IC8vIEZJWE1FOiBSZWdpb25zIG5vdCBh
Y2NvdW50ZWQgZm9yLgpAQCAtNDY1OCw2ICs0NjkwLDkgQEAgYm9vbCBSZW5kZXJMYXllcjo6c2hv
dWxkQmVOb3JtYWxGbG93T25seSgpIGNvbnN0CiAjaWYgRU5BQkxFKENTU19GSUxURVJTKQogICAg
ICAgICAgICAgJiYgIXJlbmRlcmVyKCktPmhhc0ZpbHRlcigpCiAjZW5kaWYKKyNpZiBFTkFCTEUo
T1ZFUkZMT1dfU0NST0xMSU5HKQorICAgICAgICAgICAgJiYgIWhhc0FjY2VsZXJhdGVkU2Nyb2xs
aW5nKCkKKyNlbmRpZgogICAgICAgICAgICAgJiYgIWlzVHJhbnNwYXJlbnQoKTsKIH0KIApAQCAt
NDgyMCw3ICs0ODU1LDExIEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnVwZGF0ZVNjcm9sbGFibGVBcmVh
U2V0KGJvb2wgaGFzT3ZlcmZsb3cpCiAgICAgaWYgKEhUTUxGcmFtZU93bmVyRWxlbWVudCogb3du
ZXIgPSBmcmFtZS0+b3duZXJFbGVtZW50KCkpCiAgICAgICAgIGlzVmlzaWJsZVRvSGl0VGVzdCAm
PSBvd25lci0+cmVuZGVyZXIoKSAmJiBvd25lci0+cmVuZGVyZXIoKS0+dmlzaWJsZVRvSGl0VGVz
dGluZygpOwogCi0gICAgaWYgKGhhc092ZXJmbG93ICYmIGlzVmlzaWJsZVRvSGl0VGVzdCkKKyAg
ICBpZiAoaGFzT3ZlcmZsb3cgJiYgaXNWaXNpYmxlVG9IaXRUZXN0CisjaWYgRU5BQkxFKE9WRVJG
TE9XX1NDUk9MTElORykKKyAgICAgICAgJiYgIWhhc0FjY2VsZXJhdGVkU2Nyb2xsaW5nKCkKKyNl
bmRpZgorICAgICAgICApCiAgICAgICAgIGZyYW1lVmlldy0+YWRkU2Nyb2xsYWJsZUFyZWEodGhp
cyk7CiAgICAgZWxzZQogICAgICAgICBmcmFtZVZpZXctPnJlbW92ZVNjcm9sbGFibGVBcmVhKHRo
aXMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaAppbmRleCAwODc5MWI5YzQ1
NWE2ZDI3ZWNiMDJiMDM5YTFkNGVjYzY5OTQ5ZTE2Li5jM2M4NzkzYWJmZDVhMjQzYjA1ZjNjNTUz
YTUyZGExZDQyZWVkZWUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaApA
QCAtMzc4LDYgKzM3OCwxMCBAQCBwdWJsaWM6CiAgICAgdm9pZCBjb250ZW50Q2hhbmdlZChDb250
ZW50Q2hhbmdlVHlwZSk7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShPVkVSRkxPV19TQ1JPTExJTkcp
CisgICAgYm9vbCBoYXNBY2NlbGVyYXRlZFNjcm9sbGluZygpIGNvbnN0OworI2VuZGlmCisKICAg
ICBib29sIGNhblJlbmRlcjNEVHJhbnNmb3JtcygpIGNvbnN0OwogCiAgICAgdm9pZCB1cGRhdGVM
YXllclBvc2l0aW9uKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXJCYWNraW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXll
ckJhY2tpbmcuY3BwCmluZGV4IGFkY2U0YzdlZWI4ODA5NTQ3NjU0MGIwZDczOGExNzRjZDUzMWFi
ZGYuLjMzNjE5ZjZlN2M2ZTVjMzQ0Y2Q4YjUzYjM4ZGY0N2MwMjNiNmFlNWEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwCkBAIC0xMzEsNiAr
MTMxLDkgQEAgUmVuZGVyTGF5ZXJCYWNraW5nOjp+UmVuZGVyTGF5ZXJCYWNraW5nKCkKICAgICB1
cGRhdGVPdmVyZmxvd0NvbnRyb2xzTGF5ZXJzKGZhbHNlLCBmYWxzZSwgZmFsc2UpOwogICAgIHVw
ZGF0ZUZvcmVncm91bmRMYXllcihmYWxzZSk7CiAgICAgdXBkYXRlTWFza0xheWVyKGZhbHNlKTsK
KyNpZiBFTkFCTEUoT1ZFUkZMT1dfU0NST0xMSU5HKQorICAgIHVwZGF0ZVNjcm9sbGluZ0xheWVy
KGZhbHNlKTsKKyNlbmRpZgogICAgIGRlc3Ryb3lHcmFwaGljc0xheWVycygpOwogfQogCkBAIC0x
OTMsNiArMTk2LDEwIEBAIHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjpkZXN0cm95R3JhcGhpY3NM
YXllcnMoKQogICAgIG1fZm9yZWdyb3VuZExheWVyID0gbnVsbHB0cjsKICAgICBtX2NsaXBwaW5n
TGF5ZXIgPSBudWxscHRyOwogICAgIG1fbWFza0xheWVyID0gbnVsbHB0cjsKKworI2lmIEVOQUJM
RShPVkVSRkxPV19TQ1JPTExJTkcpCisgICAgbV9zY3JvbGxpbmdMYXllciA9IG51bGxwdHI7Cisj
ZW5kaWYKIH0KIAogdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZUxheWVyT3BhY2l0eShj
b25zdCBSZW5kZXJTdHlsZSogc3R5bGUpCkBAIC0yMzcsOCArMjQ0LDQxIEBAIHN0YXRpYyBib29s
IGxheWVyT3JBbmNlc3RvcklzVHJhbnNmb3JtZWQoUmVuZGVyTGF5ZXIqIGxheWVyKQogICAgIHJl
dHVybiBmYWxzZTsKIH0KIAorI2lmIEVOQUJMRShPVkVSRkxPV19TQ1JPTExJTkcpCitzdGF0aWMg
Ym9vbCBoYXNUb3VjaE92ZXJmbG93U2Nyb2xsaW5nKGNvbnN0IFJlbmRlck9iamVjdCogcmVuZGVy
ZXIpCit7CisgICAgaWYgKCFyZW5kZXJlci0+aGFzTGF5ZXIoKSB8fCAhcmVuZGVyZXItPmlzQm94
TW9kZWxPYmplY3QoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiB0b1JlbmRl
ckJveE1vZGVsT2JqZWN0KHJlbmRlcmVyKS0+bGF5ZXIoKS0+aGFzQWNjZWxlcmF0ZWRTY3JvbGxp
bmcoKTsKK30KKworc3RhdGljIGJvb2wgbGF5ZXJPckFuY2VzdG9ySXNTY3JvbGxpbmcoUmVuZGVy
TGF5ZXIqIGxheWVyKQoreworICAgIGZvciAoUmVuZGVyTGF5ZXIqIGN1cnIgPSBsYXllcjsgY3Vy
cjsgY3VyciA9IGN1cnItPnBhcmVudCgpKSB7CisgICAgICAgIGlmIChoYXNUb3VjaE92ZXJmbG93
U2Nyb2xsaW5nKGN1cnItPnJlbmRlcmVyKCkpKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7Cisg
ICAgfQorCisgICAgcmV0dXJuIGZhbHNlOworfQorI2VuZGlmCisKK0dyYXBoaWNzTGF5ZXIqIFJl
bmRlckxheWVyQmFja2luZzo6cGFyZW50Rm9yU3VibGF5ZXJzKCkgY29uc3QKK3sKKyNpZiBFTkFC
TEUoT1ZFUkZMT1dfU0NST0xMSU5HKQorICAgIGlmIChtX3Njcm9sbGluZ0xheWVyKQorICAgICAg
ICByZXR1cm4gbV9zY3JvbGxpbmdMYXllci5nZXQoKTsKKyNlbmRpZgorICAgIHJldHVybiBtX2Ns
aXBwaW5nTGF5ZXIgPyBtX2NsaXBwaW5nTGF5ZXIuZ2V0KCkgOiBtX2dyYXBoaWNzTGF5ZXIuZ2V0
KCk7Cit9CisKIGJvb2wgUmVuZGVyTGF5ZXJCYWNraW5nOjpzaG91bGRDbGlwQ29tcG9zaXRlZEJv
dW5kcygpIGNvbnN0CiB7CisjaWYgRU5BQkxFKE9WRVJGTE9XX1NDUk9MTElORykKKyAgICBpZiAo
bGF5ZXJPckFuY2VzdG9ySXNTY3JvbGxpbmcobV9vd25pbmdMYXllcikpCisgICAgICAgIHJldHVy
biBmYWxzZTsKKyNlbmRpZgorCiAgICAgaWYgKG1fdXNpbmdUaWxlZENhY2hlTGF5ZXIpCiAgICAg
ICAgIHJldHVybiB0cnVlOwogCkBAIC0zMzAsNyArMzcwLDEyIEBAIGJvb2wgUmVuZGVyTGF5ZXJC
YWNraW5nOjp1cGRhdGVHcmFwaGljc0xheWVyQ29uZmlndXJhdGlvbigpCiAgICAgYm9vbCBsYXll
ckNvbmZpZ0NoYW5nZWQgPSBmYWxzZTsKICAgICBpZiAodXBkYXRlRm9yZWdyb3VuZExheWVyKGNv
bXBvc2l0b3ItPm5lZWRzQ29udGVudHNDb21wb3NpdGluZ0xheWVyKG1fb3duaW5nTGF5ZXIpKSkK
ICAgICAgICAgbGF5ZXJDb25maWdDaGFuZ2VkID0gdHJ1ZTsKLSAgICAKKworI2lmIEVOQUJMRShP
VkVSRkxPV19TQ1JPTExJTkcpCisgICAgaWYgKHVwZGF0ZVNjcm9sbGluZ0xheWVyKGhhc1RvdWNo
T3ZlcmZsb3dTY3JvbGxpbmcocmVuZGVyZXIpKSkKKyAgICAgICAgbGF5ZXJDb25maWdDaGFuZ2Vk
ID0gdHJ1ZTsKKyNlbmRpZgorCiAgICAgaWYgKHVwZGF0ZUNsaXBwaW5nTGF5ZXJzKGNvbXBvc2l0
b3ItPmNsaXBwZWRCeUFuY2VzdG9yKG1fb3duaW5nTGF5ZXIpLCBjb21wb3NpdG9yLT5jbGlwc0Nv
bXBvc2l0aW5nRGVzY2VuZGFudHMobV9vd25pbmdMYXllcikpKQogICAgICAgICBsYXllckNvbmZp
Z0NoYW5nZWQgPSB0cnVlOwogCkBAIC00NjAsNyArNTA1LDcgQEAgdm9pZCBSZW5kZXJMYXllckJh
Y2tpbmc6OnVwZGF0ZUdyYXBoaWNzTGF5ZXJHZW9tZXRyeSgpCiAgICAgICAgIGdyYXBoaWNzTGF5
ZXJQYXJlbnRMb2NhdGlvbiA9IGFuY2VzdG9yQ29tcG9zaXRpbmdCb3VuZHMubG9jYXRpb24oKTsK
ICAgICBlbHNlCiAgICAgICAgIGdyYXBoaWNzTGF5ZXJQYXJlbnRMb2NhdGlvbiA9IHJlbmRlcmVy
KCktPnZpZXcoKS0+ZG9jdW1lbnRSZWN0KCkubG9jYXRpb24oKTsKLSAgICAKKwogICAgIGlmIChj
b21wQW5jZXN0b3IgJiYgbV9hbmNlc3RvckNsaXBwaW5nTGF5ZXIpIHsKICAgICAgICAgLy8gQ2Fs
bCBjYWxjdWxhdGVSZWN0cyB0byBnZXQgdGhlIGJhY2tncm91bmRSZWN0IHdoaWNoIGlzIHdoYXQg
aXMgdXNlZCB0byBjbGlwIHRoZSBjb250ZW50cyBvZiB0aGlzCiAgICAgICAgIC8vIGxheWVyLiBO
b3RlIHRoYXQgd2UgY2FsbCBpdCB3aXRoIHRlbXBvcmFyeUNsaXBSZWN0cyA9IHRydWUgYmVjYXVz
ZSBub3JtYWxseSB3aGVuIGNvbXB1dGluZyBjbGlwIHJlY3RzCkBAIC00NzcsNiArNTIyLDE1IEBA
IHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVHcmFwaGljc0xheWVyR2VvbWV0cnkoKQog
ICAgICAgICBncmFwaGljc0xheWVyUGFyZW50TG9jYXRpb24gPSBwYXJlbnRDbGlwUmVjdC5sb2Nh
dGlvbigpOwogICAgIH0KIAorI2lmIEVOQUJMRShPVkVSRkxPV19TQ1JPTExJTkcpCisgICAgaWYg
KGNvbXBBbmNlc3RvciAmJiBoYXNUb3VjaE92ZXJmbG93U2Nyb2xsaW5nKGNvbXBBbmNlc3Rvci0+
cmVuZGVyZXIoKSkpIHsKKyAgICAgICAgUmVuZGVyQm94KiByZW5kZXJCb3ggPSB0b1JlbmRlckJv
eChjb21wQW5jZXN0b3ItPnJlbmRlcmVyKCkpOworICAgICAgICBJbnRTaXplIHNjcm9sbE9mZnNl
dCA9IGNvbXBBbmNlc3Rvci0+c2Nyb2xsZWRDb250ZW50T2Zmc2V0KCk7CisgICAgICAgIEludFBv
aW50IHNjcm9sbE9yaWdpbihyZW5kZXJCb3gtPmJvcmRlckxlZnQoKSwgcmVuZGVyQm94LT5ib3Jk
ZXJUb3AoKSk7CisgICAgICAgIGdyYXBoaWNzTGF5ZXJQYXJlbnRMb2NhdGlvbiA9IHNjcm9sbE9y
aWdpbiAtIHNjcm9sbE9mZnNldDsKKyAgICB9CisjZW5kaWYKKwogICAgIG1fZ3JhcGhpY3NMYXll
ci0+c2V0UG9zaXRpb24oRmxvYXRQb2ludCgpICsgKHJlbGF0aXZlQ29tcG9zaXRpbmdCb3VuZHMu
bG9jYXRpb24oKSAtIGdyYXBoaWNzTGF5ZXJQYXJlbnRMb2NhdGlvbikpOwogICAgIG1fZ3JhcGhp
Y3NMYXllci0+c2V0T2Zmc2V0RnJvbVJlbmRlcmVyKGxvY2FsQ29tcG9zaXRpbmdCb3VuZHMubG9j
YXRpb24oKSAtIEludFBvaW50KCkpOwogICAgIApAQCAtNTQ2LDYgKzYwMCw3IEBAIHZvaWQgUmVu
ZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVHcmFwaGljc0xheWVyR2VvbWV0cnkoKQogICAgICAgICBG
bG9hdFBvaW50IGZvcmVncm91bmRQb3NpdGlvbjsKICAgICAgICAgRmxvYXRTaXplIGZvcmVncm91
bmRTaXplID0gbmV3U2l6ZTsKICAgICAgICAgSW50U2l6ZSBmb3JlZ3JvdW5kT2Zmc2V0ID0gbV9n
cmFwaGljc0xheWVyLT5vZmZzZXRGcm9tUmVuZGVyZXIoKTsKKyAgICAgICAgYm9vbCBmb3JlZ3Jv
dW5kTmVlZHNEaXNwbGF5ID0gdHJ1ZTsKICAgICAgICAgaWYgKG1fY2xpcHBpbmdMYXllcikgewog
ICAgICAgICAgICAgLy8gSWYgd2UgaGF2ZSBhIGNsaXBwaW5nIGxheWVyICh3aGljaCBjbGlwcyBk
ZXNjZW5kYW50cyksIHRoZW4gdGhlIGZvcmVncm91bmQgbGF5ZXIgaXMgYSBjaGlsZCBvZiBpdCwK
ICAgICAgICAgICAgIC8vIHNvIHRoYXQgaXQgZ2V0cyBjb3JyZWN0bHkgc29ydGVkIHdpdGggY2hp
bGRyZW4uIEluIHRoYXQgY2FzZSwgcG9zaXRpb24gcmVsYXRpdmUgdG8gdGhlIGNsaXBwaW5nIGxh
eWVyLgpAQCAtNTUzLDkgKzYwOCwyNiBAQCB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRl
R3JhcGhpY3NMYXllckdlb21ldHJ5KCkKICAgICAgICAgICAgIGZvcmVncm91bmRPZmZzZXQgPSBj
bGlwcGluZ0JveC5sb2NhdGlvbigpIC0gSW50UG9pbnQoKTsKICAgICAgICAgfQogCisjaWYgRU5B
QkxFKE9WRVJGTE9XX1NDUk9MTElORykKKyAgICAgICAgaWYgKG1fc2Nyb2xsaW5nTGF5ZXIpIHsK
KyAgICAgICAgICAgIEludFNpemUgc2Nyb2xsT2Zmc2V0ID0gbV9vd25pbmdMYXllci0+c2Nyb2xs
ZWRDb250ZW50T2Zmc2V0KCk7CisgICAgICAgICAgICBJbnRTaXplIHNjcm9sbERlbHRhID0gc2Ny
b2xsT2Zmc2V0ICsgbV9zY3JvbGxpbmdMYXllci0+b2Zmc2V0RnJvbVJlbmRlcmVyKCk7CisgICAg
ICAgICAgICBJbnRTaXplIHRhcmdldE9mZnNldCA9IGZvcmVncm91bmRPZmZzZXQgLSBzY3JvbGxP
ZmZzZXQ7CisKKyAgICAgICAgICAgIGZvcmVncm91bmRPZmZzZXQgPSB0YXJnZXRPZmZzZXQ7Cisg
ICAgICAgICAgICBmb3JlZ3JvdW5kU2l6ZSA9IEludFNpemUobV9vd25pbmdMYXllci0+c2Nyb2xs
V2lkdGgoKSwgbV9vd25pbmdMYXllci0+c2Nyb2xsSGVpZ2h0KCkpOworCisgICAgICAgICAgICAv
LyBJZiBvbmx5IHRoZSBzY3JvbGwgb2Zmc2V0IGNoYW5nZWQsIHRoZXJlJ3Mgbm8gbmVlZCB0byB0
byBpbnZhbGlkYXRlIHRoZSBlbnRpcmUgbGF5ZXIuCisgICAgICAgICAgICBpZiAodGFyZ2V0T2Zm
c2V0ID09IG1fZm9yZWdyb3VuZExheWVyLT5vZmZzZXRGcm9tUmVuZGVyZXIoKSAtIHNjcm9sbERl
bHRhICYmIGZvcmVncm91bmRTaXplID09IG1fZm9yZWdyb3VuZExheWVyLT5zaXplKCkpCisgICAg
ICAgICAgICAgICAgZm9yZWdyb3VuZE5lZWRzRGlzcGxheSA9IGZhbHNlOworCisgICAgICAgICAg
ICBpZiAoZm9yZWdyb3VuZE9mZnNldCAhPSBtX2ZvcmVncm91bmRMYXllci0+b2Zmc2V0RnJvbVJl
bmRlcmVyKCkgfHwgZm9yZWdyb3VuZFNpemUgIT0gbV9mb3JlZ3JvdW5kTGF5ZXItPnNpemUoKSkK
KyAgICAgICAgICAgICAgICBjb21wb3NpdG9yKCktPnNjcm9sbGluZ0xheWVyRGlkQ2hhbmdlKG1f
b3duaW5nTGF5ZXIpOworICAgICAgICB9CisjZW5kaWYKICAgICAgICAgbV9mb3JlZ3JvdW5kTGF5
ZXItPnNldFBvc2l0aW9uKGZvcmVncm91bmRQb3NpdGlvbik7CiAgICAgICAgIG1fZm9yZWdyb3Vu
ZExheWVyLT5zZXRTaXplKGZvcmVncm91bmRTaXplKTsKLSAgICAgICAgbV9mb3JlZ3JvdW5kTGF5
ZXItPnNldE9mZnNldEZyb21SZW5kZXJlcihmb3JlZ3JvdW5kT2Zmc2V0KTsKKyAgICAgICAgbV9m
b3JlZ3JvdW5kTGF5ZXItPnNldE9mZnNldEZyb21SZW5kZXJlcihmb3JlZ3JvdW5kT2Zmc2V0LCBm
b3JlZ3JvdW5kTmVlZHNEaXNwbGF5KTsKICAgICB9CiAKICAgICBpZiAobV9vd25pbmdMYXllci0+
cmVmbGVjdGlvbkxheWVyKCkgJiYgbV9vd25pbmdMYXllci0+cmVmbGVjdGlvbkxheWVyKCktPmlz
Q29tcG9zaXRlZCgpKSB7CkBAIC01NjksNiArNjQxLDE0IEBAIHZvaWQgUmVuZGVyTGF5ZXJCYWNr
aW5nOjp1cGRhdGVHcmFwaGljc0xheWVyR2VvbWV0cnkoKQogICAgICAgICByZWZsZWN0aW9uQmFj
a2luZy0+Z3JhcGhpY3NMYXllcigpLT5zZXRSZXBsaWNhdGVkTGF5ZXJQb3NpdGlvbihGbG9hdFBv
aW50KCkgKyAobGF5ZXJCb3VuZHMubG9jYXRpb24oKSAtIHJlZmxlY3Rpb25MYXllckJvdW5kcy5s
b2NhdGlvbigpKSk7CiAgICAgfQogCisjaWYgRU5BQkxFKE9WRVJGTE9XX1NDUk9MTElORykKKyAg
ICBpZiAobV9zY3JvbGxpbmdMYXllcikgeworICAgICAgICBJbnRTaXplIHNjcm9sbE9mZnNldCA9
IG1fb3duaW5nTGF5ZXItPnNjcm9sbGVkQ29udGVudE9mZnNldCgpOworICAgICAgICBtX3Njcm9s
bGluZ0xheWVyLT5zZXRQb3NpdGlvbihGbG9hdFBvaW50KC1zY3JvbGxPZmZzZXQud2lkdGgoKSwg
LXNjcm9sbE9mZnNldC5oZWlnaHQoKSkpOworICAgICAgICBtX3Njcm9sbGluZ0xheWVyLT5zZXRP
ZmZzZXRGcm9tUmVuZGVyZXIoLXNjcm9sbE9mZnNldCk7CisgICAgfQorI2VuZGlmCisKICAgICBt
X2dyYXBoaWNzTGF5ZXItPnNldENvbnRlbnRzUmVjdChjb250ZW50c0JveCgpKTsKIAogICAgIC8v
IElmIHRoaXMgbGF5ZXIgd2FzIGNyZWF0ZWQganVzdCBmb3IgY2xpcHBpbmcgb3IgdG8gYXBwbHkg
cGVyc3BlY3RpdmUsIGl0IGRvZXNuJ3QgbmVlZCBpdHMgb3duIGJhY2tpbmcgc3RvcmUuCkBAIC02
MDcsNiArNjg3LDEzIEBAIHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVJbnRlcm5hbEhp
ZXJhcmNoeSgpCiAgICAgICAgICAgICBtX2xheWVyRm9yU2Nyb2xsQ29ybmVyLT5yZW1vdmVGcm9t
UGFyZW50KCk7CiAgICAgICAgICAgICBtX2dyYXBoaWNzTGF5ZXItPmFkZENoaWxkKG1fbGF5ZXJG
b3JTY3JvbGxDb3JuZXIuZ2V0KCkpOwogICAgICAgICB9CisKKyNpZiBFTkFCTEUoT1ZFUkZMT1df
U0NST0xMSU5HKQorICAgICAgICBpZiAobV9zY3JvbGxpbmdMYXllcikgeworICAgICAgICAgICAg
bV9zY3JvbGxpbmdMYXllci0+cmVtb3ZlRnJvbVBhcmVudCgpOworICAgICAgICAgICAgbV9jbGlw
cGluZ0xheWVyLT5hZGRDaGlsZChtX3Njcm9sbGluZ0xheWVyLmdldCgpKTsKKyAgICAgICAgfQor
I2VuZGlmCiAgICAgfQogfQogCkBAIC03NjIsNiArODQ5LDI4IEBAIGJvb2wgUmVuZGVyTGF5ZXJC
YWNraW5nOjp1cGRhdGVNYXNrTGF5ZXIoYm9vbCBuZWVkc01hc2tMYXllcikKICAgICByZXR1cm4g
bGF5ZXJDaGFuZ2VkOwogfQogCisjaWYgRU5BQkxFKE9WRVJGTE9XX1NDUk9MTElORykKK2Jvb2wg
UmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVTY3JvbGxpbmdMYXllcihib29sIG5lZWRTY3JvbGxp
bmdMYXllcikKK3sKKyAgICBib29sIGxheWVyQ2hhbmdlZCA9IGZhbHNlOworICAgIGlmIChuZWVk
U2Nyb2xsaW5nTGF5ZXIpIHsKKyAgICAgICAgaWYgKCFtX3Njcm9sbGluZ0xheWVyKSB7CisgICAg
ICAgICAgICBtX3Njcm9sbGluZ0xheWVyID0gY3JlYXRlR3JhcGhpY3NMYXllcigiU2Nyb2xsaW5n
IExheWVyIik7CisgICAgICAgICAgICBsYXllckNoYW5nZWQgPSB0cnVlOworICAgICAgICB9Cisg
ICAgfSBlbHNlIGlmIChtX3Njcm9sbGluZ0xheWVyKSB7CisgICAgICAgIG1fc2Nyb2xsaW5nTGF5
ZXItPnJlbW92ZUZyb21QYXJlbnQoKTsKKyAgICAgICAgbV9zY3JvbGxpbmdMYXllciA9IG51bGxw
dHI7CisgICAgICAgIGxheWVyQ2hhbmdlZCA9IHRydWU7CisgICAgfQorCisgICAgaWYgKGxheWVy
Q2hhbmdlZCAmJiBtX293bmluZ0xheWVyLT5yZW5kZXJlcigpLT52aWV3KCkpCisgICAgICAgIGNv
bXBvc2l0b3IoKS0+c2Nyb2xsaW5nTGF5ZXJEaWRDaGFuZ2UobV9vd25pbmdMYXllcik7CisKKyAg
ICByZXR1cm4gbGF5ZXJDaGFuZ2VkOworfQorI2VuZGlmIC8vIEVOQUJMRShPVkVSRkxPV19TQ1JP
TExJTkcpCisKIEdyYXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlIFJlbmRlckxheWVyQmFja2luZzo6
cGFpbnRpbmdQaGFzZUZvclByaW1hcnlMYXllcigpIGNvbnN0CiB7CiAgICAgdW5zaWduZWQgcGhh
c2UgPSBHcmFwaGljc0xheWVyUGFpbnRCYWNrZ3JvdW5kOwpAQCAtMTIxNyw4ICsxMzI2LDEzIEBA
IHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjpwYWludENvbnRlbnRzKGNvbnN0IEdyYXBoaWNzTGF5
ZXIqIGdyYXBoaWNzTGF5ZXIsIEdyYXBoCiAgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlv
bkNvb2tpZSBjb29raWUgPSBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxQYWludChtX293
bmluZ0xheWVyLT5yZW5kZXJlcigpLT5mcmFtZSgpLCAmY29udGV4dCwgY2xpcCk7CiAKICAgICAg
ICAgLy8gVGhlIGRpcnR5UmVjdCBpcyBpbiB0aGUgY29vcmRzIG9mIHRoZSBwYWludGluZyByb290
LgotICAgICAgICBJbnRSZWN0IGRpcnR5UmVjdCA9IGNvbXBvc2l0ZWRCb3VuZHMoKTsKLSAgICAg
ICAgZGlydHlSZWN0LmludGVyc2VjdChjbGlwKTsKKyAgICAgICAgSW50UmVjdCBkaXJ0eVJlY3Q7
CisjaWYgRU5BQkxFKE9WRVJGTE9XX1NDUk9MTElORykKKyAgICAgICAgaWYgKG1fb3duaW5nTGF5
ZXItPmhhc0FjY2VsZXJhdGVkU2Nyb2xsaW5nKCkgJiYgcGFpbnRpbmdQaGFzZSA9PSBHcmFwaGlj
c0xheWVyUGFpbnRGb3JlZ3JvdW5kICYmIGdyYXBoaWNzTGF5ZXIgPT0gbV9mb3JlZ3JvdW5kTGF5
ZXIuZ2V0KCkpCisgICAgICAgICAgICBkaXJ0eVJlY3QgPSBjbGlwOworICAgICAgICBlbHNlCisj
ZW5kaWYKKyAgICAgICAgICAgIGRpcnR5UmVjdCA9IGludGVyc2VjdGlvbihjb21wb3NpdGVkQm91
bmRzKCksIGNsaXApOwogCiAgICAgICAgIC8vIFdlIGhhdmUgdG8gdXNlIHRoZSBzYW1lIHJvb3Qg
YXMgZm9yIGhpdCB0ZXN0aW5nLCBiZWNhdXNlIGJvdGggbWV0aG9kcyBjYW4gY29tcHV0ZSBhbmQg
Y2FjaGUgY2xpcFJlY3RzLgogICAgICAgICBwYWludEludG9MYXllcihtX293bmluZ0xheWVyLCAm
Y29udGV4dCwgZGlydHlSZWN0LCBQYWludEJlaGF2aW9yTm9ybWFsLCBwYWludGluZ1BoYXNlLCBy
ZW5kZXJlcigpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllckJhY2tpbmcuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tp
bmcuaAppbmRleCBkODcxODg1OGVhZjZiY2U0MTkwMDRiNjE5NDlmMmZlMTkwYjBkMzgyLi4yMjQ5
OTA2NzUzY2VkNGM0MzE2Nzk4ZDFhMGQ3YjYzNGUwYzM4MTMxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5oCkBAIC04MywxMCArODMsMTUgQEAgcHVi
bGljOgogCiAgICAgYm9vbCBoYXNDb250ZW50c0xheWVyKCkgY29uc3QgeyByZXR1cm4gbV9mb3Jl
Z3JvdW5kTGF5ZXIgIT0gMDsgfQogICAgIEdyYXBoaWNzTGF5ZXIqIGZvcmVncm91bmRMYXllcigp
IGNvbnN0IHsgcmV0dXJuIG1fZm9yZWdyb3VuZExheWVyLmdldCgpOyB9CisKKyNpZiBFTkFCTEUo
T1ZFUkZMT1dfU0NST0xMSU5HKQorICAgIGJvb2wgaGFzU2Nyb2xsaW5nTGF5ZXIoKSBjb25zdCB7
IHJldHVybiBtX3Njcm9sbGluZ0xheWVyOyB9CisgICAgR3JhcGhpY3NMYXllciogc2Nyb2xsaW5n
TGF5ZXIoKSBjb25zdCB7IHJldHVybiBtX3Njcm9sbGluZ0xheWVyLmdldCgpOyB9CisjZW5kaWYK
ICAgICAKICAgICBib29sIGhhc01hc2tMYXllcigpIGNvbnN0IHsgcmV0dXJuIG1fbWFza0xheWVy
ICE9IDA7IH0KIAotICAgIEdyYXBoaWNzTGF5ZXIqIHBhcmVudEZvclN1YmxheWVycygpIGNvbnN0
IHsgcmV0dXJuIG1fY2xpcHBpbmdMYXllciA/IG1fY2xpcHBpbmdMYXllci5nZXQoKSA6IG1fZ3Jh
cGhpY3NMYXllci5nZXQoKTsgfQorICAgIEdyYXBoaWNzTGF5ZXIqIHBhcmVudEZvclN1YmxheWVy
cygpIGNvbnN0OwogICAgIEdyYXBoaWNzTGF5ZXIqIGNoaWxkRm9yU3VwZXJsYXllcnMoKSBjb25z
dCB7IHJldHVybiBtX2FuY2VzdG9yQ2xpcHBpbmdMYXllciA/IG1fYW5jZXN0b3JDbGlwcGluZ0xh
eWVyLmdldCgpIDogbV9ncmFwaGljc0xheWVyLmdldCgpOyB9CiAKICAgICAvLyBSZW5kZXJMYXll
cnMgd2l0aCBiYWNraW5nIG5vcm1hbGx5IHNob3J0LWNpcmN1aXQgcGFpbnRMYXllcigpIGJlY2F1
c2UKQEAgLTE4MSw2ICsxODYsMTAgQEAgcHJpdmF0ZToKICAgICBib29sIHJlcXVpcmVzSG9yaXpv
bnRhbFNjcm9sbGJhckxheWVyKCkgY29uc3Q7CiAgICAgYm9vbCByZXF1aXJlc1ZlcnRpY2FsU2Ny
b2xsYmFyTGF5ZXIoKSBjb25zdDsKICAgICBib29sIHJlcXVpcmVzU2Nyb2xsQ29ybmVyTGF5ZXIo
KSBjb25zdDsKKyNpZiBFTkFCTEUoT1ZFUkZMT1dfU0NST0xMSU5HKQorICAgIGJvb2wgdXBkYXRl
QmFja2dyb3VuZExheWVyKGJvb2wgbmVlZHNCYWNrZ3JvdW5kTGF5ZXIpOworICAgIGJvb2wgdXBk
YXRlU2Nyb2xsaW5nTGF5ZXIoYm9vbCBuZWVkU2Nyb2xsaW5nTGF5ZXIpOworI2VuZGlmCiAKICAg
ICBHcmFwaGljc0xheWVyUGFpbnRpbmdQaGFzZSBwYWludGluZ1BoYXNlRm9yUHJpbWFyeUxheWVy
KCkgY29uc3Q7CiAgICAgCkBAIC0yMzcsNiArMjQ2LDExIEBAIHByaXZhdGU6CiAgICAgT3duUHRy
PEdyYXBoaWNzTGF5ZXI+IG1fbGF5ZXJGb3JWZXJ0aWNhbFNjcm9sbGJhcjsKICAgICBPd25QdHI8
R3JhcGhpY3NMYXllcj4gbV9sYXllckZvclNjcm9sbENvcm5lcjsKIAorI2lmIEVOQUJMRShPVkVS
RkxPV19TQ1JPTExJTkcpCisgICAgLy8gT25seSB1c2VkIGlmIHRoZSBsYXllciBpcyBzY3JvbGxh
YmxlLgorICAgIE93blB0cjxHcmFwaGljc0xheWVyPiBtX3Njcm9sbGluZ0xheWVyOworI2VuZGlm
CisKICAgICBJbnRSZWN0IG1fY29tcG9zaXRlZEJvdW5kczsKIAogICAgIGJvb2wgbV9hcnRpZmlj
aWFsbHlJbmZsYXRlZEJvdW5kczsgICAgICAvLyBib3VuZHMgaGFkIHRvIGJlIG1hZGUgbm9uLXpl
cm8gdG8gbWFrZSB0cmFuc2Zvcm0tb3JpZ2luIHdvcmsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKaW5kZXggNzc4NDQ1MTgzNjg4M2Q2
N2ViNjA1MGRlNzQ1ZjA5NGM4OWE3Y2I4Ny4uYzhhMDE0MGMzMjU4NGIzZTMxM2JhMTdlYmIwODI2
OGM3ZWEzMzkyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxh
eWVyQ29tcG9zaXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxh
eWVyQ29tcG9zaXRvci5jcHAKQEAgLTc4MCw2ICs3ODAsMTIgQEAgdm9pZCBSZW5kZXJMYXllckNv
bXBvc2l0b3I6OmNvbXB1dGVDb21wb3NpdGluZ1JlcXVpcmVtZW50cyhSZW5kZXJMYXllciogYW5j
ZXN0b3IKIAogICAgIGJvb2wgYW55RGVzY2VuZGFudEhhczNEVHJhbnNmb3JtID0gZmFsc2U7CiAK
KyNpZiBFTkFCTEUoT1ZFUkZMT1dfU0NST0xMSU5HKQorICAgIC8vIFNjcm9sbGluZyBsYXllcnMg
bmVlZCB0byBjbGlwIHRoZSBzY3JvbGxpbmcgY29udGVudC4KKyAgICBpZiAod2lsbEJlQ29tcG9z
aXRlZCAmJiBsYXllci0+aXNTdGFja2luZ0NvbnRleHQoKSAmJiBsYXllci0+cmVuZGVyZXIoKS0+
aGFzT3ZlcmZsb3dDbGlwKCkpCisgICAgICAgIGNoaWxkU3RhdGUubV9zdWJ0cmVlSXNDb21wb3Np
dGluZyA9IHRydWU7CisjZW5kaWYKKwogICAgIGlmIChsYXllci0+aXNTdGFja2luZ0NvbnRleHQo
KSkgewogICAgICAgICBpZiAoVmVjdG9yPFJlbmRlckxheWVyKj4qIG5lZ1pPcmRlckxpc3QgPSBs
YXllci0+bmVnWk9yZGVyTGlzdCgpKSB7CiAgICAgICAgICAgICBzaXplX3QgbGlzdFNpemUgPSBu
ZWdaT3JkZXJMaXN0LT5zaXplKCk7CkBAIC0xMDk0LDYgKzExMDAsMTUgQEAgdm9pZCBSZW5kZXJM
YXllckNvbXBvc2l0b3I6OmZyYW1lVmlld0RpZFNjcm9sbCgpCiAgICAgbV9zY3JvbGxMYXllci0+
c2V0UG9zaXRpb24oRmxvYXRQb2ludCgtc2Nyb2xsUG9zaXRpb24ueCgpLCAtc2Nyb2xsUG9zaXRp
b24ueSgpKSk7CiB9CiAKKyNpZiBFTkFCTEUoT1ZFUkZMT1dfU0NST0xMSU5HKQordm9pZCBSZW5k
ZXJMYXllckNvbXBvc2l0b3I6OnNjcm9sbGluZ0xheWVyRGlkQ2hhbmdlKFJlbmRlckxheWVyKiBs
YXllcikKK3sKKyAgICBSZW5kZXJMYXllckJhY2tpbmcqIGJhY2tpbmcgPSBsYXllci0+YmFja2lu
ZygpOworICAgIGlmIChTY3JvbGxpbmdDb29yZGluYXRvciogc2Nyb2xsaW5nQ29vcmRpbmF0b3Ig
PSB0aGlzLT5zY3JvbGxpbmdDb29yZGluYXRvcigpKQorICAgICAgICBzY3JvbGxpbmdDb29yZGlu
YXRvci0+c2Nyb2xsYWJsZUFyZWFTY3JvbGxMYXllckRpZENoYW5nZShsYXllciwgYmFja2luZyA/
IGJhY2tpbmctPnNjcm9sbGluZ0xheWVyKCkgOiAwKTsKK30KKyNlbmRpZgorCiBTdHJpbmcgUmVu
ZGVyTGF5ZXJDb21wb3NpdG9yOjpsYXllclRyZWVBc1RleHQoYm9vbCBzaG93RGVidWdJbmZvKQog
ewogICAgIHVwZGF0ZUNvbXBvc2l0aW5nTGF5ZXJzKENvbXBvc2l0aW5nVXBkYXRlQWZ0ZXJMYXlv
dXQpOwpAQCAtMTQ0Niw3ICsxNDYxLDggQEAgYm9vbCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnJl
cXVpcmVzQ29tcG9zaXRpbmdMYXllcihjb25zdCBSZW5kZXJMYXllciogbGF5ZXIpIGMKICAgICAg
ICAgfHwgY2xpcHNDb21wb3NpdGluZ0Rlc2NlbmRhbnRzKGxheWVyKQogICAgICAgICB8fCByZXF1
aXJlc0NvbXBvc2l0aW5nRm9yQW5pbWF0aW9uKHJlbmRlcmVyKQogICAgICAgICB8fCByZXF1aXJl
c0NvbXBvc2l0aW5nRm9yRmlsdGVycyhyZW5kZXJlcikKLSAgICAgICAgfHwgcmVxdWlyZXNDb21w
b3NpdGluZ0ZvclBvc2l0aW9uKHJlbmRlcmVyLCBsYXllcik7CisgICAgICAgIHx8IHJlcXVpcmVz
Q29tcG9zaXRpbmdGb3JQb3NpdGlvbihyZW5kZXJlciwgbGF5ZXIpCisgICAgICAgIHx8IHJlcXVp
cmVzQ29tcG9zaXRpbmdGb3JPdmVyZmxvd1Njcm9sbChyZW5kZXJlcik7CiB9CiAKIGJvb2wgUmVu
ZGVyTGF5ZXJDb21wb3NpdG9yOjpjYW5CZUNvbXBvc2l0ZWQoY29uc3QgUmVuZGVyTGF5ZXIqIGxh
eWVyKSBjb25zdApAQCAtMTQ3NSw2ICsxNDkxLDcgQEAgYm9vbCBSZW5kZXJMYXllckNvbXBvc2l0
b3I6OnJlcXVpcmVzT3duQmFja2luZ1N0b3JlKGNvbnN0IFJlbmRlckxheWVyKiBsYXllciwgY28K
ICAgICAgICAgfHwgcmVxdWlyZXNDb21wb3NpdGluZ0ZvckFuaW1hdGlvbihyZW5kZXJlcikKICAg
ICAgICAgfHwgcmVxdWlyZXNDb21wb3NpdGluZ0ZvckZpbHRlcnMocmVuZGVyZXIpCiAgICAgICAg
IHx8IHJlcXVpcmVzQ29tcG9zaXRpbmdGb3JQb3NpdGlvbihyZW5kZXJlciwgbGF5ZXIpCisgICAg
ICAgIHx8IHJlcXVpcmVzQ29tcG9zaXRpbmdGb3JPdmVyZmxvd1Njcm9sbChyZW5kZXJlcikKICAg
ICAgICAgfHwgcmVuZGVyZXItPmlzVHJhbnNwYXJlbnQoKQogICAgICAgICB8fCByZW5kZXJlci0+
aGFzTWFzaygpCiAgICAgICAgIHx8IHJlbmRlcmVyLT5oYXNSZWZsZWN0aW9uKCkKQEAgLTE4MTAs
NiArMTgyNywxNiBAQCBib29sIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6cmVxdWlyZXNDb21wb3Np
dGluZ0ZvclBvc2l0aW9uKFJlbmRlck9iamVjdCogcmVuZGVyZQogICAgIHJldHVybiB0cnVlOwog
fQogCitib29sIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6cmVxdWlyZXNDb21wb3NpdGluZ0Zvck92
ZXJmbG93U2Nyb2xsKFJlbmRlck9iamVjdCogcmVuZGVyZXIpIGNvbnN0Cit7CisjaWYgRU5BQkxF
KE9WRVJGTE9XX1NDUk9MTElORykKKyAgICByZXR1cm4gcmVuZGVyZXItPmhhc0xheWVyKCkgJiYg
dG9SZW5kZXJCb3hNb2RlbE9iamVjdChyZW5kZXJlciktPmxheWVyKCktPmhhc0FjY2VsZXJhdGVk
U2Nyb2xsaW5nKCk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShyZW5kZXJlcik7CisgICAgcmV0
dXJuIGZhbHNlOworI2VuZGlmCit9CisKIGJvb2wgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjppc1J1
bm5pbmdBY2NlbGVyYXRlZFRyYW5zZm9ybUFuaW1hdGlvbihSZW5kZXJPYmplY3QqIHJlbmRlcmVy
KSBjb25zdAogewogICAgIGlmICghKG1fY29tcG9zaXRpbmdUcmlnZ2VycyAmIENocm9tZUNsaWVu
dDo6QW5pbWF0aW9uVHJpZ2dlcikpCkBAIC0xODI2LDYgKzE4NTMsMTAgQEAgYm9vbCBSZW5kZXJM
YXllckNvbXBvc2l0b3I6OmlzUnVubmluZ0FjY2VsZXJhdGVkVHJhbnNmb3JtQW5pbWF0aW9uKFJl
bmRlck9iamVjdCoKIC8vIG9iamVjdC4KIGJvb2wgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpuZWVk
c0NvbnRlbnRzQ29tcG9zaXRpbmdMYXllcihjb25zdCBSZW5kZXJMYXllciogbGF5ZXIpIGNvbnN0
CiB7CisjaWYgRU5BQkxFKE9WRVJGTE9XX1NDUk9MTElORykKKyAgICBpZiAobGF5ZXItPnJlbmRl
cmVyKCktPnN0eWxlKCktPnVzZVRvdWNoT3ZlcmZsb3dTY3JvbGxpbmcoKSkKKyAgICAgICAgcmV0
dXJuIHRydWU7CisjZW5kaWYKICAgICByZXR1cm4gbGF5ZXItPmhhc05lZ2F0aXZlWk9yZGVyTGlz
dCgpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5
ZXJDb21wb3NpdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21w
b3NpdG9yLmgKaW5kZXggNzkyZmIwMTY5NGNhZTNiNWMzY2Y3ZDZjM2Q4YzkzODBmOGE0NDBhZS4u
OTkxZjMwYWE4ZjBiMDYwMGRjZWU4YWEwN2U1NzU4YTRkMjk4MGU1YiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuaApAQCAtMTg5LDYgKzE4
OSwxMCBAQCBwdWJsaWM6CiAgICAgdm9pZCBmcmFtZVZpZXdEaWRDaGFuZ2VTaXplKCk7CiAgICAg
dm9pZCBmcmFtZVZpZXdEaWRTY3JvbGwoKTsKIAorI2lmIEVOQUJMRShPVkVSRkxPV19TQ1JPTExJ
TkcpCisgICAgdm9pZCBzY3JvbGxpbmdMYXllckRpZENoYW5nZShSZW5kZXJMYXllciopOworI2Vu
ZGlmCisKICAgICBTdHJpbmcgbGF5ZXJUcmVlQXNUZXh0KGJvb2wgc2hvd0RlYnVnSW5mbyA9IGZh
bHNlKTsKIAogICAgIC8vIFRoZXNlIGFyZSBuYW1lZCB0byBhdm9pZCBjb25mbGljdHMgd2l0aCB0
aGUgZnVuY3Rpb25zIGluIEdyYXBoaWNzTGF5ZXJDbGllbnQKQEAgLTI4OSw2ICsyOTMsNyBAQCBw
cml2YXRlOgogICAgIGJvb2wgcmVxdWlyZXNDb21wb3NpdGluZ0ZvckZpbHRlcnMoUmVuZGVyT2Jq
ZWN0KikgY29uc3Q7CiAgICAgYm9vbCByZXF1aXJlc0NvbXBvc2l0aW5nRm9yU2Nyb2xsYWJsZUZy
YW1lKCkgY29uc3Q7CiAgICAgYm9vbCByZXF1aXJlc0NvbXBvc2l0aW5nRm9yUG9zaXRpb24oUmVu
ZGVyT2JqZWN0KiwgY29uc3QgUmVuZGVyTGF5ZXIqKSBjb25zdDsKKyAgICBib29sIHJlcXVpcmVz
Q29tcG9zaXRpbmdGb3JPdmVyZmxvd1Njcm9sbChSZW5kZXJPYmplY3QqKSBjb25zdDsKICAgICBi
b29sIHJlcXVpcmVzQ29tcG9zaXRpbmdGb3JJbmRpcmVjdFJlYXNvbihSZW5kZXJPYmplY3QqLCBi
b29sIGhhc0NvbXBvc2l0ZWREZXNjZW5kYW50cywgYm9vbCBoYXMzRFRyYW5zZm9ybWVkRGVzY2Vu
ZGFudHMsIFJlbmRlckxheWVyOjpJbmRpcmVjdENvbXBvc2l0aW5nUmVhc29uJikgY29uc3Q7CiAK
ICAgICBib29sIHJlcXVpcmVzU2Nyb2xsTGF5ZXIoUm9vdExheWVyQXR0YWNobWVudCkgY29uc3Q7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCmluZGV4IDU2M2U1OTQz
YWQ5MTE1OWM4NTMzN2E3ZDdjZTk0ZDhhZTk4YzZhOGQuLjkwODQwNDU1NjU4ZDYzZTQ5NWUzYWRh
YmIzZDJiMTRkZTZmMTIyMTYgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmpl
Y3QuY3BwCkBAIC0xNDQ2LDE2ICsxNDQ2LDggQEAgdm9pZCBSZW5kZXJPYmplY3Q6OmNvbXB1dGVS
ZWN0Rm9yUmVwYWludChSZW5kZXJCb3hNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5lciwKICAg
ICAgICAgfQogCiAgICAgICAgIGlmIChvLT5oYXNPdmVyZmxvd0NsaXAoKSkgewotICAgICAgICAg
ICAgLy8gby0+aGVpZ2h0KCkgaXMgaW5hY2N1cmF0ZSBpZiB3ZSdyZSBpbiB0aGUgbWlkZGxlIG9m
IGEgbGF5b3V0IG9mIHxvfCwgc28gdXNlIHRoZQotICAgICAgICAgICAgLy8gbGF5ZXIncyBzaXpl
IGluc3RlYWQuICBFdmVuIGlmIHRoZSBsYXllcidzIHNpemUgaXMgd3JvbmcsIHRoZSBsYXllciBp
dHNlbGYgd2lsbCByZXBhaW50Ci0gICAgICAgICAgICAvLyBhbnl3YXkgaWYgaXRzIHNpemUgZG9l
cyBjaGFuZ2UuCiAgICAgICAgICAgICBSZW5kZXJCb3gqIGJveFBhcmVudCA9IHRvUmVuZGVyQm94
KG8pOwotCi0gICAgICAgICAgICBMYXlvdXRSZWN0IHJlcGFpbnRSZWN0KHJlY3QpOwotICAgICAg
ICAgICAgcmVwYWludFJlY3QubW92ZSgtYm94UGFyZW50LT5zY3JvbGxlZENvbnRlbnRPZmZzZXQo
KSk7IC8vIEZvciBvdmVyZmxvdzphdXRvL3Njcm9sbC9oaWRkZW4uCi0KLSAgICAgICAgICAgIExh
eW91dFJlY3QgYm94UmVjdChMYXlvdXRQb2ludCgpLCBib3hQYXJlbnQtPmNhY2hlZFNpemVGb3JP
dmVyZmxvd0NsaXAoKSk7Ci0gICAgICAgICAgICByZWN0ID0gaW50ZXJzZWN0aW9uKHJlcGFpbnRS
ZWN0LCBib3hSZWN0KTsKKyAgICAgICAgICAgIGJveFBhcmVudC0+YXBwbHlDYWNoZWRDbGlwQW5k
U2Nyb2xsT2Zmc2V0Rm9yUmVwYWludChyZWN0KTsKICAgICAgICAgICAgIGlmIChyZWN0LmlzRW1w
dHkoKSkKICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>147879</attachid>
            <date>2012-06-15 12:45:19 -0700</date>
            <delta_ts>2012-06-18 11:31:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-78862-20120615204517.patch</filename>
            <type>text/plain</type>
            <size>51870</size>
            <attacher name="Sami Kyostila">skyostil</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIwNDU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDNhYzBkZjJhYmI2YmY2
OTA5MjQ5Njk1MmI5NWE2Mjg3NGQ1MTVmZC4uMjU1YTIwOTg1ODYxOTNiNTBhODAyNTExMjE0ZTA4
MzZkNzUzNmUwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyMyBAQAorMjAxMi0wNi0wOCAgU2Ft
aSBLeW9zdGlsYSAgPHNreW9zdGlsQGNocm9taXVtLm9yZz4KKworICAgICAgICBUb3VjaCBvdmVy
ZmxvdyBzY3JvbGxpbmcgZWxlbWVudHMgc2hvdWxkIGJlIHNwbGl0IGludG8gbGF5ZXJzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03ODg2MgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gYSByZWd1bGFy
IG92ZXJmbG93IGVsZW1lbnQgaXMgc2Nyb2xsZWQsIHdlIHJlcGFpbnQgdGhlIGVudGlyZSBhcmVh
CisgICAgICAgIGl0IG9jY3VwaWVzIGluIHRoZSB2aWV3IGZyb20gc2NyYXRjaC4gU2luY2UgdGhp
cyBwYWludGluZyBpcyBkb25lIGluIHRoZQorICAgICAgICBtYWluIHRocmVhZCwgaXQgY2FuIGJl
IGJsb2NrZWQgYnksIGUuZy4sIEphdmFTY3JpcHQgZXhlY3V0aW9uLCBmdXJ0aGVyCisgICAgICAg
IGxpbWl0aW5nIHBlcmZvcm1hbmNlLgorCisgICAgICAgIEluIGNvbnRyYXN0LCB0aGUgbWFpbiBi
b2R5IGVsZW1lbnQgb2YgYSBwYWdlIGNhbiB1c3VhbGx5IGJlIHNjcm9sbGVkCisgICAgICAgIGJ5
IHRoZSBjb21wb3NpdG9yIHNpbXBseSBieSB0cmFuc2xhdGluZyBpdCBhcm91bmQgdGhlIHNjcmVl
bi4gVGhpcyBpcworICAgICAgICBiZWNhdXNlIHRoZSBjb250ZW50cyBvZiB0aGUgYm9keSBoYXZl
IGJlZW4gcGFpbnRlZCBpbnRvIGEKKyAgICAgICAgUmVuZGVyTGF5ZXJCYWNraW5nIHRvIHdoaWNo
IHRoZSBjb21wb3NpdG9yIGNhbiBhcHBseSBhIHNjcm9sbCB0cmFuc2Zvcm0uCisgICAgICAgIEZ1
cnRoZXJtb3JlLCBhIGNvbXBvc2l0b3IgdGhyZWFkIGNhbiBhcHBseSB1cGRhdGUgdGhlIHNjcm9s
bCBvZmZzZXQKKyAgICAgICAgd2hpbGUgdGhlIG1haW4gdGhyZWFkIGlzIGJ1c3kgd2l0aCBvdGhl
ciBwcm9jZXNzaW5nLgorCisgICAgICAgIEluIG9yZGVyIHRvIG1ha2Ugb3ZlcmZsb3cgZWxlbWVu
dCBzY3JvbGxpbmcgc2ltaWxhcmx5IGVmZmljaWVudCwgdGhpcworICAgICAgICBwYXRjaCBkb2Vz
IHRocmVlIHRoaW5nczoKKworICAgICAgICAgICAgMS4gU3BsaXRzIG92ZXJmbG93IGVsZW1lbnRz
IGludG8gYSBmaXhlZCBiYWNrZ3JvdW5kIGxheWVyIGFuZCBhCisgICAgICAgICAgICBzY3JvbGxp
bmcgZm9yZWdyb3VuZCBsYXllci4gVGhpcyBpcyBvbmx5IGRvbmUgZm9yIGVsZW1lbnRzIHVzaW5n
IHRoZQorICAgICAgICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoIHN0eWxl
LCBiZWNhdXNlIGl0IGludHJvZHVjZXMgYQorICAgICAgICAgICAgc3RhY2tpbmcgY29udGV4dCB3
aGljaCBlbmFibGVzIHVzIHRvIHByb21vdGUgdGhlIGVsZW1lbnQgdG8gYQorICAgICAgICAgICAg
Y29tcG9zaXRlZCBsYXllci4KKworICAgICAgICAgICAgMi4gUmVnaXN0ZXJzIHRoZXNlIGVsZW1l
bnRzIHdpdGggdGhlIFNjcm9sbGluZ0Nvb3JkaW5hdG9yIHNvIGl0CisgICAgICAgICAgICBrbm93
cyB0aGVpciBhc3NvY2lhdGVkIHNjcm9sbCBnZW9tZXRyeS4KKworICAgICAgICAgICAgMy4gQXZv
aWRzIGludmFsaWRhdGluZyB0aGUgY29udGVudHMgb2YgdGhlIGxheWVycyB3aGVuIHRoZXkgYXJl
CisgICAgICAgICAgICBzY3JvbGxlZC4gVGhpcyBhbGxvd3MgdGhlIGxheWVycyB0byBiZSB0cmFu
c2xhdGVkIGFjY29yZGluZyB0byB0aGVpcgorICAgICAgICAgICAgc2Nyb2xsIHBvc2l0aW9uIHdp
dGhvdXQgdW5uZWNlc3NhcnkgcmVwYWludHMuCisKKyAgICAgICAgVGhpcyBwYXRjaCBpcyBiYXNl
ZCBvbiBBcHBsZSdzIGlPUyA1IGltcGxlbWVudGF0aW9uIG9mIHRoZQorICAgICAgICAiLXdlYmtp
dC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoIiBDU1MgcHJvcGVydHkuCisKKyAgICAgICAgVGVz
dHM6CisgICAgICAgICAgICBwbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9vdmVyZmxvdy9v
dmVyZmxvdy1zY3JvbGxpbmctdG91Y2gtc3RhY2tpbmctY29udGV4dC5odG1sCisgICAgICAgICAg
ICBwbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9vdmVyZmxvdy9vdmVyZmxvdy1zY3JvbGxp
bmctdG91Y2gtaGlkZGVuLW92ZXJmbG93Lmh0bWwKKyAgICAgICAgICAgIHBsYXRmb3JtL2Nocm9t
aXVtL2NvbXBvc2l0aW5nL292ZXJmbG93L292ZXJmbG93LXNjcm9sbGluZy10b3VjaC1sYXllcnMu
aHRtbAorCisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3Bw
OgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdDb29yZGlu
YXRvcjo6c2Nyb2xsYWJsZUFyZWFTY3JvbGxMYXllckRpZENoYW5nZSk6CisgICAgICAgICogcGFn
ZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaDoKKyAgICAgICAgKFdlYkNvcmUpOgor
ICAgICAgICAoU2Nyb2xsaW5nQ29vcmRpbmF0b3IpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5n
L1Njcm9sbGluZ0Nvb3JkaW5hdG9yTm9uZS5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAg
ICAgKFdlYkNvcmU6OlNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpzY3JvbGxhYmxlQXJlYVNjcm9sbExh
eWVyRGlkQ2hhbmdlKToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9jaHJvbWl1bS9TY3JvbGxp
bmdDb29yZGluYXRvckNocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAo
V2ViQ29yZTo6U2Nyb2xsaW5nQ29vcmRpbmF0b3I6OnNjcm9sbGFibGVBcmVhU2Nyb2xsTGF5ZXJE
aWRDaGFuZ2UpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllcjo6c2V0T2Zmc2V0RnJvbVJlbmRlcmVy
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmg6CisgICAgICAg
IChHcmFwaGljc0xheWVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9H
cmFwaGljc0xheWVyQ2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXll
ckNocm9taXVtOjpHcmFwaGljc0xheWVyQ2hyb21pdW0pOgorICAgICAgICAoV2ViQ29yZTo6R3Jh
cGhpY3NMYXllckNocm9taXVtOjpkaWRTY3JvbGwpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vR3JhcGhpY3NMYXllckNocm9taXVtLmg6
CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVyQ2hyb21pdW06OnNldFNjcm9sbGFibGVB
cmVhKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJDaHJvbWl1bTo6c2Nyb2xsYWJs
ZUFyZWEpOgorICAgICAgICAoR3JhcGhpY3NMYXllckNocm9taXVtKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyQmxvY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6Omxh
eW91dEJsb2NrKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpwYWludCk6CisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJC
b3g6OmFwcGx5Q2FjaGVkQ2xpcEFuZFNjcm9sbE9mZnNldEZvclJlcGFpbnQpOgorICAgICAgICAo
V2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OmNvbXB1dGVSZWN0Rm9yUmVw
YWludCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5oOgorICAgICAgICAoUmVuZGVy
Qm94KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVySW5saW5lLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlcklubGluZTo6Y2xpcHBlZE92ZXJmbG93UmVjdEZvclJlcGFpbnQpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVySW5saW5lOjpjb21wdXRlUmVjdEZvclJlcGFpbnQpOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpoYXNBY2NlbGVyYXRlZFNjcm9sbGluZyk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6c2Nyb2xsVG8pOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyTGF5ZXI6OnBhaW50TGF5ZXJDb250ZW50cyk6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJMYXllcjo6Y2FsY3VsYXRlQ2xpcFJlY3RzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckxheWVyOjpyZXBhaW50QmxvY2tTZWxlY3Rpb25HYXBzKToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckxheWVyOjpzaG91bGRCZU5vcm1hbEZsb3dPbmx5KToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckxheWVyOjp1cGRhdGVTY3JvbGxhYmxlQXJlYVNldCk6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlckxheWVyLmg6CisgICAgICAgIChSZW5kZXJMYXllcik6CisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlckxheWVyQmFja2luZy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXll
ckJhY2tpbmc6On5SZW5kZXJMYXllckJhY2tpbmcpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
TGF5ZXJCYWNraW5nOjpkZXN0cm95R3JhcGhpY3NMYXllcnMpOgorICAgICAgICAoV2ViQ29yZSk6
CisgICAgICAgIChXZWJDb3JlOjpoYXNUb3VjaE92ZXJmbG93U2Nyb2xsaW5nKToKKyAgICAgICAg
KFdlYkNvcmU6OmxheWVyT3JBbmNlc3RvcklzU2Nyb2xsaW5nKToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckxheWVyQmFja2luZzo6cGFyZW50Rm9yU3VibGF5ZXJzKToKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckxheWVyQmFja2luZzo6c2hvdWxkQ2xpcENvbXBvc2l0ZWRCb3VuZHMpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVHcmFwaGljc0xheWVyQ29u
ZmlndXJhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0
ZUdyYXBoaWNzTGF5ZXJHZW9tZXRyeSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJh
Y2tpbmc6OnVwZGF0ZUludGVybmFsSGllcmFyY2h5KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckxheWVyQmFja2luZzo6dXBkYXRlU2Nyb2xsaW5nTGF5ZXIpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyTGF5ZXJCYWNraW5nOjpwYWludENvbnRlbnRzKToKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyTGF5ZXJCYWNraW5nLmg6CisgICAgICAgIChSZW5kZXJMYXllckJhY2tpbmcpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjpoYXNTY3JvbGxpbmdMYXllcik6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OnNjcm9sbGluZ0xheWVyKToKKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6Y29tcHV0ZUNvbXBvc2l0aW5nUmVxdWlyZW1l
bnRzKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJD
b21wb3NpdG9yOjpzY3JvbGxpbmdMYXllckRpZENoYW5nZSk6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJMYXllckNvbXBvc2l0b3I6OnJlcXVpcmVzQ29tcG9zaXRpbmdMYXllcik6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OnJlcXVpcmVzT3duQmFja2luZ1N0b3Jl
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6cmVxdWlyZXNDb21w
b3NpdGluZ0Zvck92ZXJmbG93U2Nyb2xsKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVy
Q29tcG9zaXRvcjo6bmVlZHNDb250ZW50c0NvbXBvc2l0aW5nTGF5ZXIpOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuaDoKKyAgICAgICAgKFJlbmRlckxheWVyQ29t
cG9zaXRvcik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OmNvbXB1dGVSZWN0Rm9yUmVwYWludCk6CisKIDIwMTIt
MDYtMTEgIERhbmEgSmFuc2VucyAgPGRhbmFrakBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2No
cm9taXVtXSBDcmVhdGUgYSBDQ1lVVlZpZGVvRHJhd1F1YWQgYW5kIHJlbW92ZSB0aGUgbm93LXVu
dXNlZCBnZW5lcmljIENDVmlkZW9EcmF3UXVhZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3BwCmluZGV4IDZkMWYyYTYwZDA1
NzIzNmFkMGI2NGQzMTcwMTQ0YmY0YzQ5NDM0ZDYuLjBmZWI1ZWZlOTI3NGRlMjFkNTU2YTEyZjgy
Y2ViOTJlYjk2YTczYTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5n
L1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9s
bGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5jcHAKQEAgLTExOCw2ICsxMTgsMTEgQEAgc3RhdGlj
IFJlZ2lvbiBjb21wdXRlTm9uRmFzdFNjcm9sbGFibGVSZWdpb24oRnJhbWUqIGZyYW1lLCBjb25z
dCBJbnRQb2ludCYgZnJhbWUKICAgICBpZiAoY29uc3QgRnJhbWVWaWV3OjpTY3JvbGxhYmxlQXJl
YVNldCogc2Nyb2xsYWJsZUFyZWFzID0gZnJhbWVWaWV3LT5zY3JvbGxhYmxlQXJlYXMoKSkgewog
ICAgICAgICBmb3IgKEZyYW1lVmlldzo6U2Nyb2xsYWJsZUFyZWFTZXQ6OmNvbnN0X2l0ZXJhdG9y
IGl0ID0gc2Nyb2xsYWJsZUFyZWFzLT5iZWdpbigpLCBlbmQgPSBzY3JvbGxhYmxlQXJlYXMtPmVu
ZCgpOyBpdCAhPSBlbmQ7ICsraXQpIHsKICAgICAgICAgICAgIFNjcm9sbGFibGVBcmVhKiBzY3Jv
bGxhYmxlQXJlYSA9ICppdDsKKyNpZiBFTkFCTEUoT1ZFUkZMT1dfU0NST0xMSU5HKQorICAgICAg
ICAgICAgLy8gQWNjZWxlcmF0ZWQgc2Nyb2xsYWJsZSBhcmVhcyBjYW4gYmUgc2Nyb2xsZWQgb2Zm
IHRoZSBtYWluIHRocmVhZC4KKyAgICAgICAgICAgIGlmIChzY3JvbGxhYmxlQXJlYS0+aGFzQWNj
ZWxlcmF0ZWRTY3JvbGxpbmcoKSkKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKyNlbmRpZgog
ICAgICAgICAgICAgSW50UmVjdCBib3ggPSBzY3JvbGxhYmxlQXJlYS0+c2Nyb2xsYWJsZUFyZWFC
b3VuZGluZ0JveCgpOwogICAgICAgICAgICAgYm94Lm1vdmVCeShvZmZzZXQpOwogICAgICAgICAg
ICAgbm9uRmFzdFNjcm9sbGFibGVSZWdpb24udW5pdGUoYm94KTsKQEAgLTQ2Niw2ICs0NzEsMTQg
QEAgdm9pZCBTY3JvbGxpbmdDb29yZGluYXRvcjo6c2V0TGF5ZXJJc0ZpeGVkVG9Db250YWluZXJM
YXllcihHcmFwaGljc0xheWVyKiwgYm9vbCkKIHsKICAgICAvLyBGSVhNRTogSW1wbGVtZW50IQog
fQorCisjaWYgRU5BQkxFKE9WRVJGTE9XX1NDUk9MTElORykKK3ZvaWQgU2Nyb2xsaW5nQ29vcmRp
bmF0b3I6OnNjcm9sbGFibGVBcmVhU2Nyb2xsTGF5ZXJEaWRDaGFuZ2UoU2Nyb2xsYWJsZUFyZWEq
LCBHcmFwaGljc0xheWVyKikKK3sKKyAgICAvLyBGSVhNRTogSW1wbGVtZW50LgorfQorI2VuZGlm
CisKICNlbmRpZiAvLyAhRU5BQkxFKFRIUkVBREVEX1NDUk9MTElORykKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Ny
b2xsaW5nQ29vcmRpbmF0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9s
bGluZ0Nvb3JkaW5hdG9yLmgKaW5kZXggMzU2NDlhOTFmZmI4ZTQ2ODBiZGZkZjU1ODNiODg4Yjcz
MjVkZWYwMS4uNDUyYmMwZmI5OGQ3ZDVhMzJlNzBkZDk1N2ViYzk3ZDE0NmYzMTI1MiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3Iu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRv
ci5oCkBAIC01NSw2ICs1NSwxMCBAQCBjbGFzcyBTY3JvbGxpbmdUcmVlU3RhdGU7CiBjbGFzcyBT
Y3JvbGxpbmdUcmVlOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoT1ZFUkZMT1dfU0NST0xMSU5HKQor
Y2xhc3MgU2Nyb2xsYWJsZUFyZWE7CisjZW5kaWYKKwogY2xhc3MgU2Nyb2xsaW5nQ29vcmRpbmF0
b3IgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8U2Nyb2xsaW5nQ29vcmRpbmF0b3I+IHsK
IHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTY3JvbGxpbmdDb29yZGluYXRvcj4gY3Jl
YXRlKFBhZ2UqKTsKQEAgLTkyLDYgKzk2LDExIEBAIHB1YmxpYzoKICAgICAvLyBTaG91bGQgYmUg
Y2FsbGVkIHdoZW5ldmVyIHRoZSB2ZXJ0aWNhbCBzY3JvbGxiYXIgbGF5ZXIgZm9yIHRoZSBnaXZl
biBmcmFtZSB2aWV3IGNoYW5nZXMuCiAgICAgdm9pZCBmcmFtZVZpZXdWZXJ0aWNhbFNjcm9sbGJh
ckxheWVyRGlkQ2hhbmdlKEZyYW1lVmlldyosIEdyYXBoaWNzTGF5ZXIqIHZlcnRpY2FsU2Nyb2xs
YmFyTGF5ZXIpOwogCisjaWYgRU5BQkxFKE9WRVJGTE9XX1NDUk9MTElORykKKyAgICAvLyBTaG91
bGQgYmUgY2FsbGVkIHdoZW5ldmVyIHRoZSBzY3JvbGxhYmxlIGxheWVyIGZvciB0aGUgZ2l2ZW4g
c2Nyb2xsIGFyZWEgY2hhbmdlcy4KKyAgICB2b2lkIHNjcm9sbGFibGVBcmVhU2Nyb2xsTGF5ZXJE
aWRDaGFuZ2UoU2Nyb2xsYWJsZUFyZWEqLCBHcmFwaGljc0xheWVyKik7CisjZW5kaWYKKwogICAg
IC8vIFJlcXVlc3RzIHRoYXQgdGhlIHNjcm9sbGluZyBjb29yZGluYXRvciB1cGRhdGVzIHRoZSBz
Y3JvbGwgcG9zaXRpb24gb2YgdGhlIGdpdmVuIGZyYW1lIHZpZXcuIElmIHRoaXMgZnVuY3Rpb24g
cmV0dXJucyB0cnVlLCBpdCBtZWFucyB0aGF0IHRoZQogICAgIC8vIHBvc2l0aW9uIHdpbGwgYmUg
dXBkYXRlZCBhc3luY2hyb25vdXNseS4gSWYgaXQgcmV0dXJucyBmYWxzZSwgdGhlIGNhbGxlciBz
aG91bGQgdXBkYXRlIHRoZSBzY3JvbGxpbmcgcG9zaXRpb24gaXRzZWxmLgogICAgIGJvb2wgcmVx
dWVzdFNjcm9sbFBvc2l0aW9uVXBkYXRlKEZyYW1lVmlldyosIGNvbnN0IEludFBvaW50Jik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGlu
YXRvck5vbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29v
cmRpbmF0b3JOb25lLmNwcAppbmRleCBmMGFjZmUwY2MzYjE3MWQzMzEwNDcwNDY1MDAyZTBkMmE1
N2ZkMDljLi5jNGQ1MTJmOTU5M2VmYjhhOTQwYjg5MDFjZTQxMTIzZTBjNGY0YmFkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvck5v
bmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3Jk
aW5hdG9yTm9uZS5jcHAKQEAgLTgzLDYgKzgzLDEzIEBAIHZvaWQgU2Nyb2xsaW5nQ29vcmRpbmF0
b3I6OnNldExheWVySXNDb250YWluZXJGb3JGaXhlZFBvc2l0aW9uTGF5ZXJzKEdyYXBoaWNzTGF5
CiB2b2lkIFNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpzZXRMYXllcklzRml4ZWRUb0NvbnRhaW5lckxh
eWVyKEdyYXBoaWNzTGF5ZXIqLCBib29sKQogewogfQorCisjaWYgRU5BQkxFKE9WRVJGTE9XX1ND
Uk9MTElORykKK3ZvaWQgU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OnNjcm9sbGFibGVBcmVhU2Nyb2xs
TGF5ZXJEaWRDaGFuZ2UoU2Nyb2xsYWJsZUFyZWEqLCBHcmFwaGljc0xheWVyKikKK3sKK30KKyNl
bmRpZgorCiAjZW5kaWYgLy8gIUVOQUJMRShUSFJFQURFRF9TQ1JPTExJTkcpCiAKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2Nocm9taXVtL1Njcm9sbGluZ0Nv
b3JkaW5hdG9yQ2hyb21pdW0uY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvY2hy
b21pdW0vU2Nyb2xsaW5nQ29vcmRpbmF0b3JDaHJvbWl1bS5jcHAKaW5kZXggMGMzYjBjMzI5NGQ4
MjhmYjM1MDdhMzY1YzY3YjIwNTkzOTMxYjA4MS4uZWFkNzA2N2E5ZTY4NGUyMDAwNmQ1YTQwYWJm
MTgxNWU2ZGE1NDQyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcv
Y2hyb21pdW0vU2Nyb2xsaW5nQ29vcmRpbmF0b3JDaHJvbWl1bS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9zY3JvbGxpbmcvY2hyb21pdW0vU2Nyb2xsaW5nQ29vcmRpbmF0b3JDaHJvbWl1
bS5jcHAKQEAgLTM3LDYgKzM3LDEwIEBACiAjaW5jbHVkZSAiU2Nyb2xsYmFyVGhlbWUuaCIKICNp
bmNsdWRlICJjYy9DQ1Byb3h5LmgiCiAKKyNpZiBFTkFCTEUoT1ZFUkZMT1dfU0NST0xMSU5HKQor
I2luY2x1ZGUgIkdyYXBoaWNzTGF5ZXJDaHJvbWl1bS5oIgorI2VuZGlmCisKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogY2xhc3MgU2Nyb2xsaW5nQ29vcmRpbmF0b3JQcml2YXRlIHsKQEAgLTIwMSw0
ICsyMDUsMTkgQEAgdm9pZCBTY3JvbGxpbmdDb29yZGluYXRvcjo6c2V0TGF5ZXJJc0ZpeGVkVG9D
b250YWluZXJMYXllcihHcmFwaGljc0xheWVyKiBsYXllciwKICAgICAgICAgcGxhdGZvcm1MYXll
ci0+c2V0Rml4ZWRUb0NvbnRhaW5lckxheWVyKGVuYWJsZSk7CiB9CiAKKyNpZiBFTkFCTEUoT1ZF
UkZMT1dfU0NST0xMSU5HKQordm9pZCBTY3JvbGxpbmdDb29yZGluYXRvcjo6c2Nyb2xsYWJsZUFy
ZWFTY3JvbGxMYXllckRpZENoYW5nZShTY3JvbGxhYmxlQXJlYSogc2Nyb2xsYWJsZUFyZWEsIEdy
YXBoaWNzTGF5ZXIqIHNjcm9sbExheWVyKQoreworICAgIEdyYXBoaWNzTGF5ZXJDaHJvbWl1bSog
bGF5ZXIgPSBzdGF0aWNfY2FzdDxHcmFwaGljc0xheWVyQ2hyb21pdW0qPihzY3JvbGxMYXllcik7
CisgICAgTGF5ZXJDaHJvbWl1bSogcGxhdGZvcm1MYXllciA9IHNjcm9sbExheWVyID8gc2Nyb2xs
TGF5ZXItPnBsYXRmb3JtTGF5ZXIoKSA6IDA7CisgICAgaWYgKGxheWVyKQorICAgICAgICBsYXll
ci0+c2V0U2Nyb2xsYWJsZUFyZWEoc2Nyb2xsYWJsZUFyZWEpOworICAgIGlmICghcGxhdGZvcm1M
YXllcikKKyAgICAgICAgcmV0dXJuOworICAgIHBsYXRmb3JtTGF5ZXItPnNldFNjcm9sbGFibGUo
dHJ1ZSk7CisgICAgcGxhdGZvcm1MYXllci0+c2V0U2Nyb2xsUG9zaXRpb24oc2Nyb2xsYWJsZUFy
ZWEtPnNjcm9sbFBvc2l0aW9uKCkpOworICAgIHBsYXRmb3JtTGF5ZXItPnNldE1heFNjcm9sbFBv
c2l0aW9uKEludFNpemUoc2Nyb2xsYWJsZUFyZWEtPnNjcm9sbFNpemUoSG9yaXpvbnRhbFNjcm9s
bGJhciksIHNjcm9sbGFibGVBcmVhLT5zY3JvbGxTaXplKFZlcnRpY2FsU2Nyb2xsYmFyKSkpOwor
fQorI2VuZGlmCisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9s
bGFibGVBcmVhLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5oCmlu
ZGV4IDVhMjc4YTliNWI5YzdjMTg1MWE0YzUzM2M2MGI1NDUxNTNmY2VkM2EuLjUwZmQ3ZTMxNWY3
ZjgwZjRmNTM0OTI1ZjA1YmEyOGFjM2UxN2ZiNjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
U2Nyb2xsYWJsZUFyZWEuaApAQCAtMTY5LDYgKzE2OSw5IEBAIHB1YmxpYzoKIAogI2lmIFVTRShB
Q0NFTEVSQVRFRF9DT01QT1NJVElORykKICAgICB2aXJ0dWFsIFRpbGVkQmFja2luZyogdGlsZWRC
YWNraW5nKCkgeyByZXR1cm4gMDsgfQorI2lmIEVOQUJMRShPVkVSRkxPV19TQ1JPTExJTkcpCisg
ICAgdmlydHVhbCBib29sIGhhc0FjY2VsZXJhdGVkU2Nyb2xsaW5nKCkgY29uc3QgeyByZXR1cm4g
ZmFsc2U7IH0KKyNlbmRpZgogI2VuZGlmCiAKIHByb3RlY3RlZDoKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5jcHAKaW5kZXggMTBkN2I3ZmM4
ZGE0ZjQ4NmQwM2UwMzNmYjQ4MjExNTg2MWFmNjJmMC4uZmU0ZjdiNDY2NTQ4ZWVkMGEyMDg1ZWNl
M2Y4MmExY2E0NTY1NjUxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvR3JhcGhpY3NMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvR3JhcGhpY3NMYXllci5jcHAKQEAgLTI4Myw3ICsyODMsNyBAQCB2b2lkIEdyYXBoaWNz
TGF5ZXI6OnNldFJlcGxpY2F0ZWRCeUxheWVyKEdyYXBoaWNzTGF5ZXIqIGxheWVyKQogICAgIG1f
cmVwbGljYUxheWVyID0gbGF5ZXI7CiB9CiAKLXZvaWQgR3JhcGhpY3NMYXllcjo6c2V0T2Zmc2V0
RnJvbVJlbmRlcmVyKGNvbnN0IEludFNpemUmIG9mZnNldCkKK3ZvaWQgR3JhcGhpY3NMYXllcjo6
c2V0T2Zmc2V0RnJvbVJlbmRlcmVyKGNvbnN0IEludFNpemUmIG9mZnNldCwgYm9vbCBuZWVkc0Rp
c3BsYXkpCiB7CiAgICAgaWYgKG9mZnNldCA9PSBtX29mZnNldEZyb21SZW5kZXJlcikKICAgICAg
ICAgcmV0dXJuOwpAQCAtMjkxLDcgKzI5MSw4IEBAIHZvaWQgR3JhcGhpY3NMYXllcjo6c2V0T2Zm
c2V0RnJvbVJlbmRlcmVyKGNvbnN0IEludFNpemUmIG9mZnNldCkKICAgICBtX29mZnNldEZyb21S
ZW5kZXJlciA9IG9mZnNldDsKIAogICAgIC8vIElmIHRoZSBjb21wb3NpdGluZyBsYXllciBvZmZz
ZXQgY2hhbmdlcywgd2UgbmVlZCB0byByZXBhaW50LgotICAgIHNldE5lZWRzRGlzcGxheSgpOwor
ICAgIGlmIChuZWVkc0Rpc3BsYXkpCisgICAgICAgIHNldE5lZWRzRGlzcGxheSgpOwogfQogCiB2
b2lkIEdyYXBoaWNzTGF5ZXI6OnNldEJhY2tncm91bmRDb2xvcihjb25zdCBDb2xvciYgY29sb3Ip
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xh
eWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmgK
aW5kZXggMTZjNzNhNDgzOGUwNDQ3ZTVhYWVhMjY0MGNmMjM2NGZlZDA4NmIzMy4uNGMxMzZjYjU0
NzBiYjQ5MzNiMTlkMDdmZWZiYmVhNGNhMzZmY2QxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuaApAQCAtMjc0LDcgKzI3NCw3IEBAIHB1
YmxpYzoKIAogICAgIC8vIE9mZnNldCBpcyBvcmlnaW4gb2YgdGhlIHJlbmRlcmVyIG1pbnVzIG9y
aWdpbiBvZiB0aGUgZ3JhcGhpY3MgbGF5ZXIgKHNvIGVpdGhlciB6ZXJvIG9yIG5lZ2F0aXZlKS4K
ICAgICBJbnRTaXplIG9mZnNldEZyb21SZW5kZXJlcigpIGNvbnN0IHsgcmV0dXJuIG1fb2Zmc2V0
RnJvbVJlbmRlcmVyOyB9Ci0gICAgdm9pZCBzZXRPZmZzZXRGcm9tUmVuZGVyZXIoY29uc3QgSW50
U2l6ZSYpOworICAgIHZvaWQgc2V0T2Zmc2V0RnJvbVJlbmRlcmVyKGNvbnN0IEludFNpemUmLCBi
b29sIG5lZWRzRGlzcGxheSA9IHRydWUpOwogCiAgICAgLy8gVGhlIHBvc2l0aW9uIG9mIHRoZSBs
YXllciAodGhlIGxvY2F0aW9uIG9mIGl0cyB0b3AtbGVmdCBjb3JuZXIgaW4gaXRzIHBhcmVudCkK
ICAgICBjb25zdCBGbG9hdFBvaW50JiBwb3NpdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fcG9zaXRp
b247IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL0dyYXBoaWNzTGF5ZXJDaHJvbWl1bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9HcmFwaGljc0xheWVyQ2hyb21pdW0uY3BwCmluZGV4IDg2YTFmMzI5
OTZjNmI2ZTFlNmU1NGYwYzMzOWU4M2JhMjEyMGE5MWUuLmNjNjUwY2VkNWQxMjM3MDhlYzZmMTEy
ZTU1NmU1NGRjZjQ2NmRkNTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL0dyYXBoaWNzTGF5ZXJDaHJvbWl1bS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vR3JhcGhpY3NMYXllckNocm9taXVtLmNw
cApAQCAtODgsOSArODgsMTIgQEAgR3JhcGhpY3NMYXllckNocm9taXVtOjpHcmFwaGljc0xheWVy
Q2hyb21pdW0oR3JhcGhpY3NMYXllckNsaWVudCogY2xpZW50KQogICAgICwgbV9jb250ZW50c0xh
eWVySGFzQmFja2dyb3VuZENvbG9yKGZhbHNlKQogICAgICwgbV9pblNldENoaWxkcmVuKGZhbHNl
KQogICAgICwgbV9wYWdlU2NhbGVDaGFuZ2VkKGZhbHNlKQorICAgICwgbV9zY3JvbGxhYmxlQXJl
YSgwKQogewogICAgIG1fb3BhcXVlUmVjdFRyYWNraW5nQ29udGVudExheWVyRGVsZWdhdGUgPSBh
ZG9wdFB0cihuZXcgT3BhcXVlUmVjdFRyYWNraW5nQ29udGVudExheWVyRGVsZWdhdGUodGhpcykp
OwotICAgIG1fbGF5ZXIgPSBXZWJDb250ZW50TGF5ZXIoQ29udGVudExheWVyQ2hyb21pdW06OmNy
ZWF0ZShtX29wYXF1ZVJlY3RUcmFja2luZ0NvbnRlbnRMYXllckRlbGVnYXRlLmdldCgpKSk7Cisg
ICAgUmVmUHRyPENvbnRlbnRMYXllckNocm9taXVtPiBjb250ZW50TGF5ZXIgPSBDb250ZW50TGF5
ZXJDaHJvbWl1bTo6Y3JlYXRlKG1fb3BhcXVlUmVjdFRyYWNraW5nQ29udGVudExheWVyRGVsZWdh
dGUuZ2V0KCkpOworICAgIGNvbnRlbnRMYXllci0+c2V0TGF5ZXJTY3JvbGxEZWxlZ2F0ZSh0aGlz
KTsKKyAgICBtX2xheWVyID0gV2ViQ29udGVudExheWVyKGNvbnRlbnRMYXllcik7CiAKICAgICB1
cGRhdGVEZWJ1Z0luZGljYXRvcnMoKTsKIH0KQEAgLTkwNSw2ICs5MDgsMTIgQEAgdm9pZCBHcmFw
aGljc0xheWVyQ2hyb21pdW06Om5vdGlmeUFuaW1hdGlvbkZpbmlzaGVkKGRvdWJsZSkKICAgICAv
LyBEbyBub3RoaW5nLgogfQogCit2b2lkIEdyYXBoaWNzTGF5ZXJDaHJvbWl1bTo6ZGlkU2Nyb2xs
KGNvbnN0IEludFNpemUmIHNjcm9sbERlbHRhKQoreworICAgIGlmIChtX3Njcm9sbGFibGVBcmVh
KQorICAgICAgICBtX3Njcm9sbGFibGVBcmVhLT5zY3JvbGxUb09mZnNldFdpdGhvdXRBbmltYXRp
b24obV9zY3JvbGxhYmxlQXJlYS0+c2Nyb2xsUG9zaXRpb24oKSArIHNjcm9sbERlbHRhKTsKK30K
KwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gVVNFKEFDQ0VMRVJBVEVEX0NP
TVBPU0lUSU5HKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vR3JhcGhpY3NMYXllckNocm9taXVtLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9HcmFwaGljc0xheWVyQ2hyb21pdW0uaAppbmRleCBkZWRlYzZh
NTVlNmUxYjZlZGEzZTQ1NDE0ZGE4NjIyYzNhYzkzNjZmLi4yNTIyNTM1ODUzYzYwMzVhZGVkYWY2
MzllMTQ2YTFjODE2NjYxZmU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9HcmFwaGljc0xheWVyQ2hyb21pdW0uaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9HcmFwaGljc0xheWVyQ2hyb21pdW0uaApA
QCAtMzcsNiArMzcsNyBAQAogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgogI2luY2x1ZGUg
IkdyYXBoaWNzTGF5ZXIuaCIKICNpbmNsdWRlICJPcGFxdWVSZWN0VHJhY2tpbmdDb250ZW50TGF5
ZXJEZWxlZ2F0ZS5oIgorI2luY2x1ZGUgIlNjcm9sbGFibGVBcmVhLmgiCiAjaW5jbHVkZSAiY2Mv
Q0NMYXllckFuaW1hdGlvbkRlbGVnYXRlLmgiCiAKICNpbmNsdWRlIDxwdWJsaWMvV2ViQ29udGVu
dExheWVyLmg+CkBAIC00OCw3ICs0OSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIExh
eWVyQ2hyb21pdW07CiBjbGFzcyBMaW5rSGlnaGxpZ2h0OwogCi1jbGFzcyBHcmFwaGljc0xheWVy
Q2hyb21pdW0gOiBwdWJsaWMgR3JhcGhpY3NMYXllciwgcHVibGljIEdyYXBoaWNzQ29udGV4dFBh
aW50ZXIsIHB1YmxpYyBDQ0xheWVyQW5pbWF0aW9uRGVsZWdhdGUgeworY2xhc3MgR3JhcGhpY3NM
YXllckNocm9taXVtIDogcHVibGljIEdyYXBoaWNzTGF5ZXIsIHB1YmxpYyBHcmFwaGljc0NvbnRl
eHRQYWludGVyLCBwdWJsaWMgQ0NMYXllckFuaW1hdGlvbkRlbGVnYXRlLCBwdWJsaWMgTGF5ZXJD
aHJvbWl1bVNjcm9sbERlbGVnYXRlIHsKIHB1YmxpYzoKICAgICBHcmFwaGljc0xheWVyQ2hyb21p
dW0oR3JhcGhpY3NMYXllckNsaWVudCopOwogICAgIHZpcnR1YWwgfkdyYXBoaWNzTGF5ZXJDaHJv
bWl1bSgpOwpAQCAtMTE4LDYgKzExOSw5IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2V0
RGVidWdCb3JkZXIoY29uc3QgQ29sb3ImLCBmbG9hdCBib3JkZXJXaWR0aCk7CiAgICAgdmlydHVh
bCB2b2lkIGRldmljZU9yUGFnZVNjYWxlRmFjdG9yQ2hhbmdlZCgpOwogCisgICAgdm9pZCBzZXRT
Y3JvbGxhYmxlQXJlYShTY3JvbGxhYmxlQXJlYSogc2Nyb2xsYWJsZUFyZWEpIHsgbV9zY3JvbGxh
YmxlQXJlYSA9IHNjcm9sbGFibGVBcmVhOyB9CisgICAgU2Nyb2xsYWJsZUFyZWEqIHNjcm9sbGFi
bGVBcmVhKCkgY29uc3QgeyByZXR1cm4gbV9zY3JvbGxhYmxlQXJlYTsgfQorCiAgICAgLy8gR3Jh
cGhpY3NDb250ZXh0UGFpbnRlciBpbXBsZW1lbnRhdGlvbi4KICAgICB2aXJ0dWFsIHZvaWQgcGFp
bnQoR3JhcGhpY3NDb250ZXh0JiwgY29uc3QgSW50UmVjdCYgY2xpcCkgT1ZFUlJJREU7CiAKQEAg
LTEyNSw2ICsxMjksOSBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIG5vdGlmeUFuaW1hdGlv
blN0YXJ0ZWQoZG91YmxlIHN0YXJ0VGltZSk7CiAgICAgdmlydHVhbCB2b2lkIG5vdGlmeUFuaW1h
dGlvbkZpbmlzaGVkKGRvdWJsZSBmaW5pc2hUaW1lKTsKIAorICAgIC8vIExheWVyQ2hyb21pdW1T
Y3JvbGxEZWxlZ2F0ZSBpbXBsZW1lbnRhdGlvbi4KKyAgICB2aXJ0dWFsIHZvaWQgZGlkU2Nyb2xs
KGNvbnN0IEludFNpemUmKSBPVkVSUklERTsKKwogICAgIC8vIEV4cG9zZWQgZm9yIHRlc3RzLgog
ICAgIFdlYktpdDo6V2ViTGF5ZXIgY29udGVudHNMYXllcigpIGNvbnN0IHsgcmV0dXJuIG1fY29u
dGVudHNMYXllcjsgfQogCkBAIC0xODEsNiArMTg4LDggQEAgcHJpdmF0ZToKIAogICAgIHR5cGVk
ZWYgSGFzaE1hcDxTdHJpbmcsIGludD4gQW5pbWF0aW9uSWRNYXA7CiAgICAgQW5pbWF0aW9uSWRN
YXAgbV9hbmltYXRpb25JZE1hcDsKKworICAgIFNjcm9sbGFibGVBcmVhKiBtX3Njcm9sbGFibGVB
cmVhOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCbG9jay5jcHAKaW5kZXggNjJmMzE1ZTVhMmE0ZjhmMGQyMjRkMDFmOWM3NjI0MjJk
MzNlMTdkYy4uMDVkNTM1MmZjOWUwM2M2NWJmMjBjYTlkNTZmZWQ3YTJlN2E1MmVhMyAxMDA3NTUK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCkBAIC0xNTU2LDggKzE1NTYsMTEg
QEAgdm9pZCBSZW5kZXJCbG9jazo6bGF5b3V0QmxvY2soYm9vbCByZWxheW91dENoaWxkcmVuLCBM
YXlvdXRVbml0IHBhZ2VMb2dpY2FsSGVpZ2gKICAgICAgICAgICAgIC8vIEFkanVzdCByZXBhaW50
IHJlY3QgZm9yIHNjcm9sbCBvZmZzZXQKICAgICAgICAgICAgIHJlcGFpbnRSZWN0Lm1vdmUoLXNj
cm9sbGVkQ29udGVudE9mZnNldCgpKTsKIAotICAgICAgICAgICAgLy8gRG9uJ3QgYWxsb3cgdGhp
cyByZWN0IHRvIHNwaWxsIG91dCBvZiBvdXIgb3ZlcmZsb3cgYm94LgotICAgICAgICAgICAgcmVw
YWludFJlY3QuaW50ZXJzZWN0KExheW91dFJlY3QoTGF5b3V0UG9pbnQoKSwgc2l6ZSgpKSk7Cisg
ICAgICAgICAgICAvLyBEb24ndCBhbGxvdyB0aGlzIHJlY3QgdG8gc3BpbGwgb3V0IG9mIG91ciBv
dmVyZmxvdyBib3gsIHVubGVzcyB0aGUgbGF5ZXIgaXMgc2Nyb2xsYWJsZS4KKyNpZiBFTkFCTEUo
T1ZFUkZMT1dfU0NST0xMSU5HKQorICAgICAgICAgICAgaWYgKCFsYXllcigpLT5oYXNBY2NlbGVy
YXRlZFNjcm9sbGluZygpKQorI2VuZGlmCisgICAgICAgICAgICAgICAgcmVwYWludFJlY3QuaW50
ZXJzZWN0KExheW91dFJlY3QoTGF5b3V0UG9pbnQoKSwgc2l6ZSgpKSk7CiAgICAgICAgIH0KIAog
ICAgICAgICAvLyBNYWtlIHN1cmUgdGhlIHJlY3QgaXMgc3RpbGwgbm9uLWVtcHR5IGFmdGVyIGlu
dGVyc2VjdGluZyBmb3Igb3ZlcmZsb3cgYWJvdmUKQEAgLTI2MDcsNyArMjYxMCwxMSBAQCB2b2lk
IFJlbmRlckJsb2NrOjpwYWludChQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgTGF5b3V0UG9p
bnQmIHBhaW50T2Zmc2V0KQogICAgIC8vIENoZWNrIGlmIHdlIG5lZWQgdG8gZG8gYW55dGhpbmcg
YXQgYWxsLgogICAgIC8vIEZJWE1FOiBDb3VsZCBlbGltaW5hdGUgdGhlIGlzUm9vdCgpIGNoZWNr
IGlmIHdlIGZpeCBiYWNrZ3JvdW5kIHBhaW50aW5nIHNvIHRoYXQgdGhlIFJlbmRlclZpZXcKICAg
ICAvLyBwYWludHMgdGhlIHJvb3QncyBiYWNrZ3JvdW5kLgotICAgIGlmICghaXNSb290KCkpIHsK
KyAgICBpZiAoIWlzUm9vdCgpCisjaWYgRU5BQkxFKE9WRVJGTE9XX1NDUk9MTElORykKKyAgICAg
ICAgJiYgIShoYXNPdmVyZmxvd0NsaXAoKSAmJiBoYXNMYXllcigpICYmIGxheWVyKCktPmhhc0Fj
Y2VsZXJhdGVkU2Nyb2xsaW5nKCkpCisjZW5kaWYKKyAgICAgICAgKSB7CiAgICAgICAgIExheW91
dFJlY3Qgb3ZlcmZsb3dCb3ggPSB2aXN1YWxPdmVyZmxvd1JlY3QoKTsKICAgICAgICAgZmxpcEZv
cldyaXRpbmdNb2RlKG92ZXJmbG93Qm94KTsKICAgICAgICAgb3ZlcmZsb3dCb3guaW5mbGF0ZSht
YXhpbWFsT3V0bGluZVNpemUocGFpbnRJbmZvLnBoYXNlKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCb3guY3BwCmluZGV4IGRkY2EwN2RkMjllNjIyMDUzZDg2MGNkYjY3OWY5ZWJiMDdi
ZDFlNGMuLmQ2NGI0YmI5ZGU2Y2UzMWViZjQ5ZDlmODM5ZWNlOWU4ODBmYzVhZWEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCkBAIC02NTEsNiArNjUxLDIyIEBAIExheW91
dFNpemUgUmVuZGVyQm94OjpjYWNoZWRTaXplRm9yT3ZlcmZsb3dDbGlwKCkgY29uc3QKICAgICBy
ZXR1cm4gbGF5ZXIoKS0+c2l6ZSgpOwogfQogCit2b2lkIFJlbmRlckJveDo6YXBwbHlDYWNoZWRD
bGlwQW5kU2Nyb2xsT2Zmc2V0Rm9yUmVwYWludChMYXlvdXRSZWN0JiBwYWludFJlY3QpIGNvbnN0
Cit7CisgICAgcGFpbnRSZWN0Lm1vdmUoLXNjcm9sbGVkQ29udGVudE9mZnNldCgpKTsgLy8gRm9y
IG92ZXJmbG93OmF1dG8vc2Nyb2xsL2hpZGRlbi4KKworI2lmIEVOQUJMRShPVkVSRkxPV19TQ1JP
TExJTkcpCisgICAgLy8gRG8gbm90IGNsaXAgc2Nyb2xsIGxheWVyIGNvbnRlbnRzIHRvIHJlZHVj
ZSB0aGUgbnVtYmVyIG9mIHJlcGFpbnRzIHdoaWxlIHNjcm9sbGluZy4KKyAgICBpZiAoaGFzT3Zl
cmZsb3dDbGlwKCkgJiYgaGFzTGF5ZXIoKSAmJiBsYXllcigpLT5oYXNBY2NlbGVyYXRlZFNjcm9s
bGluZygpKQorICAgICAgICByZXR1cm47CisjZW5kaWYKKyAgICAvLyBoZWlnaHQoKSBpcyBpbmFj
Y3VyYXRlIGlmIHdlJ3JlIGluIHRoZSBtaWRkbGUgb2YgYSBsYXlvdXQgb2YgdGhpcyBSZW5kZXJC
b3gsIHNvIHVzZSB0aGUKKyAgICAvLyBsYXllcidzIHNpemUgaW5zdGVhZC4gRXZlbiBpZiB0aGUg
bGF5ZXIncyBzaXplIGlzIHdyb25nLCB0aGUgbGF5ZXIgaXRzZWxmIHdpbGwgcmVwYWludAorICAg
IC8vIGFueXdheSBpZiBpdHMgc2l6ZSBkb2VzIGNoYW5nZS4KKyAgICBMYXlvdXRSZWN0IGNsaXBS
ZWN0KExheW91dFBvaW50KCksIGNhY2hlZFNpemVGb3JPdmVyZmxvd0NsaXAoKSk7CisgICAgcGFp
bnRSZWN0ID0gaW50ZXJzZWN0aW9uKHBhaW50UmVjdCwgY2xpcFJlY3QpOworfQorCiBMYXlvdXRV
bml0IFJlbmRlckJveDo6bWluUHJlZmVycmVkTG9naWNhbFdpZHRoKCkgY29uc3QKIHsKICAgICBp
ZiAocHJlZmVycmVkTG9naWNhbFdpZHRoc0RpcnR5KCkpCkBAIC0xNTg1LDIxICsxNjAxLDEzIEBA
IHZvaWQgUmVuZGVyQm94Ojpjb21wdXRlUmVjdEZvclJlcGFpbnQoUmVuZGVyQm94TW9kZWxPYmpl
Y3QqIHJlcGFpbnRDb250YWluZXIsIExhCiAKICAgICAvLyBGSVhNRTogV2UgaWdub3JlIHRoZSBs
aWdodHdlaWdodCBjbGlwcGluZyByZWN0IHRoYXQgY29udHJvbHMgdXNlLCBzaW5jZSBpZiB8b3wg
aXMgaW4gbWlkLWxheW91dCwKICAgICAvLyBpdHMgY29udHJvbENsaXBSZWN0IHdpbGwgYmUgd3Jv
bmcuIEZvciBvdmVyZmxvdyBjbGlwIHdlIHVzZSB0aGUgdmFsdWVzIGNhY2hlZCBieSB0aGUgbGF5
ZXIuCisgICAgcmVjdC5zZXRMb2NhdGlvbih0b3BMZWZ0KTsKICAgICBpZiAoby0+aGFzT3ZlcmZs
b3dDbGlwKCkpIHsKICAgICAgICAgUmVuZGVyQm94KiBjb250YWluZXJCb3ggPSB0b1JlbmRlckJv
eChvKTsKLQotICAgICAgICAvLyBvLT5oZWlnaHQoKSBpcyBpbmFjY3VyYXRlIGlmIHdlJ3JlIGlu
IHRoZSBtaWRkbGUgb2YgYSBsYXlvdXQgb2YgfG98LCBzbyB1c2UgdGhlCi0gICAgICAgIC8vIGxh
eWVyJ3Mgc2l6ZSBpbnN0ZWFkLiAgRXZlbiBpZiB0aGUgbGF5ZXIncyBzaXplIGlzIHdyb25nLCB0
aGUgbGF5ZXIgaXRzZWxmIHdpbGwgcmVwYWludAotICAgICAgICAvLyBhbnl3YXkgaWYgaXRzIHNp
emUgZG9lcyBjaGFuZ2UuCi0gICAgICAgIHRvcExlZnQgLT0gY29udGFpbmVyQm94LT5zY3JvbGxl
ZENvbnRlbnRPZmZzZXQoKTsgLy8gRm9yIG92ZXJmbG93OmF1dG8vc2Nyb2xsL2hpZGRlbi4KLQot
ICAgICAgICBMYXlvdXRSZWN0IHJlcGFpbnRSZWN0KHRvcExlZnQsIHJlY3Quc2l6ZSgpKTsKLSAg
ICAgICAgTGF5b3V0UmVjdCBib3hSZWN0KExheW91dFBvaW50KCksIGNvbnRhaW5lckJveC0+Y2Fj
aGVkU2l6ZUZvck92ZXJmbG93Q2xpcCgpKTsKLSAgICAgICAgcmVjdCA9IGludGVyc2VjdGlvbihy
ZXBhaW50UmVjdCwgYm94UmVjdCk7CisgICAgICAgIGNvbnRhaW5lckJveC0+YXBwbHlDYWNoZWRD
bGlwQW5kU2Nyb2xsT2Zmc2V0Rm9yUmVwYWludChyZWN0KTsKICAgICAgICAgaWYgKHJlY3QuaXNF
bXB0eSgpKQogICAgICAgICAgICAgcmV0dXJuOwotICAgIH0gZWxzZQotICAgICAgICByZWN0LnNl
dExvY2F0aW9uKHRvcExlZnQpOworICAgIH0KIAogICAgIGlmIChjb250YWluZXJTa2lwcGVkKSB7
CiAgICAgICAgIC8vIElmIHRoZSByZXBhaW50Q29udGFpbmVyIGlzIGJlbG93IG8sIHRoZW4gd2Ug
bmVlZCB0byBtYXAgdGhlIHJlY3QgaW50byByZXBhaW50Q29udGFpbmVyJ3MgY29vcmRpbmF0ZXMu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgKaW5kZXggNGJlYmY3ZWFiODAxMDk1ODli
NDg2MTFkNDcxNmZkZGE4Yjc2NjI0MC4uZWY1OWMwMTBiZTRlYTQ3ZjU2NWRiODU0N2M0NGM1NTZj
ODhhMDE5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaApAQCAtNDYxLDYgKzQ2
MSw3IEBAIHB1YmxpYzoKIAogICAgIEludFNpemUgc2Nyb2xsZWRDb250ZW50T2Zmc2V0KCkgY29u
c3Q7CiAgICAgTGF5b3V0U2l6ZSBjYWNoZWRTaXplRm9yT3ZlcmZsb3dDbGlwKCkgY29uc3Q7Cisg
ICAgdm9pZCBhcHBseUNhY2hlZENsaXBBbmRTY3JvbGxPZmZzZXRGb3JSZXBhaW50KExheW91dFJl
Y3QmIHBhaW50UmVjdCkgY29uc3Q7CiAKICAgICB2aXJ0dWFsIGJvb2wgaGFzUmVsYXRpdmVEaW1l
bnNpb25zKCkgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIGhhc1JlbGF0aXZlTG9naWNhbEhlaWdo
dCgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklu
bGluZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmNwcAppbmRl
eCA5MWEwNWFkZjMyMzYxNDM0YzZiMTk5MjA4MzMxZWQxNDBhNTg0MzI3Li41ZWNiN2UyOTI2MThm
YzliOGIxNTIyM2JiNTU1NzYzZjU1Mjc3ZjcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVySW5saW5lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVySW5saW5lLmNwcApAQCAtOTg0LDE1ICs5ODQsOCBAQCBMYXlvdXRSZWN0IFJlbmRlcklu
bGluZTo6Y2xpcHBlZE92ZXJmbG93UmVjdEZvclJlcGFpbnQoUmVuZGVyQm94TW9kZWxPYmplY3Qq
IHJlcAogICAgIGlmIChjYi0+aGFzQ29sdW1ucygpKQogICAgICAgICBjYi0+YWRqdXN0UmVjdEZv
ckNvbHVtbnMocmVwYWludFJlY3QpOwogCi0gICAgaWYgKGNiLT5oYXNPdmVyZmxvd0NsaXAoKSkg
ewotICAgICAgICAvLyBjYi0+aGVpZ2h0KCkgaXMgaW5hY2N1cmF0ZSBpZiB3ZSdyZSBpbiB0aGUg
bWlkZGxlIG9mIGEgbGF5b3V0IG9mIHxjYnwsIHNvIHVzZSB0aGUKLSAgICAgICAgLy8gbGF5ZXIn
cyBzaXplIGluc3RlYWQuICBFdmVuIGlmIHRoZSBsYXllcidzIHNpemUgaXMgd3JvbmcsIHRoZSBs
YXllciBpdHNlbGYgd2lsbCByZXBhaW50Ci0gICAgICAgIC8vIGFueXdheSBpZiBpdHMgc2l6ZSBk
b2VzIGNoYW5nZS4KLSAgICAgICAgcmVwYWludFJlY3QubW92ZSgtY2ItPnNjcm9sbGVkQ29udGVu
dE9mZnNldCgpKTsgLy8gRm9yIG92ZXJmbG93OmF1dG8vc2Nyb2xsL2hpZGRlbi4KLQotICAgICAg
ICBMYXlvdXRSZWN0IGJveFJlY3QoTGF5b3V0UG9pbnQoKSwgY2ItPmNhY2hlZFNpemVGb3JPdmVy
Zmxvd0NsaXAoKSk7Ci0gICAgICAgIHJlcGFpbnRSZWN0LmludGVyc2VjdChib3hSZWN0KTsKLSAg
ICB9CisgICAgaWYgKGNiLT5oYXNPdmVyZmxvd0NsaXAoKSkKKyAgICAgICAgY2ItPmFwcGx5Q2Fj
aGVkQ2xpcEFuZFNjcm9sbE9mZnNldEZvclJlcGFpbnQocmVwYWludFJlY3QpOwogCiAgICAgY2It
PmNvbXB1dGVSZWN0Rm9yUmVwYWludChyZXBhaW50Q29udGFpbmVyLCByZXBhaW50UmVjdCk7CiAK
QEAgLTEwNjQsMjEgKzEwNTcsMTMgQEAgdm9pZCBSZW5kZXJJbmxpbmU6OmNvbXB1dGVSZWN0Rm9y
UmVwYWludChSZW5kZXJCb3hNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5lciwKICAgICAKICAg
ICAvLyBGSVhNRTogV2UgaWdub3JlIHRoZSBsaWdodHdlaWdodCBjbGlwcGluZyByZWN0IHRoYXQg
Y29udHJvbHMgdXNlLCBzaW5jZSBpZiB8b3wgaXMgaW4gbWlkLWxheW91dCwKICAgICAvLyBpdHMg
Y29udHJvbENsaXBSZWN0IHdpbGwgYmUgd3JvbmcuIEZvciBvdmVyZmxvdyBjbGlwIHdlIHVzZSB0
aGUgdmFsdWVzIGNhY2hlZCBieSB0aGUgbGF5ZXIuCisgICAgcmVjdC5zZXRMb2NhdGlvbih0b3BM
ZWZ0KTsKICAgICBpZiAoby0+aGFzT3ZlcmZsb3dDbGlwKCkpIHsKICAgICAgICAgUmVuZGVyQm94
KiBjb250YWluZXJCb3ggPSB0b1JlbmRlckJveChvKTsKLQotICAgICAgICAvLyBvLT5oZWlnaHQo
KSBpcyBpbmFjY3VyYXRlIGlmIHdlJ3JlIGluIHRoZSBtaWRkbGUgb2YgYSBsYXlvdXQgb2YgfG98
LCBzbyB1c2UgdGhlCi0gICAgICAgIC8vIGxheWVyJ3Mgc2l6ZSBpbnN0ZWFkLiAgRXZlbiBpZiB0
aGUgbGF5ZXIncyBzaXplIGlzIHdyb25nLCB0aGUgbGF5ZXIgaXRzZWxmIHdpbGwgcmVwYWludAot
ICAgICAgICAvLyBhbnl3YXkgaWYgaXRzIHNpemUgZG9lcyBjaGFuZ2UuCi0gICAgICAgIHRvcExl
ZnQgLT0gY29udGFpbmVyQm94LT5zY3JvbGxlZENvbnRlbnRPZmZzZXQoKTsgLy8gRm9yIG92ZXJm
bG93OmF1dG8vc2Nyb2xsL2hpZGRlbi4KLQotICAgICAgICBMYXlvdXRSZWN0IHJlcGFpbnRSZWN0
KHRvcExlZnQsIHJlY3Quc2l6ZSgpKTsKLSAgICAgICAgTGF5b3V0UmVjdCBib3hSZWN0KExheW91
dFBvaW50KCksIGNvbnRhaW5lckJveC0+Y2FjaGVkU2l6ZUZvck92ZXJmbG93Q2xpcCgpKTsKLSAg
ICAgICAgcmVjdCA9IGludGVyc2VjdGlvbihyZXBhaW50UmVjdCwgYm94UmVjdCk7CisgICAgICAg
IGNvbnRhaW5lckJveC0+YXBwbHlDYWNoZWRDbGlwQW5kU2Nyb2xsT2Zmc2V0Rm9yUmVwYWludChy
ZWN0KTsKICAgICAgICAgaWYgKHJlY3QuaXNFbXB0eSgpKQogICAgICAgICAgICAgcmV0dXJuOwot
ICAgIH0gZWxzZQotICAgICAgICByZWN0LnNldExvY2F0aW9uKHRvcExlZnQpOworICAgIH0KIAog
ICAgIGlmIChjb250YWluZXJTa2lwcGVkKSB7CiAgICAgICAgIC8vIElmIHRoZSByZXBhaW50Q29u
dGFpbmVyIGlzIGJlbG93IG8sIHRoZW4gd2UgbmVlZCB0byBtYXAgdGhlIHJlY3QgaW50byByZXBh
aW50Q29udGFpbmVyJ3MgY29vcmRpbmF0ZXMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyLmNwcAppbmRleCBlYzM2MzJjYjIzMzYzMTU5MGMwNTlhMjkwOTcxOTRmMzhhMDQ5MWEx
Li42ZjJhOWZlMzY5ZGQxM2Y2NmEwNTJkZWIzZmFlNDYxYTM4NjI4OGI2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKQEAgLTI1OCw2ICsyNTgsMTkgQEAgdm9pZCBS
ZW5kZXJMYXllcjo6Y29udGVudENoYW5nZWQoQ29udGVudENoYW5nZVR5cGUgY2hhbmdlVHlwZSkK
IH0KICNlbmRpZiAvLyBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiAKKyNpZiBFTkFCTEUo
T1ZFUkZMT1dfU0NST0xMSU5HKQorYm9vbCBSZW5kZXJMYXllcjo6aGFzQWNjZWxlcmF0ZWRTY3Jv
bGxpbmcoKSBjb25zdAoreworICAgIGlmICghc2Nyb2xsc092ZXJmbG93KCkpCisgICAgICAgIHJl
dHVybiBmYWxzZTsKKyAgICBSZW5kZXJTdHlsZSogc3R5bGUgPSByZW5kZXJlcigpLT5zdHlsZSgp
OworICAgIC8vIEZJWE1FOiBPdXRsaW5lcyBjdXJyZW50bHkgZW5kIHVwIG9uIHRoZSBzY3JvbGxp
bmcgZm9yZWdyb3VuZCBsYXllci4KKyAgICBpZiAoc3R5bGUtPmhhc091dGxpbmUoKSkKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiBzdHlsZS0+dXNlVG91Y2hPdmVyZmxvd1Njcm9s
bGluZygpOworfQorI2VuZGlmCisKIGJvb2wgUmVuZGVyTGF5ZXI6OmNhblJlbmRlcjNEVHJhbnNm
b3JtcygpIGNvbnN0CiB7CiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQpAQCAtMTY0
Nyw3ICsxNjYwLDEyIEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnNjcm9sbFRvKGludCB4LCBpbnQgeSkK
ICAgICB9CiAKICAgICAvLyBKdXN0IHNjaGVkdWxlIGEgZnVsbCByZXBhaW50IG9mIG91ciBvYmpl
Y3QuCi0gICAgaWYgKHZpZXcpCisgICAgaWYgKHZpZXcKKyNpZiBFTkFCTEUoT1ZFUkZMT1dfU0NS
T0xMSU5HKQorICAgICAgICAvLyBQYWludGluZyBpcyBiZSBkcml2ZW4gYnkgdGhlIGNvbXBvc2l0
b3IgaW4gdGhlIGFjY2VsZXJhdGVkIHNjcm9sbGluZyBjYXNlLgorICAgICAgICAmJiAhaGFzQWNj
ZWxlcmF0ZWRTY3JvbGxpbmcoKQorI2VuZGlmCisgICAgICAgICkKICAgICAgICAgcmVuZGVyZXIo
KS0+cmVwYWludFVzaW5nQ29udGFpbmVyKHJlcGFpbnRDb250YWluZXIsIG1fcmVwYWludFJlY3Qp
OwogCiAgICAgLy8gU2NoZWR1bGUgdGhlIHNjcm9sbCBET00gZXZlbnQuCkBAIC0zMDg1LDcgKzMx
MDMsMTMgQEAgdm9pZCBSZW5kZXJMYXllcjo6cGFpbnRMYXllckNvbnRlbnRzKFJlbmRlckxheWVy
KiByb290TGF5ZXIsIEdyYXBoaWNzQ29udGV4dCogY28KICAgICAgICAgcGVyZm9ybU92ZXJsYXBU
ZXN0cygqb3ZlcmxhcFRlc3RSZXF1ZXN0cywgcm9vdExheWVyLCB0aGlzKTsKIAogICAgIC8vIFdl
IHdhbnQgdG8gcGFpbnQgb3VyIGxheWVyLCBidXQgb25seSBpZiB3ZSBpbnRlcnNlY3QgdGhlIGRh
bWFnZSByZWN0LgotICAgIHNob3VsZFBhaW50Q29udGVudCAmPSBpbnRlcnNlY3RzRGFtYWdlUmVj
dChsYXllckJvdW5kcywgZGFtYWdlUmVjdC5yZWN0KCksIHJvb3RMYXllcik7CisjaWYgRU5BQkxF
KE9WRVJGTE9XX1NDUk9MTElORykKKyAgICBpZiAoaGFzQWNjZWxlcmF0ZWRTY3JvbGxpbmcoKSAm
JiAobG9jYWxQYWludEZsYWdzICYgUGFpbnRMYXllclBhaW50aW5nQ29tcG9zaXRpbmdGb3JlZ3Jv
dW5kUGhhc2UpKSB7CisgICAgICAgIHVzZUNsaXBSZWN0ID0gZmFsc2U7CisgICAgICAgIGNsaXBS
ZWN0VG9BcHBseSA9IHBhaW50RGlydHlSZWN0OworICAgIH0gZWxzZQorI2VuZGlmCisgICAgICAg
IHNob3VsZFBhaW50Q29udGVudCAmPSBpbnRlcnNlY3RzRGFtYWdlUmVjdChsYXllckJvdW5kcywg
ZGFtYWdlUmVjdC5yZWN0KCksIHJvb3RMYXllcik7CiAgICAgCiAgICAgaWYgKGxvY2FsUGFpbnRG
bGFncyAmIFBhaW50TGF5ZXJQYWludGluZ0NvbXBvc2l0aW5nQmFja2dyb3VuZFBoYXNlKSB7CiAg
ICAgICAgIGlmIChzaG91bGRQYWludENvbnRlbnQgJiYgIXNlbGVjdGlvbk9ubHkpIHsKQEAgLTM4
OTcsNyArMzkyMSwxMSBAQCB2b2lkIFJlbmRlckxheWVyOjpjYWxjdWxhdGVDbGlwUmVjdHMoY29u
c3QgUmVuZGVyTGF5ZXIqIHJvb3RMYXllciwgUmVuZGVyUmVnaW9uKgogICAgICAgICAgICAgb2Zm
c2V0IC09IHZpZXctPmZyYW1lVmlldygpLT5zY3JvbGxPZmZzZXRGb3JGaXhlZFBvc2l0aW9uKCk7
CiAgICAgICAgIH0KICAgICAgICAgCi0gICAgICAgIGlmIChyZW5kZXJlcigpLT5oYXNPdmVyZmxv
d0NsaXAoKSkgeworICAgICAgICBpZiAocmVuZGVyZXIoKS0+aGFzT3ZlcmZsb3dDbGlwKCkKKyNp
ZiBFTkFCTEUoT1ZFUkZMT1dfU0NST0xMSU5HKQorICAgICAgICAgICAgJiYgIWhhc0FjY2VsZXJh
dGVkU2Nyb2xsaW5nKCkKKyNlbmRpZgorICAgICAgICAgICAgKSB7CiAgICAgICAgICAgICBDbGlw
UmVjdCBuZXdPdmVyZmxvd0NsaXAgPSB0b1JlbmRlckJveChyZW5kZXJlcigpKS0+b3ZlcmZsb3dD
bGlwUmVjdChvZmZzZXQsIHJlZ2lvbiwgcmVsZXZhbmN5KTsKICAgICAgICAgICAgIGlmIChyZW5k
ZXJlcigpLT5zdHlsZSgpLT5oYXNCb3JkZXJSYWRpdXMoKSkKICAgICAgICAgICAgICAgICBuZXdP
dmVyZmxvd0NsaXAuc2V0SGFzUmFkaXVzKHRydWUpOwpAQCAtNDA3MSw3ICs0MDk5LDExIEBAIHZv
aWQgUmVuZGVyTGF5ZXI6OnJlcGFpbnRCbG9ja1NlbGVjdGlvbkdhcHMoKQogCiAgICAgTGF5b3V0
UmVjdCByZWN0ID0gbV9ibG9ja1NlbGVjdGlvbkdhcHNCb3VuZHM7CiAgICAgcmVjdC5tb3ZlKC1z
Y3JvbGxlZENvbnRlbnRPZmZzZXQoKSk7Ci0gICAgaWYgKHJlbmRlcmVyKCktPmhhc092ZXJmbG93
Q2xpcCgpKQorICAgIGlmIChyZW5kZXJlcigpLT5oYXNPdmVyZmxvd0NsaXAoKQorI2lmIEVOQUJM
RShPVkVSRkxPV19TQ1JPTExJTkcpCisgICAgICAgICYmICFoYXNBY2NlbGVyYXRlZFNjcm9sbGlu
ZygpCisjZW5kaWYKKyAgICAgICAgKQogICAgICAgICByZWN0LmludGVyc2VjdCh0b1JlbmRlckJv
eChyZW5kZXJlcigpKS0+b3ZlcmZsb3dDbGlwUmVjdChMYXlvdXRQb2ludCgpLCAwKSk7IC8vIEZJ
WE1FOiBSZWdpb25zIG5vdCBhY2NvdW50ZWQgZm9yLgogICAgIGlmIChyZW5kZXJlcigpLT5oYXND
bGlwKCkpCiAgICAgICAgIHJlY3QuaW50ZXJzZWN0KHRvUmVuZGVyQm94KHJlbmRlcmVyKCkpLT5j
bGlwUmVjdChMYXlvdXRQb2ludCgpLCAwKSk7IC8vIEZJWE1FOiBSZWdpb25zIG5vdCBhY2NvdW50
ZWQgZm9yLgpAQCAtNDcwNCw2ICs0NzM2LDkgQEAgYm9vbCBSZW5kZXJMYXllcjo6c2hvdWxkQmVO
b3JtYWxGbG93T25seSgpIGNvbnN0CiAjaWYgRU5BQkxFKENTU19GSUxURVJTKQogICAgICAgICAg
ICAgJiYgIXJlbmRlcmVyKCktPmhhc0ZpbHRlcigpCiAjZW5kaWYKKyNpZiBFTkFCTEUoT1ZFUkZM
T1dfU0NST0xMSU5HKQorICAgICAgICAgICAgJiYgIWhhc0FjY2VsZXJhdGVkU2Nyb2xsaW5nKCkK
KyNlbmRpZgogICAgICAgICAgICAgJiYgIWlzVHJhbnNwYXJlbnQoKTsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaAppbmRleCA1YTVlMjQ0NmQ0NTEyOTg5NWRkMDhmZDM0
MDIxNDQyZDQ4ZDNkZmE5Li5mOGRjMDYzYTdiMWRhYWY0ZWY4NGE3ZWM2ODgzZmNjNzRhNWRlYjc5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaApAQCAtMzc4LDYgKzM3OCwx
MCBAQCBwdWJsaWM6CiAgICAgdm9pZCBjb250ZW50Q2hhbmdlZChDb250ZW50Q2hhbmdlVHlwZSk7
CiAjZW5kaWYKIAorI2lmIEVOQUJMRShPVkVSRkxPV19TQ1JPTExJTkcpCisgICAgdmlydHVhbCBi
b29sIGhhc0FjY2VsZXJhdGVkU2Nyb2xsaW5nKCkgY29uc3QgT1ZFUlJJREU7CisjZW5kaWYKKwog
ICAgIGJvb2wgY2FuUmVuZGVyM0RUcmFuc2Zvcm1zKCkgY29uc3Q7CiAKICAgICB2b2lkIHVwZGF0
ZUxheWVyUG9zaXRpb24oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMYXllckJhY2tpbmcuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxh
eWVyQmFja2luZy5jcHAKaW5kZXggYzg3YmJjZDI0NGRlMjkxZWQ5ZTllYzIwYTI3OGY0MWU4NzNk
ZmUzNy4uYTdkMTc3NTExNjVmNDI2ZWFmMzY3ZjJmNDJmMTg5Y2Y3Njk5NzI1MSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKQEAgLTEzMiw2
ICsxMzIsOSBAQCBSZW5kZXJMYXllckJhY2tpbmc6On5SZW5kZXJMYXllckJhY2tpbmcoKQogICAg
IHVwZGF0ZU92ZXJmbG93Q29udHJvbHNMYXllcnMoZmFsc2UsIGZhbHNlLCBmYWxzZSk7CiAgICAg
dXBkYXRlRm9yZWdyb3VuZExheWVyKGZhbHNlKTsKICAgICB1cGRhdGVNYXNrTGF5ZXIoZmFsc2Up
OworI2lmIEVOQUJMRShPVkVSRkxPV19TQ1JPTExJTkcpCisgICAgdXBkYXRlU2Nyb2xsaW5nTGF5
ZXIoZmFsc2UpOworI2VuZGlmCiAgICAgZGVzdHJveUdyYXBoaWNzTGF5ZXJzKCk7CiB9CiAKQEAg
LTE5NCw2ICsxOTcsMTAgQEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OmRlc3Ryb3lHcmFwaGlj
c0xheWVycygpCiAgICAgbV9mb3JlZ3JvdW5kTGF5ZXIgPSBudWxscHRyOwogICAgIG1fY2xpcHBp
bmdMYXllciA9IG51bGxwdHI7CiAgICAgbV9tYXNrTGF5ZXIgPSBudWxscHRyOworCisjaWYgRU5B
QkxFKE9WRVJGTE9XX1NDUk9MTElORykKKyAgICBtX3Njcm9sbGluZ0xheWVyID0gbnVsbHB0cjsK
KyNlbmRpZgogfQogCiB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlTGF5ZXJPcGFjaXR5
KGNvbnN0IFJlbmRlclN0eWxlKiBzdHlsZSkKQEAgLTIzOCw4ICsyNDUsNDEgQEAgc3RhdGljIGJv
b2wgbGF5ZXJPckFuY2VzdG9ySXNUcmFuc2Zvcm1lZChSZW5kZXJMYXllciogbGF5ZXIpCiAgICAg
cmV0dXJuIGZhbHNlOwogfQogCisjaWYgRU5BQkxFKE9WRVJGTE9XX1NDUk9MTElORykKK3N0YXRp
YyBib29sIGhhc1RvdWNoT3ZlcmZsb3dTY3JvbGxpbmcoY29uc3QgUmVuZGVyT2JqZWN0KiByZW5k
ZXJlcikKK3sKKyAgICBpZiAoIXJlbmRlcmVyLT5oYXNMYXllcigpIHx8ICFyZW5kZXJlci0+aXNC
b3hNb2RlbE9iamVjdCgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIHRvUmVu
ZGVyQm94TW9kZWxPYmplY3QocmVuZGVyZXIpLT5sYXllcigpLT5oYXNBY2NlbGVyYXRlZFNjcm9s
bGluZygpOworfQorCitzdGF0aWMgYm9vbCBsYXllck9yQW5jZXN0b3JJc1Njcm9sbGluZyhSZW5k
ZXJMYXllciogbGF5ZXIpCit7CisgICAgZm9yIChSZW5kZXJMYXllciogY3VyciA9IGxheWVyOyBj
dXJyOyBjdXJyID0gY3Vyci0+cGFyZW50KCkpIHsKKyAgICAgICAgaWYgKGhhc1RvdWNoT3ZlcmZs
b3dTY3JvbGxpbmcoY3Vyci0+cmVuZGVyZXIoKSkpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsK
KyAgICB9CisKKyAgICByZXR1cm4gZmFsc2U7Cit9CisjZW5kaWYKKworR3JhcGhpY3NMYXllciog
UmVuZGVyTGF5ZXJCYWNraW5nOjpwYXJlbnRGb3JTdWJsYXllcnMoKSBjb25zdAoreworI2lmIEVO
QUJMRShPVkVSRkxPV19TQ1JPTExJTkcpCisgICAgaWYgKG1fc2Nyb2xsaW5nTGF5ZXIpCisgICAg
ICAgIHJldHVybiBtX3Njcm9sbGluZ0xheWVyLmdldCgpOworI2VuZGlmCisgICAgcmV0dXJuIG1f
Y2xpcHBpbmdMYXllciA/IG1fY2xpcHBpbmdMYXllci5nZXQoKSA6IG1fZ3JhcGhpY3NMYXllci5n
ZXQoKTsKK30KKwogYm9vbCBSZW5kZXJMYXllckJhY2tpbmc6OnNob3VsZENsaXBDb21wb3NpdGVk
Qm91bmRzKCkgY29uc3QKIHsKKyNpZiBFTkFCTEUoT1ZFUkZMT1dfU0NST0xMSU5HKQorICAgIGlm
IChsYXllck9yQW5jZXN0b3JJc1Njcm9sbGluZyhtX293bmluZ0xheWVyKSkKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworI2VuZGlmCisKICAgICBpZiAobV91c2luZ1RpbGVkQ2FjaGVMYXllcikKICAg
ICAgICAgcmV0dXJuIHRydWU7CiAKQEAgLTMzMSw3ICszNzEsMTIgQEAgYm9vbCBSZW5kZXJMYXll
ckJhY2tpbmc6OnVwZGF0ZUdyYXBoaWNzTGF5ZXJDb25maWd1cmF0aW9uKCkKICAgICBib29sIGxh
eWVyQ29uZmlnQ2hhbmdlZCA9IGZhbHNlOwogICAgIGlmICh1cGRhdGVGb3JlZ3JvdW5kTGF5ZXIo
Y29tcG9zaXRvci0+bmVlZHNDb250ZW50c0NvbXBvc2l0aW5nTGF5ZXIobV9vd25pbmdMYXllcikp
KQogICAgICAgICBsYXllckNvbmZpZ0NoYW5nZWQgPSB0cnVlOwotICAgIAorCisjaWYgRU5BQkxF
KE9WRVJGTE9XX1NDUk9MTElORykKKyAgICBpZiAodXBkYXRlU2Nyb2xsaW5nTGF5ZXIoaGFzVG91
Y2hPdmVyZmxvd1Njcm9sbGluZyhyZW5kZXJlcikpKQorICAgICAgICBsYXllckNvbmZpZ0NoYW5n
ZWQgPSB0cnVlOworI2VuZGlmCisKICAgICBpZiAodXBkYXRlQ2xpcHBpbmdMYXllcnMoY29tcG9z
aXRvci0+Y2xpcHBlZEJ5QW5jZXN0b3IobV9vd25pbmdMYXllciksIGNvbXBvc2l0b3ItPmNsaXBz
Q29tcG9zaXRpbmdEZXNjZW5kYW50cyhtX293bmluZ0xheWVyKSkpCiAgICAgICAgIGxheWVyQ29u
ZmlnQ2hhbmdlZCA9IHRydWU7CiAKQEAgLTQ3NSw3ICs1MjAsNyBAQCB2b2lkIFJlbmRlckxheWVy
QmFja2luZzo6dXBkYXRlR3JhcGhpY3NMYXllckdlb21ldHJ5KCkKICAgICAgICAgZ3JhcGhpY3NM
YXllclBhcmVudExvY2F0aW9uID0gYW5jZXN0b3JDb21wb3NpdGluZ0JvdW5kcy5sb2NhdGlvbigp
OwogICAgIGVsc2UKICAgICAgICAgZ3JhcGhpY3NMYXllclBhcmVudExvY2F0aW9uID0gcmVuZGVy
ZXIoKS0+dmlldygpLT5kb2N1bWVudFJlY3QoKS5sb2NhdGlvbigpOwotICAgIAorCiAgICAgaWYg
KGNvbXBBbmNlc3RvciAmJiBtX2FuY2VzdG9yQ2xpcHBpbmdMYXllcikgewogICAgICAgICAvLyBD
YWxsIGNhbGN1bGF0ZVJlY3RzIHRvIGdldCB0aGUgYmFja2dyb3VuZFJlY3Qgd2hpY2ggaXMgd2hh
dCBpcyB1c2VkIHRvIGNsaXAgdGhlIGNvbnRlbnRzIG9mIHRoaXMKICAgICAgICAgLy8gbGF5ZXIu
IE5vdGUgdGhhdCB3ZSBjYWxsIGl0IHdpdGggdGVtcG9yYXJ5Q2xpcFJlY3RzID0gdHJ1ZSBiZWNh
dXNlIG5vcm1hbGx5IHdoZW4gY29tcHV0aW5nIGNsaXAgcmVjdHMKQEAgLTQ5Miw2ICs1MzcsMTUg
QEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZUdyYXBoaWNzTGF5ZXJHZW9tZXRyeSgp
CiAgICAgICAgIGdyYXBoaWNzTGF5ZXJQYXJlbnRMb2NhdGlvbiA9IHBhcmVudENsaXBSZWN0Lmxv
Y2F0aW9uKCk7CiAgICAgfQogCisjaWYgRU5BQkxFKE9WRVJGTE9XX1NDUk9MTElORykKKyAgICBp
ZiAoY29tcEFuY2VzdG9yICYmIGhhc1RvdWNoT3ZlcmZsb3dTY3JvbGxpbmcoY29tcEFuY2VzdG9y
LT5yZW5kZXJlcigpKSkgeworICAgICAgICBSZW5kZXJCb3gqIHJlbmRlckJveCA9IHRvUmVuZGVy
Qm94KGNvbXBBbmNlc3Rvci0+cmVuZGVyZXIoKSk7CisgICAgICAgIEludFNpemUgc2Nyb2xsT2Zm
c2V0ID0gY29tcEFuY2VzdG9yLT5zY3JvbGxlZENvbnRlbnRPZmZzZXQoKTsKKyAgICAgICAgSW50
UG9pbnQgc2Nyb2xsT3JpZ2luKHJlbmRlckJveC0+Ym9yZGVyTGVmdCgpLCByZW5kZXJCb3gtPmJv
cmRlclRvcCgpKTsKKyAgICAgICAgZ3JhcGhpY3NMYXllclBhcmVudExvY2F0aW9uID0gc2Nyb2xs
T3JpZ2luIC0gc2Nyb2xsT2Zmc2V0OworICAgIH0KKyNlbmRpZgorCiAgICAgbV9ncmFwaGljc0xh
eWVyLT5zZXRQb3NpdGlvbihGbG9hdFBvaW50KCkgKyAocmVsYXRpdmVDb21wb3NpdGluZ0JvdW5k
cy5sb2NhdGlvbigpIC0gZ3JhcGhpY3NMYXllclBhcmVudExvY2F0aW9uKSk7CiAgICAgbV9ncmFw
aGljc0xheWVyLT5zZXRPZmZzZXRGcm9tUmVuZGVyZXIobG9jYWxDb21wb3NpdGluZ0JvdW5kcy5s
b2NhdGlvbigpIC0gSW50UG9pbnQoKSk7CiAgICAgCkBAIC01NjEsNiArNjE1LDcgQEAgdm9pZCBS
ZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZUdyYXBoaWNzTGF5ZXJHZW9tZXRyeSgpCiAgICAgICAg
IEZsb2F0UG9pbnQgZm9yZWdyb3VuZFBvc2l0aW9uOwogICAgICAgICBGbG9hdFNpemUgZm9yZWdy
b3VuZFNpemUgPSBuZXdTaXplOwogICAgICAgICBJbnRTaXplIGZvcmVncm91bmRPZmZzZXQgPSBt
X2dyYXBoaWNzTGF5ZXItPm9mZnNldEZyb21SZW5kZXJlcigpOworICAgICAgICBib29sIGZvcmVn
cm91bmROZWVkc0Rpc3BsYXkgPSB0cnVlOwogICAgICAgICBpZiAobV9jbGlwcGluZ0xheWVyKSB7
CiAgICAgICAgICAgICAvLyBJZiB3ZSBoYXZlIGEgY2xpcHBpbmcgbGF5ZXIgKHdoaWNoIGNsaXBz
IGRlc2NlbmRhbnRzKSwgdGhlbiB0aGUgZm9yZWdyb3VuZCBsYXllciBpcyBhIGNoaWxkIG9mIGl0
LAogICAgICAgICAgICAgLy8gc28gdGhhdCBpdCBnZXRzIGNvcnJlY3RseSBzb3J0ZWQgd2l0aCBj
aGlsZHJlbi4gSW4gdGhhdCBjYXNlLCBwb3NpdGlvbiByZWxhdGl2ZSB0byB0aGUgY2xpcHBpbmcg
bGF5ZXIuCkBAIC01NjgsOSArNjIzLDI2IEBAIHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRh
dGVHcmFwaGljc0xheWVyR2VvbWV0cnkoKQogICAgICAgICAgICAgZm9yZWdyb3VuZE9mZnNldCA9
IGNsaXBwaW5nQm94LmxvY2F0aW9uKCkgLSBJbnRQb2ludCgpOwogICAgICAgICB9CiAKKyNpZiBF
TkFCTEUoT1ZFUkZMT1dfU0NST0xMSU5HKQorICAgICAgICBpZiAobV9zY3JvbGxpbmdMYXllcikg
eworICAgICAgICAgICAgSW50U2l6ZSBzY3JvbGxPZmZzZXQgPSBtX293bmluZ0xheWVyLT5zY3Jv
bGxlZENvbnRlbnRPZmZzZXQoKTsKKyAgICAgICAgICAgIEludFNpemUgc2Nyb2xsRGVsdGEgPSBz
Y3JvbGxPZmZzZXQgKyBtX3Njcm9sbGluZ0xheWVyLT5vZmZzZXRGcm9tUmVuZGVyZXIoKTsKKyAg
ICAgICAgICAgIEludFNpemUgdGFyZ2V0T2Zmc2V0ID0gZm9yZWdyb3VuZE9mZnNldCAtIHNjcm9s
bE9mZnNldDsKKworICAgICAgICAgICAgZm9yZWdyb3VuZE9mZnNldCA9IHRhcmdldE9mZnNldDsK
KyAgICAgICAgICAgIGZvcmVncm91bmRTaXplID0gSW50U2l6ZShtX293bmluZ0xheWVyLT5zY3Jv
bGxXaWR0aCgpLCBtX293bmluZ0xheWVyLT5zY3JvbGxIZWlnaHQoKSk7CisKKyAgICAgICAgICAg
IC8vIElmIG9ubHkgdGhlIHNjcm9sbCBvZmZzZXQgY2hhbmdlZCwgdGhlcmUncyBubyBuZWVkIHRv
IHRvIGludmFsaWRhdGUgdGhlIGVudGlyZSBsYXllci4KKyAgICAgICAgICAgIGlmICh0YXJnZXRP
ZmZzZXQgPT0gbV9mb3JlZ3JvdW5kTGF5ZXItPm9mZnNldEZyb21SZW5kZXJlcigpIC0gc2Nyb2xs
RGVsdGEgJiYgZm9yZWdyb3VuZFNpemUgPT0gbV9mb3JlZ3JvdW5kTGF5ZXItPnNpemUoKSkKKyAg
ICAgICAgICAgICAgICBmb3JlZ3JvdW5kTmVlZHNEaXNwbGF5ID0gZmFsc2U7CisKKyAgICAgICAg
ICAgIGlmIChmb3JlZ3JvdW5kT2Zmc2V0ICE9IG1fZm9yZWdyb3VuZExheWVyLT5vZmZzZXRGcm9t
UmVuZGVyZXIoKSB8fCBmb3JlZ3JvdW5kU2l6ZSAhPSBtX2ZvcmVncm91bmRMYXllci0+c2l6ZSgp
KQorICAgICAgICAgICAgICAgIGNvbXBvc2l0b3IoKS0+c2Nyb2xsaW5nTGF5ZXJEaWRDaGFuZ2Uo
bV9vd25pbmdMYXllcik7CisgICAgICAgIH0KKyNlbmRpZgogICAgICAgICBtX2ZvcmVncm91bmRM
YXllci0+c2V0UG9zaXRpb24oZm9yZWdyb3VuZFBvc2l0aW9uKTsKICAgICAgICAgbV9mb3JlZ3Jv
dW5kTGF5ZXItPnNldFNpemUoZm9yZWdyb3VuZFNpemUpOwotICAgICAgICBtX2ZvcmVncm91bmRM
YXllci0+c2V0T2Zmc2V0RnJvbVJlbmRlcmVyKGZvcmVncm91bmRPZmZzZXQpOworICAgICAgICBt
X2ZvcmVncm91bmRMYXllci0+c2V0T2Zmc2V0RnJvbVJlbmRlcmVyKGZvcmVncm91bmRPZmZzZXQs
IGZvcmVncm91bmROZWVkc0Rpc3BsYXkpOwogICAgIH0KIAogICAgIGlmIChtX293bmluZ0xheWVy
LT5yZWZsZWN0aW9uTGF5ZXIoKSAmJiBtX293bmluZ0xheWVyLT5yZWZsZWN0aW9uTGF5ZXIoKS0+
aXNDb21wb3NpdGVkKCkpIHsKQEAgLTU4NCw2ICs2NTYsMTQgQEAgdm9pZCBSZW5kZXJMYXllckJh
Y2tpbmc6OnVwZGF0ZUdyYXBoaWNzTGF5ZXJHZW9tZXRyeSgpCiAgICAgICAgIHJlZmxlY3Rpb25C
YWNraW5nLT5ncmFwaGljc0xheWVyKCktPnNldFJlcGxpY2F0ZWRMYXllclBvc2l0aW9uKEZsb2F0
UG9pbnQoKSArIChsYXllckJvdW5kcy5sb2NhdGlvbigpIC0gcmVmbGVjdGlvbkxheWVyQm91bmRz
LmxvY2F0aW9uKCkpKTsKICAgICB9CiAKKyNpZiBFTkFCTEUoT1ZFUkZMT1dfU0NST0xMSU5HKQor
ICAgIGlmIChtX3Njcm9sbGluZ0xheWVyKSB7CisgICAgICAgIEludFNpemUgc2Nyb2xsT2Zmc2V0
ID0gbV9vd25pbmdMYXllci0+c2Nyb2xsZWRDb250ZW50T2Zmc2V0KCk7CisgICAgICAgIG1fc2Ny
b2xsaW5nTGF5ZXItPnNldFBvc2l0aW9uKEZsb2F0UG9pbnQoLXNjcm9sbE9mZnNldC53aWR0aCgp
LCAtc2Nyb2xsT2Zmc2V0LmhlaWdodCgpKSk7CisgICAgICAgIG1fc2Nyb2xsaW5nTGF5ZXItPnNl
dE9mZnNldEZyb21SZW5kZXJlcigtc2Nyb2xsT2Zmc2V0KTsKKyAgICB9CisjZW5kaWYKKwogICAg
IG1fZ3JhcGhpY3NMYXllci0+c2V0Q29udGVudHNSZWN0KGNvbnRlbnRzQm94KCkpOwogCiAgICAg
Ly8gSWYgdGhpcyBsYXllciB3YXMgY3JlYXRlZCBqdXN0IGZvciBjbGlwcGluZyBvciB0byBhcHBs
eSBwZXJzcGVjdGl2ZSwgaXQgZG9lc24ndCBuZWVkIGl0cyBvd24gYmFja2luZyBzdG9yZS4KQEAg
LTYyMiw2ICs3MDIsMTMgQEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZUludGVybmFs
SGllcmFyY2h5KCkKICAgICAgICAgICAgIG1fbGF5ZXJGb3JTY3JvbGxDb3JuZXItPnJlbW92ZUZy
b21QYXJlbnQoKTsKICAgICAgICAgICAgIG1fZ3JhcGhpY3NMYXllci0+YWRkQ2hpbGQobV9sYXll
ckZvclNjcm9sbENvcm5lci5nZXQoKSk7CiAgICAgICAgIH0KKworI2lmIEVOQUJMRShPVkVSRkxP
V19TQ1JPTExJTkcpCisgICAgICAgIGlmIChtX3Njcm9sbGluZ0xheWVyKSB7CisgICAgICAgICAg
ICBtX3Njcm9sbGluZ0xheWVyLT5yZW1vdmVGcm9tUGFyZW50KCk7CisgICAgICAgICAgICBtX2Ns
aXBwaW5nTGF5ZXItPmFkZENoaWxkKG1fc2Nyb2xsaW5nTGF5ZXIuZ2V0KCkpOworICAgICAgICB9
CisjZW5kaWYKICAgICB9CiB9CiAKQEAgLTc3Nyw2ICs4NjQsMjggQEAgYm9vbCBSZW5kZXJMYXll
ckJhY2tpbmc6OnVwZGF0ZU1hc2tMYXllcihib29sIG5lZWRzTWFza0xheWVyKQogICAgIHJldHVy
biBsYXllckNoYW5nZWQ7CiB9CiAKKyNpZiBFTkFCTEUoT1ZFUkZMT1dfU0NST0xMSU5HKQorYm9v
bCBSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZVNjcm9sbGluZ0xheWVyKGJvb2wgbmVlZFNjcm9s
bGluZ0xheWVyKQoreworICAgIGJvb2wgbGF5ZXJDaGFuZ2VkID0gZmFsc2U7CisgICAgaWYgKG5l
ZWRTY3JvbGxpbmdMYXllcikgeworICAgICAgICBpZiAoIW1fc2Nyb2xsaW5nTGF5ZXIpIHsKKyAg
ICAgICAgICAgIG1fc2Nyb2xsaW5nTGF5ZXIgPSBjcmVhdGVHcmFwaGljc0xheWVyKCJTY3JvbGxp
bmcgTGF5ZXIiKTsKKyAgICAgICAgICAgIGxheWVyQ2hhbmdlZCA9IHRydWU7CisgICAgICAgIH0K
KyAgICB9IGVsc2UgaWYgKG1fc2Nyb2xsaW5nTGF5ZXIpIHsKKyAgICAgICAgbV9zY3JvbGxpbmdM
YXllci0+cmVtb3ZlRnJvbVBhcmVudCgpOworICAgICAgICBtX3Njcm9sbGluZ0xheWVyID0gbnVs
bHB0cjsKKyAgICAgICAgbGF5ZXJDaGFuZ2VkID0gdHJ1ZTsKKyAgICB9CisKKyAgICBpZiAobGF5
ZXJDaGFuZ2VkICYmIG1fb3duaW5nTGF5ZXItPnJlbmRlcmVyKCktPnZpZXcoKSkKKyAgICAgICAg
Y29tcG9zaXRvcigpLT5zY3JvbGxpbmdMYXllckRpZENoYW5nZShtX293bmluZ0xheWVyKTsKKwor
ICAgIHJldHVybiBsYXllckNoYW5nZWQ7Cit9CisjZW5kaWYgLy8gRU5BQkxFKE9WRVJGTE9XX1ND
Uk9MTElORykKKwogR3JhcGhpY3NMYXllclBhaW50aW5nUGhhc2UgUmVuZGVyTGF5ZXJCYWNraW5n
OjpwYWludGluZ1BoYXNlRm9yUHJpbWFyeUxheWVyKCkgY29uc3QKIHsKICAgICB1bnNpZ25lZCBw
aGFzZSA9IEdyYXBoaWNzTGF5ZXJQYWludEJhY2tncm91bmQ7CkBAIC0xMjMyLDggKzEzNDEsMTMg
QEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnBhaW50Q29udGVudHMoY29uc3QgR3JhcGhpY3NM
YXllciogZ3JhcGhpY3NMYXllciwgR3JhcGgKICAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uQ29va2llIGNvb2tpZSA9IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbFBhaW50KG1f
b3duaW5nTGF5ZXItPnJlbmRlcmVyKCktPmZyYW1lKCksICZjb250ZXh0LCBjbGlwKTsKIAogICAg
ICAgICAvLyBUaGUgZGlydHlSZWN0IGlzIGluIHRoZSBjb29yZHMgb2YgdGhlIHBhaW50aW5nIHJv
b3QuCi0gICAgICAgIEludFJlY3QgZGlydHlSZWN0ID0gY29tcG9zaXRlZEJvdW5kcygpOwotICAg
ICAgICBkaXJ0eVJlY3QuaW50ZXJzZWN0KGNsaXApOworICAgICAgICBJbnRSZWN0IGRpcnR5UmVj
dDsKKyNpZiBFTkFCTEUoT1ZFUkZMT1dfU0NST0xMSU5HKQorICAgICAgICBpZiAobV9vd25pbmdM
YXllci0+aGFzQWNjZWxlcmF0ZWRTY3JvbGxpbmcoKSAmJiBwYWludGluZ1BoYXNlID09IEdyYXBo
aWNzTGF5ZXJQYWludEZvcmVncm91bmQgJiYgZ3JhcGhpY3NMYXllciA9PSBtX2ZvcmVncm91bmRM
YXllci5nZXQoKSkKKyAgICAgICAgICAgIGRpcnR5UmVjdCA9IGNsaXA7CisgICAgICAgIGVsc2UK
KyNlbmRpZgorICAgICAgICAgICAgZGlydHlSZWN0ID0gaW50ZXJzZWN0aW9uKGNvbXBvc2l0ZWRC
b3VuZHMoKSwgY2xpcCk7CiAKICAgICAgICAgLy8gV2UgaGF2ZSB0byB1c2UgdGhlIHNhbWUgcm9v
dCBhcyBmb3IgaGl0IHRlc3RpbmcsIGJlY2F1c2UgYm90aCBtZXRob2RzIGNhbiBjb21wdXRlIGFu
ZCBjYWNoZSBjbGlwUmVjdHMuCiAgICAgICAgIHBhaW50SW50b0xheWVyKG1fb3duaW5nTGF5ZXIs
ICZjb250ZXh0LCBkaXJ0eVJlY3QsIFBhaW50QmVoYXZpb3JOb3JtYWwsIHBhaW50aW5nUGhhc2Us
IHJlbmRlcmVyKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyQmFja2luZy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFj
a2luZy5oCmluZGV4IGQ4NzE4ODU4ZWFmNmJjZTQxOTAwNGI2MTk0OWYyZmUxOTBiMGQzODIuLjIy
NDk5MDY3NTNjZWQ0YzQzMTY3OThkMWEwZDdiNjM0ZTBjMzgxMzEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmgKQEAgLTgzLDEwICs4MywxNSBAQCBw
dWJsaWM6CiAKICAgICBib29sIGhhc0NvbnRlbnRzTGF5ZXIoKSBjb25zdCB7IHJldHVybiBtX2Zv
cmVncm91bmRMYXllciAhPSAwOyB9CiAgICAgR3JhcGhpY3NMYXllciogZm9yZWdyb3VuZExheWVy
KCkgY29uc3QgeyByZXR1cm4gbV9mb3JlZ3JvdW5kTGF5ZXIuZ2V0KCk7IH0KKworI2lmIEVOQUJM
RShPVkVSRkxPV19TQ1JPTExJTkcpCisgICAgYm9vbCBoYXNTY3JvbGxpbmdMYXllcigpIGNvbnN0
IHsgcmV0dXJuIG1fc2Nyb2xsaW5nTGF5ZXI7IH0KKyAgICBHcmFwaGljc0xheWVyKiBzY3JvbGxp
bmdMYXllcigpIGNvbnN0IHsgcmV0dXJuIG1fc2Nyb2xsaW5nTGF5ZXIuZ2V0KCk7IH0KKyNlbmRp
ZgogICAgIAogICAgIGJvb2wgaGFzTWFza0xheWVyKCkgY29uc3QgeyByZXR1cm4gbV9tYXNrTGF5
ZXIgIT0gMDsgfQogCi0gICAgR3JhcGhpY3NMYXllciogcGFyZW50Rm9yU3VibGF5ZXJzKCkgY29u
c3QgeyByZXR1cm4gbV9jbGlwcGluZ0xheWVyID8gbV9jbGlwcGluZ0xheWVyLmdldCgpIDogbV9n
cmFwaGljc0xheWVyLmdldCgpOyB9CisgICAgR3JhcGhpY3NMYXllciogcGFyZW50Rm9yU3VibGF5
ZXJzKCkgY29uc3Q7CiAgICAgR3JhcGhpY3NMYXllciogY2hpbGRGb3JTdXBlcmxheWVycygpIGNv
bnN0IHsgcmV0dXJuIG1fYW5jZXN0b3JDbGlwcGluZ0xheWVyID8gbV9hbmNlc3RvckNsaXBwaW5n
TGF5ZXIuZ2V0KCkgOiBtX2dyYXBoaWNzTGF5ZXIuZ2V0KCk7IH0KIAogICAgIC8vIFJlbmRlckxh
eWVycyB3aXRoIGJhY2tpbmcgbm9ybWFsbHkgc2hvcnQtY2lyY3VpdCBwYWludExheWVyKCkgYmVj
YXVzZQpAQCAtMTgxLDYgKzE4NiwxMCBAQCBwcml2YXRlOgogICAgIGJvb2wgcmVxdWlyZXNIb3Jp
em9udGFsU2Nyb2xsYmFyTGF5ZXIoKSBjb25zdDsKICAgICBib29sIHJlcXVpcmVzVmVydGljYWxT
Y3JvbGxiYXJMYXllcigpIGNvbnN0OwogICAgIGJvb2wgcmVxdWlyZXNTY3JvbGxDb3JuZXJMYXll
cigpIGNvbnN0OworI2lmIEVOQUJMRShPVkVSRkxPV19TQ1JPTExJTkcpCisgICAgYm9vbCB1cGRh
dGVCYWNrZ3JvdW5kTGF5ZXIoYm9vbCBuZWVkc0JhY2tncm91bmRMYXllcik7CisgICAgYm9vbCB1
cGRhdGVTY3JvbGxpbmdMYXllcihib29sIG5lZWRTY3JvbGxpbmdMYXllcik7CisjZW5kaWYKIAog
ICAgIEdyYXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlIHBhaW50aW5nUGhhc2VGb3JQcmltYXJ5TGF5
ZXIoKSBjb25zdDsKICAgICAKQEAgLTIzNyw2ICsyNDYsMTEgQEAgcHJpdmF0ZToKICAgICBPd25Q
dHI8R3JhcGhpY3NMYXllcj4gbV9sYXllckZvclZlcnRpY2FsU2Nyb2xsYmFyOwogICAgIE93blB0
cjxHcmFwaGljc0xheWVyPiBtX2xheWVyRm9yU2Nyb2xsQ29ybmVyOwogCisjaWYgRU5BQkxFKE9W
RVJGTE9XX1NDUk9MTElORykKKyAgICAvLyBPbmx5IHVzZWQgaWYgdGhlIGxheWVyIGlzIHNjcm9s
bGFibGUuCisgICAgT3duUHRyPEdyYXBoaWNzTGF5ZXI+IG1fc2Nyb2xsaW5nTGF5ZXI7CisjZW5k
aWYKKwogICAgIEludFJlY3QgbV9jb21wb3NpdGVkQm91bmRzOwogCiAgICAgYm9vbCBtX2FydGlm
aWNpYWxseUluZmxhdGVkQm91bmRzOyAgICAgIC8vIGJvdW5kcyBoYWQgdG8gYmUgbWFkZSBub24t
emVybyB0byBtYWtlIHRyYW5zZm9ybS1vcmlnaW4gd29yawpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcAppbmRleCAxNDY2ZTM5YmFlMzQ2
N2I0MmIzZTMxMzJiYzMxMjU0OWIxMmE5YTFhLi40ZDY2NmQxOWI3NjRkYTA3YzM5YjRjNTA2YTZl
ZTM1YzA5MDQ4NjQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXJDb21wb3NpdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXJDb21wb3NpdG9yLmNwcApAQCAtNzg1LDYgKzc4NSwxMiBAQCB2b2lkIFJlbmRlckxheWVy
Q29tcG9zaXRvcjo6Y29tcHV0ZUNvbXBvc2l0aW5nUmVxdWlyZW1lbnRzKFJlbmRlckxheWVyKiBh
bmNlc3RvcgogCiAgICAgYm9vbCBhbnlEZXNjZW5kYW50SGFzM0RUcmFuc2Zvcm0gPSBmYWxzZTsK
IAorI2lmIEVOQUJMRShPVkVSRkxPV19TQ1JPTExJTkcpCisgICAgLy8gU2Nyb2xsaW5nIGxheWVy
cyBuZWVkIHRvIGNsaXAgdGhlIHNjcm9sbGluZyBjb250ZW50LgorICAgIGlmICh3aWxsQmVDb21w
b3NpdGVkICYmIGxheWVyLT5pc1N0YWNraW5nQ29udGV4dCgpICYmIGxheWVyLT5yZW5kZXJlcigp
LT5oYXNPdmVyZmxvd0NsaXAoKSkKKyAgICAgICAgY2hpbGRTdGF0ZS5tX3N1YnRyZWVJc0NvbXBv
c2l0aW5nID0gdHJ1ZTsKKyNlbmRpZgorCiAgICAgaWYgKGxheWVyLT5pc1N0YWNraW5nQ29udGV4
dCgpKSB7CiAgICAgICAgIGlmIChWZWN0b3I8UmVuZGVyTGF5ZXIqPiogbmVnWk9yZGVyTGlzdCA9
IGxheWVyLT5uZWdaT3JkZXJMaXN0KCkpIHsKICAgICAgICAgICAgIHNpemVfdCBsaXN0U2l6ZSA9
IG5lZ1pPcmRlckxpc3QtPnNpemUoKTsKQEAgLTEwOTksNiArMTEwNSwxNSBAQCB2b2lkIFJlbmRl
ckxheWVyQ29tcG9zaXRvcjo6ZnJhbWVWaWV3RGlkU2Nyb2xsKCkKICAgICBtX3Njcm9sbExheWVy
LT5zZXRQb3NpdGlvbihGbG9hdFBvaW50KC1zY3JvbGxQb3NpdGlvbi54KCksIC1zY3JvbGxQb3Np
dGlvbi55KCkpKTsKIH0KIAorI2lmIEVOQUJMRShPVkVSRkxPV19TQ1JPTExJTkcpCit2b2lkIFJl
bmRlckxheWVyQ29tcG9zaXRvcjo6c2Nyb2xsaW5nTGF5ZXJEaWRDaGFuZ2UoUmVuZGVyTGF5ZXIq
IGxheWVyKQoreworICAgIFJlbmRlckxheWVyQmFja2luZyogYmFja2luZyA9IGxheWVyLT5iYWNr
aW5nKCk7CisgICAgaWYgKFNjcm9sbGluZ0Nvb3JkaW5hdG9yKiBzY3JvbGxpbmdDb29yZGluYXRv
ciA9IHRoaXMtPnNjcm9sbGluZ0Nvb3JkaW5hdG9yKCkpCisgICAgICAgIHNjcm9sbGluZ0Nvb3Jk
aW5hdG9yLT5zY3JvbGxhYmxlQXJlYVNjcm9sbExheWVyRGlkQ2hhbmdlKGxheWVyLCBiYWNraW5n
ID8gYmFja2luZy0+c2Nyb2xsaW5nTGF5ZXIoKSA6IDApOworfQorI2VuZGlmCisKIFN0cmluZyBS
ZW5kZXJMYXllckNvbXBvc2l0b3I6OmxheWVyVHJlZUFzVGV4dChib29sIHNob3dEZWJ1Z0luZm8p
CiB7CiAgICAgdXBkYXRlQ29tcG9zaXRpbmdMYXllcnMoQ29tcG9zaXRpbmdVcGRhdGVBZnRlckxh
eW91dCk7CkBAIC0xNDUxLDcgKzE0NjYsOCBAQCBib29sIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6
cmVxdWlyZXNDb21wb3NpdGluZ0xheWVyKGNvbnN0IFJlbmRlckxheWVyKiBsYXllcikgYwogICAg
ICAgICB8fCBjbGlwc0NvbXBvc2l0aW5nRGVzY2VuZGFudHMobGF5ZXIpCiAgICAgICAgIHx8IHJl
cXVpcmVzQ29tcG9zaXRpbmdGb3JBbmltYXRpb24ocmVuZGVyZXIpCiAgICAgICAgIHx8IHJlcXVp
cmVzQ29tcG9zaXRpbmdGb3JGaWx0ZXJzKHJlbmRlcmVyKQotICAgICAgICB8fCByZXF1aXJlc0Nv
bXBvc2l0aW5nRm9yUG9zaXRpb24ocmVuZGVyZXIsIGxheWVyKTsKKyAgICAgICAgfHwgcmVxdWly
ZXNDb21wb3NpdGluZ0ZvclBvc2l0aW9uKHJlbmRlcmVyLCBsYXllcikKKyAgICAgICAgfHwgcmVx
dWlyZXNDb21wb3NpdGluZ0Zvck92ZXJmbG93U2Nyb2xsKHJlbmRlcmVyKTsKIH0KIAogYm9vbCBS
ZW5kZXJMYXllckNvbXBvc2l0b3I6OmNhbkJlQ29tcG9zaXRlZChjb25zdCBSZW5kZXJMYXllciog
bGF5ZXIpIGNvbnN0CkBAIC0xNDgwLDYgKzE0OTYsNyBAQCBib29sIFJlbmRlckxheWVyQ29tcG9z
aXRvcjo6cmVxdWlyZXNPd25CYWNraW5nU3RvcmUoY29uc3QgUmVuZGVyTGF5ZXIqIGxheWVyLCBj
bwogICAgICAgICB8fCByZXF1aXJlc0NvbXBvc2l0aW5nRm9yQW5pbWF0aW9uKHJlbmRlcmVyKQog
ICAgICAgICB8fCByZXF1aXJlc0NvbXBvc2l0aW5nRm9yRmlsdGVycyhyZW5kZXJlcikKICAgICAg
ICAgfHwgcmVxdWlyZXNDb21wb3NpdGluZ0ZvclBvc2l0aW9uKHJlbmRlcmVyLCBsYXllcikKKyAg
ICAgICAgfHwgcmVxdWlyZXNDb21wb3NpdGluZ0Zvck92ZXJmbG93U2Nyb2xsKHJlbmRlcmVyKQog
ICAgICAgICB8fCByZW5kZXJlci0+aXNUcmFuc3BhcmVudCgpCiAgICAgICAgIHx8IHJlbmRlcmVy
LT5oYXNNYXNrKCkKICAgICAgICAgfHwgcmVuZGVyZXItPmhhc1JlZmxlY3Rpb24oKQpAQCAtMTg0
MCw2ICsxODU3LDE2IEBAIGJvb2wgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpyZXF1aXJlc0NvbXBv
c2l0aW5nRm9yUG9zaXRpb24oUmVuZGVyT2JqZWN0KiByZW5kZXJlCiAgICAgcmV0dXJuIHRydWU7
CiB9CiAKK2Jvb2wgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpyZXF1aXJlc0NvbXBvc2l0aW5nRm9y
T3ZlcmZsb3dTY3JvbGwoUmVuZGVyT2JqZWN0KiByZW5kZXJlcikgY29uc3QKK3sKKyNpZiBFTkFC
TEUoT1ZFUkZMT1dfU0NST0xMSU5HKQorICAgIHJldHVybiByZW5kZXJlci0+aGFzTGF5ZXIoKSAm
JiB0b1JlbmRlckJveE1vZGVsT2JqZWN0KHJlbmRlcmVyKS0+bGF5ZXIoKS0+aGFzQWNjZWxlcmF0
ZWRTY3JvbGxpbmcoKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKHJlbmRlcmVyKTsKKyAgICBy
ZXR1cm4gZmFsc2U7CisjZW5kaWYKK30KKwogYm9vbCBSZW5kZXJMYXllckNvbXBvc2l0b3I6Omlz
UnVubmluZ0FjY2VsZXJhdGVkVHJhbnNmb3JtQW5pbWF0aW9uKFJlbmRlck9iamVjdCogcmVuZGVy
ZXIpIGNvbnN0CiB7CiAgICAgaWYgKCEobV9jb21wb3NpdGluZ1RyaWdnZXJzICYgQ2hyb21lQ2xp
ZW50OjpBbmltYXRpb25UcmlnZ2VyKSkKQEAgLTE4NTYsNiArMTg4MywxMCBAQCBib29sIFJlbmRl
ckxheWVyQ29tcG9zaXRvcjo6aXNSdW5uaW5nQWNjZWxlcmF0ZWRUcmFuc2Zvcm1BbmltYXRpb24o
UmVuZGVyT2JqZWN0KgogLy8gb2JqZWN0LgogYm9vbCBSZW5kZXJMYXllckNvbXBvc2l0b3I6Om5l
ZWRzQ29udGVudHNDb21wb3NpdGluZ0xheWVyKGNvbnN0IFJlbmRlckxheWVyKiBsYXllcikgY29u
c3QKIHsKKyNpZiBFTkFCTEUoT1ZFUkZMT1dfU0NST0xMSU5HKQorICAgIGlmIChsYXllci0+cmVu
ZGVyZXIoKS0+c3R5bGUoKS0+dXNlVG91Y2hPdmVyZmxvd1Njcm9sbGluZygpKQorICAgICAgICBy
ZXR1cm4gdHJ1ZTsKKyNlbmRpZgogICAgIHJldHVybiBsYXllci0+aGFzTmVnYXRpdmVaT3JkZXJM
aXN0KCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllckNvbXBvc2l0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNv
bXBvc2l0b3IuaAppbmRleCBmZjI0Yzk2NDhhMTJlOTA3ODhmY2ZjYTQ1MTAyZGY0MDI2MzQ4YWM2
Li44N2FkY2UxNDNjYWE2OWI2ZWU0NDJkZDQ4MDkxZTZlN2Y2Y2MxYjQ4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5oCkBAIC0xOTIsNiAr
MTkyLDEwIEBAIHB1YmxpYzoKICAgICB2b2lkIGZyYW1lVmlld0RpZENoYW5nZVNpemUoKTsKICAg
ICB2b2lkIGZyYW1lVmlld0RpZFNjcm9sbCgpOwogCisjaWYgRU5BQkxFKE9WRVJGTE9XX1NDUk9M
TElORykKKyAgICB2b2lkIHNjcm9sbGluZ0xheWVyRGlkQ2hhbmdlKFJlbmRlckxheWVyKik7Cisj
ZW5kaWYKKwogICAgIFN0cmluZyBsYXllclRyZWVBc1RleHQoYm9vbCBzaG93RGVidWdJbmZvID0g
ZmFsc2UpOwogCiAgICAgLy8gVGhlc2UgYXJlIG5hbWVkIHRvIGF2b2lkIGNvbmZsaWN0cyB3aXRo
IHRoZSBmdW5jdGlvbnMgaW4gR3JhcGhpY3NMYXllckNsaWVudApAQCAtMjkyLDYgKzI5Niw3IEBA
IHByaXZhdGU6CiAgICAgYm9vbCByZXF1aXJlc0NvbXBvc2l0aW5nRm9yRmlsdGVycyhSZW5kZXJP
YmplY3QqKSBjb25zdDsKICAgICBib29sIHJlcXVpcmVzQ29tcG9zaXRpbmdGb3JTY3JvbGxhYmxl
RnJhbWUoKSBjb25zdDsKICAgICBib29sIHJlcXVpcmVzQ29tcG9zaXRpbmdGb3JQb3NpdGlvbihS
ZW5kZXJPYmplY3QqLCBjb25zdCBSZW5kZXJMYXllciopIGNvbnN0OworICAgIGJvb2wgcmVxdWly
ZXNDb21wb3NpdGluZ0Zvck92ZXJmbG93U2Nyb2xsKFJlbmRlck9iamVjdCopIGNvbnN0OwogICAg
IGJvb2wgcmVxdWlyZXNDb21wb3NpdGluZ0ZvckluZGlyZWN0UmVhc29uKFJlbmRlck9iamVjdCos
IGJvb2wgaGFzQ29tcG9zaXRlZERlc2NlbmRhbnRzLCBib29sIGhhczNEVHJhbnNmb3JtZWREZXNj
ZW5kYW50cywgUmVuZGVyTGF5ZXI6OkluZGlyZWN0Q29tcG9zaXRpbmdSZWFzb24mKSBjb25zdDsK
IAogICAgIGJvb2wgcmVxdWlyZXNTY3JvbGxMYXllcihSb290TGF5ZXJBdHRhY2htZW50KSBjb25z
dDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKaW5kZXggNTYzZTU5
NDNhZDkxMTU5Yzg1MzM3YTdkN2NlOTRkOGFlOThjNmE4ZC4uOTA4NDA0NTU2NThkNjNlNDk1ZTNh
ZGFiYjNkMmIxNGRlNmYxMjIxNiAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlck9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9i
amVjdC5jcHAKQEAgLTE0NDYsMTYgKzE0NDYsOCBAQCB2b2lkIFJlbmRlck9iamVjdDo6Y29tcHV0
ZVJlY3RGb3JSZXBhaW50KFJlbmRlckJveE1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyLAog
ICAgICAgICB9CiAKICAgICAgICAgaWYgKG8tPmhhc092ZXJmbG93Q2xpcCgpKSB7Ci0gICAgICAg
ICAgICAvLyBvLT5oZWlnaHQoKSBpcyBpbmFjY3VyYXRlIGlmIHdlJ3JlIGluIHRoZSBtaWRkbGUg
b2YgYSBsYXlvdXQgb2YgfG98LCBzbyB1c2UgdGhlCi0gICAgICAgICAgICAvLyBsYXllcidzIHNp
emUgaW5zdGVhZC4gIEV2ZW4gaWYgdGhlIGxheWVyJ3Mgc2l6ZSBpcyB3cm9uZywgdGhlIGxheWVy
IGl0c2VsZiB3aWxsIHJlcGFpbnQKLSAgICAgICAgICAgIC8vIGFueXdheSBpZiBpdHMgc2l6ZSBk
b2VzIGNoYW5nZS4KICAgICAgICAgICAgIFJlbmRlckJveCogYm94UGFyZW50ID0gdG9SZW5kZXJC
b3gobyk7Ci0KLSAgICAgICAgICAgIExheW91dFJlY3QgcmVwYWludFJlY3QocmVjdCk7Ci0gICAg
ICAgICAgICByZXBhaW50UmVjdC5tb3ZlKC1ib3hQYXJlbnQtPnNjcm9sbGVkQ29udGVudE9mZnNl
dCgpKTsgLy8gRm9yIG92ZXJmbG93OmF1dG8vc2Nyb2xsL2hpZGRlbi4KLQotICAgICAgICAgICAg
TGF5b3V0UmVjdCBib3hSZWN0KExheW91dFBvaW50KCksIGJveFBhcmVudC0+Y2FjaGVkU2l6ZUZv
ck92ZXJmbG93Q2xpcCgpKTsKLSAgICAgICAgICAgIHJlY3QgPSBpbnRlcnNlY3Rpb24ocmVwYWlu
dFJlY3QsIGJveFJlY3QpOworICAgICAgICAgICAgYm94UGFyZW50LT5hcHBseUNhY2hlZENsaXBB
bmRTY3JvbGxPZmZzZXRGb3JSZXBhaW50KHJlY3QpOwogICAgICAgICAgICAgaWYgKHJlY3QuaXNF
bXB0eSgpKQogICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNTg4ZGUxYjgwZDQ0
YmZlY2FmZjI2YTc1ZTViNmU2NDRlYmRjYmZjZi4uNmNlNmMwMDlmMDk5NzhhOTEzYzMwNWFmNzI4
OWEzNGRiMjY5ZjEwNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
VGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0
RXhwZWN0YXRpb25zCkBAIC0zNTIyLDYgKzM1MjIsOCBAQCBCVUdXSzg0ODQ3IFdJTiA6IGluc3Bl
Y3Rvci90aW1lbGluZS90aW1lbGluZS1zdGFydC10aW1lLmh0bWwgPSBURVhUIFBBU1MKIEJVR1dL
ODUwMDMgV0lOIDogbWVkaWEvdmlkZW8tY3VycmVudFRpbWUtc2V0Lmh0bWwgPSBQQVNTIFRFWFQK
IAogQlVHV0s3ODY2NCA6IHBsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL292ZXJmbG93L292
ZXJmbG93LXNjcm9sbGluZy10b3VjaC1zdGFja2luZy1jb250ZXh0Lmh0bWwgPSBJTUFHRStURVhU
CitCVUdXSzc4NjY0IDogcGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcvb3ZlcmZsb3cvb3Zl
cmZsb3ctc2Nyb2xsaW5nLXRvdWNoLWhpZGRlbi1vdmVyZmxvdy5odG1sID0gSU1BR0UrVEVYVAor
QlVHV0s3ODY2NCA6IHBsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL292ZXJmbG93L292ZXJm
bG93LXNjcm9sbGluZy10b3VjaC1sYXllcnMuaHRtbCA9IFRFWFQKIAogQlVHV0s4NTAzOCA6IGh0
dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvbmV0d29yay1pbml0aWF0b3IuaHRtbCA9IFRFWFQg
VElNRU9VVAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21w
b3NpdGluZy9vdmVyZmxvdy9vdmVyZmxvdy1zY3JvbGxpbmctdG91Y2gtaGlkZGVuLW92ZXJmbG93
LWV4cGVjdGVkLnBuZyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5n
L292ZXJmbG93L292ZXJmbG93LXNjcm9sbGluZy10b3VjaC1oaWRkZW4tb3ZlcmZsb3ctZXhwZWN0
ZWQucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjQ3YWVkM2NmNGM0N2VjZTJmYmY3YWQxMTE5ODM1NDVlZjE3OWMy
N2IKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDI4NjQKemNtZUFTQE4/KG9sSHlgdVZCcSFpYTB5
fnlVeyt2WVYyYT5pMCpaKT1oXmhsQSVAV3MkbEhgb2s8bX0/b1QhdTdyCnpsU0ZmS0xzSlgkRz1z
IXMzc1pCbTZyJlYjVzg8XyRMbjlMLSE9eUU5T1JYNmd4REkpYElFR1pyZDMob0B0SG5YVQp6XzJB
c3BfcXl9Oypmd3JCPTxLQGNsNHNxSTdZV3pTKUcjby1zQ2g1UCEwXkcwaUpMKHxaMzY+QzUrLUIr
PUp1YFkKendhZm94bihaJVJXYmw5OSNMNkhiOUtwYX4qZnsoYyhaPEUhKiUldGEzbEIwZWJhM2kw
R3xWX0skYH1vVihVZFRuCnIzcjJJblhmN0RkMSo1ck9HI0FoKDdzeGdXQFVESi1DT2pWNDFaTURi
Xj5iUDBsK1hrS1RfR0J+CgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9vdmVyZmxvdy9vdmVyZmxvdy1z
Y3JvbGxpbmctdG91Y2gtaGlkZGVuLW92ZXJmbG93LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL292ZXJmbG93L292ZXJmbG93LXNjcm9sbGlu
Zy10b3VjaC1oaWRkZW4tb3ZlcmZsb3ctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc5N2UyYzdk
MDkzYjdmMzBjYzlkMzgzYmE3MTM5YTQ5NmZkZWRkNDQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9vdmVyZmxvdy9vdmVyZmxvdy1z
Y3JvbGxpbmctdG91Y2gtaGlkZGVuLW92ZXJmbG93LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEx
IEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBz
aXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDgKKyAgUmVuZGVyQmxvY2sge0hU
TUx9IGF0ICgwLDApIHNpemUgODAweDgKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBz
aXplIDc4NHgwCitsYXllciBhdCAoOCw4KSBzaXplIDUweDUwCisgIFJlbmRlckJsb2NrIChwb3Np
dGlvbmVkKSB7RElWfSBhdCAoOCw4KSBzaXplIDUweDUwCitsYXllciBhdCAoOCw4KSBzaXplIDUw
eDUwCisgIFJlbmRlckJsb2NrIChwb3NpdGlvbmVkKSB6STogMSB7RElWfSBhdCAoMCwwKSBzaXpl
IDUweDUwIFtiZ2NvbG9yPSNGRjAwMDBdCitsYXllciBhdCAoOCw4KSBzaXplIDUweDUwCisgIFJl
bmRlckJsb2NrIChwb3NpdGlvbmVkKSB6STogMiB7RElWfSBhdCAoOCw4KSBzaXplIDUweDUwIFti
Z2NvbG9yPSMwMDgwMDBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS9jb21wb3NpdGluZy9vdmVyZmxvdy9vdmVyZmxvdy1zY3JvbGxpbmctdG91Y2gtaGlkZGVuLW92
ZXJmbG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9v
dmVyZmxvdy9vdmVyZmxvdy1zY3JvbGxpbmctdG91Y2gtaGlkZGVuLW92ZXJmbG93Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYmExYmI0NjM5ZWYxNzUzMmY2NDVlNDNkZGE0ZmM1OTM0NGViMDExNgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL292
ZXJmbG93L292ZXJmbG93LXNjcm9sbGluZy10b3VjaC1oaWRkZW4tb3ZlcmZsb3cuaHRtbApAQCAt
MCwwICsxLDM4IEBACis8IURPQ1RZUEUgaHRtbD4KKworPGh0bWw+Cis8aGVhZD4KKyAgPHN0eWxl
IHR5cGU9InRleHQvY3NzIj4KKyAgICAuYm94IHsKKyAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsK
KyAgICAgIHdpZHRoOiA1MHB4OworICAgICAgaGVpZ2h0OiA1MHB4OworICAgIH0KKworICAgIC5z
Y3JvbGxhYmxlIHsKKyAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsKKyAg
ICAgIG92ZXJmbG93OiBoaWRkZW47CisgICAgfQorCisgICAgLmluZGljYXRvciB7CisgICAgICBi
YWNrZ3JvdW5kOiByZWQ7CisgICAgICB6LWluZGV4OiAxOworICAgIH0KKworICAgIC50ZXN0IHsK
KyAgICAgIGJhY2tncm91bmQ6IGdyZWVuOworICAgICAgei1pbmRleDogMjsKKyAgICB9CisgIDwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKworICA8IS0tIENoZWNrIHRoYXQgYSB0b3VjaCBvdmVy
ZmxvdyBzY3JvbGxhYmxlIGVsZW1lbnQgZG9lcyBub3QgZ2V0IGEgc3RhY2tpbmcKKyAgICAgICBj
b250ZXh0IGlmIGl0IHVzZXMgb3ZlcmZsb3c6IGhpZGRlbi4gLS0+CisgIDxkaXYgY2xhc3M9InNj
cm9sbGFibGUgYm94Ij4KKyAgICA8ZGl2IGNsYXNzPSJpbmRpY2F0b3IgYm94Ij48L2Rpdj4KKyAg
PC9kaXY+CisgIDxkaXYgY2xhc3M9InRlc3QgYm94Ij48L2Rpdj4KKworPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcv
b3ZlcmZsb3cvb3ZlcmZsb3ctc2Nyb2xsaW5nLXRvdWNoLWxheWVycy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9vdmVyZmxvdy9vdmVyZmxv
dy1zY3JvbGxpbmctdG91Y2gtbGF5ZXJzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTUwODE1
NDc4OGU2MDRjY2NiNmM4MmYzNWMzNDA5MWY5Njg3NTcwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcvb3ZlcmZsb3cvb3ZlcmZsb3ct
c2Nyb2xsaW5nLXRvdWNoLWxheWVycy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0NiBAQAorKEdy
YXBoaWNzTGF5ZXIKKyAgKGJvdW5kcyA4MDAuMDAgNjAwLjAwKQorICAoY2hpbGRyZW4gMQorICAg
IChHcmFwaGljc0xheWVyCisgICAgICAoYm91bmRzIDgwMC4wMCA2MDAuMDApCisgICAgICAoY2hp
bGRyZW4gMQorICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgIChwb3NpdGlvbiA4LjAw
IDEzLjAwKQorICAgICAgICAgIChib3VuZHMgNTAuMDAgNTAuMDApCisgICAgICAgICAgKGRyYXdz
Q29udGVudCAxKQorICAgICAgICAgIChjaGlsZHJlbiA0CisgICAgICAgICAgICAoR3JhcGhpY3NM
YXllcgorICAgICAgICAgICAgICAoYm91bmRzIDM1LjAwIDM1LjAwKQorICAgICAgICAgICAgICAo
Y2hpbGRyZW4gMQorICAgICAgICAgICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAgICAg
ICAgICAoY2hpbGRyZW4gMQorICAgICAgICAgICAgICAgICAgICAoR3JhcGhpY3NMYXllcgorICAg
ICAgICAgICAgICAgICAgICAgIChib3VuZHMgMzUuMDAgMzUuMDApCisgICAgICAgICAgICAgICAg
ICAgICAgKGRyYXdzQ29udGVudCAxKQorICAgICAgICAgICAgICAgICAgICApCisgICAgICAgICAg
ICAgICAgICApCisgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICApCisgICAgICAgICAg
ICApCisgICAgICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgICAgICAocG9zaXRpb24g
MC4wMCAzNS4wMCkKKyAgICAgICAgICAgICAgKGJvdW5kcyAzNS4wMCAxNS4wMCkKKyAgICAgICAg
ICAgICAgKGRyYXdzQ29udGVudCAxKQorICAgICAgICAgICAgKQorICAgICAgICAgICAgKEdyYXBo
aWNzTGF5ZXIKKyAgICAgICAgICAgICAgKHBvc2l0aW9uIDM1LjAwIDAuMDApCisgICAgICAgICAg
ICAgIChib3VuZHMgMTUuMDAgMzUuMDApCisgICAgICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkK
KyAgICAgICAgICAgICkKKyAgICAgICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAgICAg
IChwb3NpdGlvbiAzNS4wMCAzNS4wMCkKKyAgICAgICAgICAgICAgKGJvdW5kcyAxNS4wMCAxNS4w
MCkKKyAgICAgICAgICAgICAgKGRyYXdzQ29udGVudCAxKQorICAgICAgICAgICAgKQorICAgICAg
ICAgICkKKyAgICAgICAgKQorICAgICAgKQorICAgICkKKyAgKQorKQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9vdmVyZmxvdy9vdmVyZmxv
dy1zY3JvbGxpbmctdG91Y2gtbGF5ZXJzLmh0bWwgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9jb21wb3NpdGluZy9vdmVyZmxvdy9vdmVyZmxvdy1zY3JvbGxpbmctdG91Y2gtbGF5ZXJz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNDhjN2JhMzJjY2I0MmI4N2QzMmJmZTc1NmFiODM4OGMwNjE2N2Ji
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBv
c2l0aW5nL292ZXJmbG93L292ZXJmbG93LXNjcm9sbGluZy10b3VjaC1sYXllcnMuaHRtbApAQCAt
MCwwICsxLDMyIEBACis8IURPQ1RZUEUgaHRtbD4KKworPGh0bWw+Cis8aGVhZD4KKyAgPHN0eWxl
IHR5cGU9InRleHQvY3NzIj4KKyAgICAuYm94IHsKKyAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsK
KyAgICAgIHdpZHRoOiA1MHB4OworICAgICAgaGVpZ2h0OiA1MHB4OworICAgIH0KKworICAgIC5z
Y3JvbGxhYmxlIHsKKyAgICAgIG92ZXJmbG93OiBzY3JvbGw7CisgICAgICAtd2Via2l0LW92ZXJm
bG93LXNjcm9sbGluZzogdG91Y2g7CisgICAgfQorICA8L3N0eWxlPgorICA8c2NyaXB0PgorICAg
IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgZnVuY3Rpb24oKSB7CisgICAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsK
KyAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibGF5ZXJUcmVlIikuaW5uZXJUZXh0
ID0gdGVzdFJ1bm5lci5sYXllclRyZWVBc1RleHQoKTsKKyAgICAgIH0KKyAgICB9KTsKKyAgPC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKworICA8ZGl2IGNsYXNzPSJzY3JvbGxhYmxlIGJveCI+
PC9kaXY+CisgIDxwcmUgaWQ9ImxheWVyVHJlZSI+PC9wcmU+CisKKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>148135</attachid>
            <date>2012-06-18 11:31:13 -0700</date>
            <delta_ts>2012-06-20 07:25:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-78862-20120618193112.patch</filename>
            <type>text/plain</type>
            <size>56794</size>
            <attacher name="Sami Kyostila">skyostil</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIwNTkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWQwYzgyZGIxZmZmYTk3
NjkxMjhjNWI1MGE0ZDBhNmNkNmE0NzRmMi4uMTZhMzQ2ZmNkMTg2NmM0ZWJhNGE4YThjNmQxNDA5
ODlhZDk1ZjQyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyMyBAQAorMjAxMi0wNi0wOCAgU2Ft
aSBLeW9zdGlsYSAgPHNreW9zdGlsQGNocm9taXVtLm9yZz4KKworICAgICAgICBUb3VjaCBvdmVy
ZmxvdyBzY3JvbGxpbmcgZWxlbWVudHMgc2hvdWxkIGJlIHNwbGl0IGludG8gbGF5ZXJzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03ODg2MgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gYSByZWd1bGFy
IG92ZXJmbG93IGVsZW1lbnQgaXMgc2Nyb2xsZWQsIHdlIHJlcGFpbnQgdGhlIGVudGlyZSBhcmVh
CisgICAgICAgIGl0IG9jY3VwaWVzIGluIHRoZSB2aWV3IGZyb20gc2NyYXRjaC4gU2luY2UgdGhp
cyBwYWludGluZyBpcyBkb25lIGluIHRoZQorICAgICAgICBtYWluIHRocmVhZCwgaXQgY2FuIGJl
IGJsb2NrZWQgYnksIGUuZy4sIEphdmFTY3JpcHQgZXhlY3V0aW9uLCBmdXJ0aGVyCisgICAgICAg
IGxpbWl0aW5nIHBlcmZvcm1hbmNlLgorCisgICAgICAgIEluIGNvbnRyYXN0LCB0aGUgbWFpbiBi
b2R5IGVsZW1lbnQgb2YgYSBwYWdlIGNhbiB1c3VhbGx5IGJlIHNjcm9sbGVkCisgICAgICAgIGJ5
IHRoZSBjb21wb3NpdG9yIHNpbXBseSBieSB0cmFuc2xhdGluZyBpdCBhcm91bmQgdGhlIHNjcmVl
bi4gVGhpcyBpcworICAgICAgICBiZWNhdXNlIHRoZSBjb250ZW50cyBvZiB0aGUgYm9keSBoYXZl
IGJlZW4gcGFpbnRlZCBpbnRvIGEKKyAgICAgICAgUmVuZGVyTGF5ZXJCYWNraW5nIHRvIHdoaWNo
IHRoZSBjb21wb3NpdG9yIGNhbiBhcHBseSBhIHNjcm9sbCB0cmFuc2Zvcm0uCisgICAgICAgIEZ1
cnRoZXJtb3JlLCBhIGNvbXBvc2l0b3IgdGhyZWFkIGNhbiBhcHBseSB1cGRhdGUgdGhlIHNjcm9s
bCBvZmZzZXQKKyAgICAgICAgd2hpbGUgdGhlIG1haW4gdGhyZWFkIGlzIGJ1c3kgd2l0aCBvdGhl
ciBwcm9jZXNzaW5nLgorCisgICAgICAgIEluIG9yZGVyIHRvIG1ha2Ugb3ZlcmZsb3cgZWxlbWVu
dCBzY3JvbGxpbmcgc2ltaWxhcmx5IGVmZmljaWVudCwgdGhpcworICAgICAgICBwYXRjaCBkb2Vz
IHRocmVlIHRoaW5nczoKKworICAgICAgICAgICAgMS4gU3BsaXRzIG92ZXJmbG93IGVsZW1lbnRz
IGludG8gYSBmaXhlZCBiYWNrZ3JvdW5kIGxheWVyIGFuZCBhCisgICAgICAgICAgICBzY3JvbGxp
bmcgZm9yZWdyb3VuZCBsYXllci4gVGhpcyBpcyBvbmx5IGRvbmUgZm9yIGVsZW1lbnRzIHVzaW5n
IHRoZQorICAgICAgICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoIHN0eWxl
LCBiZWNhdXNlIGl0IGludHJvZHVjZXMgYQorICAgICAgICAgICAgc3RhY2tpbmcgY29udGV4dCB3
aGljaCBlbmFibGVzIHVzIHRvIHByb21vdGUgdGhlIGVsZW1lbnQgdG8gYQorICAgICAgICAgICAg
Y29tcG9zaXRlZCBsYXllci4KKworICAgICAgICAgICAgMi4gUmVnaXN0ZXJzIHRoZXNlIGVsZW1l
bnRzIHdpdGggdGhlIFNjcm9sbGluZ0Nvb3JkaW5hdG9yIHNvIGl0CisgICAgICAgICAgICBrbm93
cyB0aGVpciBhc3NvY2lhdGVkIHNjcm9sbCBnZW9tZXRyeS4KKworICAgICAgICAgICAgMy4gQXZv
aWRzIGludmFsaWRhdGluZyB0aGUgY29udGVudHMgb2YgdGhlIGxheWVycyB3aGVuIHRoZXkgYXJl
CisgICAgICAgICAgICBzY3JvbGxlZC4gVGhpcyBhbGxvd3MgdGhlIGxheWVycyB0byBiZSB0cmFu
c2xhdGVkIGFjY29yZGluZyB0byB0aGVpcgorICAgICAgICAgICAgc2Nyb2xsIHBvc2l0aW9uIHdp
dGhvdXQgdW5uZWNlc3NhcnkgcmVwYWludHMuCisKKyAgICAgICAgVGhpcyBwYXRjaCBpcyBiYXNl
ZCBvbiBBcHBsZSdzIGlPUyA1IGltcGxlbWVudGF0aW9uIG9mIHRoZQorICAgICAgICAiLXdlYmtp
dC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoIiBDU1MgcHJvcGVydHkuCisKKyAgICAgICAgVGVz
dHM6CisgICAgICAgICAgICBwbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9vdmVyZmxvdy9v
dmVyZmxvdy1zY3JvbGxpbmctdG91Y2gtc3RhY2tpbmctY29udGV4dC5odG1sCisgICAgICAgICAg
ICBwbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9vdmVyZmxvdy9vdmVyZmxvdy1zY3JvbGxp
bmctdG91Y2gtaGlkZGVuLW92ZXJmbG93Lmh0bWwKKyAgICAgICAgICAgIHBsYXRmb3JtL2Nocm9t
aXVtL2NvbXBvc2l0aW5nL292ZXJmbG93L292ZXJmbG93LXNjcm9sbGluZy10b3VjaC1sYXllcnMu
aHRtbAorCisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3Bw
OgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdDb29yZGlu
YXRvcjo6c2Nyb2xsYWJsZUFyZWFTY3JvbGxMYXllckRpZENoYW5nZSk6CisgICAgICAgICogcGFn
ZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaDoKKyAgICAgICAgKFdlYkNvcmUpOgor
ICAgICAgICAoU2Nyb2xsaW5nQ29vcmRpbmF0b3IpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5n
L1Njcm9sbGluZ0Nvb3JkaW5hdG9yTm9uZS5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAg
ICAgKFdlYkNvcmU6OlNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpzY3JvbGxhYmxlQXJlYVNjcm9sbExh
eWVyRGlkQ2hhbmdlKToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9jaHJvbWl1bS9TY3JvbGxp
bmdDb29yZGluYXRvckNocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAo
V2ViQ29yZTo6U2Nyb2xsaW5nQ29vcmRpbmF0b3I6OnNjcm9sbGFibGVBcmVhU2Nyb2xsTGF5ZXJE
aWRDaGFuZ2UpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllcjo6c2V0T2Zmc2V0RnJvbVJlbmRlcmVy
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmg6CisgICAgICAg
IChHcmFwaGljc0xheWVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9H
cmFwaGljc0xheWVyQ2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXll
ckNocm9taXVtOjpHcmFwaGljc0xheWVyQ2hyb21pdW0pOgorICAgICAgICAoV2ViQ29yZTo6R3Jh
cGhpY3NMYXllckNocm9taXVtOjpkaWRTY3JvbGwpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vR3JhcGhpY3NMYXllckNocm9taXVtLmg6
CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVyQ2hyb21pdW06OnNldFNjcm9sbGFibGVB
cmVhKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJDaHJvbWl1bTo6c2Nyb2xsYWJs
ZUFyZWEpOgorICAgICAgICAoR3JhcGhpY3NMYXllckNocm9taXVtKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyQmxvY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6Omxh
eW91dEJsb2NrKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpwYWludCk6CisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJC
b3g6OmFwcGx5Q2FjaGVkQ2xpcEFuZFNjcm9sbE9mZnNldEZvclJlcGFpbnQpOgorICAgICAgICAo
V2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OmNvbXB1dGVSZWN0Rm9yUmVw
YWludCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5oOgorICAgICAgICAoUmVuZGVy
Qm94KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVySW5saW5lLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlcklubGluZTo6Y2xpcHBlZE92ZXJmbG93UmVjdEZvclJlcGFpbnQpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVySW5saW5lOjpjb21wdXRlUmVjdEZvclJlcGFpbnQpOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpoYXNBY2NlbGVyYXRlZFNjcm9sbGluZyk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6c2Nyb2xsVG8pOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyTGF5ZXI6OnBhaW50TGF5ZXJDb250ZW50cyk6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJMYXllcjo6Y2FsY3VsYXRlQ2xpcFJlY3RzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckxheWVyOjpyZXBhaW50QmxvY2tTZWxlY3Rpb25HYXBzKToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckxheWVyOjpzaG91bGRCZU5vcm1hbEZsb3dPbmx5KToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckxheWVyOjp1cGRhdGVTY3JvbGxhYmxlQXJlYVNldCk6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlckxheWVyLmg6CisgICAgICAgIChSZW5kZXJMYXllcik6CisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlckxheWVyQmFja2luZy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXll
ckJhY2tpbmc6On5SZW5kZXJMYXllckJhY2tpbmcpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
TGF5ZXJCYWNraW5nOjpkZXN0cm95R3JhcGhpY3NMYXllcnMpOgorICAgICAgICAoV2ViQ29yZSk6
CisgICAgICAgIChXZWJDb3JlOjpoYXNUb3VjaE92ZXJmbG93U2Nyb2xsaW5nKToKKyAgICAgICAg
KFdlYkNvcmU6OmxheWVyT3JBbmNlc3RvcklzU2Nyb2xsaW5nKToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckxheWVyQmFja2luZzo6cGFyZW50Rm9yU3VibGF5ZXJzKToKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckxheWVyQmFja2luZzo6c2hvdWxkQ2xpcENvbXBvc2l0ZWRCb3VuZHMpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVHcmFwaGljc0xheWVyQ29u
ZmlndXJhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0
ZUdyYXBoaWNzTGF5ZXJHZW9tZXRyeSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJh
Y2tpbmc6OnVwZGF0ZUludGVybmFsSGllcmFyY2h5KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckxheWVyQmFja2luZzo6dXBkYXRlU2Nyb2xsaW5nTGF5ZXIpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyTGF5ZXJCYWNraW5nOjpwYWludENvbnRlbnRzKToKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyTGF5ZXJCYWNraW5nLmg6CisgICAgICAgIChSZW5kZXJMYXllckJhY2tpbmcpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjpoYXNTY3JvbGxpbmdMYXllcik6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OnNjcm9sbGluZ0xheWVyKToKKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6Y29tcHV0ZUNvbXBvc2l0aW5nUmVxdWlyZW1l
bnRzKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJD
b21wb3NpdG9yOjpzY3JvbGxpbmdMYXllckRpZENoYW5nZSk6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJMYXllckNvbXBvc2l0b3I6OnJlcXVpcmVzQ29tcG9zaXRpbmdMYXllcik6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OnJlcXVpcmVzT3duQmFja2luZ1N0b3Jl
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6cmVxdWlyZXNDb21w
b3NpdGluZ0Zvck92ZXJmbG93U2Nyb2xsKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVy
Q29tcG9zaXRvcjo6bmVlZHNDb250ZW50c0NvbXBvc2l0aW5nTGF5ZXIpOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuaDoKKyAgICAgICAgKFJlbmRlckxheWVyQ29t
cG9zaXRvcik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OmNvbXB1dGVSZWN0Rm9yUmVwYWludCk6CisKIDIwMTIt
MDYtMTggIFNhbWkgS3lvc3RpbGEgIDxza3lvc3RpbEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
UmVuZGVyVmlldyBsYXllciBpcyBtYXJrZWQgYXMgZml4ZWQgcG9zaXRpb24gY29udGFpbmVyIGlu
IHRoZSBzY3JvbGxpbmcgdHJlZSBpZiBwYWdlIHNjYWxlICE9IDEKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcAppbmRleCBj
YjhmMzNiOGFlZmYwNzExZjBmYTlkNjJkOTU3YjcxYTFhMWU0MTlhLi4zNDcyOTYzODIxZWZhN2E4
NGRmM2IzOTQ2OWMxYTlkMzgwOGUzMmQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3BwCkBAIC0xMTgsNiArMTE4LDEx
IEBAIHN0YXRpYyBSZWdpb24gY29tcHV0ZU5vbkZhc3RTY3JvbGxhYmxlUmVnaW9uKEZyYW1lKiBm
cmFtZSwgY29uc3QgSW50UG9pbnQmIGZyYW1lCiAgICAgaWYgKGNvbnN0IEZyYW1lVmlldzo6U2Ny
b2xsYWJsZUFyZWFTZXQqIHNjcm9sbGFibGVBcmVhcyA9IGZyYW1lVmlldy0+c2Nyb2xsYWJsZUFy
ZWFzKCkpIHsKICAgICAgICAgZm9yIChGcmFtZVZpZXc6OlNjcm9sbGFibGVBcmVhU2V0Ojpjb25z
dF9pdGVyYXRvciBpdCA9IHNjcm9sbGFibGVBcmVhcy0+YmVnaW4oKSwgZW5kID0gc2Nyb2xsYWJs
ZUFyZWFzLT5lbmQoKTsgaXQgIT0gZW5kOyArK2l0KSB7CiAgICAgICAgICAgICBTY3JvbGxhYmxl
QXJlYSogc2Nyb2xsYWJsZUFyZWEgPSAqaXQ7CisjaWYgRU5BQkxFKE9WRVJGTE9XX1NDUk9MTElO
RykKKyAgICAgICAgICAgIC8vIEFjY2VsZXJhdGVkIHNjcm9sbGFibGUgYXJlYXMgY2FuIGJlIHNj
cm9sbGVkIG9mZiB0aGUgbWFpbiB0aHJlYWQuCisgICAgICAgICAgICBpZiAoc2Nyb2xsYWJsZUFy
ZWEtPmhhc0FjY2VsZXJhdGVkU2Nyb2xsaW5nKCkpCisgICAgICAgICAgICAgICAgY29udGludWU7
CisjZW5kaWYKICAgICAgICAgICAgIEludFJlY3QgYm94ID0gc2Nyb2xsYWJsZUFyZWEtPnNjcm9s
bGFibGVBcmVhQm91bmRpbmdCb3goKTsKICAgICAgICAgICAgIGJveC5tb3ZlQnkob2Zmc2V0KTsK
ICAgICAgICAgICAgIG5vbkZhc3RTY3JvbGxhYmxlUmVnaW9uLnVuaXRlKGJveCk7CkBAIC00NzIs
NiArNDc3LDE0IEBAIFN0cmluZyBTY3JvbGxpbmdDb29yZGluYXRvcjo6c2Nyb2xsaW5nVHJlZUFz
VGV4dCgpIGNvbnN0CiAgICAgLy8gRklYTUU6IEltcGxlbWVudC4KICAgICByZXR1cm4gU3RyaW5n
KCk7CiB9CisKKyNpZiBFTkFCTEUoT1ZFUkZMT1dfU0NST0xMSU5HKQordm9pZCBTY3JvbGxpbmdD
b29yZGluYXRvcjo6c2Nyb2xsYWJsZUFyZWFTY3JvbGxMYXllckRpZENoYW5nZShTY3JvbGxhYmxl
QXJlYSosIEdyYXBoaWNzTGF5ZXIqKQoreworICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQuCit9Cisj
ZW5kaWYKKwogI2VuZGlmIC8vICFFTkFCTEUoVEhSRUFERURfU0NST0xMSU5HKQogCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGlu
Zy9TY3JvbGxpbmdDb29yZGluYXRvci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcv
U2Nyb2xsaW5nQ29vcmRpbmF0b3IuaAppbmRleCA1YTQ4ZmJkOWNhMGZkMjMxNTcyMDhkZTFiNjIx
OGYxYTFmN2EyZjdhLi4zMWZhZGIzMjg1ZmJkOTA3NTJmZDMwY2NlNzFiOGMwOGYwYjRiZTQ5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGlu
YXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3Jk
aW5hdG9yLmgKQEAgLTU1LDYgKzU1LDEwIEBAIGNsYXNzIFNjcm9sbGluZ1RyZWVTdGF0ZTsKIGNs
YXNzIFNjcm9sbGluZ1RyZWU7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShPVkVSRkxPV19TQ1JPTExJ
TkcpCitjbGFzcyBTY3JvbGxhYmxlQXJlYTsKKyNlbmRpZgorCiBjbGFzcyBTY3JvbGxpbmdDb29y
ZGluYXRvciA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxTY3JvbGxpbmdDb29yZGluYXRv
cj4gewogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNjcm9sbGluZ0Nvb3JkaW5hdG9y
PiBjcmVhdGUoUGFnZSopOwpAQCAtOTIsNiArOTYsMTEgQEAgcHVibGljOgogICAgIC8vIFNob3Vs
ZCBiZSBjYWxsZWQgd2hlbmV2ZXIgdGhlIHZlcnRpY2FsIHNjcm9sbGJhciBsYXllciBmb3IgdGhl
IGdpdmVuIGZyYW1lIHZpZXcgY2hhbmdlcy4KICAgICB2b2lkIGZyYW1lVmlld1ZlcnRpY2FsU2Ny
b2xsYmFyTGF5ZXJEaWRDaGFuZ2UoRnJhbWVWaWV3KiwgR3JhcGhpY3NMYXllciogdmVydGljYWxT
Y3JvbGxiYXJMYXllcik7CiAKKyNpZiBFTkFCTEUoT1ZFUkZMT1dfU0NST0xMSU5HKQorICAgIC8v
IFNob3VsZCBiZSBjYWxsZWQgd2hlbmV2ZXIgdGhlIHNjcm9sbGFibGUgbGF5ZXIgZm9yIHRoZSBn
aXZlbiBzY3JvbGwgYXJlYSBjaGFuZ2VzLgorICAgIHZvaWQgc2Nyb2xsYWJsZUFyZWFTY3JvbGxM
YXllckRpZENoYW5nZShTY3JvbGxhYmxlQXJlYSosIEdyYXBoaWNzTGF5ZXIqKTsKKyNlbmRpZgor
CiAgICAgLy8gUmVxdWVzdHMgdGhhdCB0aGUgc2Nyb2xsaW5nIGNvb3JkaW5hdG9yIHVwZGF0ZXMg
dGhlIHNjcm9sbCBwb3NpdGlvbiBvZiB0aGUgZ2l2ZW4gZnJhbWUgdmlldy4gSWYgdGhpcyBmdW5j
dGlvbiByZXR1cm5zIHRydWUsIGl0IG1lYW5zIHRoYXQgdGhlCiAgICAgLy8gcG9zaXRpb24gd2ls
bCBiZSB1cGRhdGVkIGFzeW5jaHJvbm91c2x5LiBJZiBpdCByZXR1cm5zIGZhbHNlLCB0aGUgY2Fs
bGVyIHNob3VsZCB1cGRhdGUgdGhlIHNjcm9sbGluZyBwb3NpdGlvbiBpdHNlbGYuCiAgICAgYm9v
bCByZXF1ZXN0U2Nyb2xsUG9zaXRpb25VcGRhdGUoRnJhbWVWaWV3KiwgY29uc3QgSW50UG9pbnQm
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nv
b3JkaW5hdG9yTm9uZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxp
bmdDb29yZGluYXRvck5vbmUuY3BwCmluZGV4IGI1ZTA3MTk1ZWY4NzU5OTZjYTFjNmFlYTkxNzZi
ZWNiZmRkYTJjMmYuLjYyOWVlYTZkNWI0MzFiM2E0MjE2YWIzY2Y1OTY5OWVkYWMwOTYwZTYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5h
dG9yTm9uZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5n
Q29vcmRpbmF0b3JOb25lLmNwcApAQCAtODksNiArODksMTMgQEAgU3RyaW5nIFNjcm9sbGluZ0Nv
b3JkaW5hdG9yOjpzY3JvbGxpbmdUcmVlQXNUZXh0KCkgY29uc3QKIHsKICAgICByZXR1cm4gU3Ry
aW5nKCk7CiB9CisKKyNpZiBFTkFCTEUoT1ZFUkZMT1dfU0NST0xMSU5HKQordm9pZCBTY3JvbGxp
bmdDb29yZGluYXRvcjo6c2Nyb2xsYWJsZUFyZWFTY3JvbGxMYXllckRpZENoYW5nZShTY3JvbGxh
YmxlQXJlYSosIEdyYXBoaWNzTGF5ZXIqKQoreworfQorI2VuZGlmCisKICNlbmRpZiAvLyAhRU5B
QkxFKFRIUkVBREVEX1NDUk9MTElORykKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvY2hyb21pdW0vU2Nyb2xsaW5nQ29vcmRpbmF0b3JDaHJvbWl1bS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9jaHJvbWl1bS9TY3JvbGxpbmdDb29yZGlu
YXRvckNocm9taXVtLmNwcAppbmRleCA0NzA5MTc4YWE5NzdhOTBkZDhhOTZjOGJlOGRmZWY3YmUw
ZTA0YjUxLi5lNzBkZTkxMzc1YzhiZmYxNTkyY2M4NDcyYjBlNDYwZDUwZDJiYTZjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9jaHJvbWl1bS9TY3JvbGxpbmdDb29y
ZGluYXRvckNocm9taXVtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9j
aHJvbWl1bS9TY3JvbGxpbmdDb29yZGluYXRvckNocm9taXVtLmNwcApAQCAtMzksNiArMzksMTAg
QEAKICNpbmNsdWRlICJUZXh0U3RyZWFtLmgiCiAjaW5jbHVkZSAiY2MvQ0NQcm94eS5oIgogCisj
aWYgRU5BQkxFKE9WRVJGTE9XX1NDUk9MTElORykKKyNpbmNsdWRlICJHcmFwaGljc0xheWVyQ2hy
b21pdW0uaCIKKyNlbmRpZgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNjcm9sbGlu
Z0Nvb3JkaW5hdG9yUHJpdmF0ZSB7CkBAIC0yOTQsNCArMjk4LDE5IEBAIFN0cmluZyBTY3JvbGxp
bmdDb29yZGluYXRvcjo6c2Nyb2xsaW5nVHJlZUFzVGV4dCgpIGNvbnN0CiAjZW5kaWYKIH0KIAor
I2lmIEVOQUJMRShPVkVSRkxPV19TQ1JPTExJTkcpCit2b2lkIFNjcm9sbGluZ0Nvb3JkaW5hdG9y
OjpzY3JvbGxhYmxlQXJlYVNjcm9sbExheWVyRGlkQ2hhbmdlKFNjcm9sbGFibGVBcmVhKiBzY3Jv
bGxhYmxlQXJlYSwgR3JhcGhpY3NMYXllciogc2Nyb2xsTGF5ZXIpCit7CisgICAgR3JhcGhpY3NM
YXllckNocm9taXVtKiBsYXllciA9IHN0YXRpY19jYXN0PEdyYXBoaWNzTGF5ZXJDaHJvbWl1bSo+
KHNjcm9sbExheWVyKTsKKyAgICBMYXllckNocm9taXVtKiBwbGF0Zm9ybUxheWVyID0gc2Nyb2xs
TGF5ZXIgPyBzY3JvbGxMYXllci0+cGxhdGZvcm1MYXllcigpIDogMDsKKyAgICBpZiAobGF5ZXIp
CisgICAgICAgIGxheWVyLT5zZXRTY3JvbGxhYmxlQXJlYShzY3JvbGxhYmxlQXJlYSk7CisgICAg
aWYgKCFwbGF0Zm9ybUxheWVyKQorICAgICAgICByZXR1cm47CisgICAgcGxhdGZvcm1MYXllci0+
c2V0U2Nyb2xsYWJsZSh0cnVlKTsKKyAgICBwbGF0Zm9ybUxheWVyLT5zZXRTY3JvbGxQb3NpdGlv
bihzY3JvbGxhYmxlQXJlYS0+c2Nyb2xsUG9zaXRpb24oKSk7CisgICAgcGxhdGZvcm1MYXllci0+
c2V0TWF4U2Nyb2xsUG9zaXRpb24oSW50U2l6ZShzY3JvbGxhYmxlQXJlYS0+c2Nyb2xsU2l6ZShI
b3Jpem9udGFsU2Nyb2xsYmFyKSwgc2Nyb2xsYWJsZUFyZWEtPnNjcm9sbFNpemUoVmVydGljYWxT
Y3JvbGxiYXIpKSk7Cit9CisjZW5kaWYKKwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9s
bGFibGVBcmVhLmgKaW5kZXggNWEyNzhhOWI1YjljN2MxODUxYTRjNTMzYzYwYjU0NTE1M2ZjZWQz
YS4uNTBmZDdlMzE1ZjdmODBmNGY1MzQ5MjVmMDViYTI4YWMzZTE3ZmI2NCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5oCkBAIC0xNjksNiArMTY5LDkgQEAgcHVibGlj
OgogCiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogICAgIHZpcnR1YWwgVGlsZWRC
YWNraW5nKiB0aWxlZEJhY2tpbmcoKSB7IHJldHVybiAwOyB9CisjaWYgRU5BQkxFKE9WRVJGTE9X
X1NDUk9MTElORykKKyAgICB2aXJ0dWFsIGJvb2wgaGFzQWNjZWxlcmF0ZWRTY3JvbGxpbmcoKSBj
b25zdCB7IHJldHVybiBmYWxzZTsgfQorI2VuZGlmCiAjZW5kaWYKIAogcHJvdGVjdGVkOgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmNwcApp
bmRleCAxMGQ3YjdmYzhkYTRmNDg2ZDAzZTAzM2ZiNDgyMTE1ODYxYWY2MmYwLi5mZTRmN2I0NjY1
NDhlZWQwYTIwODVlY2UzZjgyYTFjYTQ1NjU2NTE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmNwcApAQCAtMjgzLDcgKzI4Myw3IEBA
IHZvaWQgR3JhcGhpY3NMYXllcjo6c2V0UmVwbGljYXRlZEJ5TGF5ZXIoR3JhcGhpY3NMYXllciog
bGF5ZXIpCiAgICAgbV9yZXBsaWNhTGF5ZXIgPSBsYXllcjsKIH0KIAotdm9pZCBHcmFwaGljc0xh
eWVyOjpzZXRPZmZzZXRGcm9tUmVuZGVyZXIoY29uc3QgSW50U2l6ZSYgb2Zmc2V0KQordm9pZCBH
cmFwaGljc0xheWVyOjpzZXRPZmZzZXRGcm9tUmVuZGVyZXIoY29uc3QgSW50U2l6ZSYgb2Zmc2V0
LCBib29sIG5lZWRzRGlzcGxheSkKIHsKICAgICBpZiAob2Zmc2V0ID09IG1fb2Zmc2V0RnJvbVJl
bmRlcmVyKQogICAgICAgICByZXR1cm47CkBAIC0yOTEsNyArMjkxLDggQEAgdm9pZCBHcmFwaGlj
c0xheWVyOjpzZXRPZmZzZXRGcm9tUmVuZGVyZXIoY29uc3QgSW50U2l6ZSYgb2Zmc2V0KQogICAg
IG1fb2Zmc2V0RnJvbVJlbmRlcmVyID0gb2Zmc2V0OwogCiAgICAgLy8gSWYgdGhlIGNvbXBvc2l0
aW5nIGxheWVyIG9mZnNldCBjaGFuZ2VzLCB3ZSBuZWVkIHRvIHJlcGFpbnQuCi0gICAgc2V0TmVl
ZHNEaXNwbGF5KCk7CisgICAgaWYgKG5lZWRzRGlzcGxheSkKKyAgICAgICAgc2V0TmVlZHNEaXNw
bGF5KCk7CiB9CiAKIHZvaWQgR3JhcGhpY3NMYXllcjo6c2V0QmFja2dyb3VuZENvbG9yKGNvbnN0
IENvbG9yJiBjb2xvcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0dyYXBoaWNzTGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dy
YXBoaWNzTGF5ZXIuaAppbmRleCAxNmM3M2E0ODM4ZTA0NDdlNWFhZWEyNjQwY2YyMzY0ZmVkMDg2
YjMzLi40YzEzNmNiNTQ3MGJiNDkzM2IxOWQwN2ZlZmJiZWE0Y2EzNmZjZDEwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5oCkBAIC0yNzQs
NyArMjc0LDcgQEAgcHVibGljOgogCiAgICAgLy8gT2Zmc2V0IGlzIG9yaWdpbiBvZiB0aGUgcmVu
ZGVyZXIgbWludXMgb3JpZ2luIG9mIHRoZSBncmFwaGljcyBsYXllciAoc28gZWl0aGVyIHplcm8g
b3IgbmVnYXRpdmUpLgogICAgIEludFNpemUgb2Zmc2V0RnJvbVJlbmRlcmVyKCkgY29uc3QgeyBy
ZXR1cm4gbV9vZmZzZXRGcm9tUmVuZGVyZXI7IH0KLSAgICB2b2lkIHNldE9mZnNldEZyb21SZW5k
ZXJlcihjb25zdCBJbnRTaXplJik7CisgICAgdm9pZCBzZXRPZmZzZXRGcm9tUmVuZGVyZXIoY29u
c3QgSW50U2l6ZSYsIGJvb2wgbmVlZHNEaXNwbGF5ID0gdHJ1ZSk7CiAKICAgICAvLyBUaGUgcG9z
aXRpb24gb2YgdGhlIGxheWVyICh0aGUgbG9jYXRpb24gb2YgaXRzIHRvcC1sZWZ0IGNvcm5lciBp
biBpdHMgcGFyZW50KQogICAgIGNvbnN0IEZsb2F0UG9pbnQmIHBvc2l0aW9uKCkgY29uc3QgeyBy
ZXR1cm4gbV9wb3NpdGlvbjsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vR3JhcGhpY3NMYXllckNocm9taXVtLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dyYXBoaWNzTGF5ZXJDaHJvbWl1bS5jcHAK
aW5kZXggYzg3YTcyYjczZjZhZGNlODA3ZjFhYmEyZGRlNmQ3OWVjNWI5YzI0ZC4uMGViODc5M2Y5
OGRmYjZmYjBiNjgzMWM2ZTdkMThjMjAzMGQ3NDQyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vR3JhcGhpY3NMYXllckNocm9taXVtLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9HcmFwaGljc0xh
eWVyQ2hyb21pdW0uY3BwCkBAIC04OSw5ICs4OSwxMiBAQCBHcmFwaGljc0xheWVyQ2hyb21pdW06
OkdyYXBoaWNzTGF5ZXJDaHJvbWl1bShHcmFwaGljc0xheWVyQ2xpZW50KiBjbGllbnQpCiAgICAg
LCBtX2NvbnRlbnRzTGF5ZXJIYXNCYWNrZ3JvdW5kQ29sb3IoZmFsc2UpCiAgICAgLCBtX2luU2V0
Q2hpbGRyZW4oZmFsc2UpCiAgICAgLCBtX3BhZ2VTY2FsZUNoYW5nZWQoZmFsc2UpCisgICAgLCBt
X3Njcm9sbGFibGVBcmVhKDApCiB7CiAgICAgbV9vcGFxdWVSZWN0VHJhY2tpbmdDb250ZW50TGF5
ZXJEZWxlZ2F0ZSA9IGFkb3B0UHRyKG5ldyBPcGFxdWVSZWN0VHJhY2tpbmdDb250ZW50TGF5ZXJE
ZWxlZ2F0ZSh0aGlzKSk7Ci0gICAgbV9sYXllciA9IFdlYkNvbnRlbnRMYXllcihDb250ZW50TGF5
ZXJDaHJvbWl1bTo6Y3JlYXRlKG1fb3BhcXVlUmVjdFRyYWNraW5nQ29udGVudExheWVyRGVsZWdh
dGUuZ2V0KCkpKTsKKyAgICBSZWZQdHI8Q29udGVudExheWVyQ2hyb21pdW0+IGNvbnRlbnRMYXll
ciA9IENvbnRlbnRMYXllckNocm9taXVtOjpjcmVhdGUobV9vcGFxdWVSZWN0VHJhY2tpbmdDb250
ZW50TGF5ZXJEZWxlZ2F0ZS5nZXQoKSk7CisgICAgY29udGVudExheWVyLT5zZXRMYXllclNjcm9s
bERlbGVnYXRlKHRoaXMpOworICAgIG1fbGF5ZXIgPSBXZWJDb250ZW50TGF5ZXIoY29udGVudExh
eWVyKTsKIAogICAgIHVwZGF0ZURlYnVnSW5kaWNhdG9ycygpOwogfQpAQCAtOTA3LDYgKzkxMCwx
MiBAQCB2b2lkIEdyYXBoaWNzTGF5ZXJDaHJvbWl1bTo6bm90aWZ5QW5pbWF0aW9uRmluaXNoZWQo
ZG91YmxlKQogICAgIC8vIERvIG5vdGhpbmcuCiB9CiAKK3ZvaWQgR3JhcGhpY3NMYXllckNocm9t
aXVtOjpkaWRTY3JvbGwoY29uc3QgSW50U2l6ZSYgc2Nyb2xsRGVsdGEpCit7CisgICAgaWYgKG1f
c2Nyb2xsYWJsZUFyZWEpCisgICAgICAgIG1fc2Nyb2xsYWJsZUFyZWEtPnNjcm9sbFRvT2Zmc2V0
V2l0aG91dEFuaW1hdGlvbihtX3Njcm9sbGFibGVBcmVhLT5zY3JvbGxQb3NpdGlvbigpICsgc2Ny
b2xsRGVsdGEpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBVU0Uo
QUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9HcmFwaGljc0xheWVyQ2hyb21pdW0uaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dyYXBoaWNzTGF5ZXJDaHJvbWl1bS5o
CmluZGV4IGRlZGVjNmE1NWU2ZTFiNmVkYTNlNDU0MTRkYTg2MjJjM2FjOTM2NmYuLjI1MjI1MzU4
NTNjNjAzNWFkZWRhZjYzOWUxNDZhMWM4MTY2NjFmZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dyYXBoaWNzTGF5ZXJDaHJvbWl1bS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dyYXBoaWNzTGF5
ZXJDaHJvbWl1bS5oCkBAIC0zNyw2ICszNyw3IEBACiAjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0
LmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NMYXllci5oIgogI2luY2x1ZGUgIk9wYXF1ZVJlY3RUcmFj
a2luZ0NvbnRlbnRMYXllckRlbGVnYXRlLmgiCisjaW5jbHVkZSAiU2Nyb2xsYWJsZUFyZWEuaCIK
ICNpbmNsdWRlICJjYy9DQ0xheWVyQW5pbWF0aW9uRGVsZWdhdGUuaCIKIAogI2luY2x1ZGUgPHB1
YmxpYy9XZWJDb250ZW50TGF5ZXIuaD4KQEAgLTQ4LDcgKzQ5LDcgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogY2xhc3MgTGF5ZXJDaHJvbWl1bTsKIGNsYXNzIExpbmtIaWdobGlnaHQ7CiAKLWNsYXNz
IEdyYXBoaWNzTGF5ZXJDaHJvbWl1bSA6IHB1YmxpYyBHcmFwaGljc0xheWVyLCBwdWJsaWMgR3Jh
cGhpY3NDb250ZXh0UGFpbnRlciwgcHVibGljIENDTGF5ZXJBbmltYXRpb25EZWxlZ2F0ZSB7Citj
bGFzcyBHcmFwaGljc0xheWVyQ2hyb21pdW0gOiBwdWJsaWMgR3JhcGhpY3NMYXllciwgcHVibGlj
IEdyYXBoaWNzQ29udGV4dFBhaW50ZXIsIHB1YmxpYyBDQ0xheWVyQW5pbWF0aW9uRGVsZWdhdGUs
IHB1YmxpYyBMYXllckNocm9taXVtU2Nyb2xsRGVsZWdhdGUgewogcHVibGljOgogICAgIEdyYXBo
aWNzTGF5ZXJDaHJvbWl1bShHcmFwaGljc0xheWVyQ2xpZW50Kik7CiAgICAgdmlydHVhbCB+R3Jh
cGhpY3NMYXllckNocm9taXVtKCk7CkBAIC0xMTgsNiArMTE5LDkgQEAgcHVibGljOgogICAgIHZp
cnR1YWwgdm9pZCBzZXREZWJ1Z0JvcmRlcihjb25zdCBDb2xvciYsIGZsb2F0IGJvcmRlcldpZHRo
KTsKICAgICB2aXJ0dWFsIHZvaWQgZGV2aWNlT3JQYWdlU2NhbGVGYWN0b3JDaGFuZ2VkKCk7CiAK
KyAgICB2b2lkIHNldFNjcm9sbGFibGVBcmVhKFNjcm9sbGFibGVBcmVhKiBzY3JvbGxhYmxlQXJl
YSkgeyBtX3Njcm9sbGFibGVBcmVhID0gc2Nyb2xsYWJsZUFyZWE7IH0KKyAgICBTY3JvbGxhYmxl
QXJlYSogc2Nyb2xsYWJsZUFyZWEoKSBjb25zdCB7IHJldHVybiBtX3Njcm9sbGFibGVBcmVhOyB9
CisKICAgICAvLyBHcmFwaGljc0NvbnRleHRQYWludGVyIGltcGxlbWVudGF0aW9uLgogICAgIHZp
cnR1YWwgdm9pZCBwYWludChHcmFwaGljc0NvbnRleHQmLCBjb25zdCBJbnRSZWN0JiBjbGlwKSBP
VkVSUklERTsKIApAQCAtMTI1LDYgKzEyOSw5IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQg
bm90aWZ5QW5pbWF0aW9uU3RhcnRlZChkb3VibGUgc3RhcnRUaW1lKTsKICAgICB2aXJ0dWFsIHZv
aWQgbm90aWZ5QW5pbWF0aW9uRmluaXNoZWQoZG91YmxlIGZpbmlzaFRpbWUpOwogCisgICAgLy8g
TGF5ZXJDaHJvbWl1bVNjcm9sbERlbGVnYXRlIGltcGxlbWVudGF0aW9uLgorICAgIHZpcnR1YWwg
dm9pZCBkaWRTY3JvbGwoY29uc3QgSW50U2l6ZSYpIE9WRVJSSURFOworCiAgICAgLy8gRXhwb3Nl
ZCBmb3IgdGVzdHMuCiAgICAgV2ViS2l0OjpXZWJMYXllciBjb250ZW50c0xheWVyKCkgY29uc3Qg
eyByZXR1cm4gbV9jb250ZW50c0xheWVyOyB9CiAKQEAgLTE4MSw2ICsxODgsOCBAQCBwcml2YXRl
OgogCiAgICAgdHlwZWRlZiBIYXNoTWFwPFN0cmluZywgaW50PiBBbmltYXRpb25JZE1hcDsKICAg
ICBBbmltYXRpb25JZE1hcCBtX2FuaW1hdGlvbklkTWFwOworCisgICAgU2Nyb2xsYWJsZUFyZWEq
IG1fc2Nyb2xsYWJsZUFyZWE7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAppbmRleCBlMjQ1ZWQ1MGU5M2M3YjRmNjFj
MWE5MjlmZjEzZmIzZWQ3MmVmMTI0Li44OTFhYzFjYWUxMjJiMGNlMmY0ZDYyY2RkYTcxN2JiNjhk
MmIzYTJlIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2su
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKQEAgLTE1
NzksOCArMTU3OSwxMSBAQCB2b2lkIFJlbmRlckJsb2NrOjpsYXlvdXRCbG9jayhib29sIHJlbGF5
b3V0Q2hpbGRyZW4sIExheW91dFVuaXQgcGFnZUxvZ2ljYWxIZWlnaAogICAgICAgICAgICAgLy8g
QWRqdXN0IHJlcGFpbnQgcmVjdCBmb3Igc2Nyb2xsIG9mZnNldAogICAgICAgICAgICAgcmVwYWlu
dFJlY3QubW92ZSgtc2Nyb2xsZWRDb250ZW50T2Zmc2V0KCkpOwogCi0gICAgICAgICAgICAvLyBE
b24ndCBhbGxvdyB0aGlzIHJlY3QgdG8gc3BpbGwgb3V0IG9mIG91ciBvdmVyZmxvdyBib3guCi0g
ICAgICAgICAgICByZXBhaW50UmVjdC5pbnRlcnNlY3QoTGF5b3V0UmVjdChMYXlvdXRQb2ludCgp
LCBzaXplKCkpKTsKKyAgICAgICAgICAgIC8vIERvbid0IGFsbG93IHRoaXMgcmVjdCB0byBzcGls
bCBvdXQgb2Ygb3VyIG92ZXJmbG93IGJveCwgdW5sZXNzIHRoZSBsYXllciBpcyBzY3JvbGxhYmxl
LgorI2lmIEVOQUJMRShPVkVSRkxPV19TQ1JPTExJTkcpCisgICAgICAgICAgICBpZiAoIWxheWVy
KCktPmhhc0FjY2VsZXJhdGVkU2Nyb2xsaW5nKCkpCisjZW5kaWYKKyAgICAgICAgICAgICAgICBy
ZXBhaW50UmVjdC5pbnRlcnNlY3QoTGF5b3V0UmVjdChMYXlvdXRQb2ludCgpLCBzaXplKCkpKTsK
ICAgICAgICAgfQogCiAgICAgICAgIC8vIE1ha2Ugc3VyZSB0aGUgcmVjdCBpcyBzdGlsbCBub24t
ZW1wdHkgYWZ0ZXIgaW50ZXJzZWN0aW5nIGZvciBvdmVyZmxvdyBhYm92ZQpAQCAtMjYzMCw3ICsy
NjMzLDExIEBAIHZvaWQgUmVuZGVyQmxvY2s6OnBhaW50KFBhaW50SW5mbyYgcGFpbnRJbmZvLCBj
b25zdCBMYXlvdXRQb2ludCYgcGFpbnRPZmZzZXQpCiAgICAgLy8gQ2hlY2sgaWYgd2UgbmVlZCB0
byBkbyBhbnl0aGluZyBhdCBhbGwuCiAgICAgLy8gRklYTUU6IENvdWxkIGVsaW1pbmF0ZSB0aGUg
aXNSb290KCkgY2hlY2sgaWYgd2UgZml4IGJhY2tncm91bmQgcGFpbnRpbmcgc28gdGhhdCB0aGUg
UmVuZGVyVmlldwogICAgIC8vIHBhaW50cyB0aGUgcm9vdCdzIGJhY2tncm91bmQuCi0gICAgaWYg
KCFpc1Jvb3QoKSkgeworICAgIGlmICghaXNSb290KCkKKyNpZiBFTkFCTEUoT1ZFUkZMT1dfU0NS
T0xMSU5HKQorICAgICAgICAmJiAhKGhhc092ZXJmbG93Q2xpcCgpICYmIGhhc0xheWVyKCkgJiYg
bGF5ZXIoKS0+aGFzQWNjZWxlcmF0ZWRTY3JvbGxpbmcoKSkKKyNlbmRpZgorICAgICAgICApIHsK
ICAgICAgICAgTGF5b3V0UmVjdCBvdmVyZmxvd0JveCA9IHZpc3VhbE92ZXJmbG93UmVjdCgpOwog
ICAgICAgICBmbGlwRm9yV3JpdGluZ01vZGUob3ZlcmZsb3dCb3gpOwogICAgICAgICBvdmVyZmxv
d0JveC5pbmZsYXRlKG1heGltYWxPdXRsaW5lU2l6ZShwYWludEluZm8ucGhhc2UpKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKaW5kZXggZGRjYTA3ZGQyOWU2MjIwNTNkODYw
Y2RiNjc5ZjllYmIwN2JkMWU0Yy4uZDY0YjRiYjlkZTZjZTMxZWJmNDlkOWY4MzllY2U5ZTg4MGZj
NWFlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKQEAgLTY1MSw2ICs2
NTEsMjIgQEAgTGF5b3V0U2l6ZSBSZW5kZXJCb3g6OmNhY2hlZFNpemVGb3JPdmVyZmxvd0NsaXAo
KSBjb25zdAogICAgIHJldHVybiBsYXllcigpLT5zaXplKCk7CiB9CiAKK3ZvaWQgUmVuZGVyQm94
OjphcHBseUNhY2hlZENsaXBBbmRTY3JvbGxPZmZzZXRGb3JSZXBhaW50KExheW91dFJlY3QmIHBh
aW50UmVjdCkgY29uc3QKK3sKKyAgICBwYWludFJlY3QubW92ZSgtc2Nyb2xsZWRDb250ZW50T2Zm
c2V0KCkpOyAvLyBGb3Igb3ZlcmZsb3c6YXV0by9zY3JvbGwvaGlkZGVuLgorCisjaWYgRU5BQkxF
KE9WRVJGTE9XX1NDUk9MTElORykKKyAgICAvLyBEbyBub3QgY2xpcCBzY3JvbGwgbGF5ZXIgY29u
dGVudHMgdG8gcmVkdWNlIHRoZSBudW1iZXIgb2YgcmVwYWludHMgd2hpbGUgc2Nyb2xsaW5nLgor
ICAgIGlmIChoYXNPdmVyZmxvd0NsaXAoKSAmJiBoYXNMYXllcigpICYmIGxheWVyKCktPmhhc0Fj
Y2VsZXJhdGVkU2Nyb2xsaW5nKCkpCisgICAgICAgIHJldHVybjsKKyNlbmRpZgorICAgIC8vIGhl
aWdodCgpIGlzIGluYWNjdXJhdGUgaWYgd2UncmUgaW4gdGhlIG1pZGRsZSBvZiBhIGxheW91dCBv
ZiB0aGlzIFJlbmRlckJveCwgc28gdXNlIHRoZQorICAgIC8vIGxheWVyJ3Mgc2l6ZSBpbnN0ZWFk
LiBFdmVuIGlmIHRoZSBsYXllcidzIHNpemUgaXMgd3JvbmcsIHRoZSBsYXllciBpdHNlbGYgd2ls
bCByZXBhaW50CisgICAgLy8gYW55d2F5IGlmIGl0cyBzaXplIGRvZXMgY2hhbmdlLgorICAgIExh
eW91dFJlY3QgY2xpcFJlY3QoTGF5b3V0UG9pbnQoKSwgY2FjaGVkU2l6ZUZvck92ZXJmbG93Q2xp
cCgpKTsKKyAgICBwYWludFJlY3QgPSBpbnRlcnNlY3Rpb24ocGFpbnRSZWN0LCBjbGlwUmVjdCk7
Cit9CisKIExheW91dFVuaXQgUmVuZGVyQm94OjptaW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgoKSBj
b25zdAogewogICAgIGlmIChwcmVmZXJyZWRMb2dpY2FsV2lkdGhzRGlydHkoKSkKQEAgLTE1ODUs
MjEgKzE2MDEsMTMgQEAgdm9pZCBSZW5kZXJCb3g6OmNvbXB1dGVSZWN0Rm9yUmVwYWludChSZW5k
ZXJCb3hNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5lciwgTGEKIAogICAgIC8vIEZJWE1FOiBX
ZSBpZ25vcmUgdGhlIGxpZ2h0d2VpZ2h0IGNsaXBwaW5nIHJlY3QgdGhhdCBjb250cm9scyB1c2Us
IHNpbmNlIGlmIHxvfCBpcyBpbiBtaWQtbGF5b3V0LAogICAgIC8vIGl0cyBjb250cm9sQ2xpcFJl
Y3Qgd2lsbCBiZSB3cm9uZy4gRm9yIG92ZXJmbG93IGNsaXAgd2UgdXNlIHRoZSB2YWx1ZXMgY2Fj
aGVkIGJ5IHRoZSBsYXllci4KKyAgICByZWN0LnNldExvY2F0aW9uKHRvcExlZnQpOwogICAgIGlm
IChvLT5oYXNPdmVyZmxvd0NsaXAoKSkgewogICAgICAgICBSZW5kZXJCb3gqIGNvbnRhaW5lckJv
eCA9IHRvUmVuZGVyQm94KG8pOwotCi0gICAgICAgIC8vIG8tPmhlaWdodCgpIGlzIGluYWNjdXJh
dGUgaWYgd2UncmUgaW4gdGhlIG1pZGRsZSBvZiBhIGxheW91dCBvZiB8b3wsIHNvIHVzZSB0aGUK
LSAgICAgICAgLy8gbGF5ZXIncyBzaXplIGluc3RlYWQuICBFdmVuIGlmIHRoZSBsYXllcidzIHNp
emUgaXMgd3JvbmcsIHRoZSBsYXllciBpdHNlbGYgd2lsbCByZXBhaW50Ci0gICAgICAgIC8vIGFu
eXdheSBpZiBpdHMgc2l6ZSBkb2VzIGNoYW5nZS4KLSAgICAgICAgdG9wTGVmdCAtPSBjb250YWlu
ZXJCb3gtPnNjcm9sbGVkQ29udGVudE9mZnNldCgpOyAvLyBGb3Igb3ZlcmZsb3c6YXV0by9zY3Jv
bGwvaGlkZGVuLgotCi0gICAgICAgIExheW91dFJlY3QgcmVwYWludFJlY3QodG9wTGVmdCwgcmVj
dC5zaXplKCkpOwotICAgICAgICBMYXlvdXRSZWN0IGJveFJlY3QoTGF5b3V0UG9pbnQoKSwgY29u
dGFpbmVyQm94LT5jYWNoZWRTaXplRm9yT3ZlcmZsb3dDbGlwKCkpOwotICAgICAgICByZWN0ID0g
aW50ZXJzZWN0aW9uKHJlcGFpbnRSZWN0LCBib3hSZWN0KTsKKyAgICAgICAgY29udGFpbmVyQm94
LT5hcHBseUNhY2hlZENsaXBBbmRTY3JvbGxPZmZzZXRGb3JSZXBhaW50KHJlY3QpOwogICAgICAg
ICBpZiAocmVjdC5pc0VtcHR5KCkpCiAgICAgICAgICAgICByZXR1cm47Ci0gICAgfSBlbHNlCi0g
ICAgICAgIHJlY3Quc2V0TG9jYXRpb24odG9wTGVmdCk7CisgICAgfQogCiAgICAgaWYgKGNvbnRh
aW5lclNraXBwZWQpIHsKICAgICAgICAgLy8gSWYgdGhlIHJlcGFpbnRDb250YWluZXIgaXMgYmVs
b3cgbywgdGhlbiB3ZSBuZWVkIHRvIG1hcCB0aGUgcmVjdCBpbnRvIHJlcGFpbnRDb250YWluZXIn
cyBjb29yZGluYXRlcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCb3guaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaAppbmRleCA0YmVi
ZjdlYWI4MDEwOTU4OWI0ODYxMWQ0NzE2ZmRkYThiNzY2MjQwLi5lZjU5YzAxMGJlNGVhNDdmNTY1
ZGI4NTQ3YzQ0YzU1NmM4OGEwMTliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQm94LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5o
CkBAIC00NjEsNiArNDYxLDcgQEAgcHVibGljOgogCiAgICAgSW50U2l6ZSBzY3JvbGxlZENvbnRl
bnRPZmZzZXQoKSBjb25zdDsKICAgICBMYXlvdXRTaXplIGNhY2hlZFNpemVGb3JPdmVyZmxvd0Ns
aXAoKSBjb25zdDsKKyAgICB2b2lkIGFwcGx5Q2FjaGVkQ2xpcEFuZFNjcm9sbE9mZnNldEZvclJl
cGFpbnQoTGF5b3V0UmVjdCYgcGFpbnRSZWN0KSBjb25zdDsKIAogICAgIHZpcnR1YWwgYm9vbCBo
YXNSZWxhdGl2ZURpbWVuc2lvbnMoKSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wgaGFzUmVsYXRp
dmVMb2dpY2FsSGVpZ2h0KCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVySW5saW5lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJ
bmxpbmUuY3BwCmluZGV4IDkxYTA1YWRmMzIzNjE0MzRjNmIxOTkyMDgzMzFlZDE0MGE1ODQzMjcu
LjVlY2I3ZTI5MjYxOGZjOWI4YjE1MjIzYmI1NTU3NjNmNTUyNzdmNzIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwCkBAIC05ODQsMTUgKzk4NCw4IEBAIExheW91
dFJlY3QgUmVuZGVySW5saW5lOjpjbGlwcGVkT3ZlcmZsb3dSZWN0Rm9yUmVwYWludChSZW5kZXJC
b3hNb2RlbE9iamVjdCogcmVwCiAgICAgaWYgKGNiLT5oYXNDb2x1bW5zKCkpCiAgICAgICAgIGNi
LT5hZGp1c3RSZWN0Rm9yQ29sdW1ucyhyZXBhaW50UmVjdCk7CiAKLSAgICBpZiAoY2ItPmhhc092
ZXJmbG93Q2xpcCgpKSB7Ci0gICAgICAgIC8vIGNiLT5oZWlnaHQoKSBpcyBpbmFjY3VyYXRlIGlm
IHdlJ3JlIGluIHRoZSBtaWRkbGUgb2YgYSBsYXlvdXQgb2YgfGNifCwgc28gdXNlIHRoZQotICAg
ICAgICAvLyBsYXllcidzIHNpemUgaW5zdGVhZC4gIEV2ZW4gaWYgdGhlIGxheWVyJ3Mgc2l6ZSBp
cyB3cm9uZywgdGhlIGxheWVyIGl0c2VsZiB3aWxsIHJlcGFpbnQKLSAgICAgICAgLy8gYW55d2F5
IGlmIGl0cyBzaXplIGRvZXMgY2hhbmdlLgotICAgICAgICByZXBhaW50UmVjdC5tb3ZlKC1jYi0+
c2Nyb2xsZWRDb250ZW50T2Zmc2V0KCkpOyAvLyBGb3Igb3ZlcmZsb3c6YXV0by9zY3JvbGwvaGlk
ZGVuLgotCi0gICAgICAgIExheW91dFJlY3QgYm94UmVjdChMYXlvdXRQb2ludCgpLCBjYi0+Y2Fj
aGVkU2l6ZUZvck92ZXJmbG93Q2xpcCgpKTsKLSAgICAgICAgcmVwYWludFJlY3QuaW50ZXJzZWN0
KGJveFJlY3QpOwotICAgIH0KKyAgICBpZiAoY2ItPmhhc092ZXJmbG93Q2xpcCgpKQorICAgICAg
ICBjYi0+YXBwbHlDYWNoZWRDbGlwQW5kU2Nyb2xsT2Zmc2V0Rm9yUmVwYWludChyZXBhaW50UmVj
dCk7CiAKICAgICBjYi0+Y29tcHV0ZVJlY3RGb3JSZXBhaW50KHJlcGFpbnRDb250YWluZXIsIHJl
cGFpbnRSZWN0KTsKIApAQCAtMTA2NCwyMSArMTA1NywxMyBAQCB2b2lkIFJlbmRlcklubGluZTo6
Y29tcHV0ZVJlY3RGb3JSZXBhaW50KFJlbmRlckJveE1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFp
bmVyLAogICAgIAogICAgIC8vIEZJWE1FOiBXZSBpZ25vcmUgdGhlIGxpZ2h0d2VpZ2h0IGNsaXBw
aW5nIHJlY3QgdGhhdCBjb250cm9scyB1c2UsIHNpbmNlIGlmIHxvfCBpcyBpbiBtaWQtbGF5b3V0
LAogICAgIC8vIGl0cyBjb250cm9sQ2xpcFJlY3Qgd2lsbCBiZSB3cm9uZy4gRm9yIG92ZXJmbG93
IGNsaXAgd2UgdXNlIHRoZSB2YWx1ZXMgY2FjaGVkIGJ5IHRoZSBsYXllci4KKyAgICByZWN0LnNl
dExvY2F0aW9uKHRvcExlZnQpOwogICAgIGlmIChvLT5oYXNPdmVyZmxvd0NsaXAoKSkgewogICAg
ICAgICBSZW5kZXJCb3gqIGNvbnRhaW5lckJveCA9IHRvUmVuZGVyQm94KG8pOwotCi0gICAgICAg
IC8vIG8tPmhlaWdodCgpIGlzIGluYWNjdXJhdGUgaWYgd2UncmUgaW4gdGhlIG1pZGRsZSBvZiBh
IGxheW91dCBvZiB8b3wsIHNvIHVzZSB0aGUKLSAgICAgICAgLy8gbGF5ZXIncyBzaXplIGluc3Rl
YWQuICBFdmVuIGlmIHRoZSBsYXllcidzIHNpemUgaXMgd3JvbmcsIHRoZSBsYXllciBpdHNlbGYg
d2lsbCByZXBhaW50Ci0gICAgICAgIC8vIGFueXdheSBpZiBpdHMgc2l6ZSBkb2VzIGNoYW5nZS4K
LSAgICAgICAgdG9wTGVmdCAtPSBjb250YWluZXJCb3gtPnNjcm9sbGVkQ29udGVudE9mZnNldCgp
OyAvLyBGb3Igb3ZlcmZsb3c6YXV0by9zY3JvbGwvaGlkZGVuLgotCi0gICAgICAgIExheW91dFJl
Y3QgcmVwYWludFJlY3QodG9wTGVmdCwgcmVjdC5zaXplKCkpOwotICAgICAgICBMYXlvdXRSZWN0
IGJveFJlY3QoTGF5b3V0UG9pbnQoKSwgY29udGFpbmVyQm94LT5jYWNoZWRTaXplRm9yT3ZlcmZs
b3dDbGlwKCkpOwotICAgICAgICByZWN0ID0gaW50ZXJzZWN0aW9uKHJlcGFpbnRSZWN0LCBib3hS
ZWN0KTsKKyAgICAgICAgY29udGFpbmVyQm94LT5hcHBseUNhY2hlZENsaXBBbmRTY3JvbGxPZmZz
ZXRGb3JSZXBhaW50KHJlY3QpOwogICAgICAgICBpZiAocmVjdC5pc0VtcHR5KCkpCiAgICAgICAg
ICAgICByZXR1cm47Ci0gICAgfSBlbHNlCi0gICAgICAgIHJlY3Quc2V0TG9jYXRpb24odG9wTGVm
dCk7CisgICAgfQogCiAgICAgaWYgKGNvbnRhaW5lclNraXBwZWQpIHsKICAgICAgICAgLy8gSWYg
dGhlIHJlcGFpbnRDb250YWluZXIgaXMgYmVsb3cgbywgdGhlbiB3ZSBuZWVkIHRvIG1hcCB0aGUg
cmVjdCBpbnRvIHJlcGFpbnRDb250YWluZXIncyBjb29yZGluYXRlcy4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IGVjMzYzMmNiMjMzNjMxNTkwYzA1OWEyOTA5
NzE5NGYzOGEwNDkxYTEuLjZmMmE5ZmUzNjlkZDEzZjY2YTA1MmRlYjNmYWU0NjFhMzg2Mjg4YjYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApAQCAtMjU4LDYgKzI1
OCwxOSBAQCB2b2lkIFJlbmRlckxheWVyOjpjb250ZW50Q2hhbmdlZChDb250ZW50Q2hhbmdlVHlw
ZSBjaGFuZ2VUeXBlKQogfQogI2VuZGlmIC8vIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykK
IAorI2lmIEVOQUJMRShPVkVSRkxPV19TQ1JPTExJTkcpCitib29sIFJlbmRlckxheWVyOjpoYXNB
Y2NlbGVyYXRlZFNjcm9sbGluZygpIGNvbnN0Cit7CisgICAgaWYgKCFzY3JvbGxzT3ZlcmZsb3co
KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIFJlbmRlclN0eWxlKiBzdHlsZSA9IHJlbmRl
cmVyKCktPnN0eWxlKCk7CisgICAgLy8gRklYTUU6IE91dGxpbmVzIGN1cnJlbnRseSBlbmQgdXAg
b24gdGhlIHNjcm9sbGluZyBmb3JlZ3JvdW5kIGxheWVyLgorICAgIGlmIChzdHlsZS0+aGFzT3V0
bGluZSgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIHN0eWxlLT51c2VUb3Vj
aE92ZXJmbG93U2Nyb2xsaW5nKCk7Cit9CisjZW5kaWYKKwogYm9vbCBSZW5kZXJMYXllcjo6Y2Fu
UmVuZGVyM0RUcmFuc2Zvcm1zKCkgY29uc3QKIHsKICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9T
SVRJTkcpCkBAIC0xNjQ3LDcgKzE2NjAsMTIgQEAgdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsVG8o
aW50IHgsIGludCB5KQogICAgIH0KIAogICAgIC8vIEp1c3Qgc2NoZWR1bGUgYSBmdWxsIHJlcGFp
bnQgb2Ygb3VyIG9iamVjdC4KLSAgICBpZiAodmlldykKKyAgICBpZiAodmlldworI2lmIEVOQUJM
RShPVkVSRkxPV19TQ1JPTExJTkcpCisgICAgICAgIC8vIFBhaW50aW5nIGlzIGJlIGRyaXZlbiBi
eSB0aGUgY29tcG9zaXRvciBpbiB0aGUgYWNjZWxlcmF0ZWQgc2Nyb2xsaW5nIGNhc2UuCisgICAg
ICAgICYmICFoYXNBY2NlbGVyYXRlZFNjcm9sbGluZygpCisjZW5kaWYKKyAgICAgICAgKQogICAg
ICAgICByZW5kZXJlcigpLT5yZXBhaW50VXNpbmdDb250YWluZXIocmVwYWludENvbnRhaW5lciwg
bV9yZXBhaW50UmVjdCk7CiAKICAgICAvLyBTY2hlZHVsZSB0aGUgc2Nyb2xsIERPTSBldmVudC4K
QEAgLTMwODUsNyArMzEwMywxMyBAQCB2b2lkIFJlbmRlckxheWVyOjpwYWludExheWVyQ29udGVu
dHMoUmVuZGVyTGF5ZXIqIHJvb3RMYXllciwgR3JhcGhpY3NDb250ZXh0KiBjbwogICAgICAgICBw
ZXJmb3JtT3ZlcmxhcFRlc3RzKCpvdmVybGFwVGVzdFJlcXVlc3RzLCByb290TGF5ZXIsIHRoaXMp
OwogCiAgICAgLy8gV2Ugd2FudCB0byBwYWludCBvdXIgbGF5ZXIsIGJ1dCBvbmx5IGlmIHdlIGlu
dGVyc2VjdCB0aGUgZGFtYWdlIHJlY3QuCi0gICAgc2hvdWxkUGFpbnRDb250ZW50ICY9IGludGVy
c2VjdHNEYW1hZ2VSZWN0KGxheWVyQm91bmRzLCBkYW1hZ2VSZWN0LnJlY3QoKSwgcm9vdExheWVy
KTsKKyNpZiBFTkFCTEUoT1ZFUkZMT1dfU0NST0xMSU5HKQorICAgIGlmIChoYXNBY2NlbGVyYXRl
ZFNjcm9sbGluZygpICYmIChsb2NhbFBhaW50RmxhZ3MgJiBQYWludExheWVyUGFpbnRpbmdDb21w
b3NpdGluZ0ZvcmVncm91bmRQaGFzZSkpIHsKKyAgICAgICAgdXNlQ2xpcFJlY3QgPSBmYWxzZTsK
KyAgICAgICAgY2xpcFJlY3RUb0FwcGx5ID0gcGFpbnREaXJ0eVJlY3Q7CisgICAgfSBlbHNlCisj
ZW5kaWYKKyAgICAgICAgc2hvdWxkUGFpbnRDb250ZW50ICY9IGludGVyc2VjdHNEYW1hZ2VSZWN0
KGxheWVyQm91bmRzLCBkYW1hZ2VSZWN0LnJlY3QoKSwgcm9vdExheWVyKTsKICAgICAKICAgICBp
ZiAobG9jYWxQYWludEZsYWdzICYgUGFpbnRMYXllclBhaW50aW5nQ29tcG9zaXRpbmdCYWNrZ3Jv
dW5kUGhhc2UpIHsKICAgICAgICAgaWYgKHNob3VsZFBhaW50Q29udGVudCAmJiAhc2VsZWN0aW9u
T25seSkgewpAQCAtMzg5Nyw3ICszOTIxLDExIEBAIHZvaWQgUmVuZGVyTGF5ZXI6OmNhbGN1bGF0
ZUNsaXBSZWN0cyhjb25zdCBSZW5kZXJMYXllciogcm9vdExheWVyLCBSZW5kZXJSZWdpb24qCiAg
ICAgICAgICAgICBvZmZzZXQgLT0gdmlldy0+ZnJhbWVWaWV3KCktPnNjcm9sbE9mZnNldEZvckZp
eGVkUG9zaXRpb24oKTsKICAgICAgICAgfQogICAgICAgICAKLSAgICAgICAgaWYgKHJlbmRlcmVy
KCktPmhhc092ZXJmbG93Q2xpcCgpKSB7CisgICAgICAgIGlmIChyZW5kZXJlcigpLT5oYXNPdmVy
Zmxvd0NsaXAoKQorI2lmIEVOQUJMRShPVkVSRkxPV19TQ1JPTExJTkcpCisgICAgICAgICAgICAm
JiAhaGFzQWNjZWxlcmF0ZWRTY3JvbGxpbmcoKQorI2VuZGlmCisgICAgICAgICAgICApIHsKICAg
ICAgICAgICAgIENsaXBSZWN0IG5ld092ZXJmbG93Q2xpcCA9IHRvUmVuZGVyQm94KHJlbmRlcmVy
KCkpLT5vdmVyZmxvd0NsaXBSZWN0KG9mZnNldCwgcmVnaW9uLCByZWxldmFuY3kpOwogICAgICAg
ICAgICAgaWYgKHJlbmRlcmVyKCktPnN0eWxlKCktPmhhc0JvcmRlclJhZGl1cygpKQogICAgICAg
ICAgICAgICAgIG5ld092ZXJmbG93Q2xpcC5zZXRIYXNSYWRpdXModHJ1ZSk7CkBAIC00MDcxLDcg
KzQwOTksMTEgQEAgdm9pZCBSZW5kZXJMYXllcjo6cmVwYWludEJsb2NrU2VsZWN0aW9uR2Fwcygp
CiAKICAgICBMYXlvdXRSZWN0IHJlY3QgPSBtX2Jsb2NrU2VsZWN0aW9uR2Fwc0JvdW5kczsKICAg
ICByZWN0Lm1vdmUoLXNjcm9sbGVkQ29udGVudE9mZnNldCgpKTsKLSAgICBpZiAocmVuZGVyZXIo
KS0+aGFzT3ZlcmZsb3dDbGlwKCkpCisgICAgaWYgKHJlbmRlcmVyKCktPmhhc092ZXJmbG93Q2xp
cCgpCisjaWYgRU5BQkxFKE9WRVJGTE9XX1NDUk9MTElORykKKyAgICAgICAgJiYgIWhhc0FjY2Vs
ZXJhdGVkU2Nyb2xsaW5nKCkKKyNlbmRpZgorICAgICAgICApCiAgICAgICAgIHJlY3QuaW50ZXJz
ZWN0KHRvUmVuZGVyQm94KHJlbmRlcmVyKCkpLT5vdmVyZmxvd0NsaXBSZWN0KExheW91dFBvaW50
KCksIDApKTsgLy8gRklYTUU6IFJlZ2lvbnMgbm90IGFjY291bnRlZCBmb3IuCiAgICAgaWYgKHJl
bmRlcmVyKCktPmhhc0NsaXAoKSkKICAgICAgICAgcmVjdC5pbnRlcnNlY3QodG9SZW5kZXJCb3go
cmVuZGVyZXIoKSktPmNsaXBSZWN0KExheW91dFBvaW50KCksIDApKTsgLy8gRklYTUU6IFJlZ2lv
bnMgbm90IGFjY291bnRlZCBmb3IuCkBAIC00NzA0LDYgKzQ3MzYsOSBAQCBib29sIFJlbmRlckxh
eWVyOjpzaG91bGRCZU5vcm1hbEZsb3dPbmx5KCkgY29uc3QKICNpZiBFTkFCTEUoQ1NTX0ZJTFRF
UlMpCiAgICAgICAgICAgICAmJiAhcmVuZGVyZXIoKS0+aGFzRmlsdGVyKCkKICNlbmRpZgorI2lm
IEVOQUJMRShPVkVSRkxPV19TQ1JPTExJTkcpCisgICAgICAgICAgICAmJiAhaGFzQWNjZWxlcmF0
ZWRTY3JvbGxpbmcoKQorI2VuZGlmCiAgICAgICAgICAgICAmJiAhaXNUcmFuc3BhcmVudCgpOwog
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCmluZGV4IDVhNWUyNDQ2ZDQ1
MTI5ODk1ZGQwOGZkMzQwMjE0NDJkNDhkM2RmYTkuLmY4ZGMwNjNhN2IxZGFhZjRlZjg0YTdlYzY4
ODNmY2M3NGE1ZGViNzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMYXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCkBA
IC0zNzgsNiArMzc4LDEwIEBAIHB1YmxpYzoKICAgICB2b2lkIGNvbnRlbnRDaGFuZ2VkKENvbnRl
bnRDaGFuZ2VUeXBlKTsKICNlbmRpZgogCisjaWYgRU5BQkxFKE9WRVJGTE9XX1NDUk9MTElORykK
KyAgICB2aXJ0dWFsIGJvb2wgaGFzQWNjZWxlcmF0ZWRTY3JvbGxpbmcoKSBjb25zdCBPVkVSUklE
RTsKKyNlbmRpZgorCiAgICAgYm9vbCBjYW5SZW5kZXIzRFRyYW5zZm9ybXMoKSBjb25zdDsKIAog
ICAgIHZvaWQgdXBkYXRlTGF5ZXJQb3NpdGlvbigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcAppbmRleCAzMjM5NzMxMjk0NzVjNzFlMDgzOTEy
NWU2YzljZGMxMmY2Y2ZmYjM2Li44MGU3OTc3ZjRmOGY2NDI0MGU2ZDBjMzMyNzYzNDQ1NTY0OGQw
MWNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNr
aW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5n
LmNwcApAQCAtMTMyLDYgKzEzMiw5IEBAIFJlbmRlckxheWVyQmFja2luZzo6flJlbmRlckxheWVy
QmFja2luZygpCiAgICAgdXBkYXRlT3ZlcmZsb3dDb250cm9sc0xheWVycyhmYWxzZSwgZmFsc2Us
IGZhbHNlKTsKICAgICB1cGRhdGVGb3JlZ3JvdW5kTGF5ZXIoZmFsc2UpOwogICAgIHVwZGF0ZU1h
c2tMYXllcihmYWxzZSk7CisjaWYgRU5BQkxFKE9WRVJGTE9XX1NDUk9MTElORykKKyAgICB1cGRh
dGVTY3JvbGxpbmdMYXllcihmYWxzZSk7CisjZW5kaWYKICAgICBkZXN0cm95R3JhcGhpY3NMYXll
cnMoKTsKIH0KIApAQCAtMTk4LDYgKzIwMSwxMCBAQCB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6
ZGVzdHJveUdyYXBoaWNzTGF5ZXJzKCkKICAgICBtX2ZvcmVncm91bmRMYXllciA9IG51bGxwdHI7
CiAgICAgbV9jbGlwcGluZ0xheWVyID0gbnVsbHB0cjsKICAgICBtX21hc2tMYXllciA9IG51bGxw
dHI7CisKKyNpZiBFTkFCTEUoT1ZFUkZMT1dfU0NST0xMSU5HKQorICAgIG1fc2Nyb2xsaW5nTGF5
ZXIgPSBudWxscHRyOworI2VuZGlmCiB9CiAKIHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRh
dGVMYXllck9wYWNpdHkoY29uc3QgUmVuZGVyU3R5bGUqIHN0eWxlKQpAQCAtMjQyLDggKzI0OSw0
MSBAQCBzdGF0aWMgYm9vbCBsYXllck9yQW5jZXN0b3JJc1RyYW5zZm9ybWVkKFJlbmRlckxheWVy
KiBsYXllcikKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKKyNpZiBFTkFCTEUoT1ZFUkZMT1dfU0NS
T0xMSU5HKQorc3RhdGljIGJvb2wgaGFzVG91Y2hPdmVyZmxvd1Njcm9sbGluZyhjb25zdCBSZW5k
ZXJPYmplY3QqIHJlbmRlcmVyKQoreworICAgIGlmICghcmVuZGVyZXItPmhhc0xheWVyKCkgfHwg
IXJlbmRlcmVyLT5pc0JveE1vZGVsT2JqZWN0KCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICByZXR1cm4gdG9SZW5kZXJCb3hNb2RlbE9iamVjdChyZW5kZXJlciktPmxheWVyKCktPmhhc0Fj
Y2VsZXJhdGVkU2Nyb2xsaW5nKCk7Cit9CisKK3N0YXRpYyBib29sIGxheWVyT3JBbmNlc3Rvcklz
U2Nyb2xsaW5nKFJlbmRlckxheWVyKiBsYXllcikKK3sKKyAgICBmb3IgKFJlbmRlckxheWVyKiBj
dXJyID0gbGF5ZXI7IGN1cnI7IGN1cnIgPSBjdXJyLT5wYXJlbnQoKSkgeworICAgICAgICBpZiAo
aGFzVG91Y2hPdmVyZmxvd1Njcm9sbGluZyhjdXJyLT5yZW5kZXJlcigpKSkKKyAgICAgICAgICAg
IHJldHVybiB0cnVlOworICAgIH0KKworICAgIHJldHVybiBmYWxzZTsKK30KKyNlbmRpZgorCitH
cmFwaGljc0xheWVyKiBSZW5kZXJMYXllckJhY2tpbmc6OnBhcmVudEZvclN1YmxheWVycygpIGNv
bnN0Cit7CisjaWYgRU5BQkxFKE9WRVJGTE9XX1NDUk9MTElORykKKyAgICBpZiAobV9zY3JvbGxp
bmdMYXllcikKKyAgICAgICAgcmV0dXJuIG1fc2Nyb2xsaW5nTGF5ZXIuZ2V0KCk7CisjZW5kaWYK
KyAgICByZXR1cm4gbV9jbGlwcGluZ0xheWVyID8gbV9jbGlwcGluZ0xheWVyLmdldCgpIDogbV9n
cmFwaGljc0xheWVyLmdldCgpOworfQorCiBib29sIFJlbmRlckxheWVyQmFja2luZzo6c2hvdWxk
Q2xpcENvbXBvc2l0ZWRCb3VuZHMoKSBjb25zdAogeworI2lmIEVOQUJMRShPVkVSRkxPV19TQ1JP
TExJTkcpCisgICAgaWYgKGxheWVyT3JBbmNlc3RvcklzU2Nyb2xsaW5nKG1fb3duaW5nTGF5ZXIp
KQorICAgICAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKKwogICAgIGlmIChtX3VzaW5nVGlsZWRD
YWNoZUxheWVyKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIApAQCAtMzM1LDcgKzM3NSwxMiBAQCBi
b29sIFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlR3JhcGhpY3NMYXllckNvbmZpZ3VyYXRpb24o
KQogICAgIGJvb2wgbGF5ZXJDb25maWdDaGFuZ2VkID0gZmFsc2U7CiAgICAgaWYgKHVwZGF0ZUZv
cmVncm91bmRMYXllcihjb21wb3NpdG9yLT5uZWVkc0NvbnRlbnRzQ29tcG9zaXRpbmdMYXllciht
X293bmluZ0xheWVyKSkpCiAgICAgICAgIGxheWVyQ29uZmlnQ2hhbmdlZCA9IHRydWU7Ci0gICAg
CisKKyNpZiBFTkFCTEUoT1ZFUkZMT1dfU0NST0xMSU5HKQorICAgIGlmICh1cGRhdGVTY3JvbGxp
bmdMYXllcihoYXNUb3VjaE92ZXJmbG93U2Nyb2xsaW5nKHJlbmRlcmVyKSkpCisgICAgICAgIGxh
eWVyQ29uZmlnQ2hhbmdlZCA9IHRydWU7CisjZW5kaWYKKwogICAgIGlmICh1cGRhdGVDbGlwcGlu
Z0xheWVycyhjb21wb3NpdG9yLT5jbGlwcGVkQnlBbmNlc3RvcihtX293bmluZ0xheWVyKSwgY29t
cG9zaXRvci0+Y2xpcHNDb21wb3NpdGluZ0Rlc2NlbmRhbnRzKG1fb3duaW5nTGF5ZXIpKSkKICAg
ICAgICAgbGF5ZXJDb25maWdDaGFuZ2VkID0gdHJ1ZTsKIApAQCAtNDgyLDcgKzUyNyw3IEBAIHZv
aWQgUmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVHcmFwaGljc0xheWVyR2VvbWV0cnkoKQogICAg
ICAgICBncmFwaGljc0xheWVyUGFyZW50TG9jYXRpb24gPSBhbmNlc3RvckNvbXBvc2l0aW5nQm91
bmRzLmxvY2F0aW9uKCk7CiAgICAgZWxzZQogICAgICAgICBncmFwaGljc0xheWVyUGFyZW50TG9j
YXRpb24gPSByZW5kZXJlcigpLT52aWV3KCktPmRvY3VtZW50UmVjdCgpLmxvY2F0aW9uKCk7Ci0g
ICAgCisKICAgICBpZiAoY29tcEFuY2VzdG9yICYmIG1fYW5jZXN0b3JDbGlwcGluZ0xheWVyKSB7
CiAgICAgICAgIC8vIENhbGwgY2FsY3VsYXRlUmVjdHMgdG8gZ2V0IHRoZSBiYWNrZ3JvdW5kUmVj
dCB3aGljaCBpcyB3aGF0IGlzIHVzZWQgdG8gY2xpcCB0aGUgY29udGVudHMgb2YgdGhpcwogICAg
ICAgICAvLyBsYXllci4gTm90ZSB0aGF0IHdlIGNhbGwgaXQgd2l0aCB0ZW1wb3JhcnlDbGlwUmVj
dHMgPSB0cnVlIGJlY2F1c2Ugbm9ybWFsbHkgd2hlbiBjb21wdXRpbmcgY2xpcCByZWN0cwpAQCAt
NDk5LDYgKzU0NCwxNSBAQCB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlR3JhcGhpY3NM
YXllckdlb21ldHJ5KCkKICAgICAgICAgZ3JhcGhpY3NMYXllclBhcmVudExvY2F0aW9uID0gcGFy
ZW50Q2xpcFJlY3QubG9jYXRpb24oKTsKICAgICB9CiAKKyNpZiBFTkFCTEUoT1ZFUkZMT1dfU0NS
T0xMSU5HKQorICAgIGlmIChjb21wQW5jZXN0b3IgJiYgaGFzVG91Y2hPdmVyZmxvd1Njcm9sbGlu
Zyhjb21wQW5jZXN0b3ItPnJlbmRlcmVyKCkpKSB7CisgICAgICAgIFJlbmRlckJveCogcmVuZGVy
Qm94ID0gdG9SZW5kZXJCb3goY29tcEFuY2VzdG9yLT5yZW5kZXJlcigpKTsKKyAgICAgICAgSW50
U2l6ZSBzY3JvbGxPZmZzZXQgPSBjb21wQW5jZXN0b3ItPnNjcm9sbGVkQ29udGVudE9mZnNldCgp
OworICAgICAgICBJbnRQb2ludCBzY3JvbGxPcmlnaW4ocmVuZGVyQm94LT5ib3JkZXJMZWZ0KCks
IHJlbmRlckJveC0+Ym9yZGVyVG9wKCkpOworICAgICAgICBncmFwaGljc0xheWVyUGFyZW50TG9j
YXRpb24gPSBzY3JvbGxPcmlnaW4gLSBzY3JvbGxPZmZzZXQ7CisgICAgfQorI2VuZGlmCisKICAg
ICBtX2dyYXBoaWNzTGF5ZXItPnNldFBvc2l0aW9uKEZsb2F0UG9pbnQoKSArIChyZWxhdGl2ZUNv
bXBvc2l0aW5nQm91bmRzLmxvY2F0aW9uKCkgLSBncmFwaGljc0xheWVyUGFyZW50TG9jYXRpb24p
KTsKICAgICBtX2dyYXBoaWNzTGF5ZXItPnNldE9mZnNldEZyb21SZW5kZXJlcihsb2NhbENvbXBv
c2l0aW5nQm91bmRzLmxvY2F0aW9uKCkgLSBJbnRQb2ludCgpKTsKICAgICAKQEAgLTU2OCw2ICs2
MjIsNyBAQCB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlR3JhcGhpY3NMYXllckdlb21l
dHJ5KCkKICAgICAgICAgRmxvYXRQb2ludCBmb3JlZ3JvdW5kUG9zaXRpb247CiAgICAgICAgIEZs
b2F0U2l6ZSBmb3JlZ3JvdW5kU2l6ZSA9IG5ld1NpemU7CiAgICAgICAgIEludFNpemUgZm9yZWdy
b3VuZE9mZnNldCA9IG1fZ3JhcGhpY3NMYXllci0+b2Zmc2V0RnJvbVJlbmRlcmVyKCk7CisgICAg
ICAgIGJvb2wgZm9yZWdyb3VuZE5lZWRzRGlzcGxheSA9IHRydWU7CiAgICAgICAgIGlmIChtX2Ns
aXBwaW5nTGF5ZXIpIHsKICAgICAgICAgICAgIC8vIElmIHdlIGhhdmUgYSBjbGlwcGluZyBsYXll
ciAod2hpY2ggY2xpcHMgZGVzY2VuZGFudHMpLCB0aGVuIHRoZSBmb3JlZ3JvdW5kIGxheWVyIGlz
IGEgY2hpbGQgb2YgaXQsCiAgICAgICAgICAgICAvLyBzbyB0aGF0IGl0IGdldHMgY29ycmVjdGx5
IHNvcnRlZCB3aXRoIGNoaWxkcmVuLiBJbiB0aGF0IGNhc2UsIHBvc2l0aW9uIHJlbGF0aXZlIHRv
IHRoZSBjbGlwcGluZyBsYXllci4KQEAgLTU3NSw5ICs2MzAsMjYgQEAgdm9pZCBSZW5kZXJMYXll
ckJhY2tpbmc6OnVwZGF0ZUdyYXBoaWNzTGF5ZXJHZW9tZXRyeSgpCiAgICAgICAgICAgICBmb3Jl
Z3JvdW5kT2Zmc2V0ID0gY2xpcHBpbmdCb3gubG9jYXRpb24oKSAtIEludFBvaW50KCk7CiAgICAg
ICAgIH0KIAorI2lmIEVOQUJMRShPVkVSRkxPV19TQ1JPTExJTkcpCisgICAgICAgIGlmIChtX3Nj
cm9sbGluZ0xheWVyKSB7CisgICAgICAgICAgICBJbnRTaXplIHNjcm9sbE9mZnNldCA9IG1fb3du
aW5nTGF5ZXItPnNjcm9sbGVkQ29udGVudE9mZnNldCgpOworICAgICAgICAgICAgSW50U2l6ZSBz
Y3JvbGxEZWx0YSA9IHNjcm9sbE9mZnNldCArIG1fc2Nyb2xsaW5nTGF5ZXItPm9mZnNldEZyb21S
ZW5kZXJlcigpOworICAgICAgICAgICAgSW50U2l6ZSB0YXJnZXRPZmZzZXQgPSBmb3JlZ3JvdW5k
T2Zmc2V0IC0gc2Nyb2xsT2Zmc2V0OworCisgICAgICAgICAgICBmb3JlZ3JvdW5kT2Zmc2V0ID0g
dGFyZ2V0T2Zmc2V0OworICAgICAgICAgICAgZm9yZWdyb3VuZFNpemUgPSBJbnRTaXplKG1fb3du
aW5nTGF5ZXItPnNjcm9sbFdpZHRoKCksIG1fb3duaW5nTGF5ZXItPnNjcm9sbEhlaWdodCgpKTsK
KworICAgICAgICAgICAgLy8gSWYgb25seSB0aGUgc2Nyb2xsIG9mZnNldCBjaGFuZ2VkLCB0aGVy
ZSdzIG5vIG5lZWQgdG8gdG8gaW52YWxpZGF0ZSB0aGUgZW50aXJlIGxheWVyLgorICAgICAgICAg
ICAgaWYgKHRhcmdldE9mZnNldCA9PSBtX2ZvcmVncm91bmRMYXllci0+b2Zmc2V0RnJvbVJlbmRl
cmVyKCkgLSBzY3JvbGxEZWx0YSAmJiBmb3JlZ3JvdW5kU2l6ZSA9PSBtX2ZvcmVncm91bmRMYXll
ci0+c2l6ZSgpKQorICAgICAgICAgICAgICAgIGZvcmVncm91bmROZWVkc0Rpc3BsYXkgPSBmYWxz
ZTsKKworICAgICAgICAgICAgaWYgKGZvcmVncm91bmRPZmZzZXQgIT0gbV9mb3JlZ3JvdW5kTGF5
ZXItPm9mZnNldEZyb21SZW5kZXJlcigpIHx8IGZvcmVncm91bmRTaXplICE9IG1fZm9yZWdyb3Vu
ZExheWVyLT5zaXplKCkpCisgICAgICAgICAgICAgICAgY29tcG9zaXRvcigpLT5zY3JvbGxpbmdM
YXllckRpZENoYW5nZShtX293bmluZ0xheWVyKTsKKyAgICAgICAgfQorI2VuZGlmCiAgICAgICAg
IG1fZm9yZWdyb3VuZExheWVyLT5zZXRQb3NpdGlvbihmb3JlZ3JvdW5kUG9zaXRpb24pOwogICAg
ICAgICBtX2ZvcmVncm91bmRMYXllci0+c2V0U2l6ZShmb3JlZ3JvdW5kU2l6ZSk7Ci0gICAgICAg
IG1fZm9yZWdyb3VuZExheWVyLT5zZXRPZmZzZXRGcm9tUmVuZGVyZXIoZm9yZWdyb3VuZE9mZnNl
dCk7CisgICAgICAgIG1fZm9yZWdyb3VuZExheWVyLT5zZXRPZmZzZXRGcm9tUmVuZGVyZXIoZm9y
ZWdyb3VuZE9mZnNldCwgZm9yZWdyb3VuZE5lZWRzRGlzcGxheSk7CiAgICAgfQogCiAgICAgaWYg
KG1fb3duaW5nTGF5ZXItPnJlZmxlY3Rpb25MYXllcigpICYmIG1fb3duaW5nTGF5ZXItPnJlZmxl
Y3Rpb25MYXllcigpLT5pc0NvbXBvc2l0ZWQoKSkgewpAQCAtNTkxLDYgKzY2MywxNCBAQCB2b2lk
IFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlR3JhcGhpY3NMYXllckdlb21ldHJ5KCkKICAgICAg
ICAgcmVmbGVjdGlvbkJhY2tpbmctPmdyYXBoaWNzTGF5ZXIoKS0+c2V0UmVwbGljYXRlZExheWVy
UG9zaXRpb24oRmxvYXRQb2ludCgpICsgKGxheWVyQm91bmRzLmxvY2F0aW9uKCkgLSByZWZsZWN0
aW9uTGF5ZXJCb3VuZHMubG9jYXRpb24oKSkpOwogICAgIH0KIAorI2lmIEVOQUJMRShPVkVSRkxP
V19TQ1JPTExJTkcpCisgICAgaWYgKG1fc2Nyb2xsaW5nTGF5ZXIpIHsKKyAgICAgICAgSW50U2l6
ZSBzY3JvbGxPZmZzZXQgPSBtX293bmluZ0xheWVyLT5zY3JvbGxlZENvbnRlbnRPZmZzZXQoKTsK
KyAgICAgICAgbV9zY3JvbGxpbmdMYXllci0+c2V0UG9zaXRpb24oRmxvYXRQb2ludCgtc2Nyb2xs
T2Zmc2V0LndpZHRoKCksIC1zY3JvbGxPZmZzZXQuaGVpZ2h0KCkpKTsKKyAgICAgICAgbV9zY3Jv
bGxpbmdMYXllci0+c2V0T2Zmc2V0RnJvbVJlbmRlcmVyKC1zY3JvbGxPZmZzZXQpOworICAgIH0K
KyNlbmRpZgorCiAgICAgbV9ncmFwaGljc0xheWVyLT5zZXRDb250ZW50c1JlY3QoY29udGVudHNC
b3goKSk7CiAKICAgICAvLyBJZiB0aGlzIGxheWVyIHdhcyBjcmVhdGVkIGp1c3QgZm9yIGNsaXBw
aW5nIG9yIHRvIGFwcGx5IHBlcnNwZWN0aXZlLCBpdCBkb2Vzbid0IG5lZWQgaXRzIG93biBiYWNr
aW5nIHN0b3JlLgpAQCAtNjI5LDYgKzcwOSwxMyBAQCB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6
dXBkYXRlSW50ZXJuYWxIaWVyYXJjaHkoKQogICAgICAgICAgICAgbV9sYXllckZvclNjcm9sbENv
cm5lci0+cmVtb3ZlRnJvbVBhcmVudCgpOwogICAgICAgICAgICAgbV9ncmFwaGljc0xheWVyLT5h
ZGRDaGlsZChtX2xheWVyRm9yU2Nyb2xsQ29ybmVyLmdldCgpKTsKICAgICAgICAgfQorCisjaWYg
RU5BQkxFKE9WRVJGTE9XX1NDUk9MTElORykKKyAgICAgICAgaWYgKG1fc2Nyb2xsaW5nTGF5ZXIp
IHsKKyAgICAgICAgICAgIG1fc2Nyb2xsaW5nTGF5ZXItPnJlbW92ZUZyb21QYXJlbnQoKTsKKyAg
ICAgICAgICAgIG1fY2xpcHBpbmdMYXllci0+YWRkQ2hpbGQobV9zY3JvbGxpbmdMYXllci5nZXQo
KSk7CisgICAgICAgIH0KKyNlbmRpZgogICAgIH0KIH0KIApAQCAtNzg0LDYgKzg3MSwyOCBAQCBi
b29sIFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlTWFza0xheWVyKGJvb2wgbmVlZHNNYXNrTGF5
ZXIpCiAgICAgcmV0dXJuIGxheWVyQ2hhbmdlZDsKIH0KIAorI2lmIEVOQUJMRShPVkVSRkxPV19T
Q1JPTExJTkcpCitib29sIFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlU2Nyb2xsaW5nTGF5ZXIo
Ym9vbCBuZWVkU2Nyb2xsaW5nTGF5ZXIpCit7CisgICAgYm9vbCBsYXllckNoYW5nZWQgPSBmYWxz
ZTsKKyAgICBpZiAobmVlZFNjcm9sbGluZ0xheWVyKSB7CisgICAgICAgIGlmICghbV9zY3JvbGxp
bmdMYXllcikgeworICAgICAgICAgICAgbV9zY3JvbGxpbmdMYXllciA9IGNyZWF0ZUdyYXBoaWNz
TGF5ZXIoIlNjcm9sbGluZyBMYXllciIpOworICAgICAgICAgICAgbGF5ZXJDaGFuZ2VkID0gdHJ1
ZTsKKyAgICAgICAgfQorICAgIH0gZWxzZSBpZiAobV9zY3JvbGxpbmdMYXllcikgeworICAgICAg
ICBtX3Njcm9sbGluZ0xheWVyLT5yZW1vdmVGcm9tUGFyZW50KCk7CisgICAgICAgIG1fc2Nyb2xs
aW5nTGF5ZXIgPSBudWxscHRyOworICAgICAgICBsYXllckNoYW5nZWQgPSB0cnVlOworICAgIH0K
KworICAgIGlmIChsYXllckNoYW5nZWQgJiYgbV9vd25pbmdMYXllci0+cmVuZGVyZXIoKS0+dmll
dygpKQorICAgICAgICBjb21wb3NpdG9yKCktPnNjcm9sbGluZ0xheWVyRGlkQ2hhbmdlKG1fb3du
aW5nTGF5ZXIpOworCisgICAgcmV0dXJuIGxheWVyQ2hhbmdlZDsKK30KKyNlbmRpZiAvLyBFTkFC
TEUoT1ZFUkZMT1dfU0NST0xMSU5HKQorCiBHcmFwaGljc0xheWVyUGFpbnRpbmdQaGFzZSBSZW5k
ZXJMYXllckJhY2tpbmc6OnBhaW50aW5nUGhhc2VGb3JQcmltYXJ5TGF5ZXIoKSBjb25zdAogewog
ICAgIHVuc2lnbmVkIHBoYXNlID0gR3JhcGhpY3NMYXllclBhaW50QmFja2dyb3VuZDsKQEAgLTEy
MzksOCArMTM0OCwxMyBAQCB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6cGFpbnRDb250ZW50cyhj
b25zdCBHcmFwaGljc0xheWVyKiBncmFwaGljc0xheWVyLCBHcmFwaAogICAgICAgICBJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb25Db29raWUgY29va2llID0gSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
Ojp3aWxsUGFpbnQobV9vd25pbmdMYXllci0+cmVuZGVyZXIoKS0+ZnJhbWUoKSwgJmNvbnRleHQs
IGNsaXApOwogCiAgICAgICAgIC8vIFRoZSBkaXJ0eVJlY3QgaXMgaW4gdGhlIGNvb3JkcyBvZiB0
aGUgcGFpbnRpbmcgcm9vdC4KLSAgICAgICAgSW50UmVjdCBkaXJ0eVJlY3QgPSBjb21wb3NpdGVk
Qm91bmRzKCk7Ci0gICAgICAgIGRpcnR5UmVjdC5pbnRlcnNlY3QoY2xpcCk7CisgICAgICAgIElu
dFJlY3QgZGlydHlSZWN0OworI2lmIEVOQUJMRShPVkVSRkxPV19TQ1JPTExJTkcpCisgICAgICAg
IGlmIChtX293bmluZ0xheWVyLT5oYXNBY2NlbGVyYXRlZFNjcm9sbGluZygpICYmIHBhaW50aW5n
UGhhc2UgPT0gR3JhcGhpY3NMYXllclBhaW50Rm9yZWdyb3VuZCAmJiBncmFwaGljc0xheWVyID09
IG1fZm9yZWdyb3VuZExheWVyLmdldCgpKQorICAgICAgICAgICAgZGlydHlSZWN0ID0gY2xpcDsK
KyAgICAgICAgZWxzZQorI2VuZGlmCisgICAgICAgICAgICBkaXJ0eVJlY3QgPSBpbnRlcnNlY3Rp
b24oY29tcG9zaXRlZEJvdW5kcygpLCBjbGlwKTsKIAogICAgICAgICAvLyBXZSBoYXZlIHRvIHVz
ZSB0aGUgc2FtZSByb290IGFzIGZvciBoaXQgdGVzdGluZywgYmVjYXVzZSBib3RoIG1ldGhvZHMg
Y2FuIGNvbXB1dGUgYW5kIGNhY2hlIGNsaXBSZWN0cy4KICAgICAgICAgcGFpbnRJbnRvTGF5ZXIo
bV9vd25pbmdMYXllciwgJmNvbnRleHQsIGRpcnR5UmVjdCwgUGFpbnRCZWhhdmlvck5vcm1hbCwg
cGFpbnRpbmdQaGFzZSwgcmVuZGVyZXIoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXJCYWNraW5nLmgKaW5kZXggZDg3MTg4NThlYWY2YmNlNDE5MDA0YjYxOTQ5ZjJm
ZTE5MGIwZDM4Mi4uMjI0OTkwNjc1M2NlZDRjNDMxNjc5OGQxYTBkN2I2MzRlMGMzODEzMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuaApAQCAtODMs
MTAgKzgzLDE1IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgaGFzQ29udGVudHNMYXllcigpIGNvbnN0
IHsgcmV0dXJuIG1fZm9yZWdyb3VuZExheWVyICE9IDA7IH0KICAgICBHcmFwaGljc0xheWVyKiBm
b3JlZ3JvdW5kTGF5ZXIoKSBjb25zdCB7IHJldHVybiBtX2ZvcmVncm91bmRMYXllci5nZXQoKTsg
fQorCisjaWYgRU5BQkxFKE9WRVJGTE9XX1NDUk9MTElORykKKyAgICBib29sIGhhc1Njcm9sbGlu
Z0xheWVyKCkgY29uc3QgeyByZXR1cm4gbV9zY3JvbGxpbmdMYXllcjsgfQorICAgIEdyYXBoaWNz
TGF5ZXIqIHNjcm9sbGluZ0xheWVyKCkgY29uc3QgeyByZXR1cm4gbV9zY3JvbGxpbmdMYXllci5n
ZXQoKTsgfQorI2VuZGlmCiAgICAgCiAgICAgYm9vbCBoYXNNYXNrTGF5ZXIoKSBjb25zdCB7IHJl
dHVybiBtX21hc2tMYXllciAhPSAwOyB9CiAKLSAgICBHcmFwaGljc0xheWVyKiBwYXJlbnRGb3JT
dWJsYXllcnMoKSBjb25zdCB7IHJldHVybiBtX2NsaXBwaW5nTGF5ZXIgPyBtX2NsaXBwaW5nTGF5
ZXIuZ2V0KCkgOiBtX2dyYXBoaWNzTGF5ZXIuZ2V0KCk7IH0KKyAgICBHcmFwaGljc0xheWVyKiBw
YXJlbnRGb3JTdWJsYXllcnMoKSBjb25zdDsKICAgICBHcmFwaGljc0xheWVyKiBjaGlsZEZvclN1
cGVybGF5ZXJzKCkgY29uc3QgeyByZXR1cm4gbV9hbmNlc3RvckNsaXBwaW5nTGF5ZXIgPyBtX2Fu
Y2VzdG9yQ2xpcHBpbmdMYXllci5nZXQoKSA6IG1fZ3JhcGhpY3NMYXllci5nZXQoKTsgfQogCiAg
ICAgLy8gUmVuZGVyTGF5ZXJzIHdpdGggYmFja2luZyBub3JtYWxseSBzaG9ydC1jaXJjdWl0IHBh
aW50TGF5ZXIoKSBiZWNhdXNlCkBAIC0xODEsNiArMTg2LDEwIEBAIHByaXZhdGU6CiAgICAgYm9v
bCByZXF1aXJlc0hvcml6b250YWxTY3JvbGxiYXJMYXllcigpIGNvbnN0OwogICAgIGJvb2wgcmVx
dWlyZXNWZXJ0aWNhbFNjcm9sbGJhckxheWVyKCkgY29uc3Q7CiAgICAgYm9vbCByZXF1aXJlc1Nj
cm9sbENvcm5lckxheWVyKCkgY29uc3Q7CisjaWYgRU5BQkxFKE9WRVJGTE9XX1NDUk9MTElORykK
KyAgICBib29sIHVwZGF0ZUJhY2tncm91bmRMYXllcihib29sIG5lZWRzQmFja2dyb3VuZExheWVy
KTsKKyAgICBib29sIHVwZGF0ZVNjcm9sbGluZ0xheWVyKGJvb2wgbmVlZFNjcm9sbGluZ0xheWVy
KTsKKyNlbmRpZgogCiAgICAgR3JhcGhpY3NMYXllclBhaW50aW5nUGhhc2UgcGFpbnRpbmdQaGFz
ZUZvclByaW1hcnlMYXllcigpIGNvbnN0OwogICAgIApAQCAtMjM3LDYgKzI0NiwxMSBAQCBwcml2
YXRlOgogICAgIE93blB0cjxHcmFwaGljc0xheWVyPiBtX2xheWVyRm9yVmVydGljYWxTY3JvbGxi
YXI7CiAgICAgT3duUHRyPEdyYXBoaWNzTGF5ZXI+IG1fbGF5ZXJGb3JTY3JvbGxDb3JuZXI7CiAK
KyNpZiBFTkFCTEUoT1ZFUkZMT1dfU0NST0xMSU5HKQorICAgIC8vIE9ubHkgdXNlZCBpZiB0aGUg
bGF5ZXIgaXMgc2Nyb2xsYWJsZS4KKyAgICBPd25QdHI8R3JhcGhpY3NMYXllcj4gbV9zY3JvbGxp
bmdMYXllcjsKKyNlbmRpZgorCiAgICAgSW50UmVjdCBtX2NvbXBvc2l0ZWRCb3VuZHM7CiAKICAg
ICBib29sIG1fYXJ0aWZpY2lhbGx5SW5mbGF0ZWRCb3VuZHM7ICAgICAgLy8gYm91bmRzIGhhZCB0
byBiZSBtYWRlIG5vbi16ZXJvIHRvIG1ha2UgdHJhbnNmb3JtLW9yaWdpbiB3b3JrCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCmluZGV4
IDE0NjZlMzliYWUzNDY3YjQyYjNlMzEzMmJjMzEyNTQ5YjEyYTlhMWEuLjRkNjY2ZDE5Yjc2NGRh
MDdjMzliNGM1MDZhNmVlMzVjMDkwNDg2NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCkBAIC03ODUsNiArNzg1LDEyIEBAIHZv
aWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpjb21wdXRlQ29tcG9zaXRpbmdSZXF1aXJlbWVudHMo
UmVuZGVyTGF5ZXIqIGFuY2VzdG9yCiAKICAgICBib29sIGFueURlc2NlbmRhbnRIYXMzRFRyYW5z
Zm9ybSA9IGZhbHNlOwogCisjaWYgRU5BQkxFKE9WRVJGTE9XX1NDUk9MTElORykKKyAgICAvLyBT
Y3JvbGxpbmcgbGF5ZXJzIG5lZWQgdG8gY2xpcCB0aGUgc2Nyb2xsaW5nIGNvbnRlbnQuCisgICAg
aWYgKHdpbGxCZUNvbXBvc2l0ZWQgJiYgbGF5ZXItPmlzU3RhY2tpbmdDb250ZXh0KCkgJiYgbGF5
ZXItPnJlbmRlcmVyKCktPmhhc092ZXJmbG93Q2xpcCgpKQorICAgICAgICBjaGlsZFN0YXRlLm1f
c3VidHJlZUlzQ29tcG9zaXRpbmcgPSB0cnVlOworI2VuZGlmCisKICAgICBpZiAobGF5ZXItPmlz
U3RhY2tpbmdDb250ZXh0KCkpIHsKICAgICAgICAgaWYgKFZlY3RvcjxSZW5kZXJMYXllcio+KiBu
ZWdaT3JkZXJMaXN0ID0gbGF5ZXItPm5lZ1pPcmRlckxpc3QoKSkgewogICAgICAgICAgICAgc2l6
ZV90IGxpc3RTaXplID0gbmVnWk9yZGVyTGlzdC0+c2l6ZSgpOwpAQCAtMTA5OSw2ICsxMTA1LDE1
IEBAIHZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpmcmFtZVZpZXdEaWRTY3JvbGwoKQogICAg
IG1fc2Nyb2xsTGF5ZXItPnNldFBvc2l0aW9uKEZsb2F0UG9pbnQoLXNjcm9sbFBvc2l0aW9uLngo
KSwgLXNjcm9sbFBvc2l0aW9uLnkoKSkpOwogfQogCisjaWYgRU5BQkxFKE9WRVJGTE9XX1NDUk9M
TElORykKK3ZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpzY3JvbGxpbmdMYXllckRpZENoYW5n
ZShSZW5kZXJMYXllciogbGF5ZXIpCit7CisgICAgUmVuZGVyTGF5ZXJCYWNraW5nKiBiYWNraW5n
ID0gbGF5ZXItPmJhY2tpbmcoKTsKKyAgICBpZiAoU2Nyb2xsaW5nQ29vcmRpbmF0b3IqIHNjcm9s
bGluZ0Nvb3JkaW5hdG9yID0gdGhpcy0+c2Nyb2xsaW5nQ29vcmRpbmF0b3IoKSkKKyAgICAgICAg
c2Nyb2xsaW5nQ29vcmRpbmF0b3ItPnNjcm9sbGFibGVBcmVhU2Nyb2xsTGF5ZXJEaWRDaGFuZ2Uo
bGF5ZXIsIGJhY2tpbmcgPyBiYWNraW5nLT5zY3JvbGxpbmdMYXllcigpIDogMCk7Cit9CisjZW5k
aWYKKwogU3RyaW5nIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6bGF5ZXJUcmVlQXNUZXh0KGJvb2wg
c2hvd0RlYnVnSW5mbykKIHsKICAgICB1cGRhdGVDb21wb3NpdGluZ0xheWVycyhDb21wb3NpdGlu
Z1VwZGF0ZUFmdGVyTGF5b3V0KTsKQEAgLTE0NTEsNyArMTQ2Niw4IEBAIGJvb2wgUmVuZGVyTGF5
ZXJDb21wb3NpdG9yOjpyZXF1aXJlc0NvbXBvc2l0aW5nTGF5ZXIoY29uc3QgUmVuZGVyTGF5ZXIq
IGxheWVyKSBjCiAgICAgICAgIHx8IGNsaXBzQ29tcG9zaXRpbmdEZXNjZW5kYW50cyhsYXllcikK
ICAgICAgICAgfHwgcmVxdWlyZXNDb21wb3NpdGluZ0ZvckFuaW1hdGlvbihyZW5kZXJlcikKICAg
ICAgICAgfHwgcmVxdWlyZXNDb21wb3NpdGluZ0ZvckZpbHRlcnMocmVuZGVyZXIpCi0gICAgICAg
IHx8IHJlcXVpcmVzQ29tcG9zaXRpbmdGb3JQb3NpdGlvbihyZW5kZXJlciwgbGF5ZXIpOworICAg
ICAgICB8fCByZXF1aXJlc0NvbXBvc2l0aW5nRm9yUG9zaXRpb24ocmVuZGVyZXIsIGxheWVyKQor
ICAgICAgICB8fCByZXF1aXJlc0NvbXBvc2l0aW5nRm9yT3ZlcmZsb3dTY3JvbGwocmVuZGVyZXIp
OwogfQogCiBib29sIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6Y2FuQmVDb21wb3NpdGVkKGNvbnN0
IFJlbmRlckxheWVyKiBsYXllcikgY29uc3QKQEAgLTE0ODAsNiArMTQ5Niw3IEBAIGJvb2wgUmVu
ZGVyTGF5ZXJDb21wb3NpdG9yOjpyZXF1aXJlc093bkJhY2tpbmdTdG9yZShjb25zdCBSZW5kZXJM
YXllciogbGF5ZXIsIGNvCiAgICAgICAgIHx8IHJlcXVpcmVzQ29tcG9zaXRpbmdGb3JBbmltYXRp
b24ocmVuZGVyZXIpCiAgICAgICAgIHx8IHJlcXVpcmVzQ29tcG9zaXRpbmdGb3JGaWx0ZXJzKHJl
bmRlcmVyKQogICAgICAgICB8fCByZXF1aXJlc0NvbXBvc2l0aW5nRm9yUG9zaXRpb24ocmVuZGVy
ZXIsIGxheWVyKQorICAgICAgICB8fCByZXF1aXJlc0NvbXBvc2l0aW5nRm9yT3ZlcmZsb3dTY3Jv
bGwocmVuZGVyZXIpCiAgICAgICAgIHx8IHJlbmRlcmVyLT5pc1RyYW5zcGFyZW50KCkKICAgICAg
ICAgfHwgcmVuZGVyZXItPmhhc01hc2soKQogICAgICAgICB8fCByZW5kZXJlci0+aGFzUmVmbGVj
dGlvbigpCkBAIC0xODQwLDYgKzE4NTcsMTYgQEAgYm9vbCBSZW5kZXJMYXllckNvbXBvc2l0b3I6
OnJlcXVpcmVzQ29tcG9zaXRpbmdGb3JQb3NpdGlvbihSZW5kZXJPYmplY3QqIHJlbmRlcmUKICAg
ICByZXR1cm4gdHJ1ZTsKIH0KIAorYm9vbCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnJlcXVpcmVz
Q29tcG9zaXRpbmdGb3JPdmVyZmxvd1Njcm9sbChSZW5kZXJPYmplY3QqIHJlbmRlcmVyKSBjb25z
dAoreworI2lmIEVOQUJMRShPVkVSRkxPV19TQ1JPTExJTkcpCisgICAgcmV0dXJuIHJlbmRlcmVy
LT5oYXNMYXllcigpICYmIHRvUmVuZGVyQm94TW9kZWxPYmplY3QocmVuZGVyZXIpLT5sYXllcigp
LT5oYXNBY2NlbGVyYXRlZFNjcm9sbGluZygpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0ocmVu
ZGVyZXIpOworICAgIHJldHVybiBmYWxzZTsKKyNlbmRpZgorfQorCiBib29sIFJlbmRlckxheWVy
Q29tcG9zaXRvcjo6aXNSdW5uaW5nQWNjZWxlcmF0ZWRUcmFuc2Zvcm1BbmltYXRpb24oUmVuZGVy
T2JqZWN0KiByZW5kZXJlcikgY29uc3QKIHsKICAgICBpZiAoIShtX2NvbXBvc2l0aW5nVHJpZ2dl
cnMgJiBDaHJvbWVDbGllbnQ6OkFuaW1hdGlvblRyaWdnZXIpKQpAQCAtMTg1Niw2ICsxODgzLDEw
IEBAIGJvb2wgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjppc1J1bm5pbmdBY2NlbGVyYXRlZFRyYW5z
Zm9ybUFuaW1hdGlvbihSZW5kZXJPYmplY3QqCiAvLyBvYmplY3QuCiBib29sIFJlbmRlckxheWVy
Q29tcG9zaXRvcjo6bmVlZHNDb250ZW50c0NvbXBvc2l0aW5nTGF5ZXIoY29uc3QgUmVuZGVyTGF5
ZXIqIGxheWVyKSBjb25zdAogeworI2lmIEVOQUJMRShPVkVSRkxPV19TQ1JPTExJTkcpCisgICAg
aWYgKGxheWVyLT5yZW5kZXJlcigpLT5zdHlsZSgpLT51c2VUb3VjaE92ZXJmbG93U2Nyb2xsaW5n
KCkpCisgICAgICAgIHJldHVybiB0cnVlOworI2VuZGlmCiAgICAgcmV0dXJuIGxheWVyLT5oYXNO
ZWdhdGl2ZVpPcmRlckxpc3QoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyQ29tcG9zaXRvci5oCmluZGV4IGZmMjRjOTY0OGExMmU5MDc4OGZjZmNhNDUx
MDJkZjQwMjYzNDhhYzYuLjg3YWRjZTE0M2NhYTY5YjZlZTQ0MmRkNDgwOTFlNmU3ZjZjYzFiNDgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0
b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9y
LmgKQEAgLTE5Miw2ICsxOTIsMTAgQEAgcHVibGljOgogICAgIHZvaWQgZnJhbWVWaWV3RGlkQ2hh
bmdlU2l6ZSgpOwogICAgIHZvaWQgZnJhbWVWaWV3RGlkU2Nyb2xsKCk7CiAKKyNpZiBFTkFCTEUo
T1ZFUkZMT1dfU0NST0xMSU5HKQorICAgIHZvaWQgc2Nyb2xsaW5nTGF5ZXJEaWRDaGFuZ2UoUmVu
ZGVyTGF5ZXIqKTsKKyNlbmRpZgorCiAgICAgU3RyaW5nIGxheWVyVHJlZUFzVGV4dChib29sIHNo
b3dEZWJ1Z0luZm8gPSBmYWxzZSk7CiAKICAgICAvLyBUaGVzZSBhcmUgbmFtZWQgdG8gYXZvaWQg
Y29uZmxpY3RzIHdpdGggdGhlIGZ1bmN0aW9ucyBpbiBHcmFwaGljc0xheWVyQ2xpZW50CkBAIC0y
OTIsNiArMjk2LDcgQEAgcHJpdmF0ZToKICAgICBib29sIHJlcXVpcmVzQ29tcG9zaXRpbmdGb3JG
aWx0ZXJzKFJlbmRlck9iamVjdCopIGNvbnN0OwogICAgIGJvb2wgcmVxdWlyZXNDb21wb3NpdGlu
Z0ZvclNjcm9sbGFibGVGcmFtZSgpIGNvbnN0OwogICAgIGJvb2wgcmVxdWlyZXNDb21wb3NpdGlu
Z0ZvclBvc2l0aW9uKFJlbmRlck9iamVjdCosIGNvbnN0IFJlbmRlckxheWVyKikgY29uc3Q7Cisg
ICAgYm9vbCByZXF1aXJlc0NvbXBvc2l0aW5nRm9yT3ZlcmZsb3dTY3JvbGwoUmVuZGVyT2JqZWN0
KikgY29uc3Q7CiAgICAgYm9vbCByZXF1aXJlc0NvbXBvc2l0aW5nRm9ySW5kaXJlY3RSZWFzb24o
UmVuZGVyT2JqZWN0KiwgYm9vbCBoYXNDb21wb3NpdGVkRGVzY2VuZGFudHMsIGJvb2wgaGFzM0RU
cmFuc2Zvcm1lZERlc2NlbmRhbnRzLCBSZW5kZXJMYXllcjo6SW5kaXJlY3RDb21wb3NpdGluZ1Jl
YXNvbiYpIGNvbnN0OwogCiAgICAgYm9vbCByZXF1aXJlc1Njcm9sbExheWVyKFJvb3RMYXllckF0
dGFjaG1lbnQpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlck9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNw
cAppbmRleCA3ODBlYjhjMGU4NTRhZDBjMTMwNzgzM2JjNDBhZDU0ZTE0MWRjOWVlLi5lOTc2OWNh
ODI4N2VkYjE1ZGViMGYxNTcyYjQ4NjNhOGYwZGYxMTA3IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyT2JqZWN0LmNwcApAQCAtMTQ1NCwxNiArMTQ1NCw4IEBAIHZvaWQgUmVuZGVy
T2JqZWN0Ojpjb21wdXRlUmVjdEZvclJlcGFpbnQoUmVuZGVyQm94TW9kZWxPYmplY3QqIHJlcGFp
bnRDb250YWluZXIsCiAgICAgICAgIH0KIAogICAgICAgICBpZiAoby0+aGFzT3ZlcmZsb3dDbGlw
KCkpIHsKLSAgICAgICAgICAgIC8vIG8tPmhlaWdodCgpIGlzIGluYWNjdXJhdGUgaWYgd2UncmUg
aW4gdGhlIG1pZGRsZSBvZiBhIGxheW91dCBvZiB8b3wsIHNvIHVzZSB0aGUKLSAgICAgICAgICAg
IC8vIGxheWVyJ3Mgc2l6ZSBpbnN0ZWFkLiAgRXZlbiBpZiB0aGUgbGF5ZXIncyBzaXplIGlzIHdy
b25nLCB0aGUgbGF5ZXIgaXRzZWxmIHdpbGwgcmVwYWludAotICAgICAgICAgICAgLy8gYW55d2F5
IGlmIGl0cyBzaXplIGRvZXMgY2hhbmdlLgogICAgICAgICAgICAgUmVuZGVyQm94KiBib3hQYXJl
bnQgPSB0b1JlbmRlckJveChvKTsKLQotICAgICAgICAgICAgTGF5b3V0UmVjdCByZXBhaW50UmVj
dChyZWN0KTsKLSAgICAgICAgICAgIHJlcGFpbnRSZWN0Lm1vdmUoLWJveFBhcmVudC0+c2Nyb2xs
ZWRDb250ZW50T2Zmc2V0KCkpOyAvLyBGb3Igb3ZlcmZsb3c6YXV0by9zY3JvbGwvaGlkZGVuLgot
Ci0gICAgICAgICAgICBMYXlvdXRSZWN0IGJveFJlY3QoTGF5b3V0UG9pbnQoKSwgYm94UGFyZW50
LT5jYWNoZWRTaXplRm9yT3ZlcmZsb3dDbGlwKCkpOwotICAgICAgICAgICAgcmVjdCA9IGludGVy
c2VjdGlvbihyZXBhaW50UmVjdCwgYm94UmVjdCk7CisgICAgICAgICAgICBib3hQYXJlbnQtPmFw
cGx5Q2FjaGVkQ2xpcEFuZFNjcm9sbE9mZnNldEZvclJlcGFpbnQocmVjdCk7CiAgICAgICAgICAg
ICBpZiAocmVjdC5pc0VtcHR5KCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRp
b25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucwppbmRl
eCA0MDQ0M2I3Nzc4N2ZjMGUwYjU1MzQ5MWI4YWJhZTUyNTYyMjVhNjQ4Li4wYTZjOWViZGYyZDM3
ZmJjMGFjZTg5YjgwMjFkZmQzMjU1YTIyZTg3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTM1MTgsNiArMzUxOCw5IEBAIEJVR1dLODQ4
NDcgV0lOIDogaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLXN0YXJ0LXRpbWUuaHRtbCA9IFRF
WFQgUEFTUwogQlVHV0s4NTAwMyBXSU4gOiBtZWRpYS92aWRlby1jdXJyZW50VGltZS1zZXQuaHRt
bCA9IFBBU1MgVEVYVAogCiBCVUdXSzc4NjY0IDogcGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRp
bmcvb3ZlcmZsb3cvb3ZlcmZsb3ctc2Nyb2xsaW5nLXRvdWNoLXN0YWNraW5nLWNvbnRleHQuaHRt
bCA9IElNQUdFK1RFWFQKK0JVR1dLNzg2NjQgOiBwbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGlu
Zy9vdmVyZmxvdy9vdmVyZmxvdy1zY3JvbGxpbmctdG91Y2gtaGlkZGVuLW92ZXJmbG93Lmh0bWwg
PSBJTUFHRStURVhUCitCVUdXSzc4NjY0IDogcGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcv
b3ZlcmZsb3cvb3ZlcmZsb3ctc2Nyb2xsaW5nLXRvdWNoLWxheWVycy5odG1sID0gVEVYVAorQlVH
V0s3ODY2NCA6IHBsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL292ZXJmbG93L292ZXJmbG93
LXNjcm9sbGluZy10b3VjaC1zY3JvbGwtbGF5ZXJzLmh0bWwgPSBURVhUCiAKIEJVR1dLODUwMzgg
OiBodHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL25ldHdvcmstaW5pdGlhdG9yLmh0bWwgPSBU
RVhUIFRJTUVPVVQKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
Y29tcG9zaXRpbmcvb3ZlcmZsb3cvb3ZlcmZsb3ctc2Nyb2xsaW5nLXRvdWNoLWhpZGRlbi1vdmVy
Zmxvdy1leHBlY3RlZC5wbmcgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3Np
dGluZy9vdmVyZmxvdy9vdmVyZmxvdy1zY3JvbGxpbmctdG91Y2gtaGlkZGVuLW92ZXJmbG93LWV4
cGVjdGVkLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40N2FlZDNjZjRjNDdlY2UyZmJmN2FkMTExOTgzNTQ1ZWYx
NzljMjdiCkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAyODY0CnpjbWVBU0BOPyhvbEh5YHVWQnEh
aWEweX55VXsrdllWMmE+aTAqWik9aF5obEElQFdzJGxIYG9rPG19P29UIXU3cgp6bFNGZktMc0pY
JEc9cyFzM3NaQm02ciZWI1c4PF8kTG45TC0hPXlFOU9SWDZneERJKWBJRUdacmQzKG9AdEhuWFUK
el8yQXNwX3F5fTsqZndyQj08S0BjbDRzcUk3WVd6UylHI28tc0NoNVAhMF5HMGlKTCh8WjM2PkM1
Ky1CKz1KdWBZCnp3YWZveG4oWiVSV2JsOTkjTDZIYjlLcGF+KmZ7KGMoWjxFISolJXRhM2xCMGVi
YTNpMEd8Vl9LJGB9b1YoVWRUbgpyM3IySW5YZjdEZDEqNXJPRyNBaCg3c3hnV0BVREotQ09qVjQx
Wk1EYl4+YlAwbCtYa0tUX0dCfgoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcvb3ZlcmZsb3cvb3ZlcmZs
b3ctc2Nyb2xsaW5nLXRvdWNoLWhpZGRlbi1vdmVyZmxvdy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9vdmVyZmxvdy9vdmVyZmxvdy1zY3Jv
bGxpbmctdG91Y2gtaGlkZGVuLW92ZXJmbG93LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43OTdl
MmM3ZDA5M2I3ZjMwY2M5ZDM4M2JhNzEzOWE0OTZmZGVkZDQ0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcvb3ZlcmZsb3cvb3ZlcmZs
b3ctc2Nyb2xsaW5nLXRvdWNoLWhpZGRlbi1vdmVyZmxvdy1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMSBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAs
MCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg4CisgIFJlbmRlckJsb2Nr
IHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg4CisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgs
OCkgc2l6ZSA3ODR4MAorbGF5ZXIgYXQgKDgsOCkgc2l6ZSA1MHg1MAorICBSZW5kZXJCbG9jayAo
cG9zaXRpb25lZCkge0RJVn0gYXQgKDgsOCkgc2l6ZSA1MHg1MAorbGF5ZXIgYXQgKDgsOCkgc2l6
ZSA1MHg1MAorICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkgekk6IDEge0RJVn0gYXQgKDAsMCkg
c2l6ZSA1MHg1MCBbYmdjb2xvcj0jRkYwMDAwXQorbGF5ZXIgYXQgKDgsOCkgc2l6ZSA1MHg1MAor
ICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkgekk6IDIge0RJVn0gYXQgKDgsOCkgc2l6ZSA1MHg1
MCBbYmdjb2xvcj0jMDA4MDAwXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vY29tcG9zaXRpbmcvb3ZlcmZsb3cvb3ZlcmZsb3ctc2Nyb2xsaW5nLXRvdWNoLWhpZGRl
bi1vdmVyZmxvdy5odG1sIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRp
bmcvb3ZlcmZsb3cvb3ZlcmZsb3ctc2Nyb2xsaW5nLXRvdWNoLWhpZGRlbi1vdmVyZmxvdy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmJhMWJiNDYzOWVmMTc1MzJmNjQ1ZTQzZGRhNGZjNTkzNDRlYjAxMTYKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGlu
Zy9vdmVyZmxvdy9vdmVyZmxvdy1zY3JvbGxpbmctdG91Y2gtaGlkZGVuLW92ZXJmbG93Lmh0bWwK
QEAgLTAsMCArMSwzOCBAQAorPCFET0NUWVBFIGh0bWw+CisKKzxodG1sPgorPGhlYWQ+CisgIDxz
dHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgICAgLmJveCB7CisgICAgICBwb3NpdGlvbjogYWJzb2x1
dGU7CisgICAgICB3aWR0aDogNTBweDsKKyAgICAgIGhlaWdodDogNTBweDsKKyAgICB9CisKKyAg
ICAuc2Nyb2xsYWJsZSB7CisgICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7
CisgICAgICBvdmVyZmxvdzogaGlkZGVuOworICAgIH0KKworICAgIC5pbmRpY2F0b3IgeworICAg
ICAgYmFja2dyb3VuZDogcmVkOworICAgICAgei1pbmRleDogMTsKKyAgICB9CisKKyAgICAudGVz
dCB7CisgICAgICBiYWNrZ3JvdW5kOiBncmVlbjsKKyAgICAgIHotaW5kZXg6IDI7CisgICAgfQor
ICA8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+CisKKyAgPCEtLSBDaGVjayB0aGF0IGEgdG91Y2gg
b3ZlcmZsb3cgc2Nyb2xsYWJsZSBlbGVtZW50IGRvZXMgbm90IGdldCBhIHN0YWNraW5nCisgICAg
ICAgY29udGV4dCBpZiBpdCB1c2VzIG92ZXJmbG93OiBoaWRkZW4uIC0tPgorICA8ZGl2IGNsYXNz
PSJzY3JvbGxhYmxlIGJveCI+CisgICAgPGRpdiBjbGFzcz0iaW5kaWNhdG9yIGJveCI+PC9kaXY+
CisgIDwvZGl2PgorICA8ZGl2IGNsYXNzPSJ0ZXN0IGJveCI+PC9kaXY+CisKKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0
aW5nL292ZXJmbG93L292ZXJmbG93LXNjcm9sbGluZy10b3VjaC1sYXllcnMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcvb3ZlcmZsb3cvb3Zl
cmZsb3ctc2Nyb2xsaW5nLXRvdWNoLWxheWVycy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE1
MDgxNTQ3ODhlNjA0Y2NjYjZjODJmMzVjMzQwOTFmOTY4NzU3MAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL292ZXJmbG93L292ZXJm
bG93LXNjcm9sbGluZy10b3VjaC1sYXllcnMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNDYgQEAK
KyhHcmFwaGljc0xheWVyCisgIChib3VuZHMgODAwLjAwIDYwMC4wMCkKKyAgKGNoaWxkcmVuIDEK
KyAgICAoR3JhcGhpY3NMYXllcgorICAgICAgKGJvdW5kcyA4MDAuMDAgNjAwLjAwKQorICAgICAg
KGNoaWxkcmVuIDEKKyAgICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICAocG9zaXRpb24g
OC4wMCAxMy4wMCkKKyAgICAgICAgICAoYm91bmRzIDUwLjAwIDUwLjAwKQorICAgICAgICAgIChk
cmF3c0NvbnRlbnQgMSkKKyAgICAgICAgICAoY2hpbGRyZW4gNAorICAgICAgICAgICAgKEdyYXBo
aWNzTGF5ZXIKKyAgICAgICAgICAgICAgKGJvdW5kcyAzNS4wMCAzNS4wMCkKKyAgICAgICAgICAg
ICAgKGNoaWxkcmVuIDEKKyAgICAgICAgICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAg
ICAgICAgICAgKGNoaWxkcmVuIDEKKyAgICAgICAgICAgICAgICAgICAgKEdyYXBoaWNzTGF5ZXIK
KyAgICAgICAgICAgICAgICAgICAgICAoYm91bmRzIDM1LjAwIDM1LjAwKQorICAgICAgICAgICAg
ICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAgICAgICAgICAgICAgICAgICAgKQorICAgICAg
ICAgICAgICAgICAgKQorICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgKQorICAgICAg
ICAgICAgKQorICAgICAgICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICAgICAgKHBvc2l0
aW9uIDAuMDAgMzUuMDApCisgICAgICAgICAgICAgIChib3VuZHMgMzUuMDAgMTUuMDApCisgICAg
ICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAgICAgICAgICAgICkKKyAgICAgICAgICAgIChH
cmFwaGljc0xheWVyCisgICAgICAgICAgICAgIChwb3NpdGlvbiAzNS4wMCAwLjAwKQorICAgICAg
ICAgICAgICAoYm91bmRzIDE1LjAwIDM1LjAwKQorICAgICAgICAgICAgICAoZHJhd3NDb250ZW50
IDEpCisgICAgICAgICAgICApCisgICAgICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAg
ICAgICAocG9zaXRpb24gMzUuMDAgMzUuMDApCisgICAgICAgICAgICAgIChib3VuZHMgMTUuMDAg
MTUuMDApCisgICAgICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAgICAgICAgICAgICkKKyAg
ICAgICAgICApCisgICAgICAgICkKKyAgICAgICkKKyAgICApCisgICkKKykKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcvb3ZlcmZsb3cvb3Zl
cmZsb3ctc2Nyb2xsaW5nLXRvdWNoLWxheWVycy5odG1sIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vY29tcG9zaXRpbmcvb3ZlcmZsb3cvb3ZlcmZsb3ctc2Nyb2xsaW5nLXRvdWNoLWxh
eWVycy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ4YzdiYTMyY2NiNDJiODdkMzJiZmU3NTZhYjgzODhjMDYx
NjdiYjcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9j
b21wb3NpdGluZy9vdmVyZmxvdy9vdmVyZmxvdy1zY3JvbGxpbmctdG91Y2gtbGF5ZXJzLmh0bWwK
QEAgLTAsMCArMSwzMiBAQAorPCFET0NUWVBFIGh0bWw+CisKKzxodG1sPgorPGhlYWQ+CisgIDxz
dHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgICAgLmJveCB7CisgICAgICBwb3NpdGlvbjogYWJzb2x1
dGU7CisgICAgICB3aWR0aDogNTBweDsKKyAgICAgIGhlaWdodDogNTBweDsKKyAgICB9CisKKyAg
ICAuc2Nyb2xsYWJsZSB7CisgICAgICBvdmVyZmxvdzogc2Nyb2xsOworICAgICAgLXdlYmtpdC1v
dmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOworICAgIH0KKyAgPC9zdHlsZT4KKyAgPHNjcmlwdD4K
KyAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIGZ1bmN0aW9uKCkgeworICAgICAg
aWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0
KCk7CisgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxheWVyVHJlZSIpLmlubmVy
VGV4dCA9IHRlc3RSdW5uZXIubGF5ZXJUcmVlQXNUZXh0KCk7CisgICAgICB9CisgICAgfSk7Cisg
IDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisKKyAgPGRpdiBjbGFzcz0ic2Nyb2xsYWJsZSBi
b3giPjwvZGl2PgorICA8cHJlIGlkPSJsYXllclRyZWUiPjwvcHJlPgorCis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGlu
Zy9vdmVyZmxvdy9vdmVyZmxvdy1zY3JvbGxpbmctdG91Y2gtc2Nyb2xsLWxheWVycy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9vdmVyZmxv
dy9vdmVyZmxvdy1zY3JvbGxpbmctdG91Y2gtc2Nyb2xsLWxheWVycy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjZkMDFjOWQ3MjNjMjBlNDdmNjhiZGU0OWY2MTBiNDI5N2Y4ZTE3NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL292
ZXJmbG93L292ZXJmbG93LXNjcm9sbGluZy10b3VjaC1zY3JvbGwtbGF5ZXJzLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDgzIEBACitHcmFwaGljc0xheWVyCisgICAgc2Nyb2xsYWJsZTogbm8KKyAg
ICBzaG91bGRTY3JvbGxPbk1haW5UaHJlYWQ6IG5vCisgICAgaGF2ZVdoZWVsRXZlbnRIYW5kbGVy
czogbm8KKyAgICBpc0NvbnRhaW5lckZvckZpeGVkUG9zaXRpb25MYXllcnM6IG5vCisgICAgZml4
ZWRUb0NvbnRhaW5lckxheWVyOiBubworICBHcmFwaGljc0xheWVyCisgICAgICBzY3JvbGxhYmxl
OiBubworICAgICAgc2hvdWxkU2Nyb2xsT25NYWluVGhyZWFkOiBubworICAgICAgaGF2ZVdoZWVs
RXZlbnRIYW5kbGVyczogbm8KKyAgICAgIGlzQ29udGFpbmVyRm9yRml4ZWRQb3NpdGlvbkxheWVy
czogbm8KKyAgICAgIGZpeGVkVG9Db250YWluZXJMYXllcjogbm8KKyAgICBHcmFwaGljc0xheWVy
CisgICAgICAgIHNjcm9sbGFibGU6IHllcworICAgICAgICBzY3JvbGxQb3NpdGlvbjogMCwgMAor
ICAgICAgICBtYXhTY3JvbGxQb3NpdGlvbjogMCwgMAorICAgICAgICBzaG91bGRTY3JvbGxPbk1h
aW5UaHJlYWQ6IG5vCisgICAgICAgIGhhdmVXaGVlbEV2ZW50SGFuZGxlcnM6IG5vCisgICAgICAg
IGlzQ29udGFpbmVyRm9yRml4ZWRQb3NpdGlvbkxheWVyczogeWVzCisgICAgICAgIGZpeGVkVG9D
b250YWluZXJMYXllcjogbm8KKyAgICAgIEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICBzY3JvbGxh
YmxlOiBubworICAgICAgICAgIHNob3VsZFNjcm9sbE9uTWFpblRocmVhZDogbm8KKyAgICAgICAg
ICBoYXZlV2hlZWxFdmVudEhhbmRsZXJzOiBubworICAgICAgICAgIGlzQ29udGFpbmVyRm9yRml4
ZWRQb3NpdGlvbkxheWVyczogbm8KKyAgICAgICAgICBmaXhlZFRvQ29udGFpbmVyTGF5ZXI6IG5v
CisgICAgICBHcmFwaGljc0xheWVyCisgICAgICAgICAgc2Nyb2xsYWJsZTogbm8KKyAgICAgICAg
ICBzaG91bGRTY3JvbGxPbk1haW5UaHJlYWQ6IG5vCisgICAgICAgICAgaGF2ZVdoZWVsRXZlbnRI
YW5kbGVyczogbm8KKyAgICAgICAgICBpc0NvbnRhaW5lckZvckZpeGVkUG9zaXRpb25MYXllcnM6
IG5vCisgICAgICAgICAgZml4ZWRUb0NvbnRhaW5lckxheWVyOiBubworICAgICAgICBHcmFwaGlj
c0xheWVyCisgICAgICAgICAgICBzY3JvbGxhYmxlOiBubworICAgICAgICAgICAgc2hvdWxkU2Ny
b2xsT25NYWluVGhyZWFkOiBubworICAgICAgICAgICAgaGF2ZVdoZWVsRXZlbnRIYW5kbGVyczog
bm8KKyAgICAgICAgICAgIGlzQ29udGFpbmVyRm9yRml4ZWRQb3NpdGlvbkxheWVyczogbm8KKyAg
ICAgICAgICAgIGZpeGVkVG9Db250YWluZXJMYXllcjogbm8KKyAgICAgICAgICBHcmFwaGljc0xh
eWVyCisgICAgICAgICAgICAgIHNjcm9sbGFibGU6IG5vCisgICAgICAgICAgICAgIHNob3VsZFNj
cm9sbE9uTWFpblRocmVhZDogbm8KKyAgICAgICAgICAgICAgaGF2ZVdoZWVsRXZlbnRIYW5kbGVy
czogbm8KKyAgICAgICAgICAgICAgaXNDb250YWluZXJGb3JGaXhlZFBvc2l0aW9uTGF5ZXJzOiBu
bworICAgICAgICAgICAgICBmaXhlZFRvQ29udGFpbmVyTGF5ZXI6IG5vCisgICAgICAgICAgICBH
cmFwaGljc0xheWVyCisgICAgICAgICAgICAgICAgc2Nyb2xsYWJsZTogbm8KKyAgICAgICAgICAg
ICAgICBzaG91bGRTY3JvbGxPbk1haW5UaHJlYWQ6IG5vCisgICAgICAgICAgICAgICAgaGF2ZVdo
ZWVsRXZlbnRIYW5kbGVyczogbm8KKyAgICAgICAgICAgICAgICBpc0NvbnRhaW5lckZvckZpeGVk
UG9zaXRpb25MYXllcnM6IG5vCisgICAgICAgICAgICAgICAgZml4ZWRUb0NvbnRhaW5lckxheWVy
OiBubworICAgICAgICAgICAgICBHcmFwaGljc0xheWVyCisgICAgICAgICAgICAgICAgICBzY3Jv
bGxhYmxlOiB5ZXMKKyAgICAgICAgICAgICAgICAgIHNjcm9sbFBvc2l0aW9uOiAwLCAwCisgICAg
ICAgICAgICAgICAgICBtYXhTY3JvbGxQb3NpdGlvbjogMTY1LCAzNzgKKyAgICAgICAgICAgICAg
ICAgIHNob3VsZFNjcm9sbE9uTWFpblRocmVhZDogbm8KKyAgICAgICAgICAgICAgICAgIGhhdmVX
aGVlbEV2ZW50SGFuZGxlcnM6IG5vCisgICAgICAgICAgICAgICAgICBpc0NvbnRhaW5lckZvckZp
eGVkUG9zaXRpb25MYXllcnM6IG5vCisgICAgICAgICAgICAgICAgICBmaXhlZFRvQ29udGFpbmVy
TGF5ZXI6IG5vCisgICAgICAgICAgICAgICAgR3JhcGhpY3NMYXllcgorICAgICAgICAgICAgICAg
ICAgICBzY3JvbGxhYmxlOiBubworICAgICAgICAgICAgICAgICAgICBzaG91bGRTY3JvbGxPbk1h
aW5UaHJlYWQ6IG5vCisgICAgICAgICAgICAgICAgICAgIGhhdmVXaGVlbEV2ZW50SGFuZGxlcnM6
IG5vCisgICAgICAgICAgICAgICAgICAgIGlzQ29udGFpbmVyRm9yRml4ZWRQb3NpdGlvbkxheWVy
czogbm8KKyAgICAgICAgICAgICAgICAgICAgZml4ZWRUb0NvbnRhaW5lckxheWVyOiBubworICAg
ICAgICAgICAgR3JhcGhpY3NMYXllcgorICAgICAgICAgICAgICAgIHNjcm9sbGFibGU6IG5vCisg
ICAgICAgICAgICAgICAgc2hvdWxkU2Nyb2xsT25NYWluVGhyZWFkOiBubworICAgICAgICAgICAg
ICAgIGhhdmVXaGVlbEV2ZW50SGFuZGxlcnM6IG5vCisgICAgICAgICAgICAgICAgaXNDb250YWlu
ZXJGb3JGaXhlZFBvc2l0aW9uTGF5ZXJzOiBubworICAgICAgICAgICAgICAgIGZpeGVkVG9Db250
YWluZXJMYXllcjogbm8KKyAgICAgICAgICAgIEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICAgICAg
ICBzY3JvbGxhYmxlOiBubworICAgICAgICAgICAgICAgIHNob3VsZFNjcm9sbE9uTWFpblRocmVh
ZDogbm8KKyAgICAgICAgICAgICAgICBoYXZlV2hlZWxFdmVudEhhbmRsZXJzOiBubworICAgICAg
ICAgICAgICAgIGlzQ29udGFpbmVyRm9yRml4ZWRQb3NpdGlvbkxheWVyczogbm8KKyAgICAgICAg
ICAgICAgICBmaXhlZFRvQ29udGFpbmVyTGF5ZXI6IG5vCisgICAgICAgICAgICBHcmFwaGljc0xh
eWVyCisgICAgICAgICAgICAgICAgc2Nyb2xsYWJsZTogbm8KKyAgICAgICAgICAgICAgICBzaG91
bGRTY3JvbGxPbk1haW5UaHJlYWQ6IG5vCisgICAgICAgICAgICAgICAgaGF2ZVdoZWVsRXZlbnRI
YW5kbGVyczogbm8KKyAgICAgICAgICAgICAgICBpc0NvbnRhaW5lckZvckZpeGVkUG9zaXRpb25M
YXllcnM6IG5vCisgICAgICAgICAgICAgICAgZml4ZWRUb0NvbnRhaW5lckxheWVyOiBubworCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9vdmVy
Zmxvdy9vdmVyZmxvdy1zY3JvbGxpbmctdG91Y2gtc2Nyb2xsLWxheWVycy5odG1sIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcvb3ZlcmZsb3cvb3ZlcmZsb3ctc2Ny
b2xsaW5nLXRvdWNoLXNjcm9sbC1sYXllcnMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNjgyYjA1NTIyOWVm
N2M4NDZjZjQ5MGUxZDc0MTc5MGIxZWZmNGRlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcvb3ZlcmZsb3cvb3ZlcmZsb3ctc2Nyb2xs
aW5nLXRvdWNoLXNjcm9sbC1sYXllcnMuaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUg
aHRtbD4KKworPCEtLS0KK0NoZWNrIHRoYXQgdGhlIGNvcnJlY3Qgc2Nyb2xsaW5nIHRyZWUgYXR0
cmlidXRlcyAoc2Nyb2xsIHBvc2l0aW9uLCBtYXggc2Nyb2xsCitwb3NpdGlvbikgZ2V0IHNldCBm
b3IgYSB0b3VjaCBzY3JvbGxhYmxlIGVsZW1lbnQuCisKK2h0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD03ODg2MgorLS0+CisKKzxodG1sPgorPGhlYWQ+CisgIDxzdHlsZSB0
eXBlPSJ0ZXh0L2NzcyI+CisgICAgLmJveCB7CisgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7Cisg
ICAgICB3aWR0aDogNTBweDsKKyAgICAgIGhlaWdodDogNTBweDsKKyAgICB9CisKKyAgICAuYmln
LWJveCB7CisgICAgICB3aWR0aDogMjAwcHg7CisgICAgICBoZWlnaHQ6IDQwMHB4OworICAgIH0K
KworICAgIC5zY3JvbGxhYmxlIHsKKyAgICAgIG92ZXJmbG93OiBzY3JvbGw7CisgICAgICAtd2Vi
a2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7CisgICAgfQorICA8L3N0eWxlPgorICA8c2Ny
aXB0PgorICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgZnVuY3Rpb24oKSB7Cisg
ICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNU
ZXh0KCk7CisgICAgICAgIHRlc3RSdW5uZXIuZGlzcGxheSgpOworICAgICAgICBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic2Nyb2xsaW5nVHJlZSIpLmlubmVyVGV4dCA9IHRlc3RSdW5uZXIuc2Ny
b2xsaW5nVHJlZUFzVGV4dCgpOworICAgICAgfQorICAgIH0pOworICA8L3NjcmlwdD4KKzwvaGVh
ZD4KKworPGJvZHk+CisgIDxkaXYgY2xhc3M9InNjcm9sbGFibGUgYm94Ij4KKyAgICA8ZGl2IGNs
YXNzPSJiaWctYm94Ij4KKyAgPC9kaXY+CisgIDxwcmUgaWQ9InNjcm9sbGluZ1RyZWUiPjwvcHJl
PgorPC9ib2R5PgorCis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>148562</attachid>
            <date>2012-06-20 07:25:40 -0700</date>
            <delta_ts>2012-06-20 10:54:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-78862-20120620152538.patch</filename>
            <type>text/plain</type>
            <size>76156</size>
            <attacher name="Sami Kyöstilä">skyostil</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIwNzAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWU5MjBhOTQ5Mzk3YzJm
ZmU0MzE2NjMzYmFjMzllMTY3MjY5MzVhNS4uZGY2Mzk2ZGJjMjVkMjM4Y2U3ODRjOTY0YzNjZTZk
YjNjZjUwNjA4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyNCBAQAorMjAxMi0wNi0wOCAgU2Ft
aSBLeW9zdGlsYSAgPHNreW9zdGlsQGNocm9taXVtLm9yZz4KKworICAgICAgICBUb3VjaCBvdmVy
ZmxvdyBzY3JvbGxpbmcgZWxlbWVudHMgc2hvdWxkIGJlIHNwbGl0IGludG8gbGF5ZXJzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03ODg2MgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gYSByZWd1bGFy
IG92ZXJmbG93IGVsZW1lbnQgaXMgc2Nyb2xsZWQsIHdlIHJlcGFpbnQgdGhlIGVudGlyZSBhcmVh
CisgICAgICAgIGl0IG9jY3VwaWVzIGluIHRoZSB2aWV3IGZyb20gc2NyYXRjaC4gU2luY2UgdGhp
cyBwYWludGluZyBpcyBkb25lIGluIHRoZQorICAgICAgICBtYWluIHRocmVhZCwgaXQgY2FuIGJl
IGJsb2NrZWQgYnksIGUuZy4sIEphdmFTY3JpcHQgZXhlY3V0aW9uLCBmdXJ0aGVyCisgICAgICAg
IGxpbWl0aW5nIHBlcmZvcm1hbmNlLgorCisgICAgICAgIEluIGNvbnRyYXN0LCB0aGUgbWFpbiBi
b2R5IGVsZW1lbnQgb2YgYSBwYWdlIGNhbiB1c3VhbGx5IGJlIHNjcm9sbGVkCisgICAgICAgIGJ5
IHRoZSBjb21wb3NpdG9yIHNpbXBseSBieSB0cmFuc2xhdGluZyBpdCBhcm91bmQgdGhlIHNjcmVl
bi4gVGhpcyBpcworICAgICAgICBiZWNhdXNlIHRoZSBjb250ZW50cyBvZiB0aGUgYm9keSBoYXZl
IGJlZW4gcGFpbnRlZCBpbnRvIGEKKyAgICAgICAgUmVuZGVyTGF5ZXJCYWNraW5nIHRvIHdoaWNo
IHRoZSBjb21wb3NpdG9yIGNhbiBhcHBseSBhIHNjcm9sbCB0cmFuc2Zvcm0uCisgICAgICAgIEZ1
cnRoZXJtb3JlLCBhIGNvbXBvc2l0b3IgdGhyZWFkIGNhbiBhcHBseSB1cGRhdGUgdGhlIHNjcm9s
bCBvZmZzZXQKKyAgICAgICAgd2hpbGUgdGhlIG1haW4gdGhyZWFkIGlzIGJ1c3kgd2l0aCBvdGhl
ciBwcm9jZXNzaW5nLgorCisgICAgICAgIEluIG9yZGVyIHRvIG1ha2Ugb3ZlcmZsb3cgZWxlbWVu
dCBzY3JvbGxpbmcgc2ltaWxhcmx5IGVmZmljaWVudCwgdGhpcworICAgICAgICBwYXRjaCBkb2Vz
IHRocmVlIHRoaW5nczoKKworICAgICAgICAgICAgMS4gU3BsaXRzIG92ZXJmbG93IGVsZW1lbnRz
IGludG8gYSBmaXhlZCBiYWNrZ3JvdW5kIGxheWVyIGFuZCBhCisgICAgICAgICAgICBzY3JvbGxp
bmcgZm9yZWdyb3VuZCBsYXllci4gVGhpcyBpcyBvbmx5IGRvbmUgZm9yIGVsZW1lbnRzIHVzaW5n
IHRoZQorICAgICAgICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoIHN0eWxl
LCBiZWNhdXNlIGl0IGludHJvZHVjZXMgYQorICAgICAgICAgICAgc3RhY2tpbmcgY29udGV4dCB3
aGljaCBlbmFibGVzIHVzIHRvIHByb21vdGUgdGhlIGVsZW1lbnQgdG8gYQorICAgICAgICAgICAg
Y29tcG9zaXRlZCBsYXllci4KKworICAgICAgICAgICAgMi4gUmVnaXN0ZXJzIHRoZXNlIGVsZW1l
bnRzIHdpdGggdGhlIFNjcm9sbGluZ0Nvb3JkaW5hdG9yIHNvIGl0CisgICAgICAgICAgICBrbm93
cyB0aGVpciBhc3NvY2lhdGVkIHNjcm9sbCBnZW9tZXRyeS4KKworICAgICAgICAgICAgMy4gQXZv
aWRzIGludmFsaWRhdGluZyB0aGUgY29udGVudHMgb2YgdGhlIGxheWVycyB3aGVuIHRoZXkgYXJl
CisgICAgICAgICAgICBzY3JvbGxlZC4gVGhpcyBhbGxvd3MgdGhlIGxheWVycyB0byBiZSB0cmFu
c2xhdGVkIGFjY29yZGluZyB0byB0aGVpcgorICAgICAgICAgICAgc2Nyb2xsIHBvc2l0aW9uIHdp
dGhvdXQgdW5uZWNlc3NhcnkgcmVwYWludHMuCisKKyAgICAgICAgVGhpcyBwYXRjaCBpcyBiYXNl
ZCBvbiBBcHBsZSdzIGlPUyA1IGltcGxlbWVudGF0aW9uIG9mIHRoZQorICAgICAgICAiLXdlYmtp
dC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoIiBDU1MgcHJvcGVydHkuCisKKyAgICAgICAgVGVz
dHM6CisgICAgICAgICAgICBwbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9vdmVyZmxvdy9v
dmVyZmxvdy1zY3JvbGxpbmctdG91Y2gtc3RhY2tpbmctY29udGV4dC5odG1sCisgICAgICAgICAg
ICBwbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9vdmVyZmxvdy9vdmVyZmxvdy1zY3JvbGxp
bmctdG91Y2gtaGlkZGVuLW92ZXJmbG93Lmh0bWwKKyAgICAgICAgICAgIHBsYXRmb3JtL2Nocm9t
aXVtL2NvbXBvc2l0aW5nL292ZXJmbG93L292ZXJmbG93LXNjcm9sbGluZy10b3VjaC1sYXllcnMu
aHRtbAorICAgICAgICAgICAgcGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcvb3ZlcmZsb3cv
b3ZlcmZsb3ctc2Nyb2xsaW5nLXRvdWNoLXNjcm9sbC1sYXllcnMuaHRtbAorCisgICAgICAgICog
cGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3BwOgorICAgICAgICAoV2ViQ29y
ZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdDb29yZGluYXRvcjo6c2Nyb2xsYWJsZUFy
ZWFTY3JvbGxMYXllckRpZENoYW5nZSk6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xs
aW5nQ29vcmRpbmF0b3IuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoU2Nyb2xsaW5n
Q29vcmRpbmF0b3IpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5h
dG9yTm9uZS5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9s
bGluZ0Nvb3JkaW5hdG9yOjpzY3JvbGxhYmxlQXJlYVNjcm9sbExheWVyRGlkQ2hhbmdlKToKKyAg
ICAgICAgKiBwYWdlL3Njcm9sbGluZy9jaHJvbWl1bS9TY3JvbGxpbmdDb29yZGluYXRvckNocm9t
aXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5n
Q29vcmRpbmF0b3I6OnNjcm9sbGFibGVBcmVhU2Nyb2xsTGF5ZXJEaWRDaGFuZ2UpOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6R3JhcGhpY3NMYXllcjo6c2V0T2Zmc2V0RnJvbVJlbmRlcmVyKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmg6CisgICAgICAgIChHcmFwaGljc0xheWVyKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9HcmFwaGljc0xheWVyQ2hyb21p
dW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllckNocm9taXVtOjpHcmFwaGlj
c0xheWVyQ2hyb21pdW0pOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllckNocm9taXVt
OjpkaWRTY3JvbGwpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vR3JhcGhpY3NMYXllckNocm9taXVtLmg6CisgICAgICAgIChXZWJDb3Jl
OjpHcmFwaGljc0xheWVyQ2hyb21pdW06OnNldFNjcm9sbGFibGVBcmVhKToKKyAgICAgICAgKFdl
YkNvcmU6OkdyYXBoaWNzTGF5ZXJDaHJvbWl1bTo6c2Nyb2xsYWJsZUFyZWEpOgorICAgICAgICAo
R3JhcGhpY3NMYXllckNocm9taXVtKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2su
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmxheW91dEJsb2NrKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpwYWludCk6CisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlckJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OmFwcGx5Q2FjaGVkQ2xp
cEFuZFNjcm9sbE9mZnNldEZvclJlcGFpbnQpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJCb3g6OmNvbXB1dGVSZWN0Rm9yUmVwYWludCk6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlckJveC5oOgorICAgICAgICAoUmVuZGVyQm94KToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVySW5saW5lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlcklubGlu
ZTo6Y2xpcHBlZE92ZXJmbG93UmVjdEZvclJlcGFpbnQpOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVySW5saW5lOjpjb21wdXRlUmVjdEZvclJlcGFpbnQpOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJMYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckxheWVyOjpoYXNBY2NlbGVyYXRlZFNjcm9sbGluZyk6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJMYXllcjo6c2Nyb2xsVG8pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnBh
aW50TGF5ZXJDb250ZW50cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6Y2FsY3Vs
YXRlQ2xpcFJlY3RzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpyZXBhaW50Qmxv
Y2tTZWxlY3Rpb25HYXBzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpzaG91bGRC
ZU5vcm1hbEZsb3dPbmx5KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjp1cGRhdGVT
Y3JvbGxhYmxlQXJlYVNldCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmg6Cisg
ICAgICAgIChSZW5kZXJMYXllcik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQmFj
a2luZy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6On5SZW5kZXJM
YXllckJhY2tpbmcpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjpkZXN0
cm95R3JhcGhpY3NMYXllcnMpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3Jl
OjpoYXNUb3VjaE92ZXJmbG93U2Nyb2xsaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OmxheWVyT3JB
bmNlc3RvcklzU2Nyb2xsaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQmFja2lu
Zzo6cGFyZW50Rm9yU3VibGF5ZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQmFj
a2luZzo6c2hvdWxkQ2xpcENvbXBvc2l0ZWRCb3VuZHMpOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVHcmFwaGljc0xheWVyQ29uZmlndXJhdGlvbik6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZUdyYXBoaWNzTGF5ZXJHZW9t
ZXRyeSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZUludGVy
bmFsSGllcmFyY2h5KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQmFja2luZzo6dXBk
YXRlU2Nyb2xsaW5nTGF5ZXIpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5n
OjpwYWludENvbnRlbnRzKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5n
Lmg6CisgICAgICAgIChSZW5kZXJMYXllckJhY2tpbmcpOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyTGF5ZXJCYWNraW5nOjpoYXNTY3JvbGxpbmdMYXllcik6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJMYXllckJhY2tpbmc6OnNjcm9sbGluZ0xheWVyKToKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVy
Q29tcG9zaXRvcjo6Y29tcHV0ZUNvbXBvc2l0aW5nUmVxdWlyZW1lbnRzKToKKyAgICAgICAgKFdl
YkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpzY3JvbGxp
bmdMYXllckRpZENoYW5nZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0
b3I6OnJlcXVpcmVzQ29tcG9zaXRpbmdMYXllcik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJM
YXllckNvbXBvc2l0b3I6OnJlcXVpcmVzT3duQmFja2luZ1N0b3JlKToKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6cmVxdWlyZXNDb21wb3NpdGluZ0Zvck92ZXJmbG93
U2Nyb2xsKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6bmVlZHND
b250ZW50c0NvbXBvc2l0aW5nTGF5ZXIpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXll
ckNvbXBvc2l0b3IuaDoKKyAgICAgICAgKFJlbmRlckxheWVyQ29tcG9zaXRvcik6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJP
YmplY3Q6OmNvbXB1dGVSZWN0Rm9yUmVwYWludCk6CisKIDIwMTItMDYtMTggIFNhbWkgS3lvc3Rp
bGEgIDxza3lvc3RpbEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmVuZGVyVmlldyBsYXllciBp
cyBtYXJrZWQgYXMgZml4ZWQgcG9zaXRpb24gY29udGFpbmVyIGluIHRoZSBzY3JvbGxpbmcgdHJl
ZSBpZiBwYWdlIHNjYWxlICE9IDEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcAppbmRleCBjYjhmMzNiOGFlZmYwNzExZjBm
YTlkNjJkOTU3YjcxYTFhMWU0MTlhLi4wYzM4NWU1OWYzYjY2MjkxMTdjMmQ1NjQ4NjYzYmE2ODFi
MDQ3Yjg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxp
bmdDb29yZGluYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Ny
b2xsaW5nQ29vcmRpbmF0b3IuY3BwCkBAIC0xMTgsNiArMTE4LDkgQEAgc3RhdGljIFJlZ2lvbiBj
b21wdXRlTm9uRmFzdFNjcm9sbGFibGVSZWdpb24oRnJhbWUqIGZyYW1lLCBjb25zdCBJbnRQb2lu
dCYgZnJhbWUKICAgICBpZiAoY29uc3QgRnJhbWVWaWV3OjpTY3JvbGxhYmxlQXJlYVNldCogc2Ny
b2xsYWJsZUFyZWFzID0gZnJhbWVWaWV3LT5zY3JvbGxhYmxlQXJlYXMoKSkgewogICAgICAgICBm
b3IgKEZyYW1lVmlldzo6U2Nyb2xsYWJsZUFyZWFTZXQ6OmNvbnN0X2l0ZXJhdG9yIGl0ID0gc2Ny
b2xsYWJsZUFyZWFzLT5iZWdpbigpLCBlbmQgPSBzY3JvbGxhYmxlQXJlYXMtPmVuZCgpOyBpdCAh
PSBlbmQ7ICsraXQpIHsKICAgICAgICAgICAgIFNjcm9sbGFibGVBcmVhKiBzY3JvbGxhYmxlQXJl
YSA9ICppdDsKKyAgICAgICAgICAgIC8vIEFjY2VsZXJhdGVkIHNjcm9sbGFibGUgYXJlYXMgY2Fu
IGJlIHNjcm9sbGVkIG9mZiB0aGUgbWFpbiB0aHJlYWQuCisgICAgICAgICAgICBpZiAoc2Nyb2xs
YWJsZUFyZWEtPmhhc0FjY2VsZXJhdGVkU2Nyb2xsaW5nKCkpCisgICAgICAgICAgICAgICAgY29u
dGludWU7CiAgICAgICAgICAgICBJbnRSZWN0IGJveCA9IHNjcm9sbGFibGVBcmVhLT5zY3JvbGxh
YmxlQXJlYUJvdW5kaW5nQm94KCk7CiAgICAgICAgICAgICBib3gubW92ZUJ5KG9mZnNldCk7CiAg
ICAgICAgICAgICBub25GYXN0U2Nyb2xsYWJsZVJlZ2lvbi51bml0ZShib3gpOwpAQCAtNDcyLDYg
KzQ3NSwxNCBAQCBTdHJpbmcgU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OnNjcm9sbGluZ1RyZWVBc1Rl
eHQoKSBjb25zdAogICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQuCiAgICAgcmV0dXJuIFN0cmluZygp
OwogfQorCisjaWYgRU5BQkxFKE9WRVJGTE9XX1NDUk9MTElORykKK3ZvaWQgU2Nyb2xsaW5nQ29v
cmRpbmF0b3I6OnNjcm9sbGFibGVBcmVhU2Nyb2xsTGF5ZXJEaWRDaGFuZ2UoU2Nyb2xsYWJsZUFy
ZWEqLCBHcmFwaGljc0xheWVyKikKK3sKKyAgICAvLyBGSVhNRTogSW1wbGVtZW50LgorfQorI2Vu
ZGlmCisKICNlbmRpZiAvLyAhRU5BQkxFKFRIUkVBREVEX1NDUk9MTElORykKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcv
U2Nyb2xsaW5nQ29vcmRpbmF0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Nj
cm9sbGluZ0Nvb3JkaW5hdG9yLmgKaW5kZXggNWE0OGZiZDljYTBmZDIzMTU3MjA4ZGUxYjYyMThm
MWExZjdhMmY3YS4uMzFmYWRiMzI4NWZiZDkwNzUyZmQzMGNjZTcxYjhjMDhmMGI0YmU0OSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0
b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGlu
YXRvci5oCkBAIC01NSw2ICs1NSwxMCBAQCBjbGFzcyBTY3JvbGxpbmdUcmVlU3RhdGU7CiBjbGFz
cyBTY3JvbGxpbmdUcmVlOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoT1ZFUkZMT1dfU0NST0xMSU5H
KQorY2xhc3MgU2Nyb2xsYWJsZUFyZWE7CisjZW5kaWYKKwogY2xhc3MgU2Nyb2xsaW5nQ29vcmRp
bmF0b3IgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8U2Nyb2xsaW5nQ29vcmRpbmF0b3I+
IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTY3JvbGxpbmdDb29yZGluYXRvcj4g
Y3JlYXRlKFBhZ2UqKTsKQEAgLTkyLDYgKzk2LDExIEBAIHB1YmxpYzoKICAgICAvLyBTaG91bGQg
YmUgY2FsbGVkIHdoZW5ldmVyIHRoZSB2ZXJ0aWNhbCBzY3JvbGxiYXIgbGF5ZXIgZm9yIHRoZSBn
aXZlbiBmcmFtZSB2aWV3IGNoYW5nZXMuCiAgICAgdm9pZCBmcmFtZVZpZXdWZXJ0aWNhbFNjcm9s
bGJhckxheWVyRGlkQ2hhbmdlKEZyYW1lVmlldyosIEdyYXBoaWNzTGF5ZXIqIHZlcnRpY2FsU2Ny
b2xsYmFyTGF5ZXIpOwogCisjaWYgRU5BQkxFKE9WRVJGTE9XX1NDUk9MTElORykKKyAgICAvLyBT
aG91bGQgYmUgY2FsbGVkIHdoZW5ldmVyIHRoZSBzY3JvbGxhYmxlIGxheWVyIGZvciB0aGUgZ2l2
ZW4gc2Nyb2xsIGFyZWEgY2hhbmdlcy4KKyAgICB2b2lkIHNjcm9sbGFibGVBcmVhU2Nyb2xsTGF5
ZXJEaWRDaGFuZ2UoU2Nyb2xsYWJsZUFyZWEqLCBHcmFwaGljc0xheWVyKik7CisjZW5kaWYKKwog
ICAgIC8vIFJlcXVlc3RzIHRoYXQgdGhlIHNjcm9sbGluZyBjb29yZGluYXRvciB1cGRhdGVzIHRo
ZSBzY3JvbGwgcG9zaXRpb24gb2YgdGhlIGdpdmVuIGZyYW1lIHZpZXcuIElmIHRoaXMgZnVuY3Rp
b24gcmV0dXJucyB0cnVlLCBpdCBtZWFucyB0aGF0IHRoZQogICAgIC8vIHBvc2l0aW9uIHdpbGwg
YmUgdXBkYXRlZCBhc3luY2hyb25vdXNseS4gSWYgaXQgcmV0dXJucyBmYWxzZSwgdGhlIGNhbGxl
ciBzaG91bGQgdXBkYXRlIHRoZSBzY3JvbGxpbmcgcG9zaXRpb24gaXRzZWxmLgogICAgIGJvb2wg
cmVxdWVzdFNjcm9sbFBvc2l0aW9uVXBkYXRlKEZyYW1lVmlldyosIGNvbnN0IEludFBvaW50Jik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29y
ZGluYXRvck5vbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5n
Q29vcmRpbmF0b3JOb25lLmNwcAppbmRleCBiNWUwNzE5NWVmODc1OTk2Y2ExYzZhZWE5MTc2YmVj
YmZkZGEyYzJmLi42MjllZWE2ZDViNDMxYjNhNDIxNmFiM2NmNTk2OTllZGFjMDk2MGU2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRv
ck5vbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nv
b3JkaW5hdG9yTm9uZS5jcHAKQEAgLTg5LDYgKzg5LDEzIEBAIFN0cmluZyBTY3JvbGxpbmdDb29y
ZGluYXRvcjo6c2Nyb2xsaW5nVHJlZUFzVGV4dCgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIFN0cmlu
ZygpOwogfQorCisjaWYgRU5BQkxFKE9WRVJGTE9XX1NDUk9MTElORykKK3ZvaWQgU2Nyb2xsaW5n
Q29vcmRpbmF0b3I6OnNjcm9sbGFibGVBcmVhU2Nyb2xsTGF5ZXJEaWRDaGFuZ2UoU2Nyb2xsYWJs
ZUFyZWEqLCBHcmFwaGljc0xheWVyKikKK3sKK30KKyNlbmRpZgorCiAjZW5kaWYgLy8gIUVOQUJM
RShUSFJFQURFRF9TQ1JPTExJTkcpCiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2Uvc2Nyb2xsaW5nL2Nocm9taXVtL1Njcm9sbGluZ0Nvb3JkaW5hdG9yQ2hyb21pdW0uY3BwIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvY2hyb21pdW0vU2Nyb2xsaW5nQ29vcmRpbmF0
b3JDaHJvbWl1bS5jcHAKaW5kZXggNDcwOTE3OGFhOTc3YTkwZGQ4YTk2YzhiZThkZmVmN2JlMGUw
NGI1MS4uZTcwZGU5MTM3NWM4YmZmMTU5MmNjODQ3MmIwZTQ2MGQ1MGQyYmE2YyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvY2hyb21pdW0vU2Nyb2xsaW5nQ29vcmRp
bmF0b3JDaHJvbWl1bS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvY2hy
b21pdW0vU2Nyb2xsaW5nQ29vcmRpbmF0b3JDaHJvbWl1bS5jcHAKQEAgLTM5LDYgKzM5LDEwIEBA
CiAjaW5jbHVkZSAiVGV4dFN0cmVhbS5oIgogI2luY2x1ZGUgImNjL0NDUHJveHkuaCIKIAorI2lm
IEVOQUJMRShPVkVSRkxPV19TQ1JPTExJTkcpCisjaW5jbHVkZSAiR3JhcGhpY3NMYXllckNocm9t
aXVtLmgiCisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTY3JvbGxpbmdD
b29yZGluYXRvclByaXZhdGUgewpAQCAtMjk0LDQgKzI5OCwxOSBAQCBTdHJpbmcgU2Nyb2xsaW5n
Q29vcmRpbmF0b3I6OnNjcm9sbGluZ1RyZWVBc1RleHQoKSBjb25zdAogI2VuZGlmCiB9CiAKKyNp
ZiBFTkFCTEUoT1ZFUkZMT1dfU0NST0xMSU5HKQordm9pZCBTY3JvbGxpbmdDb29yZGluYXRvcjo6
c2Nyb2xsYWJsZUFyZWFTY3JvbGxMYXllckRpZENoYW5nZShTY3JvbGxhYmxlQXJlYSogc2Nyb2xs
YWJsZUFyZWEsIEdyYXBoaWNzTGF5ZXIqIHNjcm9sbExheWVyKQoreworICAgIEdyYXBoaWNzTGF5
ZXJDaHJvbWl1bSogbGF5ZXIgPSBzdGF0aWNfY2FzdDxHcmFwaGljc0xheWVyQ2hyb21pdW0qPihz
Y3JvbGxMYXllcik7CisgICAgTGF5ZXJDaHJvbWl1bSogcGxhdGZvcm1MYXllciA9IHNjcm9sbExh
eWVyID8gc2Nyb2xsTGF5ZXItPnBsYXRmb3JtTGF5ZXIoKSA6IDA7CisgICAgaWYgKGxheWVyKQor
ICAgICAgICBsYXllci0+c2V0U2Nyb2xsYWJsZUFyZWEoc2Nyb2xsYWJsZUFyZWEpOworICAgIGlm
ICghcGxhdGZvcm1MYXllcikKKyAgICAgICAgcmV0dXJuOworICAgIHBsYXRmb3JtTGF5ZXItPnNl
dFNjcm9sbGFibGUodHJ1ZSk7CisgICAgcGxhdGZvcm1MYXllci0+c2V0U2Nyb2xsUG9zaXRpb24o
c2Nyb2xsYWJsZUFyZWEtPnNjcm9sbFBvc2l0aW9uKCkpOworICAgIHBsYXRmb3JtTGF5ZXItPnNl
dE1heFNjcm9sbFBvc2l0aW9uKEludFNpemUoc2Nyb2xsYWJsZUFyZWEtPnNjcm9sbFNpemUoSG9y
aXpvbnRhbFNjcm9sbGJhciksIHNjcm9sbGFibGVBcmVhLT5zY3JvbGxTaXplKFZlcnRpY2FsU2Ny
b2xsYmFyKSkpOworfQorI2VuZGlmCisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1Njcm9sbGFibGVBcmVhLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxh
YmxlQXJlYS5oCmluZGV4IDVhMjc4YTliNWI5YzdjMTg1MWE0YzUzM2M2MGI1NDUxNTNmY2VkM2Eu
LmFlNzAwNjhmZmIzOTcxZGQzMTJlYWRhOGYzNzlhNWIyMTI1OTg0ZTAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuaApAQCAtMTcwLDYgKzE3MCw3IEBAIHB1YmxpYzoK
ICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiAgICAgdmlydHVhbCBUaWxlZEJhY2tp
bmcqIHRpbGVkQmFja2luZygpIHsgcmV0dXJuIDA7IH0KICNlbmRpZgorICAgIHZpcnR1YWwgYm9v
bCBoYXNBY2NlbGVyYXRlZFNjcm9sbGluZygpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAKIHBy
b3RlY3RlZDoKICAgICBTY3JvbGxhYmxlQXJlYSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmNwcAppbmRleCAxMGQ3YjdmYzhkYTRmNDg2
ZDAzZTAzM2ZiNDgyMTE1ODYxYWY2MmYwLi5mZTRmN2I0NjY1NDhlZWQwYTIwODVlY2UzZjgyYTFj
YTQ1NjU2NTE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9H
cmFwaGljc0xheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9H
cmFwaGljc0xheWVyLmNwcApAQCAtMjgzLDcgKzI4Myw3IEBAIHZvaWQgR3JhcGhpY3NMYXllcjo6
c2V0UmVwbGljYXRlZEJ5TGF5ZXIoR3JhcGhpY3NMYXllciogbGF5ZXIpCiAgICAgbV9yZXBsaWNh
TGF5ZXIgPSBsYXllcjsKIH0KIAotdm9pZCBHcmFwaGljc0xheWVyOjpzZXRPZmZzZXRGcm9tUmVu
ZGVyZXIoY29uc3QgSW50U2l6ZSYgb2Zmc2V0KQordm9pZCBHcmFwaGljc0xheWVyOjpzZXRPZmZz
ZXRGcm9tUmVuZGVyZXIoY29uc3QgSW50U2l6ZSYgb2Zmc2V0LCBib29sIG5lZWRzRGlzcGxheSkK
IHsKICAgICBpZiAob2Zmc2V0ID09IG1fb2Zmc2V0RnJvbVJlbmRlcmVyKQogICAgICAgICByZXR1
cm47CkBAIC0yOTEsNyArMjkxLDggQEAgdm9pZCBHcmFwaGljc0xheWVyOjpzZXRPZmZzZXRGcm9t
UmVuZGVyZXIoY29uc3QgSW50U2l6ZSYgb2Zmc2V0KQogICAgIG1fb2Zmc2V0RnJvbVJlbmRlcmVy
ID0gb2Zmc2V0OwogCiAgICAgLy8gSWYgdGhlIGNvbXBvc2l0aW5nIGxheWVyIG9mZnNldCBjaGFu
Z2VzLCB3ZSBuZWVkIHRvIHJlcGFpbnQuCi0gICAgc2V0TmVlZHNEaXNwbGF5KCk7CisgICAgaWYg
KG5lZWRzRGlzcGxheSkKKyAgICAgICAgc2V0TmVlZHNEaXNwbGF5KCk7CiB9CiAKIHZvaWQgR3Jh
cGhpY3NMYXllcjo6c2V0QmFja2dyb3VuZENvbG9yKGNvbnN0IENvbG9yJiBjb2xvcikKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuaAppbmRleCAx
NmM3M2E0ODM4ZTA0NDdlNWFhZWEyNjQwY2YyMzY0ZmVkMDg2YjMzLi40YzEzNmNiNTQ3MGJiNDkz
M2IxOWQwN2ZlZmJiZWE0Y2EzNmZjZDEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5oCkBAIC0yNzQsNyArMjc0LDcgQEAgcHVibGljOgog
CiAgICAgLy8gT2Zmc2V0IGlzIG9yaWdpbiBvZiB0aGUgcmVuZGVyZXIgbWludXMgb3JpZ2luIG9m
IHRoZSBncmFwaGljcyBsYXllciAoc28gZWl0aGVyIHplcm8gb3IgbmVnYXRpdmUpLgogICAgIElu
dFNpemUgb2Zmc2V0RnJvbVJlbmRlcmVyKCkgY29uc3QgeyByZXR1cm4gbV9vZmZzZXRGcm9tUmVu
ZGVyZXI7IH0KLSAgICB2b2lkIHNldE9mZnNldEZyb21SZW5kZXJlcihjb25zdCBJbnRTaXplJik7
CisgICAgdm9pZCBzZXRPZmZzZXRGcm9tUmVuZGVyZXIoY29uc3QgSW50U2l6ZSYsIGJvb2wgbmVl
ZHNEaXNwbGF5ID0gdHJ1ZSk7CiAKICAgICAvLyBUaGUgcG9zaXRpb24gb2YgdGhlIGxheWVyICh0
aGUgbG9jYXRpb24gb2YgaXRzIHRvcC1sZWZ0IGNvcm5lciBpbiBpdHMgcGFyZW50KQogICAgIGNv
bnN0IEZsb2F0UG9pbnQmIHBvc2l0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9wb3NpdGlvbjsgfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vR3Jh
cGhpY3NMYXllckNocm9taXVtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL0dyYXBoaWNzTGF5ZXJDaHJvbWl1bS5jcHAKaW5kZXggNTg0MWI0N2NhYTA5NGYw
MmEyNjk3ZjNhNzE1ZDQwNWM5Nzg0NjQ3MS4uNzYxYWY0MzAwNTU1M2JmYmM0YTkxN2I2NzE0MWE3
OWEyOGFiNDM0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vR3JhcGhpY3NMYXllckNocm9taXVtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9HcmFwaGljc0xheWVyQ2hyb21pdW0uY3BwCkBAIC04
OSwxMCArODksMTIgQEAgR3JhcGhpY3NMYXllckNocm9taXVtOjpHcmFwaGljc0xheWVyQ2hyb21p
dW0oR3JhcGhpY3NMYXllckNsaWVudCogY2xpZW50KQogICAgICwgbV9jb250ZW50c0xheWVySGFz
QmFja2dyb3VuZENvbG9yKGZhbHNlKQogICAgICwgbV9pblNldENoaWxkcmVuKGZhbHNlKQogICAg
ICwgbV9wYWdlU2NhbGVDaGFuZ2VkKGZhbHNlKQorICAgICwgbV9zY3JvbGxhYmxlQXJlYSgwKQog
ewogICAgIG1fb3BhcXVlUmVjdFRyYWNraW5nQ29udGVudExheWVyRGVsZWdhdGUgPSBhZG9wdFB0
cihuZXcgT3BhcXVlUmVjdFRyYWNraW5nQ29udGVudExheWVyRGVsZWdhdGUodGhpcykpOwogICAg
IG1fbGF5ZXIgPSBXZWJDb250ZW50TGF5ZXI6OmNyZWF0ZShtX29wYXF1ZVJlY3RUcmFja2luZ0Nv
bnRlbnRMYXllckRlbGVnYXRlLmdldCgpKTsKICAgICBtX2xheWVyLnNldERyYXdzQ29udGVudCht
X2RyYXdzQ29udGVudCAmJiBtX2NvbnRlbnRzVmlzaWJsZSk7CisgICAgbV9sYXllci51bndyYXA8
TGF5ZXJDaHJvbWl1bT4oKS0+c2V0TGF5ZXJTY3JvbGxEZWxlZ2F0ZSh0aGlzKTsKIAogICAgIHVw
ZGF0ZURlYnVnSW5kaWNhdG9ycygpOwogfQpAQCAtOTA4LDYgKzkxMCwxMiBAQCB2b2lkIEdyYXBo
aWNzTGF5ZXJDaHJvbWl1bTo6bm90aWZ5QW5pbWF0aW9uRmluaXNoZWQoZG91YmxlKQogICAgIC8v
IERvIG5vdGhpbmcuCiB9CiAKK3ZvaWQgR3JhcGhpY3NMYXllckNocm9taXVtOjpkaWRTY3JvbGwo
Y29uc3QgSW50U2l6ZSYgc2Nyb2xsRGVsdGEpCit7CisgICAgaWYgKG1fc2Nyb2xsYWJsZUFyZWEp
CisgICAgICAgIG1fc2Nyb2xsYWJsZUFyZWEtPnNjcm9sbFRvT2Zmc2V0V2l0aG91dEFuaW1hdGlv
bihtX3Njcm9sbGFibGVBcmVhLT5zY3JvbGxQb3NpdGlvbigpICsgc2Nyb2xsRGVsdGEpOworfQor
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBVU0UoQUNDRUxFUkFURURfQ09N
UE9TSVRJTkcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9HcmFwaGljc0xheWVyQ2hyb21pdW0uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL0dyYXBoaWNzTGF5ZXJDaHJvbWl1bS5oCmluZGV4IGRlZGVjNmE1
NWU2ZTFiNmVkYTNlNDU0MTRkYTg2MjJjM2FjOTM2NmYuLjI1MjI1MzU4NTNjNjAzNWFkZWRhZjYz
OWUxNDZhMWM4MTY2NjFmZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL0dyYXBoaWNzTGF5ZXJDaHJvbWl1bS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dyYXBoaWNzTGF5ZXJDaHJvbWl1bS5oCkBA
IC0zNyw2ICszNyw3IEBACiAjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCiAjaW5jbHVkZSAi
R3JhcGhpY3NMYXllci5oIgogI2luY2x1ZGUgIk9wYXF1ZVJlY3RUcmFja2luZ0NvbnRlbnRMYXll
ckRlbGVnYXRlLmgiCisjaW5jbHVkZSAiU2Nyb2xsYWJsZUFyZWEuaCIKICNpbmNsdWRlICJjYy9D
Q0xheWVyQW5pbWF0aW9uRGVsZWdhdGUuaCIKIAogI2luY2x1ZGUgPHB1YmxpYy9XZWJDb250ZW50
TGF5ZXIuaD4KQEAgLTQ4LDcgKzQ5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgTGF5
ZXJDaHJvbWl1bTsKIGNsYXNzIExpbmtIaWdobGlnaHQ7CiAKLWNsYXNzIEdyYXBoaWNzTGF5ZXJD
aHJvbWl1bSA6IHB1YmxpYyBHcmFwaGljc0xheWVyLCBwdWJsaWMgR3JhcGhpY3NDb250ZXh0UGFp
bnRlciwgcHVibGljIENDTGF5ZXJBbmltYXRpb25EZWxlZ2F0ZSB7CitjbGFzcyBHcmFwaGljc0xh
eWVyQ2hyb21pdW0gOiBwdWJsaWMgR3JhcGhpY3NMYXllciwgcHVibGljIEdyYXBoaWNzQ29udGV4
dFBhaW50ZXIsIHB1YmxpYyBDQ0xheWVyQW5pbWF0aW9uRGVsZWdhdGUsIHB1YmxpYyBMYXllckNo
cm9taXVtU2Nyb2xsRGVsZWdhdGUgewogcHVibGljOgogICAgIEdyYXBoaWNzTGF5ZXJDaHJvbWl1
bShHcmFwaGljc0xheWVyQ2xpZW50Kik7CiAgICAgdmlydHVhbCB+R3JhcGhpY3NMYXllckNocm9t
aXVtKCk7CkBAIC0xMTgsNiArMTE5LDkgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBzZXRE
ZWJ1Z0JvcmRlcihjb25zdCBDb2xvciYsIGZsb2F0IGJvcmRlcldpZHRoKTsKICAgICB2aXJ0dWFs
IHZvaWQgZGV2aWNlT3JQYWdlU2NhbGVGYWN0b3JDaGFuZ2VkKCk7CiAKKyAgICB2b2lkIHNldFNj
cm9sbGFibGVBcmVhKFNjcm9sbGFibGVBcmVhKiBzY3JvbGxhYmxlQXJlYSkgeyBtX3Njcm9sbGFi
bGVBcmVhID0gc2Nyb2xsYWJsZUFyZWE7IH0KKyAgICBTY3JvbGxhYmxlQXJlYSogc2Nyb2xsYWJs
ZUFyZWEoKSBjb25zdCB7IHJldHVybiBtX3Njcm9sbGFibGVBcmVhOyB9CisKICAgICAvLyBHcmFw
aGljc0NvbnRleHRQYWludGVyIGltcGxlbWVudGF0aW9uLgogICAgIHZpcnR1YWwgdm9pZCBwYWlu
dChHcmFwaGljc0NvbnRleHQmLCBjb25zdCBJbnRSZWN0JiBjbGlwKSBPVkVSUklERTsKIApAQCAt
MTI1LDYgKzEyOSw5IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgbm90aWZ5QW5pbWF0aW9u
U3RhcnRlZChkb3VibGUgc3RhcnRUaW1lKTsKICAgICB2aXJ0dWFsIHZvaWQgbm90aWZ5QW5pbWF0
aW9uRmluaXNoZWQoZG91YmxlIGZpbmlzaFRpbWUpOwogCisgICAgLy8gTGF5ZXJDaHJvbWl1bVNj
cm9sbERlbGVnYXRlIGltcGxlbWVudGF0aW9uLgorICAgIHZpcnR1YWwgdm9pZCBkaWRTY3JvbGwo
Y29uc3QgSW50U2l6ZSYpIE9WRVJSSURFOworCiAgICAgLy8gRXhwb3NlZCBmb3IgdGVzdHMuCiAg
ICAgV2ViS2l0OjpXZWJMYXllciBjb250ZW50c0xheWVyKCkgY29uc3QgeyByZXR1cm4gbV9jb250
ZW50c0xheWVyOyB9CiAKQEAgLTE4MSw2ICsxODgsOCBAQCBwcml2YXRlOgogCiAgICAgdHlwZWRl
ZiBIYXNoTWFwPFN0cmluZywgaW50PiBBbmltYXRpb25JZE1hcDsKICAgICBBbmltYXRpb25JZE1h
cCBtX2FuaW1hdGlvbklkTWFwOworCisgICAgU2Nyb2xsYWJsZUFyZWEqIG1fc2Nyb2xsYWJsZUFy
ZWE7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJsb2NrLmNwcAppbmRleCA3Mjg2ZTlhYmIyMjUyN2VjMWJlM2ExZTE3YjdhYWExNjI4
YzZjZmE5Li5iNzU0MWU2NWE4YmYwZDlmYWI5YTI3MjM3MDUyMzFmZmU5YjgyODAxIDEwMDc1NQot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKQEAgLTE1NzksOCArMTU3OSw5IEBA
IHZvaWQgUmVuZGVyQmxvY2s6OmxheW91dEJsb2NrKGJvb2wgcmVsYXlvdXRDaGlsZHJlbiwgTGF5
b3V0VW5pdCBwYWdlTG9naWNhbEhlaWdoCiAgICAgICAgICAgICAvLyBBZGp1c3QgcmVwYWludCBy
ZWN0IGZvciBzY3JvbGwgb2Zmc2V0CiAgICAgICAgICAgICByZXBhaW50UmVjdC5tb3ZlKC1zY3Jv
bGxlZENvbnRlbnRPZmZzZXQoKSk7CiAKLSAgICAgICAgICAgIC8vIERvbid0IGFsbG93IHRoaXMg
cmVjdCB0byBzcGlsbCBvdXQgb2Ygb3VyIG92ZXJmbG93IGJveC4KLSAgICAgICAgICAgIHJlcGFp
bnRSZWN0LmludGVyc2VjdChMYXlvdXRSZWN0KExheW91dFBvaW50KCksIHNpemUoKSkpOworICAg
ICAgICAgICAgLy8gRG9uJ3QgYWxsb3cgdGhpcyByZWN0IHRvIHNwaWxsIG91dCBvZiBvdXIgb3Zl
cmZsb3cgYm94LCB1bmxlc3MgdGhlIGxheWVyIGlzIHNjcm9sbGFibGUuCisgICAgICAgICAgICBp
ZiAoIWxheWVyKCktPnNob3VsZFBhaW50T3V0c2lkZU92ZXJmbG93Q2xpcCgpKQorICAgICAgICAg
ICAgICAgIHJlcGFpbnRSZWN0LmludGVyc2VjdChMYXlvdXRSZWN0KExheW91dFBvaW50KCksIHNp
emUoKSkpOwogICAgICAgICB9CiAKICAgICAgICAgLy8gTWFrZSBzdXJlIHRoZSByZWN0IGlzIHN0
aWxsIG5vbi1lbXB0eSBhZnRlciBpbnRlcnNlY3RpbmcgZm9yIG92ZXJmbG93IGFib3ZlCkBAIC0y
NjMwLDcgKzI2MzEsOCBAQCB2b2lkIFJlbmRlckJsb2NrOjpwYWludChQYWludEluZm8mIHBhaW50
SW5mbywgY29uc3QgTGF5b3V0UG9pbnQmIHBhaW50T2Zmc2V0KQogICAgIC8vIENoZWNrIGlmIHdl
IG5lZWQgdG8gZG8gYW55dGhpbmcgYXQgYWxsLgogICAgIC8vIEZJWE1FOiBDb3VsZCBlbGltaW5h
dGUgdGhlIGlzUm9vdCgpIGNoZWNrIGlmIHdlIGZpeCBiYWNrZ3JvdW5kIHBhaW50aW5nIHNvIHRo
YXQgdGhlIFJlbmRlclZpZXcKICAgICAvLyBwYWludHMgdGhlIHJvb3QncyBiYWNrZ3JvdW5kLgot
ICAgIGlmICghaXNSb290KCkpIHsKKyAgICBib29sIHNob3VsZFBhaW50T3V0c2lkZU92ZXJmbG93
Q2xpcCA9IGhhc0xheWVyKCkgJiYgbGF5ZXIoKS0+c2hvdWxkUGFpbnRPdXRzaWRlT3ZlcmZsb3dD
bGlwKCk7CisgICAgaWYgKCFpc1Jvb3QoKSAmJiAhc2hvdWxkUGFpbnRPdXRzaWRlT3ZlcmZsb3dD
bGlwKSB7CiAgICAgICAgIExheW91dFJlY3Qgb3ZlcmZsb3dCb3ggPSB2aXN1YWxPdmVyZmxvd1Jl
Y3QoKTsKICAgICAgICAgZmxpcEZvcldyaXRpbmdNb2RlKG92ZXJmbG93Qm94KTsKICAgICAgICAg
b3ZlcmZsb3dCb3guaW5mbGF0ZShtYXhpbWFsT3V0bGluZVNpemUocGFpbnRJbmZvLnBoYXNlKSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCmluZGV4IGRkY2EwN2RkMjllNjIy
MDUzZDg2MGNkYjY3OWY5ZWJiMDdiZDFlNGMuLmQ4NjI4MWZiMGRkODk2ZDU2NDA2MGFlZjg0NjI0
ZjMzZWVjZjhhZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
b3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCkBAIC02
NTEsNiArNjUxLDIwIEBAIExheW91dFNpemUgUmVuZGVyQm94OjpjYWNoZWRTaXplRm9yT3ZlcmZs
b3dDbGlwKCkgY29uc3QKICAgICByZXR1cm4gbGF5ZXIoKS0+c2l6ZSgpOwogfQogCit2b2lkIFJl
bmRlckJveDo6YXBwbHlDYWNoZWRDbGlwQW5kU2Nyb2xsT2Zmc2V0Rm9yUmVwYWludChMYXlvdXRS
ZWN0JiBwYWludFJlY3QpIGNvbnN0Cit7CisgICAgcGFpbnRSZWN0Lm1vdmUoLXNjcm9sbGVkQ29u
dGVudE9mZnNldCgpKTsgLy8gRm9yIG92ZXJmbG93OmF1dG8vc2Nyb2xsL2hpZGRlbi4KKworICAg
IGlmIChoYXNMYXllcigpICYmIGxheWVyKCktPnNob3VsZFBhaW50T3V0c2lkZU92ZXJmbG93Q2xp
cCgpKQorICAgICAgICByZXR1cm47CisKKyAgICAvLyBoZWlnaHQoKSBpcyBpbmFjY3VyYXRlIGlm
IHdlJ3JlIGluIHRoZSBtaWRkbGUgb2YgYSBsYXlvdXQgb2YgdGhpcyBSZW5kZXJCb3gsIHNvIHVz
ZSB0aGUKKyAgICAvLyBsYXllcidzIHNpemUgaW5zdGVhZC4gRXZlbiBpZiB0aGUgbGF5ZXIncyBz
aXplIGlzIHdyb25nLCB0aGUgbGF5ZXIgaXRzZWxmIHdpbGwgcmVwYWludAorICAgIC8vIGFueXdh
eSBpZiBpdHMgc2l6ZSBkb2VzIGNoYW5nZS4KKyAgICBMYXlvdXRSZWN0IGNsaXBSZWN0KExheW91
dFBvaW50KCksIGNhY2hlZFNpemVGb3JPdmVyZmxvd0NsaXAoKSk7CisgICAgcGFpbnRSZWN0ID0g
aW50ZXJzZWN0aW9uKHBhaW50UmVjdCwgY2xpcFJlY3QpOworfQorCiBMYXlvdXRVbml0IFJlbmRl
ckJveDo6bWluUHJlZmVycmVkTG9naWNhbFdpZHRoKCkgY29uc3QKIHsKICAgICBpZiAocHJlZmVy
cmVkTG9naWNhbFdpZHRoc0RpcnR5KCkpCkBAIC0xNTg1LDIxICsxNTk5LDEzIEBAIHZvaWQgUmVu
ZGVyQm94Ojpjb21wdXRlUmVjdEZvclJlcGFpbnQoUmVuZGVyQm94TW9kZWxPYmplY3QqIHJlcGFp
bnRDb250YWluZXIsIExhCiAKICAgICAvLyBGSVhNRTogV2UgaWdub3JlIHRoZSBsaWdodHdlaWdo
dCBjbGlwcGluZyByZWN0IHRoYXQgY29udHJvbHMgdXNlLCBzaW5jZSBpZiB8b3wgaXMgaW4gbWlk
LWxheW91dCwKICAgICAvLyBpdHMgY29udHJvbENsaXBSZWN0IHdpbGwgYmUgd3JvbmcuIEZvciBv
dmVyZmxvdyBjbGlwIHdlIHVzZSB0aGUgdmFsdWVzIGNhY2hlZCBieSB0aGUgbGF5ZXIuCisgICAg
cmVjdC5zZXRMb2NhdGlvbih0b3BMZWZ0KTsKICAgICBpZiAoby0+aGFzT3ZlcmZsb3dDbGlwKCkp
IHsKICAgICAgICAgUmVuZGVyQm94KiBjb250YWluZXJCb3ggPSB0b1JlbmRlckJveChvKTsKLQot
ICAgICAgICAvLyBvLT5oZWlnaHQoKSBpcyBpbmFjY3VyYXRlIGlmIHdlJ3JlIGluIHRoZSBtaWRk
bGUgb2YgYSBsYXlvdXQgb2YgfG98LCBzbyB1c2UgdGhlCi0gICAgICAgIC8vIGxheWVyJ3Mgc2l6
ZSBpbnN0ZWFkLiAgRXZlbiBpZiB0aGUgbGF5ZXIncyBzaXplIGlzIHdyb25nLCB0aGUgbGF5ZXIg
aXRzZWxmIHdpbGwgcmVwYWludAotICAgICAgICAvLyBhbnl3YXkgaWYgaXRzIHNpemUgZG9lcyBj
aGFuZ2UuCi0gICAgICAgIHRvcExlZnQgLT0gY29udGFpbmVyQm94LT5zY3JvbGxlZENvbnRlbnRP
ZmZzZXQoKTsgLy8gRm9yIG92ZXJmbG93OmF1dG8vc2Nyb2xsL2hpZGRlbi4KLQotICAgICAgICBM
YXlvdXRSZWN0IHJlcGFpbnRSZWN0KHRvcExlZnQsIHJlY3Quc2l6ZSgpKTsKLSAgICAgICAgTGF5
b3V0UmVjdCBib3hSZWN0KExheW91dFBvaW50KCksIGNvbnRhaW5lckJveC0+Y2FjaGVkU2l6ZUZv
ck92ZXJmbG93Q2xpcCgpKTsKLSAgICAgICAgcmVjdCA9IGludGVyc2VjdGlvbihyZXBhaW50UmVj
dCwgYm94UmVjdCk7CisgICAgICAgIGNvbnRhaW5lckJveC0+YXBwbHlDYWNoZWRDbGlwQW5kU2Ny
b2xsT2Zmc2V0Rm9yUmVwYWludChyZWN0KTsKICAgICAgICAgaWYgKHJlY3QuaXNFbXB0eSgpKQog
ICAgICAgICAgICAgcmV0dXJuOwotICAgIH0gZWxzZQotICAgICAgICByZWN0LnNldExvY2F0aW9u
KHRvcExlZnQpOworICAgIH0KIAogICAgIGlmIChjb250YWluZXJTa2lwcGVkKSB7CiAgICAgICAg
IC8vIElmIHRoZSByZXBhaW50Q29udGFpbmVyIGlzIGJlbG93IG8sIHRoZW4gd2UgbmVlZCB0byBt
YXAgdGhlIHJlY3QgaW50byByZXBhaW50Q29udGFpbmVyJ3MgY29vcmRpbmF0ZXMuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmggYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgKaW5kZXggNGJlYmY3ZWFiODAxMDk1ODliNDg2MTFkNDcx
NmZkZGE4Yjc2NjI0MC4uZWY1OWMwMTBiZTRlYTQ3ZjU2NWRiODU0N2M0NGM1NTZjODhhMDE5YiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaApAQCAtNDYxLDYgKzQ2MSw3IEBAIHB1
YmxpYzoKIAogICAgIEludFNpemUgc2Nyb2xsZWRDb250ZW50T2Zmc2V0KCkgY29uc3Q7CiAgICAg
TGF5b3V0U2l6ZSBjYWNoZWRTaXplRm9yT3ZlcmZsb3dDbGlwKCkgY29uc3Q7CisgICAgdm9pZCBh
cHBseUNhY2hlZENsaXBBbmRTY3JvbGxPZmZzZXRGb3JSZXBhaW50KExheW91dFJlY3QmIHBhaW50
UmVjdCkgY29uc3Q7CiAKICAgICB2aXJ0dWFsIGJvb2wgaGFzUmVsYXRpdmVEaW1lbnNpb25zKCkg
Y29uc3Q7CiAgICAgdmlydHVhbCBib29sIGhhc1JlbGF0aXZlTG9naWNhbEhlaWdodCgpIGNvbnN0
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmNwcAppbmRleCAwZTBiNDUz
MjFmMzFkNDNmZTg3YTlmZWExYjEwZTE2NDEyMDRhMzQ0Li5kZTVjYzI1NWY0MzllMTk0ZDMzY2Zk
YTI0MDBkYTY3MTMwODBlYTY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVySW5saW5lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5s
aW5lLmNwcApAQCAtOTg0LDE1ICs5ODQsOCBAQCBMYXlvdXRSZWN0IFJlbmRlcklubGluZTo6Y2xp
cHBlZE92ZXJmbG93UmVjdEZvclJlcGFpbnQoUmVuZGVyQm94TW9kZWxPYmplY3QqIHJlcAogICAg
IGlmIChjYi0+aGFzQ29sdW1ucygpKQogICAgICAgICBjYi0+YWRqdXN0UmVjdEZvckNvbHVtbnMo
cmVwYWludFJlY3QpOwogCi0gICAgaWYgKGNiLT5oYXNPdmVyZmxvd0NsaXAoKSkgewotICAgICAg
ICAvLyBjYi0+aGVpZ2h0KCkgaXMgaW5hY2N1cmF0ZSBpZiB3ZSdyZSBpbiB0aGUgbWlkZGxlIG9m
IGEgbGF5b3V0IG9mIHxjYnwsIHNvIHVzZSB0aGUKLSAgICAgICAgLy8gbGF5ZXIncyBzaXplIGlu
c3RlYWQuICBFdmVuIGlmIHRoZSBsYXllcidzIHNpemUgaXMgd3JvbmcsIHRoZSBsYXllciBpdHNl
bGYgd2lsbCByZXBhaW50Ci0gICAgICAgIC8vIGFueXdheSBpZiBpdHMgc2l6ZSBkb2VzIGNoYW5n
ZS4KLSAgICAgICAgcmVwYWludFJlY3QubW92ZSgtY2ItPnNjcm9sbGVkQ29udGVudE9mZnNldCgp
KTsgLy8gRm9yIG92ZXJmbG93OmF1dG8vc2Nyb2xsL2hpZGRlbi4KLQotICAgICAgICBMYXlvdXRS
ZWN0IGJveFJlY3QoTGF5b3V0UG9pbnQoKSwgY2ItPmNhY2hlZFNpemVGb3JPdmVyZmxvd0NsaXAo
KSk7Ci0gICAgICAgIHJlcGFpbnRSZWN0LmludGVyc2VjdChib3hSZWN0KTsKLSAgICB9CisgICAg
aWYgKGNiLT5oYXNPdmVyZmxvd0NsaXAoKSkKKyAgICAgICAgY2ItPmFwcGx5Q2FjaGVkQ2xpcEFu
ZFNjcm9sbE9mZnNldEZvclJlcGFpbnQocmVwYWludFJlY3QpOwogCiAgICAgY2ItPmNvbXB1dGVS
ZWN0Rm9yUmVwYWludChyZXBhaW50Q29udGFpbmVyLCByZXBhaW50UmVjdCk7CiAKQEAgLTEwNjQs
MjEgKzEwNTcsMTMgQEAgdm9pZCBSZW5kZXJJbmxpbmU6OmNvbXB1dGVSZWN0Rm9yUmVwYWludChS
ZW5kZXJCb3hNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5lciwKICAgICAKICAgICAvLyBGSVhN
RTogV2UgaWdub3JlIHRoZSBsaWdodHdlaWdodCBjbGlwcGluZyByZWN0IHRoYXQgY29udHJvbHMg
dXNlLCBzaW5jZSBpZiB8b3wgaXMgaW4gbWlkLWxheW91dCwKICAgICAvLyBpdHMgY29udHJvbENs
aXBSZWN0IHdpbGwgYmUgd3JvbmcuIEZvciBvdmVyZmxvdyBjbGlwIHdlIHVzZSB0aGUgdmFsdWVz
IGNhY2hlZCBieSB0aGUgbGF5ZXIuCisgICAgcmVjdC5zZXRMb2NhdGlvbih0b3BMZWZ0KTsKICAg
ICBpZiAoby0+aGFzT3ZlcmZsb3dDbGlwKCkpIHsKICAgICAgICAgUmVuZGVyQm94KiBjb250YWlu
ZXJCb3ggPSB0b1JlbmRlckJveChvKTsKLQotICAgICAgICAvLyBvLT5oZWlnaHQoKSBpcyBpbmFj
Y3VyYXRlIGlmIHdlJ3JlIGluIHRoZSBtaWRkbGUgb2YgYSBsYXlvdXQgb2YgfG98LCBzbyB1c2Ug
dGhlCi0gICAgICAgIC8vIGxheWVyJ3Mgc2l6ZSBpbnN0ZWFkLiAgRXZlbiBpZiB0aGUgbGF5ZXIn
cyBzaXplIGlzIHdyb25nLCB0aGUgbGF5ZXIgaXRzZWxmIHdpbGwgcmVwYWludAotICAgICAgICAv
LyBhbnl3YXkgaWYgaXRzIHNpemUgZG9lcyBjaGFuZ2UuCi0gICAgICAgIHRvcExlZnQgLT0gY29u
dGFpbmVyQm94LT5zY3JvbGxlZENvbnRlbnRPZmZzZXQoKTsgLy8gRm9yIG92ZXJmbG93OmF1dG8v
c2Nyb2xsL2hpZGRlbi4KLQotICAgICAgICBMYXlvdXRSZWN0IHJlcGFpbnRSZWN0KHRvcExlZnQs
IHJlY3Quc2l6ZSgpKTsKLSAgICAgICAgTGF5b3V0UmVjdCBib3hSZWN0KExheW91dFBvaW50KCks
IGNvbnRhaW5lckJveC0+Y2FjaGVkU2l6ZUZvck92ZXJmbG93Q2xpcCgpKTsKLSAgICAgICAgcmVj
dCA9IGludGVyc2VjdGlvbihyZXBhaW50UmVjdCwgYm94UmVjdCk7CisgICAgICAgIGNvbnRhaW5l
ckJveC0+YXBwbHlDYWNoZWRDbGlwQW5kU2Nyb2xsT2Zmc2V0Rm9yUmVwYWludChyZWN0KTsKICAg
ICAgICAgaWYgKHJlY3QuaXNFbXB0eSgpKQogICAgICAgICAgICAgcmV0dXJuOwotICAgIH0gZWxz
ZQotICAgICAgICByZWN0LnNldExvY2F0aW9uKHRvcExlZnQpOworICAgIH0KIAogICAgIGlmIChj
b250YWluZXJTa2lwcGVkKSB7CiAgICAgICAgIC8vIElmIHRoZSByZXBhaW50Q29udGFpbmVyIGlz
IGJlbG93IG8sIHRoZW4gd2UgbmVlZCB0byBtYXAgdGhlIHJlY3QgaW50byByZXBhaW50Q29udGFp
bmVyJ3MgY29vcmRpbmF0ZXMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNw
cAppbmRleCBlYzM2MzJjYjIzMzYzMTU5MGMwNTlhMjkwOTcxOTRmMzhhMDQ5MWExLi4yZmQ5YWVl
YzNlYWNmYWY1N2ZiNzlmMDUxYWE3OTMwNzZlMTA1MjUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllci5jcHAKQEAgLTI1OCw2ICsyNTgsMjkgQEAgdm9pZCBSZW5kZXJMYXll
cjo6Y29udGVudENoYW5nZWQoQ29udGVudENoYW5nZVR5cGUgY2hhbmdlVHlwZSkKIH0KICNlbmRp
ZiAvLyBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiAKK2Jvb2wgUmVuZGVyTGF5ZXI6Omhh
c0FjY2VsZXJhdGVkU2Nyb2xsaW5nKCkgY29uc3QKK3sKKyNpZiBFTkFCTEUoT1ZFUkZMT1dfU0NS
T0xMSU5HKQorICAgIGlmICghc2Nyb2xsc092ZXJmbG93KCkpCisgICAgICAgIHJldHVybiBmYWxz
ZTsKKyAgICBSZW5kZXJTdHlsZSogc3R5bGUgPSByZW5kZXJlcigpLT5zdHlsZSgpOworICAgIC8v
IEZJWE1FOiBPdXRsaW5lcyBjdXJyZW50bHkgZW5kIHVwIG9uIHRoZSBzY3JvbGxpbmcgZm9yZWdy
b3VuZCBsYXllci4KKyAgICBpZiAoc3R5bGUtPmhhc091dGxpbmUoKSkKKyAgICAgICAgcmV0dXJu
IGZhbHNlOworICAgIHJldHVybiBzdHlsZS0+dXNlVG91Y2hPdmVyZmxvd1Njcm9sbGluZygpOwor
I2Vsc2UKKyAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKK30KKworYm9vbCBSZW5kZXJMYXllcjo6
c2hvdWxkUGFpbnRPdXRzaWRlT3ZlcmZsb3dDbGlwKCkgY29uc3QKK3sKKyAgICAvLyBJZiBhY2Nl
bGVyYXRlZCBzY3JvbGxpbmcgaXMgdXNlZCwgZG9uJ3QgY2xpcCB0aGUgcmVwYWludHMgdG8gdGhl
IHNjcm9sbCB2aWV3cG9ydC4gVGhpcyBpcworICAgIC8vIGRvbmUgdG8gaW5jcmVhc2UgdGhlIGNo
YW5jZXMgdGhhdCB3ZSBhbHJlYWR5IGhhdmUgdmFsaWQgY29udGVudCBpbiB0aGUgbGF5ZXIgYmFj
a2luZyB3aGVuCisgICAgLy8gdGhlIHVzZXIgc2Nyb2xscyB0aGUgbGF5ZXIuCisgICAgcmV0dXJu
IHJlbmRlcmVyKCktPmhhc092ZXJmbG93Q2xpcCgpICYmIGhhc0FjY2VsZXJhdGVkU2Nyb2xsaW5n
KCk7Cit9CisKIGJvb2wgUmVuZGVyTGF5ZXI6OmNhblJlbmRlcjNEVHJhbnNmb3JtcygpIGNvbnN0
CiB7CiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQpAQCAtMTY0Niw4ICsxNjY5LDEw
IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnNjcm9sbFRvKGludCB4LCBpbnQgeSkKICAgICAgICAgZnJh
bWUtPmV2ZW50SGFuZGxlcigpLT5kaXNwYXRjaEZha2VNb3VzZU1vdmVFdmVudFNvb25JblF1YWQo
cXVhZEZvckZha2VNb3VzZU1vdmVFdmVudCk7CiAgICAgfQogCi0gICAgLy8gSnVzdCBzY2hlZHVs
ZSBhIGZ1bGwgcmVwYWludCBvZiBvdXIgb2JqZWN0LgotICAgIGlmICh2aWV3KQorICAgIC8vIEp1
c3Qgc2NoZWR1bGUgYSBmdWxsIHJlcGFpbnQgb2Ygb3VyIG9iamVjdC4gUGFpbnRpbmcgaXMgYmUg
ZHJpdmVuIGJ5IHRoZQorICAgIC8vIGNvbXBvc2l0b3IgaW4gdGhlIGFjY2VsZXJhdGVkIHNjcm9s
bGluZyBjYXNlLCBzbyB0aGVyZSdzIG5vIG5lZWQgdG8KKyAgICAvLyByZXBhaW50IGhlcmUuCisg
ICAgaWYgKHZpZXcgJiYgIWhhc0FjY2VsZXJhdGVkU2Nyb2xsaW5nKCkpCiAgICAgICAgIHJlbmRl
cmVyKCktPnJlcGFpbnRVc2luZ0NvbnRhaW5lcihyZXBhaW50Q29udGFpbmVyLCBtX3JlcGFpbnRS
ZWN0KTsKIAogICAgIC8vIFNjaGVkdWxlIHRoZSBzY3JvbGwgRE9NIGV2ZW50LgpAQCAtMzA4NCw4
ICszMTA5LDEzIEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnBhaW50TGF5ZXJDb250ZW50cyhSZW5kZXJM
YXllciogcm9vdExheWVyLCBHcmFwaGljc0NvbnRleHQqIGNvCiAgICAgaWYgKG92ZXJsYXBUZXN0
UmVxdWVzdHMgJiYgaXNTZWxmUGFpbnRpbmdMYXllcikKICAgICAgICAgcGVyZm9ybU92ZXJsYXBU
ZXN0cygqb3ZlcmxhcFRlc3RSZXF1ZXN0cywgcm9vdExheWVyLCB0aGlzKTsKIAotICAgIC8vIFdl
IHdhbnQgdG8gcGFpbnQgb3VyIGxheWVyLCBidXQgb25seSBpZiB3ZSBpbnRlcnNlY3QgdGhlIGRh
bWFnZSByZWN0LgotICAgIHNob3VsZFBhaW50Q29udGVudCAmPSBpbnRlcnNlY3RzRGFtYWdlUmVj
dChsYXllckJvdW5kcywgZGFtYWdlUmVjdC5yZWN0KCksIHJvb3RMYXllcik7CisgICAgaWYgKHNo
b3VsZFBhaW50T3V0c2lkZU92ZXJmbG93Q2xpcCgpICYmIChsb2NhbFBhaW50RmxhZ3MgJiBQYWlu
dExheWVyUGFpbnRpbmdDb21wb3NpdGluZ0ZvcmVncm91bmRQaGFzZSkpIHsKKyAgICAgICAgdXNl
Q2xpcFJlY3QgPSBmYWxzZTsKKyAgICAgICAgY2xpcFJlY3RUb0FwcGx5ID0gcGFpbnREaXJ0eVJl
Y3Q7CisgICAgfSBlbHNlIHsKKyAgICAgICAgLy8gV2Ugd2FudCB0byBwYWludCBvdXIgbGF5ZXIs
IGJ1dCBvbmx5IGlmIHdlIGludGVyc2VjdCB0aGUgZGFtYWdlIHJlY3QuCisgICAgICAgIHNob3Vs
ZFBhaW50Q29udGVudCAmPSBpbnRlcnNlY3RzRGFtYWdlUmVjdChsYXllckJvdW5kcywgZGFtYWdl
UmVjdC5yZWN0KCksIHJvb3RMYXllcik7CisgICAgfQogICAgIAogICAgIGlmIChsb2NhbFBhaW50
RmxhZ3MgJiBQYWludExheWVyUGFpbnRpbmdDb21wb3NpdGluZ0JhY2tncm91bmRQaGFzZSkgewog
ICAgICAgICBpZiAoc2hvdWxkUGFpbnRDb250ZW50ICYmICFzZWxlY3Rpb25Pbmx5KSB7CkBAIC0z
ODk3LDcgKzM5MjcsOSBAQCB2b2lkIFJlbmRlckxheWVyOjpjYWxjdWxhdGVDbGlwUmVjdHMoY29u
c3QgUmVuZGVyTGF5ZXIqIHJvb3RMYXllciwgUmVuZGVyUmVnaW9uKgogICAgICAgICAgICAgb2Zm
c2V0IC09IHZpZXctPmZyYW1lVmlldygpLT5zY3JvbGxPZmZzZXRGb3JGaXhlZFBvc2l0aW9uKCk7
CiAgICAgICAgIH0KICAgICAgICAgCi0gICAgICAgIGlmIChyZW5kZXJlcigpLT5oYXNPdmVyZmxv
d0NsaXAoKSkgeworICAgICAgICAvLyBEb24ndCBhcHBseSBvdmVyZmxvdyBjbGlwcGluZyB0byBj
aGlsZHJlbiBvZiBhY2NlbGVyYXRlZCBzY3JvbGxpbmcgbGF5ZXJzIHNvIHRoYXQgdGhlaXIKKyAg
ICAgICAgLy8gbGF5ZXIgYmFja2luZ3MgYXJlIG1vcmUgbGlrZWx5IHRvIGhhdmUgdmFsaWQgY29u
dGVudCB3aGVuIHRoZSB1c2VyIHNjcm9sbHMgdG8gdGhlbS4KKyAgICAgICAgaWYgKHJlbmRlcmVy
KCktPmhhc092ZXJmbG93Q2xpcCgpICYmICFzaG91bGRQYWludE91dHNpZGVPdmVyZmxvd0NsaXAo
KSkgewogICAgICAgICAgICAgQ2xpcFJlY3QgbmV3T3ZlcmZsb3dDbGlwID0gdG9SZW5kZXJCb3go
cmVuZGVyZXIoKSktPm92ZXJmbG93Q2xpcFJlY3Qob2Zmc2V0LCByZWdpb24sIHJlbGV2YW5jeSk7
CiAgICAgICAgICAgICBpZiAocmVuZGVyZXIoKS0+c3R5bGUoKS0+aGFzQm9yZGVyUmFkaXVzKCkp
CiAgICAgICAgICAgICAgICAgbmV3T3ZlcmZsb3dDbGlwLnNldEhhc1JhZGl1cyh0cnVlKTsKQEAg
LTQwNzEsNyArNDEwMyw3IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnJlcGFpbnRCbG9ja1NlbGVjdGlv
bkdhcHMoKQogCiAgICAgTGF5b3V0UmVjdCByZWN0ID0gbV9ibG9ja1NlbGVjdGlvbkdhcHNCb3Vu
ZHM7CiAgICAgcmVjdC5tb3ZlKC1zY3JvbGxlZENvbnRlbnRPZmZzZXQoKSk7Ci0gICAgaWYgKHJl
bmRlcmVyKCktPmhhc092ZXJmbG93Q2xpcCgpKQorICAgIGlmIChyZW5kZXJlcigpLT5oYXNPdmVy
Zmxvd0NsaXAoKSAmJiAhc2hvdWxkUGFpbnRPdXRzaWRlT3ZlcmZsb3dDbGlwKCkpCiAgICAgICAg
IHJlY3QuaW50ZXJzZWN0KHRvUmVuZGVyQm94KHJlbmRlcmVyKCkpLT5vdmVyZmxvd0NsaXBSZWN0
KExheW91dFBvaW50KCksIDApKTsgLy8gRklYTUU6IFJlZ2lvbnMgbm90IGFjY291bnRlZCBmb3Iu
CiAgICAgaWYgKHJlbmRlcmVyKCktPmhhc0NsaXAoKSkKICAgICAgICAgcmVjdC5pbnRlcnNlY3Qo
dG9SZW5kZXJCb3gocmVuZGVyZXIoKSktPmNsaXBSZWN0KExheW91dFBvaW50KCksIDApKTsgLy8g
RklYTUU6IFJlZ2lvbnMgbm90IGFjY291bnRlZCBmb3IuCkBAIC00NzA0LDYgKzQ3MzYsOSBAQCBi
b29sIFJlbmRlckxheWVyOjpzaG91bGRCZU5vcm1hbEZsb3dPbmx5KCkgY29uc3QKICNpZiBFTkFC
TEUoQ1NTX0ZJTFRFUlMpCiAgICAgICAgICAgICAmJiAhcmVuZGVyZXIoKS0+aGFzRmlsdGVyKCkK
ICNlbmRpZgorI2lmIEVOQUJMRShPVkVSRkxPV19TQ1JPTExJTkcpCisgICAgICAgICAgICAmJiAh
aGFzQWNjZWxlcmF0ZWRTY3JvbGxpbmcoKQorI2VuZGlmCiAgICAgICAgICAgICAmJiAhaXNUcmFu
c3BhcmVudCgpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCmluZGV4
IDVhNWUyNDQ2ZDQ1MTI5ODk1ZGQwOGZkMzQwMjE0NDJkNDhkM2RmYTkuLmM0ZmRiZGNmYmQ3NDVh
NTA3MWY3MDIwMzk0OWFhYzllZDY5NGQ1MmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMYXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMYXllci5oCkBAIC0zNzgsNiArMzc4LDkgQEAgcHVibGljOgogICAgIHZvaWQgY29udGVudENo
YW5nZWQoQ29udGVudENoYW5nZVR5cGUpOwogI2VuZGlmCiAKKyAgICB2aXJ0dWFsIGJvb2wgaGFz
QWNjZWxlcmF0ZWRTY3JvbGxpbmcoKSBjb25zdCBPVkVSUklERTsKKyAgICBib29sIHNob3VsZFBh
aW50T3V0c2lkZU92ZXJmbG93Q2xpcCgpIGNvbnN0OworCiAgICAgYm9vbCBjYW5SZW5kZXIzRFRy
YW5zZm9ybXMoKSBjb25zdDsKIAogICAgIHZvaWQgdXBkYXRlTGF5ZXJQb3NpdGlvbigpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcAppbmRleCBm
Njg1ZDBhMTU1MGRjZGZlMDljYWEyZjdkZDAzYWE2ZWI4NDdkYTIwLi40ZjYzYzE2OGNiNzRiZGY1
OWM5NmIyMjQ1NjU5MTY5OGZhM2E4YWY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcApAQCAtMTMyLDYgKzEzMiw5IEBAIFJlbmRlckxheWVy
QmFja2luZzo6flJlbmRlckxheWVyQmFja2luZygpCiAgICAgdXBkYXRlT3ZlcmZsb3dDb250cm9s
c0xheWVycyhmYWxzZSwgZmFsc2UsIGZhbHNlKTsKICAgICB1cGRhdGVGb3JlZ3JvdW5kTGF5ZXIo
ZmFsc2UpOwogICAgIHVwZGF0ZU1hc2tMYXllcihmYWxzZSk7CisjaWYgRU5BQkxFKE9WRVJGTE9X
X1NDUk9MTElORykKKyAgICB1cGRhdGVTY3JvbGxpbmdMYXllcihmYWxzZSk7CisjZW5kaWYKICAg
ICBkZXN0cm95R3JhcGhpY3NMYXllcnMoKTsKIH0KIApAQCAtMTk4LDYgKzIwMSwxMCBAQCB2b2lk
IFJlbmRlckxheWVyQmFja2luZzo6ZGVzdHJveUdyYXBoaWNzTGF5ZXJzKCkKICAgICBtX2ZvcmVn
cm91bmRMYXllciA9IG51bGxwdHI7CiAgICAgbV9jbGlwcGluZ0xheWVyID0gbnVsbHB0cjsKICAg
ICBtX21hc2tMYXllciA9IG51bGxwdHI7CisKKyNpZiBFTkFCTEUoT1ZFUkZMT1dfU0NST0xMSU5H
KQorICAgIG1fc2Nyb2xsaW5nTGF5ZXIgPSBudWxscHRyOworI2VuZGlmCiB9CiAKIHZvaWQgUmVu
ZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVMYXllck9wYWNpdHkoY29uc3QgUmVuZGVyU3R5bGUqIHN0
eWxlKQpAQCAtMjQyLDggKzI0OSw0MSBAQCBzdGF0aWMgYm9vbCBsYXllck9yQW5jZXN0b3JJc1Ry
YW5zZm9ybWVkKFJlbmRlckxheWVyKiBsYXllcikKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKKyNp
ZiBFTkFCTEUoT1ZFUkZMT1dfU0NST0xMSU5HKQorc3RhdGljIGJvb2wgaGFzVG91Y2hPdmVyZmxv
d1Njcm9sbGluZyhjb25zdCBSZW5kZXJPYmplY3QqIHJlbmRlcmVyKQoreworICAgIGlmICghcmVu
ZGVyZXItPmhhc0xheWVyKCkgfHwgIXJlbmRlcmVyLT5pc0JveE1vZGVsT2JqZWN0KCkpCisgICAg
ICAgIHJldHVybiBmYWxzZTsKKyAgICByZXR1cm4gdG9SZW5kZXJCb3hNb2RlbE9iamVjdChyZW5k
ZXJlciktPmxheWVyKCktPmhhc0FjY2VsZXJhdGVkU2Nyb2xsaW5nKCk7Cit9CisKK3N0YXRpYyBi
b29sIGxheWVyT3JBbmNlc3RvcklzU2Nyb2xsaW5nKFJlbmRlckxheWVyKiBsYXllcikKK3sKKyAg
ICBmb3IgKFJlbmRlckxheWVyKiBjdXJyID0gbGF5ZXI7IGN1cnI7IGN1cnIgPSBjdXJyLT5wYXJl
bnQoKSkgeworICAgICAgICBpZiAoaGFzVG91Y2hPdmVyZmxvd1Njcm9sbGluZyhjdXJyLT5yZW5k
ZXJlcigpKSkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKworICAgIHJldHVybiBm
YWxzZTsKK30KKyNlbmRpZgorCitHcmFwaGljc0xheWVyKiBSZW5kZXJMYXllckJhY2tpbmc6OnBh
cmVudEZvclN1YmxheWVycygpIGNvbnN0Cit7CisjaWYgRU5BQkxFKE9WRVJGTE9XX1NDUk9MTElO
RykKKyAgICBpZiAobV9zY3JvbGxpbmdMYXllcikKKyAgICAgICAgcmV0dXJuIG1fc2Nyb2xsaW5n
TGF5ZXIuZ2V0KCk7CisjZW5kaWYKKyAgICByZXR1cm4gbV9jbGlwcGluZ0xheWVyID8gbV9jbGlw
cGluZ0xheWVyLmdldCgpIDogbV9ncmFwaGljc0xheWVyLmdldCgpOworfQorCiBib29sIFJlbmRl
ckxheWVyQmFja2luZzo6c2hvdWxkQ2xpcENvbXBvc2l0ZWRCb3VuZHMoKSBjb25zdAogeworI2lm
IEVOQUJMRShPVkVSRkxPV19TQ1JPTExJTkcpCisgICAgaWYgKGxheWVyT3JBbmNlc3RvcklzU2Ny
b2xsaW5nKG1fb3duaW5nTGF5ZXIpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKKwog
ICAgIGlmIChtX3VzaW5nVGlsZWRDYWNoZUxheWVyKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIApA
QCAtMzM1LDcgKzM3NSwxMiBAQCBib29sIFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlR3JhcGhp
Y3NMYXllckNvbmZpZ3VyYXRpb24oKQogICAgIGJvb2wgbGF5ZXJDb25maWdDaGFuZ2VkID0gZmFs
c2U7CiAgICAgaWYgKHVwZGF0ZUZvcmVncm91bmRMYXllcihjb21wb3NpdG9yLT5uZWVkc0NvbnRl
bnRzQ29tcG9zaXRpbmdMYXllcihtX293bmluZ0xheWVyKSkpCiAgICAgICAgIGxheWVyQ29uZmln
Q2hhbmdlZCA9IHRydWU7Ci0gICAgCisKKyNpZiBFTkFCTEUoT1ZFUkZMT1dfU0NST0xMSU5HKQor
ICAgIGlmICh1cGRhdGVTY3JvbGxpbmdMYXllcihoYXNUb3VjaE92ZXJmbG93U2Nyb2xsaW5nKHJl
bmRlcmVyKSkpCisgICAgICAgIGxheWVyQ29uZmlnQ2hhbmdlZCA9IHRydWU7CisjZW5kaWYKKwog
ICAgIGlmICh1cGRhdGVDbGlwcGluZ0xheWVycyhjb21wb3NpdG9yLT5jbGlwcGVkQnlBbmNlc3Rv
cihtX293bmluZ0xheWVyKSwgY29tcG9zaXRvci0+Y2xpcHNDb21wb3NpdGluZ0Rlc2NlbmRhbnRz
KG1fb3duaW5nTGF5ZXIpKSkKICAgICAgICAgbGF5ZXJDb25maWdDaGFuZ2VkID0gdHJ1ZTsKIApA
QCAtNDgyLDcgKzUyNyw3IEBAIHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVHcmFwaGlj
c0xheWVyR2VvbWV0cnkoKQogICAgICAgICBncmFwaGljc0xheWVyUGFyZW50TG9jYXRpb24gPSBh
bmNlc3RvckNvbXBvc2l0aW5nQm91bmRzLmxvY2F0aW9uKCk7CiAgICAgZWxzZQogICAgICAgICBn
cmFwaGljc0xheWVyUGFyZW50TG9jYXRpb24gPSByZW5kZXJlcigpLT52aWV3KCktPmRvY3VtZW50
UmVjdCgpLmxvY2F0aW9uKCk7Ci0gICAgCisKICAgICBpZiAoY29tcEFuY2VzdG9yICYmIG1fYW5j
ZXN0b3JDbGlwcGluZ0xheWVyKSB7CiAgICAgICAgIC8vIENhbGwgY2FsY3VsYXRlUmVjdHMgdG8g
Z2V0IHRoZSBiYWNrZ3JvdW5kUmVjdCB3aGljaCBpcyB3aGF0IGlzIHVzZWQgdG8gY2xpcCB0aGUg
Y29udGVudHMgb2YgdGhpcwogICAgICAgICAvLyBsYXllci4gTm90ZSB0aGF0IHdlIGNhbGwgaXQg
d2l0aCB0ZW1wb3JhcnlDbGlwUmVjdHMgPSB0cnVlIGJlY2F1c2Ugbm9ybWFsbHkgd2hlbiBjb21w
dXRpbmcgY2xpcCByZWN0cwpAQCAtNDk5LDYgKzU0NCwxNSBAQCB2b2lkIFJlbmRlckxheWVyQmFj
a2luZzo6dXBkYXRlR3JhcGhpY3NMYXllckdlb21ldHJ5KCkKICAgICAgICAgZ3JhcGhpY3NMYXll
clBhcmVudExvY2F0aW9uID0gcGFyZW50Q2xpcFJlY3QubG9jYXRpb24oKTsKICAgICB9CiAKKyNp
ZiBFTkFCTEUoT1ZFUkZMT1dfU0NST0xMSU5HKQorICAgIGlmIChjb21wQW5jZXN0b3IgJiYgaGFz
VG91Y2hPdmVyZmxvd1Njcm9sbGluZyhjb21wQW5jZXN0b3ItPnJlbmRlcmVyKCkpKSB7CisgICAg
ICAgIFJlbmRlckJveCogcmVuZGVyQm94ID0gdG9SZW5kZXJCb3goY29tcEFuY2VzdG9yLT5yZW5k
ZXJlcigpKTsKKyAgICAgICAgSW50U2l6ZSBzY3JvbGxPZmZzZXQgPSBjb21wQW5jZXN0b3ItPnNj
cm9sbGVkQ29udGVudE9mZnNldCgpOworICAgICAgICBJbnRQb2ludCBzY3JvbGxPcmlnaW4ocmVu
ZGVyQm94LT5ib3JkZXJMZWZ0KCksIHJlbmRlckJveC0+Ym9yZGVyVG9wKCkpOworICAgICAgICBn
cmFwaGljc0xheWVyUGFyZW50TG9jYXRpb24gPSBzY3JvbGxPcmlnaW4gLSBzY3JvbGxPZmZzZXQ7
CisgICAgfQorI2VuZGlmCisKICAgICBtX2dyYXBoaWNzTGF5ZXItPnNldFBvc2l0aW9uKEZsb2F0
UG9pbnQoKSArIChyZWxhdGl2ZUNvbXBvc2l0aW5nQm91bmRzLmxvY2F0aW9uKCkgLSBncmFwaGlj
c0xheWVyUGFyZW50TG9jYXRpb24pKTsKICAgICBtX2dyYXBoaWNzTGF5ZXItPnNldE9mZnNldEZy
b21SZW5kZXJlcihsb2NhbENvbXBvc2l0aW5nQm91bmRzLmxvY2F0aW9uKCkgLSBJbnRQb2ludCgp
KTsKICAgICAKQEAgLTU2OCw2ICs2MjIsNyBAQCB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6dXBk
YXRlR3JhcGhpY3NMYXllckdlb21ldHJ5KCkKICAgICAgICAgRmxvYXRQb2ludCBmb3JlZ3JvdW5k
UG9zaXRpb247CiAgICAgICAgIEZsb2F0U2l6ZSBmb3JlZ3JvdW5kU2l6ZSA9IG5ld1NpemU7CiAg
ICAgICAgIEludFNpemUgZm9yZWdyb3VuZE9mZnNldCA9IG1fZ3JhcGhpY3NMYXllci0+b2Zmc2V0
RnJvbVJlbmRlcmVyKCk7CisgICAgICAgIGJvb2wgZm9yZWdyb3VuZE5lZWRzRGlzcGxheSA9IHRy
dWU7CiAgICAgICAgIGlmIChtX2NsaXBwaW5nTGF5ZXIpIHsKICAgICAgICAgICAgIC8vIElmIHdl
IGhhdmUgYSBjbGlwcGluZyBsYXllciAod2hpY2ggY2xpcHMgZGVzY2VuZGFudHMpLCB0aGVuIHRo
ZSBmb3JlZ3JvdW5kIGxheWVyIGlzIGEgY2hpbGQgb2YgaXQsCiAgICAgICAgICAgICAvLyBzbyB0
aGF0IGl0IGdldHMgY29ycmVjdGx5IHNvcnRlZCB3aXRoIGNoaWxkcmVuLiBJbiB0aGF0IGNhc2Us
IHBvc2l0aW9uIHJlbGF0aXZlIHRvIHRoZSBjbGlwcGluZyBsYXllci4KQEAgLTU3NSw5ICs2MzAs
MjYgQEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZUdyYXBoaWNzTGF5ZXJHZW9tZXRy
eSgpCiAgICAgICAgICAgICBmb3JlZ3JvdW5kT2Zmc2V0ID0gY2xpcHBpbmdCb3gubG9jYXRpb24o
KSAtIEludFBvaW50KCk7CiAgICAgICAgIH0KIAorI2lmIEVOQUJMRShPVkVSRkxPV19TQ1JPTExJ
TkcpCisgICAgICAgIGlmIChtX3Njcm9sbGluZ0xheWVyKSB7CisgICAgICAgICAgICBJbnRTaXpl
IHNjcm9sbE9mZnNldCA9IG1fb3duaW5nTGF5ZXItPnNjcm9sbGVkQ29udGVudE9mZnNldCgpOwor
ICAgICAgICAgICAgSW50U2l6ZSBzY3JvbGxEZWx0YSA9IHNjcm9sbE9mZnNldCArIG1fc2Nyb2xs
aW5nTGF5ZXItPm9mZnNldEZyb21SZW5kZXJlcigpOworICAgICAgICAgICAgSW50U2l6ZSB0YXJn
ZXRPZmZzZXQgPSBmb3JlZ3JvdW5kT2Zmc2V0IC0gc2Nyb2xsT2Zmc2V0OworCisgICAgICAgICAg
ICBmb3JlZ3JvdW5kT2Zmc2V0ID0gdGFyZ2V0T2Zmc2V0OworICAgICAgICAgICAgZm9yZWdyb3Vu
ZFNpemUgPSBJbnRTaXplKG1fb3duaW5nTGF5ZXItPnNjcm9sbFdpZHRoKCksIG1fb3duaW5nTGF5
ZXItPnNjcm9sbEhlaWdodCgpKTsKKworICAgICAgICAgICAgLy8gSWYgb25seSB0aGUgc2Nyb2xs
IG9mZnNldCBjaGFuZ2VkLCB0aGVyZSdzIG5vIG5lZWQgdG8gdG8gaW52YWxpZGF0ZSB0aGUgZW50
aXJlIGxheWVyLgorICAgICAgICAgICAgaWYgKHRhcmdldE9mZnNldCA9PSBtX2ZvcmVncm91bmRM
YXllci0+b2Zmc2V0RnJvbVJlbmRlcmVyKCkgLSBzY3JvbGxEZWx0YSAmJiBmb3JlZ3JvdW5kU2l6
ZSA9PSBtX2ZvcmVncm91bmRMYXllci0+c2l6ZSgpKQorICAgICAgICAgICAgICAgIGZvcmVncm91
bmROZWVkc0Rpc3BsYXkgPSBmYWxzZTsKKworICAgICAgICAgICAgaWYgKGZvcmVncm91bmRPZmZz
ZXQgIT0gbV9mb3JlZ3JvdW5kTGF5ZXItPm9mZnNldEZyb21SZW5kZXJlcigpIHx8IGZvcmVncm91
bmRTaXplICE9IG1fZm9yZWdyb3VuZExheWVyLT5zaXplKCkpCisgICAgICAgICAgICAgICAgY29t
cG9zaXRvcigpLT5zY3JvbGxpbmdMYXllckRpZENoYW5nZShtX293bmluZ0xheWVyKTsKKyAgICAg
ICAgfQorI2VuZGlmCiAgICAgICAgIG1fZm9yZWdyb3VuZExheWVyLT5zZXRQb3NpdGlvbihmb3Jl
Z3JvdW5kUG9zaXRpb24pOwogICAgICAgICBtX2ZvcmVncm91bmRMYXllci0+c2V0U2l6ZShmb3Jl
Z3JvdW5kU2l6ZSk7Ci0gICAgICAgIG1fZm9yZWdyb3VuZExheWVyLT5zZXRPZmZzZXRGcm9tUmVu
ZGVyZXIoZm9yZWdyb3VuZE9mZnNldCk7CisgICAgICAgIG1fZm9yZWdyb3VuZExheWVyLT5zZXRP
ZmZzZXRGcm9tUmVuZGVyZXIoZm9yZWdyb3VuZE9mZnNldCwgZm9yZWdyb3VuZE5lZWRzRGlzcGxh
eSk7CiAgICAgfQogCiAgICAgaWYgKG1fb3duaW5nTGF5ZXItPnJlZmxlY3Rpb25MYXllcigpICYm
IG1fb3duaW5nTGF5ZXItPnJlZmxlY3Rpb25MYXllcigpLT5pc0NvbXBvc2l0ZWQoKSkgewpAQCAt
NTkxLDYgKzY2MywxNCBAQCB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlR3JhcGhpY3NM
YXllckdlb21ldHJ5KCkKICAgICAgICAgcmVmbGVjdGlvbkJhY2tpbmctPmdyYXBoaWNzTGF5ZXIo
KS0+c2V0UmVwbGljYXRlZExheWVyUG9zaXRpb24oRmxvYXRQb2ludCgpICsgKGxheWVyQm91bmRz
LmxvY2F0aW9uKCkgLSByZWZsZWN0aW9uTGF5ZXJCb3VuZHMubG9jYXRpb24oKSkpOwogICAgIH0K
IAorI2lmIEVOQUJMRShPVkVSRkxPV19TQ1JPTExJTkcpCisgICAgaWYgKG1fc2Nyb2xsaW5nTGF5
ZXIpIHsKKyAgICAgICAgSW50U2l6ZSBzY3JvbGxPZmZzZXQgPSBtX293bmluZ0xheWVyLT5zY3Jv
bGxlZENvbnRlbnRPZmZzZXQoKTsKKyAgICAgICAgbV9zY3JvbGxpbmdMYXllci0+c2V0UG9zaXRp
b24oRmxvYXRQb2ludCgtc2Nyb2xsT2Zmc2V0LndpZHRoKCksIC1zY3JvbGxPZmZzZXQuaGVpZ2h0
KCkpKTsKKyAgICAgICAgbV9zY3JvbGxpbmdMYXllci0+c2V0T2Zmc2V0RnJvbVJlbmRlcmVyKC1z
Y3JvbGxPZmZzZXQpOworICAgIH0KKyNlbmRpZgorCiAgICAgbV9ncmFwaGljc0xheWVyLT5zZXRD
b250ZW50c1JlY3QoY29udGVudHNCb3goKSk7CiAKICAgICAvLyBJZiB0aGlzIGxheWVyIHdhcyBj
cmVhdGVkIGp1c3QgZm9yIGNsaXBwaW5nIG9yIHRvIGFwcGx5IHBlcnNwZWN0aXZlLCBpdCBkb2Vz
bid0IG5lZWQgaXRzIG93biBiYWNraW5nIHN0b3JlLgpAQCAtNjEzLDYgKzY5MywxMiBAQCB2b2lk
IFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlSW50ZXJuYWxIaWVyYXJjaHkoKQogICAgIGlmICht
X2NsaXBwaW5nTGF5ZXIpIHsKICAgICAgICAgbV9jbGlwcGluZ0xheWVyLT5yZW1vdmVGcm9tUGFy
ZW50KCk7CiAgICAgICAgIG1fZ3JhcGhpY3NMYXllci0+YWRkQ2hpbGQobV9jbGlwcGluZ0xheWVy
LmdldCgpKTsKKyNpZiBFTkFCTEUoT1ZFUkZMT1dfU0NST0xMSU5HKQorICAgICAgICBpZiAobV9z
Y3JvbGxpbmdMYXllcikgeworICAgICAgICAgICAgbV9zY3JvbGxpbmdMYXllci0+cmVtb3ZlRnJv
bVBhcmVudCgpOworICAgICAgICAgICAgbV9jbGlwcGluZ0xheWVyLT5hZGRDaGlsZChtX3Njcm9s
bGluZ0xheWVyLmdldCgpKTsKKyAgICAgICAgfQorI2VuZGlmCiAgICAgfQogCiAgICAgLy8gVGhl
IGNsaXAgZm9yIGNoaWxkIGxheWVycyBkb2VzIG5vdCBpbmNsdWRlIHNwYWNlIGZvciBvdmVyZmxv
dyBjb250cm9scywgc28gdGhleSBleGlzdCBhcwpAQCAtNzg0LDYgKzg3MCwyOCBAQCBib29sIFJl
bmRlckxheWVyQmFja2luZzo6dXBkYXRlTWFza0xheWVyKGJvb2wgbmVlZHNNYXNrTGF5ZXIpCiAg
ICAgcmV0dXJuIGxheWVyQ2hhbmdlZDsKIH0KIAorI2lmIEVOQUJMRShPVkVSRkxPV19TQ1JPTExJ
TkcpCitib29sIFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlU2Nyb2xsaW5nTGF5ZXIoYm9vbCBu
ZWVkU2Nyb2xsaW5nTGF5ZXIpCit7CisgICAgYm9vbCBsYXllckNoYW5nZWQgPSBmYWxzZTsKKyAg
ICBpZiAobmVlZFNjcm9sbGluZ0xheWVyKSB7CisgICAgICAgIGlmICghbV9zY3JvbGxpbmdMYXll
cikgeworICAgICAgICAgICAgbV9zY3JvbGxpbmdMYXllciA9IGNyZWF0ZUdyYXBoaWNzTGF5ZXIo
IlNjcm9sbGluZyBMYXllciIpOworICAgICAgICAgICAgbGF5ZXJDaGFuZ2VkID0gdHJ1ZTsKKyAg
ICAgICAgfQorICAgIH0gZWxzZSBpZiAobV9zY3JvbGxpbmdMYXllcikgeworICAgICAgICBtX3Nj
cm9sbGluZ0xheWVyLT5yZW1vdmVGcm9tUGFyZW50KCk7CisgICAgICAgIG1fc2Nyb2xsaW5nTGF5
ZXIgPSBudWxscHRyOworICAgICAgICBsYXllckNoYW5nZWQgPSB0cnVlOworICAgIH0KKworICAg
IGlmIChsYXllckNoYW5nZWQgJiYgbV9vd25pbmdMYXllci0+cmVuZGVyZXIoKS0+dmlldygpKQor
ICAgICAgICBjb21wb3NpdG9yKCktPnNjcm9sbGluZ0xheWVyRGlkQ2hhbmdlKG1fb3duaW5nTGF5
ZXIpOworCisgICAgcmV0dXJuIGxheWVyQ2hhbmdlZDsKK30KKyNlbmRpZiAvLyBFTkFCTEUoT1ZF
UkZMT1dfU0NST0xMSU5HKQorCiBHcmFwaGljc0xheWVyUGFpbnRpbmdQaGFzZSBSZW5kZXJMYXll
ckJhY2tpbmc6OnBhaW50aW5nUGhhc2VGb3JQcmltYXJ5TGF5ZXIoKSBjb25zdAogewogICAgIHVu
c2lnbmVkIHBoYXNlID0gR3JhcGhpY3NMYXllclBhaW50QmFja2dyb3VuZDsKQEAgLTEyMzksOCAr
MTM0NywxMSBAQCB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6cGFpbnRDb250ZW50cyhjb25zdCBH
cmFwaGljc0xheWVyKiBncmFwaGljc0xheWVyLCBHcmFwaAogICAgICAgICBJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb25Db29raWUgY29va2llID0gSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxs
UGFpbnQobV9vd25pbmdMYXllci0+cmVuZGVyZXIoKS0+ZnJhbWUoKSwgJmNvbnRleHQsIGNsaXAp
OwogCiAgICAgICAgIC8vIFRoZSBkaXJ0eVJlY3QgaXMgaW4gdGhlIGNvb3JkcyBvZiB0aGUgcGFp
bnRpbmcgcm9vdC4KLSAgICAgICAgSW50UmVjdCBkaXJ0eVJlY3QgPSBjb21wb3NpdGVkQm91bmRz
KCk7Ci0gICAgICAgIGRpcnR5UmVjdC5pbnRlcnNlY3QoY2xpcCk7CisgICAgICAgIEludFJlY3Qg
ZGlydHlSZWN0OworICAgICAgICBpZiAobV9vd25pbmdMYXllci0+c2hvdWxkUGFpbnRPdXRzaWRl
T3ZlcmZsb3dDbGlwKCkgJiYgcGFpbnRpbmdQaGFzZSA9PSBHcmFwaGljc0xheWVyUGFpbnRGb3Jl
Z3JvdW5kICYmIGdyYXBoaWNzTGF5ZXIgPT0gbV9mb3JlZ3JvdW5kTGF5ZXIuZ2V0KCkpCisgICAg
ICAgICAgICBkaXJ0eVJlY3QgPSBjbGlwOworICAgICAgICBlbHNlCisgICAgICAgICAgICBkaXJ0
eVJlY3QgPSBpbnRlcnNlY3Rpb24oY29tcG9zaXRlZEJvdW5kcygpLCBjbGlwKTsKIAogICAgICAg
ICAvLyBXZSBoYXZlIHRvIHVzZSB0aGUgc2FtZSByb290IGFzIGZvciBoaXQgdGVzdGluZywgYmVj
YXVzZSBib3RoIG1ldGhvZHMgY2FuIGNvbXB1dGUgYW5kIGNhY2hlIGNsaXBSZWN0cy4KICAgICAg
ICAgcGFpbnRJbnRvTGF5ZXIobV9vd25pbmdMYXllciwgJmNvbnRleHQsIGRpcnR5UmVjdCwgUGFp
bnRCZWhhdmlvck5vcm1hbCwgcGFpbnRpbmdQaGFzZSwgcmVuZGVyZXIoKSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmggYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmgKaW5kZXggZDg3MTg4NThlYWY2
YmNlNDE5MDA0YjYxOTQ5ZjJmZTE5MGIwZDM4Mi4uNjU4NGQ1OTAyMTAxZGM1MWVkYTU5OGU1ZWMz
MDQ4NzE4MWY3YTUxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyQmFja2luZy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXll
ckJhY2tpbmcuaApAQCAtODMsMTAgKzgzLDE1IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgaGFzQ29u
dGVudHNMYXllcigpIGNvbnN0IHsgcmV0dXJuIG1fZm9yZWdyb3VuZExheWVyICE9IDA7IH0KICAg
ICBHcmFwaGljc0xheWVyKiBmb3JlZ3JvdW5kTGF5ZXIoKSBjb25zdCB7IHJldHVybiBtX2ZvcmVn
cm91bmRMYXllci5nZXQoKTsgfQorCisjaWYgRU5BQkxFKE9WRVJGTE9XX1NDUk9MTElORykKKyAg
ICBib29sIGhhc1Njcm9sbGluZ0xheWVyKCkgY29uc3QgeyByZXR1cm4gbV9zY3JvbGxpbmdMYXll
cjsgfQorICAgIEdyYXBoaWNzTGF5ZXIqIHNjcm9sbGluZ0xheWVyKCkgY29uc3QgeyByZXR1cm4g
bV9zY3JvbGxpbmdMYXllci5nZXQoKTsgfQorI2VuZGlmCiAgICAgCiAgICAgYm9vbCBoYXNNYXNr
TGF5ZXIoKSBjb25zdCB7IHJldHVybiBtX21hc2tMYXllciAhPSAwOyB9CiAKLSAgICBHcmFwaGlj
c0xheWVyKiBwYXJlbnRGb3JTdWJsYXllcnMoKSBjb25zdCB7IHJldHVybiBtX2NsaXBwaW5nTGF5
ZXIgPyBtX2NsaXBwaW5nTGF5ZXIuZ2V0KCkgOiBtX2dyYXBoaWNzTGF5ZXIuZ2V0KCk7IH0KKyAg
ICBHcmFwaGljc0xheWVyKiBwYXJlbnRGb3JTdWJsYXllcnMoKSBjb25zdDsKICAgICBHcmFwaGlj
c0xheWVyKiBjaGlsZEZvclN1cGVybGF5ZXJzKCkgY29uc3QgeyByZXR1cm4gbV9hbmNlc3RvckNs
aXBwaW5nTGF5ZXIgPyBtX2FuY2VzdG9yQ2xpcHBpbmdMYXllci5nZXQoKSA6IG1fZ3JhcGhpY3NM
YXllci5nZXQoKTsgfQogCiAgICAgLy8gUmVuZGVyTGF5ZXJzIHdpdGggYmFja2luZyBub3JtYWxs
eSBzaG9ydC1jaXJjdWl0IHBhaW50TGF5ZXIoKSBiZWNhdXNlCkBAIC0xODEsNiArMTg2LDkgQEAg
cHJpdmF0ZToKICAgICBib29sIHJlcXVpcmVzSG9yaXpvbnRhbFNjcm9sbGJhckxheWVyKCkgY29u
c3Q7CiAgICAgYm9vbCByZXF1aXJlc1ZlcnRpY2FsU2Nyb2xsYmFyTGF5ZXIoKSBjb25zdDsKICAg
ICBib29sIHJlcXVpcmVzU2Nyb2xsQ29ybmVyTGF5ZXIoKSBjb25zdDsKKyNpZiBFTkFCTEUoT1ZF
UkZMT1dfU0NST0xMSU5HKQorICAgIGJvb2wgdXBkYXRlU2Nyb2xsaW5nTGF5ZXIoYm9vbCBuZWVk
U2Nyb2xsaW5nTGF5ZXIpOworI2VuZGlmCiAKICAgICBHcmFwaGljc0xheWVyUGFpbnRpbmdQaGFz
ZSBwYWludGluZ1BoYXNlRm9yUHJpbWFyeUxheWVyKCkgY29uc3Q7CiAgICAgCkBAIC0yMzcsNiAr
MjQ1LDExIEBAIHByaXZhdGU6CiAgICAgT3duUHRyPEdyYXBoaWNzTGF5ZXI+IG1fbGF5ZXJGb3JW
ZXJ0aWNhbFNjcm9sbGJhcjsKICAgICBPd25QdHI8R3JhcGhpY3NMYXllcj4gbV9sYXllckZvclNj
cm9sbENvcm5lcjsKIAorI2lmIEVOQUJMRShPVkVSRkxPV19TQ1JPTExJTkcpCisgICAgLy8gT25s
eSB1c2VkIGlmIHRoZSBsYXllciBpcyBzY3JvbGxhYmxlLgorICAgIE93blB0cjxHcmFwaGljc0xh
eWVyPiBtX3Njcm9sbGluZ0xheWVyOworI2VuZGlmCisKICAgICBJbnRSZWN0IG1fY29tcG9zaXRl
ZEJvdW5kczsKIAogICAgIGJvb2wgbV9hcnRpZmljaWFsbHlJbmZsYXRlZEJvdW5kczsgICAgICAv
LyBib3VuZHMgaGFkIHRvIGJlIG1hZGUgbm9uLXplcm8gdG8gbWFrZSB0cmFuc2Zvcm0tb3JpZ2lu
IHdvcmsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNv
bXBvc2l0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9z
aXRvci5jcHAKaW5kZXggMTQ2NmUzOWJhZTM0NjdiNDJiM2UzMTMyYmMzMTI1NDliMTJhOWExYS4u
Y2RiODdkNjRjNTAxMjJiMTg5MjEyMWNlZmRmYmQ1MThhZDNlMTlkYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKQEAgLTc4NSw2
ICs3ODUsMTAgQEAgdm9pZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OmNvbXB1dGVDb21wb3NpdGlu
Z1JlcXVpcmVtZW50cyhSZW5kZXJMYXllciogYW5jZXN0b3IKIAogICAgIGJvb2wgYW55RGVzY2Vu
ZGFudEhhczNEVHJhbnNmb3JtID0gZmFsc2U7CiAKKyAgICAvLyBTY3JvbGxpbmcgbGF5ZXJzIG5l
ZWQgdG8gY2xpcCB0aGUgc2Nyb2xsaW5nIGNvbnRlbnQuCisgICAgaWYgKHdpbGxCZUNvbXBvc2l0
ZWQgJiYgbGF5ZXItPmhhc0FjY2VsZXJhdGVkU2Nyb2xsaW5nKCkpCisgICAgICAgIGNoaWxkU3Rh
dGUubV9zdWJ0cmVlSXNDb21wb3NpdGluZyA9IHRydWU7CisKICAgICBpZiAobGF5ZXItPmlzU3Rh
Y2tpbmdDb250ZXh0KCkpIHsKICAgICAgICAgaWYgKFZlY3RvcjxSZW5kZXJMYXllcio+KiBuZWda
T3JkZXJMaXN0ID0gbGF5ZXItPm5lZ1pPcmRlckxpc3QoKSkgewogICAgICAgICAgICAgc2l6ZV90
IGxpc3RTaXplID0gbmVnWk9yZGVyTGlzdC0+c2l6ZSgpOwpAQCAtMTA5OSw2ICsxMTAzLDE1IEBA
IHZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpmcmFtZVZpZXdEaWRTY3JvbGwoKQogICAgIG1f
c2Nyb2xsTGF5ZXItPnNldFBvc2l0aW9uKEZsb2F0UG9pbnQoLXNjcm9sbFBvc2l0aW9uLngoKSwg
LXNjcm9sbFBvc2l0aW9uLnkoKSkpOwogfQogCisjaWYgRU5BQkxFKE9WRVJGTE9XX1NDUk9MTElO
RykKK3ZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpzY3JvbGxpbmdMYXllckRpZENoYW5nZShS
ZW5kZXJMYXllciogbGF5ZXIpCit7CisgICAgUmVuZGVyTGF5ZXJCYWNraW5nKiBiYWNraW5nID0g
bGF5ZXItPmJhY2tpbmcoKTsKKyAgICBpZiAoU2Nyb2xsaW5nQ29vcmRpbmF0b3IqIHNjcm9sbGlu
Z0Nvb3JkaW5hdG9yID0gdGhpcy0+c2Nyb2xsaW5nQ29vcmRpbmF0b3IoKSkKKyAgICAgICAgc2Ny
b2xsaW5nQ29vcmRpbmF0b3ItPnNjcm9sbGFibGVBcmVhU2Nyb2xsTGF5ZXJEaWRDaGFuZ2UobGF5
ZXIsIGJhY2tpbmcgPyBiYWNraW5nLT5zY3JvbGxpbmdMYXllcigpIDogMCk7Cit9CisjZW5kaWYK
KwogU3RyaW5nIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6bGF5ZXJUcmVlQXNUZXh0KGJvb2wgc2hv
d0RlYnVnSW5mbykKIHsKICAgICB1cGRhdGVDb21wb3NpdGluZ0xheWVycyhDb21wb3NpdGluZ1Vw
ZGF0ZUFmdGVyTGF5b3V0KTsKQEAgLTE0NTEsNyArMTQ2NCw4IEBAIGJvb2wgUmVuZGVyTGF5ZXJD
b21wb3NpdG9yOjpyZXF1aXJlc0NvbXBvc2l0aW5nTGF5ZXIoY29uc3QgUmVuZGVyTGF5ZXIqIGxh
eWVyKSBjCiAgICAgICAgIHx8IGNsaXBzQ29tcG9zaXRpbmdEZXNjZW5kYW50cyhsYXllcikKICAg
ICAgICAgfHwgcmVxdWlyZXNDb21wb3NpdGluZ0ZvckFuaW1hdGlvbihyZW5kZXJlcikKICAgICAg
ICAgfHwgcmVxdWlyZXNDb21wb3NpdGluZ0ZvckZpbHRlcnMocmVuZGVyZXIpCi0gICAgICAgIHx8
IHJlcXVpcmVzQ29tcG9zaXRpbmdGb3JQb3NpdGlvbihyZW5kZXJlciwgbGF5ZXIpOworICAgICAg
ICB8fCByZXF1aXJlc0NvbXBvc2l0aW5nRm9yUG9zaXRpb24ocmVuZGVyZXIsIGxheWVyKQorICAg
ICAgICB8fCByZXF1aXJlc0NvbXBvc2l0aW5nRm9yT3ZlcmZsb3dTY3JvbGwocmVuZGVyZXIpOwog
fQogCiBib29sIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6Y2FuQmVDb21wb3NpdGVkKGNvbnN0IFJl
bmRlckxheWVyKiBsYXllcikgY29uc3QKQEAgLTE0ODAsNiArMTQ5NCw3IEBAIGJvb2wgUmVuZGVy
TGF5ZXJDb21wb3NpdG9yOjpyZXF1aXJlc093bkJhY2tpbmdTdG9yZShjb25zdCBSZW5kZXJMYXll
ciogbGF5ZXIsIGNvCiAgICAgICAgIHx8IHJlcXVpcmVzQ29tcG9zaXRpbmdGb3JBbmltYXRpb24o
cmVuZGVyZXIpCiAgICAgICAgIHx8IHJlcXVpcmVzQ29tcG9zaXRpbmdGb3JGaWx0ZXJzKHJlbmRl
cmVyKQogICAgICAgICB8fCByZXF1aXJlc0NvbXBvc2l0aW5nRm9yUG9zaXRpb24ocmVuZGVyZXIs
IGxheWVyKQorICAgICAgICB8fCByZXF1aXJlc0NvbXBvc2l0aW5nRm9yT3ZlcmZsb3dTY3JvbGwo
cmVuZGVyZXIpCiAgICAgICAgIHx8IHJlbmRlcmVyLT5pc1RyYW5zcGFyZW50KCkKICAgICAgICAg
fHwgcmVuZGVyZXItPmhhc01hc2soKQogICAgICAgICB8fCByZW5kZXJlci0+aGFzUmVmbGVjdGlv
bigpCkBAIC0xODQwLDYgKzE4NTUsMTYgQEAgYm9vbCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnJl
cXVpcmVzQ29tcG9zaXRpbmdGb3JQb3NpdGlvbihSZW5kZXJPYmplY3QqIHJlbmRlcmUKICAgICBy
ZXR1cm4gdHJ1ZTsKIH0KIAorYm9vbCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnJlcXVpcmVzQ29t
cG9zaXRpbmdGb3JPdmVyZmxvd1Njcm9sbChSZW5kZXJPYmplY3QqIHJlbmRlcmVyKSBjb25zdAor
eworI2lmIEVOQUJMRShPVkVSRkxPV19TQ1JPTExJTkcpCisgICAgcmV0dXJuIHJlbmRlcmVyLT5o
YXNMYXllcigpICYmIHRvUmVuZGVyQm94TW9kZWxPYmplY3QocmVuZGVyZXIpLT5sYXllcigpLT5o
YXNBY2NlbGVyYXRlZFNjcm9sbGluZygpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0ocmVuZGVy
ZXIpOworICAgIHJldHVybiBmYWxzZTsKKyNlbmRpZgorfQorCiBib29sIFJlbmRlckxheWVyQ29t
cG9zaXRvcjo6aXNSdW5uaW5nQWNjZWxlcmF0ZWRUcmFuc2Zvcm1BbmltYXRpb24oUmVuZGVyT2Jq
ZWN0KiByZW5kZXJlcikgY29uc3QKIHsKICAgICBpZiAoIShtX2NvbXBvc2l0aW5nVHJpZ2dlcnMg
JiBDaHJvbWVDbGllbnQ6OkFuaW1hdGlvblRyaWdnZXIpKQpAQCAtMTg1Niw2ICsxODgxLDggQEAg
Ym9vbCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OmlzUnVubmluZ0FjY2VsZXJhdGVkVHJhbnNmb3Jt
QW5pbWF0aW9uKFJlbmRlck9iamVjdCoKIC8vIG9iamVjdC4KIGJvb2wgUmVuZGVyTGF5ZXJDb21w
b3NpdG9yOjpuZWVkc0NvbnRlbnRzQ29tcG9zaXRpbmdMYXllcihjb25zdCBSZW5kZXJMYXllciog
bGF5ZXIpIGNvbnN0CiB7CisgICAgaWYgKGxheWVyLT5oYXNBY2NlbGVyYXRlZFNjcm9sbGluZygp
KQorICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICByZXR1cm4gbGF5ZXItPmhhc05lZ2F0aXZlWk9y
ZGVyTGlzdCgpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXJDb21wb3NpdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5
ZXJDb21wb3NpdG9yLmgKaW5kZXggZmYyNGM5NjQ4YTEyZTkwNzg4ZmNmY2E0NTEwMmRmNDAyNjM0
OGFjNi4uODdhZGNlMTQzY2FhNjliNmVlNDQyZGQ0ODA5MWU2ZTdmNmNjMWI0OCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuaApAQCAtMTky
LDYgKzE5MiwxMCBAQCBwdWJsaWM6CiAgICAgdm9pZCBmcmFtZVZpZXdEaWRDaGFuZ2VTaXplKCk7
CiAgICAgdm9pZCBmcmFtZVZpZXdEaWRTY3JvbGwoKTsKIAorI2lmIEVOQUJMRShPVkVSRkxPV19T
Q1JPTExJTkcpCisgICAgdm9pZCBzY3JvbGxpbmdMYXllckRpZENoYW5nZShSZW5kZXJMYXllciop
OworI2VuZGlmCisKICAgICBTdHJpbmcgbGF5ZXJUcmVlQXNUZXh0KGJvb2wgc2hvd0RlYnVnSW5m
byA9IGZhbHNlKTsKIAogICAgIC8vIFRoZXNlIGFyZSBuYW1lZCB0byBhdm9pZCBjb25mbGljdHMg
d2l0aCB0aGUgZnVuY3Rpb25zIGluIEdyYXBoaWNzTGF5ZXJDbGllbnQKQEAgLTI5Miw2ICsyOTYs
NyBAQCBwcml2YXRlOgogICAgIGJvb2wgcmVxdWlyZXNDb21wb3NpdGluZ0ZvckZpbHRlcnMoUmVu
ZGVyT2JqZWN0KikgY29uc3Q7CiAgICAgYm9vbCByZXF1aXJlc0NvbXBvc2l0aW5nRm9yU2Nyb2xs
YWJsZUZyYW1lKCkgY29uc3Q7CiAgICAgYm9vbCByZXF1aXJlc0NvbXBvc2l0aW5nRm9yUG9zaXRp
b24oUmVuZGVyT2JqZWN0KiwgY29uc3QgUmVuZGVyTGF5ZXIqKSBjb25zdDsKKyAgICBib29sIHJl
cXVpcmVzQ29tcG9zaXRpbmdGb3JPdmVyZmxvd1Njcm9sbChSZW5kZXJPYmplY3QqKSBjb25zdDsK
ICAgICBib29sIHJlcXVpcmVzQ29tcG9zaXRpbmdGb3JJbmRpcmVjdFJlYXNvbihSZW5kZXJPYmpl
Y3QqLCBib29sIGhhc0NvbXBvc2l0ZWREZXNjZW5kYW50cywgYm9vbCBoYXMzRFRyYW5zZm9ybWVk
RGVzY2VuZGFudHMsIFJlbmRlckxheWVyOjpJbmRpcmVjdENvbXBvc2l0aW5nUmVhc29uJikgY29u
c3Q7CiAKICAgICBib29sIHJlcXVpcmVzU2Nyb2xsTGF5ZXIoUm9vdExheWVyQXR0YWNobWVudCkg
Y29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCmluZGV4IGRm
ZTU5MDIxYTk0MWNhNzlmOGMxMDg0MDBmNGFlNWM1OTk5MmI3ZDAuLmI1ZDk0YzJmNDI2ZGRiOWJh
MDRkZmQ5MDYyNTVkMzhhYzdlMTU1NjcgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJPYmplY3QuY3BwCkBAIC0xNDU0LDE2ICsxNDU0LDggQEAgdm9pZCBSZW5kZXJPYmplY3Q6OmNv
bXB1dGVSZWN0Rm9yUmVwYWludChSZW5kZXJCb3hNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5l
ciwKICAgICAgICAgfQogCiAgICAgICAgIGlmIChvLT5oYXNPdmVyZmxvd0NsaXAoKSkgewotICAg
ICAgICAgICAgLy8gby0+aGVpZ2h0KCkgaXMgaW5hY2N1cmF0ZSBpZiB3ZSdyZSBpbiB0aGUgbWlk
ZGxlIG9mIGEgbGF5b3V0IG9mIHxvfCwgc28gdXNlIHRoZQotICAgICAgICAgICAgLy8gbGF5ZXIn
cyBzaXplIGluc3RlYWQuICBFdmVuIGlmIHRoZSBsYXllcidzIHNpemUgaXMgd3JvbmcsIHRoZSBs
YXllciBpdHNlbGYgd2lsbCByZXBhaW50Ci0gICAgICAgICAgICAvLyBhbnl3YXkgaWYgaXRzIHNp
emUgZG9lcyBjaGFuZ2UuCiAgICAgICAgICAgICBSZW5kZXJCb3gqIGJveFBhcmVudCA9IHRvUmVu
ZGVyQm94KG8pOwotCi0gICAgICAgICAgICBMYXlvdXRSZWN0IHJlcGFpbnRSZWN0KHJlY3QpOwot
ICAgICAgICAgICAgcmVwYWludFJlY3QubW92ZSgtYm94UGFyZW50LT5zY3JvbGxlZENvbnRlbnRP
ZmZzZXQoKSk7IC8vIEZvciBvdmVyZmxvdzphdXRvL3Njcm9sbC9oaWRkZW4uCi0KLSAgICAgICAg
ICAgIExheW91dFJlY3QgYm94UmVjdChMYXlvdXRQb2ludCgpLCBib3hQYXJlbnQtPmNhY2hlZFNp
emVGb3JPdmVyZmxvd0NsaXAoKSk7Ci0gICAgICAgICAgICByZWN0ID0gaW50ZXJzZWN0aW9uKHJl
cGFpbnRSZWN0LCBib3hSZWN0KTsKKyAgICAgICAgICAgIGJveFBhcmVudC0+YXBwbHlDYWNoZWRD
bGlwQW5kU2Nyb2xsT2Zmc2V0Rm9yUmVwYWludChyZWN0KTsKICAgICAgICAgICAgIGlmIChyZWN0
LmlzRW1wdHkoKSkKICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDM1NDQ3MjJi
NzBhZmY1MTdmZTU3ZDhmZDYzMmM4NmI2OTY1Y2IzNDAuLjdiMzgxYzkyMGM0Mzc4YmQxZjJiZTk5
YTFkZjNkNjQ4NjEwYWU1NTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9t
aXVtL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
VGVzdEV4cGVjdGF0aW9ucwpAQCAtMzQ5Nyw2ICszNDk3LDkgQEAgQlVHV0s4NDg0NyBXSU4gOiBp
bnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtc3RhcnQtdGltZS5odG1sID0gVEVYVCBQQVNTCiBC
VUdXSzg1MDAzIFdJTiA6IG1lZGlhL3ZpZGVvLWN1cnJlbnRUaW1lLXNldC5odG1sID0gUEFTUyBU
RVhUCiAKIEJVR1dLNzg2NjQgOiBwbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9vdmVyZmxv
dy9vdmVyZmxvdy1zY3JvbGxpbmctdG91Y2gtc3RhY2tpbmctY29udGV4dC5odG1sID0gSU1BR0Ur
VEVYVAorQlVHV0s3ODY2NCA6IHBsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL292ZXJmbG93
L292ZXJmbG93LXNjcm9sbGluZy10b3VjaC1oaWRkZW4tb3ZlcmZsb3cuaHRtbCA9IElNQUdFK1RF
WFQKK0JVR1dLNzg2NjQgOiBwbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9vdmVyZmxvdy9v
dmVyZmxvdy1zY3JvbGxpbmctdG91Y2gtbGF5ZXJzLmh0bWwgPSBURVhUCitCVUdXSzc4NjY0IDog
cGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcvb3ZlcmZsb3cvb3ZlcmZsb3ctc2Nyb2xsaW5n
LXRvdWNoLXNjcm9sbC1sYXllcnMuaHRtbCA9IFRFWFQKIAogQlVHV0s4NTAzOCA6IGh0dHAvdGVz
dHMvaW5zcGVjdG9yL25ldHdvcmsvbmV0d29yay1pbml0aWF0b3IuaHRtbCA9IFRFWFQgVElNRU9V
VAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGlu
Zy9vdmVyZmxvdy9vdmVyZmxvdy1zY3JvbGxpbmctdG91Y2gtYm9yZGVycy1leHBlY3RlZC5wbmcg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9vdmVyZmxvdy9vdmVy
Zmxvdy1zY3JvbGxpbmctdG91Y2gtYm9yZGVycy1leHBlY3RlZC5wbmcKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGFh
ZTY3Mjk2MzI3MGYxYjUzYzc0MDVmNzk1YWQ0N2ZiOTY2MTVkZApHSVQgYmluYXJ5IHBhdGNoCmxp
dGVyYWwgOTY3Nwp6Y21lSE5YSU45JikoJFg9ZzkydDBRNHJ6fjJVSlFGcSkzWn07Iz50KDFjSX4o
RGhQeSMpQzM2M0ZpSTI8OD19OykKekFrdT9DczNFOFVMYHB5KXAjfSs2TFhpQEJsSjZ2cElOVylA
QTlMXmhJc0QxUEs2fiVBUzl7bUhfQnByQ240NX09CnokJXVoS0FufjcxOGwzfXlNRH5DeyFpWWA2
ej0rZyNESjlAJXpwcFhFKlR3QyFpLShVTjNVbytFYC0rektrJUt4fgp6TT1vayN4cCtrOXUqPDxp
aHAheWJJQ3hsSHtvKzlsQyE1YHBBa1pHciZxbH0yMlBUZzlwclkmdHtZMWF5QmNvakUKeilWQG5Z
OV44NnotYDM7TihhfmF1M297a1A4YDctSlVMMSY0Rmd9fSNeTCtSKTxHOHpBZGQ3d1E9UHFuTipa
Q3FmCnp7ZWFzb2dfR0x9S202JFlAd2ZYKzs/dXxSaFlxMD97WTdALXFmc21Cb1ArNlE/MT9ka1Vl
RS1JVEY9RiRKWXM5aQp6OCleJl9tUSVfQ3NPR2ErNV54Z2dSUj1UKGd6Vm1nMEQpQDFRdnJvdDY1
YXRpc3hHdHt3QzczSzJHSEhwbUJPSHQKemlieF5RLWZhWEI9PkdTQWNiYlJAamU/eC00ZG81U0lX
ZE9SPlU/S01uaUozIW44b1NBeDtQbEdpX0djYkR3U2NxCnotSUl6d24+Qko0IXRXZCRBMEVENThi
RCQ+dns0T2YtWmZWOEVJfT87cDN6eG1KanJkX0xnIXBWe3AoYlZSUDJrZAp6SVhlVFJhITBOWVA8
Ym08LWNsfWFYPVIyUStJS15HcXJvKzlAISVzbnVreHZDQ3IrREZQcj1tfCl1UWcjOWBxYzEKekB1
eSFtPnRYPFReS1VvOWcxTCpzMzAodS1QUU0rfnYoSXlgVnZ2Rj83SzR7TzQ5OUl7K0kpPmNaWEsw
aj84Ym5LCnpuWjV7IUJoa349WGphNzlzQztRT1E9MVhrUGVnVT9QYHotTnE4PExBV3x5UzJRfTkl
ZExzX0Z2ZV5oT1h7YEc8UAp6Kkk8cGkralArXzM1bTs3cUgtNUlzY0c8fUpfKCg7eHJxIUUkbjlo
KmBnPT5WJnozM0RmR0IrN2piODYhcWNpeWkKejsxangyWGhgay1wVn1iVG1wLVJLO0pEej9WY0NY
ejhle28xT3A3Kz1MLWkxRDwoVFE/eHRZJXZYJWotajQySHx4CnpvQ3E+bW1hOTFMUTBESXQoQm9K
NE5PaWU7KnBTWXY/fFQ7a1UrSSZDSWhGXnVXbXM3bEUpTUt4IU4yPz5YKyMxMwp6JShRITIkI0pa
MERHTDxmKm91bVpKNSYkXi1fSVhtIUZgKVU3YX5JMmQxPno9QnV5I088Yl42SldvczN1aWpfJG8K
emNRVlpqKzQ5b04jdH0ydiVqeE0mM1lzV2soWHZeZygrP3dOVzhrYjMhe3JYRG5xJkZHYXxtWXk1
Sz5eX0tXWXhfCnpaSnd5cDQxZTNvbU5ifWN2YSlnVG85bDI1OW53ZzchcXkzeVg5UHt3Iyl5KDA9
VEc9XyZOU01gSiN7TG1IR1M7dwp6VnlTb09yVlZubT0wVDRTKXFwU1hXOWxqMWNyTz4jc2J0dmcx
MFFUbXlHbTdPWntrITNqaSNzTmtoeDJqPm1LI3MKem1kNmpKbFhgakZjPy1qX1RpY1lwRGkoK0c4
K0FSWlpjRmpMTmI7SV4xOGAwWSt5VlBKKWl1JChgYWBUVHhAPz95CnpqSmhjZE92Xi0kelF6fWBY
P0Y5SXoydkpjRkp+SXthKFQ1RCFPVSQ9M3ZaPCpBY255XyZPQ1haRz9+PD1MeHVCSgp6WmM4Yzhq
ZCMmYClFTyRBOTltYkdZIUs4NDQ5N1gpTzZhVlJWWkMwPWR8NUF0ODQxSTJTV2RoZlA3NjJDIVRx
dm4KenlUP2AwbXtVZjxpKi0oaGklK2dYJkpFZkY5X3UwbiVeUz5qWW05R0pjVCk7P0I7a3R6QHNq
ZlQjWGlIMHRYd2o7CnptJmZVSylvSEFRa3lsSlpYSDhSPFRHSiRVPndNd1BsWC1rby0tRFdOQnQ2
IWNebDhHUjhNTXx5d3tWYEJZNUJSZAp6X2BmZTA/Z1h+M0hSWCgkIXNDTn48QkNlXmYycXZuYm1u
cHZZVHlpVkN7R0UjU1glPDBlXyktM0lLO0FqRGdUdUIKeiRfYENwcl5ZIyFQRjVeR2Y7cihuKypF
P2ghTUlFcWNOKWY8WmhDcW1weGU5VnIjU25NeWE4aXJodUx9IT5UVXo8CnpZKG5xSyhFWG9JblBZ
VDdGMzUkakhyfVc5SmVSYTJ7fG1oU1NZP34hZFFfd3xFT303fXZpUlBWSXxicTgoT0lhRAp6Kk8j
NTBuUjh2fU5qOD9SNXFIM1hgLTEkYlN7Ql8rM0pUISQ+ckU2dD1ncXtgRT1pd040ODc4SDspKCUx
NzZecHAKekBnaiU7KjAoYmFLMD9zPUY2I2s9X2F5PnVwTVJ3eGkjanFOJUExRCtGfnxzPlh7ZD5U
T29tP1JsPWN9NGs8Z3RpCnpofG56dzlGYSE3UE0xdn1wMiNTX1p6KTJIKUBDZUZ3cHEtPWFmN2lv
OCNpUSlRYUxZOUxgWERYQUVsYzw/aGRURQp6QmJRTHhSfnRjRVVgN0gjMHJ2d0UwPlRBeXN8ZD47
T192bCFabUhLcW5zRkJaM3VOSUViQXR6IUN4ZCNJdV9PalIKej9QNWE0VHFaSHBBbUhDTjh6O159
ZjZUbHowOXMhQHkkUj5VTmJjNC1JUjNfPnF5NmBZZFRmcXNHRz1IVkgjeDZICnpuKkUzbFVHQjFe
cyplej9nbFYkcUBANnN5R3Z3KyEteEMwSENAbHokZVREOEUpfClYRE8kciFfXjgmT1BpWjwpfAp6
KGFOemx7Zy18LUdgMG07YWNJMHtfZTY9c2FeKjRDQ3h1ZmwlfXklODRMUCRkWEA8ZWViS15qK0Up
TWA2MmIyWj8Kei0ofGxCR1RWYH5HQCEmfEpNc0w2YGdpTzRqd0pkdFZ5MGBBTE87amhLRUo7UVJr
cUZ3e1BjP2BFISFeT2BrVD9WCnpPITkwaGoxNlpMcD9kK2kmODMjKzlnfT4qd2h4Z3NUPS1OYT9X
RTZFMzc0P0Aye3toPGUhUjBWLXwpSDlWeXgzKgp6MChtaV5jUUw4PU4kfCU5a2QkZD5pTyU2SSEl
NWd6d04/cHJreT5zcDtrdVdhbHJjPW90cHx8IygzOUJkdnlpMngKejI8e0E9bShRRVolJm92KWY3
MyhfPUBnYUZ0KmcmPEw9KGRiZ0JQYj1ZVklVbXw5QT5VRGhNcWMxRVRjQDA7dXw8CnppY15iNHFF
NFA0aS12RTFlWXZoUyNuRTc8VUlVIXhOPTxnbUVlZT1xLX4lVTBoNT90UGE2aE47MTxkPitCMDVw
Wgp6JUhkWVVTT1dPPmk2Nnpha1Mhc2ZMPzgkZm1kITY3WSVEMXpjbU9LeDtNPEhVPmhacm1SWWN+
RHBIZUZzeE13UWcKejBvWntMLT41RVAoKUVKajxSQ1EjMDRWR1NmN0QxKFIreSsqbz1ET1FOY0wk
d1ZwKEpgZXNTNWdIX3hTfW0zYGB3CnpOPWc0NkpzXkp4e09yeXRvOFRAX3J1NkJRMXgjeyMwOH1s
VEQ5eG1eZGk+fVBwPGhIcHpXQGojZmojOFA4Mil8Ngp6K0BManxZQTZmbHlnN0EoP0RpbihiPjE7
S14kfmtDWllEdCspbWFlQTw4c1NzbzdJWXUoLVFMJko8QjtqNWR7akQKejtrOGVkSEVgfH05c3lL
MXo+dSVHdyNneEw5bElMJj0kVE54TTRoLUg/V25Valc9QDxSYyEmRUU0aGFTdmVnXntRCnoweD9T
LU4xPDZNXkk3P2dyR1IjR1Y7dy08MzAqMl5GJVJPZj19S0BYUDw1cT5rVFJFU1heOG55bFNgV0dN
RHltKgp6RnJZUiEjQjFzV09lQTZwQnR1M3t4VGJ7NmctYVQ/XlFkfjA8dnp7Tmo1KyQ9bGNhZXlB
UlBlRCNnfXU1VTB5OFMKelFkPl96dVluc3srQTs4QVkoI3g8NHRgLX03KjYpPWN6c09CZEd1bWhn
XkNpWXd9TncxKShjVTV0dU1uV3Z0cD8mCnoqSU01Xl9LeXMySigyVyFycThqVSkqUSR5Q0N3NTA2
eiooVm9RbSFCQGswNj4+QGwhO05TZ2pBZlhOZT07fmYwbwp6WT4qQmZfaXplWT8mYCZUJGheUVJO
cUllUE9JNHJBKUwhZz1GbUFCOzA3I2MwWTdpc2V0QClYejJXX1F9eW1FP1gKelJLJm90bXtwT3Zm
UkZla05wM1EqMkV2PHlTbTU0XllqKzxVa0s5dFo9QDM+Rjs3OyhsRSZufXZgcmxIcSV7UFBFCnpE
SElpKztxczRLTXhIdy0yOW1JYiUkYTxaaiZoNi15RmM1QmoyamA8VFd7YzY8Wjc/REN9b3M0JDxG
IzFRRXJOQgp6dT01WGAmVjctNDtPTGA/OTMoMTZyQDVteHFOdGM5ZW55ZEZGS2grNi1Sd3xfUmRz
ZkNSZX5feT00YzslR1ZBbUcKemQ3KnRLWTRiP2JgMUhWdT5EMFQmUik8Y2MzOS1gZzlFYXI0b29O
OWlxMSZrYHIreWJaeD1VOWFMQmdaPnFxeTw9CnpVI0hTfXU5SjhqIz8rM3tzbVAlRXF3dSgrUWVu
Y3JhcyZ3emVQRDE7RyowYzgxRTM5VmlwVnpYMzlafU9zcGAyUwp6ISN9KGRLNm96dmRqIzNtYnhI
I2FNX3JQPmRxU31BcDhDTXZkMFR0UGxwQ2V1MUZPaG4jVHFLUkU4dlFxamRueF8KelpLPnFEM3tj
ZD0+V01jTz58Q2NAekBgYkU/fUpeNWVxc1hjT2lXI2JKZ2d7QlZ4PUs+N0kyb2JQYlRZJD0xPSh0
Cnp1Ti1reEw4P1h9dFh4UzY9TXBxLT1jMjkob2YzI15aWFM0aSk2WnxtPGdKQ0QqUjg8MnNVdH4w
RnwrKz49Jk5wIQp6bmRBPUlldH42bmcyaDgyblFaQD1XdzJAZElfYnlXMzkpWURRKTh2YzszLTZT
Jj1kTmFebkdxUiRSem9ebXlLQk0KelJHS3I8dVdvZ3g0R3ExYypISzlpUnN0eWI7dUR2PEFFU0I8
U0tVTXB1RHIwcjg8V0lsY3YlTzhQKWh1MEw4eEpLCnohR1cyWUdpbGUmXlZGQ1R2Qz9wUFolYSZn
SXFNWiQkKTEqKkAtRjR0RXFveigtcFgrV0tgRGJhSzVxSEduV188UQp6MmUoTlIzdlhhJmlyc3gw
K2syQ3xtem5xPkdSQW4hP0hhN1YrTEpaK25lVTc8TH5DSzFRQTJNUVZAST14YD8/M2oKenAoQm8j
ISVDSmcpME5ea3EkdF9ePzU7RkhHYCM1KUxxc2ElPG01QU1KUX1TaGRabnk3K0c3Zkt6cVBiIWBa
KyNECnp2KyYtYk9HTGxyKXRJdTE2IUl7cGVFMU0pVmRSTmtDcF5RU190R283RDRgMiNlekA/U3cr
cW92WD80bERHOWd4bQp6P3NHVEM9KWwrT1daJngpTXtIS0dyclM+WGtBMEpFPzApKEZAK0ErYmUy
KUl6QXN+Rmd1RyhlS3IhRXJOTlY1aGEKempyIUE+NFpySjtKSEVNJSZ4Yk1gRzJTcHx5WVFmMCtF
P3N+RUNqWmxFfDRjWTghfTdSUUBFcU8/aWk8fmc7PWxnCnpgM0dRemh+WE4/SDl2ezk3KzEjUTVx
N1NtdURuYyp1Rj89ZWR+U2FrODcya0pXT1kwOGQ/fUYpc0xOdygzO3ktLQp6WX5fVT9ydGF2bk5J
aEFOWXFyMENONyVaeHlsTDh2KCk/ME97cE9rfXQ0N3EyNG0tVWEyZGc1VzZ9X0p2dERgJDsKejwx
R1I7Y0peJEBkYlF9XiFkP05pcFpIQitgTzcxUmtxJlpzdWNueT5WRTkkUXoqa1RkcXJvYXAyZCkw
eitKeDBDCnpDYHhGMUAtXkIlRytuS3s5WiNQak9NQWFha0I8NnImQSZwVzV7TnBlVDYrMEhHPTVV
NklGOWReS1V7Zn5Ffk1RMwp6dXliZEF3d0BydGo/JT84QSM5OVB2ZGFVVnt3PGhHdCZkamZzeG12
Kj4pY2MqRU5wRkxafDRlKUYpZTRUUV9acTEKekgwKnAkd2FKfCZwQmVART07RWlmbVFmRzVvLTko
XmooSngqeTM5RlVoXk9jRHI9XmwtKFByfVlRZW1FIz9jWmQwCnoqY3MpcjQ1R0didWsyWE9saz9B
YTVnYyF+X3BzJG5ARXg9cDA7fXo1Yks5Nzg/UDtuK2VzPGxrQ0phQyZqRU5Tfgp6MDZka1NHa0BA
U0p5OSlEVT96LU1TdUtad0hfZ259Mmo+fCRhfGxaRD0leEhAVyR0JGA7OWFIR2luM19naD4raUwK
ejxefHNFcThZK1hIe1J3VCt2ND5yZGQkLU9pcll4NUxFIXQ4NUxUJHBFZExQYzZ5NHNqUFFUMyFF
Qkk/X0c/VT1NCnpYPVhNIVBQO2crJiRGSElsJTt3KTRjPitJOEQhZiopIWU8YlhLbzQobGRVYF4x
e2d7JWsxKS0yME91YjV2bTR3VAp6RmdBcTdzRDs0fl5CfWVZKFJqcnFVKykwRFQyYSNMRDxvZDlW
TXR9WSFkUTtwIVN8Yj9FPiZvQj5Efn0qSkFPYk4Kem5JeFV9ZFlVTiR3ZzVLOEc8ZFNNMyZPVmBe
TD8wPFgwTW1tUmQ/eWZeZ21FfU4zMEFYPVhSandWM21id2QzKDNACnprYW04eXIyeGc3bz10bVFw
Vldnb1RUITV+YmFacmFga1YzWD8pP1BHIShGQTlTMnVqc3MqRV4wZ1hPTmBeLWxHIwp6aUJnZElE
WGRWUm5HTjllP1MqNExjRHdZfUdMaVVqM0hyOTg1TnUpTlNneSY4QTBuI3p1VnFFe3o2SEtUJkpN
cTkKejlmc21RdUN1TXdXem5uK1Y0RjdFLW5WRyRuMS1Ie0s9NGJrVUZ8ZVhTQzheKzRBM28/OFZY
fXh2eUAjZCooTUdsCnpvMj5+UWw3Yk1kTyVmZTJRX1Z4N0VfWWh1ajwyUHsleHlfUGd9RzZsYEAt
PSRTdV4/YWtoTjdlcW1OZ1hLNUp5cwp6NzM0a0twPHRLISlUWGJBLTkkTE0yX2JFcWMtRUN1Nmtr
NVQjayFiSTc9O3Ize0o0a3Z4Jl5RK24yfX58ZjV3JGwKejd0NTJWLXpzc35lO14wSTN3MSN1a2tK
d29RZytBZmtIUi1aNH45KzJpZUNQamZvPm8xLShfOWFxPzMwe0w4M2tQCno7eVVYdW1SWWVCOTtO
KXltP1V0cG5hc1ZnIWVaX1RkOVJeNStLbCtfZD5gUCVydikmbDc9NXgqN3MzMG5NcSMzcwp6SjIq
O0xtYGp4PlkrZCZsPjtCND13QUleYlJFcm9qc2ZgMmRASW5DajRAYGJVOGM2NFB3QVhtV3ZfRzhm
IUNGdz4Kej9XKT1UcG81bShFV285VVJpYXNPJjxkVFJmV1kyYyNWKEVIdzBzenwoVk9RSTRENyMz
NFRlLWx1cDs0ZHcqbjZ7CnotezdHPmhPSXV9bHZ+QSQlJHM7XmRocG1TeWVlMy1LNzclXyN6X0Fo
I3lnYkFqPDQzeiEyTUNLaVFCZ2t1OzImPAp6MzhRa0VKWil6U2llPFZ9JFFAKFA9eW4tekZHYG4h
VDlsNDVHZlJrVTVPQTFAcSp5QHhPQG09ZlM0YEpGVGZwcFcKemBpZFF4ZSVOMiF4N0YyLSNqa296
TmhaUnlBQEt4ZCloXyszOVl6ITt6NndtPD4xYFlCZzkwK0xrPTlBVGFoN3Q1Cno0bjczbkNydnFi
bDFsVSVRTHozd0tiITRDeDVKO2dwYEhPY1o/al42RDUmLUgwS01PWEphbnNyMkQqRSEoKW93ewp6
WUB0MmpWTzR2dCpvaHE3Qz1+Zn5KI2t+JDdVM1BkSSQre1MxdGJ7RWZBRz9JV0FzTlV7P3ZwcFAz
bUttSUgrTTgKeiFRXm9WJT5nWTBkTzBscipFPkdYWExKcFhwITJ9cCVuN1NVOUNBVzsjR3FuOHNw
Zz8od3VESXBaMWp3PCZFTDVDCnpkb215YXg/Mzt4UzFKR1BQMnc2RT8pYkcmVWhCfUlJeC1jOTdZ
RURVKVdmN0QkMUpSPG9ZRiF3Pl5YcmZkTSpTRAp6JWVWVDQqVE5GI3djazFibzg4RlM0YkhweD9s
ZFAkdFZRYFZLdmAxRGxvMD9lQGIjYldRPVB6eUpwNVNAIXBeP1oKejFqb3FzNG5EbWx7RTZPdkhi
Ql53PWBZPzUtaFhNVUFjT2VENFNUPmpHO1NERHtuLUg+PURmO3daa21mJjFKeGZHCnp6M0VpOEhr
SGxtMDdgI0FgMz52fVEobUo8NVlRazgoWDRRQU9oRWFEbGd8WXlBT3hgMUxkTS1fcmRmS3V2SChA
MAp6OSRwY3FwPXFgJnJ6c1kpOVVCRyYzejA5ajlIfFoyS3t3VHgkOytLeSRfQTYkLWtWZT5iPG8t
eEUpb2pgREdFKV4KejNuSXtmYnFHUC0/fHAod0l4Zih6eGZ4TTtMQ1g4ZVlUYSkmOFBmWlR3Zytg
KEhYfUFldD1udVRVJHpjS0YrSj1xCnpSRFJeMjZYfD5TJGpnZmtObVc0I3hSMntyRDh6MztwbD0w
d0IoZCNlSSV+P212MU94b3kqMktubylzTUI5PjYtagp6Tms3fGt0K0dfWGBSWlU1K0RNPUYkI0Y8
P099ZHpqMVJ+OGVEP09pS21SYDdxUVlPYntpYzBQNmhXR08xcmFhZFgKekR5QWxjQFd8TlMoVWst
YzRoTSswUn0kTj90N01oSTFVOVVzQ3Q3QWpFP2dYfWlaU2d6Jik3NG0+KDJRO2o/RWhXCnpxR1ll
JmpHfX05NDBwJVcxWVRwdl94UzhnKURWckBtaWB2JCFec2Y3PFRoQjsyZkwre0hxQ1NhPiZiTjI2
KDlPcQp6UjMydT5oSDBMaShhdE9+b3tqSFpfYUdae2h1KnFhK2diO1BkIyQ2TjFmbnFRODl0TWg3
NFM0d2NNYkYzVHYmPFIKelRjfXBCdlhBS3MpWHB0eWd5fjt4JlhwSXl7TXh3PCskRm5DY3QjSTct
SHRVckc+Nns/RWE1Wnk/XmhYcHQ1Oz1kCnpNJnJKQzgpJmxVSUB2RyRNUUZkYCt4JSF7YSVKQ1Mt
QEVXK3pfNm5lQUU3TXkwdDE5RXJLNGZPRSUtNlkwQWF9bwp6QUFad2pRRCNGPlYyPEk3WSNoNUkr
V3xsUWk1PT1eaX5nelZlPig9QnUkSFBZdnB6JmgoaVpjaSpKe3tYVW9iJlkKejBTTHUpWjJIRCQx
Kjk9JFJKVnVAbXojMjRTRCl8dVpZTWw0RHUzUkhNUWVYIXo3Sm5LMmcpbX5Ld3JrWVU+JWJACnpS
SnNgPFpJV24lbmQtdyYwKSojSk93dUYoc0JqZk16Nk5BS2AjO0RlenM8QlVSbW10MXc0aGs8eT15
Q2I9cSRlJAp6WCFAKntBXndFYkVFdkR5eDJBPTx1TTl4biooO09BeVJXKUtVRVk1ISEpTDtCTH09
NmFRd0x4O0Q2PyFgcnpPX3AKelMxRzJRc3M7Mng9QnNvRDtINU12QEZgXiZMO0J4PklZKCtNITky
Mjx4TCMtOT5AYX1zKGBnOz1gQHk7RVIydzxaCnpoVXtzfSVlKGlTK250OXVnP2hQN1p8P15mQm88
eEI9ajRTcUEyeTIwQ2c+T0FhQDxAVmh9dnd9VzRGdE9GeHQ3Sgp6blQzXnZRcEN4Qjs7ZUJCe3NF
KjJGd2k+bzNIcVh3big7ISlfSE9DI0pYekQyMjdZSXJkYH0hPFZZSElQPWZMXmQKem5eem1PPGhO
ZWUkPWJ8amNWKGRDaWIyNH5aVmU+Pm1GelpMPXJmZz02SSl4fFJlY2ZpRHJGbUxfdU1aVEFiXyRl
CnpCTUtFYCY7Z2UyYSRiSnUpcHBLZHA5KFROTispLWtYI0AzTio5NDNsKk1LVnxNaXpwZDBNX3E4
ODNZV2dCZGdeKAp6ZzVCSCNZfHBVQWFBXjMqX155V1gpZWVDclJgI25ENzt0TT1kN3VxTmQ3VD5z
Ryp0dE5FMTVQcDNmd1AlJDwxU1QKekp7MEVGaDlgVzVMfFNhWDI0IzF+ISVgP1NAWHZrdihYIWlI
NVd+aDxTPisyeURjZ1dlOW9KREA8QSRPSHlaRnV4CnpMej02b3tKVX1MIztpO1EjKEIoQzNtQiRW
NnViRDFfcjVBbT13NUViQmMhSElAO1NKZGAhJjVBb2pQTTg0TWVYZQp6MD0hbHx6IW40Z3Z9RTJZ
VVZyUDtRMlRYfHN4ZzVjMEE0SExuITJzNEAydkd7cztPSyYwZ2EteCM3WUMpXys/M1UKemwtd0c/
RDJyOV9FeigtRHBTXzRyUzxtY15KQV4hclFMT3hFTVBDeHlUenNfODBzT2BJVFBLJmpQWS1GX3o/
JGllCnopYWg8RCFBJSZ3dDNkLUs/MnFPVTFDWCMtdSZhJEBhS1lsNiROalReVng7OXY1a0xqZjU/
UTlBWTEtdDBDXn1fcgp6KXkzeXEyfDJJdzdZZ3c7QHRyM3I/SUhVQzNjdVJUOVFORVVPZnY/JXcl
WVF0Nj01WjBNKkJVejxgazRlNjVMRUQKekt1YGsoR3A+VEFmZj81YSRzIXVSaUEya2xENmVyIUsx
c2VFPzw1OXdfSGo5YVQmWF5gMkJ6X2M2QCl4JjhgIXpWCnpFMmREe1RQYSNUP090dUFfYCRUX2R7
JT9fZnlyS15ZN1h5aU04ZXswY0NianpTWWlpRmIrdl4yNEU9IzFLP3tBSwp6aFl4eGtUQyFBIzRA
bm5RYEVBfGZXU1A7a0ZyKTZjKHJESEc8PisyZG1ld2xvZWdRQ1pzX35mMlR3V0pjPiEqKysKeiM8
cjx6KSFyWH4lTCklY2hQZmY4Z2pqPWtTbVVASEJTMnh8QHl6N3N2QitZZFpyKUQ3VjUrT3MwSkZL
MlFIZUFLCnpkZXAjISU9ZHxzWTxyNVVMZTh6P0FESW9Ca1JTITtReHVVSUIpM0hoOUNPfldJfFc2
MG5iIzJJdnw2cnpTRlFSawp6JWFRVUZGOU9hcjhIO1k7SGckZn5DZENEODJQSyokJTEjbVNvMXUt
amJ2IUUzUkpteEtvbGBDTjkmbTV1Zi1PVnEKelVvXm4lOThJMXpNS2p0I00yYEsob3RTU0whMWdp
a2hXPUhqV3BQMFpvVHVhTE9AVyElVGxkPW84VGwlfFAlRiFjCnpUKXxTXmtfenV5YHV1XmxvUyFY
UWluc2RjPkF+cXs/QCYxWkgwbDdUTyk2QSEyVEh3NTJCZnxUYW9VLXYzQShoRQp6QFI7KWQ1TCtJ
OTt7OG5zQmYjOUN5WGxYUUpAPjhSUGdPKVZYejsxKyV5KEpmRD9+cks5VnFOYGlSZlFuUTc0U0IK
ej4rOXZNZlZZZmlWbFZTMTczVkxPKUZ5ZUVvJVNWI0h9XiZBS0NKdlp2e2JQfjFobSZAIShYTlJY
RGBDbj08Q3tSCnpfMkc7PGFTJipPQ0k0SDF8Sz02QFV3OGd6eEJ1WjY0Rjh6LWUtLWZtZ3lsYkJg
NSR+al5taH1tZzlvfjJuSjlFagpVYHYpclVlSFEzdlZ7QGFOPEglcUM0QFk4aClCcGVnCgpsaXRl
cmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9jb21wb3NpdGluZy9vdmVyZmxvdy9vdmVyZmxvdy1zY3JvbGxpbmctdG91Y2gtYm9yZGVy
cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGlu
Zy9vdmVyZmxvdy9vdmVyZmxvdy1zY3JvbGxpbmctdG91Y2gtYm9yZGVycy1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMDE0MTgwY2Q1MTI2YmI0MDIyZTc0OTAwNmVlMzExZmIyZTUwMTk2YgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5n
L292ZXJmbG93L292ZXJmbG93LXNjcm9sbGluZy10b3VjaC1ib3JkZXJzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDMgQEAKK1RoZSB0d28gcm93cyBvZiBib3hlcyBiZWxvdyBzaG91bGQgYmUgaWRl
bnRpY2FsLgorCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Nv
bXBvc2l0aW5nL292ZXJmbG93L292ZXJmbG93LXNjcm9sbGluZy10b3VjaC1ib3JkZXJzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9vdmVyZmxvdy9vdmVy
Zmxvdy1zY3JvbGxpbmctdG91Y2gtYm9yZGVycy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEyZjhhNjQ2NGUx
MzQ2YWQ1YjUzYTgwZmNhZDQ4NmJmOWFkNjFkYWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9vdmVyZmxvdy9vdmVyZmxvdy1zY3Jv
bGxpbmctdG91Y2gtYm9yZGVycy5odG1sCkBAIC0wLDAgKzEsODYgQEAKKzwhRE9DVFlQRSBodG1s
PgorCis8IS0tCitDaGVjayB0aGF0IHRoZSBjb250ZW50IGFyZWEgb2YgYW4gb3ZlcmZsb3ctc2Ny
b2xsaW5nOnRvdWNoIGlzIHBvc2l0aW9uZWQgYW5kIGNsaXBwZWQgY29ycmVjdGx5CityZWxhdGl2
ZSB0byBib3JkZXJzLgorCitodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
Nzg4NjQKKy0tPgorCis8aHRtbD4KKzxoZWFkPgorICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgor
ICAgIC5ib3ggeworICAgICAgZmxvYXQ6IGxlZnQ7CisgICAgICB3aWR0aDogMTAwcHg7CisgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgbWFyZ2luOiAxMHB4OworICAgIH0KKworICAgIC5jb250
ZW50LWJveCB7CisgICAgICB3aWR0aDogMjAwcHg7CisgICAgICBoZWlnaHQ6IDIwMHB4OworICAg
ICAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47CisgICAgICBmb250LXNpemU6IDE1MHB4OworICAg
IH0KKworICAgIC5jb250ZW50LWJveDphZnRlciB7CisgICAgICBjb250ZW50OiAiQUJDIjsKKyAg
ICB9CisKKyAgICAuc2Nyb2xsYWJsZSB7CisgICAgICBvdmVyZmxvdzogc2Nyb2xsOworICAgIH0K
KworICAgIC50b3VjaCB7CisgICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7
CisgICAgfQorCisgICAgLmxlZnQgeworICAgICAgYm9yZGVyLWxlZnQ6IHNvbGlkIDEwcHggYmx1
ZTsKKyAgICB9CisKKyAgICAucmlnaHQgeworICAgICAgYm9yZGVyLXJpZ2h0OiBzb2xpZCAxMHB4
IGJsdWU7CisgICAgfQorCisgICAgLnRvcCB7CisgICAgICBib3JkZXItdG9wOiBzb2xpZCAxMHB4
IGJsdWU7CisgICAgfQorCisgICAgLmJvdHRvbSB7CisgICAgICBib3JkZXItYm90dG9tOiBzb2xp
ZCAxMHB4IGJsdWU7CisgICAgfQorCisgICAgLmRpdmlkZXIgeworICAgICAgY2xlYXI6IGxlZnQ7
CisgICAgfQorICA8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+CisgIDxwPlRoZSB0d28gcm93cyBv
ZiBib3hlcyBiZWxvdyBzaG91bGQgYmUgaWRlbnRpY2FsLjwvcD4KKworICA8ZGl2IGNsYXNzPSJ0
b3VjaCBzY3JvbGxhYmxlIGJveCBsZWZ0Ij48ZGl2IGNsYXNzPSJjb250ZW50LWJveCI+PC9kaXY+
PC9kaXY+CisgIDxkaXYgY2xhc3M9InRvdWNoIHNjcm9sbGFibGUgYm94IHRvcCI+PGRpdiBjbGFz
cz0iY29udGVudC1ib3giPjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJ0b3VjaCBzY3JvbGxh
YmxlIGJveCByaWdodCI+PGRpdiBjbGFzcz0iY29udGVudC1ib3giPjwvZGl2PjwvZGl2PgorICA8
ZGl2IGNsYXNzPSJ0b3VjaCBzY3JvbGxhYmxlIGJveCBib3R0b20iPjxkaXYgY2xhc3M9ImNvbnRl
bnQtYm94Ij48L2Rpdj48L2Rpdj4KKworICA8ZGl2IGNsYXNzPSJkaXZpZGVyIj48L2Rpdj4KKwor
ICA8ZGl2IGNsYXNzPSJzY3JvbGxhYmxlIGJveCBsZWZ0Ij48ZGl2IGNsYXNzPSJjb250ZW50LWJv
eCI+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9InNjcm9sbGFibGUgYm94IHRvcCI+PGRpdiBj
bGFzcz0iY29udGVudC1ib3giPjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJzY3JvbGxhYmxl
IGJveCByaWdodCI+PGRpdiBjbGFzcz0iY29udGVudC1ib3giPjwvZGl2PjwvZGl2PgorICA8ZGl2
IGNsYXNzPSJzY3JvbGxhYmxlIGJveCBib3R0b20iPjxkaXYgY2xhc3M9ImNvbnRlbnQtYm94Ij48
L2Rpdj48L2Rpdj4KKworICA8c2NyaXB0PgorICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCh0cnVlKTsKKyAgICB2YXIgZWxlbWVudHMgPSBkb2N1
bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdzY3JvbGxhYmxlJyk7CisgICAgZm9yICh2YXIg
aSA9IDA7IGkgPCBlbGVtZW50cy5sZW5ndGg7IGkrKykgeworICAgICAgZWxlbWVudHNbaV0uc2Ny
b2xsTGVmdCA9IDUwOworICAgICAgZWxlbWVudHNbaV0uc2Nyb2xsVG9wID0gNTA7CisgICAgfQor
ICA8L3NjcmlwdD4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcvb3ZlcmZsb3cvb3ZlcmZsb3ctc2Nyb2xsaW5n
LXRvdWNoLWhpZGRlbi1vdmVyZmxvdy1leHBlY3RlZC5wbmcgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS9jb21wb3NpdGluZy9vdmVyZmxvdy9vdmVyZmxvdy1zY3JvbGxpbmctdG91Y2gt
aGlkZGVuLW92ZXJmbG93LWV4cGVjdGVkLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40N2FlZDNjZjRjNDdlY2Uy
ZmJmN2FkMTExOTgzNTQ1ZWYxNzljMjdiCkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAyODY0Cnpj
bWVBU0BOPyhvbEh5YHVWQnEhaWEweX55VXsrdllWMmE+aTAqWik9aF5obEElQFdzJGxIYG9rPG19
P29UIXU3cgp6bFNGZktMc0pYJEc9cyFzM3NaQm02ciZWI1c4PF8kTG45TC0hPXlFOU9SWDZneERJ
KWBJRUdacmQzKG9AdEhuWFUKel8yQXNwX3F5fTsqZndyQj08S0BjbDRzcUk3WVd6UylHI28tc0No
NVAhMF5HMGlKTCh8WjM2PkM1Ky1CKz1KdWBZCnp3YWZveG4oWiVSV2JsOTkjTDZIYjlLcGF+KmZ7
KGMoWjxFISolJXRhM2xCMGViYTNpMEd8Vl9LJGB9b1YoVWRUbgpyM3IySW5YZjdEZDEqNXJPRyNB
aCg3c3hnV0BVREotQ09qVjQxWk1EYl4+YlAwbCtYa0tUX0dCfgoKbGl0ZXJhbCAwCkhjbVY/ZDAw
MDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRp
bmcvb3ZlcmZsb3cvb3ZlcmZsb3ctc2Nyb2xsaW5nLXRvdWNoLWhpZGRlbi1vdmVyZmxvdy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9vdmVy
Zmxvdy9vdmVyZmxvdy1zY3JvbGxpbmctdG91Y2gtaGlkZGVuLW92ZXJmbG93LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43OTdlMmM3ZDA5M2I3ZjMwY2M5ZDM4M2JhNzEzOWE0OTZmZGVkZDQ0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRp
bmcvb3ZlcmZsb3cvb3ZlcmZsb3ctc2Nyb2xsaW5nLXRvdWNoLWhpZGRlbi1vdmVyZmxvdy1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisg
IFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgw
MHg4CisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg4CisgICAgUmVuZGVy
Qm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4MAorbGF5ZXIgYXQgKDgsOCkgc2l6ZSA1MHg1
MAorICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkge0RJVn0gYXQgKDgsOCkgc2l6ZSA1MHg1MAor
bGF5ZXIgYXQgKDgsOCkgc2l6ZSA1MHg1MAorICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkgekk6
IDEge0RJVn0gYXQgKDAsMCkgc2l6ZSA1MHg1MCBbYmdjb2xvcj0jRkYwMDAwXQorbGF5ZXIgYXQg
KDgsOCkgc2l6ZSA1MHg1MAorICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkgekk6IDIge0RJVn0g
YXQgKDgsOCkgc2l6ZSA1MHg1MCBbYmdjb2xvcj0jMDA4MDAwXQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcvb3ZlcmZsb3cvb3ZlcmZsb3ctc2Ny
b2xsaW5nLXRvdWNoLWhpZGRlbi1vdmVyZmxvdy5odG1sIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vY29tcG9zaXRpbmcvb3ZlcmZsb3cvb3ZlcmZsb3ctc2Nyb2xsaW5nLXRvdWNoLWhp
ZGRlbi1vdmVyZmxvdy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJhMWJiNDYzOWVmMTc1MzJmNjQ1ZTQzZGRh
NGZjNTkzNDRlYjAxMTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS9jb21wb3NpdGluZy9vdmVyZmxvdy9vdmVyZmxvdy1zY3JvbGxpbmctdG91Y2gtaGlk
ZGVuLW92ZXJmbG93Lmh0bWwKQEAgLTAsMCArMSwzOCBAQAorPCFET0NUWVBFIGh0bWw+CisKKzxo
dG1sPgorPGhlYWQ+CisgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgICAgLmJveCB7CisgICAg
ICBwb3NpdGlvbjogYWJzb2x1dGU7CisgICAgICB3aWR0aDogNTBweDsKKyAgICAgIGhlaWdodDog
NTBweDsKKyAgICB9CisKKyAgICAuc2Nyb2xsYWJsZSB7CisgICAgICAtd2Via2l0LW92ZXJmbG93
LXNjcm9sbGluZzogdG91Y2g7CisgICAgICBvdmVyZmxvdzogaGlkZGVuOworICAgIH0KKworICAg
IC5pbmRpY2F0b3IgeworICAgICAgYmFja2dyb3VuZDogcmVkOworICAgICAgei1pbmRleDogMTsK
KyAgICB9CisKKyAgICAudGVzdCB7CisgICAgICBiYWNrZ3JvdW5kOiBncmVlbjsKKyAgICAgIHot
aW5kZXg6IDI7CisgICAgfQorICA8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+CisKKyAgPCEtLSBD
aGVjayB0aGF0IGEgdG91Y2ggb3ZlcmZsb3cgc2Nyb2xsYWJsZSBlbGVtZW50IGRvZXMgbm90IGdl
dCBhIHN0YWNraW5nCisgICAgICAgY29udGV4dCBpZiBpdCB1c2VzIG92ZXJmbG93OiBoaWRkZW4u
IC0tPgorICA8ZGl2IGNsYXNzPSJzY3JvbGxhYmxlIGJveCI+CisgICAgPGRpdiBjbGFzcz0iaW5k
aWNhdG9yIGJveCI+PC9kaXY+CisgIDwvZGl2PgorICA8ZGl2IGNsYXNzPSJ0ZXN0IGJveCI+PC9k
aXY+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL2NvbXBvc2l0aW5nL292ZXJmbG93L292ZXJmbG93LXNjcm9sbGluZy10b3VjaC1s
YXllcnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vY29tcG9z
aXRpbmcvb3ZlcmZsb3cvb3ZlcmZsb3ctc2Nyb2xsaW5nLXRvdWNoLWxheWVycy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE1MDgxNTQ3ODhlNjA0Y2NjYjZjODJmMzVjMzQwOTFmOTY4NzU3MAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0
aW5nL292ZXJmbG93L292ZXJmbG93LXNjcm9sbGluZy10b3VjaC1sYXllcnMtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsNDYgQEAKKyhHcmFwaGljc0xheWVyCisgIChib3VuZHMgODAwLjAwIDYwMC4w
MCkKKyAgKGNoaWxkcmVuIDEKKyAgICAoR3JhcGhpY3NMYXllcgorICAgICAgKGJvdW5kcyA4MDAu
MDAgNjAwLjAwKQorICAgICAgKGNoaWxkcmVuIDEKKyAgICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAg
ICAgICAgICAocG9zaXRpb24gOC4wMCAxMy4wMCkKKyAgICAgICAgICAoYm91bmRzIDUwLjAwIDUw
LjAwKQorICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAgICAgICAgICAoY2hpbGRyZW4gNAor
ICAgICAgICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICAgICAgKGJvdW5kcyAzNS4wMCAz
NS4wMCkKKyAgICAgICAgICAgICAgKGNoaWxkcmVuIDEKKyAgICAgICAgICAgICAgICAoR3JhcGhp
Y3NMYXllcgorICAgICAgICAgICAgICAgICAgKGNoaWxkcmVuIDEKKyAgICAgICAgICAgICAgICAg
ICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICAgICAgICAgICAgICAoYm91bmRzIDM1LjAwIDM1
LjAwKQorICAgICAgICAgICAgICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAgICAgICAgICAg
ICAgICAgICAgKQorICAgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICAgICkKKyAgICAg
ICAgICAgICAgKQorICAgICAgICAgICAgKQorICAgICAgICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAg
ICAgICAgICAgICAgKHBvc2l0aW9uIDAuMDAgMzUuMDApCisgICAgICAgICAgICAgIChib3VuZHMg
MzUuMDAgMTUuMDApCisgICAgICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAgICAgICAgICAg
ICkKKyAgICAgICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAgICAgIChwb3NpdGlvbiAz
NS4wMCAwLjAwKQorICAgICAgICAgICAgICAoYm91bmRzIDE1LjAwIDM1LjAwKQorICAgICAgICAg
ICAgICAoZHJhd3NDb250ZW50IDEpCisgICAgICAgICAgICApCisgICAgICAgICAgICAoR3JhcGhp
Y3NMYXllcgorICAgICAgICAgICAgICAocG9zaXRpb24gMzUuMDAgMzUuMDApCisgICAgICAgICAg
ICAgIChib3VuZHMgMTUuMDAgMTUuMDApCisgICAgICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkK
KyAgICAgICAgICAgICkKKyAgICAgICAgICApCisgICAgICAgICkKKyAgICAgICkKKyAgICApCisg
ICkKKykKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vY29tcG9z
aXRpbmcvb3ZlcmZsb3cvb3ZlcmZsb3ctc2Nyb2xsaW5nLXRvdWNoLWxheWVycy5odG1sIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcvb3ZlcmZsb3cvb3ZlcmZsb3ct
c2Nyb2xsaW5nLXRvdWNoLWxheWVycy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ4YzdiYTMyY2NiNDJiODdk
MzJiZmU3NTZhYjgzODhjMDYxNjdiYjcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9vdmVyZmxvdy9vdmVyZmxvdy1zY3JvbGxpbmct
dG91Y2gtbGF5ZXJzLmh0bWwKQEAgLTAsMCArMSwzMiBAQAorPCFET0NUWVBFIGh0bWw+CisKKzxo
dG1sPgorPGhlYWQ+CisgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgICAgLmJveCB7CisgICAg
ICBwb3NpdGlvbjogYWJzb2x1dGU7CisgICAgICB3aWR0aDogNTBweDsKKyAgICAgIGhlaWdodDog
NTBweDsKKyAgICB9CisKKyAgICAuc2Nyb2xsYWJsZSB7CisgICAgICBvdmVyZmxvdzogc2Nyb2xs
OworICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOworICAgIH0KKyAgPC9z
dHlsZT4KKyAgPHNjcmlwdD4KKyAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIGZ1
bmN0aW9uKCkgeworICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgICAgdGVz
dFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImxheWVyVHJlZSIpLmlubmVyVGV4dCA9IHRlc3RSdW5uZXIubGF5ZXJUcmVlQXNUZXh0KCk7Cisg
ICAgICB9CisgICAgfSk7CisgIDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisKKyAgPGRpdiBj
bGFzcz0ic2Nyb2xsYWJsZSBib3giPjwvZGl2PgorICA8cHJlIGlkPSJsYXllclRyZWUiPjwvcHJl
PgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS9jb21wb3NpdGluZy9vdmVyZmxvdy9vdmVyZmxvdy1zY3JvbGxpbmctdG91Y2gtb3V0
bGluZS1leHBlY3RlZC5wbmcgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3Np
dGluZy9vdmVyZmxvdy9vdmVyZmxvdy1zY3JvbGxpbmctdG91Y2gtb3V0bGluZS1leHBlY3RlZC5w
bmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjZmZDRlY2ZkMzM5NjZiMDAzZjkwODQ5MDI1YmM3OTQ1N2VlYTNkYQpH
SVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgNjAyMAp6Y21lSExZZ0FLTCtDR1hGdHdLNTx4NV8yLURe
O3VAczBiKCRRVXl2fk5+bnM3MFJqcHtsbyVwSDI9YFIrUWxQKzAKekRXQz8oaHpkZjAkUiFYNjVV
VWp3PGYwSFJOZ3lJfTMqPn1MRWAqUnxqPGVTSHtyUDZpdG0kO0U/fmxMRVMkbXptCnomKSgxYkpr
Ul5TSk48aTxrSE0kcnA4XjEyYVAmS2BsS2BPaTFwdXIrdnVRbXZWcSREITNxOEokXiokM0RiXiN3
bwp6aCM/YUoqTWtUNTtQPCs/PyF8fWczKkZ+KihBZzxgWnxMNmg9YmZCZ1VINjxqN2U0ZW4/bDF0
RG5JODJ6Pj5wbiEKejhLcVk4JG0xUTB6ME99WVEtb2lZeEJUZH49eVUmPT1nd2ctVTtmRiF4dHhZ
OGd6VG4rPmliOzJlSV88QXlOVlVDCnorYnAtX3JAcTB5U09mQkF7X1NncVJvak83VVYzXmJORH5l
VjhKczZLPzNCeHoyXnBmZWhuV09VLXVUZjJQRUJ6eQp6PzQ4elZUYWZlfGNaNn5pNHYjZWpmY0om
YjcwfnQ8cUhHPW16fCMkO3omRSNfdE9xdDNvZEpNej4kZD0zOTYhNGIKenhXM3NRXytpaTBqbGdG
K3s7aU1CYlVoSkE1fSh+UHUtMl9+Xys1VVI0aUE1bV9VKENyPjtmaEAwc3NFTWglMF5tCno8Pykk
S3duPGFPIW5iYFMhN0d1PCU9TiU2TVEqeXR5UyZXZz83bUxaakZKX3RsMXI3JXl6WSN7PUcpbFZi
UUwlewp6V2BxdF9WdV45e2VJcFRjI0ojbFJpR0FzWTE3cV9lYnY4Yjx6UyMkI1dGMFJwTT8xWjgm
fFdXbVRUKFJkT2Npe1IKejthKzk/Q14xeyYqVEQwKVpTXlchUTBVRjw+Wi1qTS0lV0ZzbVh7VGFD
NmU3NEM1JDtQPX1gUV8rc1Q1RUhsbT42CnpWdCotJVUqcVlNMTI1YDN5a2t7c0ImdEReSC03MHVu
fjZTfFJAXmV0PT1TdHd2RmZXKnxJQDlkeGRPIUdSfGR4MQp6Rmg0SntwflRqUm4+bl81K09RPnBy
QUFDdXhqTF8qMmVodGJzMUNVRjNwXkk/azwyYkRvOEYrMF87dGlYRFU0YTMKej5TbjxJYHdEMTtL
dD1YZDREaXRgdzxGMEBNRmdrVlFSa3U9NUw+aj5wVkc9ZEhkPHEzVWYoTFY8b29TTkg3an41Cnpm
V195fikoVjZuJCYxZ1FYUFBNJGltYDwwcUNDdkUtK21qIzk9ezJLcGxXJHElNGFjVmdYZX5yXmd8
Ui1IcnA/NAp6UmdRQD54ZiUmK2BxaUR+NTZ+KitNO1BkO2lrNmtra2hLeUhNX28jYjV7dCFtZkJV
UGllbnBIPHFnMll9LUd2OTIKekcyR1NEbFg7eTV1Zno+WjQlcG1AT3I1an5ERip7Smk1PX0oN1Ns
YU5ZOT5gUFNLSCs8Q3owUzw2VW96ejhobHMyCnpSOyU2U2JZMitVVlp9NCs3X0V1b0pHUU5hO3d1
YDNTQn5NNkkpQ31QenMhJVQyMDJgPG9RWC1qNyN7dld2QnwyTQp6SURPMU5MaXBVOyFiMDZjWF5X
WTw2UVBqSEhMRkExRDVvSE5MUCtCNSF8bGlOV2VQPCN3cjs5dng7VCkxY15vPksKei03KER6bjtl
LV5pQiErbTYkQj88XnotWFFEMjRxOGYrbF8qI1B5PklzbkZUY0omU304Yi0pUUBwNDxgK2tEeylq
CnpEYyVldFFyJnYqeDtkVjkkSGtUfityQGVwTDtlOSg9U0EmTzBlNVk8IT12SEM+a15sO3pES2pD
TGg5cHBeNmttQAp6K1hjKn1kWEo/U0hoRW8/KldQOSgtWmhzLVlDRG1qaHxCR0VVJD4oP211fTxJ
UjwkIUQma2tjflVfY2JJN3c3QUcKenQ2U29gYn5nJUJsJW8pZkVuRl9LNj99cTRQOTRPdC1zQ0FL
NG4reiNIeEgtQF5fRC1MRX4xUSR3ST0hYV98VzZ1CnpyNTZfJGNWQFA+d2s5ZCZ2RTAtWUlrNT1G
a05qJUAxYT01ZyswLWkkYWRve14/ZVotVCp9Vj5IWUt3Z3JCMXojZAp6VDckO3c7JTF0OEdqbnJ7
KEtBZ35DYT4hMCEmNnRyPz5JJW92Q1h8dFIwY01KZWZLO2VSPHo5NWM0LSVHQT9ydEsKeiteJn1Q
cl48TzRfM0cqO2B1Y1gjSkk7aWB3aUk8fHQ+eCNSLS1nfV4ldlE4KD5AQzhmcnRSWUpNZTBKRF4l
XndNCnp7bVQwbmQ9fGx4e3F+eTZ2KHh6JDM3X1RaPjhUVl5idzYhJExSU1o9X3lpX21iPkBFRkwr
eStZR1Fqd2BuOCQjQAp6LVB1Vj4oNXs7Tz95NWZnNSQmWFVKOH04dUxgTSMzdzMpQF8+WDE1PkEy
dlRNRU5yP3MyfjxifmJFdlh0Ql4wY0YKekJOOD41N1IqRn0pcUtmT19vfVFrN25JaDxUSl94dFcw
PVJ2U3V6dHspKSFDVHBDUyVLNyNHcHdgdnVJXmRNR1lCCnpofWBlflYmZW15I0w1YSs4LTg/PlB6
cHJuIVlWdTRYezVHPF9IN2FWNFIjeyRzdT5XQmFfQG9VdVlKMTMoWjM7dAp6cyomQGJXJmlZKDVL
YDZfUX5PNzQyUG1NQiRIMyVkWFFNKjxUPWFPVF5TI0IwSlBDXzFnaWR7TSh1R2k3PklncjAKejwt
ditoc3ZTYUFIWTMydTByO3xObmpYVHdlMiErdEFWb1AjRUohV1UtRktid1NkWm1iUEI8S25mbmhw
eUV0TWZQCnp2ckNnKjdQcjk1TUI3SE1CNn0/fjMlUCY0emNSRmMrfGIlWDdATHF8alNMPn5oQEpV
ZkB8bUU0JFhSKXBJYWZONgp6ZGJBX3U4OG5mKUhlcD9XU0ZLRnNnaFczIyR0dnEtQ293b0J2Knxm
VyhINnwxPnRPWHUjTldZY1F8dVNla00jU0wKekZQNCshLV5YZ3RJSmFzbHswUHs1KE1yM2s3QlUy
QWtAdlpORS03eG5tI0Y9WkJPOCRtUzdHKFk5KTBBPnVWRWU4CnomTEJIUXQ/PHE/dHZYWmw/dUo/
THFjJTIwST50PHVHaChKKmpXbTx6eSE0NkEtJmQ4TkR1Y1ZsS0JgNXl5OVhncQp6eDJgJmEleHNR
MUU2TTZtVDsmb2BoKDNmQzJfeU0xZ3NqaTNaUSh8KEpxYT1fQz1lPCE7e3o3Q150SmNkUilAQFUK
ejJGTGxSc0J8fiVuekJgemxJNGlIeiVLUEh6JGVUUCpSKSMrOUIwfDI7bnBQT19KV3smRS1zMm1N
ezJAb0dkVzlZCnpzYSlZbk5eTCNCWXAlaH0mNy0objQkP3hPaCpUKmNYNEtzRWtYT01vakMyTFok
ckgwPl50UmJqVDQheUdjNkZ8aQp6Qz5ZZFUwQ014VVImTHk0PkwwU0VreTF0UmdeLTZLR193OVlO
dCE7KSljYkBnSWtsKG9WNGlOcXtxb3l5TSRoQ1IKejZ2SDNGXiFqazFmantCYllhMmdBIUFfOHRt
UFhnaU09KlRnNzhaPUNBPzt4a3ZTJVojRzglSX5qdX1CdVFTe1RiCnp1ezB8Sk9jMlpXJCtrUT1T
NkxTKTtnZXIoRlIoLTspLSMhO3shLXNlKTdfRGxqVE8xOXFUbHxEVClXfkYoVVpLfgp6P0smNUgk
dGg/OypyfihtI0x7dzNvYThRJm5tVXAwdVojP09nQm57PEw4N25iZk9uazw9empYbkVLVS1jMH0r
N3AKeilgVEBnSTZAaEU1QjlibjdXbFBrelRXUik/QE0xciE9OSg+aitIODJYZiZFJHElTjZDcjg0
UzFJU0BVdVZRX2VPCnpTZm9gbm1oM0R9bjdSWTA1KSYtc1ApSHw/XzRNQGNTV3dXJis/Zkk4QFEz
ellmdXZTQl5oPEwleWJWKDdFXyYmfQp6TkZ6eTxoWTN+PG9ib2UoIUtpYkFxRm9zIU9lV0w1JWM8
OHJNemJvMSlAVCVeczwlWkhNejFXNCpWPD42dSUmSjQKekk4Y317aD5oQCM/TCtKRl96O21jbmd1
T0QyOF9SYWBMVGtGTjNNOy1OSjRoPmckcHkmTkx8N1M8TFNafTZnS308Cno+RzZiaj45JGtkSDA0
czRxblk8Mkw/RTxGYUg/dnVsaylRfUJlanlOOCZ5VGhXVUAqZUNvVm9kOT9EYWhXe3pXegp6JnZ7
UEQrcFFSQjRSQGZiVmhCZVd5fCFebnNfZWRYOXpKMHIlZTl5P21IXzMlJFctMjtLdFdIenFxdilw
OU9Ya0gKelQqI347RnI+cFo2T2NWeml0Km0lUTtpJHpSNktkfCU/VkAzJjhpQX14P00kVT9Hfmkx
VGVrK3FiVVd2WEQxQD5CCnpTJTUhdG1RNHVHcEc8PiE5M2ItUkE8JFR9aTd3IW54Y1krb0JGWjZa
UjQjckdSdXFwdXBieGVtd3lAUTgrQSlwMgp6X3dMKHdhK0p+U1VGcVNSbXJHbjdhODIzUy11ZXNj
P3BQfFhqSX5yT09fMyY8MTs+dzV4YSFlVGpMe2ROZy0+PkEKekZ7N0RlMGpYdU55YFc5QDVFN3c3
NWNASzhXPyRHITRuKW0mblR7UzFadHhWQD5yOTh7ODkoYWtEUXZ6U3JnfE8oCnpnSW5Taz1hXmg9
eD9sMTtmayshU2BHVHdKQ002fiUrMiFxZGVWQXRHQUhsMFFvdX1JX1pjfkdkd3NeSXFRN014cAp6
aSUtIWpsRmVsYyZ0TGBrQ01YOSZ4IXpxZDlPZ3xoIWV2UFdqZ0h2YmFQZEktQF5taz1EMG17OUpT
VTNmPEZWQyYKempaeXNpaSl5OVJ2MTx1M3xKIWI0Rl9mR0ZhRCVBOWhVTSlRMHNAciNFaUdHQyNm
Jm12VEVwZT5yeT5uVkF5JDlLCnpYeU9xdStKZVRCeChFP2VRRGh4KlgqSn4kXyVIODVaWDhGVWFB
anxmYDN9YC1LJGFsT2NJQFN+QXNpRE87bT1zaQp6bVcyQzhJdmVzTW1tcjJsTndTRiFwXl49ZDVC
T1NWWjEmfGBpY3xBO0ZGfGdUUVN2QytoIU9obz1rMzAqamU5Tz8KenxOSj5CaVMmJDRtTypaKWVR
JTNRbjdNWmdDRWZ8TjVMVVgxNTRJV0A4aC1HREB1OCNwK311e3tBaWRLPllmfj5SCnoqOGYxK01u
NDshJGs2VitaOTl1PGdFakBUSm47QkBfZ3pBRCheUjtuXiQoUW9BND0mZHBYPE0/I0Q0cld1ZDNQ
dgp6bXBqYURBK0QhbFdZPSNWdSp6e3lwVT94Tzl2OzhgcFZGUDJIJWFDRzEqYXJ9JGB3fnU8RTQ9
fERxMkJRYURYflQKenk3KjhKTldTKU9TTWA3STRgP1N4bW9VYkRjY0NSQlJVN19BcEZyRUU0SUlt
TEEmbSlERy1rODdCRz1fbHorMmdiCnooTGQ9Yk5TZUl7SUpAUlo+YjtoI1dQeG89YjhSZn0mMklY
QygyVkBnd3MoPjJ7S25sO2duVUViKGQwa2Qhb1RXJQp6WGpkdzE3WXRka3Z1e296SFVlKkI8Pjw1
SXMra0pTamlyVnFCS181RD1iTG9eWXdnRit7PDl1eF8hbHVjQXUhPzcKej5GOXZFLXdBPXNMIUtq
fiV9SzlwUFF2bigoTVphWGQ8VUY0YV9UZSZYTSlAVEVXcFNBN1k0OygmTCQyem1aeUM+CnpeXmho
NG4raEFtYFBENXw/eCZzQjBiYHFnMlUqVHd1dig+SzRAMTMwP3phQ1BtcUkkP1MoeG9we00rS1hB
MUshVQp6QWU+e1hLT1h7c0ttN3dEfElReHRrTHpZWHVKaXw5NFNXUmlCYmF+V1JudGQ0ZWROPGVL
Sy1HJHhCcVhGKCY+OXsKWCQoIV4wdmx8P2BSdEp1SHFyOXEqb1cxcnBPOGkhcwoKbGl0ZXJhbCAw
CkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
Y29tcG9zaXRpbmcvb3ZlcmZsb3cvb3ZlcmZsb3ctc2Nyb2xsaW5nLXRvdWNoLW91dGxpbmUtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcvb3Zl
cmZsb3cvb3ZlcmZsb3ctc2Nyb2xsaW5nLXRvdWNoLW91dGxpbmUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmRkMjA5OWFmZTQ1ZWE1NWRmYWQ1Mjg1ZTc3YTdjNTIzNjMyYmQ1YmMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9vdmVy
Zmxvdy9vdmVyZmxvdy1zY3JvbGxpbmctdG91Y2gtb3V0bGluZS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzIEBACitUaGUgZGFzaGVkIG91dGxpbmUgYmVsb3cgc2hvdWxkIGNvbXBsZXRlbHkgZW5j
bG9zZSB0aGUgc2Nyb2xsYWJsZSBkaXYuCisKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcvb3ZlcmZsb3cvb3ZlcmZsb3ctc2Nyb2xsaW5nLXRv
dWNoLW91dGxpbmUuaHRtbCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0
aW5nL292ZXJmbG93L292ZXJmbG93LXNjcm9sbGluZy10b3VjaC1vdXRsaW5lLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYmVkY2MwYjM3ZDc4MjJmMzgyNmVjNjhjMTEwYzljZmYxMjExMzRkOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL292ZXJm
bG93L292ZXJmbG93LXNjcm9sbGluZy10b3VjaC1vdXRsaW5lLmh0bWwKQEAgLTAsMCArMSw0OSBA
QAorPCFET0NUWVBFIGh0bWw+CisKKzwhLS0KK091dGxpbmVzIGFyZW4ndCBjdXJyZW50bHkgc3Vw
cG9ydGVkIHdpdGggb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNoLCBzbyBjaGVjayB0aGF0Cit1c2lu
ZyB0aGVtIHRyaWdnZXJzIGEgZmFsbGJhY2sgdG8gYSBub3JtYWwgb3ZlcmZsb3cgZWxlbWVudC4K
KworaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc4ODY0CistLT4KKwor
PGh0bWw+Cis8aGVhZD4KKyAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KKyAgICAuYm94IHsKKyAg
ICAgIHdpZHRoOiAxMDBweDsKKyAgICAgIGhlaWdodDogMTAwcHg7CisgICAgfQorCisgICAgLmNv
bnRlbnQtYm94IHsKKyAgICAgIHdpZHRoOiAyMDBweDsKKyAgICAgIGhlaWdodDogMjAwcHg7Cisg
ICAgfQorCisgICAgLm91dGxpbmUgeworICAgICAgb3V0bGluZTogdGhpY2sgZGFzaGVkIGdyZWVu
OworICAgIH0KKworICAgIC5zY3JvbGxhYmxlIHsKKyAgICAgIG92ZXJmbG93OiBzY3JvbGw7Cisg
ICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7CisgICAgfQorICA8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+CisgIDxwPlRoZSBkYXNoZWQgb3V0bGluZSBiZWxvdyBzaG91bGQg
Y29tcGxldGVseSBlbmNsb3NlIHRoZSBzY3JvbGxhYmxlIGRpdi48L3A+CisKKyAgPGRpdiBpZD0i
c2Nyb2xsYWJsZSIgY2xhc3M9InNjcm9sbGFibGUgYm94IG91dGxpbmUiPgorICAgIDxkaXYgY2xh
c3M9ImNvbnRlbnQtYm94Ij48L2Rpdj4KKyAgPC9kaXY+CisKKyAgPHNjcmlwdD4KKyAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQodHJ1ZSk7Cisg
ICAgdmFyIHNjcm9sbGFibGUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2Nyb2xsYWJsZScp
OworICAgIHNjcm9sbGFibGUuc2Nyb2xsTGVmdCA9IDUwOworICAgIHNjcm9sbGFibGUuc2Nyb2xs
VG9wID0gNTA7CisgIDwvc2NyaXB0PgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9vdmVyZmxvdy9vdmVyZmxv
dy1zY3JvbGxpbmctdG91Y2gtc2Nyb2xsLWxheWVycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9vdmVyZmxvdy9vdmVyZmxvdy1zY3JvbGxp
bmctdG91Y2gtc2Nyb2xsLWxheWVycy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjZkMDFjOWQ3
MjNjMjBlNDdmNjhiZGU0OWY2MTBiNDI5N2Y4ZTE3NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL292ZXJmbG93L292ZXJmbG93LXNj
cm9sbGluZy10b3VjaC1zY3JvbGwtbGF5ZXJzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDgzIEBA
CitHcmFwaGljc0xheWVyCisgICAgc2Nyb2xsYWJsZTogbm8KKyAgICBzaG91bGRTY3JvbGxPbk1h
aW5UaHJlYWQ6IG5vCisgICAgaGF2ZVdoZWVsRXZlbnRIYW5kbGVyczogbm8KKyAgICBpc0NvbnRh
aW5lckZvckZpeGVkUG9zaXRpb25MYXllcnM6IG5vCisgICAgZml4ZWRUb0NvbnRhaW5lckxheWVy
OiBubworICBHcmFwaGljc0xheWVyCisgICAgICBzY3JvbGxhYmxlOiBubworICAgICAgc2hvdWxk
U2Nyb2xsT25NYWluVGhyZWFkOiBubworICAgICAgaGF2ZVdoZWVsRXZlbnRIYW5kbGVyczogbm8K
KyAgICAgIGlzQ29udGFpbmVyRm9yRml4ZWRQb3NpdGlvbkxheWVyczogbm8KKyAgICAgIGZpeGVk
VG9Db250YWluZXJMYXllcjogbm8KKyAgICBHcmFwaGljc0xheWVyCisgICAgICAgIHNjcm9sbGFi
bGU6IHllcworICAgICAgICBzY3JvbGxQb3NpdGlvbjogMCwgMAorICAgICAgICBtYXhTY3JvbGxQ
b3NpdGlvbjogMCwgMAorICAgICAgICBzaG91bGRTY3JvbGxPbk1haW5UaHJlYWQ6IG5vCisgICAg
ICAgIGhhdmVXaGVlbEV2ZW50SGFuZGxlcnM6IG5vCisgICAgICAgIGlzQ29udGFpbmVyRm9yRml4
ZWRQb3NpdGlvbkxheWVyczogeWVzCisgICAgICAgIGZpeGVkVG9Db250YWluZXJMYXllcjogbm8K
KyAgICAgIEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICBzY3JvbGxhYmxlOiBubworICAgICAgICAg
IHNob3VsZFNjcm9sbE9uTWFpblRocmVhZDogbm8KKyAgICAgICAgICBoYXZlV2hlZWxFdmVudEhh
bmRsZXJzOiBubworICAgICAgICAgIGlzQ29udGFpbmVyRm9yRml4ZWRQb3NpdGlvbkxheWVyczog
bm8KKyAgICAgICAgICBmaXhlZFRvQ29udGFpbmVyTGF5ZXI6IG5vCisgICAgICBHcmFwaGljc0xh
eWVyCisgICAgICAgICAgc2Nyb2xsYWJsZTogbm8KKyAgICAgICAgICBzaG91bGRTY3JvbGxPbk1h
aW5UaHJlYWQ6IG5vCisgICAgICAgICAgaGF2ZVdoZWVsRXZlbnRIYW5kbGVyczogbm8KKyAgICAg
ICAgICBpc0NvbnRhaW5lckZvckZpeGVkUG9zaXRpb25MYXllcnM6IG5vCisgICAgICAgICAgZml4
ZWRUb0NvbnRhaW5lckxheWVyOiBubworICAgICAgICBHcmFwaGljc0xheWVyCisgICAgICAgICAg
ICBzY3JvbGxhYmxlOiBubworICAgICAgICAgICAgc2hvdWxkU2Nyb2xsT25NYWluVGhyZWFkOiBu
bworICAgICAgICAgICAgaGF2ZVdoZWVsRXZlbnRIYW5kbGVyczogbm8KKyAgICAgICAgICAgIGlz
Q29udGFpbmVyRm9yRml4ZWRQb3NpdGlvbkxheWVyczogbm8KKyAgICAgICAgICAgIGZpeGVkVG9D
b250YWluZXJMYXllcjogbm8KKyAgICAgICAgICBHcmFwaGljc0xheWVyCisgICAgICAgICAgICAg
IHNjcm9sbGFibGU6IG5vCisgICAgICAgICAgICAgIHNob3VsZFNjcm9sbE9uTWFpblRocmVhZDog
bm8KKyAgICAgICAgICAgICAgaGF2ZVdoZWVsRXZlbnRIYW5kbGVyczogbm8KKyAgICAgICAgICAg
ICAgaXNDb250YWluZXJGb3JGaXhlZFBvc2l0aW9uTGF5ZXJzOiBubworICAgICAgICAgICAgICBm
aXhlZFRvQ29udGFpbmVyTGF5ZXI6IG5vCisgICAgICAgICAgICBHcmFwaGljc0xheWVyCisgICAg
ICAgICAgICAgICAgc2Nyb2xsYWJsZTogbm8KKyAgICAgICAgICAgICAgICBzaG91bGRTY3JvbGxP
bk1haW5UaHJlYWQ6IG5vCisgICAgICAgICAgICAgICAgaGF2ZVdoZWVsRXZlbnRIYW5kbGVyczog
bm8KKyAgICAgICAgICAgICAgICBpc0NvbnRhaW5lckZvckZpeGVkUG9zaXRpb25MYXllcnM6IG5v
CisgICAgICAgICAgICAgICAgZml4ZWRUb0NvbnRhaW5lckxheWVyOiBubworICAgICAgICAgICAg
ICBHcmFwaGljc0xheWVyCisgICAgICAgICAgICAgICAgICBzY3JvbGxhYmxlOiB5ZXMKKyAgICAg
ICAgICAgICAgICAgIHNjcm9sbFBvc2l0aW9uOiAwLCAwCisgICAgICAgICAgICAgICAgICBtYXhT
Y3JvbGxQb3NpdGlvbjogMTY1LCAzNzgKKyAgICAgICAgICAgICAgICAgIHNob3VsZFNjcm9sbE9u
TWFpblRocmVhZDogbm8KKyAgICAgICAgICAgICAgICAgIGhhdmVXaGVlbEV2ZW50SGFuZGxlcnM6
IG5vCisgICAgICAgICAgICAgICAgICBpc0NvbnRhaW5lckZvckZpeGVkUG9zaXRpb25MYXllcnM6
IG5vCisgICAgICAgICAgICAgICAgICBmaXhlZFRvQ29udGFpbmVyTGF5ZXI6IG5vCisgICAgICAg
ICAgICAgICAgR3JhcGhpY3NMYXllcgorICAgICAgICAgICAgICAgICAgICBzY3JvbGxhYmxlOiBu
bworICAgICAgICAgICAgICAgICAgICBzaG91bGRTY3JvbGxPbk1haW5UaHJlYWQ6IG5vCisgICAg
ICAgICAgICAgICAgICAgIGhhdmVXaGVlbEV2ZW50SGFuZGxlcnM6IG5vCisgICAgICAgICAgICAg
ICAgICAgIGlzQ29udGFpbmVyRm9yRml4ZWRQb3NpdGlvbkxheWVyczogbm8KKyAgICAgICAgICAg
ICAgICAgICAgZml4ZWRUb0NvbnRhaW5lckxheWVyOiBubworICAgICAgICAgICAgR3JhcGhpY3NM
YXllcgorICAgICAgICAgICAgICAgIHNjcm9sbGFibGU6IG5vCisgICAgICAgICAgICAgICAgc2hv
dWxkU2Nyb2xsT25NYWluVGhyZWFkOiBubworICAgICAgICAgICAgICAgIGhhdmVXaGVlbEV2ZW50
SGFuZGxlcnM6IG5vCisgICAgICAgICAgICAgICAgaXNDb250YWluZXJGb3JGaXhlZFBvc2l0aW9u
TGF5ZXJzOiBubworICAgICAgICAgICAgICAgIGZpeGVkVG9Db250YWluZXJMYXllcjogbm8KKyAg
ICAgICAgICAgIEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICAgICAgICBzY3JvbGxhYmxlOiBubwor
ICAgICAgICAgICAgICAgIHNob3VsZFNjcm9sbE9uTWFpblRocmVhZDogbm8KKyAgICAgICAgICAg
ICAgICBoYXZlV2hlZWxFdmVudEhhbmRsZXJzOiBubworICAgICAgICAgICAgICAgIGlzQ29udGFp
bmVyRm9yRml4ZWRQb3NpdGlvbkxheWVyczogbm8KKyAgICAgICAgICAgICAgICBmaXhlZFRvQ29u
dGFpbmVyTGF5ZXI6IG5vCisgICAgICAgICAgICBHcmFwaGljc0xheWVyCisgICAgICAgICAgICAg
ICAgc2Nyb2xsYWJsZTogbm8KKyAgICAgICAgICAgICAgICBzaG91bGRTY3JvbGxPbk1haW5UaHJl
YWQ6IG5vCisgICAgICAgICAgICAgICAgaGF2ZVdoZWVsRXZlbnRIYW5kbGVyczogbm8KKyAgICAg
ICAgICAgICAgICBpc0NvbnRhaW5lckZvckZpeGVkUG9zaXRpb25MYXllcnM6IG5vCisgICAgICAg
ICAgICAgICAgZml4ZWRUb0NvbnRhaW5lckxheWVyOiBubworCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9vdmVyZmxvdy9vdmVyZmxvdy1zY3Jv
bGxpbmctdG91Y2gtc2Nyb2xsLWxheWVycy5odG1sIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vY29tcG9zaXRpbmcvb3ZlcmZsb3cvb3ZlcmZsb3ctc2Nyb2xsaW5nLXRvdWNoLXNjcm9s
bC1sYXllcnMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNjgyYjA1NTIyOWVmN2M4NDZjZjQ5MGUxZDc0MTc5
MGIxZWZmNGRlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vY29tcG9zaXRpbmcvb3ZlcmZsb3cvb3ZlcmZsb3ctc2Nyb2xsaW5nLXRvdWNoLXNjcm9sbC1s
YXllcnMuaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4KKworPCEtLS0KK0No
ZWNrIHRoYXQgdGhlIGNvcnJlY3Qgc2Nyb2xsaW5nIHRyZWUgYXR0cmlidXRlcyAoc2Nyb2xsIHBv
c2l0aW9uLCBtYXggc2Nyb2xsCitwb3NpdGlvbikgZ2V0IHNldCBmb3IgYSB0b3VjaCBzY3JvbGxh
YmxlIGVsZW1lbnQuCisKK2h0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03
ODg2MgorLS0+CisKKzxodG1sPgorPGhlYWQ+CisgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Cisg
ICAgLmJveCB7CisgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CisgICAgICB3aWR0aDogNTBweDsK
KyAgICAgIGhlaWdodDogNTBweDsKKyAgICB9CisKKyAgICAuYmlnLWJveCB7CisgICAgICB3aWR0
aDogMjAwcHg7CisgICAgICBoZWlnaHQ6IDQwMHB4OworICAgIH0KKworICAgIC5zY3JvbGxhYmxl
IHsKKyAgICAgIG92ZXJmbG93OiBzY3JvbGw7CisgICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9s
bGluZzogdG91Y2g7CisgICAgfQorICA8L3N0eWxlPgorICA8c2NyaXB0PgorICAgIHdpbmRvdy5h
ZGRFdmVudExpc3RlbmVyKCdsb2FkJywgZnVuY3Rpb24oKSB7CisgICAgICBpZiAod2luZG93LnRl
c3RSdW5uZXIpIHsKKyAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAgICAgIHRl
c3RSdW5uZXIuZGlzcGxheSgpOworICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2Ny
b2xsaW5nVHJlZSIpLmlubmVyVGV4dCA9IHRlc3RSdW5uZXIuc2Nyb2xsaW5nVHJlZUFzVGV4dCgp
OworICAgICAgfQorICAgIH0pOworICA8L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHk+CisgIDxk
aXYgY2xhc3M9InNjcm9sbGFibGUgYm94Ij4KKyAgICA8ZGl2IGNsYXNzPSJiaWctYm94Ij4KKyAg
PC9kaXY+CisgIDxwcmUgaWQ9InNjcm9sbGluZ1RyZWUiPjwvcHJlPgorPC9ib2R5PgorCis8L2h0
bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>148604</attachid>
            <date>2012-06-20 10:54:34 -0700</date>
            <delta_ts>2012-07-26 11:25:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-78862-20120620185425.patch</filename>
            <type>text/plain</type>
            <size>87137</size>
            <attacher name="Sami Kyöstilä">skyostil</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIwNzAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWU5MjBhOTQ5Mzk3YzJm
ZmU0MzE2NjMzYmFjMzllMTY3MjY5MzVhNS4uNjhmNDA0ZjFlMmZlNjhmNTg4M2RlNjEwNzQ0ZTE1
NTI0MmQ1N2YzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyNiBAQAorMjAxMi0wNi0wOCAgU2Ft
aSBLeW9zdGlsYSAgPHNreW9zdGlsQGNocm9taXVtLm9yZz4KKworICAgICAgICBUb3VjaCBvdmVy
ZmxvdyBzY3JvbGxpbmcgZWxlbWVudHMgc2hvdWxkIGJlIHNwbGl0IGludG8gbGF5ZXJzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03ODg2MgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gYSByZWd1bGFy
IG92ZXJmbG93IGVsZW1lbnQgaXMgc2Nyb2xsZWQsIHdlIHJlcGFpbnQgdGhlIGVudGlyZSBhcmVh
CisgICAgICAgIGl0IG9jY3VwaWVzIGluIHRoZSB2aWV3IGZyb20gc2NyYXRjaC4gU2luY2UgdGhp
cyBwYWludGluZyBpcyBkb25lIGluIHRoZQorICAgICAgICBtYWluIHRocmVhZCwgaXQgY2FuIGJl
IGJsb2NrZWQgYnksIGUuZy4sIEphdmFTY3JpcHQgZXhlY3V0aW9uLCBmdXJ0aGVyCisgICAgICAg
IGxpbWl0aW5nIHBlcmZvcm1hbmNlLgorCisgICAgICAgIEluIGNvbnRyYXN0LCB0aGUgbWFpbiBi
b2R5IGVsZW1lbnQgb2YgYSBwYWdlIGNhbiB1c3VhbGx5IGJlIHNjcm9sbGVkCisgICAgICAgIGJ5
IHRoZSBjb21wb3NpdG9yIHNpbXBseSBieSB0cmFuc2xhdGluZyBpdCBhcm91bmQgdGhlIHNjcmVl
bi4gVGhpcyBpcworICAgICAgICBiZWNhdXNlIHRoZSBjb250ZW50cyBvZiB0aGUgYm9keSBoYXZl
IGJlZW4gcGFpbnRlZCBpbnRvIGEKKyAgICAgICAgUmVuZGVyTGF5ZXJCYWNraW5nIHRvIHdoaWNo
IHRoZSBjb21wb3NpdG9yIGNhbiBhcHBseSBhIHNjcm9sbCB0cmFuc2Zvcm0uCisgICAgICAgIEZ1
cnRoZXJtb3JlLCBhIGNvbXBvc2l0b3IgdGhyZWFkIGNhbiBhcHBseSB1cGRhdGUgdGhlIHNjcm9s
bCBvZmZzZXQKKyAgICAgICAgd2hpbGUgdGhlIG1haW4gdGhyZWFkIGlzIGJ1c3kgd2l0aCBvdGhl
ciBwcm9jZXNzaW5nLgorCisgICAgICAgIEluIG9yZGVyIHRvIG1ha2Ugb3ZlcmZsb3cgZWxlbWVu
dCBzY3JvbGxpbmcgc2ltaWxhcmx5IGVmZmljaWVudCwgdGhpcworICAgICAgICBwYXRjaCBkb2Vz
IHRocmVlIHRoaW5nczoKKworICAgICAgICAgICAgMS4gU3BsaXRzIG92ZXJmbG93IGVsZW1lbnRz
IGludG8gYSBmaXhlZCBiYWNrZ3JvdW5kIGxheWVyIGFuZCBhCisgICAgICAgICAgICBzY3JvbGxp
bmcgZm9yZWdyb3VuZCBsYXllci4gVGhpcyBpcyBvbmx5IGRvbmUgZm9yIGVsZW1lbnRzIHVzaW5n
IHRoZQorICAgICAgICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoIHN0eWxl
LCBiZWNhdXNlIGl0IGludHJvZHVjZXMgYQorICAgICAgICAgICAgc3RhY2tpbmcgY29udGV4dCB3
aGljaCBlbmFibGVzIHVzIHRvIHByb21vdGUgdGhlIGVsZW1lbnQgdG8gYQorICAgICAgICAgICAg
Y29tcG9zaXRlZCBsYXllci4KKworICAgICAgICAgICAgMi4gUmVnaXN0ZXJzIHRoZXNlIGVsZW1l
bnRzIHdpdGggdGhlIFNjcm9sbGluZ0Nvb3JkaW5hdG9yIHNvIGl0CisgICAgICAgICAgICBrbm93
cyB0aGVpciBhc3NvY2lhdGVkIHNjcm9sbCBnZW9tZXRyeS4KKworICAgICAgICAgICAgMy4gQXZv
aWRzIGludmFsaWRhdGluZyB0aGUgY29udGVudHMgb2YgdGhlIGxheWVycyB3aGVuIHRoZXkgYXJl
CisgICAgICAgICAgICBzY3JvbGxlZC4gVGhpcyBhbGxvd3MgdGhlIGxheWVycyB0byBiZSB0cmFu
c2xhdGVkIGFjY29yZGluZyB0byB0aGVpcgorICAgICAgICAgICAgc2Nyb2xsIHBvc2l0aW9uIHdp
dGhvdXQgdW5uZWNlc3NhcnkgcmVwYWludHMuCisKKyAgICAgICAgVGhpcyBwYXRjaCBpcyBiYXNl
ZCBvbiBBcHBsZSdzIGlPUyA1IGltcGxlbWVudGF0aW9uIG9mIHRoZQorICAgICAgICAiLXdlYmtp
dC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoIiBDU1MgcHJvcGVydHkuCisKKyAgICAgICAgVGVz
dHM6CisgICAgICAgICAgICBwbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9vdmVyZmxvdy9v
dmVyZmxvdy1zY3JvbGxpbmctdG91Y2gtYm9yZGVycy5odG1sCisgICAgICAgICAgICBwbGF0Zm9y
bS9jaHJvbWl1bS9jb21wb3NpdGluZy9vdmVyZmxvdy9vdmVyZmxvdy1zY3JvbGxpbmctdG91Y2gt
Y2xpcHBpbmcuaHRtbAorICAgICAgICAgICAgcGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcv
b3ZlcmZsb3cvb3ZlcmZsb3ctc2Nyb2xsaW5nLXRvdWNoLWhpZGRlbi1vdmVyZmxvdy5odG1sCisg
ICAgICAgICAgICBwbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9vdmVyZmxvdy9vdmVyZmxv
dy1zY3JvbGxpbmctdG91Y2gtbGF5ZXJzLmh0bWwKKyAgICAgICAgICAgIHBsYXRmb3JtL2Nocm9t
aXVtL2NvbXBvc2l0aW5nL292ZXJmbG93L292ZXJmbG93LXNjcm9sbGluZy10b3VjaC1vdXRsaW5l
Lmh0bWwKKyAgICAgICAgICAgIHBsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL292ZXJmbG93
L292ZXJmbG93LXNjcm9sbGluZy10b3VjaC1zdGFja2luZy1jb250ZXh0Lmh0bWwKKworICAgICAg
ICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcDoKKyAgICAgICAgKFdl
YkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nQ29vcmRpbmF0b3I6OnNjcm9sbGFi
bGVBcmVhU2Nyb2xsTGF5ZXJEaWRDaGFuZ2UpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Nj
cm9sbGluZ0Nvb3JkaW5hdG9yLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFNjcm9s
bGluZ0Nvb3JkaW5hdG9yKToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29y
ZGluYXRvck5vbmUuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpT
Y3JvbGxpbmdDb29yZGluYXRvcjo6c2Nyb2xsYWJsZUFyZWFTY3JvbGxMYXllckRpZENoYW5nZSk6
CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvY2hyb21pdW0vU2Nyb2xsaW5nQ29vcmRpbmF0b3JD
aHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9s
bGluZ0Nvb3JkaW5hdG9yOjpzY3JvbGxhYmxlQXJlYVNjcm9sbExheWVyRGlkQ2hhbmdlKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkdyYXBoaWNzTGF5ZXI6OnNldE9mZnNldEZyb21SZW5kZXJlcik6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5oOgorICAgICAgICAoR3JhcGhpY3NMYXll
cik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vR3JhcGhpY3NMYXllckNo
cm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJDaHJvbWl1bTo6R3Jh
cGhpY3NMYXllckNocm9taXVtKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJDaHJv
bWl1bTo6ZGlkU2Nyb2xsKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL0dyYXBoaWNzTGF5ZXJDaHJvbWl1bS5oOgorICAgICAgICAoV2Vi
Q29yZTo6R3JhcGhpY3NMYXllckNocm9taXVtOjpzZXRTY3JvbGxhYmxlQXJlYSk6CisgICAgICAg
IChXZWJDb3JlOjpHcmFwaGljc0xheWVyQ2hyb21pdW06OnNjcm9sbGFibGVBcmVhKToKKyAgICAg
ICAgKEdyYXBoaWNzTGF5ZXJDaHJvbWl1bSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJs
b2NrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpsYXlvdXRCbG9jayk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6cGFpbnQpOgorICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94OjphcHBseUNhY2hl
ZENsaXBBbmRTY3JvbGxPZmZzZXRGb3JSZXBhaW50KToKKyAgICAgICAgKFdlYkNvcmUpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyQm94Ojpjb21wdXRlUmVjdEZvclJlcGFpbnQpOgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJCb3guaDoKKyAgICAgICAgKFJlbmRlckJveCk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlcklubGluZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJJ
bmxpbmU6OmNsaXBwZWRPdmVyZmxvd1JlY3RGb3JSZXBhaW50KToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlcklubGluZTo6Y29tcHV0ZVJlY3RGb3JSZXBhaW50KToKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJMYXllcjo6aGFzQWNjZWxlcmF0ZWRTY3JvbGxpbmcpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyTGF5ZXI6OnNjcm9sbFRvKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVy
OjpwYWludExheWVyQ29udGVudHMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmNh
bGN1bGF0ZUNsaXBSZWN0cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6cmVwYWlu
dEJsb2NrU2VsZWN0aW9uR2Fwcyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6c2hv
dWxkQmVOb3JtYWxGbG93T25seSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6dXBk
YXRlU2Nyb2xsYWJsZUFyZWFTZXQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5o
OgorICAgICAgICAoUmVuZGVyTGF5ZXIpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXll
ckJhY2tpbmcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjp+UmVu
ZGVyTGF5ZXJCYWNraW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQmFja2luZzo6
ZGVzdHJveUdyYXBoaWNzTGF5ZXJzKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2Vi
Q29yZTo6aGFzVG91Y2hPdmVyZmxvd1Njcm9sbGluZyk6CisgICAgICAgIChXZWJDb3JlOjpsYXll
ck9yQW5jZXN0b3JJc1Njcm9sbGluZyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJh
Y2tpbmc6OnBhcmVudEZvclN1YmxheWVycyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXll
ckJhY2tpbmc6OnNob3VsZENsaXBDb21wb3NpdGVkQm91bmRzKToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlR3JhcGhpY3NMYXllckNvbmZpZ3VyYXRpb24pOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVHcmFwaGljc0xheWVy
R2VvbWV0cnkpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVJ
bnRlcm5hbEhpZXJhcmNoeSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6
OnVwZGF0ZVNjcm9sbGluZ0xheWVyKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQmFj
a2luZzo6cGFpbnRDb250ZW50cyk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQmFj
a2luZy5oOgorICAgICAgICAoUmVuZGVyTGF5ZXJCYWNraW5nKToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckxheWVyQmFja2luZzo6aGFzU2Nyb2xsaW5nTGF5ZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjpzY3JvbGxpbmdMYXllcik6CisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJM
YXllckNvbXBvc2l0b3I6OmNvbXB1dGVDb21wb3NpdGluZ1JlcXVpcmVtZW50cyk6CisgICAgICAg
IChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6c2Ny
b2xsaW5nTGF5ZXJEaWRDaGFuZ2UpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJDb21w
b3NpdG9yOjpyZXF1aXJlc0NvbXBvc2l0aW5nTGF5ZXIpOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyTGF5ZXJDb21wb3NpdG9yOjpyZXF1aXJlc093bkJhY2tpbmdTdG9yZSk6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OnJlcXVpcmVzQ29tcG9zaXRpbmdGb3JPdmVy
Zmxvd1Njcm9sbCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6Om5l
ZWRzQ29udGVudHNDb21wb3NpdGluZ0xheWVyKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
TGF5ZXJDb21wb3NpdG9yLmg6CisgICAgICAgIChSZW5kZXJMYXllckNvbXBvc2l0b3IpOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyT2JqZWN0Ojpjb21wdXRlUmVjdEZvclJlcGFpbnQpOgorCiAyMDEyLTA2LTE4ICBTYW1pIEt5
b3N0aWxhICA8c2t5b3N0aWxAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJlbmRlclZpZXcgbGF5
ZXIgaXMgbWFya2VkIGFzIGZpeGVkIHBvc2l0aW9uIGNvbnRhaW5lciBpbiB0aGUgc2Nyb2xsaW5n
IHRyZWUgaWYgcGFnZSBzY2FsZSAhPSAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5jcHAKaW5kZXggY2I4ZjMzYjhhZWZmMDcx
MWYwZmE5ZDYyZDk1N2I3MWExYTFlNDE5YS4uMGMzODVlNTlmM2I2NjI5MTE3YzJkNTY0ODY2M2Jh
NjgxYjA0N2I4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Ny
b2xsaW5nQ29vcmRpbmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5n
L1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcApAQCAtMTE4LDYgKzExOCw5IEBAIHN0YXRpYyBSZWdp
b24gY29tcHV0ZU5vbkZhc3RTY3JvbGxhYmxlUmVnaW9uKEZyYW1lKiBmcmFtZSwgY29uc3QgSW50
UG9pbnQmIGZyYW1lCiAgICAgaWYgKGNvbnN0IEZyYW1lVmlldzo6U2Nyb2xsYWJsZUFyZWFTZXQq
IHNjcm9sbGFibGVBcmVhcyA9IGZyYW1lVmlldy0+c2Nyb2xsYWJsZUFyZWFzKCkpIHsKICAgICAg
ICAgZm9yIChGcmFtZVZpZXc6OlNjcm9sbGFibGVBcmVhU2V0Ojpjb25zdF9pdGVyYXRvciBpdCA9
IHNjcm9sbGFibGVBcmVhcy0+YmVnaW4oKSwgZW5kID0gc2Nyb2xsYWJsZUFyZWFzLT5lbmQoKTsg
aXQgIT0gZW5kOyArK2l0KSB7CiAgICAgICAgICAgICBTY3JvbGxhYmxlQXJlYSogc2Nyb2xsYWJs
ZUFyZWEgPSAqaXQ7CisgICAgICAgICAgICAvLyBBY2NlbGVyYXRlZCBzY3JvbGxhYmxlIGFyZWFz
IGNhbiBiZSBzY3JvbGxlZCBvZmYgdGhlIG1haW4gdGhyZWFkLgorICAgICAgICAgICAgaWYgKHNj
cm9sbGFibGVBcmVhLT5oYXNBY2NlbGVyYXRlZFNjcm9sbGluZygpKQorICAgICAgICAgICAgICAg
IGNvbnRpbnVlOwogICAgICAgICAgICAgSW50UmVjdCBib3ggPSBzY3JvbGxhYmxlQXJlYS0+c2Ny
b2xsYWJsZUFyZWFCb3VuZGluZ0JveCgpOwogICAgICAgICAgICAgYm94Lm1vdmVCeShvZmZzZXQp
OwogICAgICAgICAgICAgbm9uRmFzdFNjcm9sbGFibGVSZWdpb24udW5pdGUoYm94KTsKQEAgLTQ3
Miw2ICs0NzUsMTQgQEAgU3RyaW5nIFNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpzY3JvbGxpbmdUcmVl
QXNUZXh0KCkgY29uc3QKICAgICAvLyBGSVhNRTogSW1wbGVtZW50LgogICAgIHJldHVybiBTdHJp
bmcoKTsKIH0KKworI2lmIEVOQUJMRShPVkVSRkxPV19TQ1JPTExJTkcpCit2b2lkIFNjcm9sbGlu
Z0Nvb3JkaW5hdG9yOjpzY3JvbGxhYmxlQXJlYVNjcm9sbExheWVyRGlkQ2hhbmdlKFNjcm9sbGFi
bGVBcmVhKiwgR3JhcGhpY3NMYXllciopCit7CisgICAgLy8gRklYTUU6IEltcGxlbWVudC4KK30K
KyNlbmRpZgorCiAjZW5kaWYgLy8gIUVOQUJMRShUSFJFQURFRF9TQ1JPTExJTkcpCiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xs
aW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGlu
Zy9TY3JvbGxpbmdDb29yZGluYXRvci5oCmluZGV4IDVhNDhmYmQ5Y2EwZmQyMzE1NzIwOGRlMWI2
MjE4ZjFhMWY3YTJmN2EuLjMxZmFkYjMyODVmYmQ5MDc1MmZkMzBjY2U3MWI4YzA4ZjBiNGJlNDkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3Jk
aW5hdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29v
cmRpbmF0b3IuaApAQCAtNTUsNiArNTUsMTAgQEAgY2xhc3MgU2Nyb2xsaW5nVHJlZVN0YXRlOwog
Y2xhc3MgU2Nyb2xsaW5nVHJlZTsKICNlbmRpZgogCisjaWYgRU5BQkxFKE9WRVJGTE9XX1NDUk9M
TElORykKK2NsYXNzIFNjcm9sbGFibGVBcmVhOworI2VuZGlmCisKIGNsYXNzIFNjcm9sbGluZ0Nv
b3JkaW5hdG9yIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPFNjcm9sbGluZ0Nvb3JkaW5h
dG9yPiB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8U2Nyb2xsaW5nQ29vcmRpbmF0
b3I+IGNyZWF0ZShQYWdlKik7CkBAIC05Miw2ICs5NiwxMSBAQCBwdWJsaWM6CiAgICAgLy8gU2hv
dWxkIGJlIGNhbGxlZCB3aGVuZXZlciB0aGUgdmVydGljYWwgc2Nyb2xsYmFyIGxheWVyIGZvciB0
aGUgZ2l2ZW4gZnJhbWUgdmlldyBjaGFuZ2VzLgogICAgIHZvaWQgZnJhbWVWaWV3VmVydGljYWxT
Y3JvbGxiYXJMYXllckRpZENoYW5nZShGcmFtZVZpZXcqLCBHcmFwaGljc0xheWVyKiB2ZXJ0aWNh
bFNjcm9sbGJhckxheWVyKTsKIAorI2lmIEVOQUJMRShPVkVSRkxPV19TQ1JPTExJTkcpCisgICAg
Ly8gU2hvdWxkIGJlIGNhbGxlZCB3aGVuZXZlciB0aGUgc2Nyb2xsYWJsZSBsYXllciBmb3IgdGhl
IGdpdmVuIHNjcm9sbCBhcmVhIGNoYW5nZXMuCisgICAgdm9pZCBzY3JvbGxhYmxlQXJlYVNjcm9s
bExheWVyRGlkQ2hhbmdlKFNjcm9sbGFibGVBcmVhKiwgR3JhcGhpY3NMYXllciopOworI2VuZGlm
CisKICAgICAvLyBSZXF1ZXN0cyB0aGF0IHRoZSBzY3JvbGxpbmcgY29vcmRpbmF0b3IgdXBkYXRl
cyB0aGUgc2Nyb2xsIHBvc2l0aW9uIG9mIHRoZSBnaXZlbiBmcmFtZSB2aWV3LiBJZiB0aGlzIGZ1
bmN0aW9uIHJldHVybnMgdHJ1ZSwgaXQgbWVhbnMgdGhhdCB0aGUKICAgICAvLyBwb3NpdGlvbiB3
aWxsIGJlIHVwZGF0ZWQgYXN5bmNocm9ub3VzbHkuIElmIGl0IHJldHVybnMgZmFsc2UsIHRoZSBj
YWxsZXIgc2hvdWxkIHVwZGF0ZSB0aGUgc2Nyb2xsaW5nIHBvc2l0aW9uIGl0c2VsZi4KICAgICBi
b29sIHJlcXVlc3RTY3JvbGxQb3NpdGlvblVwZGF0ZShGcmFtZVZpZXcqLCBjb25zdCBJbnRQb2lu
dCYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5n
Q29vcmRpbmF0b3JOb25lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9s
bGluZ0Nvb3JkaW5hdG9yTm9uZS5jcHAKaW5kZXggYjVlMDcxOTVlZjg3NTk5NmNhMWM2YWVhOTE3
NmJlY2JmZGRhMmMyZi4uNjI5ZWVhNmQ1YjQzMWIzYTQyMTZhYjNjZjU5Njk5ZWRhYzA5NjBlNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRp
bmF0b3JOb25lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxp
bmdDb29yZGluYXRvck5vbmUuY3BwCkBAIC04OSw2ICs4OSwxMyBAQCBTdHJpbmcgU2Nyb2xsaW5n
Q29vcmRpbmF0b3I6OnNjcm9sbGluZ1RyZWVBc1RleHQoKSBjb25zdAogewogICAgIHJldHVybiBT
dHJpbmcoKTsKIH0KKworI2lmIEVOQUJMRShPVkVSRkxPV19TQ1JPTExJTkcpCit2b2lkIFNjcm9s
bGluZ0Nvb3JkaW5hdG9yOjpzY3JvbGxhYmxlQXJlYVNjcm9sbExheWVyRGlkQ2hhbmdlKFNjcm9s
bGFibGVBcmVhKiwgR3JhcGhpY3NMYXllciopCit7Cit9CisjZW5kaWYKKwogI2VuZGlmIC8vICFF
TkFCTEUoVEhSRUFERURfU0NST0xMSU5HKQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL3Njcm9sbGluZy9jaHJvbWl1bS9TY3JvbGxpbmdDb29yZGluYXRvckNocm9taXVtLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2Nocm9taXVtL1Njcm9sbGluZ0Nvb3Jk
aW5hdG9yQ2hyb21pdW0uY3BwCmluZGV4IDQ3MDkxNzhhYTk3N2E5MGRkOGE5NmM4YmU4ZGZlZjdi
ZTBlMDRiNTEuLmU3MGRlOTEzNzVjOGJmZjE1OTJjYzg0NzJiMGU0NjBkNTBkMmJhNmMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2Nocm9taXVtL1Njcm9sbGluZ0Nv
b3JkaW5hdG9yQ2hyb21pdW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5n
L2Nocm9taXVtL1Njcm9sbGluZ0Nvb3JkaW5hdG9yQ2hyb21pdW0uY3BwCkBAIC0zOSw2ICszOSwx
MCBAQAogI2luY2x1ZGUgIlRleHRTdHJlYW0uaCIKICNpbmNsdWRlICJjYy9DQ1Byb3h5LmgiCiAK
KyNpZiBFTkFCTEUoT1ZFUkZMT1dfU0NST0xMSU5HKQorI2luY2x1ZGUgIkdyYXBoaWNzTGF5ZXJD
aHJvbWl1bS5oIgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU2Nyb2xs
aW5nQ29vcmRpbmF0b3JQcml2YXRlIHsKQEAgLTI5NCw0ICsyOTgsMTkgQEAgU3RyaW5nIFNjcm9s
bGluZ0Nvb3JkaW5hdG9yOjpzY3JvbGxpbmdUcmVlQXNUZXh0KCkgY29uc3QKICNlbmRpZgogfQog
CisjaWYgRU5BQkxFKE9WRVJGTE9XX1NDUk9MTElORykKK3ZvaWQgU2Nyb2xsaW5nQ29vcmRpbmF0
b3I6OnNjcm9sbGFibGVBcmVhU2Nyb2xsTGF5ZXJEaWRDaGFuZ2UoU2Nyb2xsYWJsZUFyZWEqIHNj
cm9sbGFibGVBcmVhLCBHcmFwaGljc0xheWVyKiBzY3JvbGxMYXllcikKK3sKKyAgICBHcmFwaGlj
c0xheWVyQ2hyb21pdW0qIGxheWVyID0gc3RhdGljX2Nhc3Q8R3JhcGhpY3NMYXllckNocm9taXVt
Kj4oc2Nyb2xsTGF5ZXIpOworICAgIExheWVyQ2hyb21pdW0qIHBsYXRmb3JtTGF5ZXIgPSBzY3Jv
bGxMYXllciA/IHNjcm9sbExheWVyLT5wbGF0Zm9ybUxheWVyKCkgOiAwOworICAgIGlmIChsYXll
cikKKyAgICAgICAgbGF5ZXItPnNldFNjcm9sbGFibGVBcmVhKHNjcm9sbGFibGVBcmVhKTsKKyAg
ICBpZiAoIXBsYXRmb3JtTGF5ZXIpCisgICAgICAgIHJldHVybjsKKyAgICBwbGF0Zm9ybUxheWVy
LT5zZXRTY3JvbGxhYmxlKHRydWUpOworICAgIHBsYXRmb3JtTGF5ZXItPnNldFNjcm9sbFBvc2l0
aW9uKHNjcm9sbGFibGVBcmVhLT5zY3JvbGxQb3NpdGlvbigpKTsKKyAgICBwbGF0Zm9ybUxheWVy
LT5zZXRNYXhTY3JvbGxQb3NpdGlvbihJbnRTaXplKHNjcm9sbGFibGVBcmVhLT5zY3JvbGxTaXpl
KEhvcml6b250YWxTY3JvbGxiYXIpLCBzY3JvbGxhYmxlQXJlYS0+c2Nyb2xsU2l6ZShWZXJ0aWNh
bFNjcm9sbGJhcikpKTsKK30KKyNlbmRpZgorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Ny
b2xsYWJsZUFyZWEuaAppbmRleCA1YTI3OGE5YjViOWM3YzE4NTFhNGM1MzNjNjBiNTQ1MTUzZmNl
ZDNhLi5hZTcwMDY4ZmZiMzk3MWRkMzEyZWFkYThmMzc5YTViMjEyNTk4NGUwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmgKQEAgLTE3MCw2ICsxNzAsNyBAQCBwdWJs
aWM6CiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogICAgIHZpcnR1YWwgVGlsZWRC
YWNraW5nKiB0aWxlZEJhY2tpbmcoKSB7IHJldHVybiAwOyB9CiAjZW5kaWYKKyAgICB2aXJ0dWFs
IGJvb2wgaGFzQWNjZWxlcmF0ZWRTY3JvbGxpbmcoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQog
CiBwcm90ZWN0ZWQ6CiAgICAgU2Nyb2xsYWJsZUFyZWEoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5jcHAKaW5kZXggMTBkN2I3ZmM4ZGE0
ZjQ4NmQwM2UwMzNmYjQ4MjExNTg2MWFmNjJmMC4uZmU0ZjdiNDY2NTQ4ZWVkMGEyMDg1ZWNlM2Y4
MmExY2E0NTY1NjUxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvR3JhcGhpY3NMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvR3JhcGhpY3NMYXllci5jcHAKQEAgLTI4Myw3ICsyODMsNyBAQCB2b2lkIEdyYXBoaWNzTGF5
ZXI6OnNldFJlcGxpY2F0ZWRCeUxheWVyKEdyYXBoaWNzTGF5ZXIqIGxheWVyKQogICAgIG1fcmVw
bGljYUxheWVyID0gbGF5ZXI7CiB9CiAKLXZvaWQgR3JhcGhpY3NMYXllcjo6c2V0T2Zmc2V0RnJv
bVJlbmRlcmVyKGNvbnN0IEludFNpemUmIG9mZnNldCkKK3ZvaWQgR3JhcGhpY3NMYXllcjo6c2V0
T2Zmc2V0RnJvbVJlbmRlcmVyKGNvbnN0IEludFNpemUmIG9mZnNldCwgYm9vbCBuZWVkc0Rpc3Bs
YXkpCiB7CiAgICAgaWYgKG9mZnNldCA9PSBtX29mZnNldEZyb21SZW5kZXJlcikKICAgICAgICAg
cmV0dXJuOwpAQCAtMjkxLDcgKzI5MSw4IEBAIHZvaWQgR3JhcGhpY3NMYXllcjo6c2V0T2Zmc2V0
RnJvbVJlbmRlcmVyKGNvbnN0IEludFNpemUmIG9mZnNldCkKICAgICBtX29mZnNldEZyb21SZW5k
ZXJlciA9IG9mZnNldDsKIAogICAgIC8vIElmIHRoZSBjb21wb3NpdGluZyBsYXllciBvZmZzZXQg
Y2hhbmdlcywgd2UgbmVlZCB0byByZXBhaW50LgotICAgIHNldE5lZWRzRGlzcGxheSgpOworICAg
IGlmIChuZWVkc0Rpc3BsYXkpCisgICAgICAgIHNldE5lZWRzRGlzcGxheSgpOwogfQogCiB2b2lk
IEdyYXBoaWNzTGF5ZXI6OnNldEJhY2tncm91bmRDb2xvcihjb25zdCBDb2xvciYgY29sb3IpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmgKaW5k
ZXggMTZjNzNhNDgzOGUwNDQ3ZTVhYWVhMjY0MGNmMjM2NGZlZDA4NmIzMy4uNGMxMzZjYjU0NzBi
YjQ5MzNiMTlkMDdmZWZiYmVhNGNhMzZmY2QxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuaApAQCAtMjc0LDcgKzI3NCw3IEBAIHB1Ymxp
YzoKIAogICAgIC8vIE9mZnNldCBpcyBvcmlnaW4gb2YgdGhlIHJlbmRlcmVyIG1pbnVzIG9yaWdp
biBvZiB0aGUgZ3JhcGhpY3MgbGF5ZXIgKHNvIGVpdGhlciB6ZXJvIG9yIG5lZ2F0aXZlKS4KICAg
ICBJbnRTaXplIG9mZnNldEZyb21SZW5kZXJlcigpIGNvbnN0IHsgcmV0dXJuIG1fb2Zmc2V0RnJv
bVJlbmRlcmVyOyB9Ci0gICAgdm9pZCBzZXRPZmZzZXRGcm9tUmVuZGVyZXIoY29uc3QgSW50U2l6
ZSYpOworICAgIHZvaWQgc2V0T2Zmc2V0RnJvbVJlbmRlcmVyKGNvbnN0IEludFNpemUmLCBib29s
IG5lZWRzRGlzcGxheSA9IHRydWUpOwogCiAgICAgLy8gVGhlIHBvc2l0aW9uIG9mIHRoZSBsYXll
ciAodGhlIGxvY2F0aW9uIG9mIGl0cyB0b3AtbGVmdCBjb3JuZXIgaW4gaXRzIHBhcmVudCkKICAg
ICBjb25zdCBGbG9hdFBvaW50JiBwb3NpdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fcG9zaXRpb247
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L0dyYXBoaWNzTGF5ZXJDaHJvbWl1bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9HcmFwaGljc0xheWVyQ2hyb21pdW0uY3BwCmluZGV4IDU4NDFiNDdjYWEw
OTRmMDJhMjY5N2YzYTcxNWQ0MDVjOTc4NDY0NzEuLjc2MWFmNDMwMDU1NTNiZmJjNGE5MTdiNjcx
NDFhNzlhMjhhYjQzNDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL0dyYXBoaWNzTGF5ZXJDaHJvbWl1bS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vR3JhcGhpY3NMYXllckNocm9taXVtLmNwcApA
QCAtODksMTAgKzg5LDEyIEBAIEdyYXBoaWNzTGF5ZXJDaHJvbWl1bTo6R3JhcGhpY3NMYXllckNo
cm9taXVtKEdyYXBoaWNzTGF5ZXJDbGllbnQqIGNsaWVudCkKICAgICAsIG1fY29udGVudHNMYXll
ckhhc0JhY2tncm91bmRDb2xvcihmYWxzZSkKICAgICAsIG1faW5TZXRDaGlsZHJlbihmYWxzZSkK
ICAgICAsIG1fcGFnZVNjYWxlQ2hhbmdlZChmYWxzZSkKKyAgICAsIG1fc2Nyb2xsYWJsZUFyZWEo
MCkKIHsKICAgICBtX29wYXF1ZVJlY3RUcmFja2luZ0NvbnRlbnRMYXllckRlbGVnYXRlID0gYWRv
cHRQdHIobmV3IE9wYXF1ZVJlY3RUcmFja2luZ0NvbnRlbnRMYXllckRlbGVnYXRlKHRoaXMpKTsK
ICAgICBtX2xheWVyID0gV2ViQ29udGVudExheWVyOjpjcmVhdGUobV9vcGFxdWVSZWN0VHJhY2tp
bmdDb250ZW50TGF5ZXJEZWxlZ2F0ZS5nZXQoKSk7CiAgICAgbV9sYXllci5zZXREcmF3c0NvbnRl
bnQobV9kcmF3c0NvbnRlbnQgJiYgbV9jb250ZW50c1Zpc2libGUpOworICAgIG1fbGF5ZXIudW53
cmFwPExheWVyQ2hyb21pdW0+KCktPnNldExheWVyU2Nyb2xsRGVsZWdhdGUodGhpcyk7CiAKICAg
ICB1cGRhdGVEZWJ1Z0luZGljYXRvcnMoKTsKIH0KQEAgLTkwOCw2ICs5MTAsMTIgQEAgdm9pZCBH
cmFwaGljc0xheWVyQ2hyb21pdW06Om5vdGlmeUFuaW1hdGlvbkZpbmlzaGVkKGRvdWJsZSkKICAg
ICAvLyBEbyBub3RoaW5nLgogfQogCit2b2lkIEdyYXBoaWNzTGF5ZXJDaHJvbWl1bTo6ZGlkU2Ny
b2xsKGNvbnN0IEludFNpemUmIHNjcm9sbERlbHRhKQoreworICAgIGlmIChtX3Njcm9sbGFibGVB
cmVhKQorICAgICAgICBtX3Njcm9sbGFibGVBcmVhLT5zY3JvbGxUb09mZnNldFdpdGhvdXRBbmlt
YXRpb24obV9zY3JvbGxhYmxlQXJlYS0+c2Nyb2xsUG9zaXRpb24oKSArIHNjcm9sbERlbHRhKTsK
K30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gVVNFKEFDQ0VMRVJBVEVE
X0NPTVBPU0lUSU5HKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vR3JhcGhpY3NMYXllckNocm9taXVtLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9HcmFwaGljc0xheWVyQ2hyb21pdW0uaAppbmRleCBkZWRl
YzZhNTVlNmUxYjZlZGEzZTQ1NDE0ZGE4NjIyYzNhYzkzNjZmLi4yNTIyNTM1ODUzYzYwMzVhZGVk
YWY2MzllMTQ2YTFjODE2NjYxZmU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9HcmFwaGljc0xheWVyQ2hyb21pdW0uaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9HcmFwaGljc0xheWVyQ2hyb21pdW0u
aApAQCAtMzcsNiArMzcsNyBAQAogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgogI2luY2x1
ZGUgIkdyYXBoaWNzTGF5ZXIuaCIKICNpbmNsdWRlICJPcGFxdWVSZWN0VHJhY2tpbmdDb250ZW50
TGF5ZXJEZWxlZ2F0ZS5oIgorI2luY2x1ZGUgIlNjcm9sbGFibGVBcmVhLmgiCiAjaW5jbHVkZSAi
Y2MvQ0NMYXllckFuaW1hdGlvbkRlbGVnYXRlLmgiCiAKICNpbmNsdWRlIDxwdWJsaWMvV2ViQ29u
dGVudExheWVyLmg+CkBAIC00OCw3ICs0OSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNz
IExheWVyQ2hyb21pdW07CiBjbGFzcyBMaW5rSGlnaGxpZ2h0OwogCi1jbGFzcyBHcmFwaGljc0xh
eWVyQ2hyb21pdW0gOiBwdWJsaWMgR3JhcGhpY3NMYXllciwgcHVibGljIEdyYXBoaWNzQ29udGV4
dFBhaW50ZXIsIHB1YmxpYyBDQ0xheWVyQW5pbWF0aW9uRGVsZWdhdGUgeworY2xhc3MgR3JhcGhp
Y3NMYXllckNocm9taXVtIDogcHVibGljIEdyYXBoaWNzTGF5ZXIsIHB1YmxpYyBHcmFwaGljc0Nv
bnRleHRQYWludGVyLCBwdWJsaWMgQ0NMYXllckFuaW1hdGlvbkRlbGVnYXRlLCBwdWJsaWMgTGF5
ZXJDaHJvbWl1bVNjcm9sbERlbGVnYXRlIHsKIHB1YmxpYzoKICAgICBHcmFwaGljc0xheWVyQ2hy
b21pdW0oR3JhcGhpY3NMYXllckNsaWVudCopOwogICAgIHZpcnR1YWwgfkdyYXBoaWNzTGF5ZXJD
aHJvbWl1bSgpOwpAQCAtMTE4LDYgKzExOSw5IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQg
c2V0RGVidWdCb3JkZXIoY29uc3QgQ29sb3ImLCBmbG9hdCBib3JkZXJXaWR0aCk7CiAgICAgdmly
dHVhbCB2b2lkIGRldmljZU9yUGFnZVNjYWxlRmFjdG9yQ2hhbmdlZCgpOwogCisgICAgdm9pZCBz
ZXRTY3JvbGxhYmxlQXJlYShTY3JvbGxhYmxlQXJlYSogc2Nyb2xsYWJsZUFyZWEpIHsgbV9zY3Jv
bGxhYmxlQXJlYSA9IHNjcm9sbGFibGVBcmVhOyB9CisgICAgU2Nyb2xsYWJsZUFyZWEqIHNjcm9s
bGFibGVBcmVhKCkgY29uc3QgeyByZXR1cm4gbV9zY3JvbGxhYmxlQXJlYTsgfQorCiAgICAgLy8g
R3JhcGhpY3NDb250ZXh0UGFpbnRlciBpbXBsZW1lbnRhdGlvbi4KICAgICB2aXJ0dWFsIHZvaWQg
cGFpbnQoR3JhcGhpY3NDb250ZXh0JiwgY29uc3QgSW50UmVjdCYgY2xpcCkgT1ZFUlJJREU7CiAK
QEAgLTEyNSw2ICsxMjksOSBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIG5vdGlmeUFuaW1h
dGlvblN0YXJ0ZWQoZG91YmxlIHN0YXJ0VGltZSk7CiAgICAgdmlydHVhbCB2b2lkIG5vdGlmeUFu
aW1hdGlvbkZpbmlzaGVkKGRvdWJsZSBmaW5pc2hUaW1lKTsKIAorICAgIC8vIExheWVyQ2hyb21p
dW1TY3JvbGxEZWxlZ2F0ZSBpbXBsZW1lbnRhdGlvbi4KKyAgICB2aXJ0dWFsIHZvaWQgZGlkU2Ny
b2xsKGNvbnN0IEludFNpemUmKSBPVkVSUklERTsKKwogICAgIC8vIEV4cG9zZWQgZm9yIHRlc3Rz
LgogICAgIFdlYktpdDo6V2ViTGF5ZXIgY29udGVudHNMYXllcigpIGNvbnN0IHsgcmV0dXJuIG1f
Y29udGVudHNMYXllcjsgfQogCkBAIC0xODEsNiArMTg4LDggQEAgcHJpdmF0ZToKIAogICAgIHR5
cGVkZWYgSGFzaE1hcDxTdHJpbmcsIGludD4gQW5pbWF0aW9uSWRNYXA7CiAgICAgQW5pbWF0aW9u
SWRNYXAgbV9hbmltYXRpb25JZE1hcDsKKworICAgIFNjcm9sbGFibGVBcmVhKiBtX3Njcm9sbGFi
bGVBcmVhOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCbG9jay5jcHAKaW5kZXggNzI4NmU5YWJiMjI1MjdlYzFiZTNhMWUxN2I3YWFh
MTYyOGM2Y2ZhOS4uYjc1NDFlNjVhOGJmMGQ5ZmFiOWEyNzIzNzA1MjMxZmZlOWI4MjgwMSAxMDA3
NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCkBAIC0xNTc5LDggKzE1Nzks
OSBAQCB2b2lkIFJlbmRlckJsb2NrOjpsYXlvdXRCbG9jayhib29sIHJlbGF5b3V0Q2hpbGRyZW4s
IExheW91dFVuaXQgcGFnZUxvZ2ljYWxIZWlnaAogICAgICAgICAgICAgLy8gQWRqdXN0IHJlcGFp
bnQgcmVjdCBmb3Igc2Nyb2xsIG9mZnNldAogICAgICAgICAgICAgcmVwYWludFJlY3QubW92ZSgt
c2Nyb2xsZWRDb250ZW50T2Zmc2V0KCkpOwogCi0gICAgICAgICAgICAvLyBEb24ndCBhbGxvdyB0
aGlzIHJlY3QgdG8gc3BpbGwgb3V0IG9mIG91ciBvdmVyZmxvdyBib3guCi0gICAgICAgICAgICBy
ZXBhaW50UmVjdC5pbnRlcnNlY3QoTGF5b3V0UmVjdChMYXlvdXRQb2ludCgpLCBzaXplKCkpKTsK
KyAgICAgICAgICAgIC8vIERvbid0IGFsbG93IHRoaXMgcmVjdCB0byBzcGlsbCBvdXQgb2Ygb3Vy
IG92ZXJmbG93IGJveCwgdW5sZXNzIHRoZSBsYXllciBpcyBzY3JvbGxhYmxlLgorICAgICAgICAg
ICAgaWYgKCFsYXllcigpLT5zaG91bGRQYWludE91dHNpZGVPdmVyZmxvd0NsaXAoKSkKKyAgICAg
ICAgICAgICAgICByZXBhaW50UmVjdC5pbnRlcnNlY3QoTGF5b3V0UmVjdChMYXlvdXRQb2ludCgp
LCBzaXplKCkpKTsKICAgICAgICAgfQogCiAgICAgICAgIC8vIE1ha2Ugc3VyZSB0aGUgcmVjdCBp
cyBzdGlsbCBub24tZW1wdHkgYWZ0ZXIgaW50ZXJzZWN0aW5nIGZvciBvdmVyZmxvdyBhYm92ZQpA
QCAtMjYzMCw3ICsyNjMxLDggQEAgdm9pZCBSZW5kZXJCbG9jazo6cGFpbnQoUGFpbnRJbmZvJiBw
YWludEluZm8sIGNvbnN0IExheW91dFBvaW50JiBwYWludE9mZnNldCkKICAgICAvLyBDaGVjayBp
ZiB3ZSBuZWVkIHRvIGRvIGFueXRoaW5nIGF0IGFsbC4KICAgICAvLyBGSVhNRTogQ291bGQgZWxp
bWluYXRlIHRoZSBpc1Jvb3QoKSBjaGVjayBpZiB3ZSBmaXggYmFja2dyb3VuZCBwYWludGluZyBz
byB0aGF0IHRoZSBSZW5kZXJWaWV3CiAgICAgLy8gcGFpbnRzIHRoZSByb290J3MgYmFja2dyb3Vu
ZC4KLSAgICBpZiAoIWlzUm9vdCgpKSB7CisgICAgYm9vbCBzaG91bGRQYWludE91dHNpZGVPdmVy
Zmxvd0NsaXAgPSBoYXNMYXllcigpICYmIGxheWVyKCktPnNob3VsZFBhaW50T3V0c2lkZU92ZXJm
bG93Q2xpcCgpOworICAgIGlmICghaXNSb290KCkgJiYgIXNob3VsZFBhaW50T3V0c2lkZU92ZXJm
bG93Q2xpcCkgewogICAgICAgICBMYXlvdXRSZWN0IG92ZXJmbG93Qm94ID0gdmlzdWFsT3ZlcmZs
b3dSZWN0KCk7CiAgICAgICAgIGZsaXBGb3JXcml0aW5nTW9kZShvdmVyZmxvd0JveCk7CiAgICAg
ICAgIG92ZXJmbG93Qm94LmluZmxhdGUobWF4aW1hbE91dGxpbmVTaXplKHBhaW50SW5mby5waGFz
ZSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAppbmRleCBkZGNhMDdkZDI5
ZTYyMjA1M2Q4NjBjZGI2NzlmOWViYjA3YmQxZTRjLi5kODYyODFmYjBkZDg5NmQ1NjQwNjBhZWY4
NDYyNGYzM2VlY2Y4YWRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcApA
QCAtNjUxLDYgKzY1MSwyMCBAQCBMYXlvdXRTaXplIFJlbmRlckJveDo6Y2FjaGVkU2l6ZUZvck92
ZXJmbG93Q2xpcCgpIGNvbnN0CiAgICAgcmV0dXJuIGxheWVyKCktPnNpemUoKTsKIH0KIAordm9p
ZCBSZW5kZXJCb3g6OmFwcGx5Q2FjaGVkQ2xpcEFuZFNjcm9sbE9mZnNldEZvclJlcGFpbnQoTGF5
b3V0UmVjdCYgcGFpbnRSZWN0KSBjb25zdAoreworICAgIHBhaW50UmVjdC5tb3ZlKC1zY3JvbGxl
ZENvbnRlbnRPZmZzZXQoKSk7IC8vIEZvciBvdmVyZmxvdzphdXRvL3Njcm9sbC9oaWRkZW4uCisK
KyAgICBpZiAoaGFzTGF5ZXIoKSAmJiBsYXllcigpLT5zaG91bGRQYWludE91dHNpZGVPdmVyZmxv
d0NsaXAoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgLy8gaGVpZ2h0KCkgaXMgaW5hY2N1cmF0
ZSBpZiB3ZSdyZSBpbiB0aGUgbWlkZGxlIG9mIGEgbGF5b3V0IG9mIHRoaXMgUmVuZGVyQm94LCBz
byB1c2UgdGhlCisgICAgLy8gbGF5ZXIncyBzaXplIGluc3RlYWQuIEV2ZW4gaWYgdGhlIGxheWVy
J3Mgc2l6ZSBpcyB3cm9uZywgdGhlIGxheWVyIGl0c2VsZiB3aWxsIHJlcGFpbnQKKyAgICAvLyBh
bnl3YXkgaWYgaXRzIHNpemUgZG9lcyBjaGFuZ2UuCisgICAgTGF5b3V0UmVjdCBjbGlwUmVjdChM
YXlvdXRQb2ludCgpLCBjYWNoZWRTaXplRm9yT3ZlcmZsb3dDbGlwKCkpOworICAgIHBhaW50UmVj
dCA9IGludGVyc2VjdGlvbihwYWludFJlY3QsIGNsaXBSZWN0KTsKK30KKwogTGF5b3V0VW5pdCBS
ZW5kZXJCb3g6Om1pblByZWZlcnJlZExvZ2ljYWxXaWR0aCgpIGNvbnN0CiB7CiAgICAgaWYgKHBy
ZWZlcnJlZExvZ2ljYWxXaWR0aHNEaXJ0eSgpKQpAQCAtMTU4NSwyMSArMTU5OSwxMyBAQCB2b2lk
IFJlbmRlckJveDo6Y29tcHV0ZVJlY3RGb3JSZXBhaW50KFJlbmRlckJveE1vZGVsT2JqZWN0KiBy
ZXBhaW50Q29udGFpbmVyLCBMYQogCiAgICAgLy8gRklYTUU6IFdlIGlnbm9yZSB0aGUgbGlnaHR3
ZWlnaHQgY2xpcHBpbmcgcmVjdCB0aGF0IGNvbnRyb2xzIHVzZSwgc2luY2UgaWYgfG98IGlzIGlu
IG1pZC1sYXlvdXQsCiAgICAgLy8gaXRzIGNvbnRyb2xDbGlwUmVjdCB3aWxsIGJlIHdyb25nLiBG
b3Igb3ZlcmZsb3cgY2xpcCB3ZSB1c2UgdGhlIHZhbHVlcyBjYWNoZWQgYnkgdGhlIGxheWVyLgor
ICAgIHJlY3Quc2V0TG9jYXRpb24odG9wTGVmdCk7CiAgICAgaWYgKG8tPmhhc092ZXJmbG93Q2xp
cCgpKSB7CiAgICAgICAgIFJlbmRlckJveCogY29udGFpbmVyQm94ID0gdG9SZW5kZXJCb3gobyk7
Ci0KLSAgICAgICAgLy8gby0+aGVpZ2h0KCkgaXMgaW5hY2N1cmF0ZSBpZiB3ZSdyZSBpbiB0aGUg
bWlkZGxlIG9mIGEgbGF5b3V0IG9mIHxvfCwgc28gdXNlIHRoZQotICAgICAgICAvLyBsYXllcidz
IHNpemUgaW5zdGVhZC4gIEV2ZW4gaWYgdGhlIGxheWVyJ3Mgc2l6ZSBpcyB3cm9uZywgdGhlIGxh
eWVyIGl0c2VsZiB3aWxsIHJlcGFpbnQKLSAgICAgICAgLy8gYW55d2F5IGlmIGl0cyBzaXplIGRv
ZXMgY2hhbmdlLgotICAgICAgICB0b3BMZWZ0IC09IGNvbnRhaW5lckJveC0+c2Nyb2xsZWRDb250
ZW50T2Zmc2V0KCk7IC8vIEZvciBvdmVyZmxvdzphdXRvL3Njcm9sbC9oaWRkZW4uCi0KLSAgICAg
ICAgTGF5b3V0UmVjdCByZXBhaW50UmVjdCh0b3BMZWZ0LCByZWN0LnNpemUoKSk7Ci0gICAgICAg
IExheW91dFJlY3QgYm94UmVjdChMYXlvdXRQb2ludCgpLCBjb250YWluZXJCb3gtPmNhY2hlZFNp
emVGb3JPdmVyZmxvd0NsaXAoKSk7Ci0gICAgICAgIHJlY3QgPSBpbnRlcnNlY3Rpb24ocmVwYWlu
dFJlY3QsIGJveFJlY3QpOworICAgICAgICBjb250YWluZXJCb3gtPmFwcGx5Q2FjaGVkQ2xpcEFu
ZFNjcm9sbE9mZnNldEZvclJlcGFpbnQocmVjdCk7CiAgICAgICAgIGlmIChyZWN0LmlzRW1wdHko
KSkKICAgICAgICAgICAgIHJldHVybjsKLSAgICB9IGVsc2UKLSAgICAgICAgcmVjdC5zZXRMb2Nh
dGlvbih0b3BMZWZ0KTsKKyAgICB9CiAKICAgICBpZiAoY29udGFpbmVyU2tpcHBlZCkgewogICAg
ICAgICAvLyBJZiB0aGUgcmVwYWludENvbnRhaW5lciBpcyBiZWxvdyBvLCB0aGVuIHdlIG5lZWQg
dG8gbWFwIHRoZSByZWN0IGludG8gcmVwYWludENvbnRhaW5lcidzIGNvb3JkaW5hdGVzLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCmluZGV4IDRiZWJmN2VhYjgwMTA5NTg5YjQ4NjEx
ZDQ3MTZmZGRhOGI3NjYyNDAuLmVmNTljMDEwYmU0ZWE0N2Y1NjVkYjg1NDdjNDRjNTU2Yzg4YTAx
OWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgKQEAgLTQ2MSw2ICs0NjEsNyBA
QCBwdWJsaWM6CiAKICAgICBJbnRTaXplIHNjcm9sbGVkQ29udGVudE9mZnNldCgpIGNvbnN0Owog
ICAgIExheW91dFNpemUgY2FjaGVkU2l6ZUZvck92ZXJmbG93Q2xpcCgpIGNvbnN0OworICAgIHZv
aWQgYXBwbHlDYWNoZWRDbGlwQW5kU2Nyb2xsT2Zmc2V0Rm9yUmVwYWludChMYXlvdXRSZWN0JiBw
YWludFJlY3QpIGNvbnN0OwogCiAgICAgdmlydHVhbCBib29sIGhhc1JlbGF0aXZlRGltZW5zaW9u
cygpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBoYXNSZWxhdGl2ZUxvZ2ljYWxIZWlnaHQoKSBj
b25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5jcHAKaW5kZXggMGUw
YjQ1MzIxZjMxZDQzZmU4N2E5ZmVhMWIxMGUxNjQxMjA0YTM0NC4uZGU1Y2MyNTVmNDM5ZTE5NGQz
M2NmZGEyNDAwZGE2NzEzMDgwZWE2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlcklubGluZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
cklubGluZS5jcHAKQEAgLTk4NCwxNSArOTg0LDggQEAgTGF5b3V0UmVjdCBSZW5kZXJJbmxpbmU6
OmNsaXBwZWRPdmVyZmxvd1JlY3RGb3JSZXBhaW50KFJlbmRlckJveE1vZGVsT2JqZWN0KiByZXAK
ICAgICBpZiAoY2ItPmhhc0NvbHVtbnMoKSkKICAgICAgICAgY2ItPmFkanVzdFJlY3RGb3JDb2x1
bW5zKHJlcGFpbnRSZWN0KTsKIAotICAgIGlmIChjYi0+aGFzT3ZlcmZsb3dDbGlwKCkpIHsKLSAg
ICAgICAgLy8gY2ItPmhlaWdodCgpIGlzIGluYWNjdXJhdGUgaWYgd2UncmUgaW4gdGhlIG1pZGRs
ZSBvZiBhIGxheW91dCBvZiB8Y2J8LCBzbyB1c2UgdGhlCi0gICAgICAgIC8vIGxheWVyJ3Mgc2l6
ZSBpbnN0ZWFkLiAgRXZlbiBpZiB0aGUgbGF5ZXIncyBzaXplIGlzIHdyb25nLCB0aGUgbGF5ZXIg
aXRzZWxmIHdpbGwgcmVwYWludAotICAgICAgICAvLyBhbnl3YXkgaWYgaXRzIHNpemUgZG9lcyBj
aGFuZ2UuCi0gICAgICAgIHJlcGFpbnRSZWN0Lm1vdmUoLWNiLT5zY3JvbGxlZENvbnRlbnRPZmZz
ZXQoKSk7IC8vIEZvciBvdmVyZmxvdzphdXRvL3Njcm9sbC9oaWRkZW4uCi0KLSAgICAgICAgTGF5
b3V0UmVjdCBib3hSZWN0KExheW91dFBvaW50KCksIGNiLT5jYWNoZWRTaXplRm9yT3ZlcmZsb3dD
bGlwKCkpOwotICAgICAgICByZXBhaW50UmVjdC5pbnRlcnNlY3QoYm94UmVjdCk7Ci0gICAgfQor
ICAgIGlmIChjYi0+aGFzT3ZlcmZsb3dDbGlwKCkpCisgICAgICAgIGNiLT5hcHBseUNhY2hlZENs
aXBBbmRTY3JvbGxPZmZzZXRGb3JSZXBhaW50KHJlcGFpbnRSZWN0KTsKIAogICAgIGNiLT5jb21w
dXRlUmVjdEZvclJlcGFpbnQocmVwYWludENvbnRhaW5lciwgcmVwYWludFJlY3QpOwogCkBAIC0x
MDY0LDIxICsxMDU3LDEzIEBAIHZvaWQgUmVuZGVySW5saW5lOjpjb21wdXRlUmVjdEZvclJlcGFp
bnQoUmVuZGVyQm94TW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIsCiAgICAgCiAgICAgLy8g
RklYTUU6IFdlIGlnbm9yZSB0aGUgbGlnaHR3ZWlnaHQgY2xpcHBpbmcgcmVjdCB0aGF0IGNvbnRy
b2xzIHVzZSwgc2luY2UgaWYgfG98IGlzIGluIG1pZC1sYXlvdXQsCiAgICAgLy8gaXRzIGNvbnRy
b2xDbGlwUmVjdCB3aWxsIGJlIHdyb25nLiBGb3Igb3ZlcmZsb3cgY2xpcCB3ZSB1c2UgdGhlIHZh
bHVlcyBjYWNoZWQgYnkgdGhlIGxheWVyLgorICAgIHJlY3Quc2V0TG9jYXRpb24odG9wTGVmdCk7
CiAgICAgaWYgKG8tPmhhc092ZXJmbG93Q2xpcCgpKSB7CiAgICAgICAgIFJlbmRlckJveCogY29u
dGFpbmVyQm94ID0gdG9SZW5kZXJCb3gobyk7Ci0KLSAgICAgICAgLy8gby0+aGVpZ2h0KCkgaXMg
aW5hY2N1cmF0ZSBpZiB3ZSdyZSBpbiB0aGUgbWlkZGxlIG9mIGEgbGF5b3V0IG9mIHxvfCwgc28g
dXNlIHRoZQotICAgICAgICAvLyBsYXllcidzIHNpemUgaW5zdGVhZC4gIEV2ZW4gaWYgdGhlIGxh
eWVyJ3Mgc2l6ZSBpcyB3cm9uZywgdGhlIGxheWVyIGl0c2VsZiB3aWxsIHJlcGFpbnQKLSAgICAg
ICAgLy8gYW55d2F5IGlmIGl0cyBzaXplIGRvZXMgY2hhbmdlLgotICAgICAgICB0b3BMZWZ0IC09
IGNvbnRhaW5lckJveC0+c2Nyb2xsZWRDb250ZW50T2Zmc2V0KCk7IC8vIEZvciBvdmVyZmxvdzph
dXRvL3Njcm9sbC9oaWRkZW4uCi0KLSAgICAgICAgTGF5b3V0UmVjdCByZXBhaW50UmVjdCh0b3BM
ZWZ0LCByZWN0LnNpemUoKSk7Ci0gICAgICAgIExheW91dFJlY3QgYm94UmVjdChMYXlvdXRQb2lu
dCgpLCBjb250YWluZXJCb3gtPmNhY2hlZFNpemVGb3JPdmVyZmxvd0NsaXAoKSk7Ci0gICAgICAg
IHJlY3QgPSBpbnRlcnNlY3Rpb24ocmVwYWludFJlY3QsIGJveFJlY3QpOworICAgICAgICBjb250
YWluZXJCb3gtPmFwcGx5Q2FjaGVkQ2xpcEFuZFNjcm9sbE9mZnNldEZvclJlcGFpbnQocmVjdCk7
CiAgICAgICAgIGlmIChyZWN0LmlzRW1wdHkoKSkKICAgICAgICAgICAgIHJldHVybjsKLSAgICB9
IGVsc2UKLSAgICAgICAgcmVjdC5zZXRMb2NhdGlvbih0b3BMZWZ0KTsKKyAgICB9CiAKICAgICBp
ZiAoY29udGFpbmVyU2tpcHBlZCkgewogICAgICAgICAvLyBJZiB0aGUgcmVwYWludENvbnRhaW5l
ciBpcyBiZWxvdyBvLCB0aGVuIHdlIG5lZWQgdG8gbWFwIHRoZSByZWN0IGludG8gcmVwYWludENv
bnRhaW5lcidzIGNvb3JkaW5hdGVzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXll
ci5jcHAKaW5kZXggZWMzNjMyY2IyMzM2MzE1OTBjMDU5YTI5MDk3MTk0ZjM4YTA0OTFhMS4uMmZk
OWFlZWMzZWFjZmFmNTdmYjc5ZjA1MWFhNzkzMDc2ZTEwNTI1MyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCkBAIC0yNTgsNiArMjU4LDI5IEBAIHZvaWQgUmVuZGVy
TGF5ZXI6OmNvbnRlbnRDaGFuZ2VkKENvbnRlbnRDaGFuZ2VUeXBlIGNoYW5nZVR5cGUpCiB9CiAj
ZW5kaWYgLy8gVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogCitib29sIFJlbmRlckxheWVy
OjpoYXNBY2NlbGVyYXRlZFNjcm9sbGluZygpIGNvbnN0Cit7CisjaWYgRU5BQkxFKE9WRVJGTE9X
X1NDUk9MTElORykKKyAgICBpZiAoIXNjcm9sbHNPdmVyZmxvdygpKQorICAgICAgICByZXR1cm4g
ZmFsc2U7CisgICAgUmVuZGVyU3R5bGUqIHN0eWxlID0gcmVuZGVyZXIoKS0+c3R5bGUoKTsKKyAg
ICAvLyBGSVhNRTogT3V0bGluZXMgY3VycmVudGx5IGVuZCB1cCBvbiB0aGUgc2Nyb2xsaW5nIGZv
cmVncm91bmQgbGF5ZXIuCisgICAgaWYgKHN0eWxlLT5oYXNPdXRsaW5lKCkpCisgICAgICAgIHJl
dHVybiBmYWxzZTsKKyAgICByZXR1cm4gc3R5bGUtPnVzZVRvdWNoT3ZlcmZsb3dTY3JvbGxpbmco
KTsKKyNlbHNlCisgICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCit9CisKK2Jvb2wgUmVuZGVyTGF5
ZXI6OnNob3VsZFBhaW50T3V0c2lkZU92ZXJmbG93Q2xpcCgpIGNvbnN0Cit7CisgICAgLy8gSWYg
YWNjZWxlcmF0ZWQgc2Nyb2xsaW5nIGlzIHVzZWQsIGRvbid0IGNsaXAgdGhlIHJlcGFpbnRzIHRv
IHRoZSBzY3JvbGwgdmlld3BvcnQuIFRoaXMgaXMKKyAgICAvLyBkb25lIHRvIGluY3JlYXNlIHRo
ZSBjaGFuY2VzIHRoYXQgd2UgYWxyZWFkeSBoYXZlIHZhbGlkIGNvbnRlbnQgaW4gdGhlIGxheWVy
IGJhY2tpbmcgd2hlbgorICAgIC8vIHRoZSB1c2VyIHNjcm9sbHMgdGhlIGxheWVyLgorICAgIHJl
dHVybiByZW5kZXJlcigpLT5oYXNPdmVyZmxvd0NsaXAoKSAmJiBoYXNBY2NlbGVyYXRlZFNjcm9s
bGluZygpOworfQorCiBib29sIFJlbmRlckxheWVyOjpjYW5SZW5kZXIzRFRyYW5zZm9ybXMoKSBj
b25zdAogewogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKQEAgLTE2NDYsOCArMTY2
OSwxMCBAQCB2b2lkIFJlbmRlckxheWVyOjpzY3JvbGxUbyhpbnQgeCwgaW50IHkpCiAgICAgICAg
IGZyYW1lLT5ldmVudEhhbmRsZXIoKS0+ZGlzcGF0Y2hGYWtlTW91c2VNb3ZlRXZlbnRTb29uSW5R
dWFkKHF1YWRGb3JGYWtlTW91c2VNb3ZlRXZlbnQpOwogICAgIH0KIAotICAgIC8vIEp1c3Qgc2No
ZWR1bGUgYSBmdWxsIHJlcGFpbnQgb2Ygb3VyIG9iamVjdC4KLSAgICBpZiAodmlldykKKyAgICAv
LyBKdXN0IHNjaGVkdWxlIGEgZnVsbCByZXBhaW50IG9mIG91ciBvYmplY3QuIFBhaW50aW5nIGlz
IGJlIGRyaXZlbiBieSB0aGUKKyAgICAvLyBjb21wb3NpdG9yIGluIHRoZSBhY2NlbGVyYXRlZCBz
Y3JvbGxpbmcgY2FzZSwgc28gdGhlcmUncyBubyBuZWVkIHRvCisgICAgLy8gcmVwYWludCBoZXJl
LgorICAgIGlmICh2aWV3ICYmICFoYXNBY2NlbGVyYXRlZFNjcm9sbGluZygpKQogICAgICAgICBy
ZW5kZXJlcigpLT5yZXBhaW50VXNpbmdDb250YWluZXIocmVwYWludENvbnRhaW5lciwgbV9yZXBh
aW50UmVjdCk7CiAKICAgICAvLyBTY2hlZHVsZSB0aGUgc2Nyb2xsIERPTSBldmVudC4KQEAgLTMw
ODQsOCArMzEwOSwxMyBAQCB2b2lkIFJlbmRlckxheWVyOjpwYWludExheWVyQ29udGVudHMoUmVu
ZGVyTGF5ZXIqIHJvb3RMYXllciwgR3JhcGhpY3NDb250ZXh0KiBjbwogICAgIGlmIChvdmVybGFw
VGVzdFJlcXVlc3RzICYmIGlzU2VsZlBhaW50aW5nTGF5ZXIpCiAgICAgICAgIHBlcmZvcm1PdmVy
bGFwVGVzdHMoKm92ZXJsYXBUZXN0UmVxdWVzdHMsIHJvb3RMYXllciwgdGhpcyk7CiAKLSAgICAv
LyBXZSB3YW50IHRvIHBhaW50IG91ciBsYXllciwgYnV0IG9ubHkgaWYgd2UgaW50ZXJzZWN0IHRo
ZSBkYW1hZ2UgcmVjdC4KLSAgICBzaG91bGRQYWludENvbnRlbnQgJj0gaW50ZXJzZWN0c0RhbWFn
ZVJlY3QobGF5ZXJCb3VuZHMsIGRhbWFnZVJlY3QucmVjdCgpLCByb290TGF5ZXIpOworICAgIGlm
IChzaG91bGRQYWludE91dHNpZGVPdmVyZmxvd0NsaXAoKSAmJiAobG9jYWxQYWludEZsYWdzICYg
UGFpbnRMYXllclBhaW50aW5nQ29tcG9zaXRpbmdGb3JlZ3JvdW5kUGhhc2UpKSB7CisgICAgICAg
IHVzZUNsaXBSZWN0ID0gZmFsc2U7CisgICAgICAgIGNsaXBSZWN0VG9BcHBseSA9IHBhaW50RGly
dHlSZWN0OworICAgIH0gZWxzZSB7CisgICAgICAgIC8vIFdlIHdhbnQgdG8gcGFpbnQgb3VyIGxh
eWVyLCBidXQgb25seSBpZiB3ZSBpbnRlcnNlY3QgdGhlIGRhbWFnZSByZWN0LgorICAgICAgICBz
aG91bGRQYWludENvbnRlbnQgJj0gaW50ZXJzZWN0c0RhbWFnZVJlY3QobGF5ZXJCb3VuZHMsIGRh
bWFnZVJlY3QucmVjdCgpLCByb290TGF5ZXIpOworICAgIH0KICAgICAKICAgICBpZiAobG9jYWxQ
YWludEZsYWdzICYgUGFpbnRMYXllclBhaW50aW5nQ29tcG9zaXRpbmdCYWNrZ3JvdW5kUGhhc2Up
IHsKICAgICAgICAgaWYgKHNob3VsZFBhaW50Q29udGVudCAmJiAhc2VsZWN0aW9uT25seSkgewpA
QCAtMzg5Nyw3ICszOTI3LDkgQEAgdm9pZCBSZW5kZXJMYXllcjo6Y2FsY3VsYXRlQ2xpcFJlY3Rz
KGNvbnN0IFJlbmRlckxheWVyKiByb290TGF5ZXIsIFJlbmRlclJlZ2lvbioKICAgICAgICAgICAg
IG9mZnNldCAtPSB2aWV3LT5mcmFtZVZpZXcoKS0+c2Nyb2xsT2Zmc2V0Rm9yRml4ZWRQb3NpdGlv
bigpOwogICAgICAgICB9CiAgICAgICAgIAotICAgICAgICBpZiAocmVuZGVyZXIoKS0+aGFzT3Zl
cmZsb3dDbGlwKCkpIHsKKyAgICAgICAgLy8gRG9uJ3QgYXBwbHkgb3ZlcmZsb3cgY2xpcHBpbmcg
dG8gY2hpbGRyZW4gb2YgYWNjZWxlcmF0ZWQgc2Nyb2xsaW5nIGxheWVycyBzbyB0aGF0IHRoZWly
CisgICAgICAgIC8vIGxheWVyIGJhY2tpbmdzIGFyZSBtb3JlIGxpa2VseSB0byBoYXZlIHZhbGlk
IGNvbnRlbnQgd2hlbiB0aGUgdXNlciBzY3JvbGxzIHRvIHRoZW0uCisgICAgICAgIGlmIChyZW5k
ZXJlcigpLT5oYXNPdmVyZmxvd0NsaXAoKSAmJiAhc2hvdWxkUGFpbnRPdXRzaWRlT3ZlcmZsb3dD
bGlwKCkpIHsKICAgICAgICAgICAgIENsaXBSZWN0IG5ld092ZXJmbG93Q2xpcCA9IHRvUmVuZGVy
Qm94KHJlbmRlcmVyKCkpLT5vdmVyZmxvd0NsaXBSZWN0KG9mZnNldCwgcmVnaW9uLCByZWxldmFu
Y3kpOwogICAgICAgICAgICAgaWYgKHJlbmRlcmVyKCktPnN0eWxlKCktPmhhc0JvcmRlclJhZGl1
cygpKQogICAgICAgICAgICAgICAgIG5ld092ZXJmbG93Q2xpcC5zZXRIYXNSYWRpdXModHJ1ZSk7
CkBAIC00MDcxLDcgKzQxMDMsNyBAQCB2b2lkIFJlbmRlckxheWVyOjpyZXBhaW50QmxvY2tTZWxl
Y3Rpb25HYXBzKCkKIAogICAgIExheW91dFJlY3QgcmVjdCA9IG1fYmxvY2tTZWxlY3Rpb25HYXBz
Qm91bmRzOwogICAgIHJlY3QubW92ZSgtc2Nyb2xsZWRDb250ZW50T2Zmc2V0KCkpOwotICAgIGlm
IChyZW5kZXJlcigpLT5oYXNPdmVyZmxvd0NsaXAoKSkKKyAgICBpZiAocmVuZGVyZXIoKS0+aGFz
T3ZlcmZsb3dDbGlwKCkgJiYgIXNob3VsZFBhaW50T3V0c2lkZU92ZXJmbG93Q2xpcCgpKQogICAg
ICAgICByZWN0LmludGVyc2VjdCh0b1JlbmRlckJveChyZW5kZXJlcigpKS0+b3ZlcmZsb3dDbGlw
UmVjdChMYXlvdXRQb2ludCgpLCAwKSk7IC8vIEZJWE1FOiBSZWdpb25zIG5vdCBhY2NvdW50ZWQg
Zm9yLgogICAgIGlmIChyZW5kZXJlcigpLT5oYXNDbGlwKCkpCiAgICAgICAgIHJlY3QuaW50ZXJz
ZWN0KHRvUmVuZGVyQm94KHJlbmRlcmVyKCkpLT5jbGlwUmVjdChMYXlvdXRQb2ludCgpLCAwKSk7
IC8vIEZJWE1FOiBSZWdpb25zIG5vdCBhY2NvdW50ZWQgZm9yLgpAQCAtNDcwNCw2ICs0NzM2LDkg
QEAgYm9vbCBSZW5kZXJMYXllcjo6c2hvdWxkQmVOb3JtYWxGbG93T25seSgpIGNvbnN0CiAjaWYg
RU5BQkxFKENTU19GSUxURVJTKQogICAgICAgICAgICAgJiYgIXJlbmRlcmVyKCktPmhhc0ZpbHRl
cigpCiAjZW5kaWYKKyNpZiBFTkFCTEUoT1ZFUkZMT1dfU0NST0xMSU5HKQorICAgICAgICAgICAg
JiYgIWhhc0FjY2VsZXJhdGVkU2Nyb2xsaW5nKCkKKyNlbmRpZgogICAgICAgICAgICAgJiYgIWlz
VHJhbnNwYXJlbnQoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaApp
bmRleCA1YTVlMjQ0NmQ0NTEyOTg5NWRkMDhmZDM0MDIxNDQyZDQ4ZDNkZmE5Li5jNGZkYmRjZmJk
NzQ1YTUwNzFmNzAyMDM5NDlhYWM5ZWQ2OTRkNTJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXIuaApAQCAtMzc4LDYgKzM3OCw5IEBAIHB1YmxpYzoKICAgICB2b2lkIGNvbnRl
bnRDaGFuZ2VkKENvbnRlbnRDaGFuZ2VUeXBlKTsKICNlbmRpZgogCisgICAgdmlydHVhbCBib29s
IGhhc0FjY2VsZXJhdGVkU2Nyb2xsaW5nKCkgY29uc3QgT1ZFUlJJREU7CisgICAgYm9vbCBzaG91
bGRQYWludE91dHNpZGVPdmVyZmxvd0NsaXAoKSBjb25zdDsKKwogICAgIGJvb2wgY2FuUmVuZGVy
M0RUcmFuc2Zvcm1zKCkgY29uc3Q7CiAKICAgICB2b2lkIHVwZGF0ZUxheWVyUG9zaXRpb24oKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKaW5k
ZXggZjY4NWQwYTE1NTBkY2RmZTA5Y2FhMmY3ZGQwM2FhNmViODQ3ZGEyMC4uNGY2M2MxNjhjYjc0
YmRmNTljOTZiMjI0NTY1OTE2OThmYTNhOGFmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKQEAgLTEzMiw2ICsxMzIsOSBAQCBSZW5kZXJM
YXllckJhY2tpbmc6On5SZW5kZXJMYXllckJhY2tpbmcoKQogICAgIHVwZGF0ZU92ZXJmbG93Q29u
dHJvbHNMYXllcnMoZmFsc2UsIGZhbHNlLCBmYWxzZSk7CiAgICAgdXBkYXRlRm9yZWdyb3VuZExh
eWVyKGZhbHNlKTsKICAgICB1cGRhdGVNYXNrTGF5ZXIoZmFsc2UpOworI2lmIEVOQUJMRShPVkVS
RkxPV19TQ1JPTExJTkcpCisgICAgdXBkYXRlU2Nyb2xsaW5nTGF5ZXIoZmFsc2UpOworI2VuZGlm
CiAgICAgZGVzdHJveUdyYXBoaWNzTGF5ZXJzKCk7CiB9CiAKQEAgLTE5OCw2ICsyMDEsMTAgQEAg
dm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OmRlc3Ryb3lHcmFwaGljc0xheWVycygpCiAgICAgbV9m
b3JlZ3JvdW5kTGF5ZXIgPSBudWxscHRyOwogICAgIG1fY2xpcHBpbmdMYXllciA9IG51bGxwdHI7
CiAgICAgbV9tYXNrTGF5ZXIgPSBudWxscHRyOworCisjaWYgRU5BQkxFKE9WRVJGTE9XX1NDUk9M
TElORykKKyAgICBtX3Njcm9sbGluZ0xheWVyID0gbnVsbHB0cjsKKyNlbmRpZgogfQogCiB2b2lk
IFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlTGF5ZXJPcGFjaXR5KGNvbnN0IFJlbmRlclN0eWxl
KiBzdHlsZSkKQEAgLTI0Miw4ICsyNDksNDEgQEAgc3RhdGljIGJvb2wgbGF5ZXJPckFuY2VzdG9y
SXNUcmFuc2Zvcm1lZChSZW5kZXJMYXllciogbGF5ZXIpCiAgICAgcmV0dXJuIGZhbHNlOwogfQog
CisjaWYgRU5BQkxFKE9WRVJGTE9XX1NDUk9MTElORykKK3N0YXRpYyBib29sIGhhc1RvdWNoT3Zl
cmZsb3dTY3JvbGxpbmcoY29uc3QgUmVuZGVyT2JqZWN0KiByZW5kZXJlcikKK3sKKyAgICBpZiAo
IXJlbmRlcmVyLT5oYXNMYXllcigpIHx8ICFyZW5kZXJlci0+aXNCb3hNb2RlbE9iamVjdCgpKQor
ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIHRvUmVuZGVyQm94TW9kZWxPYmplY3Qo
cmVuZGVyZXIpLT5sYXllcigpLT5oYXNBY2NlbGVyYXRlZFNjcm9sbGluZygpOworfQorCitzdGF0
aWMgYm9vbCBsYXllck9yQW5jZXN0b3JJc1Njcm9sbGluZyhSZW5kZXJMYXllciogbGF5ZXIpCit7
CisgICAgZm9yIChSZW5kZXJMYXllciogY3VyciA9IGxheWVyOyBjdXJyOyBjdXJyID0gY3Vyci0+
cGFyZW50KCkpIHsKKyAgICAgICAgaWYgKGhhc1RvdWNoT3ZlcmZsb3dTY3JvbGxpbmcoY3Vyci0+
cmVuZGVyZXIoKSkpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICByZXR1
cm4gZmFsc2U7Cit9CisjZW5kaWYKKworR3JhcGhpY3NMYXllciogUmVuZGVyTGF5ZXJCYWNraW5n
OjpwYXJlbnRGb3JTdWJsYXllcnMoKSBjb25zdAoreworI2lmIEVOQUJMRShPVkVSRkxPV19TQ1JP
TExJTkcpCisgICAgaWYgKG1fc2Nyb2xsaW5nTGF5ZXIpCisgICAgICAgIHJldHVybiBtX3Njcm9s
bGluZ0xheWVyLmdldCgpOworI2VuZGlmCisgICAgcmV0dXJuIG1fY2xpcHBpbmdMYXllciA/IG1f
Y2xpcHBpbmdMYXllci5nZXQoKSA6IG1fZ3JhcGhpY3NMYXllci5nZXQoKTsKK30KKwogYm9vbCBS
ZW5kZXJMYXllckJhY2tpbmc6OnNob3VsZENsaXBDb21wb3NpdGVkQm91bmRzKCkgY29uc3QKIHsK
KyNpZiBFTkFCTEUoT1ZFUkZMT1dfU0NST0xMSU5HKQorICAgIGlmIChsYXllck9yQW5jZXN0b3JJ
c1Njcm9sbGluZyhtX293bmluZ0xheWVyKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworI2VuZGlm
CisKICAgICBpZiAobV91c2luZ1RpbGVkQ2FjaGVMYXllcikKICAgICAgICAgcmV0dXJuIHRydWU7
CiAKQEAgLTMzNSw3ICszNzUsMTIgQEAgYm9vbCBSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZUdy
YXBoaWNzTGF5ZXJDb25maWd1cmF0aW9uKCkKICAgICBib29sIGxheWVyQ29uZmlnQ2hhbmdlZCA9
IGZhbHNlOwogICAgIGlmICh1cGRhdGVGb3JlZ3JvdW5kTGF5ZXIoY29tcG9zaXRvci0+bmVlZHND
b250ZW50c0NvbXBvc2l0aW5nTGF5ZXIobV9vd25pbmdMYXllcikpKQogICAgICAgICBsYXllckNv
bmZpZ0NoYW5nZWQgPSB0cnVlOwotICAgIAorCisjaWYgRU5BQkxFKE9WRVJGTE9XX1NDUk9MTElO
RykKKyAgICBpZiAodXBkYXRlU2Nyb2xsaW5nTGF5ZXIoaGFzVG91Y2hPdmVyZmxvd1Njcm9sbGlu
ZyhyZW5kZXJlcikpKQorICAgICAgICBsYXllckNvbmZpZ0NoYW5nZWQgPSB0cnVlOworI2VuZGlm
CisKICAgICBpZiAodXBkYXRlQ2xpcHBpbmdMYXllcnMoY29tcG9zaXRvci0+Y2xpcHBlZEJ5QW5j
ZXN0b3IobV9vd25pbmdMYXllciksIGNvbXBvc2l0b3ItPmNsaXBzQ29tcG9zaXRpbmdEZXNjZW5k
YW50cyhtX293bmluZ0xheWVyKSkpCiAgICAgICAgIGxheWVyQ29uZmlnQ2hhbmdlZCA9IHRydWU7
CiAKQEAgLTQ4Miw3ICs1MjcsNyBAQCB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlR3Jh
cGhpY3NMYXllckdlb21ldHJ5KCkKICAgICAgICAgZ3JhcGhpY3NMYXllclBhcmVudExvY2F0aW9u
ID0gYW5jZXN0b3JDb21wb3NpdGluZ0JvdW5kcy5sb2NhdGlvbigpOwogICAgIGVsc2UKICAgICAg
ICAgZ3JhcGhpY3NMYXllclBhcmVudExvY2F0aW9uID0gcmVuZGVyZXIoKS0+dmlldygpLT5kb2N1
bWVudFJlY3QoKS5sb2NhdGlvbigpOwotICAgIAorCiAgICAgaWYgKGNvbXBBbmNlc3RvciAmJiBt
X2FuY2VzdG9yQ2xpcHBpbmdMYXllcikgewogICAgICAgICAvLyBDYWxsIGNhbGN1bGF0ZVJlY3Rz
IHRvIGdldCB0aGUgYmFja2dyb3VuZFJlY3Qgd2hpY2ggaXMgd2hhdCBpcyB1c2VkIHRvIGNsaXAg
dGhlIGNvbnRlbnRzIG9mIHRoaXMKICAgICAgICAgLy8gbGF5ZXIuIE5vdGUgdGhhdCB3ZSBjYWxs
IGl0IHdpdGggdGVtcG9yYXJ5Q2xpcFJlY3RzID0gdHJ1ZSBiZWNhdXNlIG5vcm1hbGx5IHdoZW4g
Y29tcHV0aW5nIGNsaXAgcmVjdHMKQEAgLTQ5OSw2ICs1NDQsMTUgQEAgdm9pZCBSZW5kZXJMYXll
ckJhY2tpbmc6OnVwZGF0ZUdyYXBoaWNzTGF5ZXJHZW9tZXRyeSgpCiAgICAgICAgIGdyYXBoaWNz
TGF5ZXJQYXJlbnRMb2NhdGlvbiA9IHBhcmVudENsaXBSZWN0LmxvY2F0aW9uKCk7CiAgICAgfQog
CisjaWYgRU5BQkxFKE9WRVJGTE9XX1NDUk9MTElORykKKyAgICBpZiAoY29tcEFuY2VzdG9yICYm
IGhhc1RvdWNoT3ZlcmZsb3dTY3JvbGxpbmcoY29tcEFuY2VzdG9yLT5yZW5kZXJlcigpKSkgewor
ICAgICAgICBSZW5kZXJCb3gqIHJlbmRlckJveCA9IHRvUmVuZGVyQm94KGNvbXBBbmNlc3Rvci0+
cmVuZGVyZXIoKSk7CisgICAgICAgIEludFNpemUgc2Nyb2xsT2Zmc2V0ID0gY29tcEFuY2VzdG9y
LT5zY3JvbGxlZENvbnRlbnRPZmZzZXQoKTsKKyAgICAgICAgSW50UG9pbnQgc2Nyb2xsT3JpZ2lu
KHJlbmRlckJveC0+Ym9yZGVyTGVmdCgpLCByZW5kZXJCb3gtPmJvcmRlclRvcCgpKTsKKyAgICAg
ICAgZ3JhcGhpY3NMYXllclBhcmVudExvY2F0aW9uID0gc2Nyb2xsT3JpZ2luIC0gc2Nyb2xsT2Zm
c2V0OworICAgIH0KKyNlbmRpZgorCiAgICAgbV9ncmFwaGljc0xheWVyLT5zZXRQb3NpdGlvbihG
bG9hdFBvaW50KCkgKyAocmVsYXRpdmVDb21wb3NpdGluZ0JvdW5kcy5sb2NhdGlvbigpIC0gZ3Jh
cGhpY3NMYXllclBhcmVudExvY2F0aW9uKSk7CiAgICAgbV9ncmFwaGljc0xheWVyLT5zZXRPZmZz
ZXRGcm9tUmVuZGVyZXIobG9jYWxDb21wb3NpdGluZ0JvdW5kcy5sb2NhdGlvbigpIC0gSW50UG9p
bnQoKSk7CiAgICAgCkBAIC01NjgsNiArNjIyLDcgQEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6
OnVwZGF0ZUdyYXBoaWNzTGF5ZXJHZW9tZXRyeSgpCiAgICAgICAgIEZsb2F0UG9pbnQgZm9yZWdy
b3VuZFBvc2l0aW9uOwogICAgICAgICBGbG9hdFNpemUgZm9yZWdyb3VuZFNpemUgPSBuZXdTaXpl
OwogICAgICAgICBJbnRTaXplIGZvcmVncm91bmRPZmZzZXQgPSBtX2dyYXBoaWNzTGF5ZXItPm9m
ZnNldEZyb21SZW5kZXJlcigpOworICAgICAgICBib29sIGZvcmVncm91bmROZWVkc0Rpc3BsYXkg
PSB0cnVlOwogICAgICAgICBpZiAobV9jbGlwcGluZ0xheWVyKSB7CiAgICAgICAgICAgICAvLyBJ
ZiB3ZSBoYXZlIGEgY2xpcHBpbmcgbGF5ZXIgKHdoaWNoIGNsaXBzIGRlc2NlbmRhbnRzKSwgdGhl
biB0aGUgZm9yZWdyb3VuZCBsYXllciBpcyBhIGNoaWxkIG9mIGl0LAogICAgICAgICAgICAgLy8g
c28gdGhhdCBpdCBnZXRzIGNvcnJlY3RseSBzb3J0ZWQgd2l0aCBjaGlsZHJlbi4gSW4gdGhhdCBj
YXNlLCBwb3NpdGlvbiByZWxhdGl2ZSB0byB0aGUgY2xpcHBpbmcgbGF5ZXIuCkBAIC01NzUsOSAr
NjMwLDI2IEBAIHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVHcmFwaGljc0xheWVyR2Vv
bWV0cnkoKQogICAgICAgICAgICAgZm9yZWdyb3VuZE9mZnNldCA9IGNsaXBwaW5nQm94LmxvY2F0
aW9uKCkgLSBJbnRQb2ludCgpOwogICAgICAgICB9CiAKKyNpZiBFTkFCTEUoT1ZFUkZMT1dfU0NS
T0xMSU5HKQorICAgICAgICBpZiAobV9zY3JvbGxpbmdMYXllcikgeworICAgICAgICAgICAgSW50
U2l6ZSBzY3JvbGxPZmZzZXQgPSBtX293bmluZ0xheWVyLT5zY3JvbGxlZENvbnRlbnRPZmZzZXQo
KTsKKyAgICAgICAgICAgIEludFNpemUgc2Nyb2xsRGVsdGEgPSBzY3JvbGxPZmZzZXQgKyBtX3Nj
cm9sbGluZ0xheWVyLT5vZmZzZXRGcm9tUmVuZGVyZXIoKTsKKyAgICAgICAgICAgIEludFNpemUg
dGFyZ2V0T2Zmc2V0ID0gZm9yZWdyb3VuZE9mZnNldCAtIHNjcm9sbE9mZnNldDsKKworICAgICAg
ICAgICAgZm9yZWdyb3VuZE9mZnNldCA9IHRhcmdldE9mZnNldDsKKyAgICAgICAgICAgIGZvcmVn
cm91bmRTaXplID0gSW50U2l6ZShtX293bmluZ0xheWVyLT5zY3JvbGxXaWR0aCgpLCBtX293bmlu
Z0xheWVyLT5zY3JvbGxIZWlnaHQoKSk7CisKKyAgICAgICAgICAgIC8vIElmIG9ubHkgdGhlIHNj
cm9sbCBvZmZzZXQgY2hhbmdlZCwgdGhlcmUncyBubyBuZWVkIHRvIHRvIGludmFsaWRhdGUgdGhl
IGVudGlyZSBsYXllci4KKyAgICAgICAgICAgIGlmICh0YXJnZXRPZmZzZXQgPT0gbV9mb3JlZ3Jv
dW5kTGF5ZXItPm9mZnNldEZyb21SZW5kZXJlcigpIC0gc2Nyb2xsRGVsdGEgJiYgZm9yZWdyb3Vu
ZFNpemUgPT0gbV9mb3JlZ3JvdW5kTGF5ZXItPnNpemUoKSkKKyAgICAgICAgICAgICAgICBmb3Jl
Z3JvdW5kTmVlZHNEaXNwbGF5ID0gZmFsc2U7CisKKyAgICAgICAgICAgIGlmIChmb3JlZ3JvdW5k
T2Zmc2V0ICE9IG1fZm9yZWdyb3VuZExheWVyLT5vZmZzZXRGcm9tUmVuZGVyZXIoKSB8fCBmb3Jl
Z3JvdW5kU2l6ZSAhPSBtX2ZvcmVncm91bmRMYXllci0+c2l6ZSgpKQorICAgICAgICAgICAgICAg
IGNvbXBvc2l0b3IoKS0+c2Nyb2xsaW5nTGF5ZXJEaWRDaGFuZ2UobV9vd25pbmdMYXllcik7Cisg
ICAgICAgIH0KKyNlbmRpZgogICAgICAgICBtX2ZvcmVncm91bmRMYXllci0+c2V0UG9zaXRpb24o
Zm9yZWdyb3VuZFBvc2l0aW9uKTsKICAgICAgICAgbV9mb3JlZ3JvdW5kTGF5ZXItPnNldFNpemUo
Zm9yZWdyb3VuZFNpemUpOwotICAgICAgICBtX2ZvcmVncm91bmRMYXllci0+c2V0T2Zmc2V0RnJv
bVJlbmRlcmVyKGZvcmVncm91bmRPZmZzZXQpOworICAgICAgICBtX2ZvcmVncm91bmRMYXllci0+
c2V0T2Zmc2V0RnJvbVJlbmRlcmVyKGZvcmVncm91bmRPZmZzZXQsIGZvcmVncm91bmROZWVkc0Rp
c3BsYXkpOwogICAgIH0KIAogICAgIGlmIChtX293bmluZ0xheWVyLT5yZWZsZWN0aW9uTGF5ZXIo
KSAmJiBtX293bmluZ0xheWVyLT5yZWZsZWN0aW9uTGF5ZXIoKS0+aXNDb21wb3NpdGVkKCkpIHsK
QEAgLTU5MSw2ICs2NjMsMTQgQEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZUdyYXBo
aWNzTGF5ZXJHZW9tZXRyeSgpCiAgICAgICAgIHJlZmxlY3Rpb25CYWNraW5nLT5ncmFwaGljc0xh
eWVyKCktPnNldFJlcGxpY2F0ZWRMYXllclBvc2l0aW9uKEZsb2F0UG9pbnQoKSArIChsYXllckJv
dW5kcy5sb2NhdGlvbigpIC0gcmVmbGVjdGlvbkxheWVyQm91bmRzLmxvY2F0aW9uKCkpKTsKICAg
ICB9CiAKKyNpZiBFTkFCTEUoT1ZFUkZMT1dfU0NST0xMSU5HKQorICAgIGlmIChtX3Njcm9sbGlu
Z0xheWVyKSB7CisgICAgICAgIEludFNpemUgc2Nyb2xsT2Zmc2V0ID0gbV9vd25pbmdMYXllci0+
c2Nyb2xsZWRDb250ZW50T2Zmc2V0KCk7CisgICAgICAgIG1fc2Nyb2xsaW5nTGF5ZXItPnNldFBv
c2l0aW9uKEZsb2F0UG9pbnQoLXNjcm9sbE9mZnNldC53aWR0aCgpLCAtc2Nyb2xsT2Zmc2V0Lmhl
aWdodCgpKSk7CisgICAgICAgIG1fc2Nyb2xsaW5nTGF5ZXItPnNldE9mZnNldEZyb21SZW5kZXJl
cigtc2Nyb2xsT2Zmc2V0KTsKKyAgICB9CisjZW5kaWYKKwogICAgIG1fZ3JhcGhpY3NMYXllci0+
c2V0Q29udGVudHNSZWN0KGNvbnRlbnRzQm94KCkpOwogCiAgICAgLy8gSWYgdGhpcyBsYXllciB3
YXMgY3JlYXRlZCBqdXN0IGZvciBjbGlwcGluZyBvciB0byBhcHBseSBwZXJzcGVjdGl2ZSwgaXQg
ZG9lc24ndCBuZWVkIGl0cyBvd24gYmFja2luZyBzdG9yZS4KQEAgLTYxMyw2ICs2OTMsMTIgQEAg
dm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZUludGVybmFsSGllcmFyY2h5KCkKICAgICBp
ZiAobV9jbGlwcGluZ0xheWVyKSB7CiAgICAgICAgIG1fY2xpcHBpbmdMYXllci0+cmVtb3ZlRnJv
bVBhcmVudCgpOwogICAgICAgICBtX2dyYXBoaWNzTGF5ZXItPmFkZENoaWxkKG1fY2xpcHBpbmdM
YXllci5nZXQoKSk7CisjaWYgRU5BQkxFKE9WRVJGTE9XX1NDUk9MTElORykKKyAgICAgICAgaWYg
KG1fc2Nyb2xsaW5nTGF5ZXIpIHsKKyAgICAgICAgICAgIG1fc2Nyb2xsaW5nTGF5ZXItPnJlbW92
ZUZyb21QYXJlbnQoKTsKKyAgICAgICAgICAgIG1fY2xpcHBpbmdMYXllci0+YWRkQ2hpbGQobV9z
Y3JvbGxpbmdMYXllci5nZXQoKSk7CisgICAgICAgIH0KKyNlbmRpZgogICAgIH0KIAogICAgIC8v
IFRoZSBjbGlwIGZvciBjaGlsZCBsYXllcnMgZG9lcyBub3QgaW5jbHVkZSBzcGFjZSBmb3Igb3Zl
cmZsb3cgY29udHJvbHMsIHNvIHRoZXkgZXhpc3QgYXMKQEAgLTc4NCw2ICs4NzAsMjggQEAgYm9v
bCBSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZU1hc2tMYXllcihib29sIG5lZWRzTWFza0xheWVy
KQogICAgIHJldHVybiBsYXllckNoYW5nZWQ7CiB9CiAKKyNpZiBFTkFCTEUoT1ZFUkZMT1dfU0NS
T0xMSU5HKQorYm9vbCBSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZVNjcm9sbGluZ0xheWVyKGJv
b2wgbmVlZFNjcm9sbGluZ0xheWVyKQoreworICAgIGJvb2wgbGF5ZXJDaGFuZ2VkID0gZmFsc2U7
CisgICAgaWYgKG5lZWRTY3JvbGxpbmdMYXllcikgeworICAgICAgICBpZiAoIW1fc2Nyb2xsaW5n
TGF5ZXIpIHsKKyAgICAgICAgICAgIG1fc2Nyb2xsaW5nTGF5ZXIgPSBjcmVhdGVHcmFwaGljc0xh
eWVyKCJTY3JvbGxpbmcgTGF5ZXIiKTsKKyAgICAgICAgICAgIGxheWVyQ2hhbmdlZCA9IHRydWU7
CisgICAgICAgIH0KKyAgICB9IGVsc2UgaWYgKG1fc2Nyb2xsaW5nTGF5ZXIpIHsKKyAgICAgICAg
bV9zY3JvbGxpbmdMYXllci0+cmVtb3ZlRnJvbVBhcmVudCgpOworICAgICAgICBtX3Njcm9sbGlu
Z0xheWVyID0gbnVsbHB0cjsKKyAgICAgICAgbGF5ZXJDaGFuZ2VkID0gdHJ1ZTsKKyAgICB9CisK
KyAgICBpZiAobGF5ZXJDaGFuZ2VkICYmIG1fb3duaW5nTGF5ZXItPnJlbmRlcmVyKCktPnZpZXco
KSkKKyAgICAgICAgY29tcG9zaXRvcigpLT5zY3JvbGxpbmdMYXllckRpZENoYW5nZShtX293bmlu
Z0xheWVyKTsKKworICAgIHJldHVybiBsYXllckNoYW5nZWQ7Cit9CisjZW5kaWYgLy8gRU5BQkxF
KE9WRVJGTE9XX1NDUk9MTElORykKKwogR3JhcGhpY3NMYXllclBhaW50aW5nUGhhc2UgUmVuZGVy
TGF5ZXJCYWNraW5nOjpwYWludGluZ1BoYXNlRm9yUHJpbWFyeUxheWVyKCkgY29uc3QKIHsKICAg
ICB1bnNpZ25lZCBwaGFzZSA9IEdyYXBoaWNzTGF5ZXJQYWludEJhY2tncm91bmQ7CkBAIC0xMjM5
LDggKzEzNDcsMTEgQEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnBhaW50Q29udGVudHMoY29u
c3QgR3JhcGhpY3NMYXllciogZ3JhcGhpY3NMYXllciwgR3JhcGgKICAgICAgICAgSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uQ29va2llIGNvb2tpZSA9IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6
d2lsbFBhaW50KG1fb3duaW5nTGF5ZXItPnJlbmRlcmVyKCktPmZyYW1lKCksICZjb250ZXh0LCBj
bGlwKTsKIAogICAgICAgICAvLyBUaGUgZGlydHlSZWN0IGlzIGluIHRoZSBjb29yZHMgb2YgdGhl
IHBhaW50aW5nIHJvb3QuCi0gICAgICAgIEludFJlY3QgZGlydHlSZWN0ID0gY29tcG9zaXRlZEJv
dW5kcygpOwotICAgICAgICBkaXJ0eVJlY3QuaW50ZXJzZWN0KGNsaXApOworICAgICAgICBJbnRS
ZWN0IGRpcnR5UmVjdDsKKyAgICAgICAgaWYgKG1fb3duaW5nTGF5ZXItPnNob3VsZFBhaW50T3V0
c2lkZU92ZXJmbG93Q2xpcCgpICYmIHBhaW50aW5nUGhhc2UgPT0gR3JhcGhpY3NMYXllclBhaW50
Rm9yZWdyb3VuZCAmJiBncmFwaGljc0xheWVyID09IG1fZm9yZWdyb3VuZExheWVyLmdldCgpKQor
ICAgICAgICAgICAgZGlydHlSZWN0ID0gY2xpcDsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAg
ZGlydHlSZWN0ID0gaW50ZXJzZWN0aW9uKGNvbXBvc2l0ZWRCb3VuZHMoKSwgY2xpcCk7CiAKICAg
ICAgICAgLy8gV2UgaGF2ZSB0byB1c2UgdGhlIHNhbWUgcm9vdCBhcyBmb3IgaGl0IHRlc3Rpbmcs
IGJlY2F1c2UgYm90aCBtZXRob2RzIGNhbiBjb21wdXRlIGFuZCBjYWNoZSBjbGlwUmVjdHMuCiAg
ICAgICAgIHBhaW50SW50b0xheWVyKG1fb3duaW5nTGF5ZXIsICZjb250ZXh0LCBkaXJ0eVJlY3Qs
IFBhaW50QmVoYXZpb3JOb3JtYWwsIHBhaW50aW5nUGhhc2UsIHJlbmRlcmVyKCkpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5oIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5oCmluZGV4IGQ4NzE4ODU4
ZWFmNmJjZTQxOTAwNGI2MTk0OWYyZmUxOTBiMGQzODIuLjY1ODRkNTkwMjEwMWRjNTFlZGE1OThl
NWVjMzA0ODcxODFmN2E1MWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMYXllckJhY2tpbmcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXJCYWNraW5nLmgKQEAgLTgzLDEwICs4MywxNSBAQCBwdWJsaWM6CiAKICAgICBib29sIGhh
c0NvbnRlbnRzTGF5ZXIoKSBjb25zdCB7IHJldHVybiBtX2ZvcmVncm91bmRMYXllciAhPSAwOyB9
CiAgICAgR3JhcGhpY3NMYXllciogZm9yZWdyb3VuZExheWVyKCkgY29uc3QgeyByZXR1cm4gbV9m
b3JlZ3JvdW5kTGF5ZXIuZ2V0KCk7IH0KKworI2lmIEVOQUJMRShPVkVSRkxPV19TQ1JPTExJTkcp
CisgICAgYm9vbCBoYXNTY3JvbGxpbmdMYXllcigpIGNvbnN0IHsgcmV0dXJuIG1fc2Nyb2xsaW5n
TGF5ZXI7IH0KKyAgICBHcmFwaGljc0xheWVyKiBzY3JvbGxpbmdMYXllcigpIGNvbnN0IHsgcmV0
dXJuIG1fc2Nyb2xsaW5nTGF5ZXIuZ2V0KCk7IH0KKyNlbmRpZgogICAgIAogICAgIGJvb2wgaGFz
TWFza0xheWVyKCkgY29uc3QgeyByZXR1cm4gbV9tYXNrTGF5ZXIgIT0gMDsgfQogCi0gICAgR3Jh
cGhpY3NMYXllciogcGFyZW50Rm9yU3VibGF5ZXJzKCkgY29uc3QgeyByZXR1cm4gbV9jbGlwcGlu
Z0xheWVyID8gbV9jbGlwcGluZ0xheWVyLmdldCgpIDogbV9ncmFwaGljc0xheWVyLmdldCgpOyB9
CisgICAgR3JhcGhpY3NMYXllciogcGFyZW50Rm9yU3VibGF5ZXJzKCkgY29uc3Q7CiAgICAgR3Jh
cGhpY3NMYXllciogY2hpbGRGb3JTdXBlcmxheWVycygpIGNvbnN0IHsgcmV0dXJuIG1fYW5jZXN0
b3JDbGlwcGluZ0xheWVyID8gbV9hbmNlc3RvckNsaXBwaW5nTGF5ZXIuZ2V0KCkgOiBtX2dyYXBo
aWNzTGF5ZXIuZ2V0KCk7IH0KIAogICAgIC8vIFJlbmRlckxheWVycyB3aXRoIGJhY2tpbmcgbm9y
bWFsbHkgc2hvcnQtY2lyY3VpdCBwYWludExheWVyKCkgYmVjYXVzZQpAQCAtMTgxLDYgKzE4Niw5
IEBAIHByaXZhdGU6CiAgICAgYm9vbCByZXF1aXJlc0hvcml6b250YWxTY3JvbGxiYXJMYXllcigp
IGNvbnN0OwogICAgIGJvb2wgcmVxdWlyZXNWZXJ0aWNhbFNjcm9sbGJhckxheWVyKCkgY29uc3Q7
CiAgICAgYm9vbCByZXF1aXJlc1Njcm9sbENvcm5lckxheWVyKCkgY29uc3Q7CisjaWYgRU5BQkxF
KE9WRVJGTE9XX1NDUk9MTElORykKKyAgICBib29sIHVwZGF0ZVNjcm9sbGluZ0xheWVyKGJvb2wg
bmVlZFNjcm9sbGluZ0xheWVyKTsKKyNlbmRpZgogCiAgICAgR3JhcGhpY3NMYXllclBhaW50aW5n
UGhhc2UgcGFpbnRpbmdQaGFzZUZvclByaW1hcnlMYXllcigpIGNvbnN0OwogICAgIApAQCAtMjM3
LDYgKzI0NSwxMSBAQCBwcml2YXRlOgogICAgIE93blB0cjxHcmFwaGljc0xheWVyPiBtX2xheWVy
Rm9yVmVydGljYWxTY3JvbGxiYXI7CiAgICAgT3duUHRyPEdyYXBoaWNzTGF5ZXI+IG1fbGF5ZXJG
b3JTY3JvbGxDb3JuZXI7CiAKKyNpZiBFTkFCTEUoT1ZFUkZMT1dfU0NST0xMSU5HKQorICAgIC8v
IE9ubHkgdXNlZCBpZiB0aGUgbGF5ZXIgaXMgc2Nyb2xsYWJsZS4KKyAgICBPd25QdHI8R3JhcGhp
Y3NMYXllcj4gbV9zY3JvbGxpbmdMYXllcjsKKyNlbmRpZgorCiAgICAgSW50UmVjdCBtX2NvbXBv
c2l0ZWRCb3VuZHM7CiAKICAgICBib29sIG1fYXJ0aWZpY2lhbGx5SW5mbGF0ZWRCb3VuZHM7ICAg
ICAgLy8gYm91bmRzIGhhZCB0byBiZSBtYWRlIG5vbi16ZXJvIHRvIG1ha2UgdHJhbnNmb3JtLW9y
aWdpbiB3b3JrCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5
ZXJDb21wb3NpdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNv
bXBvc2l0b3IuY3BwCmluZGV4IDE0NjZlMzliYWUzNDY3YjQyYjNlMzEzMmJjMzEyNTQ5YjEyYTlh
MWEuLmNkYjg3ZDY0YzUwMTIyYjE4OTIxMjFjZWZkZmJkNTE4YWQzZTE5ZGEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCkBAIC03
ODUsNiArNzg1LDEwIEBAIHZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpjb21wdXRlQ29tcG9z
aXRpbmdSZXF1aXJlbWVudHMoUmVuZGVyTGF5ZXIqIGFuY2VzdG9yCiAKICAgICBib29sIGFueURl
c2NlbmRhbnRIYXMzRFRyYW5zZm9ybSA9IGZhbHNlOwogCisgICAgLy8gU2Nyb2xsaW5nIGxheWVy
cyBuZWVkIHRvIGNsaXAgdGhlIHNjcm9sbGluZyBjb250ZW50LgorICAgIGlmICh3aWxsQmVDb21w
b3NpdGVkICYmIGxheWVyLT5oYXNBY2NlbGVyYXRlZFNjcm9sbGluZygpKQorICAgICAgICBjaGls
ZFN0YXRlLm1fc3VidHJlZUlzQ29tcG9zaXRpbmcgPSB0cnVlOworCiAgICAgaWYgKGxheWVyLT5p
c1N0YWNraW5nQ29udGV4dCgpKSB7CiAgICAgICAgIGlmIChWZWN0b3I8UmVuZGVyTGF5ZXIqPiog
bmVnWk9yZGVyTGlzdCA9IGxheWVyLT5uZWdaT3JkZXJMaXN0KCkpIHsKICAgICAgICAgICAgIHNp
emVfdCBsaXN0U2l6ZSA9IG5lZ1pPcmRlckxpc3QtPnNpemUoKTsKQEAgLTEwOTksNiArMTEwMywx
NSBAQCB2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6ZnJhbWVWaWV3RGlkU2Nyb2xsKCkKICAg
ICBtX3Njcm9sbExheWVyLT5zZXRQb3NpdGlvbihGbG9hdFBvaW50KC1zY3JvbGxQb3NpdGlvbi54
KCksIC1zY3JvbGxQb3NpdGlvbi55KCkpKTsKIH0KIAorI2lmIEVOQUJMRShPVkVSRkxPV19TQ1JP
TExJTkcpCit2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6c2Nyb2xsaW5nTGF5ZXJEaWRDaGFu
Z2UoUmVuZGVyTGF5ZXIqIGxheWVyKQoreworICAgIFJlbmRlckxheWVyQmFja2luZyogYmFja2lu
ZyA9IGxheWVyLT5iYWNraW5nKCk7CisgICAgaWYgKFNjcm9sbGluZ0Nvb3JkaW5hdG9yKiBzY3Jv
bGxpbmdDb29yZGluYXRvciA9IHRoaXMtPnNjcm9sbGluZ0Nvb3JkaW5hdG9yKCkpCisgICAgICAg
IHNjcm9sbGluZ0Nvb3JkaW5hdG9yLT5zY3JvbGxhYmxlQXJlYVNjcm9sbExheWVyRGlkQ2hhbmdl
KGxheWVyLCBiYWNraW5nID8gYmFja2luZy0+c2Nyb2xsaW5nTGF5ZXIoKSA6IDApOworfQorI2Vu
ZGlmCisKIFN0cmluZyBSZW5kZXJMYXllckNvbXBvc2l0b3I6OmxheWVyVHJlZUFzVGV4dChib29s
IHNob3dEZWJ1Z0luZm8pCiB7CiAgICAgdXBkYXRlQ29tcG9zaXRpbmdMYXllcnMoQ29tcG9zaXRp
bmdVcGRhdGVBZnRlckxheW91dCk7CkBAIC0xNDUxLDcgKzE0NjQsOCBAQCBib29sIFJlbmRlckxh
eWVyQ29tcG9zaXRvcjo6cmVxdWlyZXNDb21wb3NpdGluZ0xheWVyKGNvbnN0IFJlbmRlckxheWVy
KiBsYXllcikgYwogICAgICAgICB8fCBjbGlwc0NvbXBvc2l0aW5nRGVzY2VuZGFudHMobGF5ZXIp
CiAgICAgICAgIHx8IHJlcXVpcmVzQ29tcG9zaXRpbmdGb3JBbmltYXRpb24ocmVuZGVyZXIpCiAg
ICAgICAgIHx8IHJlcXVpcmVzQ29tcG9zaXRpbmdGb3JGaWx0ZXJzKHJlbmRlcmVyKQotICAgICAg
ICB8fCByZXF1aXJlc0NvbXBvc2l0aW5nRm9yUG9zaXRpb24ocmVuZGVyZXIsIGxheWVyKTsKKyAg
ICAgICAgfHwgcmVxdWlyZXNDb21wb3NpdGluZ0ZvclBvc2l0aW9uKHJlbmRlcmVyLCBsYXllcikK
KyAgICAgICAgfHwgcmVxdWlyZXNDb21wb3NpdGluZ0Zvck92ZXJmbG93U2Nyb2xsKHJlbmRlcmVy
KTsKIH0KIAogYm9vbCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OmNhbkJlQ29tcG9zaXRlZChjb25z
dCBSZW5kZXJMYXllciogbGF5ZXIpIGNvbnN0CkBAIC0xNDgwLDYgKzE0OTQsNyBAQCBib29sIFJl
bmRlckxheWVyQ29tcG9zaXRvcjo6cmVxdWlyZXNPd25CYWNraW5nU3RvcmUoY29uc3QgUmVuZGVy
TGF5ZXIqIGxheWVyLCBjbwogICAgICAgICB8fCByZXF1aXJlc0NvbXBvc2l0aW5nRm9yQW5pbWF0
aW9uKHJlbmRlcmVyKQogICAgICAgICB8fCByZXF1aXJlc0NvbXBvc2l0aW5nRm9yRmlsdGVycyhy
ZW5kZXJlcikKICAgICAgICAgfHwgcmVxdWlyZXNDb21wb3NpdGluZ0ZvclBvc2l0aW9uKHJlbmRl
cmVyLCBsYXllcikKKyAgICAgICAgfHwgcmVxdWlyZXNDb21wb3NpdGluZ0Zvck92ZXJmbG93U2Ny
b2xsKHJlbmRlcmVyKQogICAgICAgICB8fCByZW5kZXJlci0+aXNUcmFuc3BhcmVudCgpCiAgICAg
ICAgIHx8IHJlbmRlcmVyLT5oYXNNYXNrKCkKICAgICAgICAgfHwgcmVuZGVyZXItPmhhc1JlZmxl
Y3Rpb24oKQpAQCAtMTg0MCw2ICsxODU1LDE2IEBAIGJvb2wgUmVuZGVyTGF5ZXJDb21wb3NpdG9y
OjpyZXF1aXJlc0NvbXBvc2l0aW5nRm9yUG9zaXRpb24oUmVuZGVyT2JqZWN0KiByZW5kZXJlCiAg
ICAgcmV0dXJuIHRydWU7CiB9CiAKK2Jvb2wgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpyZXF1aXJl
c0NvbXBvc2l0aW5nRm9yT3ZlcmZsb3dTY3JvbGwoUmVuZGVyT2JqZWN0KiByZW5kZXJlcikgY29u
c3QKK3sKKyNpZiBFTkFCTEUoT1ZFUkZMT1dfU0NST0xMSU5HKQorICAgIHJldHVybiByZW5kZXJl
ci0+aGFzTGF5ZXIoKSAmJiB0b1JlbmRlckJveE1vZGVsT2JqZWN0KHJlbmRlcmVyKS0+bGF5ZXIo
KS0+aGFzQWNjZWxlcmF0ZWRTY3JvbGxpbmcoKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKHJl
bmRlcmVyKTsKKyAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKK30KKwogYm9vbCBSZW5kZXJMYXll
ckNvbXBvc2l0b3I6OmlzUnVubmluZ0FjY2VsZXJhdGVkVHJhbnNmb3JtQW5pbWF0aW9uKFJlbmRl
ck9iamVjdCogcmVuZGVyZXIpIGNvbnN0CiB7CiAgICAgaWYgKCEobV9jb21wb3NpdGluZ1RyaWdn
ZXJzICYgQ2hyb21lQ2xpZW50OjpBbmltYXRpb25UcmlnZ2VyKSkKQEAgLTE4NTYsNiArMTg4MSw4
IEBAIGJvb2wgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjppc1J1bm5pbmdBY2NlbGVyYXRlZFRyYW5z
Zm9ybUFuaW1hdGlvbihSZW5kZXJPYmplY3QqCiAvLyBvYmplY3QuCiBib29sIFJlbmRlckxheWVy
Q29tcG9zaXRvcjo6bmVlZHNDb250ZW50c0NvbXBvc2l0aW5nTGF5ZXIoY29uc3QgUmVuZGVyTGF5
ZXIqIGxheWVyKSBjb25zdAogeworICAgIGlmIChsYXllci0+aGFzQWNjZWxlcmF0ZWRTY3JvbGxp
bmcoKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgcmV0dXJuIGxheWVyLT5oYXNOZWdhdGl2
ZVpPcmRlckxpc3QoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyQ29tcG9zaXRvci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyQ29tcG9zaXRvci5oCmluZGV4IGZmMjRjOTY0OGExMmU5MDc4OGZjZmNhNDUxMDJkZjQw
MjYzNDhhYzYuLjg3YWRjZTE0M2NhYTY5YjZlZTQ0MmRkNDgwOTFlNmU3ZjZjYzFiNDggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmgKQEAg
LTE5Miw2ICsxOTIsMTAgQEAgcHVibGljOgogICAgIHZvaWQgZnJhbWVWaWV3RGlkQ2hhbmdlU2l6
ZSgpOwogICAgIHZvaWQgZnJhbWVWaWV3RGlkU2Nyb2xsKCk7CiAKKyNpZiBFTkFCTEUoT1ZFUkZM
T1dfU0NST0xMSU5HKQorICAgIHZvaWQgc2Nyb2xsaW5nTGF5ZXJEaWRDaGFuZ2UoUmVuZGVyTGF5
ZXIqKTsKKyNlbmRpZgorCiAgICAgU3RyaW5nIGxheWVyVHJlZUFzVGV4dChib29sIHNob3dEZWJ1
Z0luZm8gPSBmYWxzZSk7CiAKICAgICAvLyBUaGVzZSBhcmUgbmFtZWQgdG8gYXZvaWQgY29uZmxp
Y3RzIHdpdGggdGhlIGZ1bmN0aW9ucyBpbiBHcmFwaGljc0xheWVyQ2xpZW50CkBAIC0yOTIsNiAr
Mjk2LDcgQEAgcHJpdmF0ZToKICAgICBib29sIHJlcXVpcmVzQ29tcG9zaXRpbmdGb3JGaWx0ZXJz
KFJlbmRlck9iamVjdCopIGNvbnN0OwogICAgIGJvb2wgcmVxdWlyZXNDb21wb3NpdGluZ0ZvclNj
cm9sbGFibGVGcmFtZSgpIGNvbnN0OwogICAgIGJvb2wgcmVxdWlyZXNDb21wb3NpdGluZ0ZvclBv
c2l0aW9uKFJlbmRlck9iamVjdCosIGNvbnN0IFJlbmRlckxheWVyKikgY29uc3Q7CisgICAgYm9v
bCByZXF1aXJlc0NvbXBvc2l0aW5nRm9yT3ZlcmZsb3dTY3JvbGwoUmVuZGVyT2JqZWN0KikgY29u
c3Q7CiAgICAgYm9vbCByZXF1aXJlc0NvbXBvc2l0aW5nRm9ySW5kaXJlY3RSZWFzb24oUmVuZGVy
T2JqZWN0KiwgYm9vbCBoYXNDb21wb3NpdGVkRGVzY2VuZGFudHMsIGJvb2wgaGFzM0RUcmFuc2Zv
cm1lZERlc2NlbmRhbnRzLCBSZW5kZXJMYXllcjo6SW5kaXJlY3RDb21wb3NpdGluZ1JlYXNvbiYp
IGNvbnN0OwogCiAgICAgYm9vbCByZXF1aXJlc1Njcm9sbExheWVyKFJvb3RMYXllckF0dGFjaG1l
bnQpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9i
amVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAppbmRl
eCBkZmU1OTAyMWE5NDFjYTc5ZjhjMTA4NDAwZjRhZTVjNTk5OTJiN2QwLi5iNWQ5NGMyZjQyNmRk
YjliYTA0ZGZkOTA2MjU1ZDM4YWM3ZTE1NTY3IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyT2JqZWN0LmNwcApAQCAtMTQ1NCwxNiArMTQ1NCw4IEBAIHZvaWQgUmVuZGVyT2JqZWN0
Ojpjb21wdXRlUmVjdEZvclJlcGFpbnQoUmVuZGVyQm94TW9kZWxPYmplY3QqIHJlcGFpbnRDb250
YWluZXIsCiAgICAgICAgIH0KIAogICAgICAgICBpZiAoby0+aGFzT3ZlcmZsb3dDbGlwKCkpIHsK
LSAgICAgICAgICAgIC8vIG8tPmhlaWdodCgpIGlzIGluYWNjdXJhdGUgaWYgd2UncmUgaW4gdGhl
IG1pZGRsZSBvZiBhIGxheW91dCBvZiB8b3wsIHNvIHVzZSB0aGUKLSAgICAgICAgICAgIC8vIGxh
eWVyJ3Mgc2l6ZSBpbnN0ZWFkLiAgRXZlbiBpZiB0aGUgbGF5ZXIncyBzaXplIGlzIHdyb25nLCB0
aGUgbGF5ZXIgaXRzZWxmIHdpbGwgcmVwYWludAotICAgICAgICAgICAgLy8gYW55d2F5IGlmIGl0
cyBzaXplIGRvZXMgY2hhbmdlLgogICAgICAgICAgICAgUmVuZGVyQm94KiBib3hQYXJlbnQgPSB0
b1JlbmRlckJveChvKTsKLQotICAgICAgICAgICAgTGF5b3V0UmVjdCByZXBhaW50UmVjdChyZWN0
KTsKLSAgICAgICAgICAgIHJlcGFpbnRSZWN0Lm1vdmUoLWJveFBhcmVudC0+c2Nyb2xsZWRDb250
ZW50T2Zmc2V0KCkpOyAvLyBGb3Igb3ZlcmZsb3c6YXV0by9zY3JvbGwvaGlkZGVuLgotCi0gICAg
ICAgICAgICBMYXlvdXRSZWN0IGJveFJlY3QoTGF5b3V0UG9pbnQoKSwgYm94UGFyZW50LT5jYWNo
ZWRTaXplRm9yT3ZlcmZsb3dDbGlwKCkpOwotICAgICAgICAgICAgcmVjdCA9IGludGVyc2VjdGlv
bihyZXBhaW50UmVjdCwgYm94UmVjdCk7CisgICAgICAgICAgICBib3hQYXJlbnQtPmFwcGx5Q2Fj
aGVkQ2xpcEFuZFNjcm9sbE9mZnNldEZvclJlcGFpbnQocmVjdCk7CiAgICAgICAgICAgICBpZiAo
cmVjdC5pc0VtcHR5KCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucwppbmRleCAzNTQ0
NzIyYjcwYWZmNTE3ZmU1N2Q4ZmQ2MzJjODZiNjk2NWNiMzQwLi5lOTk3NzQ0ZTU1NTQxODBiY2M2
ZTU1YTQxMjI5MTcxNDI2MjNjYjc1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9t
aXVtL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTM0OTcsNiArMzQ5Nyw4IEBAIEJVR1dLODQ4NDcgV0lO
IDogaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLXN0YXJ0LXRpbWUuaHRtbCA9IFRFWFQgUEFT
UwogQlVHV0s4NTAwMyBXSU4gOiBtZWRpYS92aWRlby1jdXJyZW50VGltZS1zZXQuaHRtbCA9IFBB
U1MgVEVYVAogCiBCVUdXSzc4NjY0IDogcGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcvb3Zl
cmZsb3cvb3ZlcmZsb3ctc2Nyb2xsaW5nLXRvdWNoLXN0YWNraW5nLWNvbnRleHQuaHRtbCA9IElN
QUdFK1RFWFQKK0JVR1dLNzg2NjQgOiBwbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9vdmVy
Zmxvdy9vdmVyZmxvdy1zY3JvbGxpbmctdG91Y2gtaGlkZGVuLW92ZXJmbG93Lmh0bWwgPSBJTUFH
RStURVhUCitCVUdXSzc4NjY0IDogcGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcvb3ZlcmZs
b3cvb3ZlcmZsb3ctc2Nyb2xsaW5nLXRvdWNoLWxheWVycy5odG1sID0gVEVYVAogCiBCVUdXSzg1
MDM4IDogaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9uZXR3b3JrLWluaXRpYXRvci5odG1s
ID0gVEVYVCBUSU1FT1VUCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9t
aXVtL2NvbXBvc2l0aW5nL292ZXJmbG93L292ZXJmbG93LXNjcm9sbGluZy10b3VjaC1ib3JkZXJz
LWV4cGVjdGVkLnBuZyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5n
L292ZXJmbG93L292ZXJmbG93LXNjcm9sbGluZy10b3VjaC1ib3JkZXJzLWV4cGVjdGVkLnBuZwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5kYWFlNjcyOTYzMjcwZjFiNTNjNzQwNWY3OTVhZDQ3ZmI5NjYxNWRkCkdJVCBi
aW5hcnkgcGF0Y2gKbGl0ZXJhbCA5Njc3CnpjbWVITlhJTjkmKSgkWD1nOTJ0MFE0cnp+MlVKUUZx
KTNafTsjPnQoMWNJfihEaFB5IylDMzYzRmlJMjw4PX07KQp6QWt1P0NzM0U4VUxgcHkpcCN9KzZM
WGlAQmxKNnZwSU5XKUBBOUxeaElzRDFQSzZ+JUFTOXttSF9CcHJDbjQ1fT0KeiQldWhLQW5+NzE4
bDN9eU1EfkN7IWlZYDZ6PStnI0RKOUAlenBwWEUqVHdDIWktKFVOM1VvK0VgLSt6S2slS3h+CnpN
PW9rI3hwK2s5dSo8PGlocCF5YklDeGxIe28rOWxDITVgcEFrWkdyJnFsfTIyUFRnOXByWSZ0e1kx
YXlCY29qRQp6KVZAblk5Xjg2ei1gMztOKGF+YXUzb3trUDhgNy1KVUwxJjRGZ319I15MK1IpPEc4
ekFkZDd3UT1QcW5OKlpDcWYKentlYXNvZ19HTH1LbTYkWUB3ZlgrOz91fFJoWXEwP3tZN0AtcWZz
bUJvUCs2UT8xP2RrVWVFLUlURj1GJEpZczlpCno4KV4mX21RJV9Dc09HYSs1XnhnZ1JSPVQoZ3pW
bWcwRClAMVF2cm90NjVhdGlzeEd0e3dDNzNLMkdISHBtQk9IdAp6aWJ4XlEtZmFYQj0+R1NBY2Ji
UkBqZT94LTRkbzVTSVdkT1I+VT9LTW5pSjMhbjhvU0F4O1BsR2lfR2NiRHdTY3EKei1JSXp3bj5C
SjQhdFdkJEEwRUQ1OGJEJD52ezRPZi1aZlY4RUl9PztwM3p4bUpqcmRfTGchcFZ7cChiVlJQMmtk
CnpJWGVUUmEhME5ZUDxibTwtY2x9YVg9UjJRK0lLXkdxcm8rOUAhJXNudWt4dkNDcitERlByPW18
KXVRZyM5YHFjMQp6QHV5IW0+dFg8VF5LVW85ZzFMKnMzMCh1LVBRTSt+dihJeWBWdnZGPzdLNHtP
NDk5SXsrSSk+Y1pYSzBqPzhibksKem5aNXshQmhrfj1YamE3OXNDO1FPUT0xWGtQZWdVP1Bgei1O
cTg8TEFXfHlTMlF9OSVkTHNfRnZlXmhPWHtgRzxQCnoqSTxwaStqUCtfMzVtOzdxSC01SXNjRzx9
Sl8oKDt4cnEhRSRuOWgqYGc9PlYmejMzRGZHQis3amI4NiFxY2l5aQp6OzFqeDJYaGBrLXBWfWJU
bXAtUks7SkR6P1ZjQ1h6OGV7bzFPcDcrPUwtaTFEPChUUT94dFkldlglai1qNDJIfHgKem9DcT5t
bWE5MUxRMERJdChCb0o0Tk9pZTsqcFNZdj98VDtrVStJJkNJaEZedVdtczdsRSlNS3ghTjI/Plgr
IzEzCnolKFEhMiQjSlowREdMPGYqb3VtWko1JiReLV9JWG0hRmApVTdhfkkyZDE+ej1CdXkjTzxi
XjZKV29zM3Vpal8kbwp6Y1FWWmorNDlvTiN0fTJ2JWp4TSYzWXNXayhYdl5nKCs/d05XOGtiMyF7
clhEbnEmRkdhfG1ZeTVLPl5fS1dZeF8KelpKd3lwNDFlM29tTmJ9Y3ZhKWdUbzlsMjU5bndnNyFx
eTN5WDlQe3cjKXkoMD1URz1fJk5TTWBKI3tMbUhHUzt3CnpWeVNvT3JWVm5tPTBUNFMpcXBTWFc5
bGoxY3JPPiNzYnR2ZzEwUVRteUdtN09ae2shM2ppI3NOa2h4Mmo+bUsjcwp6bWQ2akpsWGBqRmM/
LWpfVGljWXBEaSgrRzgrQVJaWmNGakxOYjtJXjE4YDBZK3lWUEopaXUkKGBhYFRUeEA/P3kKempK
aGNkT3ZeLSR6UXp9YFg/RjlJejJ2SmNGSn5Je2EoVDVEIU9VJD0zdlo8KkFjbnlfJk9DWFpHP348
PUx4dUJKCnpaYzhjOGpkIyZgKUVPJEE5OW1iR1khSzg0NDk3WClPNmFWUlZaQzA9ZHw1QXQ4NDFJ
MlNXZGhmUDc2MkMhVHF2bgp6eVQ/YDBte1VmPGkqLShoaSUrZ1gmSkVmRjlfdTBuJV5TPmpZbTlH
SmNUKTs/QjtrdHpAc2pmVCNYaUgwdFh3ajsKem0mZlVLKW9IQVFreWxKWlhIOFI8VEdKJFU+d013
UGxYLWtvLS1EV05CdDYhY15sOEdSOE1NfHl3e1ZgQlk1QlJkCnpfYGZlMD9nWH4zSFJYKCQhc0NO
fjxCQ2VeZjJxdm5ibW5wdllUeWlWQ3tHRSNTWCU8MGVfKS0zSUs7QWpEZ1R1Qgp6JF9gQ3ByXlkj
IVBGNV5HZjtyKG4rKkU/aCFNSUVxY04pZjxaaENxbXB4ZTlWciNTbk15YThpcmh1TH0hPlRVejwK
elkobnFLKEVYb0luUFlUN0YzNSRqSHJ9VzlKZVJhMnt8bWhTU1k/fiFkUV93fEVPfTd9dmlSUFZJ
fGJxOChPSWFECnoqTyM1MG5SOHZ9Tmo4P1I1cUgzWGAtMSRiU3tCXyszSlQhJD5yRTZ0PWdxe2BF
PWl3TjQ4NzhIOykoJTE3Nl5wcAp6QGdqJTsqMChiYUswP3M9RjYjaz1fYXk+dXBNUnd4aSNqcU4l
QTFEK0Z+fHM+WHtkPlRPb20/Umw9Y300azxndGkKemh8bnp3OUZhITdQTTF2fXAyI1NfWnopMkgp
QENlRndwcS09YWY3aW84I2lRKVFhTFk5TGBYRFhBRWxjPD9oZFRFCnpCYlFMeFJ+dGNFVWA3SCMw
cnZ3RTA+VEF5c3xkPjtPX3ZsIVptSEtxbnNGQlozdU5JRWJBdHohQ3hkI0l1X09qUgp6P1A1YTRU
cVpIcEFtSENOOHo7Xn1mNlRsejA5cyFAeSRSPlVOYmM0LUlSM18+cXk2YFlkVGZxc0dHPUhWSCN4
NkgKem4qRTNsVUdCMV5zKmV6P2dsViRxQEA2c3lHdncrIS14QzBIQ0BseiRlVEQ4RSl8KVhETyRy
IV9eOCZPUGlaPCl8CnooYU56bHtnLXwtR2AwbTthY0kwe19lNj1zYV4qNENDeHVmbCV9eSU4NExQ
JGRYQDxlZWJLXmorRSlNYDYyYjJaPwp6LSh8bEJHVFZgfkdAISZ8Sk1zTDZgZ2lPNGp3SmR0Vnkw
YEFMTztqaEtFSjtRUmtxRnd7UGM/YEUhIV5PYGtUP1YKek8hOTBoajE2WkxwP2QraSY4MyMrOWd9
Pip3aHhnc1Q9LU5hP1dFNkUzNzQ/QDJ7e2g8ZSFSMFYtfClIOVZ5eDMqCnowKG1pXmNRTDg9TiR8
JTlrZCRkPmlPJTZJISU1Z3p3Tj9wcmt5PnNwO2t1V2FscmM9b3RwfHwjKDM5QmR2eWkyeAp6Mjx7
QT1tKFFFWiUmb3YpZjczKF89QGdhRnQqZyY8TD0oZGJnQlBiPVlWSVVtfDlBPlVEaE1xYzFFVGNA
MDt1fDwKemljXmI0cUU0UDRpLXZFMWVZdmhTI25FNzxVSVUheE49PGdtRWVlPXEtfiVVMGg1P3RQ
YTZoTjsxPGQ+K0IwNXBaCnolSGRZVVNPV08+aTY2emFrUyFzZkw/OCRmbWQhNjdZJUQxemNtT0t4
O008SFU+aFpybVJZY35EcEhlRnN4TXdRZwp6MG9ae0wtPjVFUCgpRUpqPFJDUSMwNFZHU2Y3RDEo
Uit5KypvPURPUU5jTCR3VnAoSmBlc1M1Z0hfeFN9bTNgYHcKek49ZzQ2SnNeSnh7T3J5dG84VEBf
cnU2QlExeCN7IzA4fWxURDl4bV5kaT59UHA8aEhweldAaiNmaiM4UDgyKXw2CnorQExqfFlBNmZs
eWc3QSg/RGluKGI+MTtLXiR+a0NaWUR0KyltYWVBPDhzU3NvN0lZdSgtUUwmSjxCO2o1ZHtqRAp6
O2s4ZWRIRWB8fTlzeUsxej51JUd3I2d4TDlsSUwmPSRUTnhNNGgtSD9XblVqVz1APFJjISZFRTRo
YVN2ZWdee1EKejB4P1MtTjE8Nk1eSTc/Z3JHUiNHVjt3LTwzMCoyXkYlUk9mPX1LQFhQPDVxPmtU
UkVTWF44bnlsU2BXR01EeW0qCnpGcllSISNCMXNXT2VBNnBCdHUze3hUYns2Zy1hVD9eUWR+MDx2
entOajUrJD1sY2FleUFSUGVEI2d9dTVVMHk4Uwp6UWQ+X3p1WW5zeytBOzhBWSgjeDw0dGAtfTcq
Nik9Y3pzT0JkR3VtaGdeQ2lZd31OdzEpKGNVNXR1TW5XdnRwPyYKeipJTTVeX0t5czJKKDJXIXJx
OGpVKSpRJHlDQ3c1MDZ6KihWb1FtIUJAazA2Pj5AbCE7TlNnakFmWE5lPTt+ZjBvCnpZPipCZl9p
emVZPyZgJlQkaF5RUk5xSWVQT0k0ckEpTCFnPUZtQUI7MDcjYzBZN2lzZXRAKVh6MldfUX15bUU/
WAp6Uksmb3Rte3BPdmZSRmVrTnAzUSoyRXY8eVNtNTReWWorPFVrSzl0Wj1AMz5GOzc7KGxFJm59
dmBybEhxJXtQUEUKekRISWkrO3FzNEtNeEh3LTI5bUliJSRhPFpqJmg2LXlGYzVCajJqYDxUV3tj
NjxaNz9EQ31vczQkPEYjMVFFck5CCnp1PTVYYCZWNy00O09MYD85MygxNnJANW14cU50Yzllbnlk
RkZLaCs2LVJ3fF9SZHNmQ1Jlfl95PTRjOyVHVkFtRwp6ZDcqdEtZNGI/YmAxSFZ1PkQwVCZSKTxj
YzM5LWBnOUVhcjRvb045aXExJmtgcit5Ylp4PVU5YUxCZ1o+cXF5PD0KelUjSFN9dTlKOGojPysz
e3NtUCVFcXd1KCtRZW5jcmFzJnd6ZVBEMTtHKjBjODFFMzlWaXBWelgzOVp9T3NwYDJTCnohI30o
ZEs2b3p2ZGojM21ieEgjYU1fclA+ZHFTfUFwOENNdmQwVHRQbHBDZXUxRk9obiNUcUtSRTh2UXFq
ZG54Xwp6Wks+cUQze2NkPT5XTWNPPnxDY0B6QGBiRT99Sl41ZXFzWGNPaVcjYkpnZ3tCVng9Sz43
STJvYlBiVFkkPTE9KHQKenVOLWt4TDg/WH10WHhTNj1NcHEtPWMyOShvZjMjXlpYUzRpKTZafG08
Z0pDRCpSODwyc1V0fjBGfCsrPj0mTnAhCnpuZEE9SWV0fjZuZzJoODJuUVpAPVd3MkBkSV9ieVcz
OSlZRFEpOHZjOzMtNlMmPWROYV5uR3FSJFJ6b15teUtCTQp6UkdLcjx1V29neDRHcTFjKkhLOWlS
c3R5Yjt1RHY8QUVTQjxTS1VNcHVEcjByODxXSWxjdiVPOFApaHUwTDh4SksKeiFHVzJZR2lsZSZe
VkZDVHZDP3BQWiVhJmdJcU1aJCQpMSoqQC1GNHRFcW96KC1wWCtXS2BEYmFLNXFIR25XXzxRCnoy
ZShOUjN2WGEmaXJzeDArazJDfG16bnE+R1JBbiE/SGE3VitMSlorbmVVNzxMfkNLMVFBMk1RVkBJ
PXhgPz8zagp6cChCbyMhJUNKZykwTl5rcSR0X14/NTtGSEdgIzUpTHFzYSU8bTVBTUpRfVNoZFpu
eTcrRzdmS3pxUGIhYForI0QKenYrJi1iT0dMbHIpdEl1MTYhSXtwZUUxTSlWZFJOa0NwXlFTX3RH
bzdENGAyI2V6QD9Tdytxb3ZYPzRsREc5Z3htCno/c0dUQz0pbCtPV1omeClNe0hLR3JyUz5Ya0Ew
SkU/MCkoRkArQStiZTIpSXpBc35GZ3VHKGVLciFFck5OVjVoYQp6anIhQT40WnJKO0pIRU0lJnhi
TWBHMlNwfHlZUWYwK0U/c35FQ2pabEV8NGNZOCF9N1JRQEVxTz9paTx+Zzs9bGcKemAzR1F6aH5Y
Tj9IOXZ7OTcrMSNRNXE3U211RG5jKnVGPz1lZH5TYWs4NzJrSldPWTA4ZD99RilzTE53KDM7eS0t
CnpZfl9VP3J0YXZuTkloQU5ZcXIwQ043JVp4eWxMOHYoKT8wT3twT2t9dDQ3cTI0bS1VYTJkZzVX
Nn1fSnZ0RGAkOwp6PDFHUjtjSl4kQGRiUX1eIWQ/TmlwWkhCK2BPNzFSa3EmWnN1Y255PlZFOSRR
eiprVGRxcm9hcDJkKTB6K0p4MEMKekNgeEYxQC1eQiVHK25LezlaI1BqT01BYWFrQjw2ciZBJnBX
NXtOcGVUNiswSEc9NVU2SUY5ZF5LVXtmfkV+TVEzCnp1eWJkQXd3QHJ0aj8lPzhBIzk5UHZkYVVW
e3c8aEd0JmRqZnN4bXYqPiljYypFTnBGTFp8NGUpRillNFRRX1pxMQp6SDAqcCR3YUp8JnBCZUBF
PTtFaWZtUWZHNW8tOSheaihKeCp5MzlGVWheT2NEcj1ebC0oUHJ9WVFlbUUjP2NaZDAKeipjcyly
NDVHR2J1azJYT2xrP0FhNWdjIX5fcHMkbkBFeD1wMDt9ejViSzk3OD9QO24rZXM8bGtDSmFDJmpF
TlN+CnowNmRrU0drQEBTSnk5KURVP3otTVN1S1p3SF9nbn0yaj58JGF8bFpEPSV4SEBXJHQkYDs5
YUhHaW4zX2doPitpTAp6PF58c0VxOFkrWEh7UndUK3Y0PnJkZCQtT2lyWXg1TEUhdDg1TFQkcEVk
TFBjNnk0c2pQUVQzIUVCST9fRz9VPU0Kelg9WE0hUFA7ZysmJEZISWwlO3cpNGM+K0k4RCFmKikh
ZTxiWEtvNChsZFVgXjF7Z3slazEpLTIwT3ViNXZtNHdUCnpGZ0FxN3NEOzR+XkJ9ZVkoUmpycVUr
KTBEVDJhI0xEPG9kOVZNdH1ZIWRRO3AhU3xiP0U+Jm9CPkR+fSpKQU9iTgp6bkl4VX1kWVVOJHdn
NUs4RzxkU00zJk9WYF5MPzA8WDBNbW1SZD95Zl5nbUV9TjMwQVg9WFJqd1YzbWJ3ZDMoM0AKemth
bTh5cjJ4ZzdvPXRtUXBWV2dvVFQhNX5iYVpyYWBrVjNYPyk/UEchKEZBOVMydWpzcypFXjBnWE9O
YF4tbEcjCnppQmdkSURYZFZSbkdOOWU/Uyo0TGNEd1l9R0xpVWozSHI5ODVOdSlOU2d5JjhBMG4j
enVWcUV7ejZIS1QmSk1xOQp6OWZzbVF1Q3VNd1d6bm4rVjRGN0UtblZHJG4xLUh7Sz00YmtVRnxl
WFNDOF4rNEEzbz84Vlh9eHZ5QCNkKihNR2wKem8yPn5RbDdiTWRPJWZlMlFfVng3RV9ZaHVqPDJQ
eyV4eV9QZ31HNmxgQC09JFN1Xj9ha2hON2VxbU5nWEs1SnlzCno3MzRrS3A8dEshKVRYYkEtOSRM
TTJfYkVxYy1FQ3U2a2s1VCNrIWJJNz07cjN7SjRrdngmXlErbjJ9fnxmNXckbAp6N3Q1MlYtenNz
fmU7XjBJM3cxI3Vra0p3b1FnK0Fma0hSLVo0fjkrMmllQ1BqZm8+bzEtKF85YXE/MzB7TDgza1AK
ejt5VVh1bVJZZUI5O04peW0/VXRwbmFzVmchZVpfVGQ5Ul41K0tsK19kPmBQJXJ2KSZsNz01eCo3
czMwbk1xIzNzCnpKMio7TG1gang+WStkJmw+O0I0PXdBSV5iUkVyb2pzZmAyZEBJbkNqNEBgYlU4
YzY0UHdBWG1Xdl9HOGYhQ0Z3Pgp6P1cpPVRwbzVtKEVXbzlVUmlhc08mPGRUUmZXWTJjI1YoRUh3
MHN6fChWT1FJNEQ3IzM0VGUtbHVwOzRkdypuNnsKei17N0c+aE9JdX1sdn5BJCUkczteZGhwbVN5
ZWUzLUs3NyVfI3pfQWgjeWdiQWo8NDN6ITJNQ0tpUUJna3U7MiY8CnozOFFrRUpaKXpTaWU8Vn0k
UUAoUD15bi16RkdgbiFUOWw0NUdmUmtVNU9BMUBxKnlAeE9AbT1mUzRgSkZUZnBwVwp6YGlkUXhl
JU4yIXg3RjItI2prb3pOaFpSeUFAS3hkKWhfKzM5WXohO3o2d208PjFgWUJnOTArTGs9OUFUYWg3
dDUKejRuNzNuQ3J2cWJsMWxVJVFMejN3S2IhNEN4NUo7Z3BgSE9jWj9qXjZENSYtSDBLTU9YSmFu
c3IyRCpFISgpb3d7CnpZQHQyalZPNHZ0Km9ocTdDPX5mfkoja34kN1UzUGRJJCt7UzF0YntFZkFH
P0lXQXNOVXs/dnBwUDNtS21JSCtNOAp6IVFeb1YlPmdZMGRPMGxyKkU+R1hYTEpwWHAhMn1wJW43
U1U5Q0FXOyNHcW44c3BnPyh3dURJcFoxanc8JkVMNUMKemRvbXlheD8zO3hTMUpHUFAydzZFPyli
RyZVaEJ9SUl4LWM5N1lFRFUpV2Y3RCQxSlI8b1lGIXc+XlhyZmRNKlNECnolZVZUNCpUTkYjd2Nr
MWJvODhGUzRiSHB4P2xkUCR0VlFgVkt2YDFEbG8wP2VAYiNiV1E9UHp5SnA1U0AhcF4/Wgp6MWpv
cXM0bkRtbHtFNk92SGJCXnc9YFk/NS1oWE1VQWNPZUQ0U1Q+akc7U0REe24tSD49RGY7d1prbWYm
MUp4ZkcKenozRWk4SGtIbG0wN2AjQWAzPnZ9UShtSjw1WVFrOChYNFFBT2hFYURsZ3xZeUFPeGAx
TGRNLV9yZGZLdXZIKEAwCno5JHBjcXA9cWAmcnpzWSk5VUJHJjN6MDlqOUh8WjJLe3dUeCQ7K0t5
JF9BNiQta1ZlPmI8by14RSlvamBER0UpXgp6M25Je2ZicUdQLT98cCh3SXhmKHp4ZnhNO0xDWDhl
WVRhKSY4UGZaVHdnK2AoSFh9QWV0PW51VFUkemNLRitKPXEKelJEUl4yNlh8PlMkamdma05tVzQj
eFIye3JEOHozO3BsPTB3QihkI2VJJX4/bXYxT3hveSoyS25vKXNNQjk+Ni1qCnpOazd8a3QrR19Y
YFJaVTUrRE09RiQjRjw/T31kemoxUn44ZUQ/T2lLbVJgN3FRWU9ie2ljMFA2aFdHTzFyYWFkWAp6
RHlBbGNAV3xOUyhVay1jNGhNKzBSfSROP3Q3TWhJMVU5VXNDdDdBakU/Z1h9aVpTZ3omKTc0bT4o
MlE7aj9FaFcKenFHWWUmakd9fTk0MHAlVzFZVHB2X3hTOGcpRFZyQG1pYHYkIV5zZjc8VGhCOzJm
TCt7SHFDU2E+JmJOMjYoOU9xCnpSMzJ1PmhIMExpKGF0T35ve2pIWl9hR1p7aHUqcWErZ2I7UGQj
JDZOMWZucVE4OXRNaDc0UzR3Y01iRjNUdiY8Ugp6VGN9cEJ2WEFLcylYcHR5Z3l+O3gmWHBJeXtN
eHc8KyRGbkNjdCNJNy1IdFVyRz42ez9FYTVaeT9eaFhwdDU7PWQKek0mckpDOCkmbFVJQHZHJE1R
RmRgK3glIXthJUpDUy1ARVcrel82bmVBRTdNeTB0MTlFcks0Zk9FJS02WTBBYX1vCnpBQVp3alFE
I0Y+VjI8STdZI2g1SStXfGxRaTU9PV5pfmd6VmU+KD1CdSRIUFl2cHomaChpWmNpKkp7e1hVb2Im
WQp6MFNMdSlaMkhEJDEqOT0kUkpWdUBteiMyNFNEKXx1WllNbDREdTNSSE1RZVghejdKbksyZylt
fkt3cmtZVT4lYkAKelJKc2A8WklXbiVuZC13JjApKiNKT3d1RihzQmpmTXo2TkFLYCM7RGV6czxC
VVJtbXQxdzRoazx5PXlDYj1xJGUkCnpYIUAqe0Fed0ViRUV2RHl4MkE9PHVNOXhuKig7T0F5Ulcp
S1VFWTUhISlMO0JMfT02YVF3THg7RDY/IWByek9fcAp6UzFHMlFzczsyeD1Cc29EO0g1TXZARmBe
Jkw7Qng+SVkoK00hOTIyPHhMIy05PkBhfXMoYGc7PWBAeTtFUjJ3PFoKemhVe3N9JWUoaVMrbnQ5
dWc/aFA3Wnw/XmZCbzx4Qj1qNFNxQTJ5MjBDZz5PQWFAPEBWaH12d31XNEZ0T0Z4dDdKCnpuVDNe
dlFwQ3hCOztlQkJ7c0UqMkZ3aT5vM0hxWHduKDshKV9IT0MjSlh6RDIyN1lJcmRgfSE8VllISVA9
ZkxeZAp6bl56bU88aE5lZSQ9YnxqY1YoZENpYjI0flpWZT4+bUZ6Wkw9cmZnPTZJKXh8UmVjZmlE
ckZtTF91TVpUQWJfJGUKekJNS0VgJjtnZTJhJGJKdSlwcEtkcDkoVE5OKykta1gjQDNOKjk0M2wq
TUtWfE1penBkME1fcTg4M1lXZ0JkZ14oCnpnNUJII1l8cFVBYUFeMypfXnlXWCllZUNyUmAjbkQ3
O3RNPWQ3dXFOZDdUPnNHKnR0TkUxNVBwM2Z3UCUkPDFTVAp6SnswRUZoOWBXNUx8U2FYMjQjMX4h
JWA/U0BYdmt2KFghaUg1V35oPFM+KzJ5RGNnV2U5b0pEQDxBJE9IeVpGdXgKekx6PTZve0pVfUwj
O2k7USMoQihDM21CJFY2dWJEMV9yNUFtPXc1RWJCYyFISUA7U0pkYCEmNUFvalBNODRNZVhlCnow
PSFsfHohbjRndn1FMllVVnJQO1EyVFh8c3hnNWMwQTRITG4hMnM0QDJ2R3tzO09LJjBnYS14IzdZ
QylfKz8zVQp6bC13Rz9EMnI5X0V6KC1EcFNfNHJTPG1jXkpBXiFyUUxPeEVNUEN4eVR6c184MHNP
YElUUEsmalBZLUZfej8kaWUKeilhaDxEIUElJnd0M2QtSz8ycU9VMUNYIy11JmEkQGFLWWw2JE5q
VF5WeDs5djVrTGpmNT9ROUFZMS10MENefV9yCnopeTN5cTJ8Mkl3N1lndztAdHIzcj9JSFVDM2N1
UlQ5UU5FVU9mdj8ldyVZUXQ2PTVaME0qQlV6PGBrNGU2NUxFRAp6S3VgayhHcD5UQWZmPzVhJHMh
dVJpQTJrbEQ2ZXIhSzFzZUU/PDU5d19IajlhVCZYXmAyQnpfYzZAKXgmOGAhelYKekUyZER7VFBh
I1Q/T3R1QV9gJFRfZHslP19meXJLXlk3WHlpTThlezBjQ2JqelNZaWlGYit2XjI0RT0jMUs/e0FL
CnpoWXh4a1RDIUEjNEBublFgRUF8ZldTUDtrRnIpNmMockRIRzw+KzJkbWV3bG9lZ1FDWnNffmYy
VHdXSmM+ISorKwp6IzxyPHopIXJYfiVMKSVjaFBmZjhnamo9a1NtVUBIQlMyeHxAeXo3c3ZCK1lk
WnIpRDdWNStPczBKRksyUUhlQUsKemRlcCMhJT1kfHNZPHI1VUxlOHo/QURJb0JrUlMhO1F4dVVJ
QikzSGg5Q09+V0l8VzYwbmIjMkl2fDZyelNGUVJrCnolYVFVRkY5T2FyOEg7WTtIZyRmfkNkQ0Q4
MlBLKiQlMSNtU28xdS1qYnYhRTNSSm14S29sYENOOSZtNXVmLU9WcQp6VW9ebiU5OEkxek1LanQj
TTJgSyhvdFNTTCExZ2lraFc9SGpXcFAwWm9UdWFMT0BXISVUbGQ9bzhUbCV8UCVGIWMKelQpfFNe
a196dXlgdXVebG9TIVhRaW5zZGM+QX5xez9AJjFaSDBsN1RPKTZBITJUSHc1MkJmfFRhb1UtdjNB
KGhFCnpAUjspZDVMK0k5O3s4bnNCZiM5Q3lYbFhRSkA+OFJQZ08pVlh6OzErJXkoSmZEP35ySzlW
cU5gaVJmUW5RNzRTQgp6Pis5dk1mVllmaVZsVlMxNzNWTE8pRnllRW8lU1YjSH1eJkFLQ0p2WnZ7
YlB+MWhtJkAhKFhOUlhEYENuPTxDe1IKel8yRzs8YVMmKk9DSTRIMXxLPTZAVXc4Z3p4QnVaNjRG
OHotZS0tZm1neWxiQmA1JH5qXm1ofW1nOW9+Mm5KOUVqClVgdilyVWVIUTN2VntAYU48SCVxQzRA
WThoKUJwZWcKCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL292ZXJmbG93L292ZXJmbG93LXNjcm9sbGlu
Zy10b3VjaC1ib3JkZXJzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9t
aXVtL2NvbXBvc2l0aW5nL292ZXJmbG93L292ZXJmbG93LXNjcm9sbGluZy10b3VjaC1ib3JkZXJz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMTQxODBjZDUxMjZiYjQwMjJlNzQ5MDA2ZWUzMTFm
YjJlNTAxOTZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vY29tcG9zaXRpbmcvb3ZlcmZsb3cvb3ZlcmZsb3ctc2Nyb2xsaW5nLXRvdWNoLWJvcmRlcnMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorVGhlIHR3byByb3dzIG9mIGJveGVzIGJlbG93
IHNob3VsZCBiZSBpZGVudGljYWwuCisKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0vY29tcG9zaXRpbmcvb3ZlcmZsb3cvb3ZlcmZsb3ctc2Nyb2xsaW5nLXRvdWNo
LWJvcmRlcnMuaHRtbCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5n
L292ZXJmbG93L292ZXJmbG93LXNjcm9sbGluZy10b3VjaC1ib3JkZXJzLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTJmOGE2NDY0ZTEzNDZhZDViNTNhODBmY2FkNDg2YmY5YWQ2MWRhZgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL292ZXJmbG93
L292ZXJmbG93LXNjcm9sbGluZy10b3VjaC1ib3JkZXJzLmh0bWwKQEAgLTAsMCArMSw4NiBAQAor
PCFET0NUWVBFIGh0bWw+CisKKzwhLS0KK0NoZWNrIHRoYXQgdGhlIGNvbnRlbnQgYXJlYSBvZiBh
biBvdmVyZmxvdy1zY3JvbGxpbmc6dG91Y2ggaXMgcG9zaXRpb25lZCBhbmQgY2xpcHBlZCBjb3Jy
ZWN0bHkKK3JlbGF0aXZlIHRvIGJvcmRlcnMuCisKK2h0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD03ODg2NAorLS0+CisKKzxodG1sPgorPGhlYWQ+CisgIDxzdHlsZSB0eXBl
PSJ0ZXh0L2NzcyI+CisgICAgLmJveCB7CisgICAgICBmbG9hdDogbGVmdDsKKyAgICAgIHdpZHRo
OiAxMDBweDsKKyAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICBtYXJnaW46IDEwcHg7CisgICAg
fQorCisgICAgLmNvbnRlbnQtYm94IHsKKyAgICAgIHdpZHRoOiAyMDBweDsKKyAgICAgIGhlaWdo
dDogMjAwcHg7CisgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsKKyAgICAgIGZvbnQtc2l6
ZTogMTUwcHg7CisgICAgfQorCisgICAgLmNvbnRlbnQtYm94OmFmdGVyIHsKKyAgICAgIGNvbnRl
bnQ6ICJBQkMiOworICAgIH0KKworICAgIC5zY3JvbGxhYmxlIHsKKyAgICAgIG92ZXJmbG93OiBz
Y3JvbGw7CisgICAgfQorCisgICAgLnRvdWNoIHsKKyAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Ny
b2xsaW5nOiB0b3VjaDsKKyAgICB9CisKKyAgICAubGVmdCB7CisgICAgICBib3JkZXItbGVmdDog
c29saWQgMTBweCBibHVlOworICAgIH0KKworICAgIC5yaWdodCB7CisgICAgICBib3JkZXItcmln
aHQ6IHNvbGlkIDEwcHggYmx1ZTsKKyAgICB9CisKKyAgICAudG9wIHsKKyAgICAgIGJvcmRlci10
b3A6IHNvbGlkIDEwcHggYmx1ZTsKKyAgICB9CisKKyAgICAuYm90dG9tIHsKKyAgICAgIGJvcmRl
ci1ib3R0b206IHNvbGlkIDEwcHggYmx1ZTsKKyAgICB9CisKKyAgICAuZGl2aWRlciB7CisgICAg
ICBjbGVhcjogbGVmdDsKKyAgICB9CisgIDwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgPHA+
VGhlIHR3byByb3dzIG9mIGJveGVzIGJlbG93IHNob3VsZCBiZSBpZGVudGljYWwuPC9wPgorCisg
IDxkaXYgY2xhc3M9InRvdWNoIHNjcm9sbGFibGUgYm94IGxlZnQiPjxkaXYgY2xhc3M9ImNvbnRl
bnQtYm94Ij48L2Rpdj48L2Rpdj4KKyAgPGRpdiBjbGFzcz0idG91Y2ggc2Nyb2xsYWJsZSBib3gg
dG9wIj48ZGl2IGNsYXNzPSJjb250ZW50LWJveCI+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9
InRvdWNoIHNjcm9sbGFibGUgYm94IHJpZ2h0Ij48ZGl2IGNsYXNzPSJjb250ZW50LWJveCI+PC9k
aXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9InRvdWNoIHNjcm9sbGFibGUgYm94IGJvdHRvbSI+PGRp
diBjbGFzcz0iY29udGVudC1ib3giPjwvZGl2PjwvZGl2PgorCisgIDxkaXYgY2xhc3M9ImRpdmlk
ZXIiPjwvZGl2PgorCisgIDxkaXYgY2xhc3M9InNjcm9sbGFibGUgYm94IGxlZnQiPjxkaXYgY2xh
c3M9ImNvbnRlbnQtYm94Ij48L2Rpdj48L2Rpdj4KKyAgPGRpdiBjbGFzcz0ic2Nyb2xsYWJsZSBi
b3ggdG9wIj48ZGl2IGNsYXNzPSJjb250ZW50LWJveCI+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xh
c3M9InNjcm9sbGFibGUgYm94IHJpZ2h0Ij48ZGl2IGNsYXNzPSJjb250ZW50LWJveCI+PC9kaXY+
PC9kaXY+CisgIDxkaXYgY2xhc3M9InNjcm9sbGFibGUgYm94IGJvdHRvbSI+PGRpdiBjbGFzcz0i
Y29udGVudC1ib3giPjwvZGl2PjwvZGl2PgorCisgIDxzY3JpcHQ+CisgICAgaWYgKHdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KHRydWUpOworICAgIHZhciBl
bGVtZW50cyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ3Njcm9sbGFibGUnKTsK
KyAgICBmb3IgKHZhciBpID0gMDsgaSA8IGVsZW1lbnRzLmxlbmd0aDsgaSsrKSB7CisgICAgICBl
bGVtZW50c1tpXS5zY3JvbGxMZWZ0ID0gNTA7CisgICAgICBlbGVtZW50c1tpXS5zY3JvbGxUb3Ag
PSA1MDsKKyAgICB9CisgIDwvc2NyaXB0PgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9vdmVyZmxvdy9vdmVy
Zmxvdy1zY3JvbGxpbmctdG91Y2gtY2xpcHBpbmctZXhwZWN0ZWQucG5nIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcvb3ZlcmZsb3cvb3ZlcmZsb3ctc2Nyb2xsaW5n
LXRvdWNoLWNsaXBwaW5nLWV4cGVjdGVkLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ZWZiNmQ3NDhmNjhjYjE5
ZTZmNjVhZTA4NDBjZWM2NmJlMzNiYTVjCkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAxMTc5Mgp6
Y21lSTJjVHwoPHk3ckB2ITtBPHgzU3l6eUw0aCFXYmIreFRBX34kPUM+OVZEQSUtNk09cUwmYjNK
Nk16MWB6MjgKekxWelRvQkdQK1AwLSs/N1AhYnszUDslfSNgPCQ4Q2QhTXo9VElidDtlQ3VyZ2g+
SStFbGpuS3c9ZW1DUGIteGNUCno4dDRqYStPLUxSS25Vb2FKI0NDWVl9a1c5dGhmQU9KLWowI0VG
dU59OXJvMCpedHxmcWMtNihqJU4yMjFNTHxMTgp6dmRTP1ByT1BWVUU7fUFtUlp2djg+VWQxO0BA
MktGNHZJPUQ3T0E1JjFZIT9EQEFMXiUtXjhpRHorMHdmJD1Zal8KekFOSm5jY21HckMqVm5TK0dY
dDM9MSlIdkBNRl88PmNCPTFKRXNSSkBJbHEpfE1qViROa35DRkl4b1lLZDtoY3tgCnpoX3YrV3tS
K2s9dVZvQmx2IXY0bUNxaTslWmlqXklOfER9c19OUSV8PjElNXhhfSNLXmNCYGwwbWFsVzFKN3VN
VAp6JjF5SWdIezkxbGViPGRLViE4OyNafHpnSkw9bEt2Wi0yXiVSYy1yIV9jQ0U7Uzc+QGZxKihD
OVd7Zy18VWw7T1QKej9oOGZZdil0XjQ1RH4xd3lBeGtJNk0xbiMoXmFET3l8c2dyU0FKa19WTz1T
Y21IJWx5Oz00bmEqOE58M0YlTm9vCnpQTmRrT0hjR0tjYnc4b0QxVmQ5ZDhlak51IVdLVjJLWSFU
ZFJtWm5+RHtCaUMrUCloY2tJWHRxPVhEeD02K1ZKSwp6QS1JKmVjcXU8VG9TP29iYEswWCkoUlJu
UUF5czYkKWUjWSRSYExRPiEpdkBGRUchSn1LPXBMOHJobX10Z3VWN2AKeiVjKWgpb1hnRmR2VXlI
fCRyJmM7NSNrIzJBTmJ7TSR+K2t6ODczO09KKVM+JkZScHMpKHkzRkd6aVJFfEVVPCMjCnpZVGRv
ejshPzNQUS05TExlfDRAfnBFVylkRjMpVihgbFUqREFGKUpjT3IzWDJTMztEb2U3c01mYGVsYHNz
Vl54bwp6TWliRUdKMmt1fiQyK3JSV01xV3VxWXY1RXd4K1g5YnwzZnNgc3paMC18V349bldfOFFJ
KzxTeihgVGhsVlJQe04KeiRJQ0A9SiRuVCR5e0dxSDZPQylqcFAyYWwlNWd0dkZBbShIRlQyMGUz
Z2lUUWViMS1xS2lgWEh0NDUlI3Q/VF5YCnpKfXo/VW1ULT0pJSZqQEVDfFE/ZXk7SHhWclJBMSR4
eEFBKHN4SkRhQjN5WkAtMDRDTkRjdyluOD8oaDVCWmJuQAp6P0ZuUVY2UTNhYF9MU0VLdyFnWk5x
OHBpO28xM2lVVm09I2V8MkZ5UClpWSpob3ZDYCFRS0Urbj12cUJwVUVZLWYKekR5Qyo7Tm5UeDZ5
SChzQzsrK3w3WF9mWmBtS1NNfUArQVllJEgmSz9EPnxKcUkpKWtnQz4+XjsoZWN9bCtzPmd5Cnpi
Y31SJHQ3OHRFTH0pTmVkVXxAUUM0KSZWRlJXJlkhfD18N0FNTz92Nik3bnhNUVlBbHkxIX5FdX5M
KlBJQmpKagp6UXl6a0tJaCRySUUtcWU2YVZiREhDMCp3e1FmPTFlMjU/bHZAS1Uke19uT0NoSFRg
Q0h7Q3clJUVUZiUyPWFoTW8KemsrN1Upe3ZITkJ1NDJWZVNjbE4oamhZIXxfN1U0MT5CVUU4aDBr
QGRUWGlLaDhMODF0OFo2UShienleX0xUYWVOCnprO0xPemNsVGJoe3tvZmwtPCtoT1ZqRi0kcGBL
OFprbihEISZhTD4lbUd8YkRlZzV4blopNnpGYCU0T0c1SS1ZfQp6IXl7Kkg4IW01KUpEN0ZaUDF7
Smd2JTZiR01NZDdXWT9kQnY3KHB2M0U+O2UtXjc1TENsfHlacHZ5TEh6XnkqMygKekNMaX08Xzcp
Y3hBSm1WdiFCbU1ic04pazgzR3dtVTw/VT10T3JsWUdqMnNFeWZuV0l+MU0tV0N5cVhmIyh2JHNl
Cnp5Y35nRHZNIyNPbkhGYlA3UHZlZ1hDRzgqaHx8Zz0mcyNzaTZrZjlxYyVZRE85PFl3eF4+eyY5
QiVUMzklcHxkIQp6JUY0PzZoKDNuVGUha3E2c14+cEhgR0Ryel41Tyg4VWBFZzFlfGF+VylTNnxI
d3tQT0huel52Zl44QSFQeUhRMj0KejtnMEZLWnVARlhaKUB3KFRMYlR1VClHXzBxQj04TU92WE5M
R2tsMDJ5RE1yfUw7MEVZTk1eUDZhYVQqck1IR3RZCnpOLTN0LTJkIzFydmRSYCQqdi1weDZOSWJQ
NWh3TU5QKmo7Ymw2JEw7czRKQ0pUM1doUHpSWit5a0Z5WkZVJEI1Pwp6OylqRUZRbVZZKSohQits
OUpUIyZWelh1S2QpUm9RKlRuV31qRWpwNGhufDFBQD4pfms3Yi1RRyEweSVNK3F+bmsKeiFFYV99
Vyo5TGs/Jk1qYUNreDlLakdYVTxCemsqJDZWMS1KdjFQSFNOOCVkWl58NWxiKH1gKnhYQ2xPYDlE
MXsjCnpaQDAlY1dRZj9tQlBvNW5UY0lReCZ1OSlfV0E5WUZjSyo0N1Z9RSVkQmloeH53ZVZWX2Bl
PnBAU2V7KiUkYHxAVAp6dk9nMCRfQSsheEhFNjErOCVnXjVxNChUT2FiNGdoJDZQMTNOPmNrX1NV
VGZYZn03dmExMWIyTyhJZytKP31xMSEKekd9WVghRWFHVWdlLSFfYEtlMFY3JEckPktqYXVzQV5u
fT5reCEmQ1VsQm5wO1pYYDE4c2pjaiNLcTJ3amtmKyMwCnp0d2t1NXAhcV9heilsNXZxZV8zbili
V0tAKDVDSHFkcyYyJEhrN3pXIV9pV1U1IWQ5eT1xISt+Knd8UlE/Kmctcgp6Vks1VnNwd1Z0RFFN
V3d5WXVDbFBeRWlLSURlUnNVY1IpWWVzJkVBRUomeyR1Kz84aTxBMjJ1NTxpajNtT3ZlVEoKeiFR
b1R0d293ZFRUaUpATFQ0Skp+STk7TUxWJThqTFc8a0wwdSl8TD1WKlIlJjEkX0Z2eCpnK2V3XnZV
O2NTPkZ3Cno0MyNgMjhkSzZ5RSNXYHUoO3BiOFZhXlBrajkoe0g5TF51PDA8dl9aSURCSV4zczw9
PGVge1ZqWE1FdU85ZSNsKQp6T0ppIUlpUDJpellWRVoqQU5RVV5vMCpzdGBtbV9rPnR+ZGtPPCNC
N3hHU1N7VXJNcDdfUjY0OF9gYCZuI09uOzkKenM9SzIzRn1uKEs0SkRuTFd9JVJ7az0oXmROJHo0
YkwtRXdUJjNiREItNW5qSzBkdCFnZU80Qnk0Sz9SWER9cSp8CnpFTSg1el4hbFlnb144TlclfnhH
clVFMiYpRlZqOWZnN3REPkJTRVJ7VlBXaGg0U0Exajw1JihqWjFEMEZBKTFDUgp6VXBmP3FaKHVs
NHRNXk1eOHMzaHBNPFVsUS1WX3llYns2I3o5LUI8KXJLI0dIe2soKkFnMjUqPSlZWVMrO2ZtTFYK
emJzang+V0YhblZGQmdXdGNrZj1hKjBPOUVwNUFQRnIwQ1kqaGprbWljUFE2VGtYdlktcmQ1TjY1
WW9+ZEtgX3soCnomNT9OTGlMTTtSLXR4dHZhRUpUU1ZQIXQ3YWApam4jcGRKZTVOcTNAckN9Tks/
NkkqaU9NK1dwJWdhO3owYFVqWQp6Uz1Ue2BsYUZJTkd0S00rPVE/ZURgcGhnV0VkRTs0MmxrZ1FR
Mms1ME17UXNLeGIwOWNyZHIkd1VXJlR5e09qY2kKejJsflQoQ09eTSU+bnI+OD1AWFZjO3gqQUZ3
eyQoMj5VR3Y0O3J1QU9TPStGd0tMfEZYJnp0ZntnPSVTSl5hUTA+CnpXO1VJRVE2VVotZ3t+fj9O
am4jOztFPFZ9T2A9RVg9YVQxcHp7NSlNXyQjcGdEKlhYJGBKbX09PDU9fVY2NmcmMAp6R0hHPzVB
fTElZSY+dEt1dGRwTVRVS2hsbz9ZJH1yaGtXYDtje240aXVITW47bGxCUkJ8TjBkTClfbyk0IyQt
KW0KelMoelZhbVZ3bzFfVmV0e3dZOUpoXndRQyhkVG9AVmVEbWB+PWxpTT1jQD1BJV4xeC1OdDFQ
fmI4JkVLRHclJTViCnpqPkdVUEJhSTBiJk1rMjJ0MSFte0lrV1VRNDRtODJlZiZgeD9MKyE4WURH
aSptWlc+VjMzaTs1cHZvM3pXeylIXgp6e1lJT1REbm9AVG1ZR0VHaUwjI1Q2QkcoMUQ+SmokdHVM
TjFOeT40QG9xWGA/MkVMSlJFNX1gcFUxRTx+bjQ3IXgKem11cDdRTXNkT0Fjc3hFTUJPQGxRTm1m
M0IySjdVJFo4dzxjdWkoeE0qTXx5PGJLM09maHNsd2whJX4pM3swVXdQCnpFViZ2fmZjZEM1aFBt
JV5tRFNgQlhgX2R5SDIyUCNkWTc3by1ueXFVITMpSEdHTCVDb0BpQjZJT0t7Njsrdyhnbwp6aGxU
PUxxPGBkb1E0QlF6ampqflpVZGdndzlsc15JS0JnOVZaPnlKZkA1Wmx6bkU1WUdEb1JTNCg7djVx
KzZQUHoKej01Q1lAd2NWVnlFbm9IWU91Mz97Pmd+QH03dUVrO1lWX1cqekFOZ1dldj5OZ0FAVmJZ
TV8yOUcmc1o7Rz5KQE9ICnowMWhLUFI5dT91VHpld1VgYTN9aDteTE9FZU5+PU02Yjl+bD85aSR1
Z1B8P3VfMF91c1VHJVNTc3xlO29WUXRtVwp6ZWkxSElPc1pEXnprbX5RJE5GLWRePjYhSTB+aCkl
SThfeChqY0NEY3NadlQrPShgaVB2MkVoRlMtVytncERHUCEKeilDcERePTB8YXAzdGlAOCFRWDQm
IXdzI3AzI2cmbiMkSEhKN041aXJKTkRpQmBXZ1EyeT1BT0kldEdMUGFfVSNJCnoqTiprKCZCPlpW
YzQmK2s7cTY8YFNDdjNKK3M4QEtxTFN5WjtjRE5CY3hVSmc0Nz4+IWBXMHo+ZXk1YFlAXkFwIQp6
PiZQWHxDMy1aNzIlfE5uSSVNNjNTQjV3Vm96fUtBe1pONzNeVjhMbV9QNT98P0NrN1JiWlI8cFB4
XzExV0J0TDMKemg9Y2NiWEolJExzWlY0LStOfjFYTl9uX2I1cT5eJkF3Rmc8RzlBOGJuc0o4ZDVo
ZCZsb25HUjx6eXlMdyo2P0F2Cno2OGQ2fiZqTHl3VUAxT1IjYXQyQSR1UGF+O2tPP2RCWShoXmQx
SVBRcURKMF5CaVQ3UXBlSnx2TU0xIzJJeSNRZQp6ZjQtX21hbGw5ZiZiQ0d5czUzeSVXaVVeKzBS
dzRzU3xnKkBeZlVITypXMGZ0Z3lDbXYhUXJLcFBPR3VuZTFTIzUKenpncjNEZW96aWFGYklBQDRk
VVdgTilgTl8kKmMyZiVufTtOcD05dk5edlBBPlUyZFI5UzNmPD4kanVEYEJrUmh3Cnopd3QyfG4m
JS00MlEhcFFSb1JRYnUrWXE/NCt9OyV2OGpWRVBUYkxnRWQmNXBxNTdzKzxrP313eTFUbTA3QDZB
Sgp6X2poIT5eXz9EeWtCX0h3RVdrd1k7bTk1bSkmdV57YTZIe2AoRXZPZUs1aSUhMSZTYFdXR0dD
KkZEb35mVEhzaVoKeio5bXVETW1zeWQmZEtSM2MxNnVOXjdMRnFDMTdvNzZwKTxxPUJsb09gTig4
al8xeFRDVmBITyE5RmxodmBRPno7Cnpnbk52N3tjXlZvTCVQd0tzVmA2VjFhXl9IU2FIV2AxPXsm
ZjZ7JHVUOS1qdjJ3RFRSaj51SGZEPitVfCZabTNOTAp6I3w5e2shaTBDWGJhYyMpQiVtWDk5Mzdn
LXN7bCQlTngzQGs/cEskdFlgeSokNFI7KnchP0IwYnk3QFZPQEhSaGsKenVecVAtbGh+fW1VJDhS
ck9BSS05bj5WSipTaCUhQWVgPCZpSVBFPjM8VnshQ0JxKkpYXnlHS35qI1BQWTApOXZ3Cno4NXgx
UUlYXmBxbCRRcnBNfksoUSRzMDAoTztCejdnSnhUR09UKD09dDVmdTdfSSs8QHojcHNoXzJ5I0xl
fj9JJgp6VnkkKlpST21kakZGe0tKbmctNj9MXkxmKSEpR00kb1dQRXNfbFBlO2BQR2ZOZSRLeFBw
TEcrQlpicT4kc1B4U08KenFKNn15ME0oYCVYOD9ZRyFxYHw/XyV2JVNlOGx3al5qTUZmSmp6MUEz
YERITFBLdTU7T0B3VUhBMGF4ezE1cDVFCno/JD9jSXV1ZEdSazIwSHI+VGMzbnA3ZnomTT8tRnUw
TUFKSGpsRVFqdSFwX25tblokS3dscWNQS2E/VkRPJEktQwp6dmBaPG9NeitSJVk9aWt0UU9XQj4t
PihEajtidUt8bndnSyp1PEAoPiM5Z3FQcSE5OEolaEg2LVJhRXFrX1VeZyMKeldVTkV+SD1xK0hY
d1I8UXlLI1pAVStDdll2Z1dHQUprRTFgOHs/SURaWGRCYyVaTWZyPXpJcXIoOFlKfl4tIVEtCnol
KEU+cXBMUk50PURKWCZ0SDFAP1lpdH0+T3M3P0g/UTFCSXlyTFRLKm55TW4mQHBtIWJleWkwMEM8
QVp1Z2FfUwp6JDFxOFB1aylxRFVgPEpxRCs3R0IoO3B2ZmleZXNLbUxKOCg9dFNWMVN5VkRXIX00
K2tjWD5uUlU+NkV+VlF1WjEKenZUS2h2bSNyLSYxd0Z9VWBpcXdGKXlEcG4jISQmMU9OWkBaLXJr
dFFxQ09lNnowaDJOPVE8fFdQRCF6REYkOHc2CnpfV1FUeXBmWkFnaVV8dC0pbkg+Yjgxd1BmKj4+
PTBednM2d2VZdkcwQHRzKX5RcUBIN3NXQUspYTlWeFl3WipUNAp6NDRQOWlfU0hrYF9YNHxTQ2t2
YUtrfk5waENVV2F0eX1tZmM8cEJCdjM8TkwxcDxuSWl1SEYmU1RGbTJlXjZLajkKej0oZVolbnVB
NypgYWhnYHhafTt1RjlxfXhmUjJWfE4zbmNJOUd8Mn1iSy0pUjtAO29rR2ZZeVMzJVF7PipJXlI2
CnpkOFkhSk4rTip3JEdoWW4jeFB5RmJIJnglPkZYTUFwSzNyTmI+ZSFlcHVATmpHLTcoJXNUaD93
b3czZDtDR1BqNwp6MEFGWEwyKVM/R1Y1bFQpVXp3TVN0THVmSnlwbEk+ail2am8lTk9eM0xuNyVn
SUIyaVZLY0FWV3B5Mz8jMjZJPTkKemdwPUlzNHFLNVFOb29mJWRyTl41X194YkcoKyY9cjwjSj0p
OER0UHBJNHkkRSF2V2x1Y0FBQDsrcXVeczFkNXBnCnpDYmxzJEl2VFhIMjwpKldUQ3Uxekd2PFR+
ajluYFBySW9TQko8ZWBXKVB+KmxUbkJLVkZaJWQ7I3FYc1pqKDZeUAp6ZG1ZNWI0d0B6JlM5SUlA
ZlcpVjFeY09sQWF0YzxGPyM2QEFMQGxBWV5Kc1gjVnMjM3dwU0wjKlBlRTYjN0V8MWEKeikxUCtC
OTYzXyg+VCMoYio+QkVvSlJ7eE8rRklHSSpMTmFeYU9rT1V7S244RVRic0huVFBJT25CaFJKYnhJ
RGBACnpjK2U1cGxUKUZCalRBJWJWQVJ1RWw0dmJ2I3p8cDs3TzVTeUcmMm08blZwdmhCblRhPVVL
WF5sRDxNcEBwUG9uZQp6cmdIZkBmNSlUT0UkIXs/JkNIWV8zeEttT0Q1PHI9QihqPCZtMGotdFFg
VF50RH1fNmtsfi1Oe05ZP1MlWHQobXMKem4oPiEwUko/UyZyb1Q2SW96TT1tVj5OO0hwLWUhQ3N4
ZDEtKWZUM3YkQ1EtUG9NTTw8VXx8LTh6PUE3U3Itcjs7Cnp3ZnA4b3ZQWndjKUlBPGRIUWVTQzZu
bG9YbiR+SGBLQygzVFQ1QCR2N3V0WkU1MHVeIzIhSz9zZVB2MilocHRldwp6UFotaiojYHZSR0ti
ZX1FQ1BFfSZ3VU9TbUZNPFlkJn4ya3g+OEgzN3ZjIV5AYUFGZk9nMnUhQ3pmIzw1K3t3en0KekNN
MHxEaUxMfnJHcG9DRkc/fEVAZUZEYEVvRjF5Rz5WQTFxbntuX19NWC1PYmZCc3BxZHhxfCNLTkpC
d19wZFUyCnpweTtrfSZXbHc7WmdBbmtoMHImZERHZzYlXnE5WncpdjhWVWpYVWB+M2NqZkolR2Im
WVBHX0VpVko/Y21vVC09Qgp6d21HPSZtJD1UPVRjWW9OOGkxcWJjSDspR21xUC1aKDtLdWBEeiE7
KVJeeDJrWWtOeVFnan12OFQxMC1kb2IyfiEKems+azlzMGdRKkhaQUdaPV5MPy1kdV91M35wSDlf
VE9aUVFZLXo7JndXSHd4NTNGJEBMQSRhY187SC1TZGtKJDZgCnp5OHE9JXpOdUxDQEc8P2craX5s
flVlQzs8S2x+eyorPSUjUHVpZGB5NUk+eE14QmclQmxJQFJlMWlibUk5LXtDTwp6Nkh1YSQqYn1M
KyFKTXc0QUAmYD54Z1VjXnBqQ1cxVE0rNzFgb0FGJXp5NF9YZjlCPD5XV01vVElqYUt0TCZjXlYK
elJ8VTc7NWAmbXNYSX1RR19uI1d8Kkp9QUdHR15fTGtrSippP2h5ST1mdzlNN3czNVZZOEslTklQ
K2NzQDdDflFOCnpXNXVjPW18Mj8zM3Rud0dCe1ZuRG8laU89OCZhfVJAIUlPTFBlQ3pzQmcpNSko
ZFF2JlNzc3FGbXcwSTlRJDh9Wgp6c1pzaHhlej9pRUQrbG9zJE8+cDk8ZUJsciVeQD16eTYqcTlw
WHhWfTEwcWJYUHNNPzFVVnxuT2xBaGVgWX1zWDAKemEyZXJGPmtVQllxPlAtaUxQOyNPQlJffWwo
RyllWjxNTWVYZEB5K1ZreV5HJFpxazNaVVI2RFl5TEF2XnNLPT5VCno9UnAmZTJKUSY/JX08djBr
OTtGPGRhXnl5K2pWRF5GIzQmUWBRYWlGaWBTdHwzcFVRJWxPe2BCakQyMmxIO153Ugp6KihZeEcq
RHopKEEjQDNNNzdyfXxETUokbSY3eG1kd3BBLVBrVyUqdE5SdjlBVF81YFJ6KF5SWjAxV2ZBUU83
QEkKemowKTd7SVN7YikkVTx3IUl0X0RrKjlVKiQ8PVc/fD58V2FXQGE9TkRseTYjc3BOcTtgSzMq
UkNYT3U2aVZEclQ0Cnp3OXphR1ZDMFVZY3l4YWBuNSNhbiE0fGhfUH5qVSppdUNzTWduVmVZZ2Nn
eU5sTX1jeVVHMVNTKldvbD5eI0RJcwp6RH1AdE5hNXgoJnE1MXZoOVk0ZHE0OU9KdFF3M1MlPz9i
cCFOUFk5bC1YT2VtVz9tbEomQ0whbldadGg9Vn1SXjkKejEjbTs7UHtwIz1aPjc9ZW89ZzJoNHV9
ekJlU1NqJmMrMVlwcUNnSjtpNzlqI1o9SVR4TmxMPUlXQytFbzVmKFl0CnpVV35MalhoPkl+Nz98
enAlYFNPbGgtcjlPbldNIVNPS0ZnWnk3THpYWEcwZWpoZFFNJiFRcFVUeT9SdkBFKCMldgp6QFhw
KkNTI1N5UFV3IUBoZGpoK1drbDFSa0c3UnJfSWFSYmJRJkphR2dwUGxHMmF4ZihyJC0lTioyR1gj
aU9AbUgKem5KMjFaI0RzUG84O2RzN3h7Z0slKDtsaCMmNWZIbVJHbmk/ZVdnejlGJkRkayQ4LVpD
JCFFKDNiTjc3NmR3QDJwCnpjPGRSa3IzTj8rTkxveEZ1bjI2M05tMl9oTDYqbF5gRCs/P19sRVFf
YjJuRnZTbWEtbXl5cH5HcmhPVHRpbmJMJgp6ZiRrKWEoV2MmQWtSTDBBKjU1NFlBNT9IbXd1anNW
R0p6PUMkcTVxJjRtS2ZteHB7ZEVxTnMjfmd6JVVjTFQ4WXUKelJCS240R0JDYkpsYlRmTmk8Kz0w
MC1ANEJANk1LZE0xPGdRTVhoR3hXIykye1ZzbU9fSjBJamM0OSRnSkhoQDtZCnpBOzg3NnFnVFRg
P1gwWXh1Ukthe2dxJUExKDFqamdTM1JqRCk3U1MtR2NCPCQ2Skg5UXB5N2NQM0ZgcGRORzBBbgp6
c28qeUswMFF6cjJ2czRTbU5xezFyQlktKGx9c2tYSU4tPFp5SXR1dXZ1dEkoMT44YV9CLTJ0Pj1A
PDJ8c0hYKzAKekpUQV9Hc1g/Y2kjcC1Pal85fkBmbTZBUkROYnB2TSZAITJNOVBRNGhzeEZvK3Zg
aFMkYjR5e2ZtSWpFJkxAcUlSCnpAaFJqUWhMWU1xTGt0PUs+TExNJTF+Xl5mTSlwdHAmJldkQXNr
dlJoVWkmY2NkMmxGe2d3T013S1Z4VmVgTmhNKgp6ZDYlaTRCNGA4N05BVHd1U35GK0VSY2U9PUF0
N0N1cUZBSitsNSk7akNIX0lPdE9ydWJtWnt2V3t1QSpGeUZ5cW0Kem80KEloamZrJUJUSHx6QXp+
TU97I2JZdypGdT9tMT1ea2tBZ21uWjIxYzNDZGdtcjNoJjxEZFZadW94bFhSXlBLCno4eDkmK2Al
P0V8JFFwTyp2QFRCNUFmJXpSd0d+YD9lO1hQeFU4QT9xWDIxdmtVQTZAYjw1Kk18cWh3QylmbDNC
WQp6cmBKWnFAdDZiRmdZP3FZJWdhbFR7WkZ1flIjPU8+IXYxZHdePzM+IWtWZGw/T3psbm87SEV9
QWJoXkJ4NXN0fkgKek40d0dGeGh7dW4odTdGPlJHMzRQRyYrPD1rWU9TKz5nd3VVSVZjcyt1QCst
RGxmJldMYlhwO1JoaitSXmVediQzCnpoRXFeZlQpZkAtampeOHdYPC0qKTRMNChGXi16S09HS3p2
NGlOb3JgXmtqYlczczdpI3g/JUl3JHskI150OW0tdQp6bVk1NmE3aTdPaURRQlNKZHdGcnhEeVFJ
RnFnZDhPODJGP2M7KndZSnkmbGIpYWMqbGhgeSokXkoxNXwkS0IhSmMKekk8NmVyQEAjV2YxJFhV
d2RRdW1wSE4qOUJMZ01QUEZoaSlAd0hrNnk9MiRyN2A9RyhFQGM1elohbHBYMGVMakk8CnpoUVNz
M0BxfGk5SUJtVlpJNmkmKUgwOHtyY29ucVdWTTBicylkTn5kZDNrd2U9OGY2MFI9YDs/dCRAV29w
TUcxMQp6cyhBYCFrbGNPM1M3YGdZKjFaaz5gNX04cWVFYjdyMUtSJUl8QnRgfj00Q35IOH5JJjJ0
byFFZ0N3PE4yZmZ2WVkKenFaKlBiWlpAeTRNNyglZVp8P2opQD8kQ0RWKUJmM0Uhbjt6Mngze1N2
dGAwMj0+e01qbFE1PHpAbnAyWUprUEQ/Cno/Y3NecjtISHdLRHpSXkt5Z00zUkhRKzlneHlCOTRF
JmRUeF5fcXZ8V35fdkNjNkZJc1MkJEVlc1BITWApO2Q4JAp6bzFwQUUta1BHQHdkOSF1JDQkKlEr
eyRqJCk+UjtLJiQ4eztlSihQVylgXk1OMXdZNktyQ3ZBamdFTzJXejlSMG8KelZWdk09eTtHLTd4
c315cjdiPUZBX1dSWTF0ejYwKll8VUFgalk1VTY/bGtAVnRqJkdvQUtWNHteV1cxWUNAJCUrCnpU
IT0mSV59ekNrcU18LVg+T3BYdlU8MyFYUz9JQGU4eUp+cnR1NH57a3RIdntXayh2R0dlV2xgWjdn
QXFXbiNrcQp6ZF5LYDdfUmo7a0QxJCVjT1o5VHsqVnx5fDw1KDklaV9wanxGNklTZWg2Vz5ZPXVa
IUshc21lS29sNyZ1aVhJPm8Kem47eitHWkdGO0VifXtNaF9RSilqISNVfFombTF3KEUtY1JXNWdz
PGt1U3UjUz9PYE03YT1kO0JnM308dGpiSXBaCnpPIVd+fT5hZEM/SjVUOEBGQDQ9TUA0REllbllD
QnpvVXdXOSt6UXtfNTVsdWNAM0hGKmgyWCkwU2wrViR3fGY9Wgp6SlppfS1neEtBb2YmJjY2ZXw2
VHg8RGh+czQ3SFgoUzY4OSZBQWBQSHRlUWVWU0J6KDdTKSkpaVJXfiRSUXQ/Xj8KejM8OEUhQXhm
VkNxTm51cSNMOE5eU0JZM1MycEZNSTNBMjkrdXZSazd2WEpFMkhyUWRfZD43bXUzblFSU1BlclN6
CnpMR1g2eXZfYiYjSTdwZzZRakwpT2haJnVfMHZaZDQ3KiV9Sj5hRFg4SEJINzhfMHBeOUlMX3ky
eFYjYjdaJHxtPgp6bmxxSj1vXlVfflUtS1AqVSZoO0I7JHk8WWllK0wmIVojPEBwSGNZb3Jkb29z
XnBZMGZiRFdTJk48eDFySUg8fGQKemw/O3AjNld1bGEpV1dXRzM/SHRIcnQoSCE5WFBXeUJRe31e
I0QzbTlPJi1DQWFAdEAlR3lNQXFFakgrRlBMMzszCno3RUhBYUlKYmpXeU1xSCs8YkAkc0l9bHAx
dyYrQiRwRCtFUUpfYDVNUTI+bEZfRGU5dzdicD9GeUkjYTclKEMzKwp6SDdBRTF5Xks+eTVGTmxz
KTUkaUxLIU9RcVcxP0NpblhKaHc1WUVpYDgxZ2p2cnImPXFQUn1RS3BfU0Jic0IrIWEKelJqeiNU
RjROU1NYPExKV3h2XlEpaFlBPUNmRGU3UVF7REVMNSVLMW5ecUFkbzZ5PUhRcjckKzZgLTAkP0s2
UGwpCnowcD1YUHlDang8SEEzeEdPM0hxPEFUWC14TjRyNXE3b2tnZ0NCSyorJXRffT5qRXNhZTBk
Xm9CYUNNKTcyK3lHVgp6JHViaChwaSY/UGZlKFltMyRGT0k3Zi1rIWh2NzN4SzU9KnxeKCs/YjJX
QkhTVH5EI351KmZlVStQblo5ajg/e3sKeldKNn1vPEF5NVBeMyZMZiFfKSg7NmxeKlU2dT5Jcl9K
MXpvNk5HRH43OFZPJnNCNUZhWW9tfVNoJllUJV93IWFWCnp5VzdJfkJnaU8oRGhKZDYkcWR+cDgl
aHprSXszTEtRbm5wQj8rYnhDPl56bHpfdTBwI1E1PV55bDdANT5RWUVlOwp6PGdJbDIqVEtxbVFD
XkMxYTkkZjg3PVpKQnVvQDVvbDM3TG83SUsoQTBAfE1VdCN8KiRAUjdjKnJTcnRvckV8alEKekRC
aVg9JVhFQ2xqPlcqeE07Mzw5emlsJXBmaEwwJms9QCYrJkp2ZD12c0chYHZ3Iy1GbGJTWGpqWWBs
QjcpMUM/CnpeX1o8KEt9N2ZzXkpOMyg5MUZ1a25sQnd6PmBLfExWKzZWLXRPRyZ7MTFhMDlTN3tf
SHlVYzRNbVpZIyVyPEU2ewp6QGJIQUR5Pl8pTV56UjI8JkV2dG1MRHczdUNHcTN9UzB9KStnSlo9
VDtTaVora29fVkYjZWg2e0hsO0hTaXB9VGEKekMlK1UqdHpNK2dBbVBNYCRlNFMyZFAybTYjM31+
OG9Qb0xPaHI5ZVJgT1N5MHJ4KE5TaXRZRmN5Xn1+clZhcFltCno+eXFaXiUxY2xnY3hldncxXml5
bWRebjdyc0Y3TTZSPzJlQkFaP2c+bSpsdHQ1RWFOUTlSKVMkJmEpMiYlfT9pPgp6WUd9Yy1jPUQ1
TTNRciljITFNK05APmNmdGt+KiFBX256QUgka01fPjEhTkVjR0diY1ZAWSpzZjU8ZURXVm8pbykK
ei12aH1nWTl6bHpoI2xuUkhDZHF6R35qQjtWITw2KUFUNXlNIUd6U09qU2gzMGhqP2tNbD0rb15H
UyRrYXttcj1SCnpDX0xqUGtmNE9pcCRDRUs+NWFBPGtWRz49WEpRSDl6eDdDQmMwcXdWTF8wOVFs
YCp5eCkrdXlxPH5eMzc3M2ZFTwp6PkVSKyUmfH5FX1ZvPVBKVUAxYXZrVmI+WER5Y3tXY1p2QzVg
VV97OEYjXnFtMHIhWmIpNGQzRy0qbTZ2akpISmYKel4hfmA+WkJQYTkxJF9RQ0VGRyF9NH1aN190
SHBXdVR3aCZZdXJDaS1mPkVUc0Ewdz8tPVBjNDcmc0Q0JXM8TV5ACno/I15UODsxKn1Cen1gR3lX
TnNnZj0hQWs3RTJZQ0FATHFzTzlHR0l7N2o1KlVedVYxbj5tbWYjM1oyUys8Mj8laQp6OXxiV0Ri
VUhtbkU+JlM3eWpFb3B4ZH5Cczs4Tj5CLVVCXjJoX20xUXgmZDRrM3hfeXhyZEVuITdfYyM5enJq
TUsKekUja0QxQEc0ek9kI1RuaSRoeztCNSVUbDVlMSNYbUIoSWRLWilwTUMqUlN9QGlickBfMT5O
Mz0qenpwb2ZCOW0wCnpCIWNFMXBKeDFDZjFSS3ljM0N2IVBFRz97XklzbWh7T2lKO2VfIzIzMWYm
MW5yaGprS3pic0p3Y1g5b0B4Yyt9RgpkdTFXNU92NiZ9Wm9DNlBSZmsoVSVkTzhORGI1Q0Jue1Uw
az5gTCtONgoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcvb3ZlcmZsb3cvb3ZlcmZsb3ctc2Nyb2xsaW5n
LXRvdWNoLWNsaXBwaW5nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9t
aXVtL2NvbXBvc2l0aW5nL292ZXJmbG93L292ZXJmbG93LXNjcm9sbGluZy10b3VjaC1jbGlwcGlu
Zy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmE2YWFmNzkzODI3NWFiZTZiOTc1MmI3M2RkZTZi
MGM1Y2QxNzU0ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9t
aXVtL2NvbXBvc2l0aW5nL292ZXJmbG93L292ZXJmbG93LXNjcm9sbGluZy10b3VjaC1jbGlwcGlu
Zy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACitUaGlzIHNlbnRlbmNlIGNvbnNpc3RzIG9m
IGV4YWN0bHkgdGhpcnRlZW4gd29yZHMgYW5kIGVuZHMgd2l0aCB0aGUgd29yZCBrd3lqaWJvLgor
VGhpcyBzZW50ZW5jZSBjb25zaXN0cyBvZiBleGFjdGx5IHRoaXJ0ZWVuIHdvcmRzIGFuZCBlbmRz
IHdpdGggdGhlIHdvcmQgY3JvbXVsZW50LgorVGhpcyB0ZXh0IHNob3VsZCBub3QgYmUgc2VsZWN0
ZWQgYW5kIHNob3VsZCBoYXZlIG5vIHRyYWNlcyBvZiB0aGUgc2VsZWN0aW9uIHJlZ2lvbiBhcm91
bmQgaXQuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3Np
dGluZy9vdmVyZmxvdy9vdmVyZmxvdy1zY3JvbGxpbmctdG91Y2gtY2xpcHBpbmcuaHRtbCBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL292ZXJmbG93L292ZXJmbG93
LXNjcm9sbGluZy10b3VjaC1jbGlwcGluZy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjllNjllMjJhNGFiNzhk
MzdjMjEwNDdjNzZhM2NmOGQzZjVhOWMzZGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9vdmVyZmxvdy9vdmVyZmxvdy1zY3JvbGxp
bmctdG91Y2gtY2xpcHBpbmcuaHRtbApAQCAtMCwwICsxLDExOCBAQAorPCFET0NUWVBFIGh0bWw+
CisKKzwhLS0KK092ZXJmbG93IGNsaXBwaW5nIGlzIGRpc2FibGVkIGZvciB0b3VjaCBvdmVyZmxv
dyBzY3JvbGxhYmxlIGVsZW1lbnRzIGluIG9yZGVyIHRvCittYWtlIGl0IG1vcmUgbGlrZWx5IHRo
YXQgdGhlIHVzZXIgd2lsbCBpbW1lZGlhdGVseSBzZWUgdmFsaWQgY29udGVudCB3aGVuCitzY3Jv
bGxpbmcgdG8gYSBwcmV2aW91c2x5IGhpZGRlbiBwYXJ0IG9mIHRoZSBjb250ZW50LgorCitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgb3ZlcmZsb3cgY2xpcHBpbmcgaXMgZGlzYWJsZWQgY29ycmVjdGx5
IGFuZCB0aGF0IGNoYW5nZXMKK3RvIHRoZSBzY3JvbGxpbmcgY29udGVudHMgYXJlIHByb2Nlc3Nl
ZCBjb3JyZWN0bHkgZXZlbiBpZiB0aGUgY2hhbmdlcyBmYWxsIGludG8KK2FyZWFzIHRoYXQgYXJl
IGN1cnJlbnRseSBoaWRkZW4gb3V0c2lkZSBvdmVyZmxvdyBjbGlwLgorCitUaGUgdGVzdCBpcyBk
b25lIGluIGZvdXIgc3RhZ2VzLiBGaXJzdCwgdGhlIHNjcm9sbGFibGUgZGl2cyBhcmUgc2Nyb2xs
ZWQgYWxsCit0aGUgd2F5IHRvIHRoZSBib3R0b20gd2hlcmUgdGhlIGludGVyZXN0aW5nIGNvbnRl
bnQgaXMuIEEgcmVuZGVyIGlzIGZvcmNlZCB0bworZW5zdXJlIHRoYXQgdGhlIHRpbGVkIGxheWVy
IGJhY2tpbmcgaGFzIHZhbGlkIGNvbnRlbnQgdW5kZXIgdGhpcyBwYXJ0IG9mIHRoZQorc2Nyb2xs
aW5nIGNvbnRlbnQuCisKK1RoZW4sIHdlIHNjcm9sbCBiYWNrIHVwIHRvIHRoZSB0b3AgYW5kIGZv
cmNlIGFub3RoZXIgcmVuZGVyLiBUaGlzIHBsYWNlcyB0aGUKK2NvbnRlbnQgdG8gYmUgbW9kaWZp
ZWQgb3V0c2lkZSB0aGUgb3ZlcmZsb3cgY2xpcCByZWN0YW5nbGUuCisKK0FmdGVyIHRoaXMsIHRo
ZSBjb250ZW50IGlzIGNoYW5nZWQgdG8gbW9kaWZ5IGl0cyB2aXN1YWwgYXBwZWFyYW5jZS4KKwor
RmluYWxseSwgd2Ugc2Nyb2xsIGJhY2sgZG93biB0byBzaG93IHRoZSBuZXdseSBtb2RpZmllZCBj
b250ZW50LiBUaGUgdGVzdAorc25hcHNob3Qgc2hvdWxkIHJlZmxlY3QgdGhlIG5ldyBvdXRsb29r
IG9mIHRoZSBjb250ZW50LgorCitodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9Nzg4NjQKKy0tPgorCis8aHRtbD4KKzxoZWFkPgorICA8c3R5bGUgdHlwZT0idGV4dC9jc3Mi
PgorICAgIC5ib3ggeworICAgICAgLyogVGhlIHNjcm9sbCB2aWV3cG9ydCBuZWVkcyB0byBiZSBs
YXJnZSBlbm91Z2ggZm9yIGxheWVyIHRpbGluZyB0byBiZSB1c2VkLiAqLworICAgICAgd2lkdGg6
IDMwMHB4OworICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgIG1hcmdpbjogMTBweDsKKyAgICAg
IGZsb2F0OiBsZWZ0OworICAgICAgYm9yZGVyOiBzb2xpZCB0aGluOworICAgIH0KKworICAgIC5z
Y3JvbGxhYmxlIHsKKyAgICAgIG92ZXJmbG93OiBzY3JvbGw7CisgICAgICAtd2Via2l0LW92ZXJm
bG93LXNjcm9sbGluZzogdG91Y2g7CisgICAgfQorCisgICAgLmNvbnRlbnQgeworICAgICAgcGFk
ZGluZy10b3A6IDEwMDBweDsKKyAgICB9CisKKyAgICAudHJhbnNmb3JtZWQgeworICAgICAgLXdl
YmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CisgICAgfQorICA8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+CisgIDwhLS0gUmVndWxhciBjb250ZW50LiAtLT4KKyAgPGRpdiBjbGFzcz0ic2Ny
b2xsYWJsZSBib3giPgorICAgIDxkaXYgaWQ9InRlc3RTZW50ZW5jZSIgY2xhc3M9ImNvbnRlbnQi
PgorICAgICAgVGhpcyBzZW50ZW5jZSBjb25zaXN0cyBvZiBleGFjdGx5IHRoaXJ0ZWVuIHdvcmRz
IGFuZCBlbmRzIHdpdGggdGhlIHdvcmQKKyAgICA8L2Rpdj4KKyAgPC9kaXY+CisKKyAgPCEtLSBU
cmFuc2Zvcm1lZCBjaGlsZCBsYXllci4gLS0+CisgIDxkaXYgY2xhc3M9InNjcm9sbGFibGUgYm94
Ij4KKyAgICA8ZGl2IGlkPSJ0ZXN0U2VudGVuY2UyIiBjbGFzcz0idHJhbnNmb3JtZWQgY29udGVu
dCI+CisgICAgICBUaGlzIHNlbnRlbmNlIGNvbnNpc3RzIG9mIGV4YWN0bHkgdGhpcnRlZW4gd29y
ZHMgYW5kIGVuZHMgd2l0aCB0aGUgd29yZAorICAgIDwvZGl2PgorICA8L2Rpdj4KKworICA8IS0t
IFRleHQgc2VsZWN0aW9uLiAtLT4KKyAgPGRpdiBjbGFzcz0ic2Nyb2xsYWJsZSBib3giPgorICAg
IDxkaXYgaWQ9InNlbGVjdGVkIiBjbGFzcz0iY29udGVudCI+CisgICAgICBUaGlzIHRleHQgc2hv
dWxkIG5vdCBiZSBzZWxlY3RlZCBhbmQgc2hvdWxkIGhhdmUgbm8gdHJhY2VzIG9mIHRoZQorICAg
ICAgc2VsZWN0aW9uIHJlZ2lvbiBhcm91bmQgaXQuCisgICAgPC9kaXY+CisgIDwvZGl2PgorCisg
IDxzY3JpcHQ+CisgICAgZnVuY3Rpb24gc2Nyb2xsQWxsU2Nyb2xsYWJsZXNUbyh5T2Zmc2V0KSB7
CisgICAgICB2YXIgZWxlbWVudHMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdz
Y3JvbGxhYmxlJyk7CisgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGVsZW1lbnRzLmxlbmd0aDsg
aSsrKSB7CisgICAgICAgIGVsZW1lbnRzW2ldLnNjcm9sbFRvcCA9IHlPZmZzZXQ7CisgICAgICB9
CisgICAgfQorCisgICAgZnVuY3Rpb24gZGlzcGxheSgpIHsKKyAgICAgIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci5kaXNwbGF5KCk7CisgICAgfQorCisgICAgZnVu
Y3Rpb24gcHJlcGFyZUNvbnRlbnQoKSB7CisgICAgICAvLyBTZWxlY3QgYWxsIHRleHQuCisgICAg
ICB2YXIgc2VsZWN0ZWQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2VsZWN0ZWQnKTsKKyAg
ICAgIGdldFNlbGVjdGlvbigpLnNldEJhc2VBbmRFeHRlbnQoc2VsZWN0ZWQsIDAsIHNlbGVjdGVk
LCAwKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBtb2RpZnlDb250ZW50KCkgeworICAgICAgLy8g
QWRkIGEgd29yZCB0byB0aGUgdGVzdCBzZW50ZW5jZXMuCisgICAgICB2YXIgdGVzdFNlbnRlbmNl
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3RTZW50ZW5jZScpOworICAgICAgdGVzdFNl
bnRlbmNlLmlubmVyVGV4dCArPSAnIGt3eWppYm8uJzsKKyAgICAgIHZhciB0ZXN0U2VudGVuY2Uy
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3RTZW50ZW5jZTInKTsKKyAgICAgIHRlc3RT
ZW50ZW5jZTIuaW5uZXJUZXh0ICs9ICcgY3JvbXVsZW50Lic7CisKKyAgICAgIC8vIERlc2VsZWN0
IGFsbCB0ZXh0LgorICAgICAgZ2V0U2VsZWN0aW9uKCkuc2V0QmFzZUFuZEV4dGVudCgpOworICAg
IH0KKworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgIHRlc3RSdW5uZXIuZHVtcEFz
VGV4dCh0cnVlKTsKKworICAgIHNjcm9sbEFsbFNjcm9sbGFibGVzVG8oMTAwMCk7CisgICAgZGlz
cGxheSgpOworICAgIHNjcm9sbEFsbFNjcm9sbGFibGVzVG8oMCk7CisgICAgZGlzcGxheSgpOwor
ICAgIG1vZGlmeUNvbnRlbnQoKTsKKyAgICBzY3JvbGxBbGxTY3JvbGxhYmxlc1RvKDEwMDApOwor
ICA8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL292ZXJmbG93L292ZXJmbG93LXNjcm9sbGluZy10
b3VjaC1oaWRkZW4tb3ZlcmZsb3ctZXhwZWN0ZWQucG5nIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vY29tcG9zaXRpbmcvb3ZlcmZsb3cvb3ZlcmZsb3ctc2Nyb2xsaW5nLXRvdWNoLWhp
ZGRlbi1vdmVyZmxvdy1leHBlY3RlZC5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDdhZWQzY2Y0YzQ3ZWNlMmZi
ZjdhZDExMTk4MzU0NWVmMTc5YzI3YgpHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMjg2NAp6Y21l
QVNATj8ob2xIeWB1VkJxIWlhMHl+eVV7K3ZZVjJhPmkwKlopPWheaGxBJUBXcyRsSGBvazxtfT9v
VCF1N3IKemxTRmZLTHNKWCRHPXMhczNzWkJtNnImViNXODxfJExuOUwtIT15RTlPUlg2Z3hESSlg
SUVHWnJkMyhvQHRIblhVCnpfMkFzcF9xeX07KmZ3ckI9PEtAY2w0c3FJN1lXelMpRyNvLXNDaDVQ
ITBeRzBpSkwofFozNj5DNSstQis9SnVgWQp6d2Fmb3huKFolUldibDk5I0w2SGI5S3Bhfipmeyhj
KFo8RSEqJSV0YTNsQjBlYmEzaTBHfFZfSyRgfW9WKFVkVG4KcjNyMkluWGY3RGQxKjVyT0cjQWgo
N3N4Z1dAVURKLUNPalY0MVpNRGJePmJQMGwrWGtLVF9HQn4KCmxpdGVyYWwgMApIY21WP2QwMDAw
MQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5n
L292ZXJmbG93L292ZXJmbG93LXNjcm9sbGluZy10b3VjaC1oaWRkZW4tb3ZlcmZsb3ctZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcvb3ZlcmZs
b3cvb3ZlcmZsb3ctc2Nyb2xsaW5nLXRvdWNoLWhpZGRlbi1vdmVyZmxvdy1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNzk3ZTJjN2QwOTNiN2YzMGNjOWQzODNiYTcxMzlhNDk2ZmRlZGQ0NAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5n
L292ZXJmbG93L292ZXJmbG93LXNjcm9sbGluZy10b3VjaC1oaWRkZW4tb3ZlcmZsb3ctZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBS
ZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4
OAorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4OAorICAgIFJlbmRlckJv
ZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDAKK2xheWVyIGF0ICg4LDgpIHNpemUgNTB4NTAK
KyAgUmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHtESVZ9IGF0ICg4LDgpIHNpemUgNTB4NTAKK2xh
eWVyIGF0ICg4LDgpIHNpemUgNTB4NTAKKyAgUmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHpJOiAx
IHtESVZ9IGF0ICgwLDApIHNpemUgNTB4NTAgW2JnY29sb3I9I0ZGMDAwMF0KK2xheWVyIGF0ICg4
LDgpIHNpemUgNTB4NTAKKyAgUmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHpJOiAyIHtESVZ9IGF0
ICg4LDgpIHNpemUgNTB4NTAgW2JnY29sb3I9IzAwODAwMF0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL292ZXJmbG93L292ZXJmbG93LXNjcm9s
bGluZy10b3VjaC1oaWRkZW4tb3ZlcmZsb3cuaHRtbCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtL2NvbXBvc2l0aW5nL292ZXJmbG93L292ZXJmbG93LXNjcm9sbGluZy10b3VjaC1oaWRk
ZW4tb3ZlcmZsb3cuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iYTFiYjQ2MzllZjE3NTMyZjY0NWU0M2RkYTRm
YzU5MzQ0ZWIwMTE2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vY29tcG9zaXRpbmcvb3ZlcmZsb3cvb3ZlcmZsb3ctc2Nyb2xsaW5nLXRvdWNoLWhpZGRl
bi1vdmVyZmxvdy5odG1sCkBAIC0wLDAgKzEsMzggQEAKKzwhRE9DVFlQRSBodG1sPgorCis8aHRt
bD4KKzxoZWFkPgorICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorICAgIC5ib3ggeworICAgICAg
cG9zaXRpb246IGFic29sdXRlOworICAgICAgd2lkdGg6IDUwcHg7CisgICAgICBoZWlnaHQ6IDUw
cHg7CisgICAgfQorCisgICAgLnNjcm9sbGFibGUgeworICAgICAgLXdlYmtpdC1vdmVyZmxvdy1z
Y3JvbGxpbmc6IHRvdWNoOworICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKKyAgICB9CisKKyAgICAu
aW5kaWNhdG9yIHsKKyAgICAgIGJhY2tncm91bmQ6IHJlZDsKKyAgICAgIHotaW5kZXg6IDE7Cisg
ICAgfQorCisgICAgLnRlc3QgeworICAgICAgYmFja2dyb3VuZDogZ3JlZW47CisgICAgICB6LWlu
ZGV4OiAyOworICAgIH0KKyAgPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorCisgIDwhLS0gQ2hl
Y2sgdGhhdCBhIHRvdWNoIG92ZXJmbG93IHNjcm9sbGFibGUgZWxlbWVudCBkb2VzIG5vdCBnZXQg
YSBzdGFja2luZworICAgICAgIGNvbnRleHQgaWYgaXQgdXNlcyBvdmVyZmxvdzogaGlkZGVuLiAt
LT4KKyAgPGRpdiBjbGFzcz0ic2Nyb2xsYWJsZSBib3giPgorICAgIDxkaXYgY2xhc3M9ImluZGlj
YXRvciBib3giPjwvZGl2PgorICA8L2Rpdj4KKyAgPGRpdiBjbGFzcz0idGVzdCBib3giPjwvZGl2
PgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS9jb21wb3NpdGluZy9vdmVyZmxvdy9vdmVyZmxvdy1zY3JvbGxpbmctdG91Y2gtbGF5
ZXJzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0
aW5nL292ZXJmbG93L292ZXJmbG93LXNjcm9sbGluZy10b3VjaC1sYXllcnMtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjIxNTA4MTU0Nzg4ZTYwNGNjY2I2YzgyZjM1YzM0MDkxZjk2ODc1NzAKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGlu
Zy9vdmVyZmxvdy9vdmVyZmxvdy1zY3JvbGxpbmctdG91Y2gtbGF5ZXJzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDQ2IEBACisoR3JhcGhpY3NMYXllcgorICAoYm91bmRzIDgwMC4wMCA2MDAuMDAp
CisgIChjaGlsZHJlbiAxCisgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgIChib3VuZHMgODAwLjAw
IDYwMC4wMCkKKyAgICAgIChjaGlsZHJlbiAxCisgICAgICAgIChHcmFwaGljc0xheWVyCisgICAg
ICAgICAgKHBvc2l0aW9uIDguMDAgMTMuMDApCisgICAgICAgICAgKGJvdW5kcyA1MC4wMCA1MC4w
MCkKKyAgICAgICAgICAoZHJhd3NDb250ZW50IDEpCisgICAgICAgICAgKGNoaWxkcmVuIDQKKyAg
ICAgICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAgICAgIChib3VuZHMgMzUuMDAgMzUu
MDApCisgICAgICAgICAgICAgIChjaGlsZHJlbiAxCisgICAgICAgICAgICAgICAgKEdyYXBoaWNz
TGF5ZXIKKyAgICAgICAgICAgICAgICAgIChjaGlsZHJlbiAxCisgICAgICAgICAgICAgICAgICAg
IChHcmFwaGljc0xheWVyCisgICAgICAgICAgICAgICAgICAgICAgKGJvdW5kcyAzNS4wMCAzNS4w
MCkKKyAgICAgICAgICAgICAgICAgICAgICAoZHJhd3NDb250ZW50IDEpCisgICAgICAgICAgICAg
ICAgICAgICkKKyAgICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgICApCisgICAgICAg
ICAgICAgICkKKyAgICAgICAgICAgICkKKyAgICAgICAgICAgIChHcmFwaGljc0xheWVyCisgICAg
ICAgICAgICAgIChwb3NpdGlvbiAwLjAwIDM1LjAwKQorICAgICAgICAgICAgICAoYm91bmRzIDM1
LjAwIDE1LjAwKQorICAgICAgICAgICAgICAoZHJhd3NDb250ZW50IDEpCisgICAgICAgICAgICAp
CisgICAgICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgICAgICAocG9zaXRpb24gMzUu
MDAgMC4wMCkKKyAgICAgICAgICAgICAgKGJvdW5kcyAxNS4wMCAzNS4wMCkKKyAgICAgICAgICAg
ICAgKGRyYXdzQ29udGVudCAxKQorICAgICAgICAgICAgKQorICAgICAgICAgICAgKEdyYXBoaWNz
TGF5ZXIKKyAgICAgICAgICAgICAgKHBvc2l0aW9uIDM1LjAwIDM1LjAwKQorICAgICAgICAgICAg
ICAoYm91bmRzIDE1LjAwIDE1LjAwKQorICAgICAgICAgICAgICAoZHJhd3NDb250ZW50IDEpCisg
ICAgICAgICAgICApCisgICAgICAgICAgKQorICAgICAgICApCisgICAgICApCisgICAgKQorICAp
CispCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0
aW5nL292ZXJmbG93L292ZXJmbG93LXNjcm9sbGluZy10b3VjaC1sYXllcnMuaHRtbCBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL292ZXJmbG93L292ZXJmbG93LXNj
cm9sbGluZy10b3VjaC1sYXllcnMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40OGM3YmEzMmNjYjQyYjg3ZDMy
YmZlNzU2YWI4Mzg4YzA2MTY3YmI3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcvb3ZlcmZsb3cvb3ZlcmZsb3ctc2Nyb2xsaW5nLXRv
dWNoLWxheWVycy5odG1sCkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBodG1sPgorCis8aHRt
bD4KKzxoZWFkPgorICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorICAgIC5ib3ggeworICAgICAg
cG9zaXRpb246IGFic29sdXRlOworICAgICAgd2lkdGg6IDUwcHg7CisgICAgICBoZWlnaHQ6IDUw
cHg7CisgICAgfQorCisgICAgLnNjcm9sbGFibGUgeworICAgICAgb3ZlcmZsb3c6IHNjcm9sbDsK
KyAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsKKyAgICB9CisgIDwvc3R5
bGU+CisgIDxzY3JpcHQ+CisgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBmdW5j
dGlvbigpIHsKKyAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgICAgIHRlc3RS
dW5uZXIuZHVtcEFzVGV4dCgpOworICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJs
YXllclRyZWUiKS5pbm5lclRleHQgPSB0ZXN0UnVubmVyLmxheWVyVHJlZUFzVGV4dCgpOworICAg
ICAgfQorICAgIH0pOworICA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorCisgIDxkaXYgY2xh
c3M9InNjcm9sbGFibGUgYm94Ij48L2Rpdj4KKyAgPHByZSBpZD0ibGF5ZXJUcmVlIj48L3ByZT4K
KworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vY29tcG9zaXRpbmcvb3ZlcmZsb3cvb3ZlcmZsb3ctc2Nyb2xsaW5nLXRvdWNoLW91dGxp
bmUtZXhwZWN0ZWQucG5nIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRp
bmcvb3ZlcmZsb3cvb3ZlcmZsb3ctc2Nyb2xsaW5nLXRvdWNoLW91dGxpbmUtZXhwZWN0ZWQucG5n
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmY2ZmQ0ZWNmZDMzOTY2YjAwM2Y5MDg0OTAyNWJjNzk0NTdlZWEzZGEKR0lU
IGJpbmFyeSBwYXRjaApsaXRlcmFsIDYwMjAKemNtZUhMWWdBS0wrQ0dYRnR3SzU8eDVfMi1EXjt1
QHMwYigkUVV5dn5Ofm5zNzBSanB7bG8lcEgyPWBSK1FsUCswCnpEV0M/KGh6ZGYwJFIhWDY1VVVq
dzxmMEhSTmd5SX0zKj59TEVgKlJ8ajxlU0h7clA2aXRtJDtFP35sTEVTJG16bQp6JikoMWJKa1Je
U0pOPGk8a0hNJHJwOF4xMmFQJktgbEtgT2kxcHVyK3Z1UW12VnEkRCEzcThKJF4qJDNEYl4jd28K
emgjP2FKKk1rVDU7UDwrPz8hfH1nMypGfiooQWc8YFp8TDZoPWJmQmdVSDY8ajdlNGVuP2wxdERu
STgyej4+cG4hCno4S3FZOCRtMVEwejBPfVlRLW9pWXhCVGR+PXlVJj09Z3dnLVU7ZkYheHR4WThn
elRuKz5pYjsyZUlfPEF5TlZVQwp6K2JwLV9yQHEweVNPZkJBe19TZ3FSb2pPN1VWM15iTkR+ZVY4
SnM2Sz8zQnh6Ml5wZmVobldPVS11VGYyUEVCenkKej80OHpWVGFmZXxjWjZ+aTR2I2VqZmNKJmI3
MH50PHFIRz1tenwjJDt6JkUjX3RPcXQzb2RKTXo+JGQ9Mzk2ITRiCnp4VzNzUV8raWkwamxnRit7
O2lNQmJVaEpBNX0oflB1LTJffl8rNVVSNGlBNW1fVShDcj47ZmhAMHNzRU1oJTBebQp6PD8pJEt3
bjxhTyFuYmBTITdHdTwlPU4lNk1RKnl0eVMmV2c/N21MWmpGSl90bDFyNyV5elkjez1HKWxWYlFM
JXsKeldgcXRfVnVeOXtlSXBUYyNKI2xSaUdBc1kxN3FfZWJ2OGI8elMjJCNXRjBScE0/MVo4JnxX
V21UVChSZE9jaXtSCno7YSs5P0NeMXsmKlREMClaU15XIVEwVUY8Plotak0tJVdGc21Ye1RhQzZl
NzRDNSQ7UD19YFFfK3NUNUVIbG0+Ngp6VnQqLSVVKnFZTTEyNWAzeWtre3NCJnREXkgtNzB1bn42
U3xSQF5ldD09U3R3dkZmVyp8SUA5ZHhkTyFHUnxkeDEKekZoNEp7cH5UalJuPm5fNStPUT5wckFB
Q3V4akxfKjJlaHRiczFDVUYzcF5JP2s8MmJEbzhGKzBfO3RpWERVNGEzCno+U248SWB3RDE7S3Q9
WGQ0RGl0YHc8RjBATUZna1ZRUmt1PTVMPmo+cFZHPWRIZDxxM1VmKExWPG9vU05IN2p+NQp6Zldf
eX4pKFY2biQmMWdRWFBQTSRpbWA8MHFDQ3ZFLSttaiM5PXsyS3BsVyRxJTRhY1ZnWGV+cl5nfFIt
SHJwPzQKelJnUUA+eGYlJitgcWlEfjU2fiorTTtQZDtpazZra2toS3lITV9vI2I1e3QhbWZCVVBp
ZW5wSDxxZzJZfS1HdjkyCnpHMkdTRGxYO3k1dWZ6Plo0JXBtQE9yNWp+REYqe0ppNT19KDdTbGFO
WTk+YFBTS0grPEN6MFM8NlVveno4aGxzMgp6UjslNlNiWTIrVVZafTQrN19FdW9KR1FOYTt3dWAz
U0J+TTZJKUN9UHpzISVUMjAyYDxvUVgtajcje3ZXdkJ8Mk0KeklETzFOTGlwVTshYjA2Y1heV1k8
NlFQakhITEZBMUQ1b0hOTFArQjUhfGxpTldlUDwjd3I7OXZ4O1QpMWNebz5LCnotNyhEem47ZS1e
aUIhK202JEI/PF56LVhRRDI0cThmK2xfKiNQeT5Jc25GVGNKJlN9OGItKVFAcDQ8YCtrRHspagp6
RGMlZXRRciZ2Kng7ZFY5JEhrVH4rckBlcEw7ZTkoPVNBJk8wZTVZPCE9dkhDPmtebDt6REtqQ0xo
OXBwXjZrbUAKeitYYyp9ZFhKP1NIaEVvPypXUDkoLVpocy1ZQ0Rtamh8QkdFVSQ+KD9tdX08SVI8
JCFEJmtrY35VX2NiSTd3N0FHCnp0NlNvYGJ+ZyVCbCVvKWZFbkZfSzY/fXE0UDk0T3Qtc0NBSzRu
K3ojSHhILUBeX0QtTEV+MVEkd0k9IWFffFc2dQp6cjU2XyRjVkBQPndrOWQmdkUwLVlJazU9RmtO
aiVAMWE9NWcrMC1pJGFkb3teP2VaLVQqfVY+SFlLd2dyQjF6I2QKelQ3JDt3OyUxdDhHam5yeyhL
QWd+Q2E+ITAhJjZ0cj8+SSVvdkNYfHRSMGNNSmVmSztlUjx6OTVjNC0lR0E/cnRLCnorXiZ9UHJe
PE80XzNHKjtgdWNYI0pJO2lgd2lJPHx0PngjUi0tZ31eJXZROCg+QEM4ZnJ0UllKTWUwSkReJV53
TQp6e21UMG5kPXxseHtxfnk2dih4eiQzN19UWj44VFZeYnc2ISRMUlNaPV95aV9tYj5ARUZMK3kr
WUdRandgbjgkI0AKei1QdVY+KDV7O08/eTVmZzUkJlhVSjh9OHVMYE0jM3czKUBfPlgxNT5BMnZU
TUVOcj9zMn48Yn5iRXZYdEJeMGNGCnpCTjg+NTdSKkZ9KXFLZk9fb31RazduSWg8VEpfeHRXMD1S
dlN1enR7KSkhQ1RwQ1MlSzcjR3B3YHZ1SV5kTUdZQgp6aH1gZX5WJmVteSNMNWErOC04Pz5QenBy
biFZVnU0WHs1RzxfSDdhVjRSI3skc3U+V0JhX0BvVXVZSjEzKFozO3QKenMqJkBiVyZpWSg1S2A2
X1F+Tzc0MlBtTUIkSDMlZFhRTSo8VD1hT1ReUyNCMEpQQ18xZ2lke00odUdpNz5JZ3IwCno8LXYr
aHN2U2FBSFkzMnUwcjt8Tm5qWFR3ZTIhK3RBVm9QI0VKIVdVLUZLYndTZFptYlBCPEtuZm5ocHlF
dE1mUAp6dnJDZyo3UHI5NU1CN0hNQjZ9P34zJVAmNHpjUkZjK3xiJVg3QExxfGpTTD5+aEBKVWZA
fG1FNCRYUilwSWFmTjYKemRiQV91ODhuZilIZXA/V1NGS0ZzZ2hXMyMkdHZxLUNvd29Cdip8Zlco
SDZ8MT50T1h1I05XWWNRfHVTZWtNI1NMCnpGUDQrIS1eWGd0SUphc2x7MFB7NShNcjNrN0JVMkFr
QHZaTkUtN3hubSNGPVpCTzgkbVM3RyhZOSkwQT51VkVlOAp6JkxCSFF0PzxxP3R2WFpsP3VKP0xx
YyUyMEk+dDx1R2goSipqV208enkhNDZBLSZkOE5EdWNWbEtCYDV5eTlYZ3EKengyYCZhJXhzUTFF
Nk02bVQ7Jm9gaCgzZkMyX3lNMWdzamkzWlEofChKcWE9X0M9ZTwhO3t6N0NedEpjZFIpQEBVCnoy
RkxsUnNCfH4lbnpCYHpsSTRpSHolS1BIeiRlVFAqUikjKzlCMHwyO25wUE9fSld7JkUtczJtTXsy
QG9HZFc5WQp6c2EpWW5OXkwjQllwJWh9JjctKG40JD94T2gqVCpjWDRLc0VrWE9Nb2pDMkxaJHJI
MD5edFJialQ0IXlHYzZGfGkKekM+WWRVMENNeFVSJkx5ND5MMFNFa3kxdFJnXi02S0dfdzlZTnQh
OykpY2JAZ0lrbChvVjRpTnF7cW95eU0kaENSCno2dkgzRl4hamsxZmp7QmJZYTJnQSFBXzh0bVBY
Z2lNPSpUZzc4Wj1DQT87eGt2UyVaI0c4JUl+anV9QnVRU3tUYgp6dXswfEpPYzJaVyQra1E9UzZM
Uyk7Z2VyKEZSKC07KS0jITt7IS1zZSk3X0RsalRPMTlxVGx8RFQpV35GKFVaS34Kej9LJjVIJHRo
Pzsqcn4obSNMe3czb2E4USZubVVwMHVaIz9PZ0JuezxMODduYmZPbms8PXpqWG5FS1UtYzB9Kzdw
CnopYFRAZ0k2QGhFNUI5Ym43V2xQa3pUV1IpP0BNMXIhPTkoPmorSDgyWGYmRSRxJU42Q3I4NFMx
SVNAVXVWUV9lTwp6U2ZvYG5taDNEfW43UlkwNSkmLXNQKUh8P180TUBjU1d3VyYrP2ZJOEBRM3pZ
ZnV2U0JeaDxMJXliVig3RV8mJn0Kek5Genk8aFkzfjxvYm9lKCFLaWJBcUZvcyFPZVdMNSVjPDhy
TXpibzEpQFQlXnM8JVpITXoxVzQqVjw+NnUlJko0CnpJOGN9e2g+aEAjP0wrSkZfejttY25ndU9E
MjhfUmFgTFRrRk4zTTstTko0aD5nJHB5Jk5MfDdTPExTWn02Z0t9PAp6Pkc2Ymo+OSRrZEgwNHM0
cW5ZPDJMP0U8RmFIP3Z1bGspUX1CZWp5TjgmeVRoV1VAKmVDb1ZvZDk/RGFoV3t6V3oKeiZ2e1BE
K3BRUkI0UkBmYlZoQmVXeXwhXm5zX2VkWDl6SjByJWU5eT9tSF8zJSRXLTI7S3RXSHpxcXYpcDlP
WGtICnpUKiN+O0ZyPnBaNk9jVnppdCptJVE7aSR6UjZLZHwlP1ZAMyY4aUF9eD9NJFU/R35pMVRl
aytxYlVXdlhEMUA+Qgp6UyU1IXRtUTR1R3BHPD4hOTNiLVJBPCRUfWk3dyFueGNZK29CRlo2WlI0
I3JHUnVxcHVwYnhlbXd5QFE4K0EpcDIKel93TCh3YStKflNVRnFTUm1yR243YTgyM1MtdWVzYz9w
UHxYakl+ck9PXzMmPDE7Pnc1eGEhZVRqTHtkTmctPj5BCnpGezdEZTBqWHVOeWBXOUA1RTd3NzVj
QEs4Vz8kRyE0biltJm5Ue1MxWnR4VkA+cjk4ezg5KGFrRFF2elNyZ3xPKAp6Z0luU2s9YV5oPXg/
bDE7ZmsrIVNgR1R3SkNNNn4lKzIhcWRlVkF0R0FIbDBRb3V9SV9aY35HZHdzXklxUTdNeHAKemkl
LSFqbEZlbGMmdExga0NNWDkmeCF6cWQ5T2d8aCFldlBXamdIdmJhUGRJLUBebWs9RDBtezlKU1Uz
ZjxGVkMmCnpqWnlzaWkpeTlSdjE8dTN8SiFiNEZfZkdGYUQlQTloVU0pUTBzQHIjRWlHR0MjZiZt
dlRFcGU+cnk+blZBeSQ5Swp6WHlPcXUrSmVUQngoRT9lUURoeCpYKkp+JF8lSDg1Wlg4RlVhQWp8
ZmAzfWAtSyRhbE9jSUBTfkFzaURPO209c2kKem1XMkM4SXZlc01tbXIybE53U0YhcF5ePWQ1Qk9T
VloxJnxgaWN8QTtGRnxnVFFTdkMraCFPaG89azMwKmplOU8/Cnp8Tko+QmlTJiQ0bU8qWillUSUz
UW43TVpnQ0VmfE41TFVYMTU0SVdAOGgtR0RAdTgjcCt9dXt7QWlkSz5ZZn4+Ugp6KjhmMStNbjQ7
ISRrNlYrWjk5dTxnRWpAVEpuO0JAX2d6QUQoXlI7bl4kKFFvQTQ9JmRwWDxNPyNENHJXdWQzUHYK
em1wamFEQStEIWxXWT0jVnUqent5cFU/eE85djs4YHBWRlAySCVhQ0cxKmFyfSRgd351PEU0PXxE
cTJCUWFEWH5UCnp5Nyo4Sk5XUylPU01gN0k0YD9TeG1vVWJEY2NDUkJSVTdfQXBGckVFNElJbUxB
Jm0pREctazg3Qkc9X2x6KzJnYgp6KExkPWJOU2VJe0lKQFJaPmI7aCNXUHhvPWI4UmZ9JjJJWEMo
MlZAZ3dzKD4ye0tubDtnblVFYihkMGtkIW9UVyUKelhqZHcxN1l0ZGt2dXtvekhVZSpCPD48NUlz
K2tKU2ppclZxQktfNUQ9YkxvXll3Z0Yrezw5dXhfIWx1Y0F1IT83Cno+Rjl2RS13QT1zTCFLan4l
fUs5cFBRdm4oKE1aYVhkPFVGNGFfVGUmWE0pQFRFV3BTQTdZNDsoJkwkMnptWnlDPgp6Xl5oaDRu
K2hBbWBQRDV8P3gmc0IwYmBxZzJVKlR3dXYoPks0QDEzMD96YUNQbXFJJD9TKHhvcHtNK0tYQTFL
IVUKekFlPntYS09Ye3NLbTd3RHxJUXh0a0x6WVh1Sml8OTRTV1JpQmJhfldSbnRkNGVkTjxlS0st
RyR4QnFYRigmPjl7ClgkKCFeMHZsfD9gUnRKdUhxcjlxKm9XMXJwTzhpIXMKCmxpdGVyYWwgMApI
Y21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Nv
bXBvc2l0aW5nL292ZXJmbG93L292ZXJmbG93LXNjcm9sbGluZy10b3VjaC1vdXRsaW5lLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL292ZXJm
bG93L292ZXJmbG93LXNjcm9sbGluZy10b3VjaC1vdXRsaW5lLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5kZDIwOTlhZmU0NWVhNTVkZmFkNTI4NWU3N2E3YzUyMzYzMmJkNWJjCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcvb3ZlcmZs
b3cvb3ZlcmZsb3ctc2Nyb2xsaW5nLXRvdWNoLW91dGxpbmUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMyBAQAorVGhlIGRhc2hlZCBvdXRsaW5lIGJlbG93IHNob3VsZCBjb21wbGV0ZWx5IGVuY2xv
c2UgdGhlIHNjcm9sbGFibGUgZGl2LgorCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL292ZXJmbG93L292ZXJmbG93LXNjcm9sbGluZy10b3Vj
aC1vdXRsaW5lLmh0bWwgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGlu
Zy9vdmVyZmxvdy9vdmVyZmxvdy1zY3JvbGxpbmctdG91Y2gtb3V0bGluZS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmJlZGNjMGIzN2Q3ODIyZjM4MjZlYzY4YzExMGM5Y2ZmMTIxMTM0ZDgKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9vdmVyZmxv
dy9vdmVyZmxvdy1zY3JvbGxpbmctdG91Y2gtb3V0bGluZS5odG1sCkBAIC0wLDAgKzEsNDkgQEAK
KzwhRE9DVFlQRSBodG1sPgorCis8IS0tCitPdXRsaW5lcyBhcmVuJ3QgY3VycmVudGx5IHN1cHBv
cnRlZCB3aXRoIG92ZXJmbG93LXNjcm9sbGluZzp0b3VjaCwgc28gY2hlY2sgdGhhdAordXNpbmcg
dGhlbSB0cmlnZ2VycyBhIGZhbGxiYWNrIHRvIGEgbm9ybWFsIG92ZXJmbG93IGVsZW1lbnQuCisK
K2h0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03ODg2NAorLS0+CisKKzxo
dG1sPgorPGhlYWQ+CisgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgICAgLmJveCB7CisgICAg
ICB3aWR0aDogMTAwcHg7CisgICAgICBoZWlnaHQ6IDEwMHB4OworICAgIH0KKworICAgIC5jb250
ZW50LWJveCB7CisgICAgICB3aWR0aDogMjAwcHg7CisgICAgICBoZWlnaHQ6IDIwMHB4OworICAg
IH0KKworICAgIC5vdXRsaW5lIHsKKyAgICAgIG91dGxpbmU6IHRoaWNrIGRhc2hlZCBncmVlbjsK
KyAgICB9CisKKyAgICAuc2Nyb2xsYWJsZSB7CisgICAgICBvdmVyZmxvdzogc2Nyb2xsOworICAg
ICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOworICAgIH0KKyAgPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorICA8cD5UaGUgZGFzaGVkIG91dGxpbmUgYmVsb3cgc2hvdWxkIGNv
bXBsZXRlbHkgZW5jbG9zZSB0aGUgc2Nyb2xsYWJsZSBkaXYuPC9wPgorCisgIDxkaXYgaWQ9InNj
cm9sbGFibGUiIGNsYXNzPSJzY3JvbGxhYmxlIGJveCBvdXRsaW5lIj4KKyAgICA8ZGl2IGNsYXNz
PSJjb250ZW50LWJveCI+PC9kaXY+CisgIDwvZGl2PgorCisgIDxzY3JpcHQ+CisgICAgaWYgKHdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KHRydWUpOworICAg
IHZhciBzY3JvbGxhYmxlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Njcm9sbGFibGUnKTsK
KyAgICBzY3JvbGxhYmxlLnNjcm9sbExlZnQgPSA1MDsKKyAgICBzY3JvbGxhYmxlLnNjcm9sbFRv
cCA9IDUwOworICA8L3NjcmlwdD4KKworPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>154694</attachid>
            <date>2012-07-26 11:26:03 -0700</date>
            <delta_ts>2012-08-10 08:37:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-78862-20120726192551.patch</filename>
            <type>text/plain</type>
            <size>25567</size>
            <attacher name="Sami Kyöstilä">skyostil</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzNzI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5jcHAKaW5kZXggNmQxZjJhNjBkMDU3
MjM2YWQwYjY0ZDMxNzAxNDRiZjRjNDk0MzRkNi4uZGU1ZjFlMmJhNjhiM2Q2NDFhYzEzYzkwZDc4
ZjA5NjE0N2YzOWIxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcv
U2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xs
aW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcApAQCAtMTE4LDYgKzExOCw5IEBAIHN0YXRpYyBS
ZWdpb24gY29tcHV0ZU5vbkZhc3RTY3JvbGxhYmxlUmVnaW9uKEZyYW1lKiBmcmFtZSwgY29uc3Qg
SW50UG9pbnQmIGZyYW1lCiAgICAgaWYgKGNvbnN0IEZyYW1lVmlldzo6U2Nyb2xsYWJsZUFyZWFT
ZXQqIHNjcm9sbGFibGVBcmVhcyA9IGZyYW1lVmlldy0+c2Nyb2xsYWJsZUFyZWFzKCkpIHsKICAg
ICAgICAgZm9yIChGcmFtZVZpZXc6OlNjcm9sbGFibGVBcmVhU2V0Ojpjb25zdF9pdGVyYXRvciBp
dCA9IHNjcm9sbGFibGVBcmVhcy0+YmVnaW4oKSwgZW5kID0gc2Nyb2xsYWJsZUFyZWFzLT5lbmQo
KTsgaXQgIT0gZW5kOyArK2l0KSB7CiAgICAgICAgICAgICBTY3JvbGxhYmxlQXJlYSogc2Nyb2xs
YWJsZUFyZWEgPSAqaXQ7CisgICAgICAgICAgICAvLyBBY2NlbGVyYXRlZCBzY3JvbGxhYmxlIGFy
ZWFzIGNhbiBiZSBzY3JvbGxlZCBvZmYgdGhlIG1haW4gdGhyZWFkLgorICAgICAgICAgICAgaWYg
KHNjcm9sbGFibGVBcmVhLT51c2VzQ29tcG9zaXRlZFNjcm9sbGluZygpKQorICAgICAgICAgICAg
ICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgSW50UmVjdCBib3ggPSBzY3JvbGxhYmxlQXJlYS0+
c2Nyb2xsYWJsZUFyZWFCb3VuZGluZ0JveCgpOwogICAgICAgICAgICAgYm94Lm1vdmVCeShvZmZz
ZXQpOwogICAgICAgICAgICAgbm9uRmFzdFNjcm9sbGFibGVSZWdpb24udW5pdGUoYm94KTsKQEAg
LTQ2Niw2ICs0NjksMTEgQEAgdm9pZCBTY3JvbGxpbmdDb29yZGluYXRvcjo6c2V0TGF5ZXJJc0Zp
eGVkVG9Db250YWluZXJMYXllcihHcmFwaGljc0xheWVyKiwgYm9vbCkKIHsKICAgICAvLyBGSVhN
RTogSW1wbGVtZW50IQogfQorCit2b2lkIFNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpzY3JvbGxhYmxl
QXJlYVNjcm9sbExheWVyRGlkQ2hhbmdlKFNjcm9sbGFibGVBcmVhKiwgR3JhcGhpY3NMYXllciop
Cit7CisgICAgLy8gRklYTUU6IEltcGxlbWVudC4KK30KICNlbmRpZiAvLyAhRU5BQkxFKFRIUkVB
REVEX1NDUk9MTElORykKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmgKaW5kZXggMzU2
NDlhOTFmZmI4ZTQ2ODBiZGZkZjU1ODNiODg4YjczMjVkZWYwMS4uYjdkNDExNjZiNjlmNjQ1OWRj
OWFhOWQ4MWI0YTUyNGNmNDFiMGQzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9z
Y3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5oCkBAIC00OCw2ICs0OCw3IEBAIGNsYXNz
IEZyYW1lVmlldzsKIGNsYXNzIEdyYXBoaWNzTGF5ZXI7CiBjbGFzcyBQYWdlOwogY2xhc3MgUmVn
aW9uOworY2xhc3MgU2Nyb2xsYWJsZUFyZWE7CiBjbGFzcyBTY3JvbGxpbmdDb29yZGluYXRvclBy
aXZhdGU7CiBjbGFzcyBTY3JvbGxpbmdUcmVlU3RhdGU7CiAKQEAgLTkyLDYgKzkzLDkgQEAgcHVi
bGljOgogICAgIC8vIFNob3VsZCBiZSBjYWxsZWQgd2hlbmV2ZXIgdGhlIHZlcnRpY2FsIHNjcm9s
bGJhciBsYXllciBmb3IgdGhlIGdpdmVuIGZyYW1lIHZpZXcgY2hhbmdlcy4KICAgICB2b2lkIGZy
YW1lVmlld1ZlcnRpY2FsU2Nyb2xsYmFyTGF5ZXJEaWRDaGFuZ2UoRnJhbWVWaWV3KiwgR3JhcGhp
Y3NMYXllciogdmVydGljYWxTY3JvbGxiYXJMYXllcik7CiAKKyAgICAvLyBTaG91bGQgYmUgY2Fs
bGVkIHdoZW5ldmVyIHRoZSBzY3JvbGxhYmxlIGxheWVyIGZvciB0aGUgZ2l2ZW4gc2Nyb2xsIGFy
ZWEgY2hhbmdlcy4KKyAgICB2b2lkIHNjcm9sbGFibGVBcmVhU2Nyb2xsTGF5ZXJEaWRDaGFuZ2Uo
U2Nyb2xsYWJsZUFyZWEqLCBHcmFwaGljc0xheWVyKik7CisKICAgICAvLyBSZXF1ZXN0cyB0aGF0
IHRoZSBzY3JvbGxpbmcgY29vcmRpbmF0b3IgdXBkYXRlcyB0aGUgc2Nyb2xsIHBvc2l0aW9uIG9m
IHRoZSBnaXZlbiBmcmFtZSB2aWV3LiBJZiB0aGlzIGZ1bmN0aW9uIHJldHVybnMgdHJ1ZSwgaXQg
bWVhbnMgdGhhdCB0aGUKICAgICAvLyBwb3NpdGlvbiB3aWxsIGJlIHVwZGF0ZWQgYXN5bmNocm9u
b3VzbHkuIElmIGl0IHJldHVybnMgZmFsc2UsIHRoZSBjYWxsZXIgc2hvdWxkIHVwZGF0ZSB0aGUg
c2Nyb2xsaW5nIHBvc2l0aW9uIGl0c2VsZi4KICAgICBib29sIHJlcXVlc3RTY3JvbGxQb3NpdGlv
blVwZGF0ZShGcmFtZVZpZXcqLCBjb25zdCBJbnRQb2ludCYpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3JOb25lLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTm9uZS5jcHAK
aW5kZXggZjBhY2ZlMGNjM2IxNzFkMzMxMDQ3MDQ2NTAwMmUwZDJhNTdmZDA5Yy4uYjA5NTUyZDg2
ODNjYzdmOWRhMGEzOGU4ZDJiMjNmN2UzNTU0MTA0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3JOb25lLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvck5vbmUuY3BwCkBA
IC04Myw2ICs4MywxMCBAQCB2b2lkIFNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpzZXRMYXllcklzQ29u
dGFpbmVyRm9yRml4ZWRQb3NpdGlvbkxheWVycyhHcmFwaGljc0xheQogdm9pZCBTY3JvbGxpbmdD
b29yZGluYXRvcjo6c2V0TGF5ZXJJc0ZpeGVkVG9Db250YWluZXJMYXllcihHcmFwaGljc0xheWVy
KiwgYm9vbCkKIHsKIH0KKwordm9pZCBTY3JvbGxpbmdDb29yZGluYXRvcjo6c2Nyb2xsYWJsZUFy
ZWFTY3JvbGxMYXllckRpZENoYW5nZShTY3JvbGxhYmxlQXJlYSosIEdyYXBoaWNzTGF5ZXIqKQor
eworfQogI2VuZGlmIC8vICFFTkFCTEUoVEhSRUFERURfU0NST0xMSU5HKQogCiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9jaHJvbWl1bS9TY3JvbGxpbmdDb29y
ZGluYXRvckNocm9taXVtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2Nocm9t
aXVtL1Njcm9sbGluZ0Nvb3JkaW5hdG9yQ2hyb21pdW0uY3BwCmluZGV4IDk5NzI2MDg3Y2Y3ZDA3
ZTQxMzFjZjExNjg2NTdmMjg4NTg5MmU1YTMuLmQ3MTU0NjNiZGU3NGFiMTk2ZWNmNmY2YjA2ZGUz
MzY0MjMzYTFjODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2No
cm9taXVtL1Njcm9sbGluZ0Nvb3JkaW5hdG9yQ2hyb21pdW0uY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2Uvc2Nyb2xsaW5nL2Nocm9taXVtL1Njcm9sbGluZ0Nvb3JkaW5hdG9yQ2hyb21pdW0u
Y3BwCkBAIC0yOSw2ICsyOSw3IEBACiAKICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIkZy
YW1lVmlldy5oIgorI2luY2x1ZGUgIkdyYXBoaWNzTGF5ZXJDaHJvbWl1bS5oIgogI2luY2x1ZGUg
IkxheWVyQ2hyb21pdW0uaCIKICNpbmNsdWRlICJSZWdpb24uaCIKICNpbmNsdWRlICJSZW5kZXJM
YXllckNvbXBvc2l0b3IuaCIKQEAgLTIwOSw0ICsyMTAsMTcgQEAgdm9pZCBTY3JvbGxpbmdDb29y
ZGluYXRvcjo6c2V0TGF5ZXJJc0ZpeGVkVG9Db250YWluZXJMYXllcihHcmFwaGljc0xheWVyKiBs
YXllciwKICAgICAgICAgcGxhdGZvcm1MYXllci0+c2V0Rml4ZWRUb0NvbnRhaW5lckxheWVyKGVu
YWJsZSk7CiB9CiAKK3ZvaWQgU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OnNjcm9sbGFibGVBcmVhU2Ny
b2xsTGF5ZXJEaWRDaGFuZ2UoU2Nyb2xsYWJsZUFyZWEqIHNjcm9sbGFibGVBcmVhLCBHcmFwaGlj
c0xheWVyKiBzY3JvbGxMYXllcikKK3sKKyAgICBHcmFwaGljc0xheWVyQ2hyb21pdW0qIGxheWVy
ID0gc3RhdGljX2Nhc3Q8R3JhcGhpY3NMYXllckNocm9taXVtKj4oc2Nyb2xsTGF5ZXIpOworICAg
IExheWVyQ2hyb21pdW0qIHBsYXRmb3JtTGF5ZXIgPSBzY3JvbGxMYXllciA/IHNjcm9sbExheWVy
LT5wbGF0Zm9ybUxheWVyKCkgOiAwOworICAgIGlmIChsYXllcikKKyAgICAgICAgbGF5ZXItPnNl
dFNjcm9sbGFibGVBcmVhKHNjcm9sbGFibGVBcmVhKTsKKyAgICBpZiAoIXBsYXRmb3JtTGF5ZXIp
CisgICAgICAgIHJldHVybjsKKyAgICBwbGF0Zm9ybUxheWVyLT5zZXRTY3JvbGxhYmxlKHRydWUp
OworICAgIHBsYXRmb3JtTGF5ZXItPnNldFNjcm9sbFBvc2l0aW9uKHNjcm9sbGFibGVBcmVhLT5z
Y3JvbGxQb3NpdGlvbigpKTsKKyAgICBwbGF0Zm9ybUxheWVyLT5zZXRNYXhTY3JvbGxQb3NpdGlv
bihJbnRTaXplKHNjcm9sbGFibGVBcmVhLT5zY3JvbGxTaXplKEhvcml6b250YWxTY3JvbGxiYXIp
LCBzY3JvbGxhYmxlQXJlYS0+c2Nyb2xsU2l6ZShWZXJ0aWNhbFNjcm9sbGJhcikpKTsKK30KKwog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmgKaW5kZXggNWEyNzhhOWI1
YjljN2MxODUxYTRjNTMzYzYwYjU0NTE1M2ZjZWQzYS4uNWVjMjNiN2QwOTdlODQyYTM2OTQwZTFl
ZWM5YTZmMTU3ZjQ2MWJmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Ny
b2xsYWJsZUFyZWEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJl
YS5oCkBAIC0xNzAsNiArMTcwLDcgQEAgcHVibGljOgogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01Q
T1NJVElORykKICAgICB2aXJ0dWFsIFRpbGVkQmFja2luZyogdGlsZWRCYWNraW5nKCkgeyByZXR1
cm4gMDsgfQogI2VuZGlmCisgICAgdmlydHVhbCBib29sIHVzZXNDb21wb3NpdGVkU2Nyb2xsaW5n
KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIAogcHJvdGVjdGVkOgogICAgIFNjcm9sbGFibGVB
cmVhKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFw
aGljc0xheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNz
TGF5ZXIuY3BwCmluZGV4IGRkYTYzNzMxMTdjZjczNzlmMjY1ODFiYWRjOTQyMDc3YWIyMGQxN2Uu
LjY4YmY4ZDRiN2I4OTk0MGFlYTdhMWVhMTVlMjY4NGY1NTcwZDJmMTYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuY3BwCkBAIC0yODQs
NyArMjg0LDcgQEAgdm9pZCBHcmFwaGljc0xheWVyOjpzZXRSZXBsaWNhdGVkQnlMYXllcihHcmFw
aGljc0xheWVyKiBsYXllcikKICAgICBtX3JlcGxpY2FMYXllciA9IGxheWVyOwogfQogCi12b2lk
IEdyYXBoaWNzTGF5ZXI6OnNldE9mZnNldEZyb21SZW5kZXJlcihjb25zdCBJbnRTaXplJiBvZmZz
ZXQpCit2b2lkIEdyYXBoaWNzTGF5ZXI6OnNldE9mZnNldEZyb21SZW5kZXJlcihjb25zdCBJbnRT
aXplJiBvZmZzZXQsIFNldE5lZWRzRGlzcGxheU9yTm90IHNldE5lZWRzRGlzcGxheUJlaGF2aW9y
KQogewogICAgIGlmIChvZmZzZXQgPT0gbV9vZmZzZXRGcm9tUmVuZGVyZXIpCiAgICAgICAgIHJl
dHVybjsKQEAgLTI5Miw3ICsyOTIsOCBAQCB2b2lkIEdyYXBoaWNzTGF5ZXI6OnNldE9mZnNldEZy
b21SZW5kZXJlcihjb25zdCBJbnRTaXplJiBvZmZzZXQpCiAgICAgbV9vZmZzZXRGcm9tUmVuZGVy
ZXIgPSBvZmZzZXQ7CiAKICAgICAvLyBJZiB0aGUgY29tcG9zaXRpbmcgbGF5ZXIgb2Zmc2V0IGNo
YW5nZXMsIHdlIG5lZWQgdG8gcmVwYWludC4KLSAgICBzZXROZWVkc0Rpc3BsYXkoKTsKKyAgICBp
ZiAoc2V0TmVlZHNEaXNwbGF5QmVoYXZpb3IgPT0gU2V0TmVlZHNEaXNwbGF5KQorICAgICAgICBz
ZXROZWVkc0Rpc3BsYXkoKTsKIH0KIAogdm9pZCBHcmFwaGljc0xheWVyOjpzZXRCYWNrZ3JvdW5k
Q29sb3IoY29uc3QgQ29sb3ImIGNvbG9yKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvR3JhcGhpY3NMYXllci5oCmluZGV4IGNjZDYxZmI5ZTlkMGFlYjVjMzk3ZTc2MmFh
ZGYwZDNmODgxZGJjOTMuLjA1NWI2MDhiMmUzMDliNzFhMjYyOTk5MmNjZTAyMjRhNjQ5NzIzOGMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVy
LmgKQEAgLTIzMyw5ICsyMzMsMTEgQEAgcHVibGljOgogICAgIGNvbnN0IEZsb2F0UG9pbnQmIHJl
cGxpY2F0ZWRMYXllclBvc2l0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9yZXBsaWNhdGVkTGF5ZXJQ
b3NpdGlvbjsgfQogICAgIHZvaWQgc2V0UmVwbGljYXRlZExheWVyUG9zaXRpb24oY29uc3QgRmxv
YXRQb2ludCYgcCkgeyBtX3JlcGxpY2F0ZWRMYXllclBvc2l0aW9uID0gcDsgfQogCisgICAgZW51
bSBTZXROZWVkc0Rpc3BsYXlPck5vdCB7IERvbnRTZXROZWVkc0Rpc3BsYXksIFNldE5lZWRzRGlz
cGxheSB9OworCiAgICAgLy8gT2Zmc2V0IGlzIG9yaWdpbiBvZiB0aGUgcmVuZGVyZXIgbWludXMg
b3JpZ2luIG9mIHRoZSBncmFwaGljcyBsYXllciAoc28gZWl0aGVyIHplcm8gb3IgbmVnYXRpdmUp
LgogICAgIEludFNpemUgb2Zmc2V0RnJvbVJlbmRlcmVyKCkgY29uc3QgeyByZXR1cm4gbV9vZmZz
ZXRGcm9tUmVuZGVyZXI7IH0KLSAgICB2b2lkIHNldE9mZnNldEZyb21SZW5kZXJlcihjb25zdCBJ
bnRTaXplJik7CisgICAgdm9pZCBzZXRPZmZzZXRGcm9tUmVuZGVyZXIoY29uc3QgSW50U2l6ZSYs
IFNldE5lZWRzRGlzcGxheU9yTm90ID0gU2V0TmVlZHNEaXNwbGF5KTsKIAogICAgIC8vIFRoZSBw
b3NpdGlvbiBvZiB0aGUgbGF5ZXIgKHRoZSBsb2NhdGlvbiBvZiBpdHMgdG9wLWxlZnQgY29ybmVy
IGluIGl0cyBwYXJlbnQpCiAgICAgY29uc3QgRmxvYXRQb2ludCYgcG9zaXRpb24oKSBjb25zdCB7
IHJldHVybiBtX3Bvc2l0aW9uOyB9CkBAIC01MDEsNCArNTAzLDMgQEAgdm9pZCBzaG93R3JhcGhp
Y3NMYXllclRyZWUoY29uc3QgV2ViQ29yZTo6R3JhcGhpY3NMYXllciogbGF5ZXIpOwogI2VuZGlm
IC8vIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKIAogI2VuZGlmIC8vIEdyYXBoaWNzTGF5
ZXJfaAotCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9HcmFwaGljc0xheWVyQ2hyb21pdW0uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vR3JhcGhpY3NMYXllckNocm9taXVtLmNwcAppbmRleCAxZWIyMzdj
NGM1NjBhMjY5ZGY1MTllODUzNGJlN2E2MmQ0YjY0MTZlLi5iMjkyNmExMGY1NzYyYTliYjNkMjBm
NjI4ZWFlZTZiMjc1MmUyMzg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9HcmFwaGljc0xheWVyQ2hyb21pdW0uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dyYXBoaWNzTGF5ZXJDaHJvbWl1bS5j
cHAKQEAgLTU3LDYgKzU3LDcgQEAKICNpbmNsdWRlICJOYXRpdmVJbWFnZVNraWEuaCIKICNpbmNs
dWRlICJQbGF0Zm9ybUNvbnRleHRTa2lhLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIK
KyNpbmNsdWRlICJTY3JvbGxhYmxlQXJlYS5oIgogI2luY2x1ZGUgIlNrTWF0cml4NDQuaCIKICNp
bmNsdWRlICJTeXN0ZW1UaW1lLmgiCiAKQEAgLTg5LDEwICs5MCwxMiBAQCBHcmFwaGljc0xheWVy
Q2hyb21pdW06OkdyYXBoaWNzTGF5ZXJDaHJvbWl1bShHcmFwaGljc0xheWVyQ2xpZW50KiBjbGll
bnQpCiAgICAgLCBtX2NvbnRlbnRzTGF5ZXJIYXNCYWNrZ3JvdW5kQ29sb3IoZmFsc2UpCiAgICAg
LCBtX2luU2V0Q2hpbGRyZW4oZmFsc2UpCiAgICAgLCBtX3BhZ2VTY2FsZUNoYW5nZWQoZmFsc2Up
CisgICAgLCBtX3Njcm9sbGFibGVBcmVhKDApCiB7CiAgICAgbV9vcGFxdWVSZWN0VHJhY2tpbmdD
b250ZW50TGF5ZXJEZWxlZ2F0ZSA9IGFkb3B0UHRyKG5ldyBPcGFxdWVSZWN0VHJhY2tpbmdDb250
ZW50TGF5ZXJEZWxlZ2F0ZSh0aGlzKSk7CiAgICAgbV9sYXllciA9IFdlYkNvbnRlbnRMYXllcjo6
Y3JlYXRlKG1fb3BhcXVlUmVjdFRyYWNraW5nQ29udGVudExheWVyRGVsZWdhdGUuZ2V0KCkpOwog
ICAgIG1fbGF5ZXIuc2V0RHJhd3NDb250ZW50KG1fZHJhd3NDb250ZW50ICYmIG1fY29udGVudHNW
aXNpYmxlKTsKKyAgICBtX2xheWVyLnVud3JhcDxMYXllckNocm9taXVtPigpLT5zZXRMYXllclNj
cm9sbERlbGVnYXRlKHRoaXMpOwogICAgIGlmIChjbGllbnQpCiAgICAgICAgIGRldmljZU9yUGFn
ZVNjYWxlRmFjdG9yQ2hhbmdlZCgpOwogICAgIHVwZGF0ZURlYnVnSW5kaWNhdG9ycygpOwpAQCAt
MjMyLDYgKzIzNSwxMiBAQCB2b2lkIEdyYXBoaWNzTGF5ZXJDaHJvbWl1bTo6c2V0U2l6ZShjb25z
dCBGbG9hdFNpemUmIHNpemUpCiAgICAgbV9wYWdlU2NhbGVDaGFuZ2VkID0gZmFsc2U7CiB9CiAK
K3ZvaWQgR3JhcGhpY3NMYXllckNocm9taXVtOjpzZXRCb3VuZHNPcmlnaW4oY29uc3QgRmxvYXRQ
b2ludCYgb3JpZ2luKQoreworICAgIEdyYXBoaWNzTGF5ZXI6OnNldEJvdW5kc09yaWdpbihvcmln
aW4pOworICAgIHByaW1hcnlMYXllcigpLnVud3JhcDxMYXllckNocm9taXVtPigpLT5zZXRCb3Vu
ZHNPcmlnaW4ob3JpZ2luKTsKK30KKwogdm9pZCBHcmFwaGljc0xheWVyQ2hyb21pdW06OnNldFRy
YW5zZm9ybShjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgdHJhbnNmb3JtKQogewogICAgIC8v
IENhbGwgdGhpcyBtZXRob2QgZmlyc3QgdG8gYXNzaWduIGNvbnRlbnRzIHNjYWxlIHRvIG91ciBs
YXllciBzbyB0aGUgcGFpbnRlciBjYW4gYXBwbHkgdGhlIHNjYWxlIHRyYW5zZm9ybS4KQEAgLTg5
MSw2ICs5MDAsMTIgQEAgdm9pZCBHcmFwaGljc0xheWVyQ2hyb21pdW06Om5vdGlmeUFuaW1hdGlv
bkZpbmlzaGVkKGRvdWJsZSkKICAgICAvLyBEbyBub3RoaW5nLgogfQogCit2b2lkIEdyYXBoaWNz
TGF5ZXJDaHJvbWl1bTo6ZGlkU2Nyb2xsKGNvbnN0IEludFNpemUmIHNjcm9sbERlbHRhKQorewor
ICAgIGlmIChtX3Njcm9sbGFibGVBcmVhKQorICAgICAgICBtX3Njcm9sbGFibGVBcmVhLT5zY3Jv
bGxUb09mZnNldFdpdGhvdXRBbmltYXRpb24obV9zY3JvbGxhYmxlQXJlYS0+c2Nyb2xsUG9zaXRp
b24oKSArIHNjcm9sbERlbHRhKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5k
aWYgLy8gVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vR3JhcGhpY3NMYXllckNocm9taXVtLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9HcmFwaGljc0xheWVy
Q2hyb21pdW0uaAppbmRleCA5NzE2YjE3NGQ4OGJkMDIwZWQyOTNlNDVkNzkwZjgyNGE3ZDgzZDAz
Li5kY2ViNDM3NGJiYjJkMjY4MmZmNGY4YjU4ZmQyZjRkNDgxNzY0MGJiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9HcmFwaGljc0xheWVyQ2hy
b21pdW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9H
cmFwaGljc0xheWVyQ2hyb21pdW0uaApAQCAtMzUsNiArMzUsNyBAQAogCiAjaW5jbHVkZSAiR3Jh
cGhpY3NDb250ZXh0LmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NMYXllci5oIgorI2luY2x1ZGUgIkxh
eWVyQ2hyb21pdW0uaCIKICNpbmNsdWRlICJPcGFxdWVSZWN0VHJhY2tpbmdDb250ZW50TGF5ZXJE
ZWxlZ2F0ZS5oIgogI2luY2x1ZGUgImNjL0NDTGF5ZXJBbmltYXRpb25EZWxlZ2F0ZS5oIgogCkBA
IC00NCwxMSArNDUsMTEgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBMYXllckNo
cm9taXVtOwogY2xhc3MgTGlua0hpZ2hsaWdodDsKIGNsYXNzIFBhdGg7CitjbGFzcyBTY3JvbGxh
YmxlQXJlYTsKIAotY2xhc3MgR3JhcGhpY3NMYXllckNocm9taXVtIDogcHVibGljIEdyYXBoaWNz
TGF5ZXIsIHB1YmxpYyBHcmFwaGljc0NvbnRleHRQYWludGVyLCBwdWJsaWMgQ0NMYXllckFuaW1h
dGlvbkRlbGVnYXRlIHsKK2NsYXNzIEdyYXBoaWNzTGF5ZXJDaHJvbWl1bSA6IHB1YmxpYyBHcmFw
aGljc0xheWVyLCBwdWJsaWMgR3JhcGhpY3NDb250ZXh0UGFpbnRlciwgcHVibGljIENDTGF5ZXJB
bmltYXRpb25EZWxlZ2F0ZSwgcHVibGljIExheWVyQ2hyb21pdW1TY3JvbGxEZWxlZ2F0ZSB7CiBw
dWJsaWM6CiAgICAgR3JhcGhpY3NMYXllckNocm9taXVtKEdyYXBoaWNzTGF5ZXJDbGllbnQqKTsK
ICAgICB2aXJ0dWFsIH5HcmFwaGljc0xheWVyQ2hyb21pdW0oKTsKQEAgLTY3LDYgKzY4LDcgQEAg
cHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBzZXRQb3NpdGlvbihjb25zdCBGbG9hdFBvaW50Jik7
CiAgICAgdmlydHVhbCB2b2lkIHNldEFuY2hvclBvaW50KGNvbnN0IEZsb2F0UG9pbnQzRCYpOwog
ICAgIHZpcnR1YWwgdm9pZCBzZXRTaXplKGNvbnN0IEZsb2F0U2l6ZSYpOworICAgIHZpcnR1YWwg
dm9pZCBzZXRCb3VuZHNPcmlnaW4oY29uc3QgRmxvYXRQb2ludCYpOwogCiAgICAgdmlydHVhbCB2
b2lkIHNldFRyYW5zZm9ybShjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYpOwogCkBAIC0xMTgs
NiArMTIwLDkgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBzZXREZWJ1Z0JvcmRlcihjb25z
dCBDb2xvciYsIGZsb2F0IGJvcmRlcldpZHRoKTsKICAgICB2aXJ0dWFsIHZvaWQgZGV2aWNlT3JQ
YWdlU2NhbGVGYWN0b3JDaGFuZ2VkKCk7CiAKKyAgICB2b2lkIHNldFNjcm9sbGFibGVBcmVhKFNj
cm9sbGFibGVBcmVhKiBzY3JvbGxhYmxlQXJlYSkgeyBtX3Njcm9sbGFibGVBcmVhID0gc2Nyb2xs
YWJsZUFyZWE7IH0KKyAgICBTY3JvbGxhYmxlQXJlYSogc2Nyb2xsYWJsZUFyZWEoKSBjb25zdCB7
IHJldHVybiBtX3Njcm9sbGFibGVBcmVhOyB9CisKICAgICAvLyBHcmFwaGljc0NvbnRleHRQYWlu
dGVyIGltcGxlbWVudGF0aW9uLgogICAgIHZpcnR1YWwgdm9pZCBwYWludChHcmFwaGljc0NvbnRl
eHQmLCBjb25zdCBJbnRSZWN0JiBjbGlwKSBPVkVSUklERTsKIApAQCAtMTI1LDYgKzEzMCw5IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgbm90aWZ5QW5pbWF0aW9uU3RhcnRlZChkb3VibGUg
c3RhcnRUaW1lKTsKICAgICB2aXJ0dWFsIHZvaWQgbm90aWZ5QW5pbWF0aW9uRmluaXNoZWQoZG91
YmxlIGZpbmlzaFRpbWUpOwogCisgICAgLy8gTGF5ZXJDaHJvbWl1bVNjcm9sbERlbGVnYXRlIGlt
cGxlbWVudGF0aW9uLgorICAgIHZpcnR1YWwgdm9pZCBkaWRTY3JvbGwoY29uc3QgSW50U2l6ZSYp
IE9WRVJSSURFOworCiAgICAgLy8gRXhwb3NlZCBmb3IgdGVzdHMuCiAgICAgV2ViS2l0OjpXZWJM
YXllciBjb250ZW50c0xheWVyKCkgY29uc3QgeyByZXR1cm4gbV9jb250ZW50c0xheWVyOyB9CiAK
QEAgLTE4MSw2ICsxODksOCBAQCBwcml2YXRlOgogCiAgICAgdHlwZWRlZiBIYXNoTWFwPFN0cmlu
ZywgaW50PiBBbmltYXRpb25JZE1hcDsKICAgICBBbmltYXRpb25JZE1hcCBtX2FuaW1hdGlvbklk
TWFwOworCisgICAgU2Nyb2xsYWJsZUFyZWEqIG1fc2Nyb2xsYWJsZUFyZWE7CiB9OwogCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9MYXllckNocm9taXVtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyQ2hyb21pdW0uY3BwCmluZGV4IDI0ODI3ZTk0Njgx
NzdmNDAyNjBlMjIwN2JlOWRlOWJhNWU1NDcwMTUuLjA5N2IyYTk4ODA5ZjUzN2JjZDM5NGJhYmZj
ODFhZDliN2JkZDc5MWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL0xheWVyQ2hyb21pdW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyQ2hyb21pdW0uY3BwCkBAIC01MzMsNiArNTMzLDcg
QEAgdm9pZCBMYXllckNocm9taXVtOjpwdXNoUHJvcGVydGllc1RvKENDTGF5ZXJJbXBsKiBsYXll
cikKICAgICBsYXllci0+c2V0QW5jaG9yUG9pbnRaKG1fYW5jaG9yUG9pbnRaKTsKICAgICBsYXll
ci0+c2V0QmFja2dyb3VuZENvbG9yKG1fYmFja2dyb3VuZENvbG9yKTsKICAgICBsYXllci0+c2V0
Qm91bmRzKG1fYm91bmRzKTsKKyAgICBsYXllci0+c2V0Qm91bmRzT3JpZ2luKG1fYm91bmRzT3Jp
Z2luKTsKICAgICBsYXllci0+c2V0Q29udGVudEJvdW5kcyhjb250ZW50Qm91bmRzKCkpOwogICAg
IGxheWVyLT5zZXRDb250ZW50c1NjYWxlKGNvbnRlbnRzU2NhbGUoKSk7CiAgICAgbGF5ZXItPnNl
dERlYnVnQm9yZGVyQ29sb3IobV9kZWJ1Z0JvcmRlckNvbG9yKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyQ2hyb21pdW0uaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyQ2hyb21pdW0uaApp
bmRleCAyN2NlOGYxMGFiMDY4MTc0ZTNiMTE5YmM2YTc4OTViMzQ0NTg3NmU4Li45ODMwNDVmZGY2
ZjE0MjJmNWRiNjIwZTM5YjU1NWJhNTIzZDlmOGRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllckNocm9taXVtLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJDaHJvbWl1bS5oCkBAIC0x
MTYsNiArMTE2LDkgQEAgcHVibGljOgogICAgIGNvbnN0IEludFNpemUmIGJvdW5kcygpIGNvbnN0
IHsgcmV0dXJuIG1fYm91bmRzOyB9CiAgICAgdmlydHVhbCBJbnRTaXplIGNvbnRlbnRCb3VuZHMo
KSBjb25zdCB7IHJldHVybiBib3VuZHMoKTsgfQogCisgICAgY29uc3QgRmxvYXRQb2ludCYgYm91
bmRzT3JpZ2luKCkgY29uc3QgeyByZXR1cm4gbV9ib3VuZHNPcmlnaW47IH0KKyAgICB2b2lkIHNl
dEJvdW5kc09yaWdpbihjb25zdCBGbG9hdFBvaW50JiBvcmlnaW4pIHsgbV9ib3VuZHNPcmlnaW4g
PSBvcmlnaW47IH0KKwogICAgIHZvaWQgc2V0TWFza3NUb0JvdW5kcyhib29sKTsKICAgICBib29s
IG1hc2tzVG9Cb3VuZHMoKSBjb25zdCB7IHJldHVybiBtX21hc2tzVG9Cb3VuZHM7IH0KIApAQCAt
MzQyLDYgKzM0NSw3IEBAIHByaXZhdGU6CiAKICAgICAvLyBMYXllciBwcm9wZXJ0aWVzLgogICAg
IEludFNpemUgbV9ib3VuZHM7CisgICAgRmxvYXRQb2ludCBtX2JvdW5kc09yaWdpbjsKIAogICAg
IC8vIFVzZXMgbGF5ZXIncyBjb250ZW50IHNwYWNlLgogICAgIEludFJlY3QgbV92aXNpYmxlQ29u
dGVudFJlY3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9jYy9DQ0xheWVySW1wbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9jYy9DQ0xheWVySW1wbC5jcHAKaW5kZXggMjNhMzhhMjBkMjczMGE2YmJh
MDAxMTgxYjhlNjAyZWY4YzJhYWNlZi4uNjkxMWM1MDRhYTk1NWYzZmU1YzAxZjU0MjJmN2JiNDY1
M2UzZDAwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vY2MvQ0NMYXllckltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJJbXBsLmNwcApAQCAtMzY5LDYgKzM2OSwxNSBAQCB2
b2lkIENDTGF5ZXJJbXBsOjpzZXRCb3VuZHMoY29uc3QgSW50U2l6ZSYgYm91bmRzKQogICAgICAg
ICBtX2xheWVyUHJvcGVydHlDaGFuZ2VkID0gdHJ1ZTsKIH0KIAordm9pZCBDQ0xheWVySW1wbDo6
c2V0Qm91bmRzT3JpZ2luKGNvbnN0IEZsb2F0UG9pbnQmIGJvdW5kc09yaWdpbikKK3sKKyAgICBp
ZiAobV9ib3VuZHNPcmlnaW4gPT0gYm91bmRzT3JpZ2luKQorICAgICAgICByZXR1cm47CisKKyAg
ICBtX2JvdW5kc09yaWdpbiA9IGJvdW5kc09yaWdpbjsKKyAgICBub3RlTGF5ZXJQcm9wZXJ0eUNo
YW5nZWRGb3JTdWJ0cmVlKCk7Cit9CisKIHZvaWQgQ0NMYXllckltcGw6OnNldE1hc2tMYXllcihQ
YXNzT3duUHRyPENDTGF5ZXJJbXBsPiBtYXNrTGF5ZXIpCiB7CiAgICAgbV9tYXNrTGF5ZXIgPSBt
YXNrTGF5ZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9jYy9DQ0xheWVySW1wbC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vY2MvQ0NMYXllckltcGwuaAppbmRleCA0MmNmOWZjYmE3NmY5YmNlMjY2MTRj
ODdjMTg5YzcyZjZiZTU3MDE0Li5iYzRhMmRiZmU1MzM2YzIxZmE1MWI5MWZlOThmYTkyM2Y2ODgz
ODlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9jYy9DQ0xheWVySW1wbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL2NjL0NDTGF5ZXJJbXBsLmgKQEAgLTE4Nyw2ICsxODcsOSBAQCBwdWJsaWM6CiAg
ICAgY29uc3QgSW50U2l6ZSYgY29udGVudEJvdW5kcygpIGNvbnN0IHsgcmV0dXJuIG1fY29udGVu
dEJvdW5kczsgfQogICAgIHZvaWQgc2V0Q29udGVudEJvdW5kcyhjb25zdCBJbnRTaXplJik7CiAK
KyAgICBjb25zdCBGbG9hdFBvaW50JiBib3VuZHNPcmlnaW4oKSBjb25zdCB7IHJldHVybiBtX2Jv
dW5kc09yaWdpbjsgfQorICAgIHZvaWQgc2V0Qm91bmRzT3JpZ2luKGNvbnN0IEZsb2F0UG9pbnQm
KTsKKwogICAgIHZvaWQgc2V0Q29udGVudHNTY2FsZShmbG9hdCBjb250ZW50c1NjYWxlKSB7IG1f
Y29udGVudHNTY2FsZSA9IGNvbnRlbnRzU2NhbGU7IH0KICAgICBmbG9hdCBjb250ZW50c1NjYWxl
KCkgY29uc3QgeyByZXR1cm4gbV9jb250ZW50c1NjYWxlOyB9CiAKQEAgLTMwNCw2ICszMDcsNyBA
QCBwcml2YXRlOgogICAgIGZsb2F0IG1fYW5jaG9yUG9pbnRaOwogICAgIEludFNpemUgbV9ib3Vu
ZHM7CiAgICAgSW50U2l6ZSBtX2NvbnRlbnRCb3VuZHM7CisgICAgRmxvYXRQb2ludCBtX2JvdW5k
c09yaWdpbjsKICAgICBmbG9hdCBtX2NvbnRlbnRzU2NhbGU7CiAgICAgSW50UG9pbnQgbV9zY3Jv
bGxQb3NpdGlvbjsKICAgICBib29sIG1fc2Nyb2xsYWJsZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdENvbW1v
bi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xh
eWVyVHJlZUhvc3RDb21tb24uY3BwCmluZGV4IDgzN2FkNzZlNmY0NGY2ODI3NzYxMmUyOTIwNTky
YWU5YTdiMDgzOTIuLjBiOTEzZDg3MWZlOTllYjAyNzgwMGMzZDVhMjQ5MzQwOWY1Njk4ODAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0ND
TGF5ZXJUcmVlSG9zdENvbW1vbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0Q29tbW9uLmNwcApAQCAtNjAxLDYgKzYw
MSw3IEBAIHN0YXRpYyB2b2lkIGNhbGN1bGF0ZURyYXdUcmFuc2Zvcm1zSW50ZXJuYWwoTGF5ZXJU
eXBlKiBsYXllciwgTGF5ZXJUeXBlKiByb290TGF5CiAgICAgICAgIHN1YmxheWVyTWF0cml4Lm1h
a2VJZGVudGl0eSgpOwogICAgICAgICBzdWJsYXllck1hdHJpeC5zY2FsZShjb250ZW50c1NjYWxl
KTsKICAgICAgICAgc3VibGF5ZXJNYXRyaXgudHJhbnNsYXRlKDAuNSAqIGJvdW5kcy53aWR0aCgp
LCAwLjUgKiBib3VuZHMuaGVpZ2h0KCkpOworICAgICAgICBzdWJsYXllck1hdHJpeC50cmFuc2xh
dGUoLWxheWVyLT5ib3VuZHNPcmlnaW4oKS54KCksIC1sYXllci0+Ym91bmRzT3JpZ2luKCkueSgp
KTsKIAogICAgICAgICAvLyBUaGUgb3BhY2l0eSB2YWx1ZSBpcyBtb3ZlZCBmcm9tIHRoZSBsYXll
ciB0byBpdHMgc3VyZmFjZSwgc28gdGhhdCB0aGUgZW50aXJlIHN1YnRyZWUgcHJvcGVybHkgaW5o
ZXJpdHMgb3BhY2l0eS4KICAgICAgICAgcmVuZGVyU3VyZmFjZS0+c2V0RHJhd09wYWNpdHkoZHJh
d09wYWNpdHkpOwpAQCAtNjQxLDYgKzY0Miw3IEBAIHN0YXRpYyB2b2lkIGNhbGN1bGF0ZURyYXdU
cmFuc2Zvcm1zSW50ZXJuYWwoTGF5ZXJUeXBlKiBsYXllciwgTGF5ZXJUeXBlKiByb290TGF5CiAg
ICAgICAgIGxheWVyLT5zZXREcmF3VHJhbnNmb3JtSXNBbmltYXRpbmcoYW5pbWF0aW5nVHJhbnNm
b3JtVG9UYXJnZXQpOwogICAgICAgICBsYXllci0+c2V0U2NyZWVuU3BhY2VUcmFuc2Zvcm1Jc0Fu
aW1hdGluZyhhbmltYXRpbmdUcmFuc2Zvcm1Ub1NjcmVlbik7CiAgICAgICAgIHN1YmxheWVyTWF0
cml4ID0gY29tYmluZWRUcmFuc2Zvcm07CisgICAgICAgIHN1YmxheWVyTWF0cml4LnRyYW5zbGF0
ZSgtbGF5ZXItPmJvdW5kc09yaWdpbigpLngoKSwgLWxheWVyLT5ib3VuZHNPcmlnaW4oKS55KCkp
OwogCiAgICAgICAgIGxheWVyLT5zZXREcmF3T3BhY2l0eShkcmF3T3BhY2l0eSk7CiAgICAgICAg
IGxheWVyLT5zZXREcmF3T3BhY2l0eUlzQW5pbWF0aW5nKGRyYXdPcGFjaXR5SXNBbmltYXRpbmcp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmggYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaAppbmRleCA0ZGU1YzcyMTI0NWNi
NjM3NGEyNDRmMmZkZTE3ZmJlMGUzODFiNWViLi4wNWYxODhjOGRjNmE0ZWFhNTE4NzIwMjJhNDcx
YTJhN2VmZTQwYTRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaApAQCAt
MzYzLDcgKzM2Myw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHBhaW50UmVzaXplcihHcmFwaGljc0Nv
bnRleHQqLCBjb25zdCBJbnRQb2ludCYsIGNvbnN0IEludFJlY3QmIGRhbWFnZVJlY3QpOwogCiAg
ICAgdm9pZCB1cGRhdGVTY3JvbGxJbmZvQWZ0ZXJMYXlvdXQoKTsKLSAgICBib29sIHVzZXNDb21w
b3NpdGVkU2Nyb2xsaW5nKCkgY29uc3Q7CisgICAgdmlydHVhbCBib29sIHVzZXNDb21wb3NpdGVk
U2Nyb2xsaW5nKCkgY29uc3QgT1ZFUlJJREU7CiAKICAgICBib29sIHNjcm9sbChTY3JvbGxEaXJl
Y3Rpb24sIFNjcm9sbEdyYW51bGFyaXR5LCBmbG9hdCBtdWx0aXBsaWVyID0gMSk7CiAgICAgdm9p
ZCBhdXRvc2Nyb2xsKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXJCYWNraW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXll
ckJhY2tpbmcuY3BwCmluZGV4IDZiMWY0NDA2MGU1YzhjNjA2N2JkMjUxYjQ2MWFkYTliZGQ5MzEw
MmMuLmJhNDc0ZTJjOTc1MzY2ZWFjZDRmNDgxOTc1MGYzMzYwYzY3MGEzMGMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwCkBAIC02NTUsMTYg
KzY1NSwyMCBAQCB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlR3JhcGhpY3NMYXllckdl
b21ldHJ5KCkKICAgICAgICAgbV9zY3JvbGxpbmdMYXllci0+c2V0Qm91bmRzT3JpZ2luKEZsb2F0
UG9pbnQoc2Nyb2xsT2Zmc2V0LndpZHRoKCksIHNjcm9sbE9mZnNldC5oZWlnaHQoKSkpOwogICAg
ICAgICAKICAgICAgICAgSW50U2l6ZSBzY3JvbGxTaXplKG1fb3duaW5nTGF5ZXItPnNjcm9sbFdp
ZHRoKCksIG1fb3duaW5nTGF5ZXItPnNjcm9sbEhlaWdodCgpKTsKKyAgICAgICAgSW50U2l6ZSBz
Y3JvbGxpbmdDb250ZW50c09mZnNldCA9IHBhZGRpbmdCb3gubG9jYXRpb24oKSAtIEludFBvaW50
KCkgLSBzY3JvbGxPZmZzZXQ7CiAKICAgICAgICAgbV9zY3JvbGxpbmdDb250ZW50c0xheWVyLT5z
ZXRQb3NpdGlvbihGbG9hdFBvaW50KCkpOwogICAgICAgICAKICAgICAgICAgaWYgKHNjcm9sbFNp
emUgIT0gbV9zY3JvbGxpbmdDb250ZW50c0xheWVyLT5zaXplKCkgfHwgcGFkZGluZ0JveE9mZnNl
dENoYW5nZWQpCiAgICAgICAgICAgICBtX3Njcm9sbGluZ0NvbnRlbnRzTGF5ZXItPnNldE5lZWRz
RGlzcGxheSgpOworICAgICAgICBpZiAoc2Nyb2xsaW5nQ29udGVudHNPZmZzZXQgIT0gbV9zY3Jv
bGxpbmdDb250ZW50c0xheWVyLT5vZmZzZXRGcm9tUmVuZGVyZXIoKSB8fCBzY3JvbGxTaXplICE9
IG1fc2Nyb2xsaW5nQ29udGVudHNMYXllci0+c2l6ZSgpKQorICAgICAgICAgICAgY29tcG9zaXRv
cigpLT5zY3JvbGxpbmdMYXllckRpZENoYW5nZShtX293bmluZ0xheWVyKTsKIAogICAgICAgICBt
X3Njcm9sbGluZ0NvbnRlbnRzTGF5ZXItPnNldFNpemUoc2Nyb2xsU2l6ZSk7CiAgICAgICAgIC8v
IFNjcm9sbGluZyB0aGUgY29udGVudCBsYXllciBkb2VzIG5vdCBuZWVkIHRvIHRyaWdnZXIgYSBy
ZXBhaW50LiBUaGUgb2Zmc2V0IHdpbGwgYmUgY29tcGVuc2F0ZWQgYXdheSBkdXJpbmcgcGFpbnRp
bmcuCiAgICAgICAgIC8vIEZJWE1FOiBUaGUgcGFpbnQgb2Zmc2V0IGFuZCB0aGUgc2Nyb2xsIG9m
ZnNldCBzaG91bGQgcmVhbGx5IGJlIHNlcGFyYXRlIGNvbmNlcHRzLgotICAgICAgICBtX3Njcm9s
bGluZ0NvbnRlbnRzTGF5ZXItPnNldE9mZnNldEZyb21SZW5kZXJlcihwYWRkaW5nQm94LmxvY2F0
aW9uKCkgLSBJbnRQb2ludCgpIC0gc2Nyb2xsT2Zmc2V0KTsKKyAgICAgICAgLy8gRklYTUU6IFNo
b3VsZCB1c2UgRG9udFNldE5lZWRzRGlzcGxheSB0byBhdm9pZCByZXBhaW50aW5nIHRoZSBlbnRp
cmUgbGF5ZXIuCisgICAgICAgIG1fc2Nyb2xsaW5nQ29udGVudHNMYXllci0+c2V0T2Zmc2V0RnJv
bVJlbmRlcmVyKHNjcm9sbGluZ0NvbnRlbnRzT2Zmc2V0LCBHcmFwaGljc0xheWVyOjpTZXROZWVk
c0Rpc3BsYXkpOwogICAgIH0KIAogICAgIG1fZ3JhcGhpY3NMYXllci0+c2V0Q29udGVudHNSZWN0
KGNvbnRlbnRzQm94KCkpOwpAQCAtNjkxLDYgKzY5NSwxMSBAQCB2b2lkIFJlbmRlckxheWVyQmFj
a2luZzo6dXBkYXRlSW50ZXJuYWxIaWVyYXJjaHkoKQogICAgICAgICBtX2dyYXBoaWNzTGF5ZXIt
PmFkZENoaWxkKG1fY29udGFpbm1lbnRMYXllci5nZXQoKSk7CiAgICAgfQogCisgICAgaWYgKG1f
c2Nyb2xsaW5nTGF5ZXIpIHsKKyAgICAgICAgR3JhcGhpY3NMYXllciogc3VwZXJsYXllciA9IG1f
Y29udGFpbm1lbnRMYXllciA/IG1fY29udGFpbm1lbnRMYXllci5nZXQoKSA6IG1fZ3JhcGhpY3NM
YXllci5nZXQoKTsKKyAgICAgICAgc3VwZXJsYXllci0+YWRkQ2hpbGQobV9zY3JvbGxpbmdMYXll
ci5nZXQoKSk7CisgICAgfQorCiAgICAgLy8gVGhlIGNsaXAgZm9yIGNoaWxkIGxheWVycyBkb2Vz
IG5vdCBpbmNsdWRlIHNwYWNlIGZvciBvdmVyZmxvdyBjb250cm9scywgc28gdGhleSBleGlzdCBh
cwogICAgIC8vIHNpYmxpbmdzIG9mIHRoZSBjbGlwcGluZyBsYXllciBpZiB3ZSBoYXZlIG9uZS4g
Tm9ybWFsIGNoaWxkcmVuIG9mIHRoaXMgbGF5ZXIgYXJlIHNldCBhcwogICAgIC8vIGNoaWxkcmVu
IG9mIHRoZSBjbGlwcGluZyBsYXllci4KQEAgLTcwNiwxMCArNzE1LDYgQEAgdm9pZCBSZW5kZXJM
YXllckJhY2tpbmc6OnVwZGF0ZUludGVybmFsSGllcmFyY2h5KCkKICAgICAgICAgbV9sYXllckZv
clNjcm9sbENvcm5lci0+cmVtb3ZlRnJvbVBhcmVudCgpOwogICAgICAgICBtX2dyYXBoaWNzTGF5
ZXItPmFkZENoaWxkKG1fbGF5ZXJGb3JTY3JvbGxDb3JuZXIuZ2V0KCkpOwogICAgIH0KLSAgICBp
ZiAobV9zY3JvbGxpbmdMYXllcikgewotICAgICAgICBHcmFwaGljc0xheWVyKiBzdXBlcmxheWVy
ID0gbV9jb250YWlubWVudExheWVyID8gbV9jb250YWlubWVudExheWVyLmdldCgpIDogbV9ncmFw
aGljc0xheWVyLmdldCgpOwotICAgICAgICBzdXBlcmxheWVyLT5hZGRDaGlsZChtX3Njcm9sbGlu
Z0xheWVyLmdldCgpKTsKLSAgICB9CiB9CiAKIHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRh
dGVEcmF3c0NvbnRlbnQoKQpAQCAtMTczMCw2ICsxNzM1LDggQEAgZG91YmxlIFJlbmRlckxheWVy
QmFja2luZzo6YmFja2luZ1N0b3JlTWVtb3J5RXN0aW1hdGUoKSBjb25zdAogICAgICAgICBiYWNr
aW5nTWVtb3J5ICs9IG1fZm9yZWdyb3VuZExheWVyLT5iYWNraW5nU3RvcmVNZW1vcnlFc3RpbWF0
ZSgpOwogICAgIGlmIChtX21hc2tMYXllcikKICAgICAgICAgYmFja2luZ01lbW9yeSArPSBtX21h
c2tMYXllci0+YmFja2luZ1N0b3JlTWVtb3J5RXN0aW1hdGUoKTsKKyAgICBpZiAobV9zY3JvbGxp
bmdDb250ZW50c0xheWVyKQorICAgICAgICBiYWNraW5nTWVtb3J5ICs9IG1fc2Nyb2xsaW5nQ29u
dGVudHNMYXllci0+YmFja2luZ1N0b3JlTWVtb3J5RXN0aW1hdGUoKTsKIAogICAgIGlmIChtX2xh
eWVyRm9ySG9yaXpvbnRhbFNjcm9sbGJhcikKICAgICAgICAgYmFja2luZ01lbW9yeSArPSBtX2xh
eWVyRm9ySG9yaXpvbnRhbFNjcm9sbGJhci0+YmFja2luZ1N0b3JlTWVtb3J5RXN0aW1hdGUoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0
b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5j
cHAKaW5kZXggYjI5NDBkMDUwOWRmNjM0ZTE5MWJkODgzZjJmNGIzZmJjYTU1ZjcwNC4uNDU2YmUz
YWE2YmE5MmI4MGNkNzMxYzNjMTU1YTU3YmUyNGQyYmI0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKQEAgLTEwMjUsNyArMTAy
NSw3IEBAIHZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpyZWJ1aWxkQ29tcG9zaXRpbmdMYXll
clRyZWUoUmVuZGVyTGF5ZXIqIGxheWVyLCBWZWN0CiAKICAgICAgICAgLy8gSWYgdGhlIGxheWVy
IGhhcyBhIGNsaXBwaW5nIGxheWVyIHRoZSBvdmVyZmxvdyBjb250cm9scyBsYXllcnMgd2lsbCBi
ZSBzaWJsaW5ncyBvZiB0aGUgY2xpcHBpbmcgbGF5ZXIuCiAgICAgICAgIC8vIE90aGVyd2lzZSwg
dGhlIG92ZXJmbG93IGNvbnRyb2wgbGF5ZXJzIGFyZSBub3JtYWwgY2hpbGRyZW4uCi0gICAgICAg
IGlmICghbGF5ZXJCYWNraW5nLT5oYXNDbGlwcGluZ0xheWVyKCkpIHsKKyAgICAgICAgaWYgKCFs
YXllckJhY2tpbmctPmhhc0NsaXBwaW5nTGF5ZXIoKSAmJiAhbGF5ZXJCYWNraW5nLT5oYXNTY3Jv
bGxpbmdMYXllcigpKSB7CiAgICAgICAgICAgICBpZiAoR3JhcGhpY3NMYXllciogb3ZlcmZsb3dD
b250cm9sTGF5ZXIgPSBsYXllckJhY2tpbmctPmxheWVyRm9ySG9yaXpvbnRhbFNjcm9sbGJhcigp
KSB7CiAgICAgICAgICAgICAgICAgb3ZlcmZsb3dDb250cm9sTGF5ZXItPnJlbW92ZUZyb21QYXJl
bnQoKTsKICAgICAgICAgICAgICAgICBsYXllckJhY2tpbmctPnBhcmVudEZvclN1YmxheWVycygp
LT5hZGRDaGlsZChvdmVyZmxvd0NvbnRyb2xMYXllcik7CkBAIC0xMDkyLDYgKzEwOTIsMTMgQEAg
dm9pZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OmZyYW1lVmlld0RpZFNjcm9sbCgpCiAgICAgbV9z
Y3JvbGxMYXllci0+c2V0UG9zaXRpb24oRmxvYXRQb2ludCgtc2Nyb2xsUG9zaXRpb24ueCgpLCAt
c2Nyb2xsUG9zaXRpb24ueSgpKSk7CiB9CiAKK3ZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpz
Y3JvbGxpbmdMYXllckRpZENoYW5nZShSZW5kZXJMYXllciogbGF5ZXIpCit7CisgICAgUmVuZGVy
TGF5ZXJCYWNraW5nKiBiYWNraW5nID0gbGF5ZXItPmJhY2tpbmcoKTsKKyAgICBpZiAoU2Nyb2xs
aW5nQ29vcmRpbmF0b3IqIHNjcm9sbGluZ0Nvb3JkaW5hdG9yID0gdGhpcy0+c2Nyb2xsaW5nQ29v
cmRpbmF0b3IoKSkKKyAgICAgICAgc2Nyb2xsaW5nQ29vcmRpbmF0b3ItPnNjcm9sbGFibGVBcmVh
U2Nyb2xsTGF5ZXJEaWRDaGFuZ2UobGF5ZXIsIGJhY2tpbmcgPyBiYWNraW5nLT5zY3JvbGxpbmdD
b250ZW50c0xheWVyKCkgOiAwKTsKK30KKwogU3RyaW5nIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6
bGF5ZXJUcmVlQXNUZXh0KGJvb2wgc2hvd0RlYnVnSW5mbykKIHsKICAgICB1cGRhdGVDb21wb3Np
dGluZ0xheWVycyhDb21wb3NpdGluZ1VwZGF0ZUFmdGVyTGF5b3V0KTsKQEAgLTE0NDQsNyArMTQ1
MSw4IEBAIGJvb2wgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpyZXF1aXJlc0NvbXBvc2l0aW5nTGF5
ZXIoY29uc3QgUmVuZGVyTGF5ZXIqIGxheWVyKSBjCiAgICAgICAgIHx8IGNsaXBzQ29tcG9zaXRp
bmdEZXNjZW5kYW50cyhsYXllcikKICAgICAgICAgfHwgcmVxdWlyZXNDb21wb3NpdGluZ0ZvckFu
aW1hdGlvbihyZW5kZXJlcikKICAgICAgICAgfHwgcmVxdWlyZXNDb21wb3NpdGluZ0ZvckZpbHRl
cnMocmVuZGVyZXIpCi0gICAgICAgIHx8IHJlcXVpcmVzQ29tcG9zaXRpbmdGb3JQb3NpdGlvbihy
ZW5kZXJlciwgbGF5ZXIpOworICAgICAgICB8fCByZXF1aXJlc0NvbXBvc2l0aW5nRm9yUG9zaXRp
b24ocmVuZGVyZXIsIGxheWVyKQorICAgICAgICB8fCByZXF1aXJlc0NvbXBvc2l0aW5nRm9yU2Ny
b2xsaW5nKGxheWVyKTsKIH0KIAogYm9vbCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OmNhbkJlQ29t
cG9zaXRlZChjb25zdCBSZW5kZXJMYXllciogbGF5ZXIpIGNvbnN0CkBAIC0xNDczLDYgKzE0ODEs
NyBAQCBib29sIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6cmVxdWlyZXNPd25CYWNraW5nU3RvcmUo
Y29uc3QgUmVuZGVyTGF5ZXIqIGxheWVyLCBjbwogICAgICAgICB8fCByZXF1aXJlc0NvbXBvc2l0
aW5nRm9yQW5pbWF0aW9uKHJlbmRlcmVyKQogICAgICAgICB8fCByZXF1aXJlc0NvbXBvc2l0aW5n
Rm9yRmlsdGVycyhyZW5kZXJlcikKICAgICAgICAgfHwgcmVxdWlyZXNDb21wb3NpdGluZ0ZvclBv
c2l0aW9uKHJlbmRlcmVyLCBsYXllcikKKyAgICAgICAgfHwgcmVxdWlyZXNDb21wb3NpdGluZ0Zv
clNjcm9sbGluZyhsYXllcikKICAgICAgICAgfHwgcmVuZGVyZXItPmlzVHJhbnNwYXJlbnQoKQog
ICAgICAgICB8fCByZW5kZXJlci0+aGFzTWFzaygpCiAgICAgICAgIHx8IHJlbmRlcmVyLT5oYXNS
ZWZsZWN0aW9uKCkKQEAgLTE1MzAsNiArMTUzOSw5IEBAIGNvbnN0IGNoYXIqIFJlbmRlckxheWVy
Q29tcG9zaXRvcjo6cmVhc29uRm9yQ29tcG9zaXRpbmcoY29uc3QgUmVuZGVyTGF5ZXIqIGxheWVy
CiAgICAgaWYgKHJlcXVpcmVzQ29tcG9zaXRpbmdGb3JQb3NpdGlvbihyZW5kZXJlciwgbGF5ZXIp
KQogICAgICAgICByZXR1cm4gInBvc2l0aW9uOiBmaXhlZCI7CiAKKyAgICBpZiAocmVxdWlyZXND
b21wb3NpdGluZ0ZvclNjcm9sbGluZyhsYXllcikpCisgICAgICAgIHJldHVybiAiLXdlYmtpdC1v
dmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoIjsKKwogICAgIGlmIChsYXllci0+aW5kaXJlY3RDb21w
b3NpdGluZ1JlYXNvbigpID09IFJlbmRlckxheWVyOjpJbmRpcmVjdENvbXBvc2l0aW5nRm9yU3Rh
Y2tpbmcpCiAgICAgICAgIHJldHVybiAic3RhY2tpbmciOwogCkBAIC0xODM1LDYgKzE4NDcsMTEg
QEAgYm9vbCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnJlcXVpcmVzQ29tcG9zaXRpbmdGb3JQb3Np
dGlvbihSZW5kZXJPYmplY3QqIHJlbmRlcmUKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorYm9vbCBS
ZW5kZXJMYXllckNvbXBvc2l0b3I6OnJlcXVpcmVzQ29tcG9zaXRpbmdGb3JTY3JvbGxpbmcoY29u
c3QgUmVuZGVyTGF5ZXIqIGxheWVyKSBjb25zdAoreworICAgIHJldHVybiBsYXllci0+dXNlc0Nv
bXBvc2l0ZWRTY3JvbGxpbmcoKTsKK30KKwogYm9vbCBSZW5kZXJMYXllckNvbXBvc2l0b3I6Omlz
UnVubmluZ0FjY2VsZXJhdGVkVHJhbnNmb3JtQW5pbWF0aW9uKFJlbmRlck9iamVjdCogcmVuZGVy
ZXIpIGNvbnN0CiB7CiAgICAgaWYgKCEobV9jb21wb3NpdGluZ1RyaWdnZXJzICYgQ2hyb21lQ2xp
ZW50OjpBbmltYXRpb25UcmlnZ2VyKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMYXllckNvbXBvc2l0b3IuaAppbmRleCA1Yjg3ZTUzYzRhODU3OGExYzVhZDZjN2JjMmNl
MGMxN2I0ZGI0NWM4Li41YjU2NDgxMmE0MDM5ZWE4NWQ2MWExMDFiOWQxNzEzMjlhZGViNzFlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9y
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5o
CkBAIC0xOTIsNiArMTkyLDggQEAgcHVibGljOgogICAgIHZvaWQgZnJhbWVWaWV3RGlkQ2hhbmdl
U2l6ZSgpOwogICAgIHZvaWQgZnJhbWVWaWV3RGlkU2Nyb2xsKCk7CiAKKyAgICB2b2lkIHNjcm9s
bGluZ0xheWVyRGlkQ2hhbmdlKFJlbmRlckxheWVyKik7CisKICAgICBTdHJpbmcgbGF5ZXJUcmVl
QXNUZXh0KGJvb2wgc2hvd0RlYnVnSW5mbyA9IGZhbHNlKTsKIAogICAgIC8vIFRoZXNlIGFyZSBu
YW1lZCB0byBhdm9pZCBjb25mbGljdHMgd2l0aCB0aGUgZnVuY3Rpb25zIGluIEdyYXBoaWNzTGF5
ZXJDbGllbnQKQEAgLTI5Miw2ICsyOTQsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgcmVxdWlyZXND
b21wb3NpdGluZ0ZvckZpbHRlcnMoUmVuZGVyT2JqZWN0KikgY29uc3Q7CiAgICAgYm9vbCByZXF1
aXJlc0NvbXBvc2l0aW5nRm9yU2Nyb2xsYWJsZUZyYW1lKCkgY29uc3Q7CiAgICAgYm9vbCByZXF1
aXJlc0NvbXBvc2l0aW5nRm9yUG9zaXRpb24oUmVuZGVyT2JqZWN0KiwgY29uc3QgUmVuZGVyTGF5
ZXIqKSBjb25zdDsKKyAgICBib29sIHJlcXVpcmVzQ29tcG9zaXRpbmdGb3JTY3JvbGxpbmcoY29u
c3QgUmVuZGVyTGF5ZXIqKSBjb25zdDsKICAgICBib29sIHJlcXVpcmVzQ29tcG9zaXRpbmdGb3JJ
bmRpcmVjdFJlYXNvbihSZW5kZXJPYmplY3QqLCBib29sIGhhc0NvbXBvc2l0ZWREZXNjZW5kYW50
cywgYm9vbCBoYXMzRFRyYW5zZm9ybWVkRGVzY2VuZGFudHMsIFJlbmRlckxheWVyOjpJbmRpcmVj
dENvbXBvc2l0aW5nUmVhc29uJikgY29uc3Q7CiAKICAgICBib29sIHJlcXVpcmVzU2Nyb2xsTGF5
ZXIoUm9vdExheWVyQXR0YWNobWVudCkgY29uc3Q7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>157739</attachid>
            <date>2012-08-10 08:38:06 -0700</date>
            <delta_ts>2012-08-10 08:41:06 -0700</delta_ts>
            <desc>Diff with 91117</desc>
            <filename>bug-78862-20120810113738.patch</filename>
            <type>text/plain</type>
            <size>37090</size>
            <attacher>vollick</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI1MTQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0v
Q2hhbmdlTG9nIGIvU291cmNlL1BsYXRmb3JtL0NoYW5nZUxvZwppbmRleCBjNzBkNTFiY2JlNGE0
Y2IzM2RiZGE1MTYxYTI3MDQzYmRhMzBhZGFhLi40NmVhMTgxODhjNTFlZjU5Nzg0NWI5ZGFjZjM4
OTg4ZGNmZTdjOTQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMi0wOC0xMCAg
SWFuIFZvbGxpY2sgIDx2b2xsaWNrQGNocm9taXVtLm9yZz4KKworICAgICAgICBUb3VjaCBvdmVy
ZmxvdyBzY3JvbGxpbmcgZWxlbWVudHMgc2hvdWxkIGJlIHNwbGl0IGludG8gbGF5ZXJzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03ODg2MgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGl0aW9uYWwgaW5m
b3JtYXRpb24gb2YgdGhlIGNoYW5nZSBzdWNoIGFzIGFwcHJvYWNoLCByYXRpb25hbGUuIFBsZWFz
ZSBhZGQgcGVyLWZ1bmN0aW9uIGRlc2NyaXB0aW9ucyBiZWxvdyAoT09QUyEpLgorCisgICAgICAg
ICogUGxhdGZvcm0uZ3lwaToKKyAgICAgICAgKiBjaHJvbWl1bS9wdWJsaWMvV2ViTGF5ZXIuaDoK
KyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJMYXllcik6CisKIDIwMTItMDgtMDggIEFk
cmllbm5lIFdhbGtlciAgPGVubmVAZ29vZ2xlLmNvbT4KIAogICAgICAgICBbY2hyb21pdW1dIE1v
dmUgc2Nyb2xsYmFyIHBvaW50ZXIgaW50byBXZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXIKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZwppbmRleCA4N2RlMGY4YjAzNjI5MmQwNDNjZmUwN2UwOTNmZDFhYjhjODk3MDIxLi4xNjA4MzNl
OTA2ODIzZjRkYTYzYjQ5OTliMmM5MWE0ZDVmNTNhZDZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
NzYgQEAKKzIwMTItMDgtMTAgIElhbiBWb2xsaWNrICA8dm9sbGlja0BjaHJvbWl1bS5vcmc+CisK
KyAgICAgICAgVG91Y2ggb3ZlcmZsb3cgc2Nyb2xsaW5nIGVsZW1lbnRzIHNob3VsZCBiZSBzcGxp
dCBpbnRvIGxheWVycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9Nzg4NjIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBBZGRpdGlvbmFsIGluZm9ybWF0aW9uIG9mIHRoZSBjaGFuZ2Ugc3VjaCBhcyBhcHByb2Fj
aCwgcmF0aW9uYWxlLiBQbGVhc2UgYWRkIHBlci1mdW5jdGlvbiBkZXNjcmlwdGlvbnMgYmVsb3cg
KE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMgKE9PUFMhKS4KKworICAgICAgICAqIGlu
c3BlY3Rvci9mcm9udC1lbmQvQ1NTS2V5d29yZENvbXBsZXRpb25zLmpzOgorICAgICAgICAqIHBh
Z2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OmNvbXB1dGVOb25GYXN0U2Nyb2xsYWJsZVJlZ2lvbik6CisgICAgICAgIChXZWJDb3JlKToKKyAg
ICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpzY3JvbGxhYmxlQXJlYVNjcm9s
bExheWVyRGlkQ2hhbmdlKToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29y
ZGluYXRvci5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChTY3JvbGxpbmdDb29yZGlu
YXRvcik6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3JOb25l
LmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nQ29v
cmRpbmF0b3I6OnNjcm9sbGFibGVBcmVhU2Nyb2xsTGF5ZXJEaWRDaGFuZ2UpOgorICAgICAgICAq
IHBhZ2Uvc2Nyb2xsaW5nL2Nocm9taXVtL1Njcm9sbGluZ0Nvb3JkaW5hdG9yQ2hyb21pdW0uY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nQ29vcmRpbmF0b3I6OnNjcm9sbGFibGVBcmVh
U2Nyb2xsTGF5ZXJEaWRDaGFuZ2UpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogcGxh
dGZvcm0vU2Nyb2xsYWJsZUFyZWEuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGFibGVBcmVh
Ojp1c2VzQ29tcG9zaXRlZFNjcm9sbGluZyk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
R3JhcGhpY3NMYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVyOjpzZXRP
ZmZzZXRGcm9tUmVuZGVyZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNz
TGF5ZXIuaDoKKyAgICAgICAgKEdyYXBoaWNzTGF5ZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL0dyYXBoaWNzTGF5ZXJDaHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpHcmFwaGljc0xheWVyQ2hyb21pdW06OkdyYXBoaWNzTGF5ZXJDaHJvbWl1bSk6CisgICAg
ICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVyQ2hyb21pdW06OnNldEJvdW5kc09yaWdpbik6Cisg
ICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJDaHJvbWl1
bTo6dXBkYXRlQ2hpbGRyZW5UcmFuc2Zvcm0pOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NM
YXllckNocm9taXVtOjpkaWRTY3JvbGwpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL0dyYXBoaWNzTGF5ZXJDaHJvbWl1bS5oOgorICAgICAgICAoV2ViS2l0KToKKyAgICAg
ICAgKFdlYkNvcmUpOgorICAgICAgICAoR3JhcGhpY3NMYXllckNocm9taXVtKToKKyAgICAgICAg
KFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJDaHJvbWl1bTo6c2V0U2Nyb2xsYWJsZUFyZWEpOgorICAg
ICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllckNocm9taXVtOjpzY3JvbGxhYmxlQXJlYSk6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJDaHJvbWl1bS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpMYXllckNocm9taXVtOjpMYXllckNocm9taXVtKToKKyAgICAgICAg
KFdlYkNvcmU6OkxheWVyQ2hyb21pdW06OnNjcm9sbEJ5KToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9MYXllckNocm9taXVtLmg6CisgICAgICAgIChXZWJLaXQpOgorICAg
ICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpMYXllckNocm9taXVtOjpzZXRTY3Jv
bGxEZWxlZ2F0ZSk6CisgICAgICAgIChMYXllckNocm9taXVtKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVySW1wbC5oOgorICAgICAgICAoQ0NMYXllcklt
cGwpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJMYXllcjo6cGFpbnRMYXllckNvbnRlbnRzKToKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyTGF5ZXIuaDoKKyAgICAgICAgKFJlbmRlckxheWVyKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVHcmFwaGljc0xheWVyR2VvbWV0
cnkpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVJbnRlcm5h
bEhpZXJhcmNoeSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OmJhY2tp
bmdTdG9yZU1lbW9yeUVzdGltYXRlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJD
b21wb3NpdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6
cmVidWlsZENvbXBvc2l0aW5nTGF5ZXJUcmVlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxh
eWVyQ29tcG9zaXRvcjo6c2Nyb2xsaW5nTGF5ZXJEaWRDaGFuZ2UpOgorICAgICAgICAoV2ViQ29y
ZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OnJlcXVpcmVzQ29t
cG9zaXRpbmdMYXllcik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6
OnJlcXVpcmVzT3duQmFja2luZ1N0b3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVy
Q29tcG9zaXRvcjo6cmVhc29uRm9yQ29tcG9zaXRpbmcpOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyTGF5ZXJDb21wb3NpdG9yOjpyZXF1aXJlc0NvbXBvc2l0aW5nRm9yU2Nyb2xsaW5nKToKKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmg6CisgICAgICAgIChSZW5k
ZXJMYXllckNvbXBvc2l0b3IpOgorCiAyMDEyLTA4LTA4ICBIdWFuZyBEb25nc3VuZyAgPGx1eHRl
bGxhQGNvbXBhbnkxMDAubmV0PgogCiAgICAgICAgIEV4dHJhY3QgdGhlIGRlZmluaXRpb24gb2Yg
TmF0aXZlSW1hZ2VQdHIgZnJvbSBJbWFnZVNvdXJjZS5oIGludG8gTmF0aXZlSW1hZ2VQdHIuaC4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggZTAwNzM5ZWViNDY5YWFjOGI3YzE0ZTZiNjQx
YjBjMTU0MWZhZjE3OS4uYjJiZDc4ZjZmMzQzZmE5ZmNkNDEzMzlhY2FiNWE3YjRkZTdhNTFiYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxMi0wOC0xMCAg
SWFuIFZvbGxpY2sgIDx2b2xsaWNrQGNocm9taXVtLm9yZz4KKworICAgICAgICBUb3VjaCBvdmVy
ZmxvdyBzY3JvbGxpbmcgZWxlbWVudHMgc2hvdWxkIGJlIHNwbGl0IGludG8gbGF5ZXJzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03ODg2MgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGl0aW9uYWwgaW5m
b3JtYXRpb24gb2YgdGhlIGNoYW5nZSBzdWNoIGFzIGFwcHJvYWNoLCByYXRpb25hbGUuIFBsZWFz
ZSBhZGQgcGVyLWZ1bmN0aW9uIGRlc2NyaXB0aW9ucyBiZWxvdyAoT09QUyEpLgorCisgICAgICAg
ICogZmVhdHVyZXMuZ3lwaToKKyAgICAgICAgKiBzcmMvV2ViTGF5ZXIuY3BwOgorICAgICAgICAo
V2ViS2l0OjpXZWJMYXllcjo6c2V0U2Nyb2xsYWJsZSk6CisgICAgICAgIChXZWJLaXQpOgorICAg
ICAgICAoV2ViS2l0OjpXZWJMYXllcjo6c2V0U2Nyb2xsUG9zaXRpb24pOgorICAgICAgICAoV2Vi
S2l0OjpXZWJMYXllcjo6c2V0TWF4U2Nyb2xsUG9zaXRpb24pOgorICAgICAgICAoV2ViS2l0OjpX
ZWJMYXllcjo6c2V0U2Nyb2xsRGVsZWdhdGUpOgorICAgICAgICAqIHRlc3RzL0NDTGF5ZXJUcmVl
SG9zdFRlc3QuY3BwOgorCiAyMDEyLTA4LTA4ICBTaGFuZSBTdGVwaGVucyAgPHNoYW5lc3RlcGhl
bnNAZ29vZ2xlLmNvbT4KIAogICAgICAgICBDb21waWxlIGZsYWcgZm9yIENTUyBIaWVyYXJjaGll
cwpkaWZmIC0tZ2l0IGEvU291cmNlL1BsYXRmb3JtL1BsYXRmb3JtLmd5cGkgYi9Tb3VyY2UvUGxh
dGZvcm0vUGxhdGZvcm0uZ3lwaQppbmRleCA0MzdjMjRmZjQxNjMwNjJiZmFkYTA3NWM3ODI5NmM0
MjhlYjFhNjc4Li45ZTkyZGM5NmVhZGQ2ZWZjMTJlM2VmY2I3YmFiNmRjYTgwY2Y5MWJiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm0vUGxhdGZvcm0uZ3lwaQorKysgYi9Tb3VyY2UvUGxhdGZv
cm0vUGxhdGZvcm0uZ3lwaQpAQCAtMTA4LDYgKzEwOCw3IEBACiAgICAgICAgICAgICAnY2hyb21p
dW0vcHVibGljL1dlYlNjcm9sbGJhckxheWVyLmgnLAogICAgICAgICAgICAgJ2Nocm9taXVtL3B1
YmxpYy9XZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5LmgnLAogICAgICAgICAgICAgJ2Nocm9taXVt
L3B1YmxpYy9XZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXIuaCcsCisgICAgICAgICAgICAnY2hyb21p
dW0vcHVibGljL1dlYlNjcm9sbERlbGVnYXRlLmgnLAogICAgICAgICAgICAgJ2Nocm9taXVtL3B1
YmxpYy9XZWJTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yLmgnLAogICAgICAgICAgICAgJ2No
cm9taXVtL3B1YmxpYy9XZWJTaGFyZWRHcmFwaGljc0NvbnRleHQzRC5oJywKICAgICAgICAgICAg
ICdjaHJvbWl1bS9wdWJsaWMvV2ViU2l6ZS5oJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9QbGF0Zm9y
bS9jaHJvbWl1bS9wdWJsaWMvV2ViTGF5ZXIuaCBiL1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9w
dWJsaWMvV2ViTGF5ZXIuaAppbmRleCBlYzYwMjQxMWI3Nzg4MGU1OTBiNzY3Y2Y2MTQ4YmZiNTA2
Nzk2Yjc1Li42YWI4MmUzYmZjNWNjZGYxMTU4OTFhN2EyMGM0MzgxYTEyYzY0ODhhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dlYkxheWVyLmgKKysrIGIvU291
cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJMYXllci5oCkBAIC0zOSw5ICszOSwxMSBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7IGNsYXNzIExheWVyQ2hyb21pdW07IH0KIG5hbWVzcGFjZSBX
ZWJLaXQgewogY2xhc3MgV2ViQW5pbWF0aW9uRGVsZWdhdGU7CiBjbGFzcyBXZWJGaWx0ZXJPcGVy
YXRpb25zOworY2xhc3MgV2ViU2Nyb2xsRGVsZWdhdGU7CiBjbGFzcyBXZWJUcmFuc2Zvcm1hdGlv
bk1hdHJpeDsKIHN0cnVjdCBXZWJGbG9hdFBvaW50Owogc3RydWN0IFdlYkZsb2F0UmVjdDsKK3N0
cnVjdCBXZWJQb2ludDsKIHN0cnVjdCBXZWJTaXplOwogCiBjbGFzcyBXZWJMYXllciB7CkBAIC0x
ODQsNiArMTg2LDExIEBAIHB1YmxpYzoKICAgICAvLyBjYXNlcyAtIGlmIHlvdSBhcmVuJ3Qgc3Vy
ZSwgeW91IGRvbid0IG5lZWQgdG8gY2FsbCB0aGlzLgogICAgIFdFQktJVF9FWFBPUlQgdm9pZCBj
bGVhclJlbmRlclN1cmZhY2UoKTsKIAorICAgIFdFQktJVF9FWFBPUlQgdm9pZCBzZXRTY3JvbGxh
YmxlKGJvb2wpOworICAgIFdFQktJVF9FWFBPUlQgdm9pZCBzZXRTY3JvbGxQb3NpdGlvbihjb25z
dCBXZWJQb2ludCYpOworICAgIFdFQktJVF9FWFBPUlQgdm9pZCBzZXRNYXhTY3JvbGxQb3NpdGlv
bihjb25zdCBXZWJTaXplJik7CisgICAgV0VCS0lUX0VYUE9SVCB2b2lkIHNldFNjcm9sbERlbGVn
YXRlKFdlYlNjcm9sbERlbGVnYXRlKik7CisKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBUIHRv
KCkKICAgICB7CiAgICAgICAgIFQgcmVzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3BwCmluZGV4IDQwZmVlZDc3Y2NhZTE2
ZjI0ZWY5MzY5ZDExYWM2Y2VhNDM3ZGNhMTYuLjZhZWFlZDZmYmQxM2VjYzUxYjA3YTkzOGU4ZWMy
NjA3NDc2ZmYzZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Nj
cm9sbGluZ0Nvb3JkaW5hdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGlu
Zy9TY3JvbGxpbmdDb29yZGluYXRvci5jcHAKQEAgLTExOCw2ICsxMTgsOSBAQCBzdGF0aWMgUmVn
aW9uIGNvbXB1dGVOb25GYXN0U2Nyb2xsYWJsZVJlZ2lvbihGcmFtZSogZnJhbWUsIGNvbnN0IElu
dFBvaW50JiBmcmFtZQogICAgIGlmIChjb25zdCBGcmFtZVZpZXc6OlNjcm9sbGFibGVBcmVhU2V0
KiBzY3JvbGxhYmxlQXJlYXMgPSBmcmFtZVZpZXctPnNjcm9sbGFibGVBcmVhcygpKSB7CiAgICAg
ICAgIGZvciAoRnJhbWVWaWV3OjpTY3JvbGxhYmxlQXJlYVNldDo6Y29uc3RfaXRlcmF0b3IgaXQg
PSBzY3JvbGxhYmxlQXJlYXMtPmJlZ2luKCksIGVuZCA9IHNjcm9sbGFibGVBcmVhcy0+ZW5kKCk7
IGl0ICE9IGVuZDsgKytpdCkgewogICAgICAgICAgICAgU2Nyb2xsYWJsZUFyZWEqIHNjcm9sbGFi
bGVBcmVhID0gKml0OworICAgICAgICAgICAgLy8gQWNjZWxlcmF0ZWQgc2Nyb2xsYWJsZSBhcmVh
cyBjYW4gYmUgc2Nyb2xsZWQgb2ZmIHRoZSBtYWluIHRocmVhZC4KKyAgICAgICAgICAgIGlmIChz
Y3JvbGxhYmxlQXJlYS0+dXNlc0NvbXBvc2l0ZWRTY3JvbGxpbmcoKSkKKyAgICAgICAgICAgICAg
ICBjb250aW51ZTsKICAgICAgICAgICAgIEludFJlY3QgYm94ID0gc2Nyb2xsYWJsZUFyZWEtPnNj
cm9sbGFibGVBcmVhQm91bmRpbmdCb3goKTsKICAgICAgICAgICAgIGJveC5tb3ZlQnkob2Zmc2V0
KTsKICAgICAgICAgICAgIG5vbkZhc3RTY3JvbGxhYmxlUmVnaW9uLnVuaXRlKGJveCk7CkBAIC00
ODgsNiArNDkxLDExIEBAIHZvaWQgU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OnNldExheWVySXNGaXhl
ZFRvQ29udGFpbmVyTGF5ZXIoR3JhcGhpY3NMYXllciosIGJvb2wpCiB7CiAgICAgLy8gRklYTUU6
IEltcGxlbWVudCEKIH0KKwordm9pZCBTY3JvbGxpbmdDb29yZGluYXRvcjo6c2Nyb2xsYWJsZUFy
ZWFTY3JvbGxMYXllckRpZENoYW5nZShTY3JvbGxhYmxlQXJlYSosIEdyYXBoaWNzTGF5ZXIqKQor
eworICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQuCit9CiAjZW5kaWYgLy8gIUVOQUJMRShUSFJFQURF
RF9TQ1JPTExJTkcpCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5oCmluZGV4IDVkNDVl
YjYyMDJmZmNkZWQyY2YzNjllMWVmNWM3ZmM4MjE3Nzc3MzEuLjJhYjM0YjJkMmQzZTZmNzUwYTA0
ZDg1ZTZmMmRmMTc0MTkwM2RkOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9z
Y3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaApAQCAtNDgsNiArNDgsNyBAQCBjbGFzcyBG
cmFtZVZpZXc7CiBjbGFzcyBHcmFwaGljc0xheWVyOwogY2xhc3MgUGFnZTsKIGNsYXNzIFJlZ2lv
bjsKK2NsYXNzIFNjcm9sbGFibGVBcmVhOwogY2xhc3MgU2Nyb2xsaW5nQ29vcmRpbmF0b3JQcml2
YXRlOwogY2xhc3MgU2Nyb2xsaW5nVHJlZVN0YXRlOwogCkBAIC05Miw2ICs5Myw5IEBAIHB1Ymxp
YzoKICAgICAvLyBTaG91bGQgYmUgY2FsbGVkIHdoZW5ldmVyIHRoZSB2ZXJ0aWNhbCBzY3JvbGxi
YXIgbGF5ZXIgZm9yIHRoZSBnaXZlbiBmcmFtZSB2aWV3IGNoYW5nZXMuCiAgICAgdm9pZCBmcmFt
ZVZpZXdWZXJ0aWNhbFNjcm9sbGJhckxheWVyRGlkQ2hhbmdlKEZyYW1lVmlldyosIEdyYXBoaWNz
TGF5ZXIqIHZlcnRpY2FsU2Nyb2xsYmFyTGF5ZXIpOwogCisgICAgLy8gU2hvdWxkIGJlIGNhbGxl
ZCB3aGVuZXZlciB0aGUgc2Nyb2xsYWJsZSBsYXllciBmb3IgdGhlIGdpdmVuIHNjcm9sbCBhcmVh
IGNoYW5nZXMuCisgICAgdm9pZCBzY3JvbGxhYmxlQXJlYVNjcm9sbExheWVyRGlkQ2hhbmdlKFNj
cm9sbGFibGVBcmVhKiwgR3JhcGhpY3NMYXllciopOworCiAgICAgLy8gUmVxdWVzdHMgdGhhdCB0
aGUgc2Nyb2xsaW5nIGNvb3JkaW5hdG9yIHVwZGF0ZXMgdGhlIHNjcm9sbCBwb3NpdGlvbiBvZiB0
aGUgZ2l2ZW4gZnJhbWUgdmlldy4gSWYgdGhpcyBmdW5jdGlvbiByZXR1cm5zIHRydWUsIGl0IG1l
YW5zIHRoYXQgdGhlCiAgICAgLy8gcG9zaXRpb24gd2lsbCBiZSB1cGRhdGVkIGFzeW5jaHJvbm91
c2x5LiBJZiBpdCByZXR1cm5zIGZhbHNlLCB0aGUgY2FsbGVyIHNob3VsZCB1cGRhdGUgdGhlIHNj
cm9sbGluZyBwb3NpdGlvbiBpdHNlbGYuCiAgICAgYm9vbCByZXF1ZXN0U2Nyb2xsUG9zaXRpb25V
cGRhdGUoRnJhbWVWaWV3KiwgY29uc3QgSW50UG9pbnQmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTm9uZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvck5vbmUuY3BwCmlu
ZGV4IGYwYWNmZTBjYzNiMTcxZDMzMTA0NzA0NjUwMDJlMGQyYTU3ZmQwOWMuLmIwOTU1MmQ4Njgz
Y2M3ZjlkYTBhMzhlOGQyYjIzZjdlMzU1NDEwNDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTm9uZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3JOb25lLmNwcApAQCAt
ODMsNiArODMsMTAgQEAgdm9pZCBTY3JvbGxpbmdDb29yZGluYXRvcjo6c2V0TGF5ZXJJc0NvbnRh
aW5lckZvckZpeGVkUG9zaXRpb25MYXllcnMoR3JhcGhpY3NMYXkKIHZvaWQgU2Nyb2xsaW5nQ29v
cmRpbmF0b3I6OnNldExheWVySXNGaXhlZFRvQ29udGFpbmVyTGF5ZXIoR3JhcGhpY3NMYXllcios
IGJvb2wpCiB7CiB9CisKK3ZvaWQgU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OnNjcm9sbGFibGVBcmVh
U2Nyb2xsTGF5ZXJEaWRDaGFuZ2UoU2Nyb2xsYWJsZUFyZWEqLCBHcmFwaGljc0xheWVyKikKK3sK
K30KICNlbmRpZiAvLyAhRU5BQkxFKFRIUkVBREVEX1NDUk9MTElORykKIAogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvY2hyb21pdW0vU2Nyb2xsaW5nQ29vcmRp
bmF0b3JDaHJvbWl1bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9jaHJvbWl1
bS9TY3JvbGxpbmdDb29yZGluYXRvckNocm9taXVtLmNwcAppbmRleCAxZGI3NTk0MDQ3Yzg4Y2Fi
MGRkYWZlMDAzN2EzYmU2Y2FjMzg2ODg2Li45Y2M0ZGJlYTE0Nzc3NmE0NzdiZDBhZmJkYzNkMGI1
MTkzMjgzN2JkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9jaHJv
bWl1bS9TY3JvbGxpbmdDb29yZGluYXRvckNocm9taXVtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL3Njcm9sbGluZy9jaHJvbWl1bS9TY3JvbGxpbmdDb29yZGluYXRvckNocm9taXVtLmNw
cApAQCAtMjksNiArMjksNyBAQAogCiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJGcmFt
ZVZpZXcuaCIKKyNpbmNsdWRlICJHcmFwaGljc0xheWVyQ2hyb21pdW0uaCIKICNpbmNsdWRlICJS
ZWdpb24uaCIKICNpbmNsdWRlICJSZW5kZXJMYXllckNvbXBvc2l0b3IuaCIKICNpbmNsdWRlICJS
ZW5kZXJWaWV3LmgiCkBAIC0yMjUsNCArMjI2LDE3IEBAIHZvaWQgU2Nyb2xsaW5nQ29vcmRpbmF0
b3I6OnNldExheWVySXNGaXhlZFRvQ29udGFpbmVyTGF5ZXIoR3JhcGhpY3NMYXllciogbGF5ZXIs
CiAgICAgICAgIHBsYXRmb3JtTGF5ZXItPnRvPFdlYlNjcm9sbGFibGVMYXllcj4oKS5zZXRGaXhl
ZFRvQ29udGFpbmVyTGF5ZXIoZW5hYmxlKTsKIH0KIAordm9pZCBTY3JvbGxpbmdDb29yZGluYXRv
cjo6c2Nyb2xsYWJsZUFyZWFTY3JvbGxMYXllckRpZENoYW5nZShTY3JvbGxhYmxlQXJlYSogc2Ny
b2xsYWJsZUFyZWEsIEdyYXBoaWNzTGF5ZXIqIHNjcm9sbExheWVyKQoreworICAgIEdyYXBoaWNz
TGF5ZXJDaHJvbWl1bSogbGF5ZXIgPSBzdGF0aWNfY2FzdDxHcmFwaGljc0xheWVyQ2hyb21pdW0q
PihzY3JvbGxMYXllcik7CisgICAgV2ViTGF5ZXIqIHBsYXRmb3JtTGF5ZXIgPSBzY3JvbGxMYXll
ciA/IHNjcm9sbExheWVyLT5wbGF0Zm9ybUxheWVyKCkgOiAwOworICAgIGlmIChsYXllcikKKyAg
ICAgICAgbGF5ZXItPnNldFNjcm9sbGFibGVBcmVhKHNjcm9sbGFibGVBcmVhKTsKKyAgICBpZiAo
IXBsYXRmb3JtTGF5ZXIpCisgICAgICAgIHJldHVybjsKKyAgICBwbGF0Zm9ybUxheWVyLT5zZXRT
Y3JvbGxhYmxlKHRydWUpOworICAgIHBsYXRmb3JtTGF5ZXItPnNldFNjcm9sbFBvc2l0aW9uKHNj
cm9sbGFibGVBcmVhLT5zY3JvbGxQb3NpdGlvbigpKTsKKyAgICBwbGF0Zm9ybUxheWVyLT5zZXRN
YXhTY3JvbGxQb3NpdGlvbihJbnRTaXplKHNjcm9sbGFibGVBcmVhLT5zY3JvbGxTaXplKEhvcml6
b250YWxTY3JvbGxiYXIpLCBzY3JvbGxhYmxlQXJlYS0+c2Nyb2xsU2l6ZShWZXJ0aWNhbFNjcm9s
bGJhcikpKTsKK30KKwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Ny
b2xsYWJsZUFyZWEuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmgK
aW5kZXggNWEyNzhhOWI1YjljN2MxODUxYTRjNTMzYzYwYjU0NTE1M2ZjZWQzYS4uNWVjMjNiN2Qw
OTdlODQyYTM2OTQwZTFlZWM5YTZmMTU3ZjQ2MWJmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9TY3JvbGxhYmxlQXJlYS5oCkBAIC0xNzAsNiArMTcwLDcgQEAgcHVibGljOgogI2lmIFVTRShB
Q0NFTEVSQVRFRF9DT01QT1NJVElORykKICAgICB2aXJ0dWFsIFRpbGVkQmFja2luZyogdGlsZWRC
YWNraW5nKCkgeyByZXR1cm4gMDsgfQogI2VuZGlmCisgICAgdmlydHVhbCBib29sIHVzZXNDb21w
b3NpdGVkU2Nyb2xsaW5nKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIAogcHJvdGVjdGVkOgog
ICAgIFNjcm9sbGFibGVBcmVhKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0dyYXBoaWNzTGF5ZXIuY3BwCmluZGV4IDRjMzU5ZDI0NTI1MmQ1NGEzZThmNGNiOWQz
NjQxMTA4MGZlNjFlMmEuLjM1MzRiY2Y5OGRlMzAwMzNkZGQxNzc0ODUxMmQwZDNkYWIwNTU1YzEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5
ZXIuY3BwCkBAIC0yODQsNyArMjg0LDcgQEAgdm9pZCBHcmFwaGljc0xheWVyOjpzZXRSZXBsaWNh
dGVkQnlMYXllcihHcmFwaGljc0xheWVyKiBsYXllcikKICAgICBtX3JlcGxpY2FMYXllciA9IGxh
eWVyOwogfQogCi12b2lkIEdyYXBoaWNzTGF5ZXI6OnNldE9mZnNldEZyb21SZW5kZXJlcihjb25z
dCBJbnRTaXplJiBvZmZzZXQpCit2b2lkIEdyYXBoaWNzTGF5ZXI6OnNldE9mZnNldEZyb21SZW5k
ZXJlcihjb25zdCBJbnRTaXplJiBvZmZzZXQsIFNldE5lZWRzRGlzcGxheU9yTm90IHNldE5lZWRz
RGlzcGxheUJlaGF2aW9yKQogewogICAgIGlmIChvZmZzZXQgPT0gbV9vZmZzZXRGcm9tUmVuZGVy
ZXIpCiAgICAgICAgIHJldHVybjsKQEAgLTI5Miw3ICsyOTIsOCBAQCB2b2lkIEdyYXBoaWNzTGF5
ZXI6OnNldE9mZnNldEZyb21SZW5kZXJlcihjb25zdCBJbnRTaXplJiBvZmZzZXQpCiAgICAgbV9v
ZmZzZXRGcm9tUmVuZGVyZXIgPSBvZmZzZXQ7CiAKICAgICAvLyBJZiB0aGUgY29tcG9zaXRpbmcg
bGF5ZXIgb2Zmc2V0IGNoYW5nZXMsIHdlIG5lZWQgdG8gcmVwYWludC4KLSAgICBzZXROZWVkc0Rp
c3BsYXkoKTsKKyAgICBpZiAoc2V0TmVlZHNEaXNwbGF5QmVoYXZpb3IgPT0gU2V0TmVlZHNEaXNw
bGF5KQorICAgICAgICBzZXROZWVkc0Rpc3BsYXkoKTsKIH0KIAogdm9pZCBHcmFwaGljc0xheWVy
OjpzZXRCYWNrZ3JvdW5kQ29sb3IoY29uc3QgQ29sb3ImIGNvbG9yKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5oCmluZGV4IDE1NTZjZTg0NTUz
YmM5N2U1YmE2Yzk3NTM5YmJhOWRmNGNmOTc5YzIuLmU4NmY4MTk0ZDkwODM4ZTcwMjg4OWEzNmI0
YTg0NmMyYWJmZjQxYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0dyYXBoaWNzTGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9HcmFwaGljc0xheWVyLmgKQEAgLTIzMyw5ICsyMzMsMTEgQEAgcHVibGljOgogICAgIGNvbnN0
IEZsb2F0UG9pbnQmIHJlcGxpY2F0ZWRMYXllclBvc2l0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9y
ZXBsaWNhdGVkTGF5ZXJQb3NpdGlvbjsgfQogICAgIHZvaWQgc2V0UmVwbGljYXRlZExheWVyUG9z
aXRpb24oY29uc3QgRmxvYXRQb2ludCYgcCkgeyBtX3JlcGxpY2F0ZWRMYXllclBvc2l0aW9uID0g
cDsgfQogCisgICAgZW51bSBTZXROZWVkc0Rpc3BsYXlPck5vdCB7IERvbnRTZXROZWVkc0Rpc3Bs
YXksIFNldE5lZWRzRGlzcGxheSB9OworCiAgICAgLy8gT2Zmc2V0IGlzIG9yaWdpbiBvZiB0aGUg
cmVuZGVyZXIgbWludXMgb3JpZ2luIG9mIHRoZSBncmFwaGljcyBsYXllciAoc28gZWl0aGVyIHpl
cm8gb3IgbmVnYXRpdmUpLgogICAgIEludFNpemUgb2Zmc2V0RnJvbVJlbmRlcmVyKCkgY29uc3Qg
eyByZXR1cm4gbV9vZmZzZXRGcm9tUmVuZGVyZXI7IH0KLSAgICB2b2lkIHNldE9mZnNldEZyb21S
ZW5kZXJlcihjb25zdCBJbnRTaXplJik7CisgICAgdm9pZCBzZXRPZmZzZXRGcm9tUmVuZGVyZXIo
Y29uc3QgSW50U2l6ZSYsIFNldE5lZWRzRGlzcGxheU9yTm90ID0gU2V0TmVlZHNEaXNwbGF5KTsK
IAogICAgIC8vIFRoZSBwb3NpdGlvbiBvZiB0aGUgbGF5ZXIgKHRoZSBsb2NhdGlvbiBvZiBpdHMg
dG9wLWxlZnQgY29ybmVyIGluIGl0cyBwYXJlbnQpCiAgICAgY29uc3QgRmxvYXRQb2ludCYgcG9z
aXRpb24oKSBjb25zdCB7IHJldHVybiBtX3Bvc2l0aW9uOyB9CkBAIC01MDEsNCArNTAzLDMgQEAg
dm9pZCBzaG93R3JhcGhpY3NMYXllclRyZWUoY29uc3QgV2ViQ29yZTo6R3JhcGhpY3NMYXllciog
bGF5ZXIpOwogI2VuZGlmIC8vIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKIAogI2VuZGlm
IC8vIEdyYXBoaWNzTGF5ZXJfaAotCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9HcmFwaGljc0xheWVyQ2hyb21pdW0uY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vR3JhcGhpY3NMYXllckNocm9taXVtLmNw
cAppbmRleCA5ZjgzMDRmNmZlNWM0MmVkMmE0ZTc5ZDVkM2E2YWY1NDdmN2M0ODJkLi4wMmRhMjFl
NTMwYjI4ZTJkMjY5OTU2MGNjMTY2MjVhZWM4OWRhY2E5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9HcmFwaGljc0xheWVyQ2hyb21pdW0uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dyYXBoaWNz
TGF5ZXJDaHJvbWl1bS5jcHAKQEAgLTU2LDYgKzU2LDcgQEAKICNpbmNsdWRlICJOYXRpdmVJbWFn
ZVNraWEuaCIKICNpbmNsdWRlICJQbGF0Zm9ybUNvbnRleHRTa2lhLmgiCiAjaW5jbHVkZSAiUGxh
dGZvcm1TdHJpbmcuaCIKKyNpbmNsdWRlICJTY3JvbGxhYmxlQXJlYS5oIgogI2luY2x1ZGUgIlNr
TWF0cml4NDQuaCIKICNpbmNsdWRlICJTeXN0ZW1UaW1lLmgiCiAKQEAgLTg3LDEwICs4OCwxMiBA
QCBHcmFwaGljc0xheWVyQ2hyb21pdW06OkdyYXBoaWNzTGF5ZXJDaHJvbWl1bShHcmFwaGljc0xh
eWVyQ2xpZW50KiBjbGllbnQpCiAgICAgLCBtX2NvbnRlbnRzTGF5ZXJIYXNCYWNrZ3JvdW5kQ29s
b3IoZmFsc2UpCiAgICAgLCBtX2luU2V0Q2hpbGRyZW4oZmFsc2UpCiAgICAgLCBtX3BhZ2VTY2Fs
ZUNoYW5nZWQoZmFsc2UpCisgICAgLCBtX3Njcm9sbGFibGVBcmVhKDApCiB7CiAgICAgbV9vcGFx
dWVSZWN0VHJhY2tpbmdDb250ZW50TGF5ZXJEZWxlZ2F0ZSA9IGFkb3B0UHRyKG5ldyBPcGFxdWVS
ZWN0VHJhY2tpbmdDb250ZW50TGF5ZXJEZWxlZ2F0ZSh0aGlzKSk7CiAgICAgbV9sYXllciA9IFdl
YkNvbnRlbnRMYXllcjo6Y3JlYXRlKG1fb3BhcXVlUmVjdFRyYWNraW5nQ29udGVudExheWVyRGVs
ZWdhdGUuZ2V0KCkpOwogICAgIG1fbGF5ZXIuc2V0RHJhd3NDb250ZW50KG1fZHJhd3NDb250ZW50
ICYmIG1fY29udGVudHNWaXNpYmxlKTsKKyAgICBtX2xheWVyLnNldFNjcm9sbERlbGVnYXRlKHRo
aXMpOwogICAgIGlmIChjbGllbnQpCiAgICAgICAgIGRldmljZU9yUGFnZVNjYWxlRmFjdG9yQ2hh
bmdlZCgpOwogICAgIHVwZGF0ZURlYnVnSW5kaWNhdG9ycygpOwpAQCAtMjM4LDYgKzI0MSwxMiBA
QCB2b2lkIEdyYXBoaWNzTGF5ZXJDaHJvbWl1bTo6c2V0U2l6ZShjb25zdCBGbG9hdFNpemUmIHNp
emUpCiAgICAgbV9wYWdlU2NhbGVDaGFuZ2VkID0gZmFsc2U7CiB9CiAKK3ZvaWQgR3JhcGhpY3NM
YXllckNocm9taXVtOjpzZXRCb3VuZHNPcmlnaW4oY29uc3QgRmxvYXRQb2ludCYgb3JpZ2luKQor
eworICAgIEdyYXBoaWNzTGF5ZXI6OnNldEJvdW5kc09yaWdpbihvcmlnaW4pOworICAgIHVwZGF0
ZUNoaWxkcmVuVHJhbnNmb3JtKCk7Cit9CisKIHZvaWQgR3JhcGhpY3NMYXllckNocm9taXVtOjpz
ZXRUcmFuc2Zvcm0oY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIHRyYW5zZm9ybSkKIHsKICAg
ICAvLyBDYWxsIHRoaXMgbWV0aG9kIGZpcnN0IHRvIGFzc2lnbiBjb250ZW50cyBzY2FsZSB0byBv
dXIgbGF5ZXIgc28gdGhlIHBhaW50ZXIgY2FuIGFwcGx5IHRoZSBzY2FsZSB0cmFuc2Zvcm0uCkBA
IC03MDAsNyArNzA5LDEwIEBAIHZvaWQgR3JhcGhpY3NMYXllckNocm9taXVtOjp1cGRhdGVUcmFu
c2Zvcm0oKQogCiB2b2lkIEdyYXBoaWNzTGF5ZXJDaHJvbWl1bTo6dXBkYXRlQ2hpbGRyZW5UcmFu
c2Zvcm0oKQogewotICAgIHByaW1hcnlMYXllcigpLnNldFN1YmxheWVyVHJhbnNmb3JtKFdlYlRy
YW5zZm9ybWF0aW9uTWF0cml4KG1fY2hpbGRyZW5UcmFuc2Zvcm0pKTsKKyAgICBXZWJUcmFuc2Zv
cm1hdGlvbk1hdHJpeCBzdWJsYXllclRyYW5zZm9ybTsKKyAgICBzdWJsYXllclRyYW5zZm9ybS50
cmFuc2xhdGUoLWJvdW5kc09yaWdpbigpLngoKSwgLWJvdW5kc09yaWdpbigpLnkoKSk7CisgICAg
c3VibGF5ZXJUcmFuc2Zvcm0ubXVsdGlwbHkoV2ViVHJhbnNmb3JtYXRpb25NYXRyaXgobV9jaGls
ZHJlblRyYW5zZm9ybSkpOworICAgIHByaW1hcnlMYXllcigpLnNldFN1YmxheWVyVHJhbnNmb3Jt
KHN1YmxheWVyVHJhbnNmb3JtKTsKIH0KIAogdm9pZCBHcmFwaGljc0xheWVyQ2hyb21pdW06OnVw
ZGF0ZU1hc2tzVG9Cb3VuZHMoKQpAQCAtODk5LDYgKzkxMSwxMiBAQCB2b2lkIEdyYXBoaWNzTGF5
ZXJDaHJvbWl1bTo6bm90aWZ5QW5pbWF0aW9uRmluaXNoZWQoZG91YmxlKQogICAgIC8vIERvIG5v
dGhpbmcuCiB9CiAKK3ZvaWQgR3JhcGhpY3NMYXllckNocm9taXVtOjpkaWRTY3JvbGwoY29uc3Qg
V2ViU2l6ZSYgc2Nyb2xsRGVsdGEpCit7CisgICAgaWYgKG1fc2Nyb2xsYWJsZUFyZWEpCisgICAg
ICAgIG1fc2Nyb2xsYWJsZUFyZWEtPnNjcm9sbFRvT2Zmc2V0V2l0aG91dEFuaW1hdGlvbihtX3Nj
cm9sbGFibGVBcmVhLT5zY3JvbGxQb3NpdGlvbigpICsgc2Nyb2xsRGVsdGEpOworfQorCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJ
TkcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9HcmFwaGljc0xheWVyQ2hyb21pdW0uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL0dyYXBoaWNzTGF5ZXJDaHJvbWl1bS5oCmluZGV4IDVhZTA5NDg3NzhlZjVi
OTc3YzM0OWYwMzY5NjkxMDVmZDc4NGQzZjguLjdmMWRhYjVlYmE3OTg2M2U1MGM2YzQ4NjU2OGIw
NDg1NGVkOTYwMDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL0dyYXBoaWNzTGF5ZXJDaHJvbWl1bS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dyYXBoaWNzTGF5ZXJDaHJvbWl1bS5oCkBAIC0zNSwy
MCArMzUsMjYgQEAKIAogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgogI2luY2x1ZGUgIkdy
YXBoaWNzTGF5ZXIuaCIKKyNpbmNsdWRlICJMYXllckNocm9taXVtLmgiCiAjaW5jbHVkZSAiT3Bh
cXVlUmVjdFRyYWNraW5nQ29udGVudExheWVyRGVsZWdhdGUuaCIKIAogI2luY2x1ZGUgPHB1Ymxp
Yy9XZWJBbmltYXRpb25EZWxlZ2F0ZS5oPgogI2luY2x1ZGUgPHB1YmxpYy9XZWJDb250ZW50TGF5
ZXIuaD4KICNpbmNsdWRlIDxwdWJsaWMvV2ViTGF5ZXIuaD4KKyNpbmNsdWRlIDxwdWJsaWMvV2Vi
U2Nyb2xsRGVsZWdhdGUuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogCituYW1lc3BhY2Ug
V2ViS2l0IHsKK3N0cnVjdCBXZWJTaXplOworfQorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNs
YXNzIExheWVyQ2hyb21pdW07CiBjbGFzcyBMaW5rSGlnaGxpZ2h0OwogY2xhc3MgUGF0aDsKK2Ns
YXNzIFNjcm9sbGFibGVBcmVhOwogCi1jbGFzcyBHcmFwaGljc0xheWVyQ2hyb21pdW0gOiBwdWJs
aWMgR3JhcGhpY3NMYXllciwgcHVibGljIEdyYXBoaWNzQ29udGV4dFBhaW50ZXIsIHB1YmxpYyBX
ZWJLaXQ6OldlYkFuaW1hdGlvbkRlbGVnYXRlIHsKK2NsYXNzIEdyYXBoaWNzTGF5ZXJDaHJvbWl1
bSA6IHB1YmxpYyBHcmFwaGljc0xheWVyLCBwdWJsaWMgR3JhcGhpY3NDb250ZXh0UGFpbnRlciwg
cHVibGljIFdlYktpdDo6V2ViQW5pbWF0aW9uRGVsZWdhdGUsIHB1YmxpYyBXZWJLaXQ6OldlYlNj
cm9sbERlbGVnYXRlIHsKIHB1YmxpYzoKICAgICBHcmFwaGljc0xheWVyQ2hyb21pdW0oR3JhcGhp
Y3NMYXllckNsaWVudCopOwogICAgIHZpcnR1YWwgfkdyYXBoaWNzTGF5ZXJDaHJvbWl1bSgpOwpA
QCAtNjcsNiArNzMsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHNldFBvc2l0aW9uKGNv
bnN0IEZsb2F0UG9pbnQmKTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0QW5jaG9yUG9pbnQoY29uc3Qg
RmxvYXRQb2ludDNEJik7CiAgICAgdmlydHVhbCB2b2lkIHNldFNpemUoY29uc3QgRmxvYXRTaXpl
Jik7CisgICAgdmlydHVhbCB2b2lkIHNldEJvdW5kc09yaWdpbihjb25zdCBGbG9hdFBvaW50Jik7
CiAKICAgICB2aXJ0dWFsIHZvaWQgc2V0VHJhbnNmb3JtKGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0
cml4Jik7CiAKQEAgLTExOCw2ICsxMjUsOSBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHNl
dERlYnVnQm9yZGVyKGNvbnN0IENvbG9yJiwgZmxvYXQgYm9yZGVyV2lkdGgpOwogICAgIHZpcnR1
YWwgdm9pZCBkZXZpY2VPclBhZ2VTY2FsZUZhY3RvckNoYW5nZWQoKTsKIAorICAgIHZvaWQgc2V0
U2Nyb2xsYWJsZUFyZWEoU2Nyb2xsYWJsZUFyZWEqIHNjcm9sbGFibGVBcmVhKSB7IG1fc2Nyb2xs
YWJsZUFyZWEgPSBzY3JvbGxhYmxlQXJlYTsgfQorICAgIFNjcm9sbGFibGVBcmVhKiBzY3JvbGxh
YmxlQXJlYSgpIGNvbnN0IHsgcmV0dXJuIG1fc2Nyb2xsYWJsZUFyZWE7IH0KKwogICAgIC8vIEdy
YXBoaWNzQ29udGV4dFBhaW50ZXIgaW1wbGVtZW50YXRpb24uCiAgICAgdmlydHVhbCB2b2lkIHBh
aW50KEdyYXBoaWNzQ29udGV4dCYsIGNvbnN0IEludFJlY3QmIGNsaXApIE9WRVJSSURFOwogCkBA
IC0xMjUsNiArMTM1LDkgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBub3RpZnlBbmltYXRp
b25TdGFydGVkKGRvdWJsZSBzdGFydFRpbWUpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBu
b3RpZnlBbmltYXRpb25GaW5pc2hlZChkb3VibGUgZmluaXNoVGltZSkgT1ZFUlJJREU7CiAKKyAg
ICAvLyBXZWJTY3JvbGxEZWxlZ2F0ZSBpbXBsZW1lbnRhdGlvbi4KKyAgICB2aXJ0dWFsIHZvaWQg
ZGlkU2Nyb2xsKGNvbnN0IFdlYktpdDo6V2ViU2l6ZSYpIE9WRVJSSURFOworCiAgICAgLy8gRXhw
b3NlZCBmb3IgdGVzdHMuCiAgICAgV2ViS2l0OjpXZWJMYXllciBjb250ZW50c0xheWVyKCkgY29u
c3QgeyByZXR1cm4gbV9jb250ZW50c0xheWVyOyB9CiAKQEAgLTE3OSw2ICsxOTIsOCBAQCBwcml2
YXRlOgogCiAgICAgdHlwZWRlZiBIYXNoTWFwPFN0cmluZywgaW50PiBBbmltYXRpb25JZE1hcDsK
ICAgICBBbmltYXRpb25JZE1hcCBtX2FuaW1hdGlvbklkTWFwOworCisgICAgU2Nyb2xsYWJsZUFy
ZWEqIG1fc2Nyb2xsYWJsZUFyZWE7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllckNo
cm9taXVtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xh
eWVyQ2hyb21pdW0uY3BwCmluZGV4IDNiOWMzNjI2OThhYTRjMmM0OGZjZDYzNWQxNGQ0NDQzMGJk
NDFkZTMuLjdjMzliZmFjODEyMmNmMDEwMjQ4ZWU1ZjY4Mzg4YjZkZmIxMTg0MjEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyQ2hyb21p
dW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xh
eWVyQ2hyb21pdW0uY3BwCkBAIC00Miw2ICs0Miw4IEBACiAjaW5jbHVkZSAiY2MvQ0NTZXR0aW5n
cy5oIgogCiAjaW5jbHVkZSA8cHVibGljL1dlYkFuaW1hdGlvbkRlbGVnYXRlLmg+CisjaW5jbHVk
ZSA8cHVibGljL1dlYlNjcm9sbERlbGVnYXRlLmg+CisjaW5jbHVkZSA8cHVibGljL1dlYlNpemUu
aD4KIAogdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIHVzaW5nIFdlYktpdDo6V2ViVHJhbnNmb3JtYXRp
b25NYXRyaXg7CkBAIC05Miw3ICs5NCw3IEBAIExheWVyQ2hyb21pdW06OkxheWVyQ2hyb21pdW0o
KQogICAgICwgbV9zY3JlZW5TcGFjZVRyYW5zZm9ybUlzQW5pbWF0aW5nKGZhbHNlKQogICAgICwg
bV9jb250ZW50c1NjYWxlKDEuMCkKICAgICAsIG1fbGF5ZXJBbmltYXRpb25EZWxlZ2F0ZSgwKQot
ICAgICwgbV9sYXllclNjcm9sbERlbGVnYXRlKDApCisgICAgLCBtX3Njcm9sbERlbGVnYXRlKDAp
CiB7CiAgICAgaWYgKG1fbGF5ZXJJZCA8IDApIHsKICAgICAgICAgc19uZXh0TGF5ZXJJZCA9IDE7
CkBAIC00NDIsOCArNDQ0LDggQEAgdm9pZCBMYXllckNocm9taXVtOjpzZXROb25GYXN0U2Nyb2xs
YWJsZVJlZ2lvbihjb25zdCBSZWdpb24mIHJlZ2lvbikKIHZvaWQgTGF5ZXJDaHJvbWl1bTo6c2Ny
b2xsQnkoY29uc3QgSW50U2l6ZSYgc2Nyb2xsRGVsdGEpCiB7CiAgICAgc2V0U2Nyb2xsUG9zaXRp
b24oc2Nyb2xsUG9zaXRpb24oKSArIHNjcm9sbERlbHRhKTsKLSAgICBpZiAobV9sYXllclNjcm9s
bERlbGVnYXRlKQotICAgICAgICBtX2xheWVyU2Nyb2xsRGVsZWdhdGUtPmRpZFNjcm9sbChzY3Jv
bGxEZWx0YSk7CisgICAgaWYgKG1fc2Nyb2xsRGVsZWdhdGUpCisgICAgICAgIG1fc2Nyb2xsRGVs
ZWdhdGUtPmRpZFNjcm9sbChXZWJLaXQ6OldlYlNpemUoc2Nyb2xsRGVsdGEpKTsKIH0KIAogdm9p
ZCBMYXllckNocm9taXVtOjpzZXREcmF3Q2hlY2tlcmJvYXJkRm9yTWlzc2luZ1RpbGVzKGJvb2wg
Y2hlY2tlcmJvYXJkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vTGF5ZXJDaHJvbWl1bS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vTGF5ZXJDaHJvbWl1bS5oCmluZGV4IGNmZTZjNzg2ZjE0YzA1MTZlYTQ1
ZmMzMWRjNGY4YjBlNDA3ODcyNGIuLjQzYTA4ZDU4NWE3Yzc3M2JmMzU0YmE3OTcwYTRiZmFjMTI5
OTVmOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL0xheWVyQ2hyb21pdW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9MYXllckNocm9taXVtLmgKQEAgLTU0LDYgKzU0LDcgQEAKIAogbmFtZXNwYWNl
IFdlYktpdCB7CiBjbGFzcyBXZWJBbmltYXRpb25EZWxlZ2F0ZTsKK2NsYXNzIFdlYlNjcm9sbERl
bGVnYXRlOwogfQogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC02OCwxNSArNjksNiBAQCBjbGFz
cyBTY3JvbGxiYXJMYXllckNocm9taXVtOwogc3RydWN0IENDQW5pbWF0aW9uRXZlbnQ7CiBzdHJ1
Y3QgQ0NSZW5kZXJpbmdTdGF0czsKIAotLy8gRGVsZWdhdGUgZm9yIGhhbmRsaW5nIHNjcm9sbCBp
bnB1dCBmb3IgYSBMYXllckNocm9taXVtLgotY2xhc3MgTGF5ZXJDaHJvbWl1bVNjcm9sbERlbGVn
YXRlIHsKLXB1YmxpYzoKLSAgICB2aXJ0dWFsIHZvaWQgZGlkU2Nyb2xsKGNvbnN0IEludFNpemUm
KSA9IDA7Ci0KLXByb3RlY3RlZDoKLSAgICB2aXJ0dWFsIH5MYXllckNocm9taXVtU2Nyb2xsRGVs
ZWdhdGUoKSB7IH0KLX07Ci0KIC8vIEJhc2UgY2xhc3MgZm9yIGNvbXBvc2l0ZWQgbGF5ZXJzLiBT
cGVjaWFsIGxheWVyIHR5cGVzIGFyZSBkZXJpdmVkIGZyb20KIC8vIHRoaXMgY2xhc3MuCiBjbGFz
cyBMYXllckNocm9taXVtIDogcHVibGljIFJlZkNvdW50ZWQ8TGF5ZXJDaHJvbWl1bT4sIHB1Ymxp
YyBDQ0xheWVyQW5pbWF0aW9uQ29udHJvbGxlckNsaWVudCB7CkBAIC0xNzgsNyArMTcwLDcgQEAg
cHVibGljOgogICAgIGNvbnN0IFJlZ2lvbiYgbm9uRmFzdFNjcm9sbGFibGVSZWdpb24oKSB7IHJl
dHVybiBtX25vbkZhc3RTY3JvbGxhYmxlUmVnaW9uOyB9CiAgICAgdm9pZCBzZXROb25GYXN0U2Ny
b2xsYWJsZVJlZ2lvbihjb25zdCBSZWdpb24mKTsKICAgICB2b2lkIHNldE5vbkZhc3RTY3JvbGxh
YmxlUmVnaW9uQ2hhbmdlZCgpIHsgbV9ub25GYXN0U2Nyb2xsYWJsZVJlZ2lvbkNoYW5nZWQgPSB0
cnVlOyB9Ci0gICAgdm9pZCBzZXRMYXllclNjcm9sbERlbGVnYXRlKExheWVyQ2hyb21pdW1TY3Jv
bGxEZWxlZ2F0ZSogbGF5ZXJTY3JvbGxEZWxlZ2F0ZSkgeyBtX2xheWVyU2Nyb2xsRGVsZWdhdGUg
PSBsYXllclNjcm9sbERlbGVnYXRlOyB9CisgICAgdm9pZCBzZXRTY3JvbGxEZWxlZ2F0ZShXZWJL
aXQ6OldlYlNjcm9sbERlbGVnYXRlKiBzY3JvbGxEZWxlZ2F0ZSkgeyBtX3Njcm9sbERlbGVnYXRl
ID0gc2Nyb2xsRGVsZWdhdGU7IH0KICAgICB2b2lkIHNjcm9sbEJ5KGNvbnN0IEludFNpemUmKTsK
IAogICAgIHZvaWQgc2V0RHJhd0NoZWNrZXJib2FyZEZvck1pc3NpbmdUaWxlcyhib29sKTsKQEAg
LTQwNyw3ICszOTksNyBAQCBwcml2YXRlOgogICAgIGZsb2F0IG1fY29udGVudHNTY2FsZTsKIAog
ICAgIFdlYktpdDo6V2ViQW5pbWF0aW9uRGVsZWdhdGUqIG1fbGF5ZXJBbmltYXRpb25EZWxlZ2F0
ZTsKLSAgICBMYXllckNocm9taXVtU2Nyb2xsRGVsZWdhdGUqIG1fbGF5ZXJTY3JvbGxEZWxlZ2F0
ZTsKKyAgICBXZWJLaXQ6OldlYlNjcm9sbERlbGVnYXRlKiBtX3Njcm9sbERlbGVnYXRlOwogfTsK
IAogdm9pZCBzb3J0TGF5ZXJzKFZlY3RvcjxSZWZQdHI8TGF5ZXJDaHJvbWl1bT4gPjo6aXRlcmF0
b3IsIFZlY3RvcjxSZWZQdHI8TGF5ZXJDaHJvbWl1bT4gPjo6aXRlcmF0b3IsIHZvaWQqKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0ND
TGF5ZXJJbXBsLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9j
Yy9DQ0xheWVySW1wbC5oCmluZGV4IDkyNjE3NTg4YTU3MjMxNWM3M2M5YTAwMTBlYmQ1MTU4YTc2
NWNlMzAuLmNmMTBlMGI3NzUzMDU0NzU1YjdkODNhZjI5NjA2ODA2NGQ0OTE2OTIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJJ
bXBsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2Mv
Q0NMYXllckltcGwuaApAQCAtMzExLDYgKzMxMSw3IEBAIHByaXZhdGU6CiAgICAgZmxvYXQgbV9h
bmNob3JQb2ludFo7CiAgICAgSW50U2l6ZSBtX2JvdW5kczsKICAgICBJbnRTaXplIG1fY29udGVu
dEJvdW5kczsKKyAgICBGbG9hdFBvaW50IG1fYm91bmRzT3JpZ2luOwogICAgIEludFBvaW50IG1f
c2Nyb2xsUG9zaXRpb247CiAgICAgYm9vbCBtX3Njcm9sbGFibGU7CiAgICAgYm9vbCBtX3Nob3Vs
ZFNjcm9sbE9uTWFpblRocmVhZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIu
Y3BwCmluZGV4IGQxNzc5MzhlNDQ2ODBhOWQ4NWIyYzViMjQ4OTdiZmRmMDM1ODlkY2MuLmQ2Njc3
OTM0YzZhMDgyYWEyM2IyNGQ4MGQ2NTE5MTAyZmRhZTMwNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxheWVyLmNwcApAQCAtMzE2MSw3ICszMTYxLDcgQEAgdm9pZCBSZW5kZXJM
YXllcjo6cGFpbnRMYXllckNvbnRlbnRzKFJlbmRlckxheWVyKiByb290TGF5ZXIsIEdyYXBoaWNz
Q29udGV4dCogY28KICAgICAvLyBXZSB3YW50IHRvIHBhaW50IG91ciBsYXllciwgYnV0IG9ubHkg
aWYgd2UgaW50ZXJzZWN0IHRoZSBkYW1hZ2UgcmVjdC4KICAgICBpZiAodGhpcyAhPSByb290TGF5
ZXIgfHwgIShsb2NhbFBhaW50RmxhZ3MgJiBQYWludExheWVyUGFpbnRpbmdPdmVyZmxvd0NvbnRl
bnRzKSkKICAgICAgICAgc2hvdWxkUGFpbnRDb250ZW50ICY9IGludGVyc2VjdHNEYW1hZ2VSZWN0
KGxheWVyQm91bmRzLCBkYW1hZ2VSZWN0LnJlY3QoKSwgcm9vdExheWVyKTsKLSAgICAKKwogICAg
IGlmIChsb2NhbFBhaW50RmxhZ3MgJiBQYWludExheWVyUGFpbnRpbmdDb21wb3NpdGluZ0JhY2tn
cm91bmRQaGFzZSkgewogICAgICAgICBpZiAoc2hvdWxkUGFpbnRDb250ZW50ICYmICFzZWxlY3Rp
b25Pbmx5KSB7CiAgICAgICAgICAgICAvLyBCZWdpbiB0cmFuc3BhcmVuY3kgbGF5ZXJzIGxhemls
eSBub3cgdGhhdCB3ZSBrbm93IHdlIGhhdmUgdG8gcGFpbnQgc29tZXRoaW5nLgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaAppbmRleCAzMTUxODkzZDQyY2VlODE4OGQ4OGI5YmE2
NmM1ZGY5YTJlMTJlZGJiLi44ZjcyYTIyNDg3Yjc5YTNjYTA5ZmRlNDgxMzQ1ZDQ5MGQ4ZTI4OWE3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaApAQCAtMzYzLDcgKzM2Myw3
IEBAIHB1YmxpYzoKICAgICB2b2lkIHBhaW50UmVzaXplcihHcmFwaGljc0NvbnRleHQqLCBjb25z
dCBJbnRQb2ludCYsIGNvbnN0IEludFJlY3QmIGRhbWFnZVJlY3QpOwogCiAgICAgdm9pZCB1cGRh
dGVTY3JvbGxJbmZvQWZ0ZXJMYXlvdXQoKTsKLSAgICBib29sIHVzZXNDb21wb3NpdGVkU2Nyb2xs
aW5nKCkgY29uc3Q7CisgICAgdmlydHVhbCBib29sIHVzZXNDb21wb3NpdGVkU2Nyb2xsaW5nKCkg
Y29uc3QgT1ZFUlJJREU7CiAKICAgICBib29sIHNjcm9sbChTY3JvbGxEaXJlY3Rpb24sIFNjcm9s
bEdyYW51bGFyaXR5LCBmbG9hdCBtdWx0aXBsaWVyID0gMSk7CiAgICAgdm9pZCBhdXRvc2Nyb2xs
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNr
aW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3Bw
CmluZGV4IGRjMmM2ZGZkNWNhYWJhNGFiYzJjNGE0MDc0ZWY0NjBlZjZkNWZkYTguLjNiNWFiZDVj
YTg0Zjk3ZjlmOTE5N2U2YjM4YjgxYWZmMzczYjUwZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwCkBAIC0yNTgsNyArMjU4LDcgQEAgc3Rh
dGljIGJvb2wgbGF5ZXJPckFuY2VzdG9ySXNUcmFuc2Zvcm1lZE9yVXNpbmdDb21wb3NpdGVkU2Ny
b2xsaW5nKFJlbmRlckxheWVyKgogICAgIAogICAgIHJldHVybiBmYWxzZTsKIH0KLSAgICAKKwog
Ym9vbCBSZW5kZXJMYXllckJhY2tpbmc6OnNob3VsZENsaXBDb21wb3NpdGVkQm91bmRzKCkgY29u
c3QKIHsKICAgICAvLyBTY3JvbGxiYXIgbGF5ZXJzIHVzZSB0aGlzIGxheWVyIGZvciByZWxhdGl2
ZSBwb3NpdGlvbmluZywgc28gZG9uJ3QgY2xpcC4KQEAgLTY1NywxNiArNjU3LDIwIEBAIHZvaWQg
UmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVHcmFwaGljc0xheWVyR2VvbWV0cnkoKQogICAgICAg
ICBtX3Njcm9sbGluZ0xheWVyLT5zZXRCb3VuZHNPcmlnaW4oRmxvYXRQb2ludChzY3JvbGxPZmZz
ZXQud2lkdGgoKSwgc2Nyb2xsT2Zmc2V0LmhlaWdodCgpKSk7CiAgICAgICAgIAogICAgICAgICBJ
bnRTaXplIHNjcm9sbFNpemUobV9vd25pbmdMYXllci0+c2Nyb2xsV2lkdGgoKSwgbV9vd25pbmdM
YXllci0+c2Nyb2xsSGVpZ2h0KCkpOworICAgICAgICBJbnRTaXplIHNjcm9sbGluZ0NvbnRlbnRz
T2Zmc2V0ID0gcGFkZGluZ0JveC5sb2NhdGlvbigpIC0gSW50UG9pbnQoKSAtIHNjcm9sbE9mZnNl
dDsKIAogICAgICAgICBtX3Njcm9sbGluZ0NvbnRlbnRzTGF5ZXItPnNldFBvc2l0aW9uKEZsb2F0
UG9pbnQoKSk7CiAgICAgICAgIAogICAgICAgICBpZiAoc2Nyb2xsU2l6ZSAhPSBtX3Njcm9sbGlu
Z0NvbnRlbnRzTGF5ZXItPnNpemUoKSB8fCBwYWRkaW5nQm94T2Zmc2V0Q2hhbmdlZCkKICAgICAg
ICAgICAgIG1fc2Nyb2xsaW5nQ29udGVudHNMYXllci0+c2V0TmVlZHNEaXNwbGF5KCk7CisgICAg
ICAgIGlmIChzY3JvbGxpbmdDb250ZW50c09mZnNldCAhPSBtX3Njcm9sbGluZ0NvbnRlbnRzTGF5
ZXItPm9mZnNldEZyb21SZW5kZXJlcigpIHx8IHNjcm9sbFNpemUgIT0gbV9zY3JvbGxpbmdDb250
ZW50c0xheWVyLT5zaXplKCkpCisgICAgICAgICAgICBjb21wb3NpdG9yKCktPnNjcm9sbGluZ0xh
eWVyRGlkQ2hhbmdlKG1fb3duaW5nTGF5ZXIpOwogCiAgICAgICAgIG1fc2Nyb2xsaW5nQ29udGVu
dHNMYXllci0+c2V0U2l6ZShzY3JvbGxTaXplKTsKICAgICAgICAgLy8gU2Nyb2xsaW5nIHRoZSBj
b250ZW50IGxheWVyIGRvZXMgbm90IG5lZWQgdG8gdHJpZ2dlciBhIHJlcGFpbnQuIFRoZSBvZmZz
ZXQgd2lsbCBiZSBjb21wZW5zYXRlZCBhd2F5IGR1cmluZyBwYWludGluZy4KICAgICAgICAgLy8g
RklYTUU6IFRoZSBwYWludCBvZmZzZXQgYW5kIHRoZSBzY3JvbGwgb2Zmc2V0IHNob3VsZCByZWFs
bHkgYmUgc2VwYXJhdGUgY29uY2VwdHMuCi0gICAgICAgIG1fc2Nyb2xsaW5nQ29udGVudHNMYXll
ci0+c2V0T2Zmc2V0RnJvbVJlbmRlcmVyKHBhZGRpbmdCb3gubG9jYXRpb24oKSAtIEludFBvaW50
KCkgLSBzY3JvbGxPZmZzZXQpOworICAgICAgICAvLyBGSVhNRTogU2hvdWxkIHVzZSBEb250U2V0
TmVlZHNEaXNwbGF5IHRvIGF2b2lkIHJlcGFpbnRpbmcgdGhlIGVudGlyZSBsYXllci4KKyAgICAg
ICAgbV9zY3JvbGxpbmdDb250ZW50c0xheWVyLT5zZXRPZmZzZXRGcm9tUmVuZGVyZXIoc2Nyb2xs
aW5nQ29udGVudHNPZmZzZXQsIEdyYXBoaWNzTGF5ZXI6OlNldE5lZWRzRGlzcGxheSk7CiAgICAg
fQogCiAgICAgbV9ncmFwaGljc0xheWVyLT5zZXRDb250ZW50c1JlY3QoY29udGVudHNCb3goKSk7
CkBAIC02OTMsNiArNjk3LDExIEBAIHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVJbnRl
cm5hbEhpZXJhcmNoeSgpCiAgICAgICAgIG1fZ3JhcGhpY3NMYXllci0+YWRkQ2hpbGQobV9jb250
YWlubWVudExheWVyLmdldCgpKTsKICAgICB9CiAKKyAgICBpZiAobV9zY3JvbGxpbmdMYXllcikg
eworICAgICAgICBHcmFwaGljc0xheWVyKiBzdXBlcmxheWVyID0gbV9jb250YWlubWVudExheWVy
ID8gbV9jb250YWlubWVudExheWVyLmdldCgpIDogbV9ncmFwaGljc0xheWVyLmdldCgpOworICAg
ICAgICBzdXBlcmxheWVyLT5hZGRDaGlsZChtX3Njcm9sbGluZ0xheWVyLmdldCgpKTsKKyAgICB9
CisKICAgICAvLyBUaGUgY2xpcCBmb3IgY2hpbGQgbGF5ZXJzIGRvZXMgbm90IGluY2x1ZGUgc3Bh
Y2UgZm9yIG92ZXJmbG93IGNvbnRyb2xzLCBzbyB0aGV5IGV4aXN0IGFzCiAgICAgLy8gc2libGlu
Z3Mgb2YgdGhlIGNsaXBwaW5nIGxheWVyIGlmIHdlIGhhdmUgb25lLiBOb3JtYWwgY2hpbGRyZW4g
b2YgdGhpcyBsYXllciBhcmUgc2V0IGFzCiAgICAgLy8gY2hpbGRyZW4gb2YgdGhlIGNsaXBwaW5n
IGxheWVyLgpAQCAtNzA4LDEwICs3MTcsNiBAQCB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6dXBk
YXRlSW50ZXJuYWxIaWVyYXJjaHkoKQogICAgICAgICBtX2xheWVyRm9yU2Nyb2xsQ29ybmVyLT5y
ZW1vdmVGcm9tUGFyZW50KCk7CiAgICAgICAgIG1fZ3JhcGhpY3NMYXllci0+YWRkQ2hpbGQobV9s
YXllckZvclNjcm9sbENvcm5lci5nZXQoKSk7CiAgICAgfQotICAgIGlmIChtX3Njcm9sbGluZ0xh
eWVyKSB7Ci0gICAgICAgIEdyYXBoaWNzTGF5ZXIqIHN1cGVybGF5ZXIgPSBtX2NvbnRhaW5tZW50
TGF5ZXIgPyBtX2NvbnRhaW5tZW50TGF5ZXIuZ2V0KCkgOiBtX2dyYXBoaWNzTGF5ZXIuZ2V0KCk7
Ci0gICAgICAgIHN1cGVybGF5ZXItPmFkZENoaWxkKG1fc2Nyb2xsaW5nTGF5ZXIuZ2V0KCkpOwot
ICAgIH0KIH0KIAogdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZURyYXdzQ29udGVudCgp
CkBAIC0xNzM5LDYgKzE3NDQsOCBAQCBkb3VibGUgUmVuZGVyTGF5ZXJCYWNraW5nOjpiYWNraW5n
U3RvcmVNZW1vcnlFc3RpbWF0ZSgpIGNvbnN0CiAgICAgICAgIGJhY2tpbmdNZW1vcnkgKz0gbV9m
b3JlZ3JvdW5kTGF5ZXItPmJhY2tpbmdTdG9yZU1lbW9yeUVzdGltYXRlKCk7CiAgICAgaWYgKG1f
bWFza0xheWVyKQogICAgICAgICBiYWNraW5nTWVtb3J5ICs9IG1fbWFza0xheWVyLT5iYWNraW5n
U3RvcmVNZW1vcnlFc3RpbWF0ZSgpOworICAgIGlmIChtX3Njcm9sbGluZ0NvbnRlbnRzTGF5ZXIp
CisgICAgICAgIGJhY2tpbmdNZW1vcnkgKz0gbV9zY3JvbGxpbmdDb250ZW50c0xheWVyLT5iYWNr
aW5nU3RvcmVNZW1vcnlFc3RpbWF0ZSgpOwogCiAgICAgaWYgKG1fbGF5ZXJGb3JIb3Jpem9udGFs
U2Nyb2xsYmFyKQogICAgICAgICBiYWNraW5nTWVtb3J5ICs9IG1fbGF5ZXJGb3JIb3Jpem9udGFs
U2Nyb2xsYmFyLT5iYWNraW5nU3RvcmVNZW1vcnlFc3RpbWF0ZSgpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcAppbmRleCA2MDYyYWFl
YzhmOWJhMDk5ZTJkODFjOGJkMGUzY2JlNDEzMWMwZDVjLi41YmEyYzUwMWFjZTQ0OGY5MDc1NDY1
ZTc3ZDkxMDRkYjk4YTliYTI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcApAQCAtMTAyNCw3ICsxMDI0LDcgQEAgdm9pZCBSZW5k
ZXJMYXllckNvbXBvc2l0b3I6OnJlYnVpbGRDb21wb3NpdGluZ0xheWVyVHJlZShSZW5kZXJMYXll
ciogbGF5ZXIsIFZlY3QKIAogICAgICAgICAvLyBJZiB0aGUgbGF5ZXIgaGFzIGEgY2xpcHBpbmcg
bGF5ZXIgdGhlIG92ZXJmbG93IGNvbnRyb2xzIGxheWVycyB3aWxsIGJlIHNpYmxpbmdzIG9mIHRo
ZSBjbGlwcGluZyBsYXllci4KICAgICAgICAgLy8gT3RoZXJ3aXNlLCB0aGUgb3ZlcmZsb3cgY29u
dHJvbCBsYXllcnMgYXJlIG5vcm1hbCBjaGlsZHJlbi4KLSAgICAgICAgaWYgKCFsYXllckJhY2tp
bmctPmhhc0NsaXBwaW5nTGF5ZXIoKSkgeworICAgICAgICBpZiAoIWxheWVyQmFja2luZy0+aGFz
Q2xpcHBpbmdMYXllcigpICYmICFsYXllckJhY2tpbmctPmhhc1Njcm9sbGluZ0xheWVyKCkpIHsK
ICAgICAgICAgICAgIGlmIChHcmFwaGljc0xheWVyKiBvdmVyZmxvd0NvbnRyb2xMYXllciA9IGxh
eWVyQmFja2luZy0+bGF5ZXJGb3JIb3Jpem9udGFsU2Nyb2xsYmFyKCkpIHsKICAgICAgICAgICAg
ICAgICBvdmVyZmxvd0NvbnRyb2xMYXllci0+cmVtb3ZlRnJvbVBhcmVudCgpOwogICAgICAgICAg
ICAgICAgIGxheWVyQmFja2luZy0+cGFyZW50Rm9yU3VibGF5ZXJzKCktPmFkZENoaWxkKG92ZXJm
bG93Q29udHJvbExheWVyKTsKQEAgLTEwOTEsNiArMTA5MSwxMyBAQCB2b2lkIFJlbmRlckxheWVy
Q29tcG9zaXRvcjo6ZnJhbWVWaWV3RGlkU2Nyb2xsKCkKICAgICBtX3Njcm9sbExheWVyLT5zZXRQ
b3NpdGlvbihGbG9hdFBvaW50KC1zY3JvbGxQb3NpdGlvbi54KCksIC1zY3JvbGxQb3NpdGlvbi55
KCkpKTsKIH0KIAordm9pZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnNjcm9sbGluZ0xheWVyRGlk
Q2hhbmdlKFJlbmRlckxheWVyKiBsYXllcikKK3sKKyAgICBSZW5kZXJMYXllckJhY2tpbmcqIGJh
Y2tpbmcgPSBsYXllci0+YmFja2luZygpOworICAgIGlmIChTY3JvbGxpbmdDb29yZGluYXRvciog
c2Nyb2xsaW5nQ29vcmRpbmF0b3IgPSB0aGlzLT5zY3JvbGxpbmdDb29yZGluYXRvcigpKQorICAg
ICAgICBzY3JvbGxpbmdDb29yZGluYXRvci0+c2Nyb2xsYWJsZUFyZWFTY3JvbGxMYXllckRpZENo
YW5nZShsYXllciwgYmFja2luZyA/IGJhY2tpbmctPnNjcm9sbGluZ0NvbnRlbnRzTGF5ZXIoKSA6
IDApOworfQorCiBTdHJpbmcgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpsYXllclRyZWVBc1RleHQo
Ym9vbCBzaG93RGVidWdJbmZvKQogewogICAgIHVwZGF0ZUNvbXBvc2l0aW5nTGF5ZXJzKENvbXBv
c2l0aW5nVXBkYXRlQWZ0ZXJMYXlvdXQpOwpAQCAtMTQ0Myw3ICsxNDUwLDggQEAgYm9vbCBSZW5k
ZXJMYXllckNvbXBvc2l0b3I6OnJlcXVpcmVzQ29tcG9zaXRpbmdMYXllcihjb25zdCBSZW5kZXJM
YXllciogbGF5ZXIpIGMKICAgICAgICAgfHwgY2xpcHNDb21wb3NpdGluZ0Rlc2NlbmRhbnRzKGxh
eWVyKQogICAgICAgICB8fCByZXF1aXJlc0NvbXBvc2l0aW5nRm9yQW5pbWF0aW9uKHJlbmRlcmVy
KQogICAgICAgICB8fCByZXF1aXJlc0NvbXBvc2l0aW5nRm9yRmlsdGVycyhyZW5kZXJlcikKLSAg
ICAgICAgfHwgcmVxdWlyZXNDb21wb3NpdGluZ0ZvclBvc2l0aW9uKHJlbmRlcmVyLCBsYXllcik7
CisgICAgICAgIHx8IHJlcXVpcmVzQ29tcG9zaXRpbmdGb3JQb3NpdGlvbihyZW5kZXJlciwgbGF5
ZXIpCisgICAgICAgIHx8IHJlcXVpcmVzQ29tcG9zaXRpbmdGb3JTY3JvbGxpbmcobGF5ZXIpOwog
fQogCiBib29sIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6Y2FuQmVDb21wb3NpdGVkKGNvbnN0IFJl
bmRlckxheWVyKiBsYXllcikgY29uc3QKQEAgLTE0NzIsNiArMTQ4MCw3IEBAIGJvb2wgUmVuZGVy
TGF5ZXJDb21wb3NpdG9yOjpyZXF1aXJlc093bkJhY2tpbmdTdG9yZShjb25zdCBSZW5kZXJMYXll
ciogbGF5ZXIsIGNvCiAgICAgICAgIHx8IHJlcXVpcmVzQ29tcG9zaXRpbmdGb3JBbmltYXRpb24o
cmVuZGVyZXIpCiAgICAgICAgIHx8IHJlcXVpcmVzQ29tcG9zaXRpbmdGb3JGaWx0ZXJzKHJlbmRl
cmVyKQogICAgICAgICB8fCByZXF1aXJlc0NvbXBvc2l0aW5nRm9yUG9zaXRpb24ocmVuZGVyZXIs
IGxheWVyKQorICAgICAgICB8fCByZXF1aXJlc0NvbXBvc2l0aW5nRm9yU2Nyb2xsaW5nKGxheWVy
KQogICAgICAgICB8fCByZW5kZXJlci0+aXNUcmFuc3BhcmVudCgpCiAgICAgICAgIHx8IHJlbmRl
cmVyLT5oYXNNYXNrKCkKICAgICAgICAgfHwgcmVuZGVyZXItPmhhc1JlZmxlY3Rpb24oKQpAQCAt
MTUyOSw2ICsxNTM4LDkgQEAgY29uc3QgY2hhciogUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpyZWFz
b25Gb3JDb21wb3NpdGluZyhjb25zdCBSZW5kZXJMYXllciogbGF5ZXIKICAgICBpZiAocmVxdWly
ZXNDb21wb3NpdGluZ0ZvclBvc2l0aW9uKHJlbmRlcmVyLCBsYXllcikpCiAgICAgICAgIHJldHVy
biAicG9zaXRpb246IGZpeGVkIjsKIAorICAgIGlmIChyZXF1aXJlc0NvbXBvc2l0aW5nRm9yU2Ny
b2xsaW5nKGxheWVyKSkKKyAgICAgICAgcmV0dXJuICItd2Via2l0LW92ZXJmbG93LXNjcm9sbGlu
ZzogdG91Y2giOworCiAgICAgaWYgKGxheWVyLT5pbmRpcmVjdENvbXBvc2l0aW5nUmVhc29uKCkg
PT0gUmVuZGVyTGF5ZXI6OkluZGlyZWN0Q29tcG9zaXRpbmdGb3JTdGFja2luZykKICAgICAgICAg
cmV0dXJuICJzdGFja2luZyI7CiAKQEAgLTE4MzMsNiArMTg0NSwxMSBAQCBib29sIFJlbmRlckxh
eWVyQ29tcG9zaXRvcjo6cmVxdWlyZXNDb21wb3NpdGluZ0ZvclBvc2l0aW9uKFJlbmRlck9iamVj
dCogcmVuZGVyZQogICAgIHJldHVybiB0cnVlOwogfQogCitib29sIFJlbmRlckxheWVyQ29tcG9z
aXRvcjo6cmVxdWlyZXNDb21wb3NpdGluZ0ZvclNjcm9sbGluZyhjb25zdCBSZW5kZXJMYXllciog
bGF5ZXIpIGNvbnN0Cit7CisgICAgcmV0dXJuIGxheWVyLT51c2VzQ29tcG9zaXRlZFNjcm9sbGlu
ZygpOworfQorCiBib29sIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6aXNSdW5uaW5nQWNjZWxlcmF0
ZWRUcmFuc2Zvcm1BbmltYXRpb24oUmVuZGVyT2JqZWN0KiByZW5kZXJlcikgY29uc3QKIHsKICAg
ICBpZiAoIShtX2NvbXBvc2l0aW5nVHJpZ2dlcnMgJiBDaHJvbWVDbGllbnQ6OkFuaW1hdGlvblRy
aWdnZXIpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVy
Q29tcG9zaXRvci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9z
aXRvci5oCmluZGV4IDViODdlNTNjNGE4NTc4YTFjNWFkNmM3YmMyY2UwYzE3YjRkYjQ1YzguLjVi
NTY0ODEyYTQwMzllYTg1ZDYxYTEwMWI5ZDE3MTMyOWFkZWI3MWUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmgKQEAgLTE5Miw2ICsxOTIs
OCBAQCBwdWJsaWM6CiAgICAgdm9pZCBmcmFtZVZpZXdEaWRDaGFuZ2VTaXplKCk7CiAgICAgdm9p
ZCBmcmFtZVZpZXdEaWRTY3JvbGwoKTsKIAorICAgIHZvaWQgc2Nyb2xsaW5nTGF5ZXJEaWRDaGFu
Z2UoUmVuZGVyTGF5ZXIqKTsKKwogICAgIFN0cmluZyBsYXllclRyZWVBc1RleHQoYm9vbCBzaG93
RGVidWdJbmZvID0gZmFsc2UpOwogCiAgICAgLy8gVGhlc2UgYXJlIG5hbWVkIHRvIGF2b2lkIGNv
bmZsaWN0cyB3aXRoIHRoZSBmdW5jdGlvbnMgaW4gR3JhcGhpY3NMYXllckNsaWVudApAQCAtMjky
LDYgKzI5NCw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCByZXF1aXJlc0NvbXBvc2l0aW5nRm9yRmls
dGVycyhSZW5kZXJPYmplY3QqKSBjb25zdDsKICAgICBib29sIHJlcXVpcmVzQ29tcG9zaXRpbmdG
b3JTY3JvbGxhYmxlRnJhbWUoKSBjb25zdDsKICAgICBib29sIHJlcXVpcmVzQ29tcG9zaXRpbmdG
b3JQb3NpdGlvbihSZW5kZXJPYmplY3QqLCBjb25zdCBSZW5kZXJMYXllciopIGNvbnN0OworICAg
IGJvb2wgcmVxdWlyZXNDb21wb3NpdGluZ0ZvclNjcm9sbGluZyhjb25zdCBSZW5kZXJMYXllciop
IGNvbnN0OwogICAgIGJvb2wgcmVxdWlyZXNDb21wb3NpdGluZ0ZvckluZGlyZWN0UmVhc29uKFJl
bmRlck9iamVjdCosIGJvb2wgaGFzQ29tcG9zaXRlZERlc2NlbmRhbnRzLCBib29sIGhhczNEVHJh
bnNmb3JtZWREZXNjZW5kYW50cywgUmVuZGVyTGF5ZXI6OkluZGlyZWN0Q29tcG9zaXRpbmdSZWFz
b24mKSBjb25zdDsKIAogICAgIGJvb2wgcmVxdWlyZXNTY3JvbGxMYXllcihSb290TGF5ZXJBdHRh
Y2htZW50KSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vZmVhdHVy
ZXMuZ3lwaSBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vZmVhdHVyZXMuZ3lwaQppbmRleCA4ZGM3
ZTJmNmY2NTI4Y2ZhZmE1NDQyZjBmMWU5MWZlNmY0MGEwZmNkLi44MzFjYjA1OTQwMzcxZjlkY2Iw
MzBjMDM2NWVkM2IxN2FjMjVhYjg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L2ZlYXR1cmVzLmd5cGkKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9mZWF0dXJlcy5neXBp
CkBAIC0xNzksNyArMTc5LDcgQEAKICAgICAgICAgICAnRU5BQkxFX01FRElBX1NUUkVBTT0xJywK
ICAgICAgICAgICAnRU5BQkxFX05PVElGSUNBVElPTlM9MScsCiAgICAgICAgICAgJ0VOQUJMRV9P
UklFTlRBVElPTl9FVkVOVFM9MCcsCi0gICAgICAgICAgJ0VOQUJMRV9PVkVSRkxPV19TQ1JPTExJ
Tkc9MCcsCisgICAgICAgICAgJ0VOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkc9MScsCiAgICAgICAg
ICAgJ0VOQUJMRV9QQUdFX1BPUFVQPTEnLAogICAgICAgICAgICdFTkFCTEVfUFJJTlRJTkc9MScs
CiAgICAgICAgICAgJ0VOQUJMRV9TSEFSRURfV09SS0VSUz0xJywKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkxheWVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYkxheWVyLmNwcAppbmRleCA3YTYwNGI4MWVlMGE3NzcyYzcxOTFjYjkxYWYyMzgz
Yzg5ZGU2NWY4Li4yMTkyZTZiMWQxMTc1MWM2Y2ExOGU2MmVlNjNlNmU4M2E4ZTQzN2FlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJMYXllci5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTGF5ZXIuY3BwCkBAIC0zNCw2ICszNCw4IEBACiAj
aW5jbHVkZSA8cHVibGljL1dlYkZpbHRlck9wZXJhdGlvbnMuaD4KICNpbmNsdWRlIDxwdWJsaWMv
V2ViRmxvYXRQb2ludC5oPgogI2luY2x1ZGUgPHB1YmxpYy9XZWJGbG9hdFJlY3QuaD4KKyNpbmNs
dWRlIDxwdWJsaWMvV2ViUG9pbnQuaD4KKyNpbmNsdWRlIDxwdWJsaWMvV2ViU2Nyb2xsRGVsZWdh
dGUuaD4KICNpbmNsdWRlIDxwdWJsaWMvV2ViU2l6ZS5oPgogI2luY2x1ZGUgPHB1YmxpYy9XZWJU
cmFuc2Zvcm1hdGlvbk1hdHJpeC5oPgogCkBAIC0zODYsNiArMzg4LDI2IEBAIHZvaWQgV2ViTGF5
ZXI6OmNsZWFyUmVuZGVyU3VyZmFjZSgpCiAgICAgbV9wcml2YXRlLT5jbGVhclJlbmRlclN1cmZh
Y2UoKTsKIH0KIAordm9pZCBXZWJMYXllcjo6c2V0U2Nyb2xsYWJsZShib29sIHNjcm9sbGFibGUp
Cit7CisgICAgbV9wcml2YXRlLT5zZXRTY3JvbGxhYmxlKHNjcm9sbGFibGUpOworfQorCit2b2lk
IFdlYkxheWVyOjpzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBXZWJQb2ludCYgc2Nyb2xsUG9zaXRp
b24pCit7CisgICAgbV9wcml2YXRlLT5zZXRTY3JvbGxQb3NpdGlvbihzY3JvbGxQb3NpdGlvbik7
Cit9CisKK3ZvaWQgV2ViTGF5ZXI6OnNldE1heFNjcm9sbFBvc2l0aW9uKGNvbnN0IFdlYlNpemUm
IG1heFNjcm9sbFBvc2l0aW9uKQoreworICAgIG1fcHJpdmF0ZS0+c2V0TWF4U2Nyb2xsUG9zaXRp
b24obWF4U2Nyb2xsUG9zaXRpb24pOworfQorCit2b2lkIFdlYkxheWVyOjpzZXRTY3JvbGxEZWxl
Z2F0ZShXZWJTY3JvbGxEZWxlZ2F0ZSogZGVsZWdhdGUpCit7CisgICAgbV9wcml2YXRlLT5zZXRT
Y3JvbGxEZWxlZ2F0ZShkZWxlZ2F0ZSk7Cit9CisKIFdlYkxheWVyOjpXZWJMYXllcihjb25zdCBQ
YXNzUmVmUHRyPExheWVyQ2hyb21pdW0+JiBub2RlKQogICAgIDogbV9wcml2YXRlKG5vZGUpCiB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDTGF5ZXJUcmVlSG9z
dFRlc3QuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0xheWVyVHJlZUhvc3RU
ZXN0LmNwcAppbmRleCBlZjA0MWJmMTAwYTM2NTQ2OWE1MzQ4OWJjYTRiNGNlN2M1NjA0YTQxLi4w
MGRiYzRiYzg4YmE1YTNiNmNiNTI3OGIxMzJlYzZhY2Y2YWI1NWFmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDTGF5ZXJUcmVlSG9zdFRlc3QuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NMYXllclRyZWVIb3N0VGVzdC5jcHAKQEAgLTM3
LDYgKzM3LDggQEAKICNpbmNsdWRlIDxnbW9jay9nbW9jay5oPgogI2luY2x1ZGUgPGd0ZXN0L2d0
ZXN0Lmg+CiAjaW5jbHVkZSA8cHVibGljL1BsYXRmb3JtLmg+CisjaW5jbHVkZSA8cHVibGljL1dl
YlNjcm9sbERlbGVnYXRlLmg+CisjaW5jbHVkZSA8cHVibGljL1dlYlNpemUuaD4KICNpbmNsdWRl
IDxwdWJsaWMvV2ViVGhyZWFkLmg+CiAjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4KICNpbmNs
dWRlIDx3dGYvT3duQXJyYXlQdHIuaD4KQEAgLTIxNjEsNyArMjE2Myw3IEBAIHByaXZhdGU6CiAK
IFNJTkdMRV9BTkRfTVVMVElfVEhSRUFEX1RFU1RfRihDQ0xheWVyVHJlZUhvc3RUZXN0TGF5ZXJB
ZGRlZFdpdGhBbmltYXRpb24pCiAKLWNsYXNzIENDTGF5ZXJUcmVlSG9zdFRlc3RTY3JvbGxDaGls
ZExheWVyIDogcHVibGljIENDTGF5ZXJUcmVlSG9zdFRlc3QsIHB1YmxpYyBMYXllckNocm9taXVt
U2Nyb2xsRGVsZWdhdGUgeworY2xhc3MgQ0NMYXllclRyZWVIb3N0VGVzdFNjcm9sbENoaWxkTGF5
ZXIgOiBwdWJsaWMgQ0NMYXllclRyZWVIb3N0VGVzdCwgcHVibGljIFdlYlNjcm9sbERlbGVnYXRl
IHsKIHB1YmxpYzoKICAgICBDQ0xheWVyVHJlZUhvc3RUZXN0U2Nyb2xsQ2hpbGRMYXllcigpCiAg
ICAgICAgIDogbV9zY3JvbGxBbW91bnQoMiwgMSkKQEAgLTIxODQsNyArMjE4Niw3IEBAIHB1Ymxp
YzoKICAgICAgICAgbV9yb290U2Nyb2xsTGF5ZXItPnNldE1heFNjcm9sbFBvc2l0aW9uKEludFNp
emUoMTAwLCAxMDApKTsKICAgICAgICAgbV9sYXllclRyZWVIb3N0LT5yb290TGF5ZXIoKS0+YWRk
Q2hpbGQobV9yb290U2Nyb2xsTGF5ZXIpOwogICAgICAgICBtX2NoaWxkTGF5ZXIgPSBDb250ZW50
TGF5ZXJDaHJvbWl1bTo6Y3JlYXRlKCZtX21vY2tEZWxlZ2F0ZSk7Ci0gICAgICAgIG1fY2hpbGRM
YXllci0+c2V0TGF5ZXJTY3JvbGxEZWxlZ2F0ZSh0aGlzKTsKKyAgICAgICAgbV9jaGlsZExheWVy
LT5zZXRTY3JvbGxEZWxlZ2F0ZSh0aGlzKTsKICAgICAgICAgbV9jaGlsZExheWVyLT5zZXRCb3Vu
ZHMoSW50U2l6ZSg1MCwgNTApKTsKICAgICAgICAgbV9jaGlsZExheWVyLT5zZXRJc0RyYXdhYmxl
KHRydWUpOwogICAgICAgICBtX2NoaWxkTGF5ZXItPnNldFNjcm9sbGFibGUodHJ1ZSk7CkBAIC0y
MTk3LDcgKzIxOTksNyBAQCBwdWJsaWM6CiAgICAgICAgIHBvc3RTZXROZWVkc0NvbW1pdFRvTWFp
blRocmVhZCgpOwogICAgIH0KIAotICAgIHZpcnR1YWwgdm9pZCBkaWRTY3JvbGwoY29uc3QgSW50
U2l6ZSYgc2Nyb2xsRGVsdGEpIE9WRVJSSURFCisgICAgdmlydHVhbCB2b2lkIGRpZFNjcm9sbChj
b25zdCBXZWJTaXplJiBzY3JvbGxEZWx0YSkgT1ZFUlJJREUKICAgICB7CiAgICAgICAgIG1fcmVw
b3J0ZWRTY3JvbGxBbW91bnQgPSBzY3JvbGxEZWx0YTsKICAgICB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>157740</attachid>
            <date>2012-08-10 08:41:16 -0700</date>
            <delta_ts>2012-08-10 13:58:00 -0700</delta_ts>
            <desc>Patch including 91117</desc>
            <filename>bug-78862-20120810114047.patch</filename>
            <type>text/plain</type>
            <size>69122</size>
            <attacher>vollick</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI1MTQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0v
Q2hhbmdlTG9nIGIvU291cmNlL1BsYXRmb3JtL0NoYW5nZUxvZwppbmRleCBjNzBkNTFiY2JlNGE0
Y2IzM2RiZGE1MTYxYTI3MDQzYmRhMzBhZGFhLi41YTJjYjZkZjQyMmQ1NDU4MzNlYzJiMmJlMzIz
MWY0NDIzMTZkZjZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMi0wOC0xMCAg
SWFuIFZvbGxpY2sgIDx2b2xsaWNrQGNocm9taXVtLm9yZz4KKworICAgICAgICBUb3VjaCBvdmVy
ZmxvdyBzY3JvbGxpbmcgZWxlbWVudHMgc2hvdWxkIGJlIHNwbGl0IGludG8gbGF5ZXJzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03ODg2MgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEV4cG9zZXMgbWV0aG9k
cyBmb3IgY29udHJvbGxpbmcgc2Nyb2xsaW5nLgorCisgICAgICAgICogUGxhdGZvcm0uZ3lwaToK
KyAgICAgICAgKiBjaHJvbWl1bS9wdWJsaWMvV2ViTGF5ZXIuaDoKKyAgICAgICAgKFdlYktpdCk6
CisgICAgICAgIChXZWJMYXllcik6CisKIDIwMTItMDgtMDggIEFkcmllbm5lIFdhbGtlciAgPGVu
bmVAZ29vZ2xlLmNvbT4KIAogICAgICAgICBbY2hyb21pdW1dIE1vdmUgc2Nyb2xsYmFyIHBvaW50
ZXIgaW50byBXZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA4N2RlMGY4YjAz
NjI5MmQwNDNjZmUwN2UwOTNmZDFhYjhjODk3MDIxLi5lNDE1NGFjZmQ2MjFkZDc2NjEzNDQ2OTY2
YWRjYTZjN2IwZTA4Njc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTEwIEBACisyMDEyLTA4LTEw
ICBJYW4gVm9sbGljayAgPHZvbGxpY2tAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFRvdWNoIG92
ZXJmbG93IHNjcm9sbGluZyBlbGVtZW50cyBzaG91bGQgYmUgc3BsaXQgaW50byBsYXllcnMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc4ODYyCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUGF0Y2ggYnkgc2t5
b3N0aWxAY2hyb21pdW0ub3JnLgorCisgICAgICAgIFdoZW4gYSByZWd1bGFyIG92ZXJmbG93IGVs
ZW1lbnQgaXMgc2Nyb2xsZWQsIHdlIHJlcGFpbnQgdGhlIGVudGlyZSBhcmVhCisgICAgICAgIGl0
IG9jY3VwaWVzIGluIHRoZSB2aWV3IGZyb20gc2NyYXRjaC4gU2luY2UgdGhpcyBwYWludGluZyBp
cyBkb25lIGluIHRoZQorICAgICAgICAgbWFpbiB0aHJlYWQsIGl0IGNhbiBiZSBibG9ja2VkIGJ5
LCBlLmcuLCBKYXZhU2NyaXB0IGV4ZWN1dGlvbiwgZnVydGhlcgorICAgICAgICAgbGltaXRpbmcg
cGVyZm9ybWFuY2UuCisKKyAgICAgICAgIEluIGNvbnRyYXN0LCB0aGUgbWFpbiBib2R5IGVsZW1l
bnQgb2YgYSBwYWdlIGNhbiB1c3VhbGx5IGJlIHNjcm9sbGVkCisgICAgICAgICBieSB0aGUgY29t
cG9zaXRvciBzaW1wbHkgYnkgdHJhbnNsYXRpbmcgaXQgYXJvdW5kIHRoZSBzY3JlZW4uIFRoaXMg
aXMKKyAgICAgICAgIGJlY2F1c2UgdGhlIGNvbnRlbnRzIG9mIHRoZSBib2R5IGhhdmUgYmVlbiBw
YWludGVkIGludG8gYQorICAgICAgICAgUmVuZGVyTGF5ZXJCYWNraW5nIHRvIHdoaWNoIHRoZSBj
b21wb3NpdG9yIGNhbiBhcHBseSBhIHNjcm9sbCB0cmFuc2Zvcm0uCisgICAgICAgICBGdXJ0aGVy
bW9yZSwgYSBjb21wb3NpdG9yIHRocmVhZCBjYW4gYXBwbHkgdXBkYXRlIHRoZSBzY3JvbGwgb2Zm
c2V0CisgICAgICAgICB3aGlsZSB0aGUgbWFpbiB0aHJlYWQgaXMgYnVzeSB3aXRoIG90aGVyIHBy
b2Nlc3NpbmcuCisKKyAgICAgICAgIEluIG9yZGVyIHRvIG1ha2Ugb3ZlcmZsb3cgZWxlbWVudCBz
Y3JvbGxpbmcgc2ltaWxhcmx5IGVmZmljaWVudCwgdGhpcworICAgICAgICAgcGF0Y2ggZG9lcyB0
aHJlZSB0aGluZ3M6CisKKyAgICAgICAgICAgICAxLiBTcGxpdHMgb3ZlcmZsb3cgZWxlbWVudHMg
aW50byBhIGZpeGVkIGJhY2tncm91bmQgbGF5ZXIgYW5kIGEKKyAgICAgICAgICAgICBzY3JvbGxp
bmcgZm9yZWdyb3VuZCBsYXllci4gVGhpcyBpcyBvbmx5IGRvbmUgZm9yIGVsZW1lbnRzIHVzaW5n
IHRoZQorICAgICAgICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaCBzdHls
ZSwgYmVjYXVzZSBpdCBpbnRyb2R1Y2VzIGEKKyAgICAgICAgICAgICBzdGFja2luZyBjb250ZXh0
IHdoaWNoIGVuYWJsZXMgdXMgdG8gcHJvbW90ZSB0aGUgZWxlbWVudCB0byBhCisgICAgICAgICAg
ICAgY29tcG9zaXRlZCBsYXllci4KKworICAgICAgICAgICAgIDIuIFJlZ2lzdGVycyB0aGVzZSBl
bGVtZW50cyB3aXRoIHRoZSBTY3JvbGxpbmdDb29yZGluYXRvciBzbyBpdAorICAgICAgICAgICAg
IGtub3dzIHRoZWlyIGFzc29jaWF0ZWQgc2Nyb2xsIGdlb21ldHJ5LgorCisgICAgICAgICAgICAg
My4gQXZvaWRzIGludmFsaWRhdGluZyB0aGUgY29udGVudHMgb2YgdGhlIGxheWVycyB3aGVuIHRo
ZXkgYXJlCisgICAgICAgICAgICAgc2Nyb2xsZWQuIFRoaXMgYWxsb3dzIHRoZSBsYXllcnMgdG8g
YmUgdHJhbnNsYXRlZCBhY2NvcmRpbmcgdG8gdGhlaXIKKyAgICAgICAgICAgICBzY3JvbGwgcG9z
aXRpb24gd2l0aG91dCB1bm5lY2Vzc2FyeSByZXBhaW50cy4KKworICAgICAgICAgVGhpcyBwYXRj
aCBpcyBiYXNlZCBvbiBBcHBsZSdzIGlPUyA1IGltcGxlbWVudGF0aW9uIG9mIHRoZQorICAgICAg
ICAgIi13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaCIgQ1NTIHByb3BlcnR5LgorCisg
ICAgICAgICBUZXN0czoKKyAgICAgICAgICAgICBwbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGlu
Zy9vdmVyZmxvdy9vdmVyZmxvdy1zY3JvbGxpbmctdG91Y2gtc3RhY2tpbmctY29udGV4dC5odG1s
CisgICAgICAgICAgICAgcGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcvb3ZlcmZsb3cvb3Zl
cmZsb3ctc2Nyb2xsaW5nLXRvdWNoLWhpZGRlbi1vdmVyZmxvdy5odG1sCisgICAgICAgICAgICAg
cGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcvb3ZlcmZsb3cvb3ZlcmZsb3ctc2Nyb2xsaW5n
LXRvdWNoLWxheWVycy5odG1sCisKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0NTU0tl
eXdvcmRDb21wbGV0aW9ucy5qczoKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdD
b29yZGluYXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjb21wdXRlTm9uRmFzdFNjcm9sbGFi
bGVSZWdpb24pOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxp
bmdDb29yZGluYXRvcjo6c2Nyb2xsYWJsZUFyZWFTY3JvbGxMYXllckRpZENoYW5nZSk6CisgICAg
ICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaDoKKyAgICAgICAgKFdl
YkNvcmUpOgorICAgICAgICAoU2Nyb2xsaW5nQ29vcmRpbmF0b3IpOgorICAgICAgICAqIHBhZ2Uv
c2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTm9uZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpzY3JvbGxhYmxlQXJl
YVNjcm9sbExheWVyRGlkQ2hhbmdlKToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9jaHJvbWl1
bS9TY3JvbGxpbmdDb29yZGluYXRvckNocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNj
cm9sbGluZ0Nvb3JkaW5hdG9yOjpzY3JvbGxhYmxlQXJlYVNjcm9sbExheWVyRGlkQ2hhbmdlKToK
KyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmg6
CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxhYmxlQXJlYTo6dXNlc0NvbXBvc2l0ZWRTY3JvbGxp
bmcpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllcjo6c2V0T2Zmc2V0RnJvbVJlbmRlcmVyKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmg6CisgICAgICAgIChHcmFw
aGljc0xheWVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9HcmFwaGlj
c0xheWVyQ2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllckNocm9t
aXVtOjpHcmFwaGljc0xheWVyQ2hyb21pdW0pOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NM
YXllckNocm9taXVtOjpzZXRCb3VuZHNPcmlnaW4pOgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVyQ2hyb21pdW06OnVwZGF0ZUNoaWxkcmVuVHJhbnNm
b3JtKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJDaHJvbWl1bTo6ZGlkU2Nyb2xs
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9HcmFwaGljc0xheWVyQ2hy
b21pdW0uaDoKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAg
KEdyYXBoaWNzTGF5ZXJDaHJvbWl1bSk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVy
Q2hyb21pdW06OnNldFNjcm9sbGFibGVBcmVhKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNz
TGF5ZXJDaHJvbWl1bTo6c2Nyb2xsYWJsZUFyZWEpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL0xheWVyQ2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5ZXJD
aHJvbWl1bTo6TGF5ZXJDaHJvbWl1bSk6CisgICAgICAgIChXZWJDb3JlOjpMYXllckNocm9taXVt
OjpzY3JvbGxCeSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJD
aHJvbWl1bS5oOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAg
ICAoV2ViQ29yZTo6TGF5ZXJDaHJvbWl1bTo6c2V0U2Nyb2xsRGVsZWdhdGUpOgorICAgICAgICAo
TGF5ZXJDaHJvbWl1bSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2Mv
Q0NMYXllckltcGwuaDoKKyAgICAgICAgKENDTGF5ZXJJbXBsKToKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnBhaW50
TGF5ZXJDb250ZW50cyk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmg6CisgICAg
ICAgIChSZW5kZXJMYXllcik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2lu
Zy5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVy
QmFja2luZzo6dXBkYXRlR3JhcGhpY3NMYXllckdlb21ldHJ5KToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlSW50ZXJuYWxIaWVyYXJjaHkpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjpiYWNraW5nU3RvcmVNZW1vcnlFc3RpbWF0ZSk6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OnJlYnVpbGRDb21wb3NpdGluZ0xheWVy
VHJlZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OnNjcm9sbGlu
Z0xheWVyRGlkQ2hhbmdlKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpyZXF1aXJlc0NvbXBvc2l0aW5nTGF5ZXIpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpyZXF1aXJlc093bkJhY2tpbmdTdG9y
ZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OnJlYXNvbkZvckNv
bXBvc2l0aW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6cmVx
dWlyZXNDb21wb3NpdGluZ0ZvclNjcm9sbGluZyk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
ckxheWVyQ29tcG9zaXRvci5oOgorICAgICAgICAoUmVuZGVyTGF5ZXJDb21wb3NpdG9yKToKKwog
MjAxMi0wOC0wOCAgSHVhbmcgRG9uZ3N1bmcgIDxsdXh0ZWxsYUBjb21wYW55MTAwLm5ldD4KIAog
ICAgICAgICBFeHRyYWN0IHRoZSBkZWZpbml0aW9uIG9mIE5hdGl2ZUltYWdlUHRyIGZyb20gSW1h
Z2VTb3VyY2UuaCBpbnRvIE5hdGl2ZUltYWdlUHRyLmguCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9n
CmluZGV4IGUwMDczOWVlYjQ2OWFhYzhiN2MxNGU2YjY0MWIwYzE1NDFmYWYxNzkuLjhhYTBiMjQy
ODE2ZTFiZTBiMzUyZDM4ZjQ5ZTkzZDNjNDFkMTIxM2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTItMDgtMTAgIElhbiBWb2xsaWNrICA8dm9sbGlja0Bj
aHJvbWl1bS5vcmc+CisKKyAgICAgICAgVG91Y2ggb3ZlcmZsb3cgc2Nyb2xsaW5nIGVsZW1lbnRz
IHNob3VsZCBiZSBzcGxpdCBpbnRvIGxheWVycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg4NjIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBJbXBsZW1lbnRhdGlvbiBvZiBzY3JvbGwtcmVsYXRlZCBtZXRo
b2RzIGV4cG9zZWQgaW4gdGhlIHB1YmxpYyBBUEkuCisKKyAgICAgICAgKiBmZWF0dXJlcy5neXBp
OgorICAgICAgICAqIHNyYy9XZWJMYXllci5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkxheWVy
OjpzZXRTY3JvbGxhYmxlKToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJLaXQ6Oldl
YkxheWVyOjpzZXRTY3JvbGxQb3NpdGlvbik6CisgICAgICAgIChXZWJLaXQ6OldlYkxheWVyOjpz
ZXRNYXhTY3JvbGxQb3NpdGlvbik6CisgICAgICAgIChXZWJLaXQ6OldlYkxheWVyOjpzZXRTY3Jv
bGxEZWxlZ2F0ZSk6CisgICAgICAgICogdGVzdHMvQ0NMYXllclRyZWVIb3N0VGVzdC5jcHA6CisK
IDIwMTItMDgtMDggIFNoYW5lIFN0ZXBoZW5zICA8c2hhbmVzdGVwaGVuc0Bnb29nbGUuY29tPgog
CiAgICAgICAgIENvbXBpbGUgZmxhZyBmb3IgQ1NTIEhpZXJhcmNoaWVzCmRpZmYgLS1naXQgYS9T
b3VyY2UvUGxhdGZvcm0vUGxhdGZvcm0uZ3lwaSBiL1NvdXJjZS9QbGF0Zm9ybS9QbGF0Zm9ybS5n
eXBpCmluZGV4IDQzN2MyNGZmNDE2MzA2MmJmYWRhMDc1Yzc4Mjk2YzQyOGViMWE2NzguLjllOTJk
Yzk2ZWFkZDZlZmMxMmUzZWZjYjdiYWI2ZGNhODBjZjkxYmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9Q
bGF0Zm9ybS9QbGF0Zm9ybS5neXBpCisrKyBiL1NvdXJjZS9QbGF0Zm9ybS9QbGF0Zm9ybS5neXBp
CkBAIC0xMDgsNiArMTA4LDcgQEAKICAgICAgICAgICAgICdjaHJvbWl1bS9wdWJsaWMvV2ViU2Ny
b2xsYmFyTGF5ZXIuaCcsCiAgICAgICAgICAgICAnY2hyb21pdW0vcHVibGljL1dlYlNjcm9sbGJh
clRoZW1lR2VvbWV0cnkuaCcsCiAgICAgICAgICAgICAnY2hyb21pdW0vcHVibGljL1dlYlNjcm9s
bGJhclRoZW1lUGFpbnRlci5oJywKKyAgICAgICAgICAgICdjaHJvbWl1bS9wdWJsaWMvV2ViU2Ny
b2xsRGVsZWdhdGUuaCcsCiAgICAgICAgICAgICAnY2hyb21pdW0vcHVibGljL1dlYlNlc3Npb25E
ZXNjcmlwdGlvbkRlc2NyaXB0b3IuaCcsCiAgICAgICAgICAgICAnY2hyb21pdW0vcHVibGljL1dl
YlNoYXJlZEdyYXBoaWNzQ29udGV4dDNELmgnLAogICAgICAgICAgICAgJ2Nocm9taXVtL3B1Ymxp
Yy9XZWJTaXplLmgnLApkaWZmIC0tZ2l0IGEvU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1Ymxp
Yy9XZWJMYXllci5oIGIvU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJMYXllci5o
CmluZGV4IGVjNjAyNDExYjc3ODgwZTU5MGI3NjdjZjYxNDhiZmI1MDY3OTZiNzUuLjZhYjgyZTNi
ZmM1Y2NkZjExNTg5MWE3YTIwYzQzODFhMTJjNjQ4OGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9QbGF0
Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViTGF5ZXIuaAorKysgYi9Tb3VyY2UvUGxhdGZvcm0vY2hy
b21pdW0vcHVibGljL1dlYkxheWVyLmgKQEAgLTM5LDkgKzM5LDExIEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsgY2xhc3MgTGF5ZXJDaHJvbWl1bTsgfQogbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBX
ZWJBbmltYXRpb25EZWxlZ2F0ZTsKIGNsYXNzIFdlYkZpbHRlck9wZXJhdGlvbnM7CitjbGFzcyBX
ZWJTY3JvbGxEZWxlZ2F0ZTsKIGNsYXNzIFdlYlRyYW5zZm9ybWF0aW9uTWF0cml4Owogc3RydWN0
IFdlYkZsb2F0UG9pbnQ7CiBzdHJ1Y3QgV2ViRmxvYXRSZWN0Oworc3RydWN0IFdlYlBvaW50Owog
c3RydWN0IFdlYlNpemU7CiAKIGNsYXNzIFdlYkxheWVyIHsKQEAgLTE4NCw2ICsxODYsMTEgQEAg
cHVibGljOgogICAgIC8vIGNhc2VzIC0gaWYgeW91IGFyZW4ndCBzdXJlLCB5b3UgZG9uJ3QgbmVl
ZCB0byBjYWxsIHRoaXMuCiAgICAgV0VCS0lUX0VYUE9SVCB2b2lkIGNsZWFyUmVuZGVyU3VyZmFj
ZSgpOwogCisgICAgV0VCS0lUX0VYUE9SVCB2b2lkIHNldFNjcm9sbGFibGUoYm9vbCk7CisgICAg
V0VCS0lUX0VYUE9SVCB2b2lkIHNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IFdlYlBvaW50Jik7Cisg
ICAgV0VCS0lUX0VYUE9SVCB2b2lkIHNldE1heFNjcm9sbFBvc2l0aW9uKGNvbnN0IFdlYlNpemUm
KTsKKyAgICBXRUJLSVRfRVhQT1JUIHZvaWQgc2V0U2Nyb2xsRGVsZWdhdGUoV2ViU2Nyb2xsRGVs
ZWdhdGUqKTsKKwogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IFQgdG8oKQogICAgIHsKICAgICAg
ICAgVCByZXM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3Jv
bGxpbmdDb29yZGluYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3Jv
bGxpbmdDb29yZGluYXRvci5jcHAKaW5kZXggNDBmZWVkNzdjY2FlMTZmMjRlZjkzNjlkMTFhYzZj
ZWE0MzdkY2ExNi4uNmFlYWVkNmZiZDEzZWNjNTFiMDdhOTM4ZThlYzI2MDc0NzZmZjNlYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0
b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3Jk
aW5hdG9yLmNwcApAQCAtMTE4LDYgKzExOCw5IEBAIHN0YXRpYyBSZWdpb24gY29tcHV0ZU5vbkZh
c3RTY3JvbGxhYmxlUmVnaW9uKEZyYW1lKiBmcmFtZSwgY29uc3QgSW50UG9pbnQmIGZyYW1lCiAg
ICAgaWYgKGNvbnN0IEZyYW1lVmlldzo6U2Nyb2xsYWJsZUFyZWFTZXQqIHNjcm9sbGFibGVBcmVh
cyA9IGZyYW1lVmlldy0+c2Nyb2xsYWJsZUFyZWFzKCkpIHsKICAgICAgICAgZm9yIChGcmFtZVZp
ZXc6OlNjcm9sbGFibGVBcmVhU2V0Ojpjb25zdF9pdGVyYXRvciBpdCA9IHNjcm9sbGFibGVBcmVh
cy0+YmVnaW4oKSwgZW5kID0gc2Nyb2xsYWJsZUFyZWFzLT5lbmQoKTsgaXQgIT0gZW5kOyArK2l0
KSB7CiAgICAgICAgICAgICBTY3JvbGxhYmxlQXJlYSogc2Nyb2xsYWJsZUFyZWEgPSAqaXQ7Cisg
ICAgICAgICAgICAvLyBBY2NlbGVyYXRlZCBzY3JvbGxhYmxlIGFyZWFzIGNhbiBiZSBzY3JvbGxl
ZCBvZmYgdGhlIG1haW4gdGhyZWFkLgorICAgICAgICAgICAgaWYgKHNjcm9sbGFibGVBcmVhLT51
c2VzQ29tcG9zaXRlZFNjcm9sbGluZygpKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAg
ICAgICAgICAgSW50UmVjdCBib3ggPSBzY3JvbGxhYmxlQXJlYS0+c2Nyb2xsYWJsZUFyZWFCb3Vu
ZGluZ0JveCgpOwogICAgICAgICAgICAgYm94Lm1vdmVCeShvZmZzZXQpOwogICAgICAgICAgICAg
bm9uRmFzdFNjcm9sbGFibGVSZWdpb24udW5pdGUoYm94KTsKQEAgLTQ4OCw2ICs0OTEsMTEgQEAg
dm9pZCBTY3JvbGxpbmdDb29yZGluYXRvcjo6c2V0TGF5ZXJJc0ZpeGVkVG9Db250YWluZXJMYXll
cihHcmFwaGljc0xheWVyKiwgYm9vbCkKIHsKICAgICAvLyBGSVhNRTogSW1wbGVtZW50IQogfQor
Cit2b2lkIFNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpzY3JvbGxhYmxlQXJlYVNjcm9sbExheWVyRGlk
Q2hhbmdlKFNjcm9sbGFibGVBcmVhKiwgR3JhcGhpY3NMYXllciopCit7CisgICAgLy8gRklYTUU6
IEltcGxlbWVudC4KK30KICNlbmRpZiAvLyAhRU5BQkxFKFRIUkVBREVEX1NDUk9MTElORykKIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9z
Y3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmgKaW5kZXggNWQ0NWViNjIwMmZmY2RlZDJjZjM2
OWUxZWY1YzdmYzgyMTc3NzczMS4uMmFiMzRiMmQyZDNlNmY3NTBhMDRkODVlNmYyZGYxNzQxOTAz
ZGQ5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5n
Q29vcmRpbmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxp
bmdDb29yZGluYXRvci5oCkBAIC00OCw2ICs0OCw3IEBAIGNsYXNzIEZyYW1lVmlldzsKIGNsYXNz
IEdyYXBoaWNzTGF5ZXI7CiBjbGFzcyBQYWdlOwogY2xhc3MgUmVnaW9uOworY2xhc3MgU2Nyb2xs
YWJsZUFyZWE7CiBjbGFzcyBTY3JvbGxpbmdDb29yZGluYXRvclByaXZhdGU7CiBjbGFzcyBTY3Jv
bGxpbmdUcmVlU3RhdGU7CiAKQEAgLTkyLDYgKzkzLDkgQEAgcHVibGljOgogICAgIC8vIFNob3Vs
ZCBiZSBjYWxsZWQgd2hlbmV2ZXIgdGhlIHZlcnRpY2FsIHNjcm9sbGJhciBsYXllciBmb3IgdGhl
IGdpdmVuIGZyYW1lIHZpZXcgY2hhbmdlcy4KICAgICB2b2lkIGZyYW1lVmlld1ZlcnRpY2FsU2Ny
b2xsYmFyTGF5ZXJEaWRDaGFuZ2UoRnJhbWVWaWV3KiwgR3JhcGhpY3NMYXllciogdmVydGljYWxT
Y3JvbGxiYXJMYXllcik7CiAKKyAgICAvLyBTaG91bGQgYmUgY2FsbGVkIHdoZW5ldmVyIHRoZSBz
Y3JvbGxhYmxlIGxheWVyIGZvciB0aGUgZ2l2ZW4gc2Nyb2xsIGFyZWEgY2hhbmdlcy4KKyAgICB2
b2lkIHNjcm9sbGFibGVBcmVhU2Nyb2xsTGF5ZXJEaWRDaGFuZ2UoU2Nyb2xsYWJsZUFyZWEqLCBH
cmFwaGljc0xheWVyKik7CisKICAgICAvLyBSZXF1ZXN0cyB0aGF0IHRoZSBzY3JvbGxpbmcgY29v
cmRpbmF0b3IgdXBkYXRlcyB0aGUgc2Nyb2xsIHBvc2l0aW9uIG9mIHRoZSBnaXZlbiBmcmFtZSB2
aWV3LiBJZiB0aGlzIGZ1bmN0aW9uIHJldHVybnMgdHJ1ZSwgaXQgbWVhbnMgdGhhdCB0aGUKICAg
ICAvLyBwb3NpdGlvbiB3aWxsIGJlIHVwZGF0ZWQgYXN5bmNocm9ub3VzbHkuIElmIGl0IHJldHVy
bnMgZmFsc2UsIHRoZSBjYWxsZXIgc2hvdWxkIHVwZGF0ZSB0aGUgc2Nyb2xsaW5nIHBvc2l0aW9u
IGl0c2VsZi4KICAgICBib29sIHJlcXVlc3RTY3JvbGxQb3NpdGlvblVwZGF0ZShGcmFtZVZpZXcq
LCBjb25zdCBJbnRQb2ludCYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3JOb25lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
c2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTm9uZS5jcHAKaW5kZXggZjBhY2ZlMGNjM2Ix
NzFkMzMxMDQ3MDQ2NTAwMmUwZDJhNTdmZDA5Yy4uYjA5NTUyZDg2ODNjYzdmOWRhMGEzOGU4ZDJi
MjNmN2UzNTU0MTA0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcv
U2Nyb2xsaW5nQ29vcmRpbmF0b3JOb25lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvck5vbmUuY3BwCkBAIC04Myw2ICs4MywxMCBAQCB2
b2lkIFNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpzZXRMYXllcklzQ29udGFpbmVyRm9yRml4ZWRQb3Np
dGlvbkxheWVycyhHcmFwaGljc0xheQogdm9pZCBTY3JvbGxpbmdDb29yZGluYXRvcjo6c2V0TGF5
ZXJJc0ZpeGVkVG9Db250YWluZXJMYXllcihHcmFwaGljc0xheWVyKiwgYm9vbCkKIHsKIH0KKwor
dm9pZCBTY3JvbGxpbmdDb29yZGluYXRvcjo6c2Nyb2xsYWJsZUFyZWFTY3JvbGxMYXllckRpZENo
YW5nZShTY3JvbGxhYmxlQXJlYSosIEdyYXBoaWNzTGF5ZXIqKQoreworfQogI2VuZGlmIC8vICFF
TkFCTEUoVEhSRUFERURfU0NST0xMSU5HKQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL3Njcm9sbGluZy9jaHJvbWl1bS9TY3JvbGxpbmdDb29yZGluYXRvckNocm9taXVtLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2Nocm9taXVtL1Njcm9sbGluZ0Nvb3Jk
aW5hdG9yQ2hyb21pdW0uY3BwCmluZGV4IDFkYjc1OTQwNDdjODhjYWIwZGRhZmUwMDM3YTNiZTZj
YWMzODY4ODYuLjljYzRkYmVhMTQ3Nzc2YTQ3N2JkMGFmYmRjM2QwYjUxOTMyODM3YmQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2Nocm9taXVtL1Njcm9sbGluZ0Nv
b3JkaW5hdG9yQ2hyb21pdW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5n
L2Nocm9taXVtL1Njcm9sbGluZ0Nvb3JkaW5hdG9yQ2hyb21pdW0uY3BwCkBAIC0yOSw2ICsyOSw3
IEBACiAKICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIkZyYW1lVmlldy5oIgorI2luY2x1
ZGUgIkdyYXBoaWNzTGF5ZXJDaHJvbWl1bS5oIgogI2luY2x1ZGUgIlJlZ2lvbi5oIgogI2luY2x1
ZGUgIlJlbmRlckxheWVyQ29tcG9zaXRvci5oIgogI2luY2x1ZGUgIlJlbmRlclZpZXcuaCIKQEAg
LTIyNSw0ICsyMjYsMTcgQEAgdm9pZCBTY3JvbGxpbmdDb29yZGluYXRvcjo6c2V0TGF5ZXJJc0Zp
eGVkVG9Db250YWluZXJMYXllcihHcmFwaGljc0xheWVyKiBsYXllciwKICAgICAgICAgcGxhdGZv
cm1MYXllci0+dG88V2ViU2Nyb2xsYWJsZUxheWVyPigpLnNldEZpeGVkVG9Db250YWluZXJMYXll
cihlbmFibGUpOwogfQogCit2b2lkIFNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpzY3JvbGxhYmxlQXJl
YVNjcm9sbExheWVyRGlkQ2hhbmdlKFNjcm9sbGFibGVBcmVhKiBzY3JvbGxhYmxlQXJlYSwgR3Jh
cGhpY3NMYXllciogc2Nyb2xsTGF5ZXIpCit7CisgICAgR3JhcGhpY3NMYXllckNocm9taXVtKiBs
YXllciA9IHN0YXRpY19jYXN0PEdyYXBoaWNzTGF5ZXJDaHJvbWl1bSo+KHNjcm9sbExheWVyKTsK
KyAgICBXZWJMYXllciogcGxhdGZvcm1MYXllciA9IHNjcm9sbExheWVyID8gc2Nyb2xsTGF5ZXIt
PnBsYXRmb3JtTGF5ZXIoKSA6IDA7CisgICAgaWYgKGxheWVyKQorICAgICAgICBsYXllci0+c2V0
U2Nyb2xsYWJsZUFyZWEoc2Nyb2xsYWJsZUFyZWEpOworICAgIGlmICghcGxhdGZvcm1MYXllcikK
KyAgICAgICAgcmV0dXJuOworICAgIHBsYXRmb3JtTGF5ZXItPnNldFNjcm9sbGFibGUodHJ1ZSk7
CisgICAgcGxhdGZvcm1MYXllci0+c2V0U2Nyb2xsUG9zaXRpb24oc2Nyb2xsYWJsZUFyZWEtPnNj
cm9sbFBvc2l0aW9uKCkpOworICAgIHBsYXRmb3JtTGF5ZXItPnNldE1heFNjcm9sbFBvc2l0aW9u
KEludFNpemUoc2Nyb2xsYWJsZUFyZWEtPnNjcm9sbFNpemUoSG9yaXpvbnRhbFNjcm9sbGJhciks
IHNjcm9sbGFibGVBcmVhLT5zY3JvbGxTaXplKFZlcnRpY2FsU2Nyb2xsYmFyKSkpOworfQorCiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuaAppbmRleCA1YTI3OGE5YjVi
OWM3YzE4NTFhNGM1MzNjNjBiNTQ1MTUzZmNlZDNhLi41ZWMyM2I3ZDA5N2U4NDJhMzY5NDBlMWVl
YzlhNmYxNTdmNDYxYmY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3Jv
bGxhYmxlQXJlYS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVh
LmgKQEAgLTE3MCw2ICsxNzAsNyBAQCBwdWJsaWM6CiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBP
U0lUSU5HKQogICAgIHZpcnR1YWwgVGlsZWRCYWNraW5nKiB0aWxlZEJhY2tpbmcoKSB7IHJldHVy
biAwOyB9CiAjZW5kaWYKKyAgICB2aXJ0dWFsIGJvb2wgdXNlc0NvbXBvc2l0ZWRTY3JvbGxpbmco
KSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogCiBwcm90ZWN0ZWQ6CiAgICAgU2Nyb2xsYWJsZUFy
ZWEoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBo
aWNzTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NM
YXllci5jcHAKaW5kZXggNGMzNTlkMjQ1MjUyZDU0YTNlOGY0Y2I5ZDM2NDExMDgwZmU2MWUyYS4u
MzUzNGJjZjk4ZGUzMDAzM2RkZDE3NzQ4NTEyZDBkM2RhYjA1NTVjMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5jcHAKQEAgLTI4NCw3
ICsyODQsNyBAQCB2b2lkIEdyYXBoaWNzTGF5ZXI6OnNldFJlcGxpY2F0ZWRCeUxheWVyKEdyYXBo
aWNzTGF5ZXIqIGxheWVyKQogICAgIG1fcmVwbGljYUxheWVyID0gbGF5ZXI7CiB9CiAKLXZvaWQg
R3JhcGhpY3NMYXllcjo6c2V0T2Zmc2V0RnJvbVJlbmRlcmVyKGNvbnN0IEludFNpemUmIG9mZnNl
dCkKK3ZvaWQgR3JhcGhpY3NMYXllcjo6c2V0T2Zmc2V0RnJvbVJlbmRlcmVyKGNvbnN0IEludFNp
emUmIG9mZnNldCwgU2V0TmVlZHNEaXNwbGF5T3JOb3Qgc2V0TmVlZHNEaXNwbGF5QmVoYXZpb3Ip
CiB7CiAgICAgaWYgKG9mZnNldCA9PSBtX29mZnNldEZyb21SZW5kZXJlcikKICAgICAgICAgcmV0
dXJuOwpAQCAtMjkyLDcgKzI5Miw4IEBAIHZvaWQgR3JhcGhpY3NMYXllcjo6c2V0T2Zmc2V0RnJv
bVJlbmRlcmVyKGNvbnN0IEludFNpemUmIG9mZnNldCkKICAgICBtX29mZnNldEZyb21SZW5kZXJl
ciA9IG9mZnNldDsKIAogICAgIC8vIElmIHRoZSBjb21wb3NpdGluZyBsYXllciBvZmZzZXQgY2hh
bmdlcywgd2UgbmVlZCB0byByZXBhaW50LgotICAgIHNldE5lZWRzRGlzcGxheSgpOworICAgIGlm
IChzZXROZWVkc0Rpc3BsYXlCZWhhdmlvciA9PSBTZXROZWVkc0Rpc3BsYXkpCisgICAgICAgIHNl
dE5lZWRzRGlzcGxheSgpOwogfQogCiB2b2lkIEdyYXBoaWNzTGF5ZXI6OnNldEJhY2tncm91bmRD
b2xvcihjb25zdCBDb2xvciYgY29sb3IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9HcmFwaGljc0xheWVyLmgKaW5kZXggMTU1NmNlODQ1NTNiYzk3ZTViYTZjOTc1Mzli
YmE5ZGY0Y2Y5NzljMi4uZTg2ZjgxOTRkOTA4MzhlNzAyODg5YTM2YjRhODQ2YzJhYmZmNDFhYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXll
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIu
aApAQCAtMjMzLDkgKzIzMywxMSBAQCBwdWJsaWM6CiAgICAgY29uc3QgRmxvYXRQb2ludCYgcmVw
bGljYXRlZExheWVyUG9zaXRpb24oKSBjb25zdCB7IHJldHVybiBtX3JlcGxpY2F0ZWRMYXllclBv
c2l0aW9uOyB9CiAgICAgdm9pZCBzZXRSZXBsaWNhdGVkTGF5ZXJQb3NpdGlvbihjb25zdCBGbG9h
dFBvaW50JiBwKSB7IG1fcmVwbGljYXRlZExheWVyUG9zaXRpb24gPSBwOyB9CiAKKyAgICBlbnVt
IFNldE5lZWRzRGlzcGxheU9yTm90IHsgRG9udFNldE5lZWRzRGlzcGxheSwgU2V0TmVlZHNEaXNw
bGF5IH07CisKICAgICAvLyBPZmZzZXQgaXMgb3JpZ2luIG9mIHRoZSByZW5kZXJlciBtaW51cyBv
cmlnaW4gb2YgdGhlIGdyYXBoaWNzIGxheWVyIChzbyBlaXRoZXIgemVybyBvciBuZWdhdGl2ZSku
CiAgICAgSW50U2l6ZSBvZmZzZXRGcm9tUmVuZGVyZXIoKSBjb25zdCB7IHJldHVybiBtX29mZnNl
dEZyb21SZW5kZXJlcjsgfQotICAgIHZvaWQgc2V0T2Zmc2V0RnJvbVJlbmRlcmVyKGNvbnN0IElu
dFNpemUmKTsKKyAgICB2b2lkIHNldE9mZnNldEZyb21SZW5kZXJlcihjb25zdCBJbnRTaXplJiwg
U2V0TmVlZHNEaXNwbGF5T3JOb3QgPSBTZXROZWVkc0Rpc3BsYXkpOwogCiAgICAgLy8gVGhlIHBv
c2l0aW9uIG9mIHRoZSBsYXllciAodGhlIGxvY2F0aW9uIG9mIGl0cyB0b3AtbGVmdCBjb3JuZXIg
aW4gaXRzIHBhcmVudCkKICAgICBjb25zdCBGbG9hdFBvaW50JiBwb3NpdGlvbigpIGNvbnN0IHsg
cmV0dXJuIG1fcG9zaXRpb247IH0KQEAgLTUwMSw0ICs1MDMsMyBAQCB2b2lkIHNob3dHcmFwaGlj
c0xheWVyVHJlZShjb25zdCBXZWJDb3JlOjpHcmFwaGljc0xheWVyKiBsYXllcik7CiAjZW5kaWYg
Ly8gVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogCiAjZW5kaWYgLy8gR3JhcGhpY3NMYXll
cl9oCi0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBo
aWNzTGF5ZXJDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBo
aWNzTGF5ZXJDbGllbnQuaAppbmRleCA5MDJhMjU3M2Q1MWVhM2RhMjI2ZThhZDEzMzNjYWVkNjU5
NDgzOTNmLi5iZGVkZTM1MzUwODI3YmM0YjcwNmMyZTU0NTNiZTJmZDFjZDIxMTBjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyQ2xpZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllckNs
aWVudC5oCkBAIC0zNiwxMiArMzYsMTQgQEAgY2xhc3MgSW50UG9pbnQ7CiBjbGFzcyBJbnRSZWN0
OwogY2xhc3MgRmxvYXRQb2ludDsKIAotZW51bSBHcmFwaGljc0xheWVyUGFpbnRpbmdQaGFzZSB7
CitlbnVtIEdyYXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlRmxhZ3MgewogICAgIEdyYXBoaWNzTGF5
ZXJQYWludEJhY2tncm91bmQgPSAoMSA8PCAwKSwKICAgICBHcmFwaGljc0xheWVyUGFpbnRGb3Jl
Z3JvdW5kID0gKDEgPDwgMSksCiAgICAgR3JhcGhpY3NMYXllclBhaW50TWFzayA9ICgxIDw8IDIp
LAorICAgIEdyYXBoaWNzTGF5ZXJQYWludE92ZXJmbG93Q29udGVudHMgPSAoMSA8PCAzKSwKICAg
ICBHcmFwaGljc0xheWVyUGFpbnRBbGwgPSAoR3JhcGhpY3NMYXllclBhaW50QmFja2dyb3VuZCB8
IEdyYXBoaWNzTGF5ZXJQYWludEZvcmVncm91bmQgfCBHcmFwaGljc0xheWVyUGFpbnRNYXNrKQog
fTsKK3R5cGVkZWYgdW5zaWduZWQgR3JhcGhpY3NMYXllclBhaW50aW5nUGhhc2U7CiAKIGVudW0g
QW5pbWF0ZWRQcm9wZXJ0eUlEIHsKICAgICBBbmltYXRlZFByb3BlcnR5SW52YWxpZCwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dyYXBoaWNz
TGF5ZXJDaHJvbWl1bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9HcmFwaGljc0xheWVyQ2hyb21pdW0uY3BwCmluZGV4IDlmODMwNGY2ZmU1YzQyZWQyYTRl
NzlkNWQzYTZhZjU0N2Y3YzQ4MmQuLjAyZGEyMWU1MzBiMjhlMmQyNjk5NTYwY2MxNjYyNWFlYzg5
ZGFjYTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL0dyYXBoaWNzTGF5ZXJDaHJvbWl1bS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vR3JhcGhpY3NMYXllckNocm9taXVtLmNwcApAQCAtNTYsNiAr
NTYsNyBAQAogI2luY2x1ZGUgIk5hdGl2ZUltYWdlU2tpYS5oIgogI2luY2x1ZGUgIlBsYXRmb3Jt
Q29udGV4dFNraWEuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgorI2luY2x1ZGUgIlNj
cm9sbGFibGVBcmVhLmgiCiAjaW5jbHVkZSAiU2tNYXRyaXg0NC5oIgogI2luY2x1ZGUgIlN5c3Rl
bVRpbWUuaCIKIApAQCAtODcsMTAgKzg4LDEyIEBAIEdyYXBoaWNzTGF5ZXJDaHJvbWl1bTo6R3Jh
cGhpY3NMYXllckNocm9taXVtKEdyYXBoaWNzTGF5ZXJDbGllbnQqIGNsaWVudCkKICAgICAsIG1f
Y29udGVudHNMYXllckhhc0JhY2tncm91bmRDb2xvcihmYWxzZSkKICAgICAsIG1faW5TZXRDaGls
ZHJlbihmYWxzZSkKICAgICAsIG1fcGFnZVNjYWxlQ2hhbmdlZChmYWxzZSkKKyAgICAsIG1fc2Ny
b2xsYWJsZUFyZWEoMCkKIHsKICAgICBtX29wYXF1ZVJlY3RUcmFja2luZ0NvbnRlbnRMYXllckRl
bGVnYXRlID0gYWRvcHRQdHIobmV3IE9wYXF1ZVJlY3RUcmFja2luZ0NvbnRlbnRMYXllckRlbGVn
YXRlKHRoaXMpKTsKICAgICBtX2xheWVyID0gV2ViQ29udGVudExheWVyOjpjcmVhdGUobV9vcGFx
dWVSZWN0VHJhY2tpbmdDb250ZW50TGF5ZXJEZWxlZ2F0ZS5nZXQoKSk7CiAgICAgbV9sYXllci5z
ZXREcmF3c0NvbnRlbnQobV9kcmF3c0NvbnRlbnQgJiYgbV9jb250ZW50c1Zpc2libGUpOworICAg
IG1fbGF5ZXIuc2V0U2Nyb2xsRGVsZWdhdGUodGhpcyk7CiAgICAgaWYgKGNsaWVudCkKICAgICAg
ICAgZGV2aWNlT3JQYWdlU2NhbGVGYWN0b3JDaGFuZ2VkKCk7CiAgICAgdXBkYXRlRGVidWdJbmRp
Y2F0b3JzKCk7CkBAIC0yMzgsNiArMjQxLDEyIEBAIHZvaWQgR3JhcGhpY3NMYXllckNocm9taXVt
OjpzZXRTaXplKGNvbnN0IEZsb2F0U2l6ZSYgc2l6ZSkKICAgICBtX3BhZ2VTY2FsZUNoYW5nZWQg
PSBmYWxzZTsKIH0KIAordm9pZCBHcmFwaGljc0xheWVyQ2hyb21pdW06OnNldEJvdW5kc09yaWdp
bihjb25zdCBGbG9hdFBvaW50JiBvcmlnaW4pCit7CisgICAgR3JhcGhpY3NMYXllcjo6c2V0Qm91
bmRzT3JpZ2luKG9yaWdpbik7CisgICAgdXBkYXRlQ2hpbGRyZW5UcmFuc2Zvcm0oKTsKK30KKwog
dm9pZCBHcmFwaGljc0xheWVyQ2hyb21pdW06OnNldFRyYW5zZm9ybShjb25zdCBUcmFuc2Zvcm1h
dGlvbk1hdHJpeCYgdHJhbnNmb3JtKQogewogICAgIC8vIENhbGwgdGhpcyBtZXRob2QgZmlyc3Qg
dG8gYXNzaWduIGNvbnRlbnRzIHNjYWxlIHRvIG91ciBsYXllciBzbyB0aGUgcGFpbnRlciBjYW4g
YXBwbHkgdGhlIHNjYWxlIHRyYW5zZm9ybS4KQEAgLTcwMCw3ICs3MDksMTAgQEAgdm9pZCBHcmFw
aGljc0xheWVyQ2hyb21pdW06OnVwZGF0ZVRyYW5zZm9ybSgpCiAKIHZvaWQgR3JhcGhpY3NMYXll
ckNocm9taXVtOjp1cGRhdGVDaGlsZHJlblRyYW5zZm9ybSgpCiB7Ci0gICAgcHJpbWFyeUxheWVy
KCkuc2V0U3VibGF5ZXJUcmFuc2Zvcm0oV2ViVHJhbnNmb3JtYXRpb25NYXRyaXgobV9jaGlsZHJl
blRyYW5zZm9ybSkpOworICAgIFdlYlRyYW5zZm9ybWF0aW9uTWF0cml4IHN1YmxheWVyVHJhbnNm
b3JtOworICAgIHN1YmxheWVyVHJhbnNmb3JtLnRyYW5zbGF0ZSgtYm91bmRzT3JpZ2luKCkueCgp
LCAtYm91bmRzT3JpZ2luKCkueSgpKTsKKyAgICBzdWJsYXllclRyYW5zZm9ybS5tdWx0aXBseShX
ZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeChtX2NoaWxkcmVuVHJhbnNmb3JtKSk7CisgICAgcHJpbWFy
eUxheWVyKCkuc2V0U3VibGF5ZXJUcmFuc2Zvcm0oc3VibGF5ZXJUcmFuc2Zvcm0pOwogfQogCiB2
b2lkIEdyYXBoaWNzTGF5ZXJDaHJvbWl1bTo6dXBkYXRlTWFza3NUb0JvdW5kcygpCkBAIC04OTks
NiArOTExLDEyIEBAIHZvaWQgR3JhcGhpY3NMYXllckNocm9taXVtOjpub3RpZnlBbmltYXRpb25G
aW5pc2hlZChkb3VibGUpCiAgICAgLy8gRG8gbm90aGluZy4KIH0KIAordm9pZCBHcmFwaGljc0xh
eWVyQ2hyb21pdW06OmRpZFNjcm9sbChjb25zdCBXZWJTaXplJiBzY3JvbGxEZWx0YSkKK3sKKyAg
ICBpZiAobV9zY3JvbGxhYmxlQXJlYSkKKyAgICAgICAgbV9zY3JvbGxhYmxlQXJlYS0+c2Nyb2xs
VG9PZmZzZXRXaXRob3V0QW5pbWF0aW9uKG1fc2Nyb2xsYWJsZUFyZWEtPnNjcm9sbFBvc2l0aW9u
KCkgKyBzY3JvbGxEZWx0YSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlm
IC8vIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dyYXBoaWNzTGF5ZXJDaHJvbWl1bS5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vR3JhcGhpY3NMYXllckNo
cm9taXVtLmgKaW5kZXggNWFlMDk0ODc3OGVmNWI5NzdjMzQ5ZjAzNjk2OTEwNWZkNzg0ZDNmOC4u
N2YxZGFiNWViYTc5ODYzZTUwYzZjNDg2NTY4YjA0ODU0ZWQ5NjAwNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vR3JhcGhpY3NMYXllckNocm9t
aXVtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vR3Jh
cGhpY3NMYXllckNocm9taXVtLmgKQEAgLTM1LDIwICszNSwyNiBAQAogCiAjaW5jbHVkZSAiR3Jh
cGhpY3NDb250ZXh0LmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NMYXllci5oIgorI2luY2x1ZGUgIkxh
eWVyQ2hyb21pdW0uaCIKICNpbmNsdWRlICJPcGFxdWVSZWN0VHJhY2tpbmdDb250ZW50TGF5ZXJE
ZWxlZ2F0ZS5oIgogCiAjaW5jbHVkZSA8cHVibGljL1dlYkFuaW1hdGlvbkRlbGVnYXRlLmg+CiAj
aW5jbHVkZSA8cHVibGljL1dlYkNvbnRlbnRMYXllci5oPgogI2luY2x1ZGUgPHB1YmxpYy9XZWJM
YXllci5oPgorI2luY2x1ZGUgPHB1YmxpYy9XZWJTY3JvbGxEZWxlZ2F0ZS5oPgogI2luY2x1ZGUg
PHd0Zi9IYXNoTWFwLmg+CiAKK25hbWVzcGFjZSBXZWJLaXQgeworc3RydWN0IFdlYlNpemU7Cit9
CisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgTGF5ZXJDaHJvbWl1bTsKIGNsYXNzIExp
bmtIaWdobGlnaHQ7CiBjbGFzcyBQYXRoOworY2xhc3MgU2Nyb2xsYWJsZUFyZWE7CiAKLWNsYXNz
IEdyYXBoaWNzTGF5ZXJDaHJvbWl1bSA6IHB1YmxpYyBHcmFwaGljc0xheWVyLCBwdWJsaWMgR3Jh
cGhpY3NDb250ZXh0UGFpbnRlciwgcHVibGljIFdlYktpdDo6V2ViQW5pbWF0aW9uRGVsZWdhdGUg
eworY2xhc3MgR3JhcGhpY3NMYXllckNocm9taXVtIDogcHVibGljIEdyYXBoaWNzTGF5ZXIsIHB1
YmxpYyBHcmFwaGljc0NvbnRleHRQYWludGVyLCBwdWJsaWMgV2ViS2l0OjpXZWJBbmltYXRpb25E
ZWxlZ2F0ZSwgcHVibGljIFdlYktpdDo6V2ViU2Nyb2xsRGVsZWdhdGUgewogcHVibGljOgogICAg
IEdyYXBoaWNzTGF5ZXJDaHJvbWl1bShHcmFwaGljc0xheWVyQ2xpZW50Kik7CiAgICAgdmlydHVh
bCB+R3JhcGhpY3NMYXllckNocm9taXVtKCk7CkBAIC02Nyw2ICs3Myw3IEBAIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIHZvaWQgc2V0UG9zaXRpb24oY29uc3QgRmxvYXRQb2ludCYpOwogICAgIHZpcnR1
YWwgdm9pZCBzZXRBbmNob3JQb2ludChjb25zdCBGbG9hdFBvaW50M0QmKTsKICAgICB2aXJ0dWFs
IHZvaWQgc2V0U2l6ZShjb25zdCBGbG9hdFNpemUmKTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0Qm91
bmRzT3JpZ2luKGNvbnN0IEZsb2F0UG9pbnQmKTsKIAogICAgIHZpcnR1YWwgdm9pZCBzZXRUcmFu
c2Zvcm0oY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmKTsKIApAQCAtMTE4LDYgKzEyNSw5IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2V0RGVidWdCb3JkZXIoY29uc3QgQ29sb3ImLCBm
bG9hdCBib3JkZXJXaWR0aCk7CiAgICAgdmlydHVhbCB2b2lkIGRldmljZU9yUGFnZVNjYWxlRmFj
dG9yQ2hhbmdlZCgpOwogCisgICAgdm9pZCBzZXRTY3JvbGxhYmxlQXJlYShTY3JvbGxhYmxlQXJl
YSogc2Nyb2xsYWJsZUFyZWEpIHsgbV9zY3JvbGxhYmxlQXJlYSA9IHNjcm9sbGFibGVBcmVhOyB9
CisgICAgU2Nyb2xsYWJsZUFyZWEqIHNjcm9sbGFibGVBcmVhKCkgY29uc3QgeyByZXR1cm4gbV9z
Y3JvbGxhYmxlQXJlYTsgfQorCiAgICAgLy8gR3JhcGhpY3NDb250ZXh0UGFpbnRlciBpbXBsZW1l
bnRhdGlvbi4KICAgICB2aXJ0dWFsIHZvaWQgcGFpbnQoR3JhcGhpY3NDb250ZXh0JiwgY29uc3Qg
SW50UmVjdCYgY2xpcCkgT1ZFUlJJREU7CiAKQEAgLTEyNSw2ICsxMzUsOSBAQCBwdWJsaWM6CiAg
ICAgdmlydHVhbCB2b2lkIG5vdGlmeUFuaW1hdGlvblN0YXJ0ZWQoZG91YmxlIHN0YXJ0VGltZSkg
T1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIG5vdGlmeUFuaW1hdGlvbkZpbmlzaGVkKGRvdWJs
ZSBmaW5pc2hUaW1lKSBPVkVSUklERTsKIAorICAgIC8vIFdlYlNjcm9sbERlbGVnYXRlIGltcGxl
bWVudGF0aW9uLgorICAgIHZpcnR1YWwgdm9pZCBkaWRTY3JvbGwoY29uc3QgV2ViS2l0OjpXZWJT
aXplJikgT1ZFUlJJREU7CisKICAgICAvLyBFeHBvc2VkIGZvciB0ZXN0cy4KICAgICBXZWJLaXQ6
OldlYkxheWVyIGNvbnRlbnRzTGF5ZXIoKSBjb25zdCB7IHJldHVybiBtX2NvbnRlbnRzTGF5ZXI7
IH0KIApAQCAtMTc5LDYgKzE5Miw4IEBAIHByaXZhdGU6CiAKICAgICB0eXBlZGVmIEhhc2hNYXA8
U3RyaW5nLCBpbnQ+IEFuaW1hdGlvbklkTWFwOwogICAgIEFuaW1hdGlvbklkTWFwIG1fYW5pbWF0
aW9uSWRNYXA7CisKKyAgICBTY3JvbGxhYmxlQXJlYSogbV9zY3JvbGxhYmxlQXJlYTsKIH07CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyQ2hyb21pdW0uY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJDaHJvbWl1bS5jcHAKaW5kZXggM2I5YzM2
MjY5OGFhNGMyYzQ4ZmNkNjM1ZDE0ZDQ0NDMwYmQ0MWRlMy4uN2MzOWJmYWM4MTIyY2YwMTAyNDhl
ZTVmNjgzODhiNmRmYjExODQyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJDaHJvbWl1bS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJDaHJvbWl1bS5jcHAKQEAgLTQyLDYgKzQy
LDggQEAKICNpbmNsdWRlICJjYy9DQ1NldHRpbmdzLmgiCiAKICNpbmNsdWRlIDxwdWJsaWMvV2Vi
QW5pbWF0aW9uRGVsZWdhdGUuaD4KKyNpbmNsdWRlIDxwdWJsaWMvV2ViU2Nyb2xsRGVsZWdhdGUu
aD4KKyNpbmNsdWRlIDxwdWJsaWMvV2ViU2l6ZS5oPgogCiB1c2luZyBuYW1lc3BhY2Ugc3RkOwog
dXNpbmcgV2ViS2l0OjpXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeDsKQEAgLTkyLDcgKzk0LDcgQEAg
TGF5ZXJDaHJvbWl1bTo6TGF5ZXJDaHJvbWl1bSgpCiAgICAgLCBtX3NjcmVlblNwYWNlVHJhbnNm
b3JtSXNBbmltYXRpbmcoZmFsc2UpCiAgICAgLCBtX2NvbnRlbnRzU2NhbGUoMS4wKQogICAgICwg
bV9sYXllckFuaW1hdGlvbkRlbGVnYXRlKDApCi0gICAgLCBtX2xheWVyU2Nyb2xsRGVsZWdhdGUo
MCkKKyAgICAsIG1fc2Nyb2xsRGVsZWdhdGUoMCkKIHsKICAgICBpZiAobV9sYXllcklkIDwgMCkg
ewogICAgICAgICBzX25leHRMYXllcklkID0gMTsKQEAgLTQ0Miw4ICs0NDQsOCBAQCB2b2lkIExh
eWVyQ2hyb21pdW06OnNldE5vbkZhc3RTY3JvbGxhYmxlUmVnaW9uKGNvbnN0IFJlZ2lvbiYgcmVn
aW9uKQogdm9pZCBMYXllckNocm9taXVtOjpzY3JvbGxCeShjb25zdCBJbnRTaXplJiBzY3JvbGxE
ZWx0YSkKIHsKICAgICBzZXRTY3JvbGxQb3NpdGlvbihzY3JvbGxQb3NpdGlvbigpICsgc2Nyb2xs
RGVsdGEpOwotICAgIGlmIChtX2xheWVyU2Nyb2xsRGVsZWdhdGUpCi0gICAgICAgIG1fbGF5ZXJT
Y3JvbGxEZWxlZ2F0ZS0+ZGlkU2Nyb2xsKHNjcm9sbERlbHRhKTsKKyAgICBpZiAobV9zY3JvbGxE
ZWxlZ2F0ZSkKKyAgICAgICAgbV9zY3JvbGxEZWxlZ2F0ZS0+ZGlkU2Nyb2xsKFdlYktpdDo6V2Vi
U2l6ZShzY3JvbGxEZWx0YSkpOwogfQogCiB2b2lkIExheWVyQ2hyb21pdW06OnNldERyYXdDaGVj
a2VyYm9hcmRGb3JNaXNzaW5nVGlsZXMoYm9vbCBjaGVja2VyYm9hcmQpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllckNocm9taXVtLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllckNocm9taXVt
LmgKaW5kZXggY2ZlNmM3ODZmMTRjMDUxNmVhNDVmYzMxZGM0ZjhiMGU0MDc4NzI0Yi4uNDNhMDhk
NTg1YTdjNzczYmYzNTRiYTc5NzBhNGJmYWMxMjk5NWY5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJDaHJvbWl1bS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyQ2hyb21pdW0uaApA
QCAtNTQsNiArNTQsNyBAQAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIGNsYXNzIFdlYkFuaW1hdGlv
bkRlbGVnYXRlOworY2xhc3MgV2ViU2Nyb2xsRGVsZWdhdGU7CiB9CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKQEAgLTY4LDE1ICs2OSw2IEBAIGNsYXNzIFNjcm9sbGJhckxheWVyQ2hyb21pdW07CiBz
dHJ1Y3QgQ0NBbmltYXRpb25FdmVudDsKIHN0cnVjdCBDQ1JlbmRlcmluZ1N0YXRzOwogCi0vLyBE
ZWxlZ2F0ZSBmb3IgaGFuZGxpbmcgc2Nyb2xsIGlucHV0IGZvciBhIExheWVyQ2hyb21pdW0uCi1j
bGFzcyBMYXllckNocm9taXVtU2Nyb2xsRGVsZWdhdGUgewotcHVibGljOgotICAgIHZpcnR1YWwg
dm9pZCBkaWRTY3JvbGwoY29uc3QgSW50U2l6ZSYpID0gMDsKLQotcHJvdGVjdGVkOgotICAgIHZp
cnR1YWwgfkxheWVyQ2hyb21pdW1TY3JvbGxEZWxlZ2F0ZSgpIHsgfQotfTsKLQogLy8gQmFzZSBj
bGFzcyBmb3IgY29tcG9zaXRlZCBsYXllcnMuIFNwZWNpYWwgbGF5ZXIgdHlwZXMgYXJlIGRlcml2
ZWQgZnJvbQogLy8gdGhpcyBjbGFzcy4KIGNsYXNzIExheWVyQ2hyb21pdW0gOiBwdWJsaWMgUmVm
Q291bnRlZDxMYXllckNocm9taXVtPiwgcHVibGljIENDTGF5ZXJBbmltYXRpb25Db250cm9sbGVy
Q2xpZW50IHsKQEAgLTE3OCw3ICsxNzAsNyBAQCBwdWJsaWM6CiAgICAgY29uc3QgUmVnaW9uJiBu
b25GYXN0U2Nyb2xsYWJsZVJlZ2lvbigpIHsgcmV0dXJuIG1fbm9uRmFzdFNjcm9sbGFibGVSZWdp
b247IH0KICAgICB2b2lkIHNldE5vbkZhc3RTY3JvbGxhYmxlUmVnaW9uKGNvbnN0IFJlZ2lvbiYp
OwogICAgIHZvaWQgc2V0Tm9uRmFzdFNjcm9sbGFibGVSZWdpb25DaGFuZ2VkKCkgeyBtX25vbkZh
c3RTY3JvbGxhYmxlUmVnaW9uQ2hhbmdlZCA9IHRydWU7IH0KLSAgICB2b2lkIHNldExheWVyU2Ny
b2xsRGVsZWdhdGUoTGF5ZXJDaHJvbWl1bVNjcm9sbERlbGVnYXRlKiBsYXllclNjcm9sbERlbGVn
YXRlKSB7IG1fbGF5ZXJTY3JvbGxEZWxlZ2F0ZSA9IGxheWVyU2Nyb2xsRGVsZWdhdGU7IH0KKyAg
ICB2b2lkIHNldFNjcm9sbERlbGVnYXRlKFdlYktpdDo6V2ViU2Nyb2xsRGVsZWdhdGUqIHNjcm9s
bERlbGVnYXRlKSB7IG1fc2Nyb2xsRGVsZWdhdGUgPSBzY3JvbGxEZWxlZ2F0ZTsgfQogICAgIHZv
aWQgc2Nyb2xsQnkoY29uc3QgSW50U2l6ZSYpOwogCiAgICAgdm9pZCBzZXREcmF3Q2hlY2tlcmJv
YXJkRm9yTWlzc2luZ1RpbGVzKGJvb2wpOwpAQCAtNDA3LDcgKzM5OSw3IEBAIHByaXZhdGU6CiAg
ICAgZmxvYXQgbV9jb250ZW50c1NjYWxlOwogCiAgICAgV2ViS2l0OjpXZWJBbmltYXRpb25EZWxl
Z2F0ZSogbV9sYXllckFuaW1hdGlvbkRlbGVnYXRlOwotICAgIExheWVyQ2hyb21pdW1TY3JvbGxE
ZWxlZ2F0ZSogbV9sYXllclNjcm9sbERlbGVnYXRlOworICAgIFdlYktpdDo6V2ViU2Nyb2xsRGVs
ZWdhdGUqIG1fc2Nyb2xsRGVsZWdhdGU7CiB9OwogCiB2b2lkIHNvcnRMYXllcnMoVmVjdG9yPFJl
ZlB0cjxMYXllckNocm9taXVtPiA+OjppdGVyYXRvciwgVmVjdG9yPFJlZlB0cjxMYXllckNocm9t
aXVtPiA+OjppdGVyYXRvciwgdm9pZCopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllckltcGwuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJJbXBsLmgKaW5kZXggOTI2MTc1
ODhhNTcyMzE1YzczYzlhMDAxMGViZDUxNThhNzY1Y2UzMC4uY2YxMGUwYjc3NTMwNTQ3NTViN2Q4
M2FmMjk2MDY4MDY0ZDQ5MTY5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllckltcGwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVySW1wbC5oCkBAIC0zMTEsNiArMzEx
LDcgQEAgcHJpdmF0ZToKICAgICBmbG9hdCBtX2FuY2hvclBvaW50WjsKICAgICBJbnRTaXplIG1f
Ym91bmRzOwogICAgIEludFNpemUgbV9jb250ZW50Qm91bmRzOworICAgIEZsb2F0UG9pbnQgbV9i
b3VuZHNPcmlnaW47CiAgICAgSW50UG9pbnQgbV9zY3JvbGxQb3NpdGlvbjsKICAgICBib29sIG1f
c2Nyb2xsYWJsZTsKICAgICBib29sIG1fc2hvdWxkU2Nyb2xsT25NYWluVGhyZWFkOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKaW5kZXggZWYyYThlOGQwNzY2NzJiZmQ3
ODc0MGVlMTllMDgyOTZjNjZkMzMzYy4uZDY2Nzc5MzRjNmEwODJhYTIzYjI0ZDgwZDY1MTkxMDJm
ZGFlMzA3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCkBAIC0x
NTUyLDYgKzE1NTIsMjIgQEAgdm9pZCBSZW5kZXJMYXllcjo6Y29udmVydFRvTGF5ZXJDb29yZHMo
Y29uc3QgUmVuZGVyTGF5ZXIqIGFuY2VzdG9yTGF5ZXIsIExheW91dFIKICAgICByZWN0Lm1vdmUo
LWRlbHRhLngoKSwgLWRlbHRhLnkoKSk7CiB9CiAKK2Jvb2wgUmVuZGVyTGF5ZXI6OnVzZXNDb21w
b3NpdGVkU2Nyb2xsaW5nKCkgY29uc3QKK3sKKyNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJ
TkcpCisgICAgaWYgKCFzY3JvbGxzT3ZlcmZsb3coKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwor
CisjaWYgRU5BQkxFKE9WRVJGTE9XX1NDUk9MTElORykKKyAgICByZXR1cm4gcmVuZGVyZXIoKS0+
c3R5bGUoKS0+dXNlVG91Y2hPdmVyZmxvd1Njcm9sbGluZygpOworI2Vsc2UKKyAgICByZXR1cm4g
ZmFsc2U7CisjZW5kaWYKKyNlbHNlCisgICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCit9CisKIHN0
YXRpYyBpbmxpbmUgaW50IGFkanVzdGVkU2Nyb2xsRGVsdGEoaW50IGJlZ2lubmluZ0RlbHRhKSB7
CiAgICAgLy8gVGhpcyBpbXBsZW1lbnRpb24gbWF0Y2hlcyBGaXJlZm94J3MuCiAgICAgLy8gaHR0
cDovL214ci5tb3ppbGxhLm9yZy9maXJlZm94L3NvdXJjZS90b29sa2l0L2NvbnRlbnQvd2lkZ2V0
cy9icm93c2VyLnhtbCM4NTYuCkBAIC0xNzAzLDcgKzE3MTksNyBAQCB2b2lkIFJlbmRlckxheWVy
OjpzY3JvbGxUbyhpbnQgeCwgaW50IHkpCiAgICAgfQogCiAgICAgLy8gSnVzdCBzY2hlZHVsZSBh
IGZ1bGwgcmVwYWludCBvZiBvdXIgb2JqZWN0LgotICAgIGlmICh2aWV3KQorICAgIGlmICh2aWV3
ICYmICF1c2VzQ29tcG9zaXRlZFNjcm9sbGluZygpKQogICAgICAgICByZW5kZXJlcigpLT5yZXBh
aW50VXNpbmdDb250YWluZXIocmVwYWludENvbnRhaW5lciwgbV9yZXBhaW50UmVjdCk7CiAKICAg
ICAvLyBTY2hlZHVsZSB0aGUgc2Nyb2xsIERPTSBldmVudC4KQEAgLTMwMDksNyArMzAyNSw4IEBA
IHZvaWQgUmVuZGVyTGF5ZXI6OnBhaW50TGF5ZXIoUmVuZGVyTGF5ZXIqIHJvb3RMYXllciwgR3Jh
cGhpY3NDb250ZXh0KiBjb250ZXh0LAogICAgICAgICAvLyBNYWtlIHN1cmUgdGhlIHBhcmVudCdz
IGNsaXAgcmVjdHMgaGF2ZSBiZWVuIGNhbGN1bGF0ZWQuCiAgICAgICAgIENsaXBSZWN0IGNsaXBS
ZWN0ID0gcGFpbnREaXJ0eVJlY3Q7CiAgICAgICAgIGlmIChwYXJlbnQoKSkgewotICAgICAgICAg
ICAgY2xpcFJlY3QgPSBiYWNrZ3JvdW5kQ2xpcFJlY3Qocm9vdExheWVyLCByZWdpb24sIChwYWlu
dEZsYWdzICYgUGFpbnRMYXllclRlbXBvcmFyeUNsaXBSZWN0cykgPyBUZW1wb3JhcnlDbGlwUmVj
dHMgOiBQYWludGluZ0NsaXBSZWN0cyk7CisgICAgICAgICAgICBjbGlwUmVjdCA9IGJhY2tncm91
bmRDbGlwUmVjdChyb290TGF5ZXIsIHJlZ2lvbiwgKHBhaW50RmxhZ3MgJiBQYWludExheWVyVGVt
cG9yYXJ5Q2xpcFJlY3RzKSA/IFRlbXBvcmFyeUNsaXBSZWN0cyA6IFBhaW50aW5nQ2xpcFJlY3Rz
LAorICAgICAgICAgICAgICAgIElnbm9yZU92ZXJsYXlTY3JvbGxiYXJTaXplLCBwYWludEZsYWdz
ICYgUGFpbnRMYXllclBhaW50aW5nT3ZlcmZsb3dDb250ZW50cyA/IElnbm9yZU92ZXJmbG93Q2xp
cCA6IFJlc3BlY3RPdmVyZmxvd0NsaXApOwogICAgICAgICAgICAgY2xpcFJlY3QuaW50ZXJzZWN0
KHBhaW50RGlydHlSZWN0KTsKICAgICAgICAgCiAgICAgICAgICAgICAvLyBQdXNoIHRoZSBwYXJl
bnQgY29vcmRpbmF0ZSBzcGFjZSdzIGNsaXAuCkBAIC0zMTIyLDcgKzMxMzksOCBAQCB2b2lkIFJl
bmRlckxheWVyOjpwYWludExheWVyQ29udGVudHMoUmVuZGVyTGF5ZXIqIHJvb3RMYXllciwgR3Jh
cGhpY3NDb250ZXh0KiBjbwogI2VuZGlmCiAgICAgCiAgICAgaWYgKHNob3VsZFBhaW50Q29udGVu
dCB8fCBzaG91bGRQYWludE91dGxpbmUgfHwgaXNQYWludGluZ092ZXJsYXlTY3JvbGxiYXJzKSB7
Ci0gICAgICAgIGNhbGN1bGF0ZVJlY3RzKHJvb3RMYXllciwgcmVnaW9uLCAobG9jYWxQYWludEZs
YWdzICYgUGFpbnRMYXllclRlbXBvcmFyeUNsaXBSZWN0cykgPyBUZW1wb3JhcnlDbGlwUmVjdHMg
OiBQYWludGluZ0NsaXBSZWN0cywgcGFpbnREaXJ0eVJlY3QsIGxheWVyQm91bmRzLCBkYW1hZ2VS
ZWN0LCBjbGlwUmVjdFRvQXBwbHksIG91dGxpbmVSZWN0KTsKKyAgICAgICAgY2FsY3VsYXRlUmVj
dHMocm9vdExheWVyLCByZWdpb24sIChsb2NhbFBhaW50RmxhZ3MgJiBQYWludExheWVyVGVtcG9y
YXJ5Q2xpcFJlY3RzKSA/IFRlbXBvcmFyeUNsaXBSZWN0cyA6IFBhaW50aW5nQ2xpcFJlY3RzLCBw
YWludERpcnR5UmVjdCwgbGF5ZXJCb3VuZHMsIGRhbWFnZVJlY3QsIGNsaXBSZWN0VG9BcHBseSwg
b3V0bGluZVJlY3QsCisgICAgICAgICAgICBJZ25vcmVPdmVybGF5U2Nyb2xsYmFyU2l6ZSwgbG9j
YWxQYWludEZsYWdzICYgUGFpbnRMYXllclBhaW50aW5nT3ZlcmZsb3dDb250ZW50cyA/IElnbm9y
ZU92ZXJmbG93Q2xpcCA6IFJlc3BlY3RPdmVyZmxvd0NsaXApOwogICAgICAgICBwYWludE9mZnNl
dCA9IHRvUG9pbnQobGF5ZXJCb3VuZHMubG9jYXRpb24oKSAtIHJlbmRlckJveExvY2F0aW9uKCkp
OwogICAgIH0KIApAQCAtMzE0MSw4ICszMTU5LDkgQEAgdm9pZCBSZW5kZXJMYXllcjo6cGFpbnRM
YXllckNvbnRlbnRzKFJlbmRlckxheWVyKiByb290TGF5ZXIsIEdyYXBoaWNzQ29udGV4dCogY28K
ICAgICAgICAgcGVyZm9ybU92ZXJsYXBUZXN0cygqb3ZlcmxhcFRlc3RSZXF1ZXN0cywgcm9vdExh
eWVyLCB0aGlzKTsKIAogICAgIC8vIFdlIHdhbnQgdG8gcGFpbnQgb3VyIGxheWVyLCBidXQgb25s
eSBpZiB3ZSBpbnRlcnNlY3QgdGhlIGRhbWFnZSByZWN0LgotICAgIHNob3VsZFBhaW50Q29udGVu
dCAmPSBpbnRlcnNlY3RzRGFtYWdlUmVjdChsYXllckJvdW5kcywgZGFtYWdlUmVjdC5yZWN0KCks
IHJvb3RMYXllcik7Ci0gICAgCisgICAgaWYgKHRoaXMgIT0gcm9vdExheWVyIHx8ICEobG9jYWxQ
YWludEZsYWdzICYgUGFpbnRMYXllclBhaW50aW5nT3ZlcmZsb3dDb250ZW50cykpCisgICAgICAg
IHNob3VsZFBhaW50Q29udGVudCAmPSBpbnRlcnNlY3RzRGFtYWdlUmVjdChsYXllckJvdW5kcywg
ZGFtYWdlUmVjdC5yZWN0KCksIHJvb3RMYXllcik7CisKICAgICBpZiAobG9jYWxQYWludEZsYWdz
ICYgUGFpbnRMYXllclBhaW50aW5nQ29tcG9zaXRpbmdCYWNrZ3JvdW5kUGhhc2UpIHsKICAgICAg
ICAgaWYgKHNob3VsZFBhaW50Q29udGVudCAmJiAhc2VsZWN0aW9uT25seSkgewogICAgICAgICAg
ICAgLy8gQmVnaW4gdHJhbnNwYXJlbmN5IGxheWVycyBsYXppbHkgbm93IHRoYXQgd2Uga25vdyB3
ZSBoYXZlIHRvIHBhaW50IHNvbWV0aGluZy4KQEAgLTM4ODgsMTEgKzM5MDcsMTIgQEAgUmVuZGVy
TGF5ZXIqIFJlbmRlckxheWVyOjpoaXRUZXN0Q2hpbGRMYXllckNvbHVtbnMoUmVuZGVyTGF5ZXIq
IGNoaWxkTGF5ZXIsIFJlbmQKICAgICByZXR1cm4gMDsKIH0KIAotdm9pZCBSZW5kZXJMYXllcjo6
dXBkYXRlQ2xpcFJlY3RzKGNvbnN0IFJlbmRlckxheWVyKiByb290TGF5ZXIsIFJlbmRlclJlZ2lv
biogcmVnaW9uLCBDbGlwUmVjdHNUeXBlIGNsaXBSZWN0c1R5cGUsIE92ZXJsYXlTY3JvbGxiYXJT
aXplUmVsZXZhbmN5IHJlbGV2YW5jeSkKK3ZvaWQgUmVuZGVyTGF5ZXI6OnVwZGF0ZUNsaXBSZWN0
cyhjb25zdCBSZW5kZXJMYXllciogcm9vdExheWVyLCBSZW5kZXJSZWdpb24qIHJlZ2lvbiwgQ2xp
cFJlY3RzVHlwZSBjbGlwUmVjdHNUeXBlLCBPdmVybGF5U2Nyb2xsYmFyU2l6ZVJlbGV2YW5jeSBy
ZWxldmFuY3ksIFJlc3BlY3RPdmVyZmxvd0NsaXBPck5vdCByZXNwZWN0T3ZlcmZsb3dDbGlwKQog
ewogICAgIEFTU0VSVChjbGlwUmVjdHNUeXBlIDwgTnVtQ2FjaGVkQ2xpcFJlY3RzVHlwZXMpOwog
ICAgIGlmIChtX2NsaXBSZWN0c0NhY2hlICYmIG1fY2xpcFJlY3RzQ2FjaGUtPm1fY2xpcFJlY3Rz
W2NsaXBSZWN0c1R5cGVdKSB7CiAgICAgICAgIEFTU0VSVChyb290TGF5ZXIgPT0gbV9jbGlwUmVj
dHNDYWNoZS0+bV9jbGlwUmVjdHNSb290W2NsaXBSZWN0c1R5cGVdKTsKKyAgICAgICAgQVNTRVJU
KG1fY2xpcFJlY3RzQ2FjaGUtPm1fcmVzcGVjdGluZ092ZXJmbG93Q2xpcFtjbGlwUmVjdHNUeXBl
XSA9PSAocmVzcGVjdE92ZXJmbG93Q2xpcCA9PSBSZXNwZWN0T3ZlcmZsb3dDbGlwKSk7CiAgICAg
ICAgIHJldHVybjsgLy8gV2UgaGF2ZSB0aGUgY29ycmVjdCBjYWNoZWQgdmFsdWUuCiAgICAgfQog
ICAgIApAQCAtMzkwMCwxMCArMzkyMCwxMCBAQCB2b2lkIFJlbmRlckxheWVyOjp1cGRhdGVDbGlw
UmVjdHMoY29uc3QgUmVuZGVyTGF5ZXIqIHJvb3RMYXllciwgUmVuZGVyUmVnaW9uKiByZQogICAg
IC8vIGV4YW1pbmUgdGhlIHBhcmVudC4gIFdlIHdhbnQgdG8gY2FjaGUgY2xpcCByZWN0cyB3aXRo
IHVzIGFzIHRoZSByb290LgogICAgIFJlbmRlckxheWVyKiBwYXJlbnRMYXllciA9IHJvb3RMYXll
ciAhPSB0aGlzID8gcGFyZW50KCkgOiAwOwogICAgIGlmIChwYXJlbnRMYXllcikKLSAgICAgICAg
cGFyZW50TGF5ZXItPnVwZGF0ZUNsaXBSZWN0cyhyb290TGF5ZXIsIHJlZ2lvbiwgY2xpcFJlY3Rz
VHlwZSwgcmVsZXZhbmN5KTsKKyAgICAgICAgcGFyZW50TGF5ZXItPnVwZGF0ZUNsaXBSZWN0cyhy
b290TGF5ZXIsIHJlZ2lvbiwgY2xpcFJlY3RzVHlwZSwgcmVsZXZhbmN5LCByZXNwZWN0T3ZlcmZs
b3dDbGlwKTsKIAogICAgIENsaXBSZWN0cyBjbGlwUmVjdHM7Ci0gICAgY2FsY3VsYXRlQ2xpcFJl
Y3RzKHJvb3RMYXllciwgcmVnaW9uLCBjbGlwUmVjdHNUeXBlLCBjbGlwUmVjdHMsIHJlbGV2YW5j
eSk7CisgICAgY2FsY3VsYXRlQ2xpcFJlY3RzKHJvb3RMYXllciwgcmVnaW9uLCBjbGlwUmVjdHNU
eXBlLCBjbGlwUmVjdHMsIHJlbGV2YW5jeSwgcmVzcGVjdE92ZXJmbG93Q2xpcCk7CiAKICAgICBp
ZiAoIW1fY2xpcFJlY3RzQ2FjaGUpCiAgICAgICAgIG1fY2xpcFJlY3RzQ2FjaGUgPSBhZG9wdFB0
cihuZXcgQ2xpcFJlY3RzQ2FjaGUpOwpAQCAtMzkxNSwxMCArMzkzNSwxMSBAQCB2b2lkIFJlbmRl
ckxheWVyOjp1cGRhdGVDbGlwUmVjdHMoY29uc3QgUmVuZGVyTGF5ZXIqIHJvb3RMYXllciwgUmVu
ZGVyUmVnaW9uKiByZQogCiAjaWZuZGVmIE5ERUJVRwogICAgIG1fY2xpcFJlY3RzQ2FjaGUtPm1f
Y2xpcFJlY3RzUm9vdFtjbGlwUmVjdHNUeXBlXSA9IHJvb3RMYXllcjsKKyAgICBtX2NsaXBSZWN0
c0NhY2hlLT5tX3Jlc3BlY3RpbmdPdmVyZmxvd0NsaXBbY2xpcFJlY3RzVHlwZV0gPSByZXNwZWN0
T3ZlcmZsb3dDbGlwID09IFJlc3BlY3RPdmVyZmxvd0NsaXA7CiAjZW5kaWYKIH0KIAotdm9pZCBS
ZW5kZXJMYXllcjo6Y2FsY3VsYXRlQ2xpcFJlY3RzKGNvbnN0IFJlbmRlckxheWVyKiByb290TGF5
ZXIsIFJlbmRlclJlZ2lvbiogcmVnaW9uLCBDbGlwUmVjdHNUeXBlIGNsaXBSZWN0c1R5cGUsIENs
aXBSZWN0cyYgY2xpcFJlY3RzLCBPdmVybGF5U2Nyb2xsYmFyU2l6ZVJlbGV2YW5jeSByZWxldmFu
Y3kpIGNvbnN0Cit2b2lkIFJlbmRlckxheWVyOjpjYWxjdWxhdGVDbGlwUmVjdHMoY29uc3QgUmVu
ZGVyTGF5ZXIqIHJvb3RMYXllciwgUmVuZGVyUmVnaW9uKiByZWdpb24sIENsaXBSZWN0c1R5cGUg
Y2xpcFJlY3RzVHlwZSwgQ2xpcFJlY3RzJiBjbGlwUmVjdHMsIE92ZXJsYXlTY3JvbGxiYXJTaXpl
UmVsZXZhbmN5IHJlbGV2YW5jeSwgUmVzcGVjdE92ZXJmbG93Q2xpcE9yTm90IHJlc3BlY3RPdmVy
Zmxvd0NsaXApIGNvbnN0CiB7CiAgICAgaWYgKCFwYXJlbnQoKSkgewogICAgICAgICAvLyBUaGUg
cm9vdCBsYXllcidzIGNsaXAgcmVjdCBpcyBhbHdheXMgaW5maW5pdGUuCkBAIC0zOTM3LDcgKzM5
NTgsNyBAQCB2b2lkIFJlbmRlckxheWVyOjpjYWxjdWxhdGVDbGlwUmVjdHMoY29uc3QgUmVuZGVy
TGF5ZXIqIHJvb3RMYXllciwgUmVuZGVyUmVnaW9uKgogICAgICAgICBpZiAodXNlQ2FjaGVkICYm
IHBhcmVudExheWVyLT5jbGlwUmVjdHMoY2xpcFJlY3RzVHlwZSkpCiAgICAgICAgICAgICBjbGlw
UmVjdHMgPSAqcGFyZW50TGF5ZXItPmNsaXBSZWN0cyhjbGlwUmVjdHNUeXBlKTsKICAgICAgICAg
ZWxzZQotICAgICAgICAgICAgcGFyZW50TGF5ZXItPmNhbGN1bGF0ZUNsaXBSZWN0cyhyb290TGF5
ZXIsIHJlZ2lvbiwgY2xpcFJlY3RzVHlwZSwgY2xpcFJlY3RzKTsKKyAgICAgICAgICAgIHBhcmVu
dExheWVyLT5jYWxjdWxhdGVDbGlwUmVjdHMocm9vdExheWVyLCByZWdpb24sIGNsaXBSZWN0c1R5
cGUsIGNsaXBSZWN0cywgSWdub3JlT3ZlcmxheVNjcm9sbGJhclNpemUsIHJlc3BlY3RPdmVyZmxv
d0NsaXApOwogICAgIH0gZWxzZQogICAgICAgICBjbGlwUmVjdHMucmVzZXQoUGFpbnRJbmZvOjpp
bmZpbml0ZVJlY3QoKSk7CiAKQEAgLTM5NTQsNyArMzk3NSw3IEBAIHZvaWQgUmVuZGVyTGF5ZXI6
OmNhbGN1bGF0ZUNsaXBSZWN0cyhjb25zdCBSZW5kZXJMYXllciogcm9vdExheWVyLCBSZW5kZXJS
ZWdpb24qCiAgICAgICAgIGNsaXBSZWN0cy5zZXRPdmVyZmxvd0NsaXBSZWN0KGNsaXBSZWN0cy5w
b3NDbGlwUmVjdCgpKTsKICAgICAKICAgICAvLyBVcGRhdGUgdGhlIGNsaXAgcmVjdHMgdGhhdCB3
aWxsIGJlIHBhc3NlZCB0byBjaGlsZCBsYXllcnMuCi0gICAgaWYgKHJlbmRlcmVyKCktPmhhc0Ns
aXBPck92ZXJmbG93Q2xpcCgpKSB7CisgICAgaWYgKChyZW5kZXJlcigpLT5oYXNPdmVyZmxvd0Ns
aXAoKSAmJiAocmVzcGVjdE92ZXJmbG93Q2xpcCA9PSBSZXNwZWN0T3ZlcmZsb3dDbGlwIHx8IHRo
aXMgIT0gcm9vdExheWVyKSkgfHwgcmVuZGVyZXIoKS0+aGFzQ2xpcCgpKSB7CiAgICAgICAgIC8v
IFRoaXMgbGF5ZXIgZXN0YWJsaXNoZXMgYSBjbGlwIG9mIHNvbWUga2luZC4KIAogICAgICAgICAv
LyBUaGlzIG9mZnNldCBjYW5ub3QgdXNlIGNvbnZlcnRUb0xheWVyQ29vcmRzLCBiZWNhdXNlIHNv
bWV0aW1lcyBvdXIgcm9vdExheWVyIG1heSBiZSBhY3Jvc3MKQEAgLTM5ODUsMTUgKzQwMDYsMTUg
QEAgdm9pZCBSZW5kZXJMYXllcjo6Y2FsY3VsYXRlQ2xpcFJlY3RzKGNvbnN0IFJlbmRlckxheWVy
KiByb290TGF5ZXIsIFJlbmRlclJlZ2lvbioKICAgICB9CiB9CiAKLXZvaWQgUmVuZGVyTGF5ZXI6
OnBhcmVudENsaXBSZWN0cyhjb25zdCBSZW5kZXJMYXllciogcm9vdExheWVyLCBSZW5kZXJSZWdp
b24qIHJlZ2lvbiwgQ2xpcFJlY3RzVHlwZSBjbGlwUmVjdHNUeXBlLCBDbGlwUmVjdHMmIGNsaXBS
ZWN0cywgT3ZlcmxheVNjcm9sbGJhclNpemVSZWxldmFuY3kgcmVsZXZhbmN5KSBjb25zdAordm9p
ZCBSZW5kZXJMYXllcjo6cGFyZW50Q2xpcFJlY3RzKGNvbnN0IFJlbmRlckxheWVyKiByb290TGF5
ZXIsIFJlbmRlclJlZ2lvbiogcmVnaW9uLCBDbGlwUmVjdHNUeXBlIGNsaXBSZWN0c1R5cGUsIENs
aXBSZWN0cyYgY2xpcFJlY3RzLCBPdmVybGF5U2Nyb2xsYmFyU2l6ZVJlbGV2YW5jeSByZWxldmFu
Y3ksIFJlc3BlY3RPdmVyZmxvd0NsaXBPck5vdCByZXNwZWN0T3ZlcmZsb3dDbGlwKSBjb25zdAog
ewogICAgIEFTU0VSVChwYXJlbnQoKSk7CiAgICAgaWYgKGNsaXBSZWN0c1R5cGUgPT0gVGVtcG9y
YXJ5Q2xpcFJlY3RzKSB7Ci0gICAgICAgIHBhcmVudCgpLT5jYWxjdWxhdGVDbGlwUmVjdHMocm9v
dExheWVyLCByZWdpb24sIGNsaXBSZWN0c1R5cGUsIGNsaXBSZWN0cywgcmVsZXZhbmN5KTsKKyAg
ICAgICAgcGFyZW50KCktPmNhbGN1bGF0ZUNsaXBSZWN0cyhyb290TGF5ZXIsIHJlZ2lvbiwgY2xp
cFJlY3RzVHlwZSwgY2xpcFJlY3RzLCByZWxldmFuY3ksIHJlc3BlY3RPdmVyZmxvd0NsaXApOwog
ICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgcGFyZW50KCktPnVwZGF0ZUNsaXBSZWN0cyhy
b290TGF5ZXIsIHJlZ2lvbiwgY2xpcFJlY3RzVHlwZSwgcmVsZXZhbmN5KTsKKyAgICBwYXJlbnQo
KS0+dXBkYXRlQ2xpcFJlY3RzKHJvb3RMYXllciwgcmVnaW9uLCBjbGlwUmVjdHNUeXBlLCByZWxl
dmFuY3ksIHJlc3BlY3RPdmVyZmxvd0NsaXApOwogICAgIGNsaXBSZWN0cyA9ICpwYXJlbnQoKS0+
Y2xpcFJlY3RzKGNsaXBSZWN0c1R5cGUpOwogfQogCkBAIC00MDA4LDExICs0MDI5LDExIEBAIHN0
YXRpYyBpbmxpbmUgQ2xpcFJlY3QgYmFja2dyb3VuZENsaXBSZWN0Rm9yUG9zaXRpb24oY29uc3Qg
Q2xpcFJlY3RzJiBwYXJlbnRSZWN0CiAgICAgcmV0dXJuIHBhcmVudFJlY3RzLm92ZXJmbG93Q2xp
cFJlY3QoKTsKIH0KIAotQ2xpcFJlY3QgUmVuZGVyTGF5ZXI6OmJhY2tncm91bmRDbGlwUmVjdChj
b25zdCBSZW5kZXJMYXllciogcm9vdExheWVyLCBSZW5kZXJSZWdpb24qIHJlZ2lvbiwgQ2xpcFJl
Y3RzVHlwZSBjbGlwUmVjdHNUeXBlLCBPdmVybGF5U2Nyb2xsYmFyU2l6ZVJlbGV2YW5jeSByZWxl
dmFuY3kpIGNvbnN0CitDbGlwUmVjdCBSZW5kZXJMYXllcjo6YmFja2dyb3VuZENsaXBSZWN0KGNv
bnN0IFJlbmRlckxheWVyKiByb290TGF5ZXIsIFJlbmRlclJlZ2lvbiogcmVnaW9uLCBDbGlwUmVj
dHNUeXBlIGNsaXBSZWN0c1R5cGUsIE92ZXJsYXlTY3JvbGxiYXJTaXplUmVsZXZhbmN5IHJlbGV2
YW5jeSwgUmVzcGVjdE92ZXJmbG93Q2xpcE9yTm90IHJlc3BlY3RPdmVyZmxvd0NsaXApIGNvbnN0
CiB7CiAgICAgQVNTRVJUKHBhcmVudCgpKTsKICAgICBDbGlwUmVjdHMgcGFyZW50UmVjdHM7Ci0g
ICAgcGFyZW50Q2xpcFJlY3RzKHJvb3RMYXllciwgcmVnaW9uLCBjbGlwUmVjdHNUeXBlLCBwYXJl
bnRSZWN0cywgcmVsZXZhbmN5KTsKKyAgICBwYXJlbnRDbGlwUmVjdHMocm9vdExheWVyLCByZWdp
b24sIGNsaXBSZWN0c1R5cGUsIHBhcmVudFJlY3RzLCByZWxldmFuY3ksIHJlc3BlY3RPdmVyZmxv
d0NsaXApOwogICAgIENsaXBSZWN0IGJhY2tncm91bmRDbGlwUmVjdCA9IGJhY2tncm91bmRDbGlw
UmVjdEZvclBvc2l0aW9uKHBhcmVudFJlY3RzLCByZW5kZXJlcigpLT5zdHlsZSgpLT5wb3NpdGlv
bigpKTsKICAgICBSZW5kZXJWaWV3KiB2aWV3ID0gcmVuZGVyZXIoKS0+dmlldygpOwogICAgIEFT
U0VSVCh2aWV3KTsKQEAgLTQwMjUsMTAgKzQwNDYsMTAgQEAgQ2xpcFJlY3QgUmVuZGVyTGF5ZXI6
OmJhY2tncm91bmRDbGlwUmVjdChjb25zdCBSZW5kZXJMYXllciogcm9vdExheWVyLCBSZW5kZXJS
ZWcKIH0KIAogdm9pZCBSZW5kZXJMYXllcjo6Y2FsY3VsYXRlUmVjdHMoY29uc3QgUmVuZGVyTGF5
ZXIqIHJvb3RMYXllciwgUmVuZGVyUmVnaW9uKiByZWdpb24sIENsaXBSZWN0c1R5cGUgY2xpcFJl
Y3RzVHlwZSwgY29uc3QgTGF5b3V0UmVjdCYgcGFpbnREaXJ0eVJlY3QsIExheW91dFJlY3QmIGxh
eWVyQm91bmRzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2xpcFJlY3QmIGJh
Y2tncm91bmRSZWN0LCBDbGlwUmVjdCYgZm9yZWdyb3VuZFJlY3QsIENsaXBSZWN0JiBvdXRsaW5l
UmVjdCwgT3ZlcmxheVNjcm9sbGJhclNpemVSZWxldmFuY3kgcmVsZXZhbmN5KSBjb25zdAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2xpcFJlY3QmIGJhY2tncm91bmRSZWN0LCBD
bGlwUmVjdCYgZm9yZWdyb3VuZFJlY3QsIENsaXBSZWN0JiBvdXRsaW5lUmVjdCwgT3ZlcmxheVNj
cm9sbGJhclNpemVSZWxldmFuY3kgcmVsZXZhbmN5LCBSZXNwZWN0T3ZlcmZsb3dDbGlwT3JOb3Qg
cmVzcGVjdE92ZXJmbG93Q2xpcCkgY29uc3QKIHsKICAgICBpZiAocm9vdExheWVyICE9IHRoaXMg
JiYgcGFyZW50KCkpIHsKLSAgICAgICAgYmFja2dyb3VuZFJlY3QgPSBiYWNrZ3JvdW5kQ2xpcFJl
Y3Qocm9vdExheWVyLCByZWdpb24sIGNsaXBSZWN0c1R5cGUsIHJlbGV2YW5jeSk7CisgICAgICAg
IGJhY2tncm91bmRSZWN0ID0gYmFja2dyb3VuZENsaXBSZWN0KHJvb3RMYXllciwgcmVnaW9uLCBj
bGlwUmVjdHNUeXBlLCByZWxldmFuY3ksIHJlc3BlY3RPdmVyZmxvd0NsaXApOwogICAgICAgICBi
YWNrZ3JvdW5kUmVjdC5pbnRlcnNlY3QocGFpbnREaXJ0eVJlY3QpOwogICAgIH0gZWxzZQogICAg
ICAgICBiYWNrZ3JvdW5kUmVjdCA9IHBhaW50RGlydHlSZWN0OwpAQCAtNDA0Myw3ICs0MDY0LDcg
QEAgdm9pZCBSZW5kZXJMYXllcjo6Y2FsY3VsYXRlUmVjdHMoY29uc3QgUmVuZGVyTGF5ZXIqIHJv
b3RMYXllciwgUmVuZGVyUmVnaW9uKiByZWcKICAgICAvLyBVcGRhdGUgdGhlIGNsaXAgcmVjdHMg
dGhhdCB3aWxsIGJlIHBhc3NlZCB0byBjaGlsZCBsYXllcnMuCiAgICAgaWYgKHJlbmRlcmVyKCkt
Pmhhc0NsaXBPck92ZXJmbG93Q2xpcCgpKSB7CiAgICAgICAgIC8vIFRoaXMgbGF5ZXIgZXN0YWJs
aXNoZXMgYSBjbGlwIG9mIHNvbWUga2luZC4KLSAgICAgICAgaWYgKHJlbmRlcmVyKCktPmhhc092
ZXJmbG93Q2xpcCgpKSB7CisgICAgICAgIGlmIChyZW5kZXJlcigpLT5oYXNPdmVyZmxvd0NsaXAo
KSAmJiAodGhpcyAhPSByb290TGF5ZXIgfHwgcmVzcGVjdE92ZXJmbG93Q2xpcCA9PSBJZ25vcmVP
dmVyZmxvd0NsaXApKSB7CiAgICAgICAgICAgICBmb3JlZ3JvdW5kUmVjdC5pbnRlcnNlY3QodG9S
ZW5kZXJCb3gocmVuZGVyZXIoKSktPm92ZXJmbG93Q2xpcFJlY3Qob2Zmc2V0LCByZWdpb24sIHJl
bGV2YW5jeSkpOwogICAgICAgICAgICAgaWYgKHJlbmRlcmVyKCktPnN0eWxlKCktPmhhc0JvcmRl
clJhZGl1cygpKQogICAgICAgICAgICAgICAgIGZvcmVncm91bmRSZWN0LnNldEhhc1JhZGl1cyh0
cnVlKTsKQEAgLTQwNjYsMTIgKzQwODcsMTQgQEAgdm9pZCBSZW5kZXJMYXllcjo6Y2FsY3VsYXRl
UmVjdHMoY29uc3QgUmVuZGVyTGF5ZXIqIHJvb3RMYXllciwgUmVuZGVyUmVnaW9uKiByZWcKICAg
ICAgICAgICAgIExheW91dFJlY3QgbGF5ZXJCb3VuZHNXaXRoVmlzdWFsT3ZlcmZsb3cgPSByZW5k
ZXJCb3goKS0+dmlzdWFsT3ZlcmZsb3dSZWN0KCk7CiAgICAgICAgICAgICByZW5kZXJCb3goKS0+
ZmxpcEZvcldyaXRpbmdNb2RlKGxheWVyQm91bmRzV2l0aFZpc3VhbE92ZXJmbG93KTsgLy8gTGF5
ZXJzIGFyZSBpbiBwaHlzaWNhbCBjb29yZGluYXRlcywgc28gdGhlIG92ZXJmbG93IGhhcyB0byBi
ZSBmbGlwcGVkLgogICAgICAgICAgICAgbGF5ZXJCb3VuZHNXaXRoVmlzdWFsT3ZlcmZsb3cubW92
ZUJ5KG9mZnNldCk7Ci0gICAgICAgICAgICBiYWNrZ3JvdW5kUmVjdC5pbnRlcnNlY3QobGF5ZXJC
b3VuZHNXaXRoVmlzdWFsT3ZlcmZsb3cpOworICAgICAgICAgICAgaWYgKHRoaXMgIT0gcm9vdExh
eWVyIHx8IHJlc3BlY3RPdmVyZmxvd0NsaXAgPT0gSWdub3JlT3ZlcmZsb3dDbGlwKQorICAgICAg
ICAgICAgICAgIGJhY2tncm91bmRSZWN0LmludGVyc2VjdChsYXllckJvdW5kc1dpdGhWaXN1YWxP
dmVyZmxvdyk7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAvLyBTaGlmdCB0aGUgYm91
bmRzIHRvIGJlIGZvciBvdXIgcmVnaW9uIG9ubHkuCiAgICAgICAgICAgICBMYXlvdXRSZWN0IGJv
dW5kcyA9IHBpeGVsU25hcHBlZEludFJlY3QocmVuZGVyQm94KCktPmJvcmRlckJveFJlY3RJblJl
Z2lvbihyZWdpb24pKTsKICAgICAgICAgICAgIGJvdW5kcy5tb3ZlQnkob2Zmc2V0KTsKLSAgICAg
ICAgICAgIGJhY2tncm91bmRSZWN0LmludGVyc2VjdChib3VuZHMpOworICAgICAgICAgICAgaWYg
KHRoaXMgIT0gcm9vdExheWVyIHx8IHJlc3BlY3RPdmVyZmxvd0NsaXAgPT0gSWdub3JlT3ZlcmZs
b3dDbGlwKQorICAgICAgICAgICAgICAgIGJhY2tncm91bmRSZWN0LmludGVyc2VjdChib3VuZHMp
OwogICAgICAgICB9CiAgICAgfQogfQpAQCAtNDA4NCw3ICs0MTA3LDggQEAgTGF5b3V0UmVjdCBS
ZW5kZXJMYXllcjo6Y2hpbGRyZW5DbGlwUmVjdCgpIGNvbnN0CiAgICAgUmVuZGVyTGF5ZXIqIGNs
aXBwaW5nUm9vdExheWVyID0gY2xpcHBpbmdSb290Rm9yUGFpbnRpbmcoKTsKICAgICBMYXlvdXRS
ZWN0IGxheWVyQm91bmRzOwogICAgIENsaXBSZWN0IGJhY2tncm91bmRSZWN0LCBmb3JlZ3JvdW5k
UmVjdCwgb3V0bGluZVJlY3Q7Ci0gICAgY2FsY3VsYXRlUmVjdHMoY2xpcHBpbmdSb290TGF5ZXIs
IDAsIFBhaW50aW5nQ2xpcFJlY3RzLCByZW5kZXJWaWV3LT51bnNjYWxlZERvY3VtZW50UmVjdCgp
LCBsYXllckJvdW5kcywgYmFja2dyb3VuZFJlY3QsIGZvcmVncm91bmRSZWN0LCBvdXRsaW5lUmVj
dCk7CisgICAgLy8gTmVlZCB0byB1c2UgdGVtcG9yYXJ5IGNsaXAgcmVjdHMsIGJlY2F1c2UgdGhl
IHZhbHVlIG9mICdkb250Q2xpcFRvT3ZlcmZsb3cnIG1heSBiZSBkaWZmZXJlbnQgZnJvbSB0aGUg
cGFpbnRpbmcgcGF0aCAoPHJkYXI6Ly9wcm9ibGVtLzExODQ0OTA5PikuCisgICAgY2FsY3VsYXRl
UmVjdHMoY2xpcHBpbmdSb290TGF5ZXIsIDAsIFRlbXBvcmFyeUNsaXBSZWN0cywgcmVuZGVyVmll
dy0+dW5zY2FsZWREb2N1bWVudFJlY3QoKSwgbGF5ZXJCb3VuZHMsIGJhY2tncm91bmRSZWN0LCBm
b3JlZ3JvdW5kUmVjdCwgb3V0bGluZVJlY3QpOwogICAgIHJldHVybiBjbGlwcGluZ1Jvb3RMYXll
ci0+cmVuZGVyZXIoKS0+bG9jYWxUb0Fic29sdXRlUXVhZChGbG9hdFF1YWQoZm9yZWdyb3VuZFJl
Y3QucmVjdCgpKSkuZW5jbG9zaW5nQm91bmRpbmdCb3goKTsKIH0KIApAQCAtNDc4MSw3ICs0ODA1
LDggQEAgYm9vbCBSZW5kZXJMYXllcjo6c2hvdWxkQmVOb3JtYWxGbG93T25seSgpIGNvbnN0CiAj
aWYgRU5BQkxFKENTU19GSUxURVJTKQogICAgICAgICAgICAgJiYgIXJlbmRlcmVyKCktPmhhc0Zp
bHRlcigpCiAjZW5kaWYKLSAgICAgICAgICAgICYmICFpc1RyYW5zcGFyZW50KCk7CisgICAgICAg
ICAgICAmJiAhaXNUcmFuc3BhcmVudCgpCisgICAgICAgICAgICAmJiAhdXNlc0NvbXBvc2l0ZWRT
Y3JvbGxpbmcoKTsKIH0KIAogYm9vbCBSZW5kZXJMYXllcjo6c2hvdWxkQmVTZWxmUGFpbnRpbmdM
YXllcigpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCmluZGV4IGRk
NmRmMTVhMWY1YjRmM2EyMjM2MGYzMjk3Y2Y2YmUxMmYyNDhhMzUuLjhmNzJhMjI0ODdiNzlhM2Nh
MDlmZGU0ODEzNDVkNDkwZDhlMjg5YTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllci5oCkBAIC0yMzAsMTQgKzIzMCwxNyBAQCBzdHJ1Y3QgQ2xpcFJlY3RzQ2FjaGUgewogICAg
IENsaXBSZWN0c0NhY2hlKCkKICAgICB7CiAjaWZuZGVmIE5ERUJVRwotICAgICAgICBmb3IgKGlu
dCBpID0gMDsgaSA8IE51bUNhY2hlZENsaXBSZWN0c1R5cGVzOyArK2kpCisgICAgICAgIGZvciAo
aW50IGkgPSAwOyBpIDwgTnVtQ2FjaGVkQ2xpcFJlY3RzVHlwZXM7ICsraSkgewogICAgICAgICAg
ICAgbV9jbGlwUmVjdHNSb290W2ldID0gMDsKKyAgICAgICAgICAgIG1fcmVzcGVjdGluZ092ZXJm
bG93Q2xpcFtpXSA9IGZhbHNlOworICAgICAgICB9CiAjZW5kaWYKICAgICB9CiAKICAgICBSZWZQ
dHI8Q2xpcFJlY3RzPiBtX2NsaXBSZWN0c1tOdW1DYWNoZWRDbGlwUmVjdHNUeXBlc107CiAjaWZu
ZGVmIE5ERUJVRwogICAgIGNvbnN0IFJlbmRlckxheWVyKiBtX2NsaXBSZWN0c1Jvb3RbTnVtQ2Fj
aGVkQ2xpcFJlY3RzVHlwZXNdOworICAgIGJvb2wgbV9yZXNwZWN0aW5nT3ZlcmZsb3dDbGlwW051
bUNhY2hlZENsaXBSZWN0c1R5cGVzXTsKICNlbmRpZgogfTsKIApAQCAtMzYwLDYgKzM2Myw3IEBA
IHB1YmxpYzoKICAgICB2b2lkIHBhaW50UmVzaXplcihHcmFwaGljc0NvbnRleHQqLCBjb25zdCBJ
bnRQb2ludCYsIGNvbnN0IEludFJlY3QmIGRhbWFnZVJlY3QpOwogCiAgICAgdm9pZCB1cGRhdGVT
Y3JvbGxJbmZvQWZ0ZXJMYXlvdXQoKTsKKyAgICB2aXJ0dWFsIGJvb2wgdXNlc0NvbXBvc2l0ZWRT
Y3JvbGxpbmcoKSBjb25zdCBPVkVSUklERTsKIAogICAgIGJvb2wgc2Nyb2xsKFNjcm9sbERpcmVj
dGlvbiwgU2Nyb2xsR3JhbnVsYXJpdHksIGZsb2F0IG11bHRpcGxpZXIgPSAxKTsKICAgICB2b2lk
IGF1dG9zY3JvbGwoKTsKQEAgLTUwMCw2ICs1MDQsNyBAQCBwdWJsaWM6CiAgICAgICAgIFBhaW50
TGF5ZXJQYWludGluZ0NvbXBvc2l0aW5nQmFja2dyb3VuZFBoYXNlID0gMSA8PCA1LAogICAgICAg
ICBQYWludExheWVyUGFpbnRpbmdDb21wb3NpdGluZ0ZvcmVncm91bmRQaGFzZSA9IDEgPDwgNiwK
ICAgICAgICAgUGFpbnRMYXllclBhaW50aW5nQ29tcG9zaXRpbmdNYXNrUGhhc2UgPSAxIDw8IDcs
CisgICAgICAgIFBhaW50TGF5ZXJQYWludGluZ092ZXJmbG93Q29udGVudHMgPSAxIDw8IDgsCiAg
ICAgICAgIFBhaW50TGF5ZXJQYWludGluZ0NvbXBvc2l0aW5nQWxsUGhhc2VzID0gKFBhaW50TGF5
ZXJQYWludGluZ0NvbXBvc2l0aW5nQmFja2dyb3VuZFBoYXNlIHwgUGFpbnRMYXllclBhaW50aW5n
Q29tcG9zaXRpbmdGb3JlZ3JvdW5kUGhhc2UgfCBQYWludExheWVyUGFpbnRpbmdDb21wb3NpdGlu
Z01hc2tQaGFzZSkKICAgICB9OwogICAgIApAQCAtNTE1LDE4ICs1MjAsMjAgQEAgcHVibGljOgog
ICAgIGJvb2wgaGl0VGVzdChjb25zdCBIaXRUZXN0UmVxdWVzdCYsIGNvbnN0IEhpdFRlc3RQb2lu
dCYsIEhpdFRlc3RSZXN1bHQmKTsKICAgICB2b2lkIHBhaW50T3ZlcmxheVNjcm9sbGJhcnMoR3Jh
cGhpY3NDb250ZXh0KiwgY29uc3QgTGF5b3V0UmVjdCYgZGFtYWdlUmVjdCwgUGFpbnRCZWhhdmlv
ciwgUmVuZGVyT2JqZWN0KiBwYWludGluZ1Jvb3QpOwogCisgICAgZW51bSBSZXNwZWN0T3ZlcmZs
b3dDbGlwT3JOb3QgeyBJZ25vcmVPdmVyZmxvd0NsaXAsIFJlc3BlY3RPdmVyZmxvd0NsaXAgfTsK
KwogICAgIC8vIFRoaXMgbWV0aG9kIGZpZ3VyZXMgb3V0IG91ciBsYXllckJvdW5kcyBpbiBjb29y
ZGluYXRlcyByZWxhdGl2ZSB0bwogICAgIC8vIHxyb290TGF5ZXJ9LiAgSXQgYWxzbyBjb21wdXRl
cyBvdXIgYmFja2dyb3VuZCBhbmQgZm9yZWdyb3VuZCBjbGlwIHJlY3RzCiAgICAgLy8gZm9yIHBh
aW50aW5nL2V2ZW50IGhhbmRsaW5nLgogICAgIHZvaWQgY2FsY3VsYXRlUmVjdHMoY29uc3QgUmVu
ZGVyTGF5ZXIqIHJvb3RMYXllciwgUmVuZGVyUmVnaW9uKiwgQ2xpcFJlY3RzVHlwZSwgY29uc3Qg
TGF5b3V0UmVjdCYgcGFpbnREaXJ0eVJlY3QsIExheW91dFJlY3QmIGxheWVyQm91bmRzLAogICAg
ICAgICAgICAgICAgICAgICAgICAgQ2xpcFJlY3QmIGJhY2tncm91bmRSZWN0LCBDbGlwUmVjdCYg
Zm9yZWdyb3VuZFJlY3QsIENsaXBSZWN0JiBvdXRsaW5lUmVjdCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgIE92ZXJsYXlTY3JvbGxiYXJTaXplUmVsZXZhbmN5ID0gSWdub3JlT3ZlcmxheVNjcm9s
bGJhclNpemUpIGNvbnN0OworICAgICAgICAgICAgICAgICAgICAgICAgT3ZlcmxheVNjcm9sbGJh
clNpemVSZWxldmFuY3kgPSBJZ25vcmVPdmVybGF5U2Nyb2xsYmFyU2l6ZSwgUmVzcGVjdE92ZXJm
bG93Q2xpcE9yTm90ID0gUmVzcGVjdE92ZXJmbG93Q2xpcCkgY29uc3Q7CiAKICAgICAvLyBDb21w
dXRlIGFuZCBjYWNoZSBjbGlwIHJlY3RzIGNvbXB1dGVkIHdpdGggdGhlIGdpdmVuIGxheWVyIGFz
IHRoZSByb290Ci0gICAgdm9pZCB1cGRhdGVDbGlwUmVjdHMoY29uc3QgUmVuZGVyTGF5ZXIqIHJv
b3RMYXllciwgUmVuZGVyUmVnaW9uKiwgQ2xpcFJlY3RzVHlwZSwgT3ZlcmxheVNjcm9sbGJhclNp
emVSZWxldmFuY3kgPSBJZ25vcmVPdmVybGF5U2Nyb2xsYmFyU2l6ZSk7CisgICAgdm9pZCB1cGRh
dGVDbGlwUmVjdHMoY29uc3QgUmVuZGVyTGF5ZXIqIHJvb3RMYXllciwgUmVuZGVyUmVnaW9uKiwg
Q2xpcFJlY3RzVHlwZSwgT3ZlcmxheVNjcm9sbGJhclNpemVSZWxldmFuY3kgPSBJZ25vcmVPdmVy
bGF5U2Nyb2xsYmFyU2l6ZSwgUmVzcGVjdE92ZXJmbG93Q2xpcE9yTm90ID0gUmVzcGVjdE92ZXJm
bG93Q2xpcCk7CiAgICAgLy8gQ29tcHV0ZSBhbmQgcmV0dXJuIHRoZSBjbGlwIHJlY3RzLiBJZiB1
c2VDYWNoZWQgaXMgdHJ1ZSwgd2lsbCB1c2VkIHByZXZpb3VzbHkgY29tcHV0ZWQgY2xpcCByZWN0
cyBvbiBhbmNlc3RvcnMKICAgICAvLyAocmF0aGVyIHRoYW4gY29tcHV0aW5nIHRoZW0gYWxsIGZy
b20gc2NyYXRjaCB1cCB0aGUgcGFyZW50IGNoYWluKS4KLSAgICB2b2lkIGNhbGN1bGF0ZUNsaXBS
ZWN0cyhjb25zdCBSZW5kZXJMYXllciogcm9vdExheWVyLCBSZW5kZXJSZWdpb24qLCBDbGlwUmVj
dHNUeXBlLCBDbGlwUmVjdHMmLCBPdmVybGF5U2Nyb2xsYmFyU2l6ZVJlbGV2YW5jeSA9IElnbm9y
ZU92ZXJsYXlTY3JvbGxiYXJTaXplKSBjb25zdDsKKyAgICB2b2lkIGNhbGN1bGF0ZUNsaXBSZWN0
cyhjb25zdCBSZW5kZXJMYXllciogcm9vdExheWVyLCBSZW5kZXJSZWdpb24qLCBDbGlwUmVjdHNU
eXBlLCBDbGlwUmVjdHMmLCBPdmVybGF5U2Nyb2xsYmFyU2l6ZVJlbGV2YW5jeSA9IElnbm9yZU92
ZXJsYXlTY3JvbGxiYXJTaXplLCBSZXNwZWN0T3ZlcmZsb3dDbGlwT3JOb3QgPSBSZXNwZWN0T3Zl
cmZsb3dDbGlwKSBjb25zdDsKIAogICAgIENsaXBSZWN0cyogY2xpcFJlY3RzKENsaXBSZWN0c1R5
cGUgdHlwZSkgY29uc3QgeyBBU1NFUlQodHlwZSA8IE51bUNhY2hlZENsaXBSZWN0c1R5cGVzKTsg
cmV0dXJuIG1fY2xpcFJlY3RzQ2FjaGUgPyBtX2NsaXBSZWN0c0NhY2hlLT5tX2NsaXBSZWN0c1t0
eXBlXS5nZXQoKSA6IDA7IH0KIApAQCAtODI1LDggKzgzMiw4IEBAIHByaXZhdGU6CiAgICAgdm9p
ZCB1cGRhdGVPclJlbW92ZUZpbHRlckVmZmVjdCgpOwogI2VuZGlmCiAKLSAgICB2b2lkIHBhcmVu
dENsaXBSZWN0cyhjb25zdCBSZW5kZXJMYXllciogcm9vdExheWVyLCBSZW5kZXJSZWdpb24qLCBD
bGlwUmVjdHNUeXBlLCBDbGlwUmVjdHMmLCBPdmVybGF5U2Nyb2xsYmFyU2l6ZVJlbGV2YW5jeSA9
IElnbm9yZU92ZXJsYXlTY3JvbGxiYXJTaXplKSBjb25zdDsKLSAgICBDbGlwUmVjdCBiYWNrZ3Jv
dW5kQ2xpcFJlY3QoY29uc3QgUmVuZGVyTGF5ZXIqIHJvb3RMYXllciwgUmVuZGVyUmVnaW9uKiwg
Q2xpcFJlY3RzVHlwZSwgT3ZlcmxheVNjcm9sbGJhclNpemVSZWxldmFuY3kgPSBJZ25vcmVPdmVy
bGF5U2Nyb2xsYmFyU2l6ZSkgY29uc3Q7CisgICAgdm9pZCBwYXJlbnRDbGlwUmVjdHMoY29uc3Qg
UmVuZGVyTGF5ZXIqIHJvb3RMYXllciwgUmVuZGVyUmVnaW9uKiwgQ2xpcFJlY3RzVHlwZSwgQ2xp
cFJlY3RzJiwgT3ZlcmxheVNjcm9sbGJhclNpemVSZWxldmFuY3kgPSBJZ25vcmVPdmVybGF5U2Ny
b2xsYmFyU2l6ZSwgUmVzcGVjdE92ZXJmbG93Q2xpcE9yTm90ID0gUmVzcGVjdE92ZXJmbG93Q2xp
cCkgY29uc3Q7CisgICAgQ2xpcFJlY3QgYmFja2dyb3VuZENsaXBSZWN0KGNvbnN0IFJlbmRlckxh
eWVyKiByb290TGF5ZXIsIFJlbmRlclJlZ2lvbiosIENsaXBSZWN0c1R5cGUsIE92ZXJsYXlTY3Jv
bGxiYXJTaXplUmVsZXZhbmN5ID0gSWdub3JlT3ZlcmxheVNjcm9sbGJhclNpemUsIFJlc3BlY3RP
dmVyZmxvd0NsaXBPck5vdCA9IFJlc3BlY3RPdmVyZmxvd0NsaXApIGNvbnN0OwogICAgIExheW91
dFJlY3QgcGFpbnRpbmdFeHRlbnQoY29uc3QgUmVuZGVyTGF5ZXIqIHJvb3RMYXllciwgY29uc3Qg
TGF5b3V0UmVjdCYgcGFpbnREaXJ0eVJlY3QsIFBhaW50QmVoYXZpb3IpOwogCiAgICAgUmVuZGVy
TGF5ZXIqIGVuY2xvc2luZ1RyYW5zZm9ybWVkQW5jZXN0b3IoKSBjb25zdDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKaW5kZXggMjVlMjc0NTI4
ZDY1ZjExODI0MjNmYzUwOGJmODk2YTY2MGMyMzU4Mi4uM2I1YWJkNWNhODRmOTdmOWY5MTk3ZTZi
MzhiODFhZmYzNzNiNTBkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckxheWVyQmFja2luZy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyQmFja2luZy5jcHAKQEAgLTEzNCw2ICsxMzQsNyBAQCBSZW5kZXJMYXllckJhY2tpbmc6
On5SZW5kZXJMYXllckJhY2tpbmcoKQogICAgIHVwZGF0ZU92ZXJmbG93Q29udHJvbHNMYXllcnMo
ZmFsc2UsIGZhbHNlLCBmYWxzZSk7CiAgICAgdXBkYXRlRm9yZWdyb3VuZExheWVyKGZhbHNlKTsK
ICAgICB1cGRhdGVNYXNrTGF5ZXIoZmFsc2UpOworICAgIHVwZGF0ZVNjcm9sbGluZ0xheWVycyhm
YWxzZSk7CiAgICAgZGVzdHJveUdyYXBoaWNzTGF5ZXJzKCk7CiB9CiAKQEAgLTIxMSw2ICsyMTIs
OSBAQCB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6ZGVzdHJveUdyYXBoaWNzTGF5ZXJzKCkKICAg
ICBtX2ZvcmVncm91bmRMYXllciA9IG51bGxwdHI7CiAgICAgbV9jb250YWlubWVudExheWVyID0g
bnVsbHB0cjsKICAgICBtX21hc2tMYXllciA9IG51bGxwdHI7CisKKyAgICBtX3Njcm9sbGluZ0xh
eWVyID0gbnVsbHB0cjsKKyAgICBtX3Njcm9sbGluZ0NvbnRlbnRzTGF5ZXIgPSBudWxscHRyOwog
fQogCiB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlTGF5ZXJPcGFjaXR5KGNvbnN0IFJl
bmRlclN0eWxlKiBzdHlsZSkKQEAgLTI0NSwxMCArMjQ5LDEwIEBAIHN0YXRpYyBib29sIGhhc05v
blplcm9UcmFuc2Zvcm1PcmlnaW4oY29uc3QgUmVuZGVyT2JqZWN0KiByZW5kZXJlcikKICAgICAg
ICAgfHwgKHN0eWxlLT50cmFuc2Zvcm1PcmlnaW5ZKCkudHlwZSgpID09IEZpeGVkICYmIHN0eWxl
LT50cmFuc2Zvcm1PcmlnaW5ZKCkudmFsdWUoKSk7CiB9CiAKLXN0YXRpYyBib29sIGxheWVyT3JB
bmNlc3RvcklzVHJhbnNmb3JtZWQoUmVuZGVyTGF5ZXIqIGxheWVyKQorc3RhdGljIGJvb2wgbGF5
ZXJPckFuY2VzdG9ySXNUcmFuc2Zvcm1lZE9yVXNpbmdDb21wb3NpdGVkU2Nyb2xsaW5nKFJlbmRl
ckxheWVyKiBsYXllcikKIHsKICAgICBmb3IgKFJlbmRlckxheWVyKiBjdXJyID0gbGF5ZXI7IGN1
cnI7IGN1cnIgPSBjdXJyLT5wYXJlbnQoKSkgewotICAgICAgICBpZiAoY3Vyci0+aGFzVHJhbnNm
b3JtKCkpCisgICAgICAgIGlmIChjdXJyLT5oYXNUcmFuc2Zvcm0oKSB8fCBjdXJyLT51c2VzQ29t
cG9zaXRlZFNjcm9sbGluZygpKQogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogICAg
IApAQCAtMjY3LDcgKzI3MSw3IEBAIGJvb2wgUmVuZGVyTGF5ZXJCYWNraW5nOjpzaG91bGRDbGlw
Q29tcG9zaXRlZEJvdW5kcygpIGNvbnN0CiAgICAgaWYgKCFjb21wb3NpdG9yKCktPmNvbXBvc2l0
aW5nQ29uc3VsdHNPdmVybGFwKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGlmIChs
YXllck9yQW5jZXN0b3JJc1RyYW5zZm9ybWVkKG1fb3duaW5nTGF5ZXIpKQorICAgIGlmIChsYXll
ck9yQW5jZXN0b3JJc1RyYW5zZm9ybWVkT3JVc2luZ0NvbXBvc2l0ZWRTY3JvbGxpbmcobV9vd25p
bmdMYXllcikpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIHJldHVybiB0cnVlOwpAQCAt
MzUzLDEyICszNTcsMjEgQEAgYm9vbCBSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZUdyYXBoaWNz
TGF5ZXJDb25maWd1cmF0aW9uKCkKICAgICBpZiAodXBkYXRlRm9yZWdyb3VuZExheWVyKGNvbXBv
c2l0b3ItPm5lZWRzQ29udGVudHNDb21wb3NpdGluZ0xheWVyKG1fb3duaW5nTGF5ZXIpKSkKICAg
ICAgICAgbGF5ZXJDb25maWdDaGFuZ2VkID0gdHJ1ZTsKICAgICAKLSAgICBpZiAodXBkYXRlQ2xp
cHBpbmdMYXllcnMoY29tcG9zaXRvci0+Y2xpcHBlZEJ5QW5jZXN0b3IobV9vd25pbmdMYXllciks
IGNvbXBvc2l0b3ItPmNsaXBzQ29tcG9zaXRpbmdEZXNjZW5kYW50cyhtX293bmluZ0xheWVyKSkp
CisgICAgYm9vbCBuZWVkc0Rlc2NlbmRlbnRzQ2xpcHBpbmdMYXllciA9IGNvbXBvc2l0b3ItPmNs
aXBzQ29tcG9zaXRpbmdEZXNjZW5kYW50cyhtX293bmluZ0xheWVyKTsKKworICAgIC8vIE91ciBz
Y3JvbGxpbmcgbGF5ZXIgd2lsbCBjbGlwLgorICAgIGlmIChtX293bmluZ0xheWVyLT51c2VzQ29t
cG9zaXRlZFNjcm9sbGluZygpKQorICAgICAgICBuZWVkc0Rlc2NlbmRlbnRzQ2xpcHBpbmdMYXll
ciA9IGZhbHNlOworCisgICAgaWYgKHVwZGF0ZUNsaXBwaW5nTGF5ZXJzKGNvbXBvc2l0b3ItPmNs
aXBwZWRCeUFuY2VzdG9yKG1fb3duaW5nTGF5ZXIpLCBuZWVkc0Rlc2NlbmRlbnRzQ2xpcHBpbmdM
YXllcikpCiAgICAgICAgIGxheWVyQ29uZmlnQ2hhbmdlZCA9IHRydWU7CiAKICAgICBpZiAodXBk
YXRlT3ZlcmZsb3dDb250cm9sc0xheWVycyhyZXF1aXJlc0hvcml6b250YWxTY3JvbGxiYXJMYXll
cigpLCByZXF1aXJlc1ZlcnRpY2FsU2Nyb2xsYmFyTGF5ZXIoKSwgcmVxdWlyZXNTY3JvbGxDb3Ju
ZXJMYXllcigpKSkKICAgICAgICAgbGF5ZXJDb25maWdDaGFuZ2VkID0gdHJ1ZTsKIAorICAgIGlm
ICh1cGRhdGVTY3JvbGxpbmdMYXllcnMobV9vd25pbmdMYXllci0+dXNlc0NvbXBvc2l0ZWRTY3Jv
bGxpbmcoKSkpCisgICAgICAgIGxheWVyQ29uZmlnQ2hhbmdlZCA9IHRydWU7CisKICAgICBpZiAo
bGF5ZXJDb25maWdDaGFuZ2VkKQogICAgICAgICB1cGRhdGVJbnRlcm5hbEhpZXJhcmNoeSgpOwog
CkBAIC01MDMsMTIgKzUxNiwyMiBAQCB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlR3Jh
cGhpY3NMYXllckdlb21ldHJ5KCkKICAgICAgICAgZ3JhcGhpY3NMYXllclBhcmVudExvY2F0aW9u
ID0gYW5jZXN0b3JDb21wb3NpdGluZ0JvdW5kcy5sb2NhdGlvbigpOwogICAgIGVsc2UKICAgICAg
ICAgZ3JhcGhpY3NMYXllclBhcmVudExvY2F0aW9uID0gcmVuZGVyZXIoKS0+dmlldygpLT5kb2N1
bWVudFJlY3QoKS5sb2NhdGlvbigpOworCisgICAgaWYgKGNvbXBBbmNlc3RvciAmJiBjb21wQW5j
ZXN0b3ItPnVzZXNDb21wb3NpdGVkU2Nyb2xsaW5nKCkpIHsKKyAgICAgICAgUmVuZGVyQm94KiBy
ZW5kZXJCb3ggPSB0b1JlbmRlckJveChjb21wQW5jZXN0b3ItPnJlbmRlcmVyKCkpOworICAgICAg
ICBJbnRSZWN0IHBhZGRpbmdCb3gocmVuZGVyQm94LT5ib3JkZXJMZWZ0KCksIHJlbmRlckJveC0+
Ym9yZGVyVG9wKCksCisgICAgICAgICAgICByZW5kZXJCb3gtPndpZHRoKCkgLSByZW5kZXJCb3gt
PmJvcmRlckxlZnQoKSAtIHJlbmRlckJveC0+Ym9yZGVyUmlnaHQoKSwKKyAgICAgICAgICAgIHJl
bmRlckJveC0+aGVpZ2h0KCkgLSByZW5kZXJCb3gtPmJvcmRlclRvcCgpIC0gcmVuZGVyQm94LT5i
b3JkZXJCb3R0b20oKSk7CisKKyAgICAgICAgSW50U2l6ZSBzY3JvbGxPZmZzZXQgPSBjb21wQW5j
ZXN0b3ItPnNjcm9sbGVkQ29udGVudE9mZnNldCgpOworICAgICAgICBncmFwaGljc0xheWVyUGFy
ZW50TG9jYXRpb24gPSBwYWRkaW5nQm94LmxvY2F0aW9uKCkgLSBzY3JvbGxPZmZzZXQ7CisgICAg
fQogICAgIAogICAgIGlmIChjb21wQW5jZXN0b3IgJiYgbV9hbmNlc3RvckNsaXBwaW5nTGF5ZXIp
IHsKICAgICAgICAgLy8gQ2FsbCBjYWxjdWxhdGVSZWN0cyB0byBnZXQgdGhlIGJhY2tncm91bmRS
ZWN0IHdoaWNoIGlzIHdoYXQgaXMgdXNlZCB0byBjbGlwIHRoZSBjb250ZW50cyBvZiB0aGlzCiAg
ICAgICAgIC8vIGxheWVyLiBOb3RlIHRoYXQgd2UgY2FsbCBpdCB3aXRoIHRlbXBvcmFyeUNsaXBS
ZWN0cyA9IHRydWUgYmVjYXVzZSBub3JtYWxseSB3aGVuIGNvbXB1dGluZyBjbGlwIHJlY3RzCiAg
ICAgICAgIC8vIGZvciBhIGNvbXBvc2l0aW5nIGxheWVyLCByb290TGF5ZXIgaXMgdGhlIGxheWVy
IGl0c2VsZi4KLSAgICAgICAgSW50UmVjdCBwYXJlbnRDbGlwUmVjdCA9IHBpeGVsU25hcHBlZElu
dFJlY3QobV9vd25pbmdMYXllci0+YmFja2dyb3VuZENsaXBSZWN0KGNvbXBBbmNlc3RvciwgMCwg
VGVtcG9yYXJ5Q2xpcFJlY3RzKS5yZWN0KCkpOyAvLyBGSVhNRTogSW5jb3JyZWN0IGZvciBDU1Mg
cmVnaW9ucy4KKyAgICAgICAgSW50UmVjdCBwYXJlbnRDbGlwUmVjdCA9IHBpeGVsU25hcHBlZElu
dFJlY3QobV9vd25pbmdMYXllci0+YmFja2dyb3VuZENsaXBSZWN0KGNvbXBBbmNlc3RvciwgMCwg
VGVtcG9yYXJ5Q2xpcFJlY3RzLCBJZ25vcmVPdmVybGF5U2Nyb2xsYmFyU2l6ZSwgUmVuZGVyTGF5
ZXI6Oklnbm9yZU92ZXJmbG93Q2xpcCkucmVjdCgpKTsgLy8gRklYTUU6IEluY29ycmVjdCBmb3Ig
Q1NTIHJlZ2lvbnMuCiAgICAgICAgIEFTU0VSVChwYXJlbnRDbGlwUmVjdCAhPSBQYWludEluZm86
OmluZmluaXRlUmVjdCgpKTsKICAgICAgICAgbV9hbmNlc3RvckNsaXBwaW5nTGF5ZXItPnNldFBv
c2l0aW9uKEZsb2F0UG9pbnQoKSArIChwYXJlbnRDbGlwUmVjdC5sb2NhdGlvbigpIC0gZ3JhcGhp
Y3NMYXllclBhcmVudExvY2F0aW9uKSk7CiAgICAgICAgIG1fYW5jZXN0b3JDbGlwcGluZ0xheWVy
LT5zZXRTaXplKHBhcmVudENsaXBSZWN0LnNpemUoKSk7CkBAIC02MTYsNiArNjM5LDQwIEBAIHZv
aWQgUmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVHcmFwaGljc0xheWVyR2VvbWV0cnkoKQogICAg
ICAgICByZWZsZWN0aW9uQmFja2luZy0+Z3JhcGhpY3NMYXllcigpLT5zZXRSZXBsaWNhdGVkTGF5
ZXJQb3NpdGlvbihGbG9hdFBvaW50KCkgKyAobGF5ZXJCb3VuZHMubG9jYXRpb24oKSAtIHJlZmxl
Y3Rpb25MYXllckJvdW5kcy5sb2NhdGlvbigpKSk7CiAgICAgfQogCisgICAgaWYgKG1fc2Nyb2xs
aW5nTGF5ZXIpIHsKKyAgICAgICAgQVNTRVJUKG1fc2Nyb2xsaW5nQ29udGVudHNMYXllcik7Cisg
ICAgICAgIFJlbmRlckJveCogcmVuZGVyQm94ID0gdG9SZW5kZXJCb3gocmVuZGVyZXIoKSk7Cisg
ICAgICAgIEludFJlY3QgcGFkZGluZ0JveChyZW5kZXJCb3gtPmJvcmRlckxlZnQoKSwgcmVuZGVy
Qm94LT5ib3JkZXJUb3AoKSwgcmVuZGVyQm94LT53aWR0aCgpIC0gcmVuZGVyQm94LT5ib3JkZXJM
ZWZ0KCkgLSByZW5kZXJCb3gtPmJvcmRlclJpZ2h0KCksIHJlbmRlckJveC0+aGVpZ2h0KCkgLSBy
ZW5kZXJCb3gtPmJvcmRlclRvcCgpIC0gcmVuZGVyQm94LT5ib3JkZXJCb3R0b20oKSk7CisgICAg
ICAgIEludFNpemUgc2Nyb2xsT2Zmc2V0ID0gbV9vd25pbmdMYXllci0+c2Nyb2xsZWRDb250ZW50
T2Zmc2V0KCk7CisKKyAgICAgICAgbV9zY3JvbGxpbmdMYXllci0+c2V0UG9zaXRpb24oRmxvYXRQ
b2ludCgpICsgKHBhZGRpbmdCb3gubG9jYXRpb24oKSAtIGxvY2FsQ29tcG9zaXRpbmdCb3VuZHMu
bG9jYXRpb24oKSkpOworICAgICAgICBtX3Njcm9sbGluZ0xheWVyLT5zZXRTaXplKHBhZGRpbmdC
b3guc2l6ZSgpKTsKKworICAgICAgICBJbnRTaXplIG9sZFNjcm9sbGluZ0xheWVyT2Zmc2V0ID0g
bV9zY3JvbGxpbmdMYXllci0+b2Zmc2V0RnJvbVJlbmRlcmVyKCk7CisgICAgICAgIG1fc2Nyb2xs
aW5nTGF5ZXItPnNldE9mZnNldEZyb21SZW5kZXJlcihJbnRQb2ludCgpIC0gcGFkZGluZ0JveC5s
b2NhdGlvbigpKTsKKyAgICAgICAgYm9vbCBwYWRkaW5nQm94T2Zmc2V0Q2hhbmdlZCA9IG9sZFNj
cm9sbGluZ0xheWVyT2Zmc2V0ICE9IG1fc2Nyb2xsaW5nTGF5ZXItPm9mZnNldEZyb21SZW5kZXJl
cigpOworCisgICAgICAgIC8vIE5vdGUgdGhhdCB3ZSBpbXBsZW1lbnQgdGhlIGNvbnRlbnRzIG9m
ZnNldCB2aWEgdGhlIGJvdW5kcyBvcmlnaW4gb24gdGhpcyBsYXllciwgcmF0aGVyIHRoYW4gYSBw
b3NpdGlvbiBvbiB0aGUgc3VibGF5ZXIuCisgICAgICAgIC8vIEZJWE1FOiB3ZSBzaG91bGQgYXZv
aWQgcmVwYWludGluZyB3aGVuIHNjcm9sbGluZyB2aWEgYSBib3VuZHMgb2Zmc2V0LgorICAgICAg
ICBtX3Njcm9sbGluZ0xheWVyLT5zZXRCb3VuZHNPcmlnaW4oRmxvYXRQb2ludChzY3JvbGxPZmZz
ZXQud2lkdGgoKSwgc2Nyb2xsT2Zmc2V0LmhlaWdodCgpKSk7CisgICAgICAgIAorICAgICAgICBJ
bnRTaXplIHNjcm9sbFNpemUobV9vd25pbmdMYXllci0+c2Nyb2xsV2lkdGgoKSwgbV9vd25pbmdM
YXllci0+c2Nyb2xsSGVpZ2h0KCkpOworICAgICAgICBJbnRTaXplIHNjcm9sbGluZ0NvbnRlbnRz
T2Zmc2V0ID0gcGFkZGluZ0JveC5sb2NhdGlvbigpIC0gSW50UG9pbnQoKSAtIHNjcm9sbE9mZnNl
dDsKKworICAgICAgICBtX3Njcm9sbGluZ0NvbnRlbnRzTGF5ZXItPnNldFBvc2l0aW9uKEZsb2F0
UG9pbnQoKSk7CisgICAgICAgIAorICAgICAgICBpZiAoc2Nyb2xsU2l6ZSAhPSBtX3Njcm9sbGlu
Z0NvbnRlbnRzTGF5ZXItPnNpemUoKSB8fCBwYWRkaW5nQm94T2Zmc2V0Q2hhbmdlZCkKKyAgICAg
ICAgICAgIG1fc2Nyb2xsaW5nQ29udGVudHNMYXllci0+c2V0TmVlZHNEaXNwbGF5KCk7CisgICAg
ICAgIGlmIChzY3JvbGxpbmdDb250ZW50c09mZnNldCAhPSBtX3Njcm9sbGluZ0NvbnRlbnRzTGF5
ZXItPm9mZnNldEZyb21SZW5kZXJlcigpIHx8IHNjcm9sbFNpemUgIT0gbV9zY3JvbGxpbmdDb250
ZW50c0xheWVyLT5zaXplKCkpCisgICAgICAgICAgICBjb21wb3NpdG9yKCktPnNjcm9sbGluZ0xh
eWVyRGlkQ2hhbmdlKG1fb3duaW5nTGF5ZXIpOworCisgICAgICAgIG1fc2Nyb2xsaW5nQ29udGVu
dHNMYXllci0+c2V0U2l6ZShzY3JvbGxTaXplKTsKKyAgICAgICAgLy8gU2Nyb2xsaW5nIHRoZSBj
b250ZW50IGxheWVyIGRvZXMgbm90IG5lZWQgdG8gdHJpZ2dlciBhIHJlcGFpbnQuIFRoZSBvZmZz
ZXQgd2lsbCBiZSBjb21wZW5zYXRlZCBhd2F5IGR1cmluZyBwYWludGluZy4KKyAgICAgICAgLy8g
RklYTUU6IFRoZSBwYWludCBvZmZzZXQgYW5kIHRoZSBzY3JvbGwgb2Zmc2V0IHNob3VsZCByZWFs
bHkgYmUgc2VwYXJhdGUgY29uY2VwdHMuCisgICAgICAgIC8vIEZJWE1FOiBTaG91bGQgdXNlIERv
bnRTZXROZWVkc0Rpc3BsYXkgdG8gYXZvaWQgcmVwYWludGluZyB0aGUgZW50aXJlIGxheWVyLgor
ICAgICAgICBtX3Njcm9sbGluZ0NvbnRlbnRzTGF5ZXItPnNldE9mZnNldEZyb21SZW5kZXJlcihz
Y3JvbGxpbmdDb250ZW50c09mZnNldCwgR3JhcGhpY3NMYXllcjo6U2V0TmVlZHNEaXNwbGF5KTsK
KyAgICB9CisKICAgICBtX2dyYXBoaWNzTGF5ZXItPnNldENvbnRlbnRzUmVjdChjb250ZW50c0Jv
eCgpKTsKIAogICAgIC8vIElmIHRoaXMgbGF5ZXIgd2FzIGNyZWF0ZWQganVzdCBmb3IgY2xpcHBp
bmcgb3IgdG8gYXBwbHkgcGVyc3BlY3RpdmUsIGl0IGRvZXNuJ3QgbmVlZCBpdHMgb3duIGJhY2tp
bmcgc3RvcmUuCkBAIC02NDAsNiArNjk3LDExIEBAIHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjp1
cGRhdGVJbnRlcm5hbEhpZXJhcmNoeSgpCiAgICAgICAgIG1fZ3JhcGhpY3NMYXllci0+YWRkQ2hp
bGQobV9jb250YWlubWVudExheWVyLmdldCgpKTsKICAgICB9CiAKKyAgICBpZiAobV9zY3JvbGxp
bmdMYXllcikgeworICAgICAgICBHcmFwaGljc0xheWVyKiBzdXBlcmxheWVyID0gbV9jb250YWlu
bWVudExheWVyID8gbV9jb250YWlubWVudExheWVyLmdldCgpIDogbV9ncmFwaGljc0xheWVyLmdl
dCgpOworICAgICAgICBzdXBlcmxheWVyLT5hZGRDaGlsZChtX3Njcm9sbGluZ0xheWVyLmdldCgp
KTsKKyAgICB9CisKICAgICAvLyBUaGUgY2xpcCBmb3IgY2hpbGQgbGF5ZXJzIGRvZXMgbm90IGlu
Y2x1ZGUgc3BhY2UgZm9yIG92ZXJmbG93IGNvbnRyb2xzLCBzbyB0aGV5IGV4aXN0IGFzCiAgICAg
Ly8gc2libGluZ3Mgb2YgdGhlIGNsaXBwaW5nIGxheWVyIGlmIHdlIGhhdmUgb25lLiBOb3JtYWwg
Y2hpbGRyZW4gb2YgdGhpcyBsYXllciBhcmUgc2V0IGFzCiAgICAgLy8gY2hpbGRyZW4gb2YgdGhl
IGNsaXBwaW5nIGxheWVyLgpAQCAtNjU5LDYgKzcyMSwxOSBAQCB2b2lkIFJlbmRlckxheWVyQmFj
a2luZzo6dXBkYXRlSW50ZXJuYWxIaWVyYXJjaHkoKQogCiB2b2lkIFJlbmRlckxheWVyQmFja2lu
Zzo6dXBkYXRlRHJhd3NDb250ZW50KCkKIHsKKyAgICBpZiAobV9zY3JvbGxpbmdMYXllcikgewor
ICAgICAgICAvLyBXZSBkb24ndCBoYXZlIHRvIGNvbnNpZGVyIG92ZXJmbG93IGNvbnRyb2xzLCBi
ZWNhdXNlIHdlIGtub3cgdGhhdCB0aGUgc2Nyb2xsYWJycyBhcmUgZHJhd24gZWxzZXdoZXJlLgor
ICAgICAgICAvLyBtX2dyYXBoaWNzTGF5ZXIgb25seSBuZWVkcyBiYWNraW5nIHN0b3JlIGlmIHRo
ZSBub24tc2Nyb2xsaW5nIHBhcnRzIChiYWNrZ3JvdW5kLCBvdXRsaW5lcywgYm9yZGVycywgc2hh
ZG93cyBldGMpIG5lZWQgdG8gcGFpbnQuCisgICAgICAgIC8vIG1fc2Nyb2xsaW5nTGF5ZXIgbmV2
ZXIgaGFzIGJhY2tpbmcgc3RvcmUuCisgICAgICAgIC8vIG1fc2Nyb2xsaW5nQ29udGVudHNMYXll
ciBvbmx5IG5lZWRzIGJhY2tpbmcgc3RvcmUgaWYgdGhlIHNjcm9sbGVkIGNvbnRlbnRzIG5lZWQg
dG8gcGFpbnQuCisgICAgICAgIGJvb2wgaGFzTm9uU2Nyb2xsaW5nUGFpbnRlZENvbnRlbnQgPSBt
X293bmluZ0xheWVyLT5oYXNWaXNpYmxlQ29udGVudCgpICYmIGhhc0JveERlY29yYXRpb25zT3JC
YWNrZ3JvdW5kKHJlbmRlcmVyKCkpOworICAgICAgICBtX2dyYXBoaWNzTGF5ZXItPnNldERyYXdz
Q29udGVudChoYXNOb25TY3JvbGxpbmdQYWludGVkQ29udGVudCk7CisKKyAgICAgICAgYm9vbCBo
YXNTY3JvbGxpbmdQYWludGVkQ29udGVudCA9IG1fb3duaW5nTGF5ZXItPmhhc1Zpc2libGVDb250
ZW50KCkgJiYgKHJlbmRlcmVyKCktPmhhc0JhY2tncm91bmQoKSB8fCBwYWludHNDaGlsZHJlbigp
KTsKKyAgICAgICAgbV9zY3JvbGxpbmdDb250ZW50c0xheWVyLT5zZXREcmF3c0NvbnRlbnQoaGFz
U2Nyb2xsaW5nUGFpbnRlZENvbnRlbnQpOworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAg
Ym9vbCBoYXNQYWludGVkQ29udGVudCA9IGNvbnRhaW5zUGFpbnRlZENvbnRlbnQoKTsKIAogICAg
IC8vIEZJWE1FOiB3ZSBjb3VsZCByZWZpbmUgdGhpcyB0byBvbmx5IGFsbG9jYXRlIGJhY2tpbmcg
Zm9yIG9uZSBvZiB0aGVzZSBsYXllcnMgaWYgcG9zc2libGUuCkBAIC04MDksNiArODg0LDM4IEBA
IGJvb2wgUmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVNYXNrTGF5ZXIoYm9vbCBuZWVkc01hc2tM
YXllcikKICAgICByZXR1cm4gbGF5ZXJDaGFuZ2VkOwogfQogCitib29sIFJlbmRlckxheWVyQmFj
a2luZzo6dXBkYXRlU2Nyb2xsaW5nTGF5ZXJzKGJvb2wgc2Nyb2xsaW5nTGF5ZXJzKQoreworICAg
IGJvb2wgbGF5ZXJDaGFuZ2VkID0gZmFsc2U7CisgICAgaWYgKHNjcm9sbGluZ0xheWVycykgewor
ICAgICAgICBpZiAoIW1fc2Nyb2xsaW5nTGF5ZXIpIHsKKyAgICAgICAgICAgIC8vIE91dGVyIGxh
eWVyIHdoaWNoIGNvcnJlc3BvbmRzIHdpdGggdGhlIHNjcm9sbCB2aWV3LgorICAgICAgICAgICAg
bV9zY3JvbGxpbmdMYXllciA9IGNyZWF0ZUdyYXBoaWNzTGF5ZXIoIlNjcm9sbGluZyBjb250YWlu
ZXIiKTsKKyAgICAgICAgICAgIG1fc2Nyb2xsaW5nTGF5ZXItPnNldERyYXdzQ29udGVudChmYWxz
ZSk7CisgICAgICAgICAgICBtX3Njcm9sbGluZ0xheWVyLT5zZXRNYXNrc1RvQm91bmRzKHRydWUp
OworCisgICAgICAgICAgICAvLyBJbm5lciBsYXllciB3aGljaCByZW5kZXJzIHRoZSBjb250ZW50
IHRoYXQgc2Nyb2xscy4KKyAgICAgICAgICAgIG1fc2Nyb2xsaW5nQ29udGVudHNMYXllciA9IGNy
ZWF0ZUdyYXBoaWNzTGF5ZXIoIlNjcm9sbGVkIENvbnRlbnRzIik7CisgICAgICAgICAgICBtX3Nj
cm9sbGluZ0NvbnRlbnRzTGF5ZXItPnNldERyYXdzQ29udGVudCh0cnVlKTsKKyAgICAgICAgICAg
IG1fc2Nyb2xsaW5nQ29udGVudHNMYXllci0+c2V0UGFpbnRpbmdQaGFzZShHcmFwaGljc0xheWVy
UGFpbnRGb3JlZ3JvdW5kIHwgR3JhcGhpY3NMYXllclBhaW50T3ZlcmZsb3dDb250ZW50cyk7Cisg
ICAgICAgICAgICBtX3Njcm9sbGluZ0xheWVyLT5hZGRDaGlsZChtX3Njcm9sbGluZ0NvbnRlbnRz
TGF5ZXIuZ2V0KCkpOworCisgICAgICAgICAgICBsYXllckNoYW5nZWQgPSB0cnVlOworICAgICAg
ICB9CisgICAgfSBlbHNlIGlmIChtX3Njcm9sbGluZ0xheWVyKSB7CisgICAgICAgIG1fc2Nyb2xs
aW5nTGF5ZXIgPSBudWxscHRyOworICAgICAgICBtX3Njcm9sbGluZ0NvbnRlbnRzTGF5ZXIgPSBu
dWxscHRyOworICAgICAgICBsYXllckNoYW5nZWQgPSB0cnVlOworICAgIH0KKworICAgIGlmIChs
YXllckNoYW5nZWQpIHsKKyAgICAgICAgdXBkYXRlSW50ZXJuYWxIaWVyYXJjaHkoKTsKKyAgICAg
ICAgbV9ncmFwaGljc0xheWVyLT5zZXRQYWludGluZ1BoYXNlKHBhaW50aW5nUGhhc2VGb3JQcmlt
YXJ5TGF5ZXIoKSk7CisgICAgfQorCisgICAgcmV0dXJuIGxheWVyQ2hhbmdlZDsKK30KKwogR3Jh
cGhpY3NMYXllclBhaW50aW5nUGhhc2UgUmVuZGVyTGF5ZXJCYWNraW5nOjpwYWludGluZ1BoYXNl
Rm9yUHJpbWFyeUxheWVyKCkgY29uc3QKIHsKICAgICB1bnNpZ25lZCBwaGFzZSA9IEdyYXBoaWNz
TGF5ZXJQYWludEJhY2tncm91bmQ7CkBAIC04MTcsNiArOTI0LDkgQEAgR3JhcGhpY3NMYXllclBh
aW50aW5nUGhhc2UgUmVuZGVyTGF5ZXJCYWNraW5nOjpwYWludGluZ1BoYXNlRm9yUHJpbWFyeUxh
eWVyKCkgY28KICAgICBpZiAoIW1fbWFza0xheWVyKQogICAgICAgICBwaGFzZSB8PSBHcmFwaGlj
c0xheWVyUGFpbnRNYXNrOwogCisgICAgaWYgKG1fc2Nyb2xsaW5nQ29udGVudHNMYXllcikKKyAg
ICAgICAgcGhhc2UgJj0gfkdyYXBoaWNzTGF5ZXJQYWludEZvcmVncm91bmQ7CisKICAgICByZXR1
cm4gc3RhdGljX2Nhc3Q8R3JhcGhpY3NMYXllclBhaW50aW5nUGhhc2U+KHBoYXNlKTsKIH0KIApA
QCAtMTE0OSw2ICsxMjU5LDE0IEBAIEludFJlY3QgUmVuZGVyTGF5ZXJCYWNraW5nOjpjb250ZW50
c0JveCgpIGNvbnN0CiAgICAgcmV0dXJuIGNvbnRlbnRzUmVjdDsKIH0KIAorR3JhcGhpY3NMYXll
ciogUmVuZGVyTGF5ZXJCYWNraW5nOjpwYXJlbnRGb3JTdWJsYXllcnMoKSBjb25zdAoreworICAg
IGlmIChtX3Njcm9sbGluZ0NvbnRlbnRzTGF5ZXIpCisgICAgICAgIHJldHVybiBtX3Njcm9sbGlu
Z0NvbnRlbnRzTGF5ZXIuZ2V0KCk7CisKKyAgICByZXR1cm4gbV9jb250YWlubWVudExheWVyID8g
bV9jb250YWlubWVudExheWVyLmdldCgpIDogbV9ncmFwaGljc0xheWVyLmdldCgpOworfQorCiBi
b29sIFJlbmRlckxheWVyQmFja2luZzo6cGFpbnRzSW50b1dpbmRvdygpIGNvbnN0CiB7CiAgICAg
aWYgKG1fdXNpbmdUaWxlZENhY2hlTGF5ZXIpCkBAIC0xMTkxLDYgKzEzMDksOSBAQCB2b2lkIFJl
bmRlckxheWVyQmFja2luZzo6c2V0Q29udGVudHNOZWVkRGlzcGxheSgpCiAKICAgICBpZiAobV9t
YXNrTGF5ZXIgJiYgbV9tYXNrTGF5ZXItPmRyYXdzQ29udGVudCgpKQogICAgICAgICBtX21hc2tM
YXllci0+c2V0TmVlZHNEaXNwbGF5KCk7CisKKyAgICBpZiAobV9zY3JvbGxpbmdDb250ZW50c0xh
eWVyICYmIG1fc2Nyb2xsaW5nQ29udGVudHNMYXllci0+ZHJhd3NDb250ZW50KCkpCisgICAgICAg
IG1fc2Nyb2xsaW5nQ29udGVudHNMYXllci0+c2V0TmVlZHNEaXNwbGF5KCk7CiB9CiAKIC8vIHIg
aXMgaW4gdGhlIGNvb3JkaW5hdGUgc3BhY2Ugb2YgdGhlIGxheWVyJ3MgcmVuZGVyIG9iamVjdApA
QCAtMTIxNSw2ICsxMzM2LDEyIEBAIHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjpzZXRDb250ZW50
c05lZWREaXNwbGF5SW5SZWN0KGNvbnN0IEludFJlY3QmIHIpCiAgICAgICAgIGxheWVyRGlydHlS
ZWN0Lm1vdmUoLW1fbWFza0xheWVyLT5vZmZzZXRGcm9tUmVuZGVyZXIoKSk7CiAgICAgICAgIG1f
bWFza0xheWVyLT5zZXROZWVkc0Rpc3BsYXlJblJlY3QobGF5ZXJEaXJ0eVJlY3QpOwogICAgIH0K
KworICAgIGlmIChtX3Njcm9sbGluZ0NvbnRlbnRzTGF5ZXIgJiYgbV9zY3JvbGxpbmdDb250ZW50
c0xheWVyLT5kcmF3c0NvbnRlbnQoKSkgeworICAgICAgICBJbnRSZWN0IGxheWVyRGlydHlSZWN0
ID0gcjsKKyAgICAgICAgbGF5ZXJEaXJ0eVJlY3QubW92ZSgtbV9zY3JvbGxpbmdDb250ZW50c0xh
eWVyLT5vZmZzZXRGcm9tUmVuZGVyZXIoKSk7CisgICAgICAgIG1fc2Nyb2xsaW5nQ29udGVudHNM
YXllci0+c2V0TmVlZHNEaXNwbGF5SW5SZWN0KGxheWVyRGlydHlSZWN0KTsKKyAgICB9CiB9CiAK
IHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjpwYWludEludG9MYXllcihSZW5kZXJMYXllciogcm9v
dExheWVyLCBHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsCkBAIC0xMjM2LDcgKzEzNjMsOSBAQCB2
b2lkIFJlbmRlckxheWVyQmFja2luZzo6cGFpbnRJbnRvTGF5ZXIoUmVuZGVyTGF5ZXIqIHJvb3RM
YXllciwgR3JhcGhpY3NDb250ZXh0KgogICAgICAgICBwYWludEZsYWdzIHw9IFJlbmRlckxheWVy
OjpQYWludExheWVyUGFpbnRpbmdDb21wb3NpdGluZ0ZvcmVncm91bmRQaGFzZTsKICAgICBpZiAo
cGFpbnRpbmdQaGFzZSAmIEdyYXBoaWNzTGF5ZXJQYWludE1hc2spCiAgICAgICAgIHBhaW50Rmxh
Z3MgfD0gUmVuZGVyTGF5ZXI6OlBhaW50TGF5ZXJQYWludGluZ0NvbXBvc2l0aW5nTWFza1BoYXNl
OwotICAgICAgICAKKyAgICBpZiAocGFpbnRpbmdQaGFzZSAmIEdyYXBoaWNzTGF5ZXJQYWludE92
ZXJmbG93Q29udGVudHMpCisgICAgICAgIHBhaW50RmxhZ3MgfD0gUmVuZGVyTGF5ZXI6OlBhaW50
TGF5ZXJQYWludGluZ092ZXJmbG93Q29udGVudHM7CisgICAgCiAgICAgLy8gRklYTUU6IEdyYXBo
aWNzTGF5ZXJzIG5lZWQgYSB3YXkgdG8gc3BsaXQgZm9yIFJlbmRlclJlZ2lvbnMuCiAgICAgbV9v
d25pbmdMYXllci0+cGFpbnRMYXllckNvbnRlbnRzKHJvb3RMYXllciwgY29udGV4dCwgcGFpbnRE
aXJ0eVJlY3QsIHBhaW50QmVoYXZpb3IsIHBhaW50aW5nUm9vdCwgMCwgMCwgcGFpbnRGbGFncyk7
CiAKQEAgLTEyNjcsMTIgKzEzOTYsMTQgQEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnBhaW50
Q29udGVudHMoY29uc3QgR3JhcGhpY3NMYXllciogZ3JhcGhpY3NMYXllciwgR3JhcGgKICAgICBp
ZiAoUGFnZSogcGFnZSA9IHJlbmRlcmVyKCktPmZyYW1lKCktPnBhZ2UoKSkKICAgICAgICAgcGFn
ZS0+c2V0SXNQYWludGluZyh0cnVlKTsKICNlbmRpZgotICAgIGlmIChncmFwaGljc0xheWVyID09
IG1fZ3JhcGhpY3NMYXllci5nZXQoKSB8fCBncmFwaGljc0xheWVyID09IG1fZm9yZWdyb3VuZExh
eWVyLmdldCgpIHx8IGdyYXBoaWNzTGF5ZXIgPT0gbV9tYXNrTGF5ZXIuZ2V0KCkpIHsKKworICAg
IGlmIChncmFwaGljc0xheWVyID09IG1fZ3JhcGhpY3NMYXllci5nZXQoKSB8fCBncmFwaGljc0xh
eWVyID09IG1fZm9yZWdyb3VuZExheWVyLmdldCgpIHx8IGdyYXBoaWNzTGF5ZXIgPT0gbV9tYXNr
TGF5ZXIuZ2V0KCkgfHwgZ3JhcGhpY3NMYXllciA9PSBtX3Njcm9sbGluZ0NvbnRlbnRzTGF5ZXIu
Z2V0KCkpIHsKICAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llIGNvb2tpZSA9
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbFBhaW50KG1fb3duaW5nTGF5ZXItPnJlbmRl
cmVyKCktPmZyYW1lKCksICZjb250ZXh0LCBjbGlwKTsKIAogICAgICAgICAvLyBUaGUgZGlydHlS
ZWN0IGlzIGluIHRoZSBjb29yZHMgb2YgdGhlIHBhaW50aW5nIHJvb3QuCi0gICAgICAgIEludFJl
Y3QgZGlydHlSZWN0ID0gY29tcG9zaXRlZEJvdW5kcygpOwotICAgICAgICBkaXJ0eVJlY3QuaW50
ZXJzZWN0KGNsaXApOworICAgICAgICBJbnRSZWN0IGRpcnR5UmVjdCA9IGNsaXA7CisgICAgICAg
IGlmICghKHBhaW50aW5nUGhhc2UgJiBHcmFwaGljc0xheWVyUGFpbnRPdmVyZmxvd0NvbnRlbnRz
KSkKKyAgICAgICAgICAgIGRpcnR5UmVjdC5pbnRlcnNlY3QoY29tcG9zaXRlZEJvdW5kcygpKTsK
IAogICAgICAgICAvLyBXZSBoYXZlIHRvIHVzZSB0aGUgc2FtZSByb290IGFzIGZvciBoaXQgdGVz
dGluZywgYmVjYXVzZSBib3RoIG1ldGhvZHMgY2FuIGNvbXB1dGUgYW5kIGNhY2hlIGNsaXBSZWN0
cy4KICAgICAgICAgcGFpbnRJbnRvTGF5ZXIobV9vd25pbmdMYXllciwgJmNvbnRleHQsIGRpcnR5
UmVjdCwgUGFpbnRCZWhhdmlvck5vcm1hbCwgcGFpbnRpbmdQaGFzZSwgcmVuZGVyZXIoKSk7CkBA
IC0xNjEzLDYgKzE3NDQsOCBAQCBkb3VibGUgUmVuZGVyTGF5ZXJCYWNraW5nOjpiYWNraW5nU3Rv
cmVNZW1vcnlFc3RpbWF0ZSgpIGNvbnN0CiAgICAgICAgIGJhY2tpbmdNZW1vcnkgKz0gbV9mb3Jl
Z3JvdW5kTGF5ZXItPmJhY2tpbmdTdG9yZU1lbW9yeUVzdGltYXRlKCk7CiAgICAgaWYgKG1fbWFz
a0xheWVyKQogICAgICAgICBiYWNraW5nTWVtb3J5ICs9IG1fbWFza0xheWVyLT5iYWNraW5nU3Rv
cmVNZW1vcnlFc3RpbWF0ZSgpOworICAgIGlmIChtX3Njcm9sbGluZ0NvbnRlbnRzTGF5ZXIpCisg
ICAgICAgIGJhY2tpbmdNZW1vcnkgKz0gbV9zY3JvbGxpbmdDb250ZW50c0xheWVyLT5iYWNraW5n
U3RvcmVNZW1vcnlFc3RpbWF0ZSgpOwogCiAgICAgaWYgKG1fbGF5ZXJGb3JIb3Jpem9udGFsU2Ny
b2xsYmFyKQogICAgICAgICBiYWNraW5nTWVtb3J5ICs9IG1fbGF5ZXJGb3JIb3Jpem9udGFsU2Ny
b2xsYmFyLT5iYWNraW5nU3RvcmVNZW1vcnlFc3RpbWF0ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5oIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5oCmluZGV4IDBmNDJkM2ZiOTFiMTc5MzU5Nzlm
ZGIxOGRiZDA2ZmNhNjhmYmM4NGMuLjJhYjQ5OTc5YzEwMjZhNjFkNmU0YzcwMmI5MGRjOWM2NGEx
Y2Q1MmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJh
Y2tpbmcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5n
LmgKQEAgLTgzLDEwICs4MywxNCBAQCBwdWJsaWM6CiAKICAgICBib29sIGhhc0NvbnRlbnRzTGF5
ZXIoKSBjb25zdCB7IHJldHVybiBtX2ZvcmVncm91bmRMYXllciAhPSAwOyB9CiAgICAgR3JhcGhp
Y3NMYXllciogZm9yZWdyb3VuZExheWVyKCkgY29uc3QgeyByZXR1cm4gbV9mb3JlZ3JvdW5kTGF5
ZXIuZ2V0KCk7IH0KKworICAgIGJvb2wgaGFzU2Nyb2xsaW5nTGF5ZXIoKSBjb25zdCB7IHJldHVy
biBtX3Njcm9sbGluZ0xheWVyOyB9CisgICAgR3JhcGhpY3NMYXllciogc2Nyb2xsaW5nTGF5ZXIo
KSBjb25zdCB7IHJldHVybiBtX3Njcm9sbGluZ0xheWVyLmdldCgpOyB9CisgICAgR3JhcGhpY3NM
YXllciogc2Nyb2xsaW5nQ29udGVudHNMYXllcigpIGNvbnN0IHsgcmV0dXJuIG1fc2Nyb2xsaW5n
Q29udGVudHNMYXllci5nZXQoKTsgfQogICAgIAogICAgIGJvb2wgaGFzTWFza0xheWVyKCkgY29u
c3QgeyByZXR1cm4gbV9tYXNrTGF5ZXIgIT0gMDsgfQogCi0gICAgR3JhcGhpY3NMYXllciogcGFy
ZW50Rm9yU3VibGF5ZXJzKCkgY29uc3QgeyByZXR1cm4gbV9jb250YWlubWVudExheWVyID8gbV9j
b250YWlubWVudExheWVyLmdldCgpIDogbV9ncmFwaGljc0xheWVyLmdldCgpOyB9CisgICAgR3Jh
cGhpY3NMYXllciogcGFyZW50Rm9yU3VibGF5ZXJzKCkgY29uc3Q7CiAgICAgR3JhcGhpY3NMYXll
ciogY2hpbGRGb3JTdXBlcmxheWVycygpIGNvbnN0IHsgcmV0dXJuIG1fYW5jZXN0b3JDbGlwcGlu
Z0xheWVyID8gbV9hbmNlc3RvckNsaXBwaW5nTGF5ZXIuZ2V0KCkgOiBtX2dyYXBoaWNzTGF5ZXIu
Z2V0KCk7IH0KIAogICAgIC8vIFJlbmRlckxheWVycyB3aXRoIGJhY2tpbmcgbm9ybWFsbHkgc2hv
cnQtY2lyY3VpdCBwYWludExheWVyKCkgYmVjYXVzZQpAQCAtMTgyLDYgKzE4Niw3IEBAIHByaXZh
dGU6CiAgICAgYm9vbCByZXF1aXJlc0hvcml6b250YWxTY3JvbGxiYXJMYXllcigpIGNvbnN0Owog
ICAgIGJvb2wgcmVxdWlyZXNWZXJ0aWNhbFNjcm9sbGJhckxheWVyKCkgY29uc3Q7CiAgICAgYm9v
bCByZXF1aXJlc1Njcm9sbENvcm5lckxheWVyKCkgY29uc3Q7CisgICAgYm9vbCB1cGRhdGVTY3Jv
bGxpbmdMYXllcnMoYm9vbCBzY3JvbGxpbmdMYXllcnMpOwogCiAgICAgR3JhcGhpY3NMYXllclBh
aW50aW5nUGhhc2UgcGFpbnRpbmdQaGFzZUZvclByaW1hcnlMYXllcigpIGNvbnN0OwogICAgIApA
QCAtMjQxLDYgKzI0Niw5IEBAIHByaXZhdGU6CiAgICAgT3duUHRyPEdyYXBoaWNzTGF5ZXI+IG1f
bGF5ZXJGb3JWZXJ0aWNhbFNjcm9sbGJhcjsKICAgICBPd25QdHI8R3JhcGhpY3NMYXllcj4gbV9s
YXllckZvclNjcm9sbENvcm5lcjsKIAorICAgIE93blB0cjxHcmFwaGljc0xheWVyPiBtX3Njcm9s
bGluZ0xheWVyOyAvLyBvbmx5IHVzZWQgaWYgdGhlIGxheWVyIGlzIHVzaW5nIGNvbXBvc2l0ZWQg
c2Nyb2xsaW5nLgorICAgIE93blB0cjxHcmFwaGljc0xheWVyPiBtX3Njcm9sbGluZ0NvbnRlbnRz
TGF5ZXI7IC8vIG9ubHkgdXNlZCBpZiB0aGUgbGF5ZXIgaXMgdXNpbmcgY29tcG9zaXRlZCBzY3Jv
bGxpbmcuCisKICAgICBJbnRSZWN0IG1fY29tcG9zaXRlZEJvdW5kczsKIAogICAgIGJvb2wgbV9h
cnRpZmljaWFsbHlJbmZsYXRlZEJvdW5kczsgICAgICAvLyBib3VuZHMgaGFkIHRvIGJlIG1hZGUg
bm9uLXplcm8gdG8gbWFrZSB0cmFuc2Zvcm0tb3JpZ2luIHdvcmsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKaW5kZXggNjA2MmFhZWM4
ZjliYTA5OWUyZDgxYzhiZDBlM2NiZTQxMzFjMGQ1Yy4uNWJhMmM1MDFhY2U0NDhmOTA3NTQ2NWU3
N2Q5MTA0ZGI5OGE5YmEyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckxheWVyQ29tcG9zaXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckxheWVyQ29tcG9zaXRvci5jcHAKQEAgLTEwMjQsNyArMTAyNCw3IEBAIHZvaWQgUmVuZGVy
TGF5ZXJDb21wb3NpdG9yOjpyZWJ1aWxkQ29tcG9zaXRpbmdMYXllclRyZWUoUmVuZGVyTGF5ZXIq
IGxheWVyLCBWZWN0CiAKICAgICAgICAgLy8gSWYgdGhlIGxheWVyIGhhcyBhIGNsaXBwaW5nIGxh
eWVyIHRoZSBvdmVyZmxvdyBjb250cm9scyBsYXllcnMgd2lsbCBiZSBzaWJsaW5ncyBvZiB0aGUg
Y2xpcHBpbmcgbGF5ZXIuCiAgICAgICAgIC8vIE90aGVyd2lzZSwgdGhlIG92ZXJmbG93IGNvbnRy
b2wgbGF5ZXJzIGFyZSBub3JtYWwgY2hpbGRyZW4uCi0gICAgICAgIGlmICghbGF5ZXJCYWNraW5n
LT5oYXNDbGlwcGluZ0xheWVyKCkpIHsKKyAgICAgICAgaWYgKCFsYXllckJhY2tpbmctPmhhc0Ns
aXBwaW5nTGF5ZXIoKSAmJiAhbGF5ZXJCYWNraW5nLT5oYXNTY3JvbGxpbmdMYXllcigpKSB7CiAg
ICAgICAgICAgICBpZiAoR3JhcGhpY3NMYXllciogb3ZlcmZsb3dDb250cm9sTGF5ZXIgPSBsYXll
ckJhY2tpbmctPmxheWVyRm9ySG9yaXpvbnRhbFNjcm9sbGJhcigpKSB7CiAgICAgICAgICAgICAg
ICAgb3ZlcmZsb3dDb250cm9sTGF5ZXItPnJlbW92ZUZyb21QYXJlbnQoKTsKICAgICAgICAgICAg
ICAgICBsYXllckJhY2tpbmctPnBhcmVudEZvclN1YmxheWVycygpLT5hZGRDaGlsZChvdmVyZmxv
d0NvbnRyb2xMYXllcik7CkBAIC0xMDkxLDYgKzEwOTEsMTMgQEAgdm9pZCBSZW5kZXJMYXllckNv
bXBvc2l0b3I6OmZyYW1lVmlld0RpZFNjcm9sbCgpCiAgICAgbV9zY3JvbGxMYXllci0+c2V0UG9z
aXRpb24oRmxvYXRQb2ludCgtc2Nyb2xsUG9zaXRpb24ueCgpLCAtc2Nyb2xsUG9zaXRpb24ueSgp
KSk7CiB9CiAKK3ZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpzY3JvbGxpbmdMYXllckRpZENo
YW5nZShSZW5kZXJMYXllciogbGF5ZXIpCit7CisgICAgUmVuZGVyTGF5ZXJCYWNraW5nKiBiYWNr
aW5nID0gbGF5ZXItPmJhY2tpbmcoKTsKKyAgICBpZiAoU2Nyb2xsaW5nQ29vcmRpbmF0b3IqIHNj
cm9sbGluZ0Nvb3JkaW5hdG9yID0gdGhpcy0+c2Nyb2xsaW5nQ29vcmRpbmF0b3IoKSkKKyAgICAg
ICAgc2Nyb2xsaW5nQ29vcmRpbmF0b3ItPnNjcm9sbGFibGVBcmVhU2Nyb2xsTGF5ZXJEaWRDaGFu
Z2UobGF5ZXIsIGJhY2tpbmcgPyBiYWNraW5nLT5zY3JvbGxpbmdDb250ZW50c0xheWVyKCkgOiAw
KTsKK30KKwogU3RyaW5nIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6bGF5ZXJUcmVlQXNUZXh0KGJv
b2wgc2hvd0RlYnVnSW5mbykKIHsKICAgICB1cGRhdGVDb21wb3NpdGluZ0xheWVycyhDb21wb3Np
dGluZ1VwZGF0ZUFmdGVyTGF5b3V0KTsKQEAgLTE0NDMsNyArMTQ1MCw4IEBAIGJvb2wgUmVuZGVy
TGF5ZXJDb21wb3NpdG9yOjpyZXF1aXJlc0NvbXBvc2l0aW5nTGF5ZXIoY29uc3QgUmVuZGVyTGF5
ZXIqIGxheWVyKSBjCiAgICAgICAgIHx8IGNsaXBzQ29tcG9zaXRpbmdEZXNjZW5kYW50cyhsYXll
cikKICAgICAgICAgfHwgcmVxdWlyZXNDb21wb3NpdGluZ0ZvckFuaW1hdGlvbihyZW5kZXJlcikK
ICAgICAgICAgfHwgcmVxdWlyZXNDb21wb3NpdGluZ0ZvckZpbHRlcnMocmVuZGVyZXIpCi0gICAg
ICAgIHx8IHJlcXVpcmVzQ29tcG9zaXRpbmdGb3JQb3NpdGlvbihyZW5kZXJlciwgbGF5ZXIpOwor
ICAgICAgICB8fCByZXF1aXJlc0NvbXBvc2l0aW5nRm9yUG9zaXRpb24ocmVuZGVyZXIsIGxheWVy
KQorICAgICAgICB8fCByZXF1aXJlc0NvbXBvc2l0aW5nRm9yU2Nyb2xsaW5nKGxheWVyKTsKIH0K
IAogYm9vbCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OmNhbkJlQ29tcG9zaXRlZChjb25zdCBSZW5k
ZXJMYXllciogbGF5ZXIpIGNvbnN0CkBAIC0xNDcyLDYgKzE0ODAsNyBAQCBib29sIFJlbmRlckxh
eWVyQ29tcG9zaXRvcjo6cmVxdWlyZXNPd25CYWNraW5nU3RvcmUoY29uc3QgUmVuZGVyTGF5ZXIq
IGxheWVyLCBjbwogICAgICAgICB8fCByZXF1aXJlc0NvbXBvc2l0aW5nRm9yQW5pbWF0aW9uKHJl
bmRlcmVyKQogICAgICAgICB8fCByZXF1aXJlc0NvbXBvc2l0aW5nRm9yRmlsdGVycyhyZW5kZXJl
cikKICAgICAgICAgfHwgcmVxdWlyZXNDb21wb3NpdGluZ0ZvclBvc2l0aW9uKHJlbmRlcmVyLCBs
YXllcikKKyAgICAgICAgfHwgcmVxdWlyZXNDb21wb3NpdGluZ0ZvclNjcm9sbGluZyhsYXllcikK
ICAgICAgICAgfHwgcmVuZGVyZXItPmlzVHJhbnNwYXJlbnQoKQogICAgICAgICB8fCByZW5kZXJl
ci0+aGFzTWFzaygpCiAgICAgICAgIHx8IHJlbmRlcmVyLT5oYXNSZWZsZWN0aW9uKCkKQEAgLTE1
MjksNiArMTUzOCw5IEBAIGNvbnN0IGNoYXIqIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6cmVhc29u
Rm9yQ29tcG9zaXRpbmcoY29uc3QgUmVuZGVyTGF5ZXIqIGxheWVyCiAgICAgaWYgKHJlcXVpcmVz
Q29tcG9zaXRpbmdGb3JQb3NpdGlvbihyZW5kZXJlciwgbGF5ZXIpKQogICAgICAgICByZXR1cm4g
InBvc2l0aW9uOiBmaXhlZCI7CiAKKyAgICBpZiAocmVxdWlyZXNDb21wb3NpdGluZ0ZvclNjcm9s
bGluZyhsYXllcikpCisgICAgICAgIHJldHVybiAiLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6
IHRvdWNoIjsKKwogICAgIGlmIChsYXllci0+aW5kaXJlY3RDb21wb3NpdGluZ1JlYXNvbigpID09
IFJlbmRlckxheWVyOjpJbmRpcmVjdENvbXBvc2l0aW5nRm9yU3RhY2tpbmcpCiAgICAgICAgIHJl
dHVybiAic3RhY2tpbmciOwogCkBAIC0xODMzLDYgKzE4NDUsMTEgQEAgYm9vbCBSZW5kZXJMYXll
ckNvbXBvc2l0b3I6OnJlcXVpcmVzQ29tcG9zaXRpbmdGb3JQb3NpdGlvbihSZW5kZXJPYmplY3Qq
IHJlbmRlcmUKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorYm9vbCBSZW5kZXJMYXllckNvbXBvc2l0
b3I6OnJlcXVpcmVzQ29tcG9zaXRpbmdGb3JTY3JvbGxpbmcoY29uc3QgUmVuZGVyTGF5ZXIqIGxh
eWVyKSBjb25zdAoreworICAgIHJldHVybiBsYXllci0+dXNlc0NvbXBvc2l0ZWRTY3JvbGxpbmco
KTsKK30KKwogYm9vbCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OmlzUnVubmluZ0FjY2VsZXJhdGVk
VHJhbnNmb3JtQW5pbWF0aW9uKFJlbmRlck9iamVjdCogcmVuZGVyZXIpIGNvbnN0CiB7CiAgICAg
aWYgKCEobV9jb21wb3NpdGluZ1RyaWdnZXJzICYgQ2hyb21lQ2xpZW50OjpBbmltYXRpb25Ucmln
Z2VyKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNv
bXBvc2l0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0
b3IuaAppbmRleCA1Yjg3ZTUzYzRhODU3OGExYzVhZDZjN2JjMmNlMGMxN2I0ZGI0NWM4Li41YjU2
NDgxMmE0MDM5ZWE4NWQ2MWExMDFiOWQxNzEzMjlhZGViNzFlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5oCkBAIC0xOTIsNiArMTkyLDgg
QEAgcHVibGljOgogICAgIHZvaWQgZnJhbWVWaWV3RGlkQ2hhbmdlU2l6ZSgpOwogICAgIHZvaWQg
ZnJhbWVWaWV3RGlkU2Nyb2xsKCk7CiAKKyAgICB2b2lkIHNjcm9sbGluZ0xheWVyRGlkQ2hhbmdl
KFJlbmRlckxheWVyKik7CisKICAgICBTdHJpbmcgbGF5ZXJUcmVlQXNUZXh0KGJvb2wgc2hvd0Rl
YnVnSW5mbyA9IGZhbHNlKTsKIAogICAgIC8vIFRoZXNlIGFyZSBuYW1lZCB0byBhdm9pZCBjb25m
bGljdHMgd2l0aCB0aGUgZnVuY3Rpb25zIGluIEdyYXBoaWNzTGF5ZXJDbGllbnQKQEAgLTI5Miw2
ICsyOTQsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgcmVxdWlyZXNDb21wb3NpdGluZ0ZvckZpbHRl
cnMoUmVuZGVyT2JqZWN0KikgY29uc3Q7CiAgICAgYm9vbCByZXF1aXJlc0NvbXBvc2l0aW5nRm9y
U2Nyb2xsYWJsZUZyYW1lKCkgY29uc3Q7CiAgICAgYm9vbCByZXF1aXJlc0NvbXBvc2l0aW5nRm9y
UG9zaXRpb24oUmVuZGVyT2JqZWN0KiwgY29uc3QgUmVuZGVyTGF5ZXIqKSBjb25zdDsKKyAgICBi
b29sIHJlcXVpcmVzQ29tcG9zaXRpbmdGb3JTY3JvbGxpbmcoY29uc3QgUmVuZGVyTGF5ZXIqKSBj
b25zdDsKICAgICBib29sIHJlcXVpcmVzQ29tcG9zaXRpbmdGb3JJbmRpcmVjdFJlYXNvbihSZW5k
ZXJPYmplY3QqLCBib29sIGhhc0NvbXBvc2l0ZWREZXNjZW5kYW50cywgYm9vbCBoYXMzRFRyYW5z
Zm9ybWVkRGVzY2VuZGFudHMsIFJlbmRlckxheWVyOjpJbmRpcmVjdENvbXBvc2l0aW5nUmVhc29u
JikgY29uc3Q7CiAKICAgICBib29sIHJlcXVpcmVzU2Nyb2xsTGF5ZXIoUm9vdExheWVyQXR0YWNo
bWVudCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL2ZlYXR1cmVz
Lmd5cGkgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL2ZlYXR1cmVzLmd5cGkKaW5kZXggOGRjN2Uy
ZjZmNjUyOGNmYWZhNTQ0MmYwZjFlOTFmZTZmNDBhMGZjZC4uODMxY2IwNTk0MDM3MWY5ZGNiMDMw
YzAzNjVlZDNiMTdhYzI1YWI4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9m
ZWF0dXJlcy5neXBpCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vZmVhdHVyZXMuZ3lwaQpA
QCAtMTc5LDcgKzE3OSw3IEBACiAgICAgICAgICAgJ0VOQUJMRV9NRURJQV9TVFJFQU09MScsCiAg
ICAgICAgICAgJ0VOQUJMRV9OT1RJRklDQVRJT05TPTEnLAogICAgICAgICAgICdFTkFCTEVfT1JJ
RU5UQVRJT05fRVZFTlRTPTAnLAotICAgICAgICAgICdFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5H
PTAnLAorICAgICAgICAgICdFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HPTEnLAogICAgICAgICAg
ICdFTkFCTEVfUEFHRV9QT1BVUD0xJywKICAgICAgICAgICAnRU5BQkxFX1BSSU5USU5HPTEnLAog
ICAgICAgICAgICdFTkFCTEVfU0hBUkVEX1dPUktFUlM9MScsCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJMYXllci5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJMYXllci5jcHAKaW5kZXggN2E2MDRiODFlZTBhNzc3MmM3MTkxY2I5MWFmMjM4M2M4
OWRlNjVmOC4uMjE5MmU2YjFkMTE3NTFjNmNhMThlNjJlZTYzZTZlODNhOGU0MzdhZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTGF5ZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkxheWVyLmNwcApAQCAtMzQsNiArMzQsOCBAQAogI2lu
Y2x1ZGUgPHB1YmxpYy9XZWJGaWx0ZXJPcGVyYXRpb25zLmg+CiAjaW5jbHVkZSA8cHVibGljL1dl
YkZsb2F0UG9pbnQuaD4KICNpbmNsdWRlIDxwdWJsaWMvV2ViRmxvYXRSZWN0Lmg+CisjaW5jbHVk
ZSA8cHVibGljL1dlYlBvaW50Lmg+CisjaW5jbHVkZSA8cHVibGljL1dlYlNjcm9sbERlbGVnYXRl
Lmg+CiAjaW5jbHVkZSA8cHVibGljL1dlYlNpemUuaD4KICNpbmNsdWRlIDxwdWJsaWMvV2ViVHJh
bnNmb3JtYXRpb25NYXRyaXguaD4KIApAQCAtMzg2LDYgKzM4OCwyNiBAQCB2b2lkIFdlYkxheWVy
OjpjbGVhclJlbmRlclN1cmZhY2UoKQogICAgIG1fcHJpdmF0ZS0+Y2xlYXJSZW5kZXJTdXJmYWNl
KCk7CiB9CiAKK3ZvaWQgV2ViTGF5ZXI6OnNldFNjcm9sbGFibGUoYm9vbCBzY3JvbGxhYmxlKQor
eworICAgIG1fcHJpdmF0ZS0+c2V0U2Nyb2xsYWJsZShzY3JvbGxhYmxlKTsKK30KKwordm9pZCBX
ZWJMYXllcjo6c2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgV2ViUG9pbnQmIHNjcm9sbFBvc2l0aW9u
KQoreworICAgIG1fcHJpdmF0ZS0+c2V0U2Nyb2xsUG9zaXRpb24oc2Nyb2xsUG9zaXRpb24pOwor
fQorCit2b2lkIFdlYkxheWVyOjpzZXRNYXhTY3JvbGxQb3NpdGlvbihjb25zdCBXZWJTaXplJiBt
YXhTY3JvbGxQb3NpdGlvbikKK3sKKyAgICBtX3ByaXZhdGUtPnNldE1heFNjcm9sbFBvc2l0aW9u
KG1heFNjcm9sbFBvc2l0aW9uKTsKK30KKwordm9pZCBXZWJMYXllcjo6c2V0U2Nyb2xsRGVsZWdh
dGUoV2ViU2Nyb2xsRGVsZWdhdGUqIGRlbGVnYXRlKQoreworICAgIG1fcHJpdmF0ZS0+c2V0U2Ny
b2xsRGVsZWdhdGUoZGVsZWdhdGUpOworfQorCiBXZWJMYXllcjo6V2ViTGF5ZXIoY29uc3QgUGFz
c1JlZlB0cjxMYXllckNocm9taXVtPiYgbm9kZSkKICAgICA6IG1fcHJpdmF0ZShub2RlKQogewpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0xheWVyVHJlZUhvc3RU
ZXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NMYXllclRyZWVIb3N0VGVz
dC5jcHAKaW5kZXggZWYwNDFiZjEwMGEzNjU0NjlhNTM0ODliY2E0YjRjZTdjNTYwNGE0MS4uMDBk
YmM0YmM4OGJhNWEzYjZjYjUyNzhiMTMyZWM2YWNmNmFiNTVhZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0xheWVyVHJlZUhvc3RUZXN0LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDTGF5ZXJUcmVlSG9zdFRlc3QuY3BwCkBAIC0zNyw2
ICszNyw4IEBACiAjaW5jbHVkZSA8Z21vY2svZ21vY2suaD4KICNpbmNsdWRlIDxndGVzdC9ndGVz
dC5oPgogI2luY2x1ZGUgPHB1YmxpYy9QbGF0Zm9ybS5oPgorI2luY2x1ZGUgPHB1YmxpYy9XZWJT
Y3JvbGxEZWxlZ2F0ZS5oPgorI2luY2x1ZGUgPHB1YmxpYy9XZWJTaXplLmg+CiAjaW5jbHVkZSA8
cHVibGljL1dlYlRocmVhZC5oPgogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CiAjaW5jbHVk
ZSA8d3RmL093bkFycmF5UHRyLmg+CkBAIC0yMTYxLDcgKzIxNjMsNyBAQCBwcml2YXRlOgogCiBT
SU5HTEVfQU5EX01VTFRJX1RIUkVBRF9URVNUX0YoQ0NMYXllclRyZWVIb3N0VGVzdExheWVyQWRk
ZWRXaXRoQW5pbWF0aW9uKQogCi1jbGFzcyBDQ0xheWVyVHJlZUhvc3RUZXN0U2Nyb2xsQ2hpbGRM
YXllciA6IHB1YmxpYyBDQ0xheWVyVHJlZUhvc3RUZXN0LCBwdWJsaWMgTGF5ZXJDaHJvbWl1bVNj
cm9sbERlbGVnYXRlIHsKK2NsYXNzIENDTGF5ZXJUcmVlSG9zdFRlc3RTY3JvbGxDaGlsZExheWVy
IDogcHVibGljIENDTGF5ZXJUcmVlSG9zdFRlc3QsIHB1YmxpYyBXZWJTY3JvbGxEZWxlZ2F0ZSB7
CiBwdWJsaWM6CiAgICAgQ0NMYXllclRyZWVIb3N0VGVzdFNjcm9sbENoaWxkTGF5ZXIoKQogICAg
ICAgICA6IG1fc2Nyb2xsQW1vdW50KDIsIDEpCkBAIC0yMTg0LDcgKzIxODYsNyBAQCBwdWJsaWM6
CiAgICAgICAgIG1fcm9vdFNjcm9sbExheWVyLT5zZXRNYXhTY3JvbGxQb3NpdGlvbihJbnRTaXpl
KDEwMCwgMTAwKSk7CiAgICAgICAgIG1fbGF5ZXJUcmVlSG9zdC0+cm9vdExheWVyKCktPmFkZENo
aWxkKG1fcm9vdFNjcm9sbExheWVyKTsKICAgICAgICAgbV9jaGlsZExheWVyID0gQ29udGVudExh
eWVyQ2hyb21pdW06OmNyZWF0ZSgmbV9tb2NrRGVsZWdhdGUpOwotICAgICAgICBtX2NoaWxkTGF5
ZXItPnNldExheWVyU2Nyb2xsRGVsZWdhdGUodGhpcyk7CisgICAgICAgIG1fY2hpbGRMYXllci0+
c2V0U2Nyb2xsRGVsZWdhdGUodGhpcyk7CiAgICAgICAgIG1fY2hpbGRMYXllci0+c2V0Qm91bmRz
KEludFNpemUoNTAsIDUwKSk7CiAgICAgICAgIG1fY2hpbGRMYXllci0+c2V0SXNEcmF3YWJsZSh0
cnVlKTsKICAgICAgICAgbV9jaGlsZExheWVyLT5zZXRTY3JvbGxhYmxlKHRydWUpOwpAQCAtMjE5
Nyw3ICsyMTk5LDcgQEAgcHVibGljOgogICAgICAgICBwb3N0U2V0TmVlZHNDb21taXRUb01haW5U
aHJlYWQoKTsKICAgICB9CiAKLSAgICB2aXJ0dWFsIHZvaWQgZGlkU2Nyb2xsKGNvbnN0IEludFNp
emUmIHNjcm9sbERlbHRhKSBPVkVSUklERQorICAgIHZpcnR1YWwgdm9pZCBkaWRTY3JvbGwoY29u
c3QgV2ViU2l6ZSYgc2Nyb2xsRGVsdGEpIE9WRVJSSURFCiAgICAgewogICAgICAgICBtX3JlcG9y
dGVkU2Nyb2xsQW1vdW50ID0gc2Nyb2xsRGVsdGE7CiAgICAgfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>157805</attachid>
            <date>2012-08-10 13:58:10 -0700</date>
            <delta_ts>2012-08-30 11:32:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-78862-20120810165741.patch</filename>
            <type>text/plain</type>
            <size>73038</size>
            <attacher>vollick</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI1MTQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0v
Q2hhbmdlTG9nIGIvU291cmNlL1BsYXRmb3JtL0NoYW5nZUxvZwppbmRleCBjNzBkNTFiY2JlNGE0
Y2IzM2RiZGE1MTYxYTI3MDQzYmRhMzBhZGFhLi5lNTZhZWVjODFiM2I1Y2VhZDIxODI3NDQzMDk1
MzhiMTA4YjI1NjgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxMi0wOC0xMCAg
SWFuIFZvbGxpY2sgIDx2b2xsaWNrQGNocm9taXVtLm9yZz4KKworICAgICAgICBUb3VjaCBvdmVy
ZmxvdyBzY3JvbGxpbmcgZWxlbWVudHMgc2hvdWxkIGJlIHNwbGl0IGludG8gbGF5ZXJzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03ODg2MgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEV4cG9zZXMgbWV0aG9k
cyBmb3IgY29udHJvbGxpbmcgc2Nyb2xsaW5nLgorCisgICAgICAgICogUGxhdGZvcm0uZ3lwaToK
KyAgICAgICAgKiBjaHJvbWl1bS9wdWJsaWMvV2ViTGF5ZXIuaDoKKyAgICAgICAgKFdlYktpdCk6
CisgICAgICAgIChXZWJMYXllcik6CisgICAgICAgICogY2hyb21pdW0vcHVibGljL1dlYlNjcm9s
bERlbGVnYXRlLmg6IEFkZGVkLgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYlNjcm9s
bERlbGVnYXRlKToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsRGVsZWdhdGU6On5XZWJTY3Jv
bGxEZWxlZ2F0ZSk6CisKIDIwMTItMDgtMDggIEFkcmllbm5lIFdhbGtlciAgPGVubmVAZ29vZ2xl
LmNvbT4KIAogICAgICAgICBbY2hyb21pdW1dIE1vdmUgc2Nyb2xsYmFyIHBvaW50ZXIgaW50byBX
ZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA4N2RlMGY4YjAzNjI5MmQwNDNj
ZmUwN2UwOTNmZDFhYjhjODk3MDIxLi4zM2U0MTdhOTkzNjBhNzAzNmE0ZTdmZWJkNDQyNjA0ZjVj
YTUzYjBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQyIEBACisyMDEyLTA4LTEwICBJYW4gVm9s
bGljayAgPHZvbGxpY2tAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFRvdWNoIG92ZXJmbG93IHNj
cm9sbGluZyBlbGVtZW50cyBzaG91bGQgYmUgc3BsaXQgaW50byBsYXllcnMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc4ODYyCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUGF0Y2ggYnkgc2t5b3N0aWxAY2hy
b21pdW0ub3JnLgorCisgICAgICAgIFdoZW4gYSByZWd1bGFyIG92ZXJmbG93IGVsZW1lbnQgaXMg
c2Nyb2xsZWQsIHdlIHJlcGFpbnQgdGhlIGVudGlyZSBhcmVhCisgICAgICAgIGl0IG9jY3VwaWVz
IGluIHRoZSB2aWV3IGZyb20gc2NyYXRjaC4gU2luY2UgdGhpcyBwYWludGluZyBpcyBkb25lIGlu
IHRoZQorICAgICAgICAgbWFpbiB0aHJlYWQsIGl0IGNhbiBiZSBibG9ja2VkIGJ5LCBlLmcuLCBK
YXZhU2NyaXB0IGV4ZWN1dGlvbiwgZnVydGhlcgorICAgICAgICAgbGltaXRpbmcgcGVyZm9ybWFu
Y2UuCisKKyAgICAgICAgIEluIGNvbnRyYXN0LCB0aGUgbWFpbiBib2R5IGVsZW1lbnQgb2YgYSBw
YWdlIGNhbiB1c3VhbGx5IGJlIHNjcm9sbGVkCisgICAgICAgICBieSB0aGUgY29tcG9zaXRvciBz
aW1wbHkgYnkgdHJhbnNsYXRpbmcgaXQgYXJvdW5kIHRoZSBzY3JlZW4uIFRoaXMgaXMKKyAgICAg
ICAgIGJlY2F1c2UgdGhlIGNvbnRlbnRzIG9mIHRoZSBib2R5IGhhdmUgYmVlbiBwYWludGVkIGlu
dG8gYQorICAgICAgICAgUmVuZGVyTGF5ZXJCYWNraW5nIHRvIHdoaWNoIHRoZSBjb21wb3NpdG9y
IGNhbiBhcHBseSBhIHNjcm9sbCB0cmFuc2Zvcm0uCisgICAgICAgICBGdXJ0aGVybW9yZSwgYSBj
b21wb3NpdG9yIHRocmVhZCBjYW4gYXBwbHkgdXBkYXRlIHRoZSBzY3JvbGwgb2Zmc2V0CisgICAg
ICAgICB3aGlsZSB0aGUgbWFpbiB0aHJlYWQgaXMgYnVzeSB3aXRoIG90aGVyIHByb2Nlc3Npbmcu
CisKKyAgICAgICAgIEluIG9yZGVyIHRvIG1ha2Ugb3ZlcmZsb3cgZWxlbWVudCBzY3JvbGxpbmcg
c2ltaWxhcmx5IGVmZmljaWVudCwgdGhpcworICAgICAgICAgcGF0Y2ggZG9lcyB0aHJlZSB0aGlu
Z3M6CisKKyAgICAgICAgICAgICAxLiBTcGxpdHMgb3ZlcmZsb3cgZWxlbWVudHMgaW50byBhIGZp
eGVkIGJhY2tncm91bmQgbGF5ZXIgYW5kIGEKKyAgICAgICAgICAgICBzY3JvbGxpbmcgZm9yZWdy
b3VuZCBsYXllci4gVGhpcyBpcyBvbmx5IGRvbmUgZm9yIGVsZW1lbnRzIHVzaW5nIHRoZQorICAg
ICAgICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaCBzdHlsZSwgYmVjYXVz
ZSBpdCBpbnRyb2R1Y2VzIGEKKyAgICAgICAgICAgICBzdGFja2luZyBjb250ZXh0IHdoaWNoIGVu
YWJsZXMgdXMgdG8gcHJvbW90ZSB0aGUgZWxlbWVudCB0byBhCisgICAgICAgICAgICAgY29tcG9z
aXRlZCBsYXllci4KKworICAgICAgICAgICAgIDIuIFJlZ2lzdGVycyB0aGVzZSBlbGVtZW50cyB3
aXRoIHRoZSBTY3JvbGxpbmdDb29yZGluYXRvciBzbyBpdAorICAgICAgICAgICAgIGtub3dzIHRo
ZWlyIGFzc29jaWF0ZWQgc2Nyb2xsIGdlb21ldHJ5LgorCisgICAgICAgICAgICAgMy4gQXZvaWRz
IGludmFsaWRhdGluZyB0aGUgY29udGVudHMgb2YgdGhlIGxheWVycyB3aGVuIHRoZXkgYXJlCisg
ICAgICAgICAgICAgc2Nyb2xsZWQuIFRoaXMgYWxsb3dzIHRoZSBsYXllcnMgdG8gYmUgdHJhbnNs
YXRlZCBhY2NvcmRpbmcgdG8gdGhlaXIKKyAgICAgICAgICAgICBzY3JvbGwgcG9zaXRpb24gd2l0
aG91dCB1bm5lY2Vzc2FyeSByZXBhaW50cy4KKworICAgICAgICAgVGhpcyBwYXRjaCBpcyBiYXNl
ZCBvbiBBcHBsZSdzIGlPUyA1IGltcGxlbWVudGF0aW9uIG9mIHRoZQorICAgICAgICAgIi13ZWJr
aXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaCIgQ1NTIHByb3BlcnR5LgorCisgICAgICAgICBU
ZXN0czoKKyAgICAgICAgICAgICBwbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9vdmVyZmxv
dy9vdmVyZmxvdy1zY3JvbGxpbmctdG91Y2gtc3RhY2tpbmctY29udGV4dC5odG1sCisgICAgICAg
ICAgICAgcGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcvb3ZlcmZsb3cvb3ZlcmZsb3ctc2Ny
b2xsaW5nLXRvdWNoLWhpZGRlbi1vdmVyZmxvdy5odG1sCisgICAgICAgICAgICAgcGxhdGZvcm0v
Y2hyb21pdW0vY29tcG9zaXRpbmcvb3ZlcmZsb3cvb3ZlcmZsb3ctc2Nyb2xsaW5nLXRvdWNoLWxh
eWVycy5odG1sCisKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0NTU0tleXdvcmRDb21w
bGV0aW9ucy5qczoKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRv
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjb21wdXRlTm9uRmFzdFNjcm9sbGFibGVSZWdpb24p
OgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdDb29yZGlu
YXRvcjo6c2Nyb2xsYWJsZUFyZWFTY3JvbGxMYXllckRpZENoYW5nZSk6CisgICAgICAgICogcGFn
ZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaDoKKyAgICAgICAgKFdlYkNvcmUpOgor
ICAgICAgICAoU2Nyb2xsaW5nQ29vcmRpbmF0b3IpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5n
L1Njcm9sbGluZ0Nvb3JkaW5hdG9yTm9uZS5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAg
ICAgKFdlYkNvcmU6OlNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpzY3JvbGxhYmxlQXJlYVNjcm9sbExh
eWVyRGlkQ2hhbmdlKToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9jaHJvbWl1bS9TY3JvbGxp
bmdDb29yZGluYXRvckNocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ0Nv
b3JkaW5hdG9yOjpzY3JvbGxhYmxlQXJlYVNjcm9sbExheWVyRGlkQ2hhbmdlKToKKyAgICAgICAg
KFdlYkNvcmUpOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmg6CisgICAgICAg
IChXZWJDb3JlOjpTY3JvbGxhYmxlQXJlYTo6dXNlc0NvbXBvc2l0ZWRTY3JvbGxpbmcpOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6R3JhcGhpY3NMYXllcjo6c2V0T2Zmc2V0RnJvbVJlbmRlcmVyKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmg6CisgICAgICAgIChHcmFwaGljc0xheWVy
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyQ2xpZW50Lmg6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vR3JhcGhpY3NMYXllckNocm9taXVt
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJDaHJvbWl1bTo6R3JhcGhpY3NM
YXllckNocm9taXVtKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJDaHJvbWl1bTo6
c2V0Qm91bmRzT3JpZ2luKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6
R3JhcGhpY3NMYXllckNocm9taXVtOjp1cGRhdGVDaGlsZHJlblRyYW5zZm9ybSk6CisgICAgICAg
IChXZWJDb3JlOjpHcmFwaGljc0xheWVyQ2hyb21pdW06OmRpZFNjcm9sbCk6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vR3JhcGhpY3NMYXllckNocm9taXVtLmg6CisgICAg
ICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChHcmFwaGljc0xheWVy
Q2hyb21pdW0pOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllckNocm9taXVtOjpzZXRT
Y3JvbGxhYmxlQXJlYSk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVyQ2hyb21pdW06
OnNjcm9sbGFibGVBcmVhKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9M
YXllckNocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheWVyQ2hyb21pdW06OkxheWVy
Q2hyb21pdW0pOgorICAgICAgICAoV2ViQ29yZTo6TGF5ZXJDaHJvbWl1bTo6c2Nyb2xsQnkpOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyQ2hyb21pdW0uaDoKKyAg
ICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6Okxh
eWVyQ2hyb21pdW06OnNldFNjcm9sbERlbGVnYXRlKToKKyAgICAgICAgKExheWVyQ2hyb21pdW0p
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJJbXBsLmg6
CisgICAgICAgIChDQ0xheWVySW1wbCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjp1c2VzQ29tcG9zaXRlZFNjcm9s
bGluZyk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVy
OjpzY3JvbGxUbyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6cGFpbnRMYXllcik6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6cGFpbnRMYXllckNvbnRlbnRzKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjp1cGRhdGVDbGlwUmVjdHMpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmNhbGN1bGF0ZUNsaXBSZWN0cyk6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJMYXllcjo6cGFyZW50Q2xpcFJlY3RzKToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckxheWVyOjpiYWNrZ3JvdW5kQ2xpcFJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
TGF5ZXI6OmNhbGN1bGF0ZVJlY3RzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpj
aGlsZHJlbkNsaXBSZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpzaG91bGRC
ZU5vcm1hbEZsb3dPbmx5KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNsaXBSZWN0c0NhY2hlOjpDbGlwUmVjdHNDYWNoZSk6CisgICAgICAg
IChDbGlwUmVjdHNDYWNoZSk6CisgICAgICAgIChSZW5kZXJMYXllcik6CisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJM
YXllckJhY2tpbmc6On5SZW5kZXJMYXllckJhY2tpbmcpOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyTGF5ZXJCYWNraW5nOjpkZXN0cm95R3JhcGhpY3NMYXllcnMpOgorICAgICAgICAoV2ViQ29y
ZTo6bGF5ZXJPckFuY2VzdG9ySXNUcmFuc2Zvcm1lZE9yVXNpbmdDb21wb3NpdGVkU2Nyb2xsaW5n
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQmFja2luZzo6c2hvdWxkQ2xpcENvbXBv
c2l0ZWRCb3VuZHMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRh
dGVHcmFwaGljc0xheWVyQ29uZmlndXJhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJM
YXllckJhY2tpbmc6OnVwZGF0ZUdyYXBoaWNzTGF5ZXJHZW9tZXRyeSk6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZUludGVybmFsSGllcmFyY2h5KToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlRHJhd3NDb250ZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlU2Nyb2xsaW5nTGF5ZXJz
KToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNr
aW5nOjpwYWludGluZ1BoYXNlRm9yUHJpbWFyeUxheWVyKToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckxheWVyQmFja2luZzo6cGFyZW50Rm9yU3VibGF5ZXJzKToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckxheWVyQmFja2luZzo6c2V0Q29udGVudHNOZWVkRGlzcGxheSk6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OnNldENvbnRlbnRzTmVlZERpc3BsYXlJblJlY3Qp
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjpwYWludEludG9MYXllcik6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OnBhaW50Q29udGVudHMpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjpiYWNraW5nU3RvcmVNZW1vcnlF
c3RpbWF0ZSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5oOgorICAg
ICAgICAoUmVuZGVyTGF5ZXJCYWNraW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVy
QmFja2luZzo6aGFzU2Nyb2xsaW5nTGF5ZXIpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5
ZXJCYWNraW5nOjpzY3JvbGxpbmdMYXllcik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXll
ckJhY2tpbmc6OnNjcm9sbGluZ0NvbnRlbnRzTGF5ZXIpOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJD
b21wb3NpdG9yOjpyZWJ1aWxkQ29tcG9zaXRpbmdMYXllclRyZWUpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpzY3JvbGxpbmdMYXllckRpZENoYW5nZSk6CisgICAg
ICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6
cmVxdWlyZXNDb21wb3NpdGluZ0xheWVyKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVy
Q29tcG9zaXRvcjo6cmVxdWlyZXNPd25CYWNraW5nU3RvcmUpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpyZWFzb25Gb3JDb21wb3NpdGluZyk6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OnJlcXVpcmVzQ29tcG9zaXRpbmdGb3JTY3Jv
bGxpbmcpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuaDoKKyAg
ICAgICAgKFJlbmRlckxheWVyQ29tcG9zaXRvcik6CisKIDIwMTItMDgtMDggIEh1YW5nIERvbmdz
dW5nICA8bHV4dGVsbGFAY29tcGFueTEwMC5uZXQ+CiAKICAgICAgICAgRXh0cmFjdCB0aGUgZGVm
aW5pdGlvbiBvZiBOYXRpdmVJbWFnZVB0ciBmcm9tIEltYWdlU291cmNlLmggaW50byBOYXRpdmVJ
bWFnZVB0ci5oLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCBlMDA3MzllZWI0NjlhYWM4
YjdjMTRlNmI2NDFiMGMxNTQxZmFmMTc5Li44YWEwYjI0MjgxNmUxYmUwYjM1MmQzOGY0OWU5M2Qz
YzQxZDEyMTNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisy
MDEyLTA4LTEwICBJYW4gVm9sbGljayAgPHZvbGxpY2tAY2hyb21pdW0ub3JnPgorCisgICAgICAg
IFRvdWNoIG92ZXJmbG93IHNjcm9sbGluZyBlbGVtZW50cyBzaG91bGQgYmUgc3BsaXQgaW50byBs
YXllcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc4
ODYyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1w
bGVtZW50YXRpb24gb2Ygc2Nyb2xsLXJlbGF0ZWQgbWV0aG9kcyBleHBvc2VkIGluIHRoZSBwdWJs
aWMgQVBJLgorCisgICAgICAgICogZmVhdHVyZXMuZ3lwaToKKyAgICAgICAgKiBzcmMvV2ViTGF5
ZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJMYXllcjo6c2V0U2Nyb2xsYWJsZSk6CisgICAg
ICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViS2l0OjpXZWJMYXllcjo6c2V0U2Nyb2xsUG9zaXRp
b24pOgorICAgICAgICAoV2ViS2l0OjpXZWJMYXllcjo6c2V0TWF4U2Nyb2xsUG9zaXRpb24pOgor
ICAgICAgICAoV2ViS2l0OjpXZWJMYXllcjo6c2V0U2Nyb2xsRGVsZWdhdGUpOgorICAgICAgICAq
IHRlc3RzL0NDTGF5ZXJUcmVlSG9zdFRlc3QuY3BwOgorCiAyMDEyLTA4LTA4ICBTaGFuZSBTdGVw
aGVucyAgPHNoYW5lc3RlcGhlbnNAZ29vZ2xlLmNvbT4KIAogICAgICAgICBDb21waWxlIGZsYWcg
Zm9yIENTUyBIaWVyYXJjaGllcwpkaWZmIC0tZ2l0IGEvU291cmNlL1BsYXRmb3JtL1BsYXRmb3Jt
Lmd5cGkgYi9Tb3VyY2UvUGxhdGZvcm0vUGxhdGZvcm0uZ3lwaQppbmRleCA0MzdjMjRmZjQxNjMw
NjJiZmFkYTA3NWM3ODI5NmM0MjhlYjFhNjc4Li45ZTkyZGM5NmVhZGQ2ZWZjMTJlM2VmY2I3YmFi
NmRjYTgwY2Y5MWJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm0vUGxhdGZvcm0uZ3lwaQor
KysgYi9Tb3VyY2UvUGxhdGZvcm0vUGxhdGZvcm0uZ3lwaQpAQCAtMTA4LDYgKzEwOCw3IEBACiAg
ICAgICAgICAgICAnY2hyb21pdW0vcHVibGljL1dlYlNjcm9sbGJhckxheWVyLmgnLAogICAgICAg
ICAgICAgJ2Nocm9taXVtL3B1YmxpYy9XZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5LmgnLAogICAg
ICAgICAgICAgJ2Nocm9taXVtL3B1YmxpYy9XZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXIuaCcsCisg
ICAgICAgICAgICAnY2hyb21pdW0vcHVibGljL1dlYlNjcm9sbERlbGVnYXRlLmgnLAogICAgICAg
ICAgICAgJ2Nocm9taXVtL3B1YmxpYy9XZWJTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yLmgn
LAogICAgICAgICAgICAgJ2Nocm9taXVtL3B1YmxpYy9XZWJTaGFyZWRHcmFwaGljc0NvbnRleHQz
RC5oJywKICAgICAgICAgICAgICdjaHJvbWl1bS9wdWJsaWMvV2ViU2l6ZS5oJywKZGlmZiAtLWdp
dCBhL1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViTGF5ZXIuaCBiL1NvdXJjZS9Q
bGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViTGF5ZXIuaAppbmRleCBlYzYwMjQxMWI3Nzg4MGU1
OTBiNzY3Y2Y2MTQ4YmZiNTA2Nzk2Yjc1Li42YWI4MmUzYmZjNWNjZGYxMTU4OTFhN2EyMGM0Mzgx
YTEyYzY0ODhhIDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dl
YkxheWVyLmgKKysrIGIvU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJMYXllci5o
CkBAIC0zOSw5ICszOSwxMSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7IGNsYXNzIExheWVyQ2hyb21p
dW07IH0KIG5hbWVzcGFjZSBXZWJLaXQgewogY2xhc3MgV2ViQW5pbWF0aW9uRGVsZWdhdGU7CiBj
bGFzcyBXZWJGaWx0ZXJPcGVyYXRpb25zOworY2xhc3MgV2ViU2Nyb2xsRGVsZWdhdGU7CiBjbGFz
cyBXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeDsKIHN0cnVjdCBXZWJGbG9hdFBvaW50Owogc3RydWN0
IFdlYkZsb2F0UmVjdDsKK3N0cnVjdCBXZWJQb2ludDsKIHN0cnVjdCBXZWJTaXplOwogCiBjbGFz
cyBXZWJMYXllciB7CkBAIC0xODQsNiArMTg2LDExIEBAIHB1YmxpYzoKICAgICAvLyBjYXNlcyAt
IGlmIHlvdSBhcmVuJ3Qgc3VyZSwgeW91IGRvbid0IG5lZWQgdG8gY2FsbCB0aGlzLgogICAgIFdF
QktJVF9FWFBPUlQgdm9pZCBjbGVhclJlbmRlclN1cmZhY2UoKTsKIAorICAgIFdFQktJVF9FWFBP
UlQgdm9pZCBzZXRTY3JvbGxhYmxlKGJvb2wpOworICAgIFdFQktJVF9FWFBPUlQgdm9pZCBzZXRT
Y3JvbGxQb3NpdGlvbihjb25zdCBXZWJQb2ludCYpOworICAgIFdFQktJVF9FWFBPUlQgdm9pZCBz
ZXRNYXhTY3JvbGxQb3NpdGlvbihjb25zdCBXZWJTaXplJik7CisgICAgV0VCS0lUX0VYUE9SVCB2
b2lkIHNldFNjcm9sbERlbGVnYXRlKFdlYlNjcm9sbERlbGVnYXRlKik7CisKICAgICB0ZW1wbGF0
ZTx0eXBlbmFtZSBUPiBUIHRvKCkKICAgICB7CiAgICAgICAgIFQgcmVzOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJTY3JvbGxEZWxlZ2F0ZS5oIGIvU291
cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJTY3JvbGxEZWxlZ2F0ZS5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmMxY2MwNjZjZDc2NjczZjU5NjAyNDkwZGY0MzNkZDUzZGQ2ODVmMWEKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dlYlNjcm9sbERlbGVnYXRl
LmgKQEAgLTAsMCArMSw0MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KKyAqIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUworICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBXZWJTY3JvbGxEZWxl
Z2F0ZV9oCisjZGVmaW5lIFdlYlNjcm9sbERlbGVnYXRlX2gKKworbmFtZXNwYWNlIFdlYktpdCB7
CisKK3N0cnVjdCBXZWJTaXplOworCitjbGFzcyBXZWJTY3JvbGxEZWxlZ2F0ZSB7CitwdWJsaWM6
CisgICAgdmlydHVhbCB2b2lkIGRpZFNjcm9sbChjb25zdCBXZWJTaXplJikgPSAwOworCitwcm90
ZWN0ZWQ6CisgICAgdmlydHVhbCB+V2ViU2Nyb2xsRGVsZWdhdGUoKSB7IH0KK307CisKK30gLy8g
bmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gV2ViU2Nyb2xsRGVsZWdhdGVfaApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3Iu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3Iu
Y3BwCmluZGV4IDQwZmVlZDc3Y2NhZTE2ZjI0ZWY5MzY5ZDExYWM2Y2VhNDM3ZGNhMTYuLjZhZWFl
ZDZmYmQxM2VjYzUxYjA3YTkzOGU4ZWMyNjA3NDc2ZmYzZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5jcHAKQEAgLTEx
OCw2ICsxMTgsOSBAQCBzdGF0aWMgUmVnaW9uIGNvbXB1dGVOb25GYXN0U2Nyb2xsYWJsZVJlZ2lv
bihGcmFtZSogZnJhbWUsIGNvbnN0IEludFBvaW50JiBmcmFtZQogICAgIGlmIChjb25zdCBGcmFt
ZVZpZXc6OlNjcm9sbGFibGVBcmVhU2V0KiBzY3JvbGxhYmxlQXJlYXMgPSBmcmFtZVZpZXctPnNj
cm9sbGFibGVBcmVhcygpKSB7CiAgICAgICAgIGZvciAoRnJhbWVWaWV3OjpTY3JvbGxhYmxlQXJl
YVNldDo6Y29uc3RfaXRlcmF0b3IgaXQgPSBzY3JvbGxhYmxlQXJlYXMtPmJlZ2luKCksIGVuZCA9
IHNjcm9sbGFibGVBcmVhcy0+ZW5kKCk7IGl0ICE9IGVuZDsgKytpdCkgewogICAgICAgICAgICAg
U2Nyb2xsYWJsZUFyZWEqIHNjcm9sbGFibGVBcmVhID0gKml0OworICAgICAgICAgICAgLy8gQWNj
ZWxlcmF0ZWQgc2Nyb2xsYWJsZSBhcmVhcyBjYW4gYmUgc2Nyb2xsZWQgb2ZmIHRoZSBtYWluIHRo
cmVhZC4KKyAgICAgICAgICAgIGlmIChzY3JvbGxhYmxlQXJlYS0+dXNlc0NvbXBvc2l0ZWRTY3Jv
bGxpbmcoKSkKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgIEludFJlY3Qg
Ym94ID0gc2Nyb2xsYWJsZUFyZWEtPnNjcm9sbGFibGVBcmVhQm91bmRpbmdCb3goKTsKICAgICAg
ICAgICAgIGJveC5tb3ZlQnkob2Zmc2V0KTsKICAgICAgICAgICAgIG5vbkZhc3RTY3JvbGxhYmxl
UmVnaW9uLnVuaXRlKGJveCk7CkBAIC00ODgsNiArNDkxLDExIEBAIHZvaWQgU2Nyb2xsaW5nQ29v
cmRpbmF0b3I6OnNldExheWVySXNGaXhlZFRvQ29udGFpbmVyTGF5ZXIoR3JhcGhpY3NMYXllcios
IGJvb2wpCiB7CiAgICAgLy8gRklYTUU6IEltcGxlbWVudCEKIH0KKwordm9pZCBTY3JvbGxpbmdD
b29yZGluYXRvcjo6c2Nyb2xsYWJsZUFyZWFTY3JvbGxMYXllckRpZENoYW5nZShTY3JvbGxhYmxl
QXJlYSosIEdyYXBoaWNzTGF5ZXIqKQoreworICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQuCit9CiAj
ZW5kaWYgLy8gIUVOQUJMRShUSFJFQURFRF9TQ1JPTExJTkcpCiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGlu
Z0Nvb3JkaW5hdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdD
b29yZGluYXRvci5oCmluZGV4IDVkNDVlYjYyMDJmZmNkZWQyY2YzNjllMWVmNWM3ZmM4MjE3Nzc3
MzEuLjJhYjM0YjJkMmQzZTZmNzUwYTA0ZDg1ZTZmMmRmMTc0MTkwM2RkOTEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaApA
QCAtNDgsNiArNDgsNyBAQCBjbGFzcyBGcmFtZVZpZXc7CiBjbGFzcyBHcmFwaGljc0xheWVyOwog
Y2xhc3MgUGFnZTsKIGNsYXNzIFJlZ2lvbjsKK2NsYXNzIFNjcm9sbGFibGVBcmVhOwogY2xhc3Mg
U2Nyb2xsaW5nQ29vcmRpbmF0b3JQcml2YXRlOwogY2xhc3MgU2Nyb2xsaW5nVHJlZVN0YXRlOwog
CkBAIC05Miw2ICs5Myw5IEBAIHB1YmxpYzoKICAgICAvLyBTaG91bGQgYmUgY2FsbGVkIHdoZW5l
dmVyIHRoZSB2ZXJ0aWNhbCBzY3JvbGxiYXIgbGF5ZXIgZm9yIHRoZSBnaXZlbiBmcmFtZSB2aWV3
IGNoYW5nZXMuCiAgICAgdm9pZCBmcmFtZVZpZXdWZXJ0aWNhbFNjcm9sbGJhckxheWVyRGlkQ2hh
bmdlKEZyYW1lVmlldyosIEdyYXBoaWNzTGF5ZXIqIHZlcnRpY2FsU2Nyb2xsYmFyTGF5ZXIpOwog
CisgICAgLy8gU2hvdWxkIGJlIGNhbGxlZCB3aGVuZXZlciB0aGUgc2Nyb2xsYWJsZSBsYXllciBm
b3IgdGhlIGdpdmVuIHNjcm9sbCBhcmVhIGNoYW5nZXMuCisgICAgdm9pZCBzY3JvbGxhYmxlQXJl
YVNjcm9sbExheWVyRGlkQ2hhbmdlKFNjcm9sbGFibGVBcmVhKiwgR3JhcGhpY3NMYXllciopOwor
CiAgICAgLy8gUmVxdWVzdHMgdGhhdCB0aGUgc2Nyb2xsaW5nIGNvb3JkaW5hdG9yIHVwZGF0ZXMg
dGhlIHNjcm9sbCBwb3NpdGlvbiBvZiB0aGUgZ2l2ZW4gZnJhbWUgdmlldy4gSWYgdGhpcyBmdW5j
dGlvbiByZXR1cm5zIHRydWUsIGl0IG1lYW5zIHRoYXQgdGhlCiAgICAgLy8gcG9zaXRpb24gd2ls
bCBiZSB1cGRhdGVkIGFzeW5jaHJvbm91c2x5LiBJZiBpdCByZXR1cm5zIGZhbHNlLCB0aGUgY2Fs
bGVyIHNob3VsZCB1cGRhdGUgdGhlIHNjcm9sbGluZyBwb3NpdGlvbiBpdHNlbGYuCiAgICAgYm9v
bCByZXF1ZXN0U2Nyb2xsUG9zaXRpb25VcGRhdGUoRnJhbWVWaWV3KiwgY29uc3QgSW50UG9pbnQm
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nv
b3JkaW5hdG9yTm9uZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxp
bmdDb29yZGluYXRvck5vbmUuY3BwCmluZGV4IGYwYWNmZTBjYzNiMTcxZDMzMTA0NzA0NjUwMDJl
MGQyYTU3ZmQwOWMuLmIwOTU1MmQ4NjgzY2M3ZjlkYTBhMzhlOGQyYjIzZjdlMzU1NDEwNDUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5h
dG9yTm9uZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5n
Q29vcmRpbmF0b3JOb25lLmNwcApAQCAtODMsNiArODMsMTAgQEAgdm9pZCBTY3JvbGxpbmdDb29y
ZGluYXRvcjo6c2V0TGF5ZXJJc0NvbnRhaW5lckZvckZpeGVkUG9zaXRpb25MYXllcnMoR3JhcGhp
Y3NMYXkKIHZvaWQgU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OnNldExheWVySXNGaXhlZFRvQ29udGFp
bmVyTGF5ZXIoR3JhcGhpY3NMYXllciosIGJvb2wpCiB7CiB9CisKK3ZvaWQgU2Nyb2xsaW5nQ29v
cmRpbmF0b3I6OnNjcm9sbGFibGVBcmVhU2Nyb2xsTGF5ZXJEaWRDaGFuZ2UoU2Nyb2xsYWJsZUFy
ZWEqLCBHcmFwaGljc0xheWVyKikKK3sKK30KICNlbmRpZiAvLyAhRU5BQkxFKFRIUkVBREVEX1ND
Uk9MTElORykKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcv
Y2hyb21pdW0vU2Nyb2xsaW5nQ29vcmRpbmF0b3JDaHJvbWl1bS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL3Njcm9sbGluZy9jaHJvbWl1bS9TY3JvbGxpbmdDb29yZGluYXRvckNocm9taXVtLmNw
cAppbmRleCAxZGI3NTk0MDQ3Yzg4Y2FiMGRkYWZlMDAzN2EzYmU2Y2FjMzg2ODg2Li45Y2M0ZGJl
YTE0Nzc3NmE0NzdiZDBhZmJkYzNkMGI1MTkzMjgzN2JkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9jaHJvbWl1bS9TY3JvbGxpbmdDb29yZGluYXRvckNocm9taXVt
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9jaHJvbWl1bS9TY3JvbGxp
bmdDb29yZGluYXRvckNocm9taXVtLmNwcApAQCAtMjksNiArMjksNyBAQAogCiAjaW5jbHVkZSAi
RnJhbWUuaCIKICNpbmNsdWRlICJGcmFtZVZpZXcuaCIKKyNpbmNsdWRlICJHcmFwaGljc0xheWVy
Q2hyb21pdW0uaCIKICNpbmNsdWRlICJSZWdpb24uaCIKICNpbmNsdWRlICJSZW5kZXJMYXllckNv
bXBvc2l0b3IuaCIKICNpbmNsdWRlICJSZW5kZXJWaWV3LmgiCkBAIC0yMjUsNCArMjI2LDE3IEBA
IHZvaWQgU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OnNldExheWVySXNGaXhlZFRvQ29udGFpbmVyTGF5
ZXIoR3JhcGhpY3NMYXllciogbGF5ZXIsCiAgICAgICAgIHBsYXRmb3JtTGF5ZXItPnRvPFdlYlNj
cm9sbGFibGVMYXllcj4oKS5zZXRGaXhlZFRvQ29udGFpbmVyTGF5ZXIoZW5hYmxlKTsKIH0KIAor
dm9pZCBTY3JvbGxpbmdDb29yZGluYXRvcjo6c2Nyb2xsYWJsZUFyZWFTY3JvbGxMYXllckRpZENo
YW5nZShTY3JvbGxhYmxlQXJlYSogc2Nyb2xsYWJsZUFyZWEsIEdyYXBoaWNzTGF5ZXIqIHNjcm9s
bExheWVyKQoreworICAgIEdyYXBoaWNzTGF5ZXJDaHJvbWl1bSogbGF5ZXIgPSBzdGF0aWNfY2Fz
dDxHcmFwaGljc0xheWVyQ2hyb21pdW0qPihzY3JvbGxMYXllcik7CisgICAgV2ViTGF5ZXIqIHBs
YXRmb3JtTGF5ZXIgPSBzY3JvbGxMYXllciA/IHNjcm9sbExheWVyLT5wbGF0Zm9ybUxheWVyKCkg
OiAwOworICAgIGlmIChsYXllcikKKyAgICAgICAgbGF5ZXItPnNldFNjcm9sbGFibGVBcmVhKHNj
cm9sbGFibGVBcmVhKTsKKyAgICBpZiAoIXBsYXRmb3JtTGF5ZXIpCisgICAgICAgIHJldHVybjsK
KyAgICBwbGF0Zm9ybUxheWVyLT5zZXRTY3JvbGxhYmxlKHRydWUpOworICAgIHBsYXRmb3JtTGF5
ZXItPnNldFNjcm9sbFBvc2l0aW9uKHNjcm9sbGFibGVBcmVhLT5zY3JvbGxQb3NpdGlvbigpKTsK
KyAgICBwbGF0Zm9ybUxheWVyLT5zZXRNYXhTY3JvbGxQb3NpdGlvbihJbnRTaXplKHNjcm9sbGFi
bGVBcmVhLT5zY3JvbGxTaXplKEhvcml6b250YWxTY3JvbGxiYXIpLCBzY3JvbGxhYmxlQXJlYS0+
c2Nyb2xsU2l6ZShWZXJ0aWNhbFNjcm9sbGJhcikpKTsKK30KKwogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1Njcm9sbGFibGVBcmVhLmgKaW5kZXggNWEyNzhhOWI1YjljN2MxODUxYTRjNTMzYzYw
YjU0NTE1M2ZjZWQzYS4uNWVjMjNiN2QwOTdlODQyYTM2OTQwZTFlZWM5YTZmMTU3ZjQ2MWJmOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5oCkBAIC0xNzAsNiArMTcw
LDcgQEAgcHVibGljOgogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKICAgICB2aXJ0
dWFsIFRpbGVkQmFja2luZyogdGlsZWRCYWNraW5nKCkgeyByZXR1cm4gMDsgfQogI2VuZGlmCisg
ICAgdmlydHVhbCBib29sIHVzZXNDb21wb3NpdGVkU2Nyb2xsaW5nKCkgY29uc3QgeyByZXR1cm4g
ZmFsc2U7IH0KIAogcHJvdGVjdGVkOgogICAgIFNjcm9sbGFibGVBcmVhKCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuY3BwCmluZGV4IDRj
MzU5ZDI0NTI1MmQ1NGEzZThmNGNiOWQzNjQxMTA4MGZlNjFlMmEuLjM1MzRiY2Y5OGRlMzAwMzNk
ZGQxNzc0ODUxMmQwZDNkYWIwNTU1YzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuY3BwCkBAIC0yODQsNyArMjg0LDcgQEAgdm9pZCBH
cmFwaGljc0xheWVyOjpzZXRSZXBsaWNhdGVkQnlMYXllcihHcmFwaGljc0xheWVyKiBsYXllcikK
ICAgICBtX3JlcGxpY2FMYXllciA9IGxheWVyOwogfQogCi12b2lkIEdyYXBoaWNzTGF5ZXI6OnNl
dE9mZnNldEZyb21SZW5kZXJlcihjb25zdCBJbnRTaXplJiBvZmZzZXQpCit2b2lkIEdyYXBoaWNz
TGF5ZXI6OnNldE9mZnNldEZyb21SZW5kZXJlcihjb25zdCBJbnRTaXplJiBvZmZzZXQsIFNldE5l
ZWRzRGlzcGxheU9yTm90IHNldE5lZWRzRGlzcGxheUJlaGF2aW9yKQogewogICAgIGlmIChvZmZz
ZXQgPT0gbV9vZmZzZXRGcm9tUmVuZGVyZXIpCiAgICAgICAgIHJldHVybjsKQEAgLTI5Miw3ICsy
OTIsOCBAQCB2b2lkIEdyYXBoaWNzTGF5ZXI6OnNldE9mZnNldEZyb21SZW5kZXJlcihjb25zdCBJ
bnRTaXplJiBvZmZzZXQpCiAgICAgbV9vZmZzZXRGcm9tUmVuZGVyZXIgPSBvZmZzZXQ7CiAKICAg
ICAvLyBJZiB0aGUgY29tcG9zaXRpbmcgbGF5ZXIgb2Zmc2V0IGNoYW5nZXMsIHdlIG5lZWQgdG8g
cmVwYWludC4KLSAgICBzZXROZWVkc0Rpc3BsYXkoKTsKKyAgICBpZiAoc2V0TmVlZHNEaXNwbGF5
QmVoYXZpb3IgPT0gU2V0TmVlZHNEaXNwbGF5KQorICAgICAgICBzZXROZWVkc0Rpc3BsYXkoKTsK
IH0KIAogdm9pZCBHcmFwaGljc0xheWVyOjpzZXRCYWNrZ3JvdW5kQ29sb3IoY29uc3QgQ29sb3Im
IGNvbG9yKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3Jh
cGhpY3NMYXllci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NM
YXllci5oCmluZGV4IDE1NTZjZTg0NTUzYmM5N2U1YmE2Yzk3NTM5YmJhOWRmNGNmOTc5YzIuLmU4
NmY4MTk0ZDkwODM4ZTcwMjg4OWEzNmI0YTg0NmMyYWJmZjQxYWIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmgKQEAgLTIzMyw5ICsyMzMs
MTEgQEAgcHVibGljOgogICAgIGNvbnN0IEZsb2F0UG9pbnQmIHJlcGxpY2F0ZWRMYXllclBvc2l0
aW9uKCkgY29uc3QgeyByZXR1cm4gbV9yZXBsaWNhdGVkTGF5ZXJQb3NpdGlvbjsgfQogICAgIHZv
aWQgc2V0UmVwbGljYXRlZExheWVyUG9zaXRpb24oY29uc3QgRmxvYXRQb2ludCYgcCkgeyBtX3Jl
cGxpY2F0ZWRMYXllclBvc2l0aW9uID0gcDsgfQogCisgICAgZW51bSBTZXROZWVkc0Rpc3BsYXlP
ck5vdCB7IERvbnRTZXROZWVkc0Rpc3BsYXksIFNldE5lZWRzRGlzcGxheSB9OworCiAgICAgLy8g
T2Zmc2V0IGlzIG9yaWdpbiBvZiB0aGUgcmVuZGVyZXIgbWludXMgb3JpZ2luIG9mIHRoZSBncmFw
aGljcyBsYXllciAoc28gZWl0aGVyIHplcm8gb3IgbmVnYXRpdmUpLgogICAgIEludFNpemUgb2Zm
c2V0RnJvbVJlbmRlcmVyKCkgY29uc3QgeyByZXR1cm4gbV9vZmZzZXRGcm9tUmVuZGVyZXI7IH0K
LSAgICB2b2lkIHNldE9mZnNldEZyb21SZW5kZXJlcihjb25zdCBJbnRTaXplJik7CisgICAgdm9p
ZCBzZXRPZmZzZXRGcm9tUmVuZGVyZXIoY29uc3QgSW50U2l6ZSYsIFNldE5lZWRzRGlzcGxheU9y
Tm90ID0gU2V0TmVlZHNEaXNwbGF5KTsKIAogICAgIC8vIFRoZSBwb3NpdGlvbiBvZiB0aGUgbGF5
ZXIgKHRoZSBsb2NhdGlvbiBvZiBpdHMgdG9wLWxlZnQgY29ybmVyIGluIGl0cyBwYXJlbnQpCiAg
ICAgY29uc3QgRmxvYXRQb2ludCYgcG9zaXRpb24oKSBjb25zdCB7IHJldHVybiBtX3Bvc2l0aW9u
OyB9CkBAIC01MDEsNCArNTAzLDMgQEAgdm9pZCBzaG93R3JhcGhpY3NMYXllclRyZWUoY29uc3Qg
V2ViQ29yZTo6R3JhcGhpY3NMYXllciogbGF5ZXIpOwogI2VuZGlmIC8vIFVTRShBQ0NFTEVSQVRF
RF9DT01QT1NJVElORykKIAogI2VuZGlmIC8vIEdyYXBoaWNzTGF5ZXJfaAotCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyQ2xpZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyQ2xpZW50LmgK
aW5kZXggOTAyYTI1NzNkNTFlYTNkYTIyNmU4YWQxMzMzY2FlZDY1OTQ4MzkzZi4uYmRlZGUzNTM1
MDgyN2JjNGI3MDZjMmU1NDUzYmUyZmQxY2QyMTEwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllckNsaWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXJDbGllbnQuaApAQCAtMzYsMTIg
KzM2LDE0IEBAIGNsYXNzIEludFBvaW50OwogY2xhc3MgSW50UmVjdDsKIGNsYXNzIEZsb2F0UG9p
bnQ7CiAKLWVudW0gR3JhcGhpY3NMYXllclBhaW50aW5nUGhhc2UgeworZW51bSBHcmFwaGljc0xh
eWVyUGFpbnRpbmdQaGFzZUZsYWdzIHsKICAgICBHcmFwaGljc0xheWVyUGFpbnRCYWNrZ3JvdW5k
ID0gKDEgPDwgMCksCiAgICAgR3JhcGhpY3NMYXllclBhaW50Rm9yZWdyb3VuZCA9ICgxIDw8IDEp
LAogICAgIEdyYXBoaWNzTGF5ZXJQYWludE1hc2sgPSAoMSA8PCAyKSwKKyAgICBHcmFwaGljc0xh
eWVyUGFpbnRPdmVyZmxvd0NvbnRlbnRzID0gKDEgPDwgMyksCiAgICAgR3JhcGhpY3NMYXllclBh
aW50QWxsID0gKEdyYXBoaWNzTGF5ZXJQYWludEJhY2tncm91bmQgfCBHcmFwaGljc0xheWVyUGFp
bnRGb3JlZ3JvdW5kIHwgR3JhcGhpY3NMYXllclBhaW50TWFzaykKIH07Cit0eXBlZGVmIHVuc2ln
bmVkIEdyYXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlOwogCiBlbnVtIEFuaW1hdGVkUHJvcGVydHlJ
RCB7CiAgICAgQW5pbWF0ZWRQcm9wZXJ0eUludmFsaWQsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9HcmFwaGljc0xheWVyQ2hyb21pdW0uY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vR3JhcGhpY3NMYXll
ckNocm9taXVtLmNwcAppbmRleCA5ZjgzMDRmNmZlNWM0MmVkMmE0ZTc5ZDVkM2E2YWY1NDdmN2M0
ODJkLi4wMmRhMjFlNTMwYjI4ZTJkMjY5OTU2MGNjMTY2MjVhZWM4OWRhY2E5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9HcmFwaGljc0xheWVy
Q2hyb21pdW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL0dyYXBoaWNzTGF5ZXJDaHJvbWl1bS5jcHAKQEAgLTU2LDYgKzU2LDcgQEAKICNpbmNsdWRl
ICJOYXRpdmVJbWFnZVNraWEuaCIKICNpbmNsdWRlICJQbGF0Zm9ybUNvbnRleHRTa2lhLmgiCiAj
aW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKKyNpbmNsdWRlICJTY3JvbGxhYmxlQXJlYS5oIgog
I2luY2x1ZGUgIlNrTWF0cml4NDQuaCIKICNpbmNsdWRlICJTeXN0ZW1UaW1lLmgiCiAKQEAgLTg3
LDEwICs4OCwxMiBAQCBHcmFwaGljc0xheWVyQ2hyb21pdW06OkdyYXBoaWNzTGF5ZXJDaHJvbWl1
bShHcmFwaGljc0xheWVyQ2xpZW50KiBjbGllbnQpCiAgICAgLCBtX2NvbnRlbnRzTGF5ZXJIYXNC
YWNrZ3JvdW5kQ29sb3IoZmFsc2UpCiAgICAgLCBtX2luU2V0Q2hpbGRyZW4oZmFsc2UpCiAgICAg
LCBtX3BhZ2VTY2FsZUNoYW5nZWQoZmFsc2UpCisgICAgLCBtX3Njcm9sbGFibGVBcmVhKDApCiB7
CiAgICAgbV9vcGFxdWVSZWN0VHJhY2tpbmdDb250ZW50TGF5ZXJEZWxlZ2F0ZSA9IGFkb3B0UHRy
KG5ldyBPcGFxdWVSZWN0VHJhY2tpbmdDb250ZW50TGF5ZXJEZWxlZ2F0ZSh0aGlzKSk7CiAgICAg
bV9sYXllciA9IFdlYkNvbnRlbnRMYXllcjo6Y3JlYXRlKG1fb3BhcXVlUmVjdFRyYWNraW5nQ29u
dGVudExheWVyRGVsZWdhdGUuZ2V0KCkpOwogICAgIG1fbGF5ZXIuc2V0RHJhd3NDb250ZW50KG1f
ZHJhd3NDb250ZW50ICYmIG1fY29udGVudHNWaXNpYmxlKTsKKyAgICBtX2xheWVyLnNldFNjcm9s
bERlbGVnYXRlKHRoaXMpOwogICAgIGlmIChjbGllbnQpCiAgICAgICAgIGRldmljZU9yUGFnZVNj
YWxlRmFjdG9yQ2hhbmdlZCgpOwogICAgIHVwZGF0ZURlYnVnSW5kaWNhdG9ycygpOwpAQCAtMjM4
LDYgKzI0MSwxMiBAQCB2b2lkIEdyYXBoaWNzTGF5ZXJDaHJvbWl1bTo6c2V0U2l6ZShjb25zdCBG
bG9hdFNpemUmIHNpemUpCiAgICAgbV9wYWdlU2NhbGVDaGFuZ2VkID0gZmFsc2U7CiB9CiAKK3Zv
aWQgR3JhcGhpY3NMYXllckNocm9taXVtOjpzZXRCb3VuZHNPcmlnaW4oY29uc3QgRmxvYXRQb2lu
dCYgb3JpZ2luKQoreworICAgIEdyYXBoaWNzTGF5ZXI6OnNldEJvdW5kc09yaWdpbihvcmlnaW4p
OworICAgIHVwZGF0ZUNoaWxkcmVuVHJhbnNmb3JtKCk7Cit9CisKIHZvaWQgR3JhcGhpY3NMYXll
ckNocm9taXVtOjpzZXRUcmFuc2Zvcm0oY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIHRyYW5z
Zm9ybSkKIHsKICAgICAvLyBDYWxsIHRoaXMgbWV0aG9kIGZpcnN0IHRvIGFzc2lnbiBjb250ZW50
cyBzY2FsZSB0byBvdXIgbGF5ZXIgc28gdGhlIHBhaW50ZXIgY2FuIGFwcGx5IHRoZSBzY2FsZSB0
cmFuc2Zvcm0uCkBAIC03MDAsNyArNzA5LDEwIEBAIHZvaWQgR3JhcGhpY3NMYXllckNocm9taXVt
Ojp1cGRhdGVUcmFuc2Zvcm0oKQogCiB2b2lkIEdyYXBoaWNzTGF5ZXJDaHJvbWl1bTo6dXBkYXRl
Q2hpbGRyZW5UcmFuc2Zvcm0oKQogewotICAgIHByaW1hcnlMYXllcigpLnNldFN1YmxheWVyVHJh
bnNmb3JtKFdlYlRyYW5zZm9ybWF0aW9uTWF0cml4KG1fY2hpbGRyZW5UcmFuc2Zvcm0pKTsKKyAg
ICBXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeCBzdWJsYXllclRyYW5zZm9ybTsKKyAgICBzdWJsYXll
clRyYW5zZm9ybS50cmFuc2xhdGUoLWJvdW5kc09yaWdpbigpLngoKSwgLWJvdW5kc09yaWdpbigp
LnkoKSk7CisgICAgc3VibGF5ZXJUcmFuc2Zvcm0ubXVsdGlwbHkoV2ViVHJhbnNmb3JtYXRpb25N
YXRyaXgobV9jaGlsZHJlblRyYW5zZm9ybSkpOworICAgIHByaW1hcnlMYXllcigpLnNldFN1Ymxh
eWVyVHJhbnNmb3JtKHN1YmxheWVyVHJhbnNmb3JtKTsKIH0KIAogdm9pZCBHcmFwaGljc0xheWVy
Q2hyb21pdW06OnVwZGF0ZU1hc2tzVG9Cb3VuZHMoKQpAQCAtODk5LDYgKzkxMSwxMiBAQCB2b2lk
IEdyYXBoaWNzTGF5ZXJDaHJvbWl1bTo6bm90aWZ5QW5pbWF0aW9uRmluaXNoZWQoZG91YmxlKQog
ICAgIC8vIERvIG5vdGhpbmcuCiB9CiAKK3ZvaWQgR3JhcGhpY3NMYXllckNocm9taXVtOjpkaWRT
Y3JvbGwoY29uc3QgV2ViU2l6ZSYgc2Nyb2xsRGVsdGEpCit7CisgICAgaWYgKG1fc2Nyb2xsYWJs
ZUFyZWEpCisgICAgICAgIG1fc2Nyb2xsYWJsZUFyZWEtPnNjcm9sbFRvT2Zmc2V0V2l0aG91dEFu
aW1hdGlvbihtX3Njcm9sbGFibGVBcmVhLT5zY3JvbGxQb3NpdGlvbigpICsgc2Nyb2xsRGVsdGEp
OworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBVU0UoQUNDRUxFUkFU
RURfQ09NUE9TSVRJTkcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9HcmFwaGljc0xheWVyQ2hyb21pdW0uaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dyYXBoaWNzTGF5ZXJDaHJvbWl1bS5oCmluZGV4IDVh
ZTA5NDg3NzhlZjViOTc3YzM0OWYwMzY5NjkxMDVmZDc4NGQzZjguLjdmMWRhYjVlYmE3OTg2M2U1
MGM2YzQ4NjU2OGIwNDg1NGVkOTYwMDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL0dyYXBoaWNzTGF5ZXJDaHJvbWl1bS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dyYXBoaWNzTGF5ZXJDaHJvbWl1
bS5oCkBAIC0zNSwyMCArMzUsMjYgQEAKIAogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgog
I2luY2x1ZGUgIkdyYXBoaWNzTGF5ZXIuaCIKKyNpbmNsdWRlICJMYXllckNocm9taXVtLmgiCiAj
aW5jbHVkZSAiT3BhcXVlUmVjdFRyYWNraW5nQ29udGVudExheWVyRGVsZWdhdGUuaCIKIAogI2lu
Y2x1ZGUgPHB1YmxpYy9XZWJBbmltYXRpb25EZWxlZ2F0ZS5oPgogI2luY2x1ZGUgPHB1YmxpYy9X
ZWJDb250ZW50TGF5ZXIuaD4KICNpbmNsdWRlIDxwdWJsaWMvV2ViTGF5ZXIuaD4KKyNpbmNsdWRl
IDxwdWJsaWMvV2ViU2Nyb2xsRGVsZWdhdGUuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgog
CituYW1lc3BhY2UgV2ViS2l0IHsKK3N0cnVjdCBXZWJTaXplOworfQorCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLWNsYXNzIExheWVyQ2hyb21pdW07CiBjbGFzcyBMaW5rSGlnaGxpZ2h0OwogY2xh
c3MgUGF0aDsKK2NsYXNzIFNjcm9sbGFibGVBcmVhOwogCi1jbGFzcyBHcmFwaGljc0xheWVyQ2hy
b21pdW0gOiBwdWJsaWMgR3JhcGhpY3NMYXllciwgcHVibGljIEdyYXBoaWNzQ29udGV4dFBhaW50
ZXIsIHB1YmxpYyBXZWJLaXQ6OldlYkFuaW1hdGlvbkRlbGVnYXRlIHsKK2NsYXNzIEdyYXBoaWNz
TGF5ZXJDaHJvbWl1bSA6IHB1YmxpYyBHcmFwaGljc0xheWVyLCBwdWJsaWMgR3JhcGhpY3NDb250
ZXh0UGFpbnRlciwgcHVibGljIFdlYktpdDo6V2ViQW5pbWF0aW9uRGVsZWdhdGUsIHB1YmxpYyBX
ZWJLaXQ6OldlYlNjcm9sbERlbGVnYXRlIHsKIHB1YmxpYzoKICAgICBHcmFwaGljc0xheWVyQ2hy
b21pdW0oR3JhcGhpY3NMYXllckNsaWVudCopOwogICAgIHZpcnR1YWwgfkdyYXBoaWNzTGF5ZXJD
aHJvbWl1bSgpOwpAQCAtNjcsNiArNzMsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHNl
dFBvc2l0aW9uKGNvbnN0IEZsb2F0UG9pbnQmKTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0QW5jaG9y
UG9pbnQoY29uc3QgRmxvYXRQb2ludDNEJik7CiAgICAgdmlydHVhbCB2b2lkIHNldFNpemUoY29u
c3QgRmxvYXRTaXplJik7CisgICAgdmlydHVhbCB2b2lkIHNldEJvdW5kc09yaWdpbihjb25zdCBG
bG9hdFBvaW50Jik7CiAKICAgICB2aXJ0dWFsIHZvaWQgc2V0VHJhbnNmb3JtKGNvbnN0IFRyYW5z
Zm9ybWF0aW9uTWF0cml4Jik7CiAKQEAgLTExOCw2ICsxMjUsOSBAQCBwdWJsaWM6CiAgICAgdmly
dHVhbCB2b2lkIHNldERlYnVnQm9yZGVyKGNvbnN0IENvbG9yJiwgZmxvYXQgYm9yZGVyV2lkdGgp
OwogICAgIHZpcnR1YWwgdm9pZCBkZXZpY2VPclBhZ2VTY2FsZUZhY3RvckNoYW5nZWQoKTsKIAor
ICAgIHZvaWQgc2V0U2Nyb2xsYWJsZUFyZWEoU2Nyb2xsYWJsZUFyZWEqIHNjcm9sbGFibGVBcmVh
KSB7IG1fc2Nyb2xsYWJsZUFyZWEgPSBzY3JvbGxhYmxlQXJlYTsgfQorICAgIFNjcm9sbGFibGVB
cmVhKiBzY3JvbGxhYmxlQXJlYSgpIGNvbnN0IHsgcmV0dXJuIG1fc2Nyb2xsYWJsZUFyZWE7IH0K
KwogICAgIC8vIEdyYXBoaWNzQ29udGV4dFBhaW50ZXIgaW1wbGVtZW50YXRpb24uCiAgICAgdmly
dHVhbCB2b2lkIHBhaW50KEdyYXBoaWNzQ29udGV4dCYsIGNvbnN0IEludFJlY3QmIGNsaXApIE9W
RVJSSURFOwogCkBAIC0xMjUsNiArMTM1LDkgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBu
b3RpZnlBbmltYXRpb25TdGFydGVkKGRvdWJsZSBzdGFydFRpbWUpIE9WRVJSSURFOwogICAgIHZp
cnR1YWwgdm9pZCBub3RpZnlBbmltYXRpb25GaW5pc2hlZChkb3VibGUgZmluaXNoVGltZSkgT1ZF
UlJJREU7CiAKKyAgICAvLyBXZWJTY3JvbGxEZWxlZ2F0ZSBpbXBsZW1lbnRhdGlvbi4KKyAgICB2
aXJ0dWFsIHZvaWQgZGlkU2Nyb2xsKGNvbnN0IFdlYktpdDo6V2ViU2l6ZSYpIE9WRVJSSURFOwor
CiAgICAgLy8gRXhwb3NlZCBmb3IgdGVzdHMuCiAgICAgV2ViS2l0OjpXZWJMYXllciBjb250ZW50
c0xheWVyKCkgY29uc3QgeyByZXR1cm4gbV9jb250ZW50c0xheWVyOyB9CiAKQEAgLTE3OSw2ICsx
OTIsOCBAQCBwcml2YXRlOgogCiAgICAgdHlwZWRlZiBIYXNoTWFwPFN0cmluZywgaW50PiBBbmlt
YXRpb25JZE1hcDsKICAgICBBbmltYXRpb25JZE1hcCBtX2FuaW1hdGlvbklkTWFwOworCisgICAg
U2Nyb2xsYWJsZUFyZWEqIG1fc2Nyb2xsYWJsZUFyZWE7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9MYXllckNocm9taXVtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL0xheWVyQ2hyb21pdW0uY3BwCmluZGV4IDNiOWMzNjI2OThhYTRjMmM0OGZjZDYz
NWQxNGQ0NDQzMGJkNDFkZTMuLjdjMzliZmFjODEyMmNmMDEwMjQ4ZWU1ZjY4Mzg4YjZkZmIxMTg0
MjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L0xheWVyQ2hyb21pdW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL0xheWVyQ2hyb21pdW0uY3BwCkBAIC00Miw2ICs0Miw4IEBACiAjaW5jbHVkZSAi
Y2MvQ0NTZXR0aW5ncy5oIgogCiAjaW5jbHVkZSA8cHVibGljL1dlYkFuaW1hdGlvbkRlbGVnYXRl
Lmg+CisjaW5jbHVkZSA8cHVibGljL1dlYlNjcm9sbERlbGVnYXRlLmg+CisjaW5jbHVkZSA8cHVi
bGljL1dlYlNpemUuaD4KIAogdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIHVzaW5nIFdlYktpdDo6V2Vi
VHJhbnNmb3JtYXRpb25NYXRyaXg7CkBAIC05Miw3ICs5NCw3IEBAIExheWVyQ2hyb21pdW06Okxh
eWVyQ2hyb21pdW0oKQogICAgICwgbV9zY3JlZW5TcGFjZVRyYW5zZm9ybUlzQW5pbWF0aW5nKGZh
bHNlKQogICAgICwgbV9jb250ZW50c1NjYWxlKDEuMCkKICAgICAsIG1fbGF5ZXJBbmltYXRpb25E
ZWxlZ2F0ZSgwKQotICAgICwgbV9sYXllclNjcm9sbERlbGVnYXRlKDApCisgICAgLCBtX3Njcm9s
bERlbGVnYXRlKDApCiB7CiAgICAgaWYgKG1fbGF5ZXJJZCA8IDApIHsKICAgICAgICAgc19uZXh0
TGF5ZXJJZCA9IDE7CkBAIC00NDIsOCArNDQ0LDggQEAgdm9pZCBMYXllckNocm9taXVtOjpzZXRO
b25GYXN0U2Nyb2xsYWJsZVJlZ2lvbihjb25zdCBSZWdpb24mIHJlZ2lvbikKIHZvaWQgTGF5ZXJD
aHJvbWl1bTo6c2Nyb2xsQnkoY29uc3QgSW50U2l6ZSYgc2Nyb2xsRGVsdGEpCiB7CiAgICAgc2V0
U2Nyb2xsUG9zaXRpb24oc2Nyb2xsUG9zaXRpb24oKSArIHNjcm9sbERlbHRhKTsKLSAgICBpZiAo
bV9sYXllclNjcm9sbERlbGVnYXRlKQotICAgICAgICBtX2xheWVyU2Nyb2xsRGVsZWdhdGUtPmRp
ZFNjcm9sbChzY3JvbGxEZWx0YSk7CisgICAgaWYgKG1fc2Nyb2xsRGVsZWdhdGUpCisgICAgICAg
IG1fc2Nyb2xsRGVsZWdhdGUtPmRpZFNjcm9sbChXZWJLaXQ6OldlYlNpemUoc2Nyb2xsRGVsdGEp
KTsKIH0KIAogdm9pZCBMYXllckNocm9taXVtOjpzZXREcmF3Q2hlY2tlcmJvYXJkRm9yTWlzc2lu
Z1RpbGVzKGJvb2wgY2hlY2tlcmJvYXJkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJDaHJvbWl1bS5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJDaHJvbWl1bS5oCmluZGV4IGNmZTZjNzg2
ZjE0YzA1MTZlYTQ1ZmMzMWRjNGY4YjBlNDA3ODcyNGIuLjQzYTA4ZDU4NWE3Yzc3M2JmMzU0YmE3
OTcwYTRiZmFjMTI5OTVmOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL0xheWVyQ2hyb21pdW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllckNocm9taXVtLmgKQEAgLTU0LDYgKzU0LDcgQEAK
IAogbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBXZWJBbmltYXRpb25EZWxlZ2F0ZTsKK2NsYXNz
IFdlYlNjcm9sbERlbGVnYXRlOwogfQogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC02OCwxNSAr
NjksNiBAQCBjbGFzcyBTY3JvbGxiYXJMYXllckNocm9taXVtOwogc3RydWN0IENDQW5pbWF0aW9u
RXZlbnQ7CiBzdHJ1Y3QgQ0NSZW5kZXJpbmdTdGF0czsKIAotLy8gRGVsZWdhdGUgZm9yIGhhbmRs
aW5nIHNjcm9sbCBpbnB1dCBmb3IgYSBMYXllckNocm9taXVtLgotY2xhc3MgTGF5ZXJDaHJvbWl1
bVNjcm9sbERlbGVnYXRlIHsKLXB1YmxpYzoKLSAgICB2aXJ0dWFsIHZvaWQgZGlkU2Nyb2xsKGNv
bnN0IEludFNpemUmKSA9IDA7Ci0KLXByb3RlY3RlZDoKLSAgICB2aXJ0dWFsIH5MYXllckNocm9t
aXVtU2Nyb2xsRGVsZWdhdGUoKSB7IH0KLX07Ci0KIC8vIEJhc2UgY2xhc3MgZm9yIGNvbXBvc2l0
ZWQgbGF5ZXJzLiBTcGVjaWFsIGxheWVyIHR5cGVzIGFyZSBkZXJpdmVkIGZyb20KIC8vIHRoaXMg
Y2xhc3MuCiBjbGFzcyBMYXllckNocm9taXVtIDogcHVibGljIFJlZkNvdW50ZWQ8TGF5ZXJDaHJv
bWl1bT4sIHB1YmxpYyBDQ0xheWVyQW5pbWF0aW9uQ29udHJvbGxlckNsaWVudCB7CkBAIC0xNzgs
NyArMTcwLDcgQEAgcHVibGljOgogICAgIGNvbnN0IFJlZ2lvbiYgbm9uRmFzdFNjcm9sbGFibGVS
ZWdpb24oKSB7IHJldHVybiBtX25vbkZhc3RTY3JvbGxhYmxlUmVnaW9uOyB9CiAgICAgdm9pZCBz
ZXROb25GYXN0U2Nyb2xsYWJsZVJlZ2lvbihjb25zdCBSZWdpb24mKTsKICAgICB2b2lkIHNldE5v
bkZhc3RTY3JvbGxhYmxlUmVnaW9uQ2hhbmdlZCgpIHsgbV9ub25GYXN0U2Nyb2xsYWJsZVJlZ2lv
bkNoYW5nZWQgPSB0cnVlOyB9Ci0gICAgdm9pZCBzZXRMYXllclNjcm9sbERlbGVnYXRlKExheWVy
Q2hyb21pdW1TY3JvbGxEZWxlZ2F0ZSogbGF5ZXJTY3JvbGxEZWxlZ2F0ZSkgeyBtX2xheWVyU2Ny
b2xsRGVsZWdhdGUgPSBsYXllclNjcm9sbERlbGVnYXRlOyB9CisgICAgdm9pZCBzZXRTY3JvbGxE
ZWxlZ2F0ZShXZWJLaXQ6OldlYlNjcm9sbERlbGVnYXRlKiBzY3JvbGxEZWxlZ2F0ZSkgeyBtX3Nj
cm9sbERlbGVnYXRlID0gc2Nyb2xsRGVsZWdhdGU7IH0KICAgICB2b2lkIHNjcm9sbEJ5KGNvbnN0
IEludFNpemUmKTsKIAogICAgIHZvaWQgc2V0RHJhd0NoZWNrZXJib2FyZEZvck1pc3NpbmdUaWxl
cyhib29sKTsKQEAgLTQwNyw3ICszOTksNyBAQCBwcml2YXRlOgogICAgIGZsb2F0IG1fY29udGVu
dHNTY2FsZTsKIAogICAgIFdlYktpdDo6V2ViQW5pbWF0aW9uRGVsZWdhdGUqIG1fbGF5ZXJBbmlt
YXRpb25EZWxlZ2F0ZTsKLSAgICBMYXllckNocm9taXVtU2Nyb2xsRGVsZWdhdGUqIG1fbGF5ZXJT
Y3JvbGxEZWxlZ2F0ZTsKKyAgICBXZWJLaXQ6OldlYlNjcm9sbERlbGVnYXRlKiBtX3Njcm9sbERl
bGVnYXRlOwogfTsKIAogdm9pZCBzb3J0TGF5ZXJzKFZlY3RvcjxSZWZQdHI8TGF5ZXJDaHJvbWl1
bT4gPjo6aXRlcmF0b3IsIFZlY3RvcjxSZWZQdHI8TGF5ZXJDaHJvbWl1bT4gPjo6aXRlcmF0b3Is
IHZvaWQqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL2NjL0NDTGF5ZXJJbXBsLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9jYy9DQ0xheWVySW1wbC5oCmluZGV4IDkyNjE3NTg4YTU3MjMxNWM3M2M5YTAw
MTBlYmQ1MTU4YTc2NWNlMzAuLmNmMTBlMGI3NzUzMDU0NzU1YjdkODNhZjI5NjA2ODA2NGQ0OTE2
OTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L2NjL0NDTGF5ZXJJbXBsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vY2MvQ0NMYXllckltcGwuaApAQCAtMzExLDYgKzMxMSw3IEBAIHByaXZhdGU6CiAg
ICAgZmxvYXQgbV9hbmNob3JQb2ludFo7CiAgICAgSW50U2l6ZSBtX2JvdW5kczsKICAgICBJbnRT
aXplIG1fY29udGVudEJvdW5kczsKKyAgICBGbG9hdFBvaW50IG1fYm91bmRzT3JpZ2luOwogICAg
IEludFBvaW50IG1fc2Nyb2xsUG9zaXRpb247CiAgICAgYm9vbCBtX3Njcm9sbGFibGU7CiAgICAg
Ym9vbCBtX3Nob3VsZFNjcm9sbE9uTWFpblRocmVhZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXIuY3BwCmluZGV4IGVmMmE4ZThkMDc2NjcyYmZkNzg3NDBlZTE5ZTA4Mjk2YzY2
ZDMzM2MuLmQ2Njc3OTM0YzZhMDgyYWEyM2IyNGQ4MGQ2NTE5MTAyZmRhZTMwNzggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApAQCAtMTU1Miw2ICsxNTUyLDIyIEBA
IHZvaWQgUmVuZGVyTGF5ZXI6OmNvbnZlcnRUb0xheWVyQ29vcmRzKGNvbnN0IFJlbmRlckxheWVy
KiBhbmNlc3RvckxheWVyLCBMYXlvdXRSCiAgICAgcmVjdC5tb3ZlKC1kZWx0YS54KCksIC1kZWx0
YS55KCkpOwogfQogCitib29sIFJlbmRlckxheWVyOjp1c2VzQ29tcG9zaXRlZFNjcm9sbGluZygp
IGNvbnN0Cit7CisjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQorICAgIGlmICghc2Ny
b2xsc092ZXJmbG93KCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworI2lmIEVOQUJMRShPVkVS
RkxPV19TQ1JPTExJTkcpCisgICAgcmV0dXJuIHJlbmRlcmVyKCktPnN0eWxlKCktPnVzZVRvdWNo
T3ZlcmZsb3dTY3JvbGxpbmcoKTsKKyNlbHNlCisgICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCisj
ZWxzZQorICAgIHJldHVybiBmYWxzZTsKKyNlbmRpZgorfQorCiBzdGF0aWMgaW5saW5lIGludCBh
ZGp1c3RlZFNjcm9sbERlbHRhKGludCBiZWdpbm5pbmdEZWx0YSkgewogICAgIC8vIFRoaXMgaW1w
bGVtZW50aW9uIG1hdGNoZXMgRmlyZWZveCdzLgogICAgIC8vIGh0dHA6Ly9teHIubW96aWxsYS5v
cmcvZmlyZWZveC9zb3VyY2UvdG9vbGtpdC9jb250ZW50L3dpZGdldHMvYnJvd3Nlci54bWwjODU2
LgpAQCAtMTcwMyw3ICsxNzE5LDcgQEAgdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsVG8oaW50IHgs
IGludCB5KQogICAgIH0KIAogICAgIC8vIEp1c3Qgc2NoZWR1bGUgYSBmdWxsIHJlcGFpbnQgb2Yg
b3VyIG9iamVjdC4KLSAgICBpZiAodmlldykKKyAgICBpZiAodmlldyAmJiAhdXNlc0NvbXBvc2l0
ZWRTY3JvbGxpbmcoKSkKICAgICAgICAgcmVuZGVyZXIoKS0+cmVwYWludFVzaW5nQ29udGFpbmVy
KHJlcGFpbnRDb250YWluZXIsIG1fcmVwYWludFJlY3QpOwogCiAgICAgLy8gU2NoZWR1bGUgdGhl
IHNjcm9sbCBET00gZXZlbnQuCkBAIC0zMDA5LDcgKzMwMjUsOCBAQCB2b2lkIFJlbmRlckxheWVy
OjpwYWludExheWVyKFJlbmRlckxheWVyKiByb290TGF5ZXIsIEdyYXBoaWNzQ29udGV4dCogY29u
dGV4dCwKICAgICAgICAgLy8gTWFrZSBzdXJlIHRoZSBwYXJlbnQncyBjbGlwIHJlY3RzIGhhdmUg
YmVlbiBjYWxjdWxhdGVkLgogICAgICAgICBDbGlwUmVjdCBjbGlwUmVjdCA9IHBhaW50RGlydHlS
ZWN0OwogICAgICAgICBpZiAocGFyZW50KCkpIHsKLSAgICAgICAgICAgIGNsaXBSZWN0ID0gYmFj
a2dyb3VuZENsaXBSZWN0KHJvb3RMYXllciwgcmVnaW9uLCAocGFpbnRGbGFncyAmIFBhaW50TGF5
ZXJUZW1wb3JhcnlDbGlwUmVjdHMpID8gVGVtcG9yYXJ5Q2xpcFJlY3RzIDogUGFpbnRpbmdDbGlw
UmVjdHMpOworICAgICAgICAgICAgY2xpcFJlY3QgPSBiYWNrZ3JvdW5kQ2xpcFJlY3Qocm9vdExh
eWVyLCByZWdpb24sIChwYWludEZsYWdzICYgUGFpbnRMYXllclRlbXBvcmFyeUNsaXBSZWN0cykg
PyBUZW1wb3JhcnlDbGlwUmVjdHMgOiBQYWludGluZ0NsaXBSZWN0cywKKyAgICAgICAgICAgICAg
ICBJZ25vcmVPdmVybGF5U2Nyb2xsYmFyU2l6ZSwgcGFpbnRGbGFncyAmIFBhaW50TGF5ZXJQYWlu
dGluZ092ZXJmbG93Q29udGVudHMgPyBJZ25vcmVPdmVyZmxvd0NsaXAgOiBSZXNwZWN0T3ZlcmZs
b3dDbGlwKTsKICAgICAgICAgICAgIGNsaXBSZWN0LmludGVyc2VjdChwYWludERpcnR5UmVjdCk7
CiAgICAgICAgIAogICAgICAgICAgICAgLy8gUHVzaCB0aGUgcGFyZW50IGNvb3JkaW5hdGUgc3Bh
Y2UncyBjbGlwLgpAQCAtMzEyMiw3ICszMTM5LDggQEAgdm9pZCBSZW5kZXJMYXllcjo6cGFpbnRM
YXllckNvbnRlbnRzKFJlbmRlckxheWVyKiByb290TGF5ZXIsIEdyYXBoaWNzQ29udGV4dCogY28K
ICNlbmRpZgogICAgIAogICAgIGlmIChzaG91bGRQYWludENvbnRlbnQgfHwgc2hvdWxkUGFpbnRP
dXRsaW5lIHx8IGlzUGFpbnRpbmdPdmVybGF5U2Nyb2xsYmFycykgewotICAgICAgICBjYWxjdWxh
dGVSZWN0cyhyb290TGF5ZXIsIHJlZ2lvbiwgKGxvY2FsUGFpbnRGbGFncyAmIFBhaW50TGF5ZXJU
ZW1wb3JhcnlDbGlwUmVjdHMpID8gVGVtcG9yYXJ5Q2xpcFJlY3RzIDogUGFpbnRpbmdDbGlwUmVj
dHMsIHBhaW50RGlydHlSZWN0LCBsYXllckJvdW5kcywgZGFtYWdlUmVjdCwgY2xpcFJlY3RUb0Fw
cGx5LCBvdXRsaW5lUmVjdCk7CisgICAgICAgIGNhbGN1bGF0ZVJlY3RzKHJvb3RMYXllciwgcmVn
aW9uLCAobG9jYWxQYWludEZsYWdzICYgUGFpbnRMYXllclRlbXBvcmFyeUNsaXBSZWN0cykgPyBU
ZW1wb3JhcnlDbGlwUmVjdHMgOiBQYWludGluZ0NsaXBSZWN0cywgcGFpbnREaXJ0eVJlY3QsIGxh
eWVyQm91bmRzLCBkYW1hZ2VSZWN0LCBjbGlwUmVjdFRvQXBwbHksIG91dGxpbmVSZWN0LAorICAg
ICAgICAgICAgSWdub3JlT3ZlcmxheVNjcm9sbGJhclNpemUsIGxvY2FsUGFpbnRGbGFncyAmIFBh
aW50TGF5ZXJQYWludGluZ092ZXJmbG93Q29udGVudHMgPyBJZ25vcmVPdmVyZmxvd0NsaXAgOiBS
ZXNwZWN0T3ZlcmZsb3dDbGlwKTsKICAgICAgICAgcGFpbnRPZmZzZXQgPSB0b1BvaW50KGxheWVy
Qm91bmRzLmxvY2F0aW9uKCkgLSByZW5kZXJCb3hMb2NhdGlvbigpKTsKICAgICB9CiAKQEAgLTMx
NDEsOCArMzE1OSw5IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnBhaW50TGF5ZXJDb250ZW50cyhSZW5k
ZXJMYXllciogcm9vdExheWVyLCBHcmFwaGljc0NvbnRleHQqIGNvCiAgICAgICAgIHBlcmZvcm1P
dmVybGFwVGVzdHMoKm92ZXJsYXBUZXN0UmVxdWVzdHMsIHJvb3RMYXllciwgdGhpcyk7CiAKICAg
ICAvLyBXZSB3YW50IHRvIHBhaW50IG91ciBsYXllciwgYnV0IG9ubHkgaWYgd2UgaW50ZXJzZWN0
IHRoZSBkYW1hZ2UgcmVjdC4KLSAgICBzaG91bGRQYWludENvbnRlbnQgJj0gaW50ZXJzZWN0c0Rh
bWFnZVJlY3QobGF5ZXJCb3VuZHMsIGRhbWFnZVJlY3QucmVjdCgpLCByb290TGF5ZXIpOwotICAg
IAorICAgIGlmICh0aGlzICE9IHJvb3RMYXllciB8fCAhKGxvY2FsUGFpbnRGbGFncyAmIFBhaW50
TGF5ZXJQYWludGluZ092ZXJmbG93Q29udGVudHMpKQorICAgICAgICBzaG91bGRQYWludENvbnRl
bnQgJj0gaW50ZXJzZWN0c0RhbWFnZVJlY3QobGF5ZXJCb3VuZHMsIGRhbWFnZVJlY3QucmVjdCgp
LCByb290TGF5ZXIpOworCiAgICAgaWYgKGxvY2FsUGFpbnRGbGFncyAmIFBhaW50TGF5ZXJQYWlu
dGluZ0NvbXBvc2l0aW5nQmFja2dyb3VuZFBoYXNlKSB7CiAgICAgICAgIGlmIChzaG91bGRQYWlu
dENvbnRlbnQgJiYgIXNlbGVjdGlvbk9ubHkpIHsKICAgICAgICAgICAgIC8vIEJlZ2luIHRyYW5z
cGFyZW5jeSBsYXllcnMgbGF6aWx5IG5vdyB0aGF0IHdlIGtub3cgd2UgaGF2ZSB0byBwYWludCBz
b21ldGhpbmcuCkBAIC0zODg4LDExICszOTA3LDEyIEBAIFJlbmRlckxheWVyKiBSZW5kZXJMYXll
cjo6aGl0VGVzdENoaWxkTGF5ZXJDb2x1bW5zKFJlbmRlckxheWVyKiBjaGlsZExheWVyLCBSZW5k
CiAgICAgcmV0dXJuIDA7CiB9CiAKLXZvaWQgUmVuZGVyTGF5ZXI6OnVwZGF0ZUNsaXBSZWN0cyhj
b25zdCBSZW5kZXJMYXllciogcm9vdExheWVyLCBSZW5kZXJSZWdpb24qIHJlZ2lvbiwgQ2xpcFJl
Y3RzVHlwZSBjbGlwUmVjdHNUeXBlLCBPdmVybGF5U2Nyb2xsYmFyU2l6ZVJlbGV2YW5jeSByZWxl
dmFuY3kpCit2b2lkIFJlbmRlckxheWVyOjp1cGRhdGVDbGlwUmVjdHMoY29uc3QgUmVuZGVyTGF5
ZXIqIHJvb3RMYXllciwgUmVuZGVyUmVnaW9uKiByZWdpb24sIENsaXBSZWN0c1R5cGUgY2xpcFJl
Y3RzVHlwZSwgT3ZlcmxheVNjcm9sbGJhclNpemVSZWxldmFuY3kgcmVsZXZhbmN5LCBSZXNwZWN0
T3ZlcmZsb3dDbGlwT3JOb3QgcmVzcGVjdE92ZXJmbG93Q2xpcCkKIHsKICAgICBBU1NFUlQoY2xp
cFJlY3RzVHlwZSA8IE51bUNhY2hlZENsaXBSZWN0c1R5cGVzKTsKICAgICBpZiAobV9jbGlwUmVj
dHNDYWNoZSAmJiBtX2NsaXBSZWN0c0NhY2hlLT5tX2NsaXBSZWN0c1tjbGlwUmVjdHNUeXBlXSkg
ewogICAgICAgICBBU1NFUlQocm9vdExheWVyID09IG1fY2xpcFJlY3RzQ2FjaGUtPm1fY2xpcFJl
Y3RzUm9vdFtjbGlwUmVjdHNUeXBlXSk7CisgICAgICAgIEFTU0VSVChtX2NsaXBSZWN0c0NhY2hl
LT5tX3Jlc3BlY3RpbmdPdmVyZmxvd0NsaXBbY2xpcFJlY3RzVHlwZV0gPT0gKHJlc3BlY3RPdmVy
Zmxvd0NsaXAgPT0gUmVzcGVjdE92ZXJmbG93Q2xpcCkpOwogICAgICAgICByZXR1cm47IC8vIFdl
IGhhdmUgdGhlIGNvcnJlY3QgY2FjaGVkIHZhbHVlLgogICAgIH0KICAgICAKQEAgLTM5MDAsMTAg
KzM5MjAsMTAgQEAgdm9pZCBSZW5kZXJMYXllcjo6dXBkYXRlQ2xpcFJlY3RzKGNvbnN0IFJlbmRl
ckxheWVyKiByb290TGF5ZXIsIFJlbmRlclJlZ2lvbiogcmUKICAgICAvLyBleGFtaW5lIHRoZSBw
YXJlbnQuICBXZSB3YW50IHRvIGNhY2hlIGNsaXAgcmVjdHMgd2l0aCB1cyBhcyB0aGUgcm9vdC4K
ICAgICBSZW5kZXJMYXllciogcGFyZW50TGF5ZXIgPSByb290TGF5ZXIgIT0gdGhpcyA/IHBhcmVu
dCgpIDogMDsKICAgICBpZiAocGFyZW50TGF5ZXIpCi0gICAgICAgIHBhcmVudExheWVyLT51cGRh
dGVDbGlwUmVjdHMocm9vdExheWVyLCByZWdpb24sIGNsaXBSZWN0c1R5cGUsIHJlbGV2YW5jeSk7
CisgICAgICAgIHBhcmVudExheWVyLT51cGRhdGVDbGlwUmVjdHMocm9vdExheWVyLCByZWdpb24s
IGNsaXBSZWN0c1R5cGUsIHJlbGV2YW5jeSwgcmVzcGVjdE92ZXJmbG93Q2xpcCk7CiAKICAgICBD
bGlwUmVjdHMgY2xpcFJlY3RzOwotICAgIGNhbGN1bGF0ZUNsaXBSZWN0cyhyb290TGF5ZXIsIHJl
Z2lvbiwgY2xpcFJlY3RzVHlwZSwgY2xpcFJlY3RzLCByZWxldmFuY3kpOworICAgIGNhbGN1bGF0
ZUNsaXBSZWN0cyhyb290TGF5ZXIsIHJlZ2lvbiwgY2xpcFJlY3RzVHlwZSwgY2xpcFJlY3RzLCBy
ZWxldmFuY3ksIHJlc3BlY3RPdmVyZmxvd0NsaXApOwogCiAgICAgaWYgKCFtX2NsaXBSZWN0c0Nh
Y2hlKQogICAgICAgICBtX2NsaXBSZWN0c0NhY2hlID0gYWRvcHRQdHIobmV3IENsaXBSZWN0c0Nh
Y2hlKTsKQEAgLTM5MTUsMTAgKzM5MzUsMTEgQEAgdm9pZCBSZW5kZXJMYXllcjo6dXBkYXRlQ2xp
cFJlY3RzKGNvbnN0IFJlbmRlckxheWVyKiByb290TGF5ZXIsIFJlbmRlclJlZ2lvbiogcmUKIAog
I2lmbmRlZiBOREVCVUcKICAgICBtX2NsaXBSZWN0c0NhY2hlLT5tX2NsaXBSZWN0c1Jvb3RbY2xp
cFJlY3RzVHlwZV0gPSByb290TGF5ZXI7CisgICAgbV9jbGlwUmVjdHNDYWNoZS0+bV9yZXNwZWN0
aW5nT3ZlcmZsb3dDbGlwW2NsaXBSZWN0c1R5cGVdID0gcmVzcGVjdE92ZXJmbG93Q2xpcCA9PSBS
ZXNwZWN0T3ZlcmZsb3dDbGlwOwogI2VuZGlmCiB9CiAKLXZvaWQgUmVuZGVyTGF5ZXI6OmNhbGN1
bGF0ZUNsaXBSZWN0cyhjb25zdCBSZW5kZXJMYXllciogcm9vdExheWVyLCBSZW5kZXJSZWdpb24q
IHJlZ2lvbiwgQ2xpcFJlY3RzVHlwZSBjbGlwUmVjdHNUeXBlLCBDbGlwUmVjdHMmIGNsaXBSZWN0
cywgT3ZlcmxheVNjcm9sbGJhclNpemVSZWxldmFuY3kgcmVsZXZhbmN5KSBjb25zdAordm9pZCBS
ZW5kZXJMYXllcjo6Y2FsY3VsYXRlQ2xpcFJlY3RzKGNvbnN0IFJlbmRlckxheWVyKiByb290TGF5
ZXIsIFJlbmRlclJlZ2lvbiogcmVnaW9uLCBDbGlwUmVjdHNUeXBlIGNsaXBSZWN0c1R5cGUsIENs
aXBSZWN0cyYgY2xpcFJlY3RzLCBPdmVybGF5U2Nyb2xsYmFyU2l6ZVJlbGV2YW5jeSByZWxldmFu
Y3ksIFJlc3BlY3RPdmVyZmxvd0NsaXBPck5vdCByZXNwZWN0T3ZlcmZsb3dDbGlwKSBjb25zdAog
ewogICAgIGlmICghcGFyZW50KCkpIHsKICAgICAgICAgLy8gVGhlIHJvb3QgbGF5ZXIncyBjbGlw
IHJlY3QgaXMgYWx3YXlzIGluZmluaXRlLgpAQCAtMzkzNyw3ICszOTU4LDcgQEAgdm9pZCBSZW5k
ZXJMYXllcjo6Y2FsY3VsYXRlQ2xpcFJlY3RzKGNvbnN0IFJlbmRlckxheWVyKiByb290TGF5ZXIs
IFJlbmRlclJlZ2lvbioKICAgICAgICAgaWYgKHVzZUNhY2hlZCAmJiBwYXJlbnRMYXllci0+Y2xp
cFJlY3RzKGNsaXBSZWN0c1R5cGUpKQogICAgICAgICAgICAgY2xpcFJlY3RzID0gKnBhcmVudExh
eWVyLT5jbGlwUmVjdHMoY2xpcFJlY3RzVHlwZSk7CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAg
IHBhcmVudExheWVyLT5jYWxjdWxhdGVDbGlwUmVjdHMocm9vdExheWVyLCByZWdpb24sIGNsaXBS
ZWN0c1R5cGUsIGNsaXBSZWN0cyk7CisgICAgICAgICAgICBwYXJlbnRMYXllci0+Y2FsY3VsYXRl
Q2xpcFJlY3RzKHJvb3RMYXllciwgcmVnaW9uLCBjbGlwUmVjdHNUeXBlLCBjbGlwUmVjdHMsIEln
bm9yZU92ZXJsYXlTY3JvbGxiYXJTaXplLCByZXNwZWN0T3ZlcmZsb3dDbGlwKTsKICAgICB9IGVs
c2UKICAgICAgICAgY2xpcFJlY3RzLnJlc2V0KFBhaW50SW5mbzo6aW5maW5pdGVSZWN0KCkpOwog
CkBAIC0zOTU0LDcgKzM5NzUsNyBAQCB2b2lkIFJlbmRlckxheWVyOjpjYWxjdWxhdGVDbGlwUmVj
dHMoY29uc3QgUmVuZGVyTGF5ZXIqIHJvb3RMYXllciwgUmVuZGVyUmVnaW9uKgogICAgICAgICBj
bGlwUmVjdHMuc2V0T3ZlcmZsb3dDbGlwUmVjdChjbGlwUmVjdHMucG9zQ2xpcFJlY3QoKSk7CiAg
ICAgCiAgICAgLy8gVXBkYXRlIHRoZSBjbGlwIHJlY3RzIHRoYXQgd2lsbCBiZSBwYXNzZWQgdG8g
Y2hpbGQgbGF5ZXJzLgotICAgIGlmIChyZW5kZXJlcigpLT5oYXNDbGlwT3JPdmVyZmxvd0NsaXAo
KSkgeworICAgIGlmICgocmVuZGVyZXIoKS0+aGFzT3ZlcmZsb3dDbGlwKCkgJiYgKHJlc3BlY3RP
dmVyZmxvd0NsaXAgPT0gUmVzcGVjdE92ZXJmbG93Q2xpcCB8fCB0aGlzICE9IHJvb3RMYXllcikp
IHx8IHJlbmRlcmVyKCktPmhhc0NsaXAoKSkgewogICAgICAgICAvLyBUaGlzIGxheWVyIGVzdGFi
bGlzaGVzIGEgY2xpcCBvZiBzb21lIGtpbmQuCiAKICAgICAgICAgLy8gVGhpcyBvZmZzZXQgY2Fu
bm90IHVzZSBjb252ZXJ0VG9MYXllckNvb3JkcywgYmVjYXVzZSBzb21ldGltZXMgb3VyIHJvb3RM
YXllciBtYXkgYmUgYWNyb3NzCkBAIC0zOTg1LDE1ICs0MDA2LDE1IEBAIHZvaWQgUmVuZGVyTGF5
ZXI6OmNhbGN1bGF0ZUNsaXBSZWN0cyhjb25zdCBSZW5kZXJMYXllciogcm9vdExheWVyLCBSZW5k
ZXJSZWdpb24qCiAgICAgfQogfQogCi12b2lkIFJlbmRlckxheWVyOjpwYXJlbnRDbGlwUmVjdHMo
Y29uc3QgUmVuZGVyTGF5ZXIqIHJvb3RMYXllciwgUmVuZGVyUmVnaW9uKiByZWdpb24sIENsaXBS
ZWN0c1R5cGUgY2xpcFJlY3RzVHlwZSwgQ2xpcFJlY3RzJiBjbGlwUmVjdHMsIE92ZXJsYXlTY3Jv
bGxiYXJTaXplUmVsZXZhbmN5IHJlbGV2YW5jeSkgY29uc3QKK3ZvaWQgUmVuZGVyTGF5ZXI6OnBh
cmVudENsaXBSZWN0cyhjb25zdCBSZW5kZXJMYXllciogcm9vdExheWVyLCBSZW5kZXJSZWdpb24q
IHJlZ2lvbiwgQ2xpcFJlY3RzVHlwZSBjbGlwUmVjdHNUeXBlLCBDbGlwUmVjdHMmIGNsaXBSZWN0
cywgT3ZlcmxheVNjcm9sbGJhclNpemVSZWxldmFuY3kgcmVsZXZhbmN5LCBSZXNwZWN0T3ZlcmZs
b3dDbGlwT3JOb3QgcmVzcGVjdE92ZXJmbG93Q2xpcCkgY29uc3QKIHsKICAgICBBU1NFUlQocGFy
ZW50KCkpOwogICAgIGlmIChjbGlwUmVjdHNUeXBlID09IFRlbXBvcmFyeUNsaXBSZWN0cykgewot
ICAgICAgICBwYXJlbnQoKS0+Y2FsY3VsYXRlQ2xpcFJlY3RzKHJvb3RMYXllciwgcmVnaW9uLCBj
bGlwUmVjdHNUeXBlLCBjbGlwUmVjdHMsIHJlbGV2YW5jeSk7CisgICAgICAgIHBhcmVudCgpLT5j
YWxjdWxhdGVDbGlwUmVjdHMocm9vdExheWVyLCByZWdpb24sIGNsaXBSZWN0c1R5cGUsIGNsaXBS
ZWN0cywgcmVsZXZhbmN5LCByZXNwZWN0T3ZlcmZsb3dDbGlwKTsKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KIAotICAgIHBhcmVudCgpLT51cGRhdGVDbGlwUmVjdHMocm9vdExheWVyLCByZWdpb24s
IGNsaXBSZWN0c1R5cGUsIHJlbGV2YW5jeSk7CisgICAgcGFyZW50KCktPnVwZGF0ZUNsaXBSZWN0
cyhyb290TGF5ZXIsIHJlZ2lvbiwgY2xpcFJlY3RzVHlwZSwgcmVsZXZhbmN5LCByZXNwZWN0T3Zl
cmZsb3dDbGlwKTsKICAgICBjbGlwUmVjdHMgPSAqcGFyZW50KCktPmNsaXBSZWN0cyhjbGlwUmVj
dHNUeXBlKTsKIH0KIApAQCAtNDAwOCwxMSArNDAyOSwxMSBAQCBzdGF0aWMgaW5saW5lIENsaXBS
ZWN0IGJhY2tncm91bmRDbGlwUmVjdEZvclBvc2l0aW9uKGNvbnN0IENsaXBSZWN0cyYgcGFyZW50
UmVjdAogICAgIHJldHVybiBwYXJlbnRSZWN0cy5vdmVyZmxvd0NsaXBSZWN0KCk7CiB9CiAKLUNs
aXBSZWN0IFJlbmRlckxheWVyOjpiYWNrZ3JvdW5kQ2xpcFJlY3QoY29uc3QgUmVuZGVyTGF5ZXIq
IHJvb3RMYXllciwgUmVuZGVyUmVnaW9uKiByZWdpb24sIENsaXBSZWN0c1R5cGUgY2xpcFJlY3Rz
VHlwZSwgT3ZlcmxheVNjcm9sbGJhclNpemVSZWxldmFuY3kgcmVsZXZhbmN5KSBjb25zdAorQ2xp
cFJlY3QgUmVuZGVyTGF5ZXI6OmJhY2tncm91bmRDbGlwUmVjdChjb25zdCBSZW5kZXJMYXllciog
cm9vdExheWVyLCBSZW5kZXJSZWdpb24qIHJlZ2lvbiwgQ2xpcFJlY3RzVHlwZSBjbGlwUmVjdHNU
eXBlLCBPdmVybGF5U2Nyb2xsYmFyU2l6ZVJlbGV2YW5jeSByZWxldmFuY3ksIFJlc3BlY3RPdmVy
Zmxvd0NsaXBPck5vdCByZXNwZWN0T3ZlcmZsb3dDbGlwKSBjb25zdAogewogICAgIEFTU0VSVChw
YXJlbnQoKSk7CiAgICAgQ2xpcFJlY3RzIHBhcmVudFJlY3RzOwotICAgIHBhcmVudENsaXBSZWN0
cyhyb290TGF5ZXIsIHJlZ2lvbiwgY2xpcFJlY3RzVHlwZSwgcGFyZW50UmVjdHMsIHJlbGV2YW5j
eSk7CisgICAgcGFyZW50Q2xpcFJlY3RzKHJvb3RMYXllciwgcmVnaW9uLCBjbGlwUmVjdHNUeXBl
LCBwYXJlbnRSZWN0cywgcmVsZXZhbmN5LCByZXNwZWN0T3ZlcmZsb3dDbGlwKTsKICAgICBDbGlw
UmVjdCBiYWNrZ3JvdW5kQ2xpcFJlY3QgPSBiYWNrZ3JvdW5kQ2xpcFJlY3RGb3JQb3NpdGlvbihw
YXJlbnRSZWN0cywgcmVuZGVyZXIoKS0+c3R5bGUoKS0+cG9zaXRpb24oKSk7CiAgICAgUmVuZGVy
VmlldyogdmlldyA9IHJlbmRlcmVyKCktPnZpZXcoKTsKICAgICBBU1NFUlQodmlldyk7CkBAIC00
MDI1LDEwICs0MDQ2LDEwIEBAIENsaXBSZWN0IFJlbmRlckxheWVyOjpiYWNrZ3JvdW5kQ2xpcFJl
Y3QoY29uc3QgUmVuZGVyTGF5ZXIqIHJvb3RMYXllciwgUmVuZGVyUmVnCiB9CiAKIHZvaWQgUmVu
ZGVyTGF5ZXI6OmNhbGN1bGF0ZVJlY3RzKGNvbnN0IFJlbmRlckxheWVyKiByb290TGF5ZXIsIFJl
bmRlclJlZ2lvbiogcmVnaW9uLCBDbGlwUmVjdHNUeXBlIGNsaXBSZWN0c1R5cGUsIGNvbnN0IExh
eW91dFJlY3QmIHBhaW50RGlydHlSZWN0LCBMYXlvdXRSZWN0JiBsYXllckJvdW5kcywKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIENsaXBSZWN0JiBiYWNrZ3JvdW5kUmVjdCwgQ2xp
cFJlY3QmIGZvcmVncm91bmRSZWN0LCBDbGlwUmVjdCYgb3V0bGluZVJlY3QsIE92ZXJsYXlTY3Jv
bGxiYXJTaXplUmVsZXZhbmN5IHJlbGV2YW5jeSkgY29uc3QKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIENsaXBSZWN0JiBiYWNrZ3JvdW5kUmVjdCwgQ2xpcFJlY3QmIGZvcmVncm91
bmRSZWN0LCBDbGlwUmVjdCYgb3V0bGluZVJlY3QsIE92ZXJsYXlTY3JvbGxiYXJTaXplUmVsZXZh
bmN5IHJlbGV2YW5jeSwgUmVzcGVjdE92ZXJmbG93Q2xpcE9yTm90IHJlc3BlY3RPdmVyZmxvd0Ns
aXApIGNvbnN0CiB7CiAgICAgaWYgKHJvb3RMYXllciAhPSB0aGlzICYmIHBhcmVudCgpKSB7Ci0g
ICAgICAgIGJhY2tncm91bmRSZWN0ID0gYmFja2dyb3VuZENsaXBSZWN0KHJvb3RMYXllciwgcmVn
aW9uLCBjbGlwUmVjdHNUeXBlLCByZWxldmFuY3kpOworICAgICAgICBiYWNrZ3JvdW5kUmVjdCA9
IGJhY2tncm91bmRDbGlwUmVjdChyb290TGF5ZXIsIHJlZ2lvbiwgY2xpcFJlY3RzVHlwZSwgcmVs
ZXZhbmN5LCByZXNwZWN0T3ZlcmZsb3dDbGlwKTsKICAgICAgICAgYmFja2dyb3VuZFJlY3QuaW50
ZXJzZWN0KHBhaW50RGlydHlSZWN0KTsKICAgICB9IGVsc2UKICAgICAgICAgYmFja2dyb3VuZFJl
Y3QgPSBwYWludERpcnR5UmVjdDsKQEAgLTQwNDMsNyArNDA2NCw3IEBAIHZvaWQgUmVuZGVyTGF5
ZXI6OmNhbGN1bGF0ZVJlY3RzKGNvbnN0IFJlbmRlckxheWVyKiByb290TGF5ZXIsIFJlbmRlclJl
Z2lvbiogcmVnCiAgICAgLy8gVXBkYXRlIHRoZSBjbGlwIHJlY3RzIHRoYXQgd2lsbCBiZSBwYXNz
ZWQgdG8gY2hpbGQgbGF5ZXJzLgogICAgIGlmIChyZW5kZXJlcigpLT5oYXNDbGlwT3JPdmVyZmxv
d0NsaXAoKSkgewogICAgICAgICAvLyBUaGlzIGxheWVyIGVzdGFibGlzaGVzIGEgY2xpcCBvZiBz
b21lIGtpbmQuCi0gICAgICAgIGlmIChyZW5kZXJlcigpLT5oYXNPdmVyZmxvd0NsaXAoKSkgewor
ICAgICAgICBpZiAocmVuZGVyZXIoKS0+aGFzT3ZlcmZsb3dDbGlwKCkgJiYgKHRoaXMgIT0gcm9v
dExheWVyIHx8IHJlc3BlY3RPdmVyZmxvd0NsaXAgPT0gSWdub3JlT3ZlcmZsb3dDbGlwKSkgewog
ICAgICAgICAgICAgZm9yZWdyb3VuZFJlY3QuaW50ZXJzZWN0KHRvUmVuZGVyQm94KHJlbmRlcmVy
KCkpLT5vdmVyZmxvd0NsaXBSZWN0KG9mZnNldCwgcmVnaW9uLCByZWxldmFuY3kpKTsKICAgICAg
ICAgICAgIGlmIChyZW5kZXJlcigpLT5zdHlsZSgpLT5oYXNCb3JkZXJSYWRpdXMoKSkKICAgICAg
ICAgICAgICAgICBmb3JlZ3JvdW5kUmVjdC5zZXRIYXNSYWRpdXModHJ1ZSk7CkBAIC00MDY2LDEy
ICs0MDg3LDE0IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OmNhbGN1bGF0ZVJlY3RzKGNvbnN0IFJlbmRl
ckxheWVyKiByb290TGF5ZXIsIFJlbmRlclJlZ2lvbiogcmVnCiAgICAgICAgICAgICBMYXlvdXRS
ZWN0IGxheWVyQm91bmRzV2l0aFZpc3VhbE92ZXJmbG93ID0gcmVuZGVyQm94KCktPnZpc3VhbE92
ZXJmbG93UmVjdCgpOwogICAgICAgICAgICAgcmVuZGVyQm94KCktPmZsaXBGb3JXcml0aW5nTW9k
ZShsYXllckJvdW5kc1dpdGhWaXN1YWxPdmVyZmxvdyk7IC8vIExheWVycyBhcmUgaW4gcGh5c2lj
YWwgY29vcmRpbmF0ZXMsIHNvIHRoZSBvdmVyZmxvdyBoYXMgdG8gYmUgZmxpcHBlZC4KICAgICAg
ICAgICAgIGxheWVyQm91bmRzV2l0aFZpc3VhbE92ZXJmbG93Lm1vdmVCeShvZmZzZXQpOwotICAg
ICAgICAgICAgYmFja2dyb3VuZFJlY3QuaW50ZXJzZWN0KGxheWVyQm91bmRzV2l0aFZpc3VhbE92
ZXJmbG93KTsKKyAgICAgICAgICAgIGlmICh0aGlzICE9IHJvb3RMYXllciB8fCByZXNwZWN0T3Zl
cmZsb3dDbGlwID09IElnbm9yZU92ZXJmbG93Q2xpcCkKKyAgICAgICAgICAgICAgICBiYWNrZ3Jv
dW5kUmVjdC5pbnRlcnNlY3QobGF5ZXJCb3VuZHNXaXRoVmlzdWFsT3ZlcmZsb3cpOwogICAgICAg
ICB9IGVsc2UgewogICAgICAgICAgICAgLy8gU2hpZnQgdGhlIGJvdW5kcyB0byBiZSBmb3Igb3Vy
IHJlZ2lvbiBvbmx5LgogICAgICAgICAgICAgTGF5b3V0UmVjdCBib3VuZHMgPSBwaXhlbFNuYXBw
ZWRJbnRSZWN0KHJlbmRlckJveCgpLT5ib3JkZXJCb3hSZWN0SW5SZWdpb24ocmVnaW9uKSk7CiAg
ICAgICAgICAgICBib3VuZHMubW92ZUJ5KG9mZnNldCk7Ci0gICAgICAgICAgICBiYWNrZ3JvdW5k
UmVjdC5pbnRlcnNlY3QoYm91bmRzKTsKKyAgICAgICAgICAgIGlmICh0aGlzICE9IHJvb3RMYXll
ciB8fCByZXNwZWN0T3ZlcmZsb3dDbGlwID09IElnbm9yZU92ZXJmbG93Q2xpcCkKKyAgICAgICAg
ICAgICAgICBiYWNrZ3JvdW5kUmVjdC5pbnRlcnNlY3QoYm91bmRzKTsKICAgICAgICAgfQogICAg
IH0KIH0KQEAgLTQwODQsNyArNDEwNyw4IEBAIExheW91dFJlY3QgUmVuZGVyTGF5ZXI6OmNoaWxk
cmVuQ2xpcFJlY3QoKSBjb25zdAogICAgIFJlbmRlckxheWVyKiBjbGlwcGluZ1Jvb3RMYXllciA9
IGNsaXBwaW5nUm9vdEZvclBhaW50aW5nKCk7CiAgICAgTGF5b3V0UmVjdCBsYXllckJvdW5kczsK
ICAgICBDbGlwUmVjdCBiYWNrZ3JvdW5kUmVjdCwgZm9yZWdyb3VuZFJlY3QsIG91dGxpbmVSZWN0
OwotICAgIGNhbGN1bGF0ZVJlY3RzKGNsaXBwaW5nUm9vdExheWVyLCAwLCBQYWludGluZ0NsaXBS
ZWN0cywgcmVuZGVyVmlldy0+dW5zY2FsZWREb2N1bWVudFJlY3QoKSwgbGF5ZXJCb3VuZHMsIGJh
Y2tncm91bmRSZWN0LCBmb3JlZ3JvdW5kUmVjdCwgb3V0bGluZVJlY3QpOworICAgIC8vIE5lZWQg
dG8gdXNlIHRlbXBvcmFyeSBjbGlwIHJlY3RzLCBiZWNhdXNlIHRoZSB2YWx1ZSBvZiAnZG9udENs
aXBUb092ZXJmbG93JyBtYXkgYmUgZGlmZmVyZW50IGZyb20gdGhlIHBhaW50aW5nIHBhdGggKDxy
ZGFyOi8vcHJvYmxlbS8xMTg0NDkwOT4pLgorICAgIGNhbGN1bGF0ZVJlY3RzKGNsaXBwaW5nUm9v
dExheWVyLCAwLCBUZW1wb3JhcnlDbGlwUmVjdHMsIHJlbmRlclZpZXctPnVuc2NhbGVkRG9jdW1l
bnRSZWN0KCksIGxheWVyQm91bmRzLCBiYWNrZ3JvdW5kUmVjdCwgZm9yZWdyb3VuZFJlY3QsIG91
dGxpbmVSZWN0KTsKICAgICByZXR1cm4gY2xpcHBpbmdSb290TGF5ZXItPnJlbmRlcmVyKCktPmxv
Y2FsVG9BYnNvbHV0ZVF1YWQoRmxvYXRRdWFkKGZvcmVncm91bmRSZWN0LnJlY3QoKSkpLmVuY2xv
c2luZ0JvdW5kaW5nQm94KCk7CiB9CiAKQEAgLTQ3ODEsNyArNDgwNSw4IEBAIGJvb2wgUmVuZGVy
TGF5ZXI6OnNob3VsZEJlTm9ybWFsRmxvd09ubHkoKSBjb25zdAogI2lmIEVOQUJMRShDU1NfRklM
VEVSUykKICAgICAgICAgICAgICYmICFyZW5kZXJlcigpLT5oYXNGaWx0ZXIoKQogI2VuZGlmCi0g
ICAgICAgICAgICAmJiAhaXNUcmFuc3BhcmVudCgpOworICAgICAgICAgICAgJiYgIWlzVHJhbnNw
YXJlbnQoKQorICAgICAgICAgICAgJiYgIXVzZXNDb21wb3NpdGVkU2Nyb2xsaW5nKCk7CiB9CiAK
IGJvb2wgUmVuZGVyTGF5ZXI6OnNob3VsZEJlU2VsZlBhaW50aW5nTGF5ZXIoKSBjb25zdApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmggYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaAppbmRleCBkZDZkZjE1YTFmNWI0ZjNhMjIz
NjBmMzI5N2NmNmJlMTJmMjQ4YTM1Li44ZjcyYTIyNDg3Yjc5YTNjYTA5ZmRlNDgxMzQ1ZDQ5MGQ4
ZTI4OWE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaApAQCAtMjMwLDE0
ICsyMzAsMTcgQEAgc3RydWN0IENsaXBSZWN0c0NhY2hlIHsKICAgICBDbGlwUmVjdHNDYWNoZSgp
CiAgICAgewogI2lmbmRlZiBOREVCVUcKLSAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBOdW1D
YWNoZWRDbGlwUmVjdHNUeXBlczsgKytpKQorICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IE51
bUNhY2hlZENsaXBSZWN0c1R5cGVzOyArK2kpIHsKICAgICAgICAgICAgIG1fY2xpcFJlY3RzUm9v
dFtpXSA9IDA7CisgICAgICAgICAgICBtX3Jlc3BlY3RpbmdPdmVyZmxvd0NsaXBbaV0gPSBmYWxz
ZTsKKyAgICAgICAgfQogI2VuZGlmCiAgICAgfQogCiAgICAgUmVmUHRyPENsaXBSZWN0cz4gbV9j
bGlwUmVjdHNbTnVtQ2FjaGVkQ2xpcFJlY3RzVHlwZXNdOwogI2lmbmRlZiBOREVCVUcKICAgICBj
b25zdCBSZW5kZXJMYXllciogbV9jbGlwUmVjdHNSb290W051bUNhY2hlZENsaXBSZWN0c1R5cGVz
XTsKKyAgICBib29sIG1fcmVzcGVjdGluZ092ZXJmbG93Q2xpcFtOdW1DYWNoZWRDbGlwUmVjdHNU
eXBlc107CiAjZW5kaWYKIH07CiAKQEAgLTM2MCw2ICszNjMsNyBAQCBwdWJsaWM6CiAgICAgdm9p
ZCBwYWludFJlc2l6ZXIoR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgSW50UG9pbnQmLCBjb25zdCBJ
bnRSZWN0JiBkYW1hZ2VSZWN0KTsKIAogICAgIHZvaWQgdXBkYXRlU2Nyb2xsSW5mb0FmdGVyTGF5
b3V0KCk7CisgICAgdmlydHVhbCBib29sIHVzZXNDb21wb3NpdGVkU2Nyb2xsaW5nKCkgY29uc3Qg
T1ZFUlJJREU7CiAKICAgICBib29sIHNjcm9sbChTY3JvbGxEaXJlY3Rpb24sIFNjcm9sbEdyYW51
bGFyaXR5LCBmbG9hdCBtdWx0aXBsaWVyID0gMSk7CiAgICAgdm9pZCBhdXRvc2Nyb2xsKCk7CkBA
IC01MDAsNiArNTA0LDcgQEAgcHVibGljOgogICAgICAgICBQYWludExheWVyUGFpbnRpbmdDb21w
b3NpdGluZ0JhY2tncm91bmRQaGFzZSA9IDEgPDwgNSwKICAgICAgICAgUGFpbnRMYXllclBhaW50
aW5nQ29tcG9zaXRpbmdGb3JlZ3JvdW5kUGhhc2UgPSAxIDw8IDYsCiAgICAgICAgIFBhaW50TGF5
ZXJQYWludGluZ0NvbXBvc2l0aW5nTWFza1BoYXNlID0gMSA8PCA3LAorICAgICAgICBQYWludExh
eWVyUGFpbnRpbmdPdmVyZmxvd0NvbnRlbnRzID0gMSA8PCA4LAogICAgICAgICBQYWludExheWVy
UGFpbnRpbmdDb21wb3NpdGluZ0FsbFBoYXNlcyA9IChQYWludExheWVyUGFpbnRpbmdDb21wb3Np
dGluZ0JhY2tncm91bmRQaGFzZSB8IFBhaW50TGF5ZXJQYWludGluZ0NvbXBvc2l0aW5nRm9yZWdy
b3VuZFBoYXNlIHwgUGFpbnRMYXllclBhaW50aW5nQ29tcG9zaXRpbmdNYXNrUGhhc2UpCiAgICAg
fTsKICAgICAKQEAgLTUxNSwxOCArNTIwLDIwIEBAIHB1YmxpYzoKICAgICBib29sIGhpdFRlc3Qo
Y29uc3QgSGl0VGVzdFJlcXVlc3QmLCBjb25zdCBIaXRUZXN0UG9pbnQmLCBIaXRUZXN0UmVzdWx0
Jik7CiAgICAgdm9pZCBwYWludE92ZXJsYXlTY3JvbGxiYXJzKEdyYXBoaWNzQ29udGV4dCosIGNv
bnN0IExheW91dFJlY3QmIGRhbWFnZVJlY3QsIFBhaW50QmVoYXZpb3IsIFJlbmRlck9iamVjdCog
cGFpbnRpbmdSb290KTsKIAorICAgIGVudW0gUmVzcGVjdE92ZXJmbG93Q2xpcE9yTm90IHsgSWdu
b3JlT3ZlcmZsb3dDbGlwLCBSZXNwZWN0T3ZlcmZsb3dDbGlwIH07CisKICAgICAvLyBUaGlzIG1l
dGhvZCBmaWd1cmVzIG91dCBvdXIgbGF5ZXJCb3VuZHMgaW4gY29vcmRpbmF0ZXMgcmVsYXRpdmUg
dG8KICAgICAvLyB8cm9vdExheWVyfS4gIEl0IGFsc28gY29tcHV0ZXMgb3VyIGJhY2tncm91bmQg
YW5kIGZvcmVncm91bmQgY2xpcCByZWN0cwogICAgIC8vIGZvciBwYWludGluZy9ldmVudCBoYW5k
bGluZy4KICAgICB2b2lkIGNhbGN1bGF0ZVJlY3RzKGNvbnN0IFJlbmRlckxheWVyKiByb290TGF5
ZXIsIFJlbmRlclJlZ2lvbiosIENsaXBSZWN0c1R5cGUsIGNvbnN0IExheW91dFJlY3QmIHBhaW50
RGlydHlSZWN0LCBMYXlvdXRSZWN0JiBsYXllckJvdW5kcywKICAgICAgICAgICAgICAgICAgICAg
ICAgIENsaXBSZWN0JiBiYWNrZ3JvdW5kUmVjdCwgQ2xpcFJlY3QmIGZvcmVncm91bmRSZWN0LCBD
bGlwUmVjdCYgb3V0bGluZVJlY3QsCi0gICAgICAgICAgICAgICAgICAgICAgICBPdmVybGF5U2Ny
b2xsYmFyU2l6ZVJlbGV2YW5jeSA9IElnbm9yZU92ZXJsYXlTY3JvbGxiYXJTaXplKSBjb25zdDsK
KyAgICAgICAgICAgICAgICAgICAgICAgIE92ZXJsYXlTY3JvbGxiYXJTaXplUmVsZXZhbmN5ID0g
SWdub3JlT3ZlcmxheVNjcm9sbGJhclNpemUsIFJlc3BlY3RPdmVyZmxvd0NsaXBPck5vdCA9IFJl
c3BlY3RPdmVyZmxvd0NsaXApIGNvbnN0OwogCiAgICAgLy8gQ29tcHV0ZSBhbmQgY2FjaGUgY2xp
cCByZWN0cyBjb21wdXRlZCB3aXRoIHRoZSBnaXZlbiBsYXllciBhcyB0aGUgcm9vdAotICAgIHZv
aWQgdXBkYXRlQ2xpcFJlY3RzKGNvbnN0IFJlbmRlckxheWVyKiByb290TGF5ZXIsIFJlbmRlclJl
Z2lvbiosIENsaXBSZWN0c1R5cGUsIE92ZXJsYXlTY3JvbGxiYXJTaXplUmVsZXZhbmN5ID0gSWdu
b3JlT3ZlcmxheVNjcm9sbGJhclNpemUpOworICAgIHZvaWQgdXBkYXRlQ2xpcFJlY3RzKGNvbnN0
IFJlbmRlckxheWVyKiByb290TGF5ZXIsIFJlbmRlclJlZ2lvbiosIENsaXBSZWN0c1R5cGUsIE92
ZXJsYXlTY3JvbGxiYXJTaXplUmVsZXZhbmN5ID0gSWdub3JlT3ZlcmxheVNjcm9sbGJhclNpemUs
IFJlc3BlY3RPdmVyZmxvd0NsaXBPck5vdCA9IFJlc3BlY3RPdmVyZmxvd0NsaXApOwogICAgIC8v
IENvbXB1dGUgYW5kIHJldHVybiB0aGUgY2xpcCByZWN0cy4gSWYgdXNlQ2FjaGVkIGlzIHRydWUs
IHdpbGwgdXNlZCBwcmV2aW91c2x5IGNvbXB1dGVkIGNsaXAgcmVjdHMgb24gYW5jZXN0b3JzCiAg
ICAgLy8gKHJhdGhlciB0aGFuIGNvbXB1dGluZyB0aGVtIGFsbCBmcm9tIHNjcmF0Y2ggdXAgdGhl
IHBhcmVudCBjaGFpbikuCi0gICAgdm9pZCBjYWxjdWxhdGVDbGlwUmVjdHMoY29uc3QgUmVuZGVy
TGF5ZXIqIHJvb3RMYXllciwgUmVuZGVyUmVnaW9uKiwgQ2xpcFJlY3RzVHlwZSwgQ2xpcFJlY3Rz
JiwgT3ZlcmxheVNjcm9sbGJhclNpemVSZWxldmFuY3kgPSBJZ25vcmVPdmVybGF5U2Nyb2xsYmFy
U2l6ZSkgY29uc3Q7CisgICAgdm9pZCBjYWxjdWxhdGVDbGlwUmVjdHMoY29uc3QgUmVuZGVyTGF5
ZXIqIHJvb3RMYXllciwgUmVuZGVyUmVnaW9uKiwgQ2xpcFJlY3RzVHlwZSwgQ2xpcFJlY3RzJiwg
T3ZlcmxheVNjcm9sbGJhclNpemVSZWxldmFuY3kgPSBJZ25vcmVPdmVybGF5U2Nyb2xsYmFyU2l6
ZSwgUmVzcGVjdE92ZXJmbG93Q2xpcE9yTm90ID0gUmVzcGVjdE92ZXJmbG93Q2xpcCkgY29uc3Q7
CiAKICAgICBDbGlwUmVjdHMqIGNsaXBSZWN0cyhDbGlwUmVjdHNUeXBlIHR5cGUpIGNvbnN0IHsg
QVNTRVJUKHR5cGUgPCBOdW1DYWNoZWRDbGlwUmVjdHNUeXBlcyk7IHJldHVybiBtX2NsaXBSZWN0
c0NhY2hlID8gbV9jbGlwUmVjdHNDYWNoZS0+bV9jbGlwUmVjdHNbdHlwZV0uZ2V0KCkgOiAwOyB9
CiAKQEAgLTgyNSw4ICs4MzIsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgdXBkYXRlT3JSZW1vdmVG
aWx0ZXJFZmZlY3QoKTsKICNlbmRpZgogCi0gICAgdm9pZCBwYXJlbnRDbGlwUmVjdHMoY29uc3Qg
UmVuZGVyTGF5ZXIqIHJvb3RMYXllciwgUmVuZGVyUmVnaW9uKiwgQ2xpcFJlY3RzVHlwZSwgQ2xp
cFJlY3RzJiwgT3ZlcmxheVNjcm9sbGJhclNpemVSZWxldmFuY3kgPSBJZ25vcmVPdmVybGF5U2Ny
b2xsYmFyU2l6ZSkgY29uc3Q7Ci0gICAgQ2xpcFJlY3QgYmFja2dyb3VuZENsaXBSZWN0KGNvbnN0
IFJlbmRlckxheWVyKiByb290TGF5ZXIsIFJlbmRlclJlZ2lvbiosIENsaXBSZWN0c1R5cGUsIE92
ZXJsYXlTY3JvbGxiYXJTaXplUmVsZXZhbmN5ID0gSWdub3JlT3ZlcmxheVNjcm9sbGJhclNpemUp
IGNvbnN0OworICAgIHZvaWQgcGFyZW50Q2xpcFJlY3RzKGNvbnN0IFJlbmRlckxheWVyKiByb290
TGF5ZXIsIFJlbmRlclJlZ2lvbiosIENsaXBSZWN0c1R5cGUsIENsaXBSZWN0cyYsIE92ZXJsYXlT
Y3JvbGxiYXJTaXplUmVsZXZhbmN5ID0gSWdub3JlT3ZlcmxheVNjcm9sbGJhclNpemUsIFJlc3Bl
Y3RPdmVyZmxvd0NsaXBPck5vdCA9IFJlc3BlY3RPdmVyZmxvd0NsaXApIGNvbnN0OworICAgIENs
aXBSZWN0IGJhY2tncm91bmRDbGlwUmVjdChjb25zdCBSZW5kZXJMYXllciogcm9vdExheWVyLCBS
ZW5kZXJSZWdpb24qLCBDbGlwUmVjdHNUeXBlLCBPdmVybGF5U2Nyb2xsYmFyU2l6ZVJlbGV2YW5j
eSA9IElnbm9yZU92ZXJsYXlTY3JvbGxiYXJTaXplLCBSZXNwZWN0T3ZlcmZsb3dDbGlwT3JOb3Qg
PSBSZXNwZWN0T3ZlcmZsb3dDbGlwKSBjb25zdDsKICAgICBMYXlvdXRSZWN0IHBhaW50aW5nRXh0
ZW50KGNvbnN0IFJlbmRlckxheWVyKiByb290TGF5ZXIsIGNvbnN0IExheW91dFJlY3QmIHBhaW50
RGlydHlSZWN0LCBQYWludEJlaGF2aW9yKTsKIAogICAgIFJlbmRlckxheWVyKiBlbmNsb3NpbmdU
cmFuc2Zvcm1lZEFuY2VzdG9yKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMYXllckJhY2tpbmcuY3BwCmluZGV4IDI1ZTI3NDUyOGQ2NWYxMTgyNDIzZmM1MDhi
Zjg5NmE2NjBjMjM1ODIuLjNiNWFiZDVjYTg0Zjk3ZjlmOTE5N2U2YjM4YjgxYWZmMzczYjUwZGYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3Bw
CkBAIC0xMzQsNiArMTM0LDcgQEAgUmVuZGVyTGF5ZXJCYWNraW5nOjp+UmVuZGVyTGF5ZXJCYWNr
aW5nKCkKICAgICB1cGRhdGVPdmVyZmxvd0NvbnRyb2xzTGF5ZXJzKGZhbHNlLCBmYWxzZSwgZmFs
c2UpOwogICAgIHVwZGF0ZUZvcmVncm91bmRMYXllcihmYWxzZSk7CiAgICAgdXBkYXRlTWFza0xh
eWVyKGZhbHNlKTsKKyAgICB1cGRhdGVTY3JvbGxpbmdMYXllcnMoZmFsc2UpOwogICAgIGRlc3Ry
b3lHcmFwaGljc0xheWVycygpOwogfQogCkBAIC0yMTEsNiArMjEyLDkgQEAgdm9pZCBSZW5kZXJM
YXllckJhY2tpbmc6OmRlc3Ryb3lHcmFwaGljc0xheWVycygpCiAgICAgbV9mb3JlZ3JvdW5kTGF5
ZXIgPSBudWxscHRyOwogICAgIG1fY29udGFpbm1lbnRMYXllciA9IG51bGxwdHI7CiAgICAgbV9t
YXNrTGF5ZXIgPSBudWxscHRyOworCisgICAgbV9zY3JvbGxpbmdMYXllciA9IG51bGxwdHI7Cisg
ICAgbV9zY3JvbGxpbmdDb250ZW50c0xheWVyID0gbnVsbHB0cjsKIH0KIAogdm9pZCBSZW5kZXJM
YXllckJhY2tpbmc6OnVwZGF0ZUxheWVyT3BhY2l0eShjb25zdCBSZW5kZXJTdHlsZSogc3R5bGUp
CkBAIC0yNDUsMTAgKzI0OSwxMCBAQCBzdGF0aWMgYm9vbCBoYXNOb25aZXJvVHJhbnNmb3JtT3Jp
Z2luKGNvbnN0IFJlbmRlck9iamVjdCogcmVuZGVyZXIpCiAgICAgICAgIHx8IChzdHlsZS0+dHJh
bnNmb3JtT3JpZ2luWSgpLnR5cGUoKSA9PSBGaXhlZCAmJiBzdHlsZS0+dHJhbnNmb3JtT3JpZ2lu
WSgpLnZhbHVlKCkpOwogfQogCi1zdGF0aWMgYm9vbCBsYXllck9yQW5jZXN0b3JJc1RyYW5zZm9y
bWVkKFJlbmRlckxheWVyKiBsYXllcikKK3N0YXRpYyBib29sIGxheWVyT3JBbmNlc3RvcklzVHJh
bnNmb3JtZWRPclVzaW5nQ29tcG9zaXRlZFNjcm9sbGluZyhSZW5kZXJMYXllciogbGF5ZXIpCiB7
CiAgICAgZm9yIChSZW5kZXJMYXllciogY3VyciA9IGxheWVyOyBjdXJyOyBjdXJyID0gY3Vyci0+
cGFyZW50KCkpIHsKLSAgICAgICAgaWYgKGN1cnItPmhhc1RyYW5zZm9ybSgpKQorICAgICAgICBp
ZiAoY3Vyci0+aGFzVHJhbnNmb3JtKCkgfHwgY3Vyci0+dXNlc0NvbXBvc2l0ZWRTY3JvbGxpbmco
KSkKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KICAgICAKQEAgLTI2Nyw3ICsyNzEs
NyBAQCBib29sIFJlbmRlckxheWVyQmFja2luZzo6c2hvdWxkQ2xpcENvbXBvc2l0ZWRCb3VuZHMo
KSBjb25zdAogICAgIGlmICghY29tcG9zaXRvcigpLT5jb21wb3NpdGluZ0NvbnN1bHRzT3Zlcmxh
cCgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBpZiAobGF5ZXJPckFuY2VzdG9ySXNU
cmFuc2Zvcm1lZChtX293bmluZ0xheWVyKSkKKyAgICBpZiAobGF5ZXJPckFuY2VzdG9ySXNUcmFu
c2Zvcm1lZE9yVXNpbmdDb21wb3NpdGVkU2Nyb2xsaW5nKG1fb3duaW5nTGF5ZXIpKQogICAgICAg
ICByZXR1cm4gZmFsc2U7CiAKICAgICByZXR1cm4gdHJ1ZTsKQEAgLTM1MywxMiArMzU3LDIxIEBA
IGJvb2wgUmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVHcmFwaGljc0xheWVyQ29uZmlndXJhdGlv
bigpCiAgICAgaWYgKHVwZGF0ZUZvcmVncm91bmRMYXllcihjb21wb3NpdG9yLT5uZWVkc0NvbnRl
bnRzQ29tcG9zaXRpbmdMYXllcihtX293bmluZ0xheWVyKSkpCiAgICAgICAgIGxheWVyQ29uZmln
Q2hhbmdlZCA9IHRydWU7CiAgICAgCi0gICAgaWYgKHVwZGF0ZUNsaXBwaW5nTGF5ZXJzKGNvbXBv
c2l0b3ItPmNsaXBwZWRCeUFuY2VzdG9yKG1fb3duaW5nTGF5ZXIpLCBjb21wb3NpdG9yLT5jbGlw
c0NvbXBvc2l0aW5nRGVzY2VuZGFudHMobV9vd25pbmdMYXllcikpKQorICAgIGJvb2wgbmVlZHNE
ZXNjZW5kZW50c0NsaXBwaW5nTGF5ZXIgPSBjb21wb3NpdG9yLT5jbGlwc0NvbXBvc2l0aW5nRGVz
Y2VuZGFudHMobV9vd25pbmdMYXllcik7CisKKyAgICAvLyBPdXIgc2Nyb2xsaW5nIGxheWVyIHdp
bGwgY2xpcC4KKyAgICBpZiAobV9vd25pbmdMYXllci0+dXNlc0NvbXBvc2l0ZWRTY3JvbGxpbmco
KSkKKyAgICAgICAgbmVlZHNEZXNjZW5kZW50c0NsaXBwaW5nTGF5ZXIgPSBmYWxzZTsKKworICAg
IGlmICh1cGRhdGVDbGlwcGluZ0xheWVycyhjb21wb3NpdG9yLT5jbGlwcGVkQnlBbmNlc3Rvciht
X293bmluZ0xheWVyKSwgbmVlZHNEZXNjZW5kZW50c0NsaXBwaW5nTGF5ZXIpKQogICAgICAgICBs
YXllckNvbmZpZ0NoYW5nZWQgPSB0cnVlOwogCiAgICAgaWYgKHVwZGF0ZU92ZXJmbG93Q29udHJv
bHNMYXllcnMocmVxdWlyZXNIb3Jpem9udGFsU2Nyb2xsYmFyTGF5ZXIoKSwgcmVxdWlyZXNWZXJ0
aWNhbFNjcm9sbGJhckxheWVyKCksIHJlcXVpcmVzU2Nyb2xsQ29ybmVyTGF5ZXIoKSkpCiAgICAg
ICAgIGxheWVyQ29uZmlnQ2hhbmdlZCA9IHRydWU7CiAKKyAgICBpZiAodXBkYXRlU2Nyb2xsaW5n
TGF5ZXJzKG1fb3duaW5nTGF5ZXItPnVzZXNDb21wb3NpdGVkU2Nyb2xsaW5nKCkpKQorICAgICAg
ICBsYXllckNvbmZpZ0NoYW5nZWQgPSB0cnVlOworCiAgICAgaWYgKGxheWVyQ29uZmlnQ2hhbmdl
ZCkKICAgICAgICAgdXBkYXRlSW50ZXJuYWxIaWVyYXJjaHkoKTsKIApAQCAtNTAzLDEyICs1MTYs
MjIgQEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZUdyYXBoaWNzTGF5ZXJHZW9tZXRy
eSgpCiAgICAgICAgIGdyYXBoaWNzTGF5ZXJQYXJlbnRMb2NhdGlvbiA9IGFuY2VzdG9yQ29tcG9z
aXRpbmdCb3VuZHMubG9jYXRpb24oKTsKICAgICBlbHNlCiAgICAgICAgIGdyYXBoaWNzTGF5ZXJQ
YXJlbnRMb2NhdGlvbiA9IHJlbmRlcmVyKCktPnZpZXcoKS0+ZG9jdW1lbnRSZWN0KCkubG9jYXRp
b24oKTsKKworICAgIGlmIChjb21wQW5jZXN0b3IgJiYgY29tcEFuY2VzdG9yLT51c2VzQ29tcG9z
aXRlZFNjcm9sbGluZygpKSB7CisgICAgICAgIFJlbmRlckJveCogcmVuZGVyQm94ID0gdG9SZW5k
ZXJCb3goY29tcEFuY2VzdG9yLT5yZW5kZXJlcigpKTsKKyAgICAgICAgSW50UmVjdCBwYWRkaW5n
Qm94KHJlbmRlckJveC0+Ym9yZGVyTGVmdCgpLCByZW5kZXJCb3gtPmJvcmRlclRvcCgpLAorICAg
ICAgICAgICAgcmVuZGVyQm94LT53aWR0aCgpIC0gcmVuZGVyQm94LT5ib3JkZXJMZWZ0KCkgLSBy
ZW5kZXJCb3gtPmJvcmRlclJpZ2h0KCksCisgICAgICAgICAgICByZW5kZXJCb3gtPmhlaWdodCgp
IC0gcmVuZGVyQm94LT5ib3JkZXJUb3AoKSAtIHJlbmRlckJveC0+Ym9yZGVyQm90dG9tKCkpOwor
CisgICAgICAgIEludFNpemUgc2Nyb2xsT2Zmc2V0ID0gY29tcEFuY2VzdG9yLT5zY3JvbGxlZENv
bnRlbnRPZmZzZXQoKTsKKyAgICAgICAgZ3JhcGhpY3NMYXllclBhcmVudExvY2F0aW9uID0gcGFk
ZGluZ0JveC5sb2NhdGlvbigpIC0gc2Nyb2xsT2Zmc2V0OworICAgIH0KICAgICAKICAgICBpZiAo
Y29tcEFuY2VzdG9yICYmIG1fYW5jZXN0b3JDbGlwcGluZ0xheWVyKSB7CiAgICAgICAgIC8vIENh
bGwgY2FsY3VsYXRlUmVjdHMgdG8gZ2V0IHRoZSBiYWNrZ3JvdW5kUmVjdCB3aGljaCBpcyB3aGF0
IGlzIHVzZWQgdG8gY2xpcCB0aGUgY29udGVudHMgb2YgdGhpcwogICAgICAgICAvLyBsYXllci4g
Tm90ZSB0aGF0IHdlIGNhbGwgaXQgd2l0aCB0ZW1wb3JhcnlDbGlwUmVjdHMgPSB0cnVlIGJlY2F1
c2Ugbm9ybWFsbHkgd2hlbiBjb21wdXRpbmcgY2xpcCByZWN0cwogICAgICAgICAvLyBmb3IgYSBj
b21wb3NpdGluZyBsYXllciwgcm9vdExheWVyIGlzIHRoZSBsYXllciBpdHNlbGYuCi0gICAgICAg
IEludFJlY3QgcGFyZW50Q2xpcFJlY3QgPSBwaXhlbFNuYXBwZWRJbnRSZWN0KG1fb3duaW5nTGF5
ZXItPmJhY2tncm91bmRDbGlwUmVjdChjb21wQW5jZXN0b3IsIDAsIFRlbXBvcmFyeUNsaXBSZWN0
cykucmVjdCgpKTsgLy8gRklYTUU6IEluY29ycmVjdCBmb3IgQ1NTIHJlZ2lvbnMuCisgICAgICAg
IEludFJlY3QgcGFyZW50Q2xpcFJlY3QgPSBwaXhlbFNuYXBwZWRJbnRSZWN0KG1fb3duaW5nTGF5
ZXItPmJhY2tncm91bmRDbGlwUmVjdChjb21wQW5jZXN0b3IsIDAsIFRlbXBvcmFyeUNsaXBSZWN0
cywgSWdub3JlT3ZlcmxheVNjcm9sbGJhclNpemUsIFJlbmRlckxheWVyOjpJZ25vcmVPdmVyZmxv
d0NsaXApLnJlY3QoKSk7IC8vIEZJWE1FOiBJbmNvcnJlY3QgZm9yIENTUyByZWdpb25zLgogICAg
ICAgICBBU1NFUlQocGFyZW50Q2xpcFJlY3QgIT0gUGFpbnRJbmZvOjppbmZpbml0ZVJlY3QoKSk7
CiAgICAgICAgIG1fYW5jZXN0b3JDbGlwcGluZ0xheWVyLT5zZXRQb3NpdGlvbihGbG9hdFBvaW50
KCkgKyAocGFyZW50Q2xpcFJlY3QubG9jYXRpb24oKSAtIGdyYXBoaWNzTGF5ZXJQYXJlbnRMb2Nh
dGlvbikpOwogICAgICAgICBtX2FuY2VzdG9yQ2xpcHBpbmdMYXllci0+c2V0U2l6ZShwYXJlbnRD
bGlwUmVjdC5zaXplKCkpOwpAQCAtNjE2LDYgKzYzOSw0MCBAQCB2b2lkIFJlbmRlckxheWVyQmFj
a2luZzo6dXBkYXRlR3JhcGhpY3NMYXllckdlb21ldHJ5KCkKICAgICAgICAgcmVmbGVjdGlvbkJh
Y2tpbmctPmdyYXBoaWNzTGF5ZXIoKS0+c2V0UmVwbGljYXRlZExheWVyUG9zaXRpb24oRmxvYXRQ
b2ludCgpICsgKGxheWVyQm91bmRzLmxvY2F0aW9uKCkgLSByZWZsZWN0aW9uTGF5ZXJCb3VuZHMu
bG9jYXRpb24oKSkpOwogICAgIH0KIAorICAgIGlmIChtX3Njcm9sbGluZ0xheWVyKSB7CisgICAg
ICAgIEFTU0VSVChtX3Njcm9sbGluZ0NvbnRlbnRzTGF5ZXIpOworICAgICAgICBSZW5kZXJCb3gq
IHJlbmRlckJveCA9IHRvUmVuZGVyQm94KHJlbmRlcmVyKCkpOworICAgICAgICBJbnRSZWN0IHBh
ZGRpbmdCb3gocmVuZGVyQm94LT5ib3JkZXJMZWZ0KCksIHJlbmRlckJveC0+Ym9yZGVyVG9wKCks
IHJlbmRlckJveC0+d2lkdGgoKSAtIHJlbmRlckJveC0+Ym9yZGVyTGVmdCgpIC0gcmVuZGVyQm94
LT5ib3JkZXJSaWdodCgpLCByZW5kZXJCb3gtPmhlaWdodCgpIC0gcmVuZGVyQm94LT5ib3JkZXJU
b3AoKSAtIHJlbmRlckJveC0+Ym9yZGVyQm90dG9tKCkpOworICAgICAgICBJbnRTaXplIHNjcm9s
bE9mZnNldCA9IG1fb3duaW5nTGF5ZXItPnNjcm9sbGVkQ29udGVudE9mZnNldCgpOworCisgICAg
ICAgIG1fc2Nyb2xsaW5nTGF5ZXItPnNldFBvc2l0aW9uKEZsb2F0UG9pbnQoKSArIChwYWRkaW5n
Qm94LmxvY2F0aW9uKCkgLSBsb2NhbENvbXBvc2l0aW5nQm91bmRzLmxvY2F0aW9uKCkpKTsKKyAg
ICAgICAgbV9zY3JvbGxpbmdMYXllci0+c2V0U2l6ZShwYWRkaW5nQm94LnNpemUoKSk7CisKKyAg
ICAgICAgSW50U2l6ZSBvbGRTY3JvbGxpbmdMYXllck9mZnNldCA9IG1fc2Nyb2xsaW5nTGF5ZXIt
Pm9mZnNldEZyb21SZW5kZXJlcigpOworICAgICAgICBtX3Njcm9sbGluZ0xheWVyLT5zZXRPZmZz
ZXRGcm9tUmVuZGVyZXIoSW50UG9pbnQoKSAtIHBhZGRpbmdCb3gubG9jYXRpb24oKSk7CisgICAg
ICAgIGJvb2wgcGFkZGluZ0JveE9mZnNldENoYW5nZWQgPSBvbGRTY3JvbGxpbmdMYXllck9mZnNl
dCAhPSBtX3Njcm9sbGluZ0xheWVyLT5vZmZzZXRGcm9tUmVuZGVyZXIoKTsKKworICAgICAgICAv
LyBOb3RlIHRoYXQgd2UgaW1wbGVtZW50IHRoZSBjb250ZW50cyBvZmZzZXQgdmlhIHRoZSBib3Vu
ZHMgb3JpZ2luIG9uIHRoaXMgbGF5ZXIsIHJhdGhlciB0aGFuIGEgcG9zaXRpb24gb24gdGhlIHN1
YmxheWVyLgorICAgICAgICAvLyBGSVhNRTogd2Ugc2hvdWxkIGF2b2lkIHJlcGFpbnRpbmcgd2hl
biBzY3JvbGxpbmcgdmlhIGEgYm91bmRzIG9mZnNldC4KKyAgICAgICAgbV9zY3JvbGxpbmdMYXll
ci0+c2V0Qm91bmRzT3JpZ2luKEZsb2F0UG9pbnQoc2Nyb2xsT2Zmc2V0LndpZHRoKCksIHNjcm9s
bE9mZnNldC5oZWlnaHQoKSkpOworICAgICAgICAKKyAgICAgICAgSW50U2l6ZSBzY3JvbGxTaXpl
KG1fb3duaW5nTGF5ZXItPnNjcm9sbFdpZHRoKCksIG1fb3duaW5nTGF5ZXItPnNjcm9sbEhlaWdo
dCgpKTsKKyAgICAgICAgSW50U2l6ZSBzY3JvbGxpbmdDb250ZW50c09mZnNldCA9IHBhZGRpbmdC
b3gubG9jYXRpb24oKSAtIEludFBvaW50KCkgLSBzY3JvbGxPZmZzZXQ7CisKKyAgICAgICAgbV9z
Y3JvbGxpbmdDb250ZW50c0xheWVyLT5zZXRQb3NpdGlvbihGbG9hdFBvaW50KCkpOworICAgICAg
ICAKKyAgICAgICAgaWYgKHNjcm9sbFNpemUgIT0gbV9zY3JvbGxpbmdDb250ZW50c0xheWVyLT5z
aXplKCkgfHwgcGFkZGluZ0JveE9mZnNldENoYW5nZWQpCisgICAgICAgICAgICBtX3Njcm9sbGlu
Z0NvbnRlbnRzTGF5ZXItPnNldE5lZWRzRGlzcGxheSgpOworICAgICAgICBpZiAoc2Nyb2xsaW5n
Q29udGVudHNPZmZzZXQgIT0gbV9zY3JvbGxpbmdDb250ZW50c0xheWVyLT5vZmZzZXRGcm9tUmVu
ZGVyZXIoKSB8fCBzY3JvbGxTaXplICE9IG1fc2Nyb2xsaW5nQ29udGVudHNMYXllci0+c2l6ZSgp
KQorICAgICAgICAgICAgY29tcG9zaXRvcigpLT5zY3JvbGxpbmdMYXllckRpZENoYW5nZShtX293
bmluZ0xheWVyKTsKKworICAgICAgICBtX3Njcm9sbGluZ0NvbnRlbnRzTGF5ZXItPnNldFNpemUo
c2Nyb2xsU2l6ZSk7CisgICAgICAgIC8vIFNjcm9sbGluZyB0aGUgY29udGVudCBsYXllciBkb2Vz
IG5vdCBuZWVkIHRvIHRyaWdnZXIgYSByZXBhaW50LiBUaGUgb2Zmc2V0IHdpbGwgYmUgY29tcGVu
c2F0ZWQgYXdheSBkdXJpbmcgcGFpbnRpbmcuCisgICAgICAgIC8vIEZJWE1FOiBUaGUgcGFpbnQg
b2Zmc2V0IGFuZCB0aGUgc2Nyb2xsIG9mZnNldCBzaG91bGQgcmVhbGx5IGJlIHNlcGFyYXRlIGNv
bmNlcHRzLgorICAgICAgICAvLyBGSVhNRTogU2hvdWxkIHVzZSBEb250U2V0TmVlZHNEaXNwbGF5
IHRvIGF2b2lkIHJlcGFpbnRpbmcgdGhlIGVudGlyZSBsYXllci4KKyAgICAgICAgbV9zY3JvbGxp
bmdDb250ZW50c0xheWVyLT5zZXRPZmZzZXRGcm9tUmVuZGVyZXIoc2Nyb2xsaW5nQ29udGVudHNP
ZmZzZXQsIEdyYXBoaWNzTGF5ZXI6OlNldE5lZWRzRGlzcGxheSk7CisgICAgfQorCiAgICAgbV9n
cmFwaGljc0xheWVyLT5zZXRDb250ZW50c1JlY3QoY29udGVudHNCb3goKSk7CiAKICAgICAvLyBJ
ZiB0aGlzIGxheWVyIHdhcyBjcmVhdGVkIGp1c3QgZm9yIGNsaXBwaW5nIG9yIHRvIGFwcGx5IHBl
cnNwZWN0aXZlLCBpdCBkb2Vzbid0IG5lZWQgaXRzIG93biBiYWNraW5nIHN0b3JlLgpAQCAtNjQw
LDYgKzY5NywxMSBAQCB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlSW50ZXJuYWxIaWVy
YXJjaHkoKQogICAgICAgICBtX2dyYXBoaWNzTGF5ZXItPmFkZENoaWxkKG1fY29udGFpbm1lbnRM
YXllci5nZXQoKSk7CiAgICAgfQogCisgICAgaWYgKG1fc2Nyb2xsaW5nTGF5ZXIpIHsKKyAgICAg
ICAgR3JhcGhpY3NMYXllciogc3VwZXJsYXllciA9IG1fY29udGFpbm1lbnRMYXllciA/IG1fY29u
dGFpbm1lbnRMYXllci5nZXQoKSA6IG1fZ3JhcGhpY3NMYXllci5nZXQoKTsKKyAgICAgICAgc3Vw
ZXJsYXllci0+YWRkQ2hpbGQobV9zY3JvbGxpbmdMYXllci5nZXQoKSk7CisgICAgfQorCiAgICAg
Ly8gVGhlIGNsaXAgZm9yIGNoaWxkIGxheWVycyBkb2VzIG5vdCBpbmNsdWRlIHNwYWNlIGZvciBv
dmVyZmxvdyBjb250cm9scywgc28gdGhleSBleGlzdCBhcwogICAgIC8vIHNpYmxpbmdzIG9mIHRo
ZSBjbGlwcGluZyBsYXllciBpZiB3ZSBoYXZlIG9uZS4gTm9ybWFsIGNoaWxkcmVuIG9mIHRoaXMg
bGF5ZXIgYXJlIHNldCBhcwogICAgIC8vIGNoaWxkcmVuIG9mIHRoZSBjbGlwcGluZyBsYXllci4K
QEAgLTY1OSw2ICs3MjEsMTkgQEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZUludGVy
bmFsSGllcmFyY2h5KCkKIAogdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZURyYXdzQ29u
dGVudCgpCiB7CisgICAgaWYgKG1fc2Nyb2xsaW5nTGF5ZXIpIHsKKyAgICAgICAgLy8gV2UgZG9u
J3QgaGF2ZSB0byBjb25zaWRlciBvdmVyZmxvdyBjb250cm9scywgYmVjYXVzZSB3ZSBrbm93IHRo
YXQgdGhlIHNjcm9sbGFicnMgYXJlIGRyYXduIGVsc2V3aGVyZS4KKyAgICAgICAgLy8gbV9ncmFw
aGljc0xheWVyIG9ubHkgbmVlZHMgYmFja2luZyBzdG9yZSBpZiB0aGUgbm9uLXNjcm9sbGluZyBw
YXJ0cyAoYmFja2dyb3VuZCwgb3V0bGluZXMsIGJvcmRlcnMsIHNoYWRvd3MgZXRjKSBuZWVkIHRv
IHBhaW50LgorICAgICAgICAvLyBtX3Njcm9sbGluZ0xheWVyIG5ldmVyIGhhcyBiYWNraW5nIHN0
b3JlLgorICAgICAgICAvLyBtX3Njcm9sbGluZ0NvbnRlbnRzTGF5ZXIgb25seSBuZWVkcyBiYWNr
aW5nIHN0b3JlIGlmIHRoZSBzY3JvbGxlZCBjb250ZW50cyBuZWVkIHRvIHBhaW50LgorICAgICAg
ICBib29sIGhhc05vblNjcm9sbGluZ1BhaW50ZWRDb250ZW50ID0gbV9vd25pbmdMYXllci0+aGFz
VmlzaWJsZUNvbnRlbnQoKSAmJiBoYXNCb3hEZWNvcmF0aW9uc09yQmFja2dyb3VuZChyZW5kZXJl
cigpKTsKKyAgICAgICAgbV9ncmFwaGljc0xheWVyLT5zZXREcmF3c0NvbnRlbnQoaGFzTm9uU2Ny
b2xsaW5nUGFpbnRlZENvbnRlbnQpOworCisgICAgICAgIGJvb2wgaGFzU2Nyb2xsaW5nUGFpbnRl
ZENvbnRlbnQgPSBtX293bmluZ0xheWVyLT5oYXNWaXNpYmxlQ29udGVudCgpICYmIChyZW5kZXJl
cigpLT5oYXNCYWNrZ3JvdW5kKCkgfHwgcGFpbnRzQ2hpbGRyZW4oKSk7CisgICAgICAgIG1fc2Ny
b2xsaW5nQ29udGVudHNMYXllci0+c2V0RHJhd3NDb250ZW50KGhhc1Njcm9sbGluZ1BhaW50ZWRD
b250ZW50KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIGJvb2wgaGFzUGFpbnRlZENv
bnRlbnQgPSBjb250YWluc1BhaW50ZWRDb250ZW50KCk7CiAKICAgICAvLyBGSVhNRTogd2UgY291
bGQgcmVmaW5lIHRoaXMgdG8gb25seSBhbGxvY2F0ZSBiYWNraW5nIGZvciBvbmUgb2YgdGhlc2Ug
bGF5ZXJzIGlmIHBvc3NpYmxlLgpAQCAtODA5LDYgKzg4NCwzOCBAQCBib29sIFJlbmRlckxheWVy
QmFja2luZzo6dXBkYXRlTWFza0xheWVyKGJvb2wgbmVlZHNNYXNrTGF5ZXIpCiAgICAgcmV0dXJu
IGxheWVyQ2hhbmdlZDsKIH0KIAorYm9vbCBSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZVNjcm9s
bGluZ0xheWVycyhib29sIHNjcm9sbGluZ0xheWVycykKK3sKKyAgICBib29sIGxheWVyQ2hhbmdl
ZCA9IGZhbHNlOworICAgIGlmIChzY3JvbGxpbmdMYXllcnMpIHsKKyAgICAgICAgaWYgKCFtX3Nj
cm9sbGluZ0xheWVyKSB7CisgICAgICAgICAgICAvLyBPdXRlciBsYXllciB3aGljaCBjb3JyZXNw
b25kcyB3aXRoIHRoZSBzY3JvbGwgdmlldy4KKyAgICAgICAgICAgIG1fc2Nyb2xsaW5nTGF5ZXIg
PSBjcmVhdGVHcmFwaGljc0xheWVyKCJTY3JvbGxpbmcgY29udGFpbmVyIik7CisgICAgICAgICAg
ICBtX3Njcm9sbGluZ0xheWVyLT5zZXREcmF3c0NvbnRlbnQoZmFsc2UpOworICAgICAgICAgICAg
bV9zY3JvbGxpbmdMYXllci0+c2V0TWFza3NUb0JvdW5kcyh0cnVlKTsKKworICAgICAgICAgICAg
Ly8gSW5uZXIgbGF5ZXIgd2hpY2ggcmVuZGVycyB0aGUgY29udGVudCB0aGF0IHNjcm9sbHMuCisg
ICAgICAgICAgICBtX3Njcm9sbGluZ0NvbnRlbnRzTGF5ZXIgPSBjcmVhdGVHcmFwaGljc0xheWVy
KCJTY3JvbGxlZCBDb250ZW50cyIpOworICAgICAgICAgICAgbV9zY3JvbGxpbmdDb250ZW50c0xh
eWVyLT5zZXREcmF3c0NvbnRlbnQodHJ1ZSk7CisgICAgICAgICAgICBtX3Njcm9sbGluZ0NvbnRl
bnRzTGF5ZXItPnNldFBhaW50aW5nUGhhc2UoR3JhcGhpY3NMYXllclBhaW50Rm9yZWdyb3VuZCB8
IEdyYXBoaWNzTGF5ZXJQYWludE92ZXJmbG93Q29udGVudHMpOworICAgICAgICAgICAgbV9zY3Jv
bGxpbmdMYXllci0+YWRkQ2hpbGQobV9zY3JvbGxpbmdDb250ZW50c0xheWVyLmdldCgpKTsKKwor
ICAgICAgICAgICAgbGF5ZXJDaGFuZ2VkID0gdHJ1ZTsKKyAgICAgICAgfQorICAgIH0gZWxzZSBp
ZiAobV9zY3JvbGxpbmdMYXllcikgeworICAgICAgICBtX3Njcm9sbGluZ0xheWVyID0gbnVsbHB0
cjsKKyAgICAgICAgbV9zY3JvbGxpbmdDb250ZW50c0xheWVyID0gbnVsbHB0cjsKKyAgICAgICAg
bGF5ZXJDaGFuZ2VkID0gdHJ1ZTsKKyAgICB9CisKKyAgICBpZiAobGF5ZXJDaGFuZ2VkKSB7Cisg
ICAgICAgIHVwZGF0ZUludGVybmFsSGllcmFyY2h5KCk7CisgICAgICAgIG1fZ3JhcGhpY3NMYXll
ci0+c2V0UGFpbnRpbmdQaGFzZShwYWludGluZ1BoYXNlRm9yUHJpbWFyeUxheWVyKCkpOworICAg
IH0KKworICAgIHJldHVybiBsYXllckNoYW5nZWQ7Cit9CisKIEdyYXBoaWNzTGF5ZXJQYWludGlu
Z1BoYXNlIFJlbmRlckxheWVyQmFja2luZzo6cGFpbnRpbmdQaGFzZUZvclByaW1hcnlMYXllcigp
IGNvbnN0CiB7CiAgICAgdW5zaWduZWQgcGhhc2UgPSBHcmFwaGljc0xheWVyUGFpbnRCYWNrZ3Jv
dW5kOwpAQCAtODE3LDYgKzkyNCw5IEBAIEdyYXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlIFJlbmRl
ckxheWVyQmFja2luZzo6cGFpbnRpbmdQaGFzZUZvclByaW1hcnlMYXllcigpIGNvCiAgICAgaWYg
KCFtX21hc2tMYXllcikKICAgICAgICAgcGhhc2UgfD0gR3JhcGhpY3NMYXllclBhaW50TWFzazsK
IAorICAgIGlmIChtX3Njcm9sbGluZ0NvbnRlbnRzTGF5ZXIpCisgICAgICAgIHBoYXNlICY9IH5H
cmFwaGljc0xheWVyUGFpbnRGb3JlZ3JvdW5kOworCiAgICAgcmV0dXJuIHN0YXRpY19jYXN0PEdy
YXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlPihwaGFzZSk7CiB9CiAKQEAgLTExNDksNiArMTI1OSwx
NCBAQCBJbnRSZWN0IFJlbmRlckxheWVyQmFja2luZzo6Y29udGVudHNCb3goKSBjb25zdAogICAg
IHJldHVybiBjb250ZW50c1JlY3Q7CiB9CiAKK0dyYXBoaWNzTGF5ZXIqIFJlbmRlckxheWVyQmFj
a2luZzo6cGFyZW50Rm9yU3VibGF5ZXJzKCkgY29uc3QKK3sKKyAgICBpZiAobV9zY3JvbGxpbmdD
b250ZW50c0xheWVyKQorICAgICAgICByZXR1cm4gbV9zY3JvbGxpbmdDb250ZW50c0xheWVyLmdl
dCgpOworCisgICAgcmV0dXJuIG1fY29udGFpbm1lbnRMYXllciA/IG1fY29udGFpbm1lbnRMYXll
ci5nZXQoKSA6IG1fZ3JhcGhpY3NMYXllci5nZXQoKTsKK30KKwogYm9vbCBSZW5kZXJMYXllckJh
Y2tpbmc6OnBhaW50c0ludG9XaW5kb3coKSBjb25zdAogewogICAgIGlmIChtX3VzaW5nVGlsZWRD
YWNoZUxheWVyKQpAQCAtMTE5MSw2ICsxMzA5LDkgQEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6
OnNldENvbnRlbnRzTmVlZERpc3BsYXkoKQogCiAgICAgaWYgKG1fbWFza0xheWVyICYmIG1fbWFz
a0xheWVyLT5kcmF3c0NvbnRlbnQoKSkKICAgICAgICAgbV9tYXNrTGF5ZXItPnNldE5lZWRzRGlz
cGxheSgpOworCisgICAgaWYgKG1fc2Nyb2xsaW5nQ29udGVudHNMYXllciAmJiBtX3Njcm9sbGlu
Z0NvbnRlbnRzTGF5ZXItPmRyYXdzQ29udGVudCgpKQorICAgICAgICBtX3Njcm9sbGluZ0NvbnRl
bnRzTGF5ZXItPnNldE5lZWRzRGlzcGxheSgpOwogfQogCiAvLyByIGlzIGluIHRoZSBjb29yZGlu
YXRlIHNwYWNlIG9mIHRoZSBsYXllcidzIHJlbmRlciBvYmplY3QKQEAgLTEyMTUsNiArMTMzNiwx
MiBAQCB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6c2V0Q29udGVudHNOZWVkRGlzcGxheUluUmVj
dChjb25zdCBJbnRSZWN0JiByKQogICAgICAgICBsYXllckRpcnR5UmVjdC5tb3ZlKC1tX21hc2tM
YXllci0+b2Zmc2V0RnJvbVJlbmRlcmVyKCkpOwogICAgICAgICBtX21hc2tMYXllci0+c2V0TmVl
ZHNEaXNwbGF5SW5SZWN0KGxheWVyRGlydHlSZWN0KTsKICAgICB9CisKKyAgICBpZiAobV9zY3Jv
bGxpbmdDb250ZW50c0xheWVyICYmIG1fc2Nyb2xsaW5nQ29udGVudHNMYXllci0+ZHJhd3NDb250
ZW50KCkpIHsKKyAgICAgICAgSW50UmVjdCBsYXllckRpcnR5UmVjdCA9IHI7CisgICAgICAgIGxh
eWVyRGlydHlSZWN0Lm1vdmUoLW1fc2Nyb2xsaW5nQ29udGVudHNMYXllci0+b2Zmc2V0RnJvbVJl
bmRlcmVyKCkpOworICAgICAgICBtX3Njcm9sbGluZ0NvbnRlbnRzTGF5ZXItPnNldE5lZWRzRGlz
cGxheUluUmVjdChsYXllckRpcnR5UmVjdCk7CisgICAgfQogfQogCiB2b2lkIFJlbmRlckxheWVy
QmFja2luZzo6cGFpbnRJbnRvTGF5ZXIoUmVuZGVyTGF5ZXIqIHJvb3RMYXllciwgR3JhcGhpY3ND
b250ZXh0KiBjb250ZXh0LApAQCAtMTIzNiw3ICsxMzYzLDkgQEAgdm9pZCBSZW5kZXJMYXllckJh
Y2tpbmc6OnBhaW50SW50b0xheWVyKFJlbmRlckxheWVyKiByb290TGF5ZXIsIEdyYXBoaWNzQ29u
dGV4dCoKICAgICAgICAgcGFpbnRGbGFncyB8PSBSZW5kZXJMYXllcjo6UGFpbnRMYXllclBhaW50
aW5nQ29tcG9zaXRpbmdGb3JlZ3JvdW5kUGhhc2U7CiAgICAgaWYgKHBhaW50aW5nUGhhc2UgJiBH
cmFwaGljc0xheWVyUGFpbnRNYXNrKQogICAgICAgICBwYWludEZsYWdzIHw9IFJlbmRlckxheWVy
OjpQYWludExheWVyUGFpbnRpbmdDb21wb3NpdGluZ01hc2tQaGFzZTsKLSAgICAgICAgCisgICAg
aWYgKHBhaW50aW5nUGhhc2UgJiBHcmFwaGljc0xheWVyUGFpbnRPdmVyZmxvd0NvbnRlbnRzKQor
ICAgICAgICBwYWludEZsYWdzIHw9IFJlbmRlckxheWVyOjpQYWludExheWVyUGFpbnRpbmdPdmVy
Zmxvd0NvbnRlbnRzOworICAgIAogICAgIC8vIEZJWE1FOiBHcmFwaGljc0xheWVycyBuZWVkIGEg
d2F5IHRvIHNwbGl0IGZvciBSZW5kZXJSZWdpb25zLgogICAgIG1fb3duaW5nTGF5ZXItPnBhaW50
TGF5ZXJDb250ZW50cyhyb290TGF5ZXIsIGNvbnRleHQsIHBhaW50RGlydHlSZWN0LCBwYWludEJl
aGF2aW9yLCBwYWludGluZ1Jvb3QsIDAsIDAsIHBhaW50RmxhZ3MpOwogCkBAIC0xMjY3LDEyICsx
Mzk2LDE0IEBAIHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjpwYWludENvbnRlbnRzKGNvbnN0IEdy
YXBoaWNzTGF5ZXIqIGdyYXBoaWNzTGF5ZXIsIEdyYXBoCiAgICAgaWYgKFBhZ2UqIHBhZ2UgPSBy
ZW5kZXJlcigpLT5mcmFtZSgpLT5wYWdlKCkpCiAgICAgICAgIHBhZ2UtPnNldElzUGFpbnRpbmco
dHJ1ZSk7CiAjZW5kaWYKLSAgICBpZiAoZ3JhcGhpY3NMYXllciA9PSBtX2dyYXBoaWNzTGF5ZXIu
Z2V0KCkgfHwgZ3JhcGhpY3NMYXllciA9PSBtX2ZvcmVncm91bmRMYXllci5nZXQoKSB8fCBncmFw
aGljc0xheWVyID09IG1fbWFza0xheWVyLmdldCgpKSB7CisKKyAgICBpZiAoZ3JhcGhpY3NMYXll
ciA9PSBtX2dyYXBoaWNzTGF5ZXIuZ2V0KCkgfHwgZ3JhcGhpY3NMYXllciA9PSBtX2ZvcmVncm91
bmRMYXllci5nZXQoKSB8fCBncmFwaGljc0xheWVyID09IG1fbWFza0xheWVyLmdldCgpIHx8IGdy
YXBoaWNzTGF5ZXIgPT0gbV9zY3JvbGxpbmdDb250ZW50c0xheWVyLmdldCgpKSB7CiAgICAgICAg
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSBjb29raWUgPSBJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb246OndpbGxQYWludChtX293bmluZ0xheWVyLT5yZW5kZXJlcigpLT5mcmFtZSgpLCAm
Y29udGV4dCwgY2xpcCk7CiAKICAgICAgICAgLy8gVGhlIGRpcnR5UmVjdCBpcyBpbiB0aGUgY29v
cmRzIG9mIHRoZSBwYWludGluZyByb290LgotICAgICAgICBJbnRSZWN0IGRpcnR5UmVjdCA9IGNv
bXBvc2l0ZWRCb3VuZHMoKTsKLSAgICAgICAgZGlydHlSZWN0LmludGVyc2VjdChjbGlwKTsKKyAg
ICAgICAgSW50UmVjdCBkaXJ0eVJlY3QgPSBjbGlwOworICAgICAgICBpZiAoIShwYWludGluZ1Bo
YXNlICYgR3JhcGhpY3NMYXllclBhaW50T3ZlcmZsb3dDb250ZW50cykpCisgICAgICAgICAgICBk
aXJ0eVJlY3QuaW50ZXJzZWN0KGNvbXBvc2l0ZWRCb3VuZHMoKSk7CiAKICAgICAgICAgLy8gV2Ug
aGF2ZSB0byB1c2UgdGhlIHNhbWUgcm9vdCBhcyBmb3IgaGl0IHRlc3RpbmcsIGJlY2F1c2UgYm90
aCBtZXRob2RzIGNhbiBjb21wdXRlIGFuZCBjYWNoZSBjbGlwUmVjdHMuCiAgICAgICAgIHBhaW50
SW50b0xheWVyKG1fb3duaW5nTGF5ZXIsICZjb250ZXh0LCBkaXJ0eVJlY3QsIFBhaW50QmVoYXZp
b3JOb3JtYWwsIHBhaW50aW5nUGhhc2UsIHJlbmRlcmVyKCkpOwpAQCAtMTYxMyw2ICsxNzQ0LDgg
QEAgZG91YmxlIFJlbmRlckxheWVyQmFja2luZzo6YmFja2luZ1N0b3JlTWVtb3J5RXN0aW1hdGUo
KSBjb25zdAogICAgICAgICBiYWNraW5nTWVtb3J5ICs9IG1fZm9yZWdyb3VuZExheWVyLT5iYWNr
aW5nU3RvcmVNZW1vcnlFc3RpbWF0ZSgpOwogICAgIGlmIChtX21hc2tMYXllcikKICAgICAgICAg
YmFja2luZ01lbW9yeSArPSBtX21hc2tMYXllci0+YmFja2luZ1N0b3JlTWVtb3J5RXN0aW1hdGUo
KTsKKyAgICBpZiAobV9zY3JvbGxpbmdDb250ZW50c0xheWVyKQorICAgICAgICBiYWNraW5nTWVt
b3J5ICs9IG1fc2Nyb2xsaW5nQ29udGVudHNMYXllci0+YmFja2luZ1N0b3JlTWVtb3J5RXN0aW1h
dGUoKTsKIAogICAgIGlmIChtX2xheWVyRm9ySG9yaXpvbnRhbFNjcm9sbGJhcikKICAgICAgICAg
YmFja2luZ01lbW9yeSArPSBtX2xheWVyRm9ySG9yaXpvbnRhbFNjcm9sbGJhci0+YmFja2luZ1N0
b3JlTWVtb3J5RXN0aW1hdGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMYXllckJhY2tpbmcuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllckJhY2tpbmcuaAppbmRleCAwZjQyZDNmYjkxYjE3OTM1OTc5ZmRiMThkYmQwNmZjYTY4ZmJj
ODRjLi4yYWI0OTk3OWMxMDI2YTYxZDZlNGM3MDJiOTBkYzljNjRhMWNkNTJhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5oCkBAIC04MywxMCArODMs
MTQgQEAgcHVibGljOgogCiAgICAgYm9vbCBoYXNDb250ZW50c0xheWVyKCkgY29uc3QgeyByZXR1
cm4gbV9mb3JlZ3JvdW5kTGF5ZXIgIT0gMDsgfQogICAgIEdyYXBoaWNzTGF5ZXIqIGZvcmVncm91
bmRMYXllcigpIGNvbnN0IHsgcmV0dXJuIG1fZm9yZWdyb3VuZExheWVyLmdldCgpOyB9CisKKyAg
ICBib29sIGhhc1Njcm9sbGluZ0xheWVyKCkgY29uc3QgeyByZXR1cm4gbV9zY3JvbGxpbmdMYXll
cjsgfQorICAgIEdyYXBoaWNzTGF5ZXIqIHNjcm9sbGluZ0xheWVyKCkgY29uc3QgeyByZXR1cm4g
bV9zY3JvbGxpbmdMYXllci5nZXQoKTsgfQorICAgIEdyYXBoaWNzTGF5ZXIqIHNjcm9sbGluZ0Nv
bnRlbnRzTGF5ZXIoKSBjb25zdCB7IHJldHVybiBtX3Njcm9sbGluZ0NvbnRlbnRzTGF5ZXIuZ2V0
KCk7IH0KICAgICAKICAgICBib29sIGhhc01hc2tMYXllcigpIGNvbnN0IHsgcmV0dXJuIG1fbWFz
a0xheWVyICE9IDA7IH0KIAotICAgIEdyYXBoaWNzTGF5ZXIqIHBhcmVudEZvclN1YmxheWVycygp
IGNvbnN0IHsgcmV0dXJuIG1fY29udGFpbm1lbnRMYXllciA/IG1fY29udGFpbm1lbnRMYXllci5n
ZXQoKSA6IG1fZ3JhcGhpY3NMYXllci5nZXQoKTsgfQorICAgIEdyYXBoaWNzTGF5ZXIqIHBhcmVu
dEZvclN1YmxheWVycygpIGNvbnN0OwogICAgIEdyYXBoaWNzTGF5ZXIqIGNoaWxkRm9yU3VwZXJs
YXllcnMoKSBjb25zdCB7IHJldHVybiBtX2FuY2VzdG9yQ2xpcHBpbmdMYXllciA/IG1fYW5jZXN0
b3JDbGlwcGluZ0xheWVyLmdldCgpIDogbV9ncmFwaGljc0xheWVyLmdldCgpOyB9CiAKICAgICAv
LyBSZW5kZXJMYXllcnMgd2l0aCBiYWNraW5nIG5vcm1hbGx5IHNob3J0LWNpcmN1aXQgcGFpbnRM
YXllcigpIGJlY2F1c2UKQEAgLTE4Miw2ICsxODYsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgcmVx
dWlyZXNIb3Jpem9udGFsU2Nyb2xsYmFyTGF5ZXIoKSBjb25zdDsKICAgICBib29sIHJlcXVpcmVz
VmVydGljYWxTY3JvbGxiYXJMYXllcigpIGNvbnN0OwogICAgIGJvb2wgcmVxdWlyZXNTY3JvbGxD
b3JuZXJMYXllcigpIGNvbnN0OworICAgIGJvb2wgdXBkYXRlU2Nyb2xsaW5nTGF5ZXJzKGJvb2wg
c2Nyb2xsaW5nTGF5ZXJzKTsKIAogICAgIEdyYXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlIHBhaW50
aW5nUGhhc2VGb3JQcmltYXJ5TGF5ZXIoKSBjb25zdDsKICAgICAKQEAgLTI0MSw2ICsyNDYsOSBA
QCBwcml2YXRlOgogICAgIE93blB0cjxHcmFwaGljc0xheWVyPiBtX2xheWVyRm9yVmVydGljYWxT
Y3JvbGxiYXI7CiAgICAgT3duUHRyPEdyYXBoaWNzTGF5ZXI+IG1fbGF5ZXJGb3JTY3JvbGxDb3Ju
ZXI7CiAKKyAgICBPd25QdHI8R3JhcGhpY3NMYXllcj4gbV9zY3JvbGxpbmdMYXllcjsgLy8gb25s
eSB1c2VkIGlmIHRoZSBsYXllciBpcyB1c2luZyBjb21wb3NpdGVkIHNjcm9sbGluZy4KKyAgICBP
d25QdHI8R3JhcGhpY3NMYXllcj4gbV9zY3JvbGxpbmdDb250ZW50c0xheWVyOyAvLyBvbmx5IHVz
ZWQgaWYgdGhlIGxheWVyIGlzIHVzaW5nIGNvbXBvc2l0ZWQgc2Nyb2xsaW5nLgorCiAgICAgSW50
UmVjdCBtX2NvbXBvc2l0ZWRCb3VuZHM7CiAKICAgICBib29sIG1fYXJ0aWZpY2lhbGx5SW5mbGF0
ZWRCb3VuZHM7ICAgICAgLy8gYm91bmRzIGhhZCB0byBiZSBtYWRlIG5vbi16ZXJvIHRvIG1ha2Ug
dHJhbnNmb3JtLW9yaWdpbiB3b3JrCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCmluZGV4IDYwNjJhYWVjOGY5YmEwOTllMmQ4MWM4YmQw
ZTNjYmU0MTMxYzBkNWMuLjViYTJjNTAxYWNlNDQ4ZjkwNzU0NjVlNzdkOTEwNGRiOThhOWJhMjUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0
b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0
b3IuY3BwCkBAIC0xMDI0LDcgKzEwMjQsNyBAQCB2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6
cmVidWlsZENvbXBvc2l0aW5nTGF5ZXJUcmVlKFJlbmRlckxheWVyKiBsYXllciwgVmVjdAogCiAg
ICAgICAgIC8vIElmIHRoZSBsYXllciBoYXMgYSBjbGlwcGluZyBsYXllciB0aGUgb3ZlcmZsb3cg
Y29udHJvbHMgbGF5ZXJzIHdpbGwgYmUgc2libGluZ3Mgb2YgdGhlIGNsaXBwaW5nIGxheWVyLgog
ICAgICAgICAvLyBPdGhlcndpc2UsIHRoZSBvdmVyZmxvdyBjb250cm9sIGxheWVycyBhcmUgbm9y
bWFsIGNoaWxkcmVuLgotICAgICAgICBpZiAoIWxheWVyQmFja2luZy0+aGFzQ2xpcHBpbmdMYXll
cigpKSB7CisgICAgICAgIGlmICghbGF5ZXJCYWNraW5nLT5oYXNDbGlwcGluZ0xheWVyKCkgJiYg
IWxheWVyQmFja2luZy0+aGFzU2Nyb2xsaW5nTGF5ZXIoKSkgewogICAgICAgICAgICAgaWYgKEdy
YXBoaWNzTGF5ZXIqIG92ZXJmbG93Q29udHJvbExheWVyID0gbGF5ZXJCYWNraW5nLT5sYXllckZv
ckhvcml6b250YWxTY3JvbGxiYXIoKSkgewogICAgICAgICAgICAgICAgIG92ZXJmbG93Q29udHJv
bExheWVyLT5yZW1vdmVGcm9tUGFyZW50KCk7CiAgICAgICAgICAgICAgICAgbGF5ZXJCYWNraW5n
LT5wYXJlbnRGb3JTdWJsYXllcnMoKS0+YWRkQ2hpbGQob3ZlcmZsb3dDb250cm9sTGF5ZXIpOwpA
QCAtMTA5MSw2ICsxMDkxLDEzIEBAIHZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpmcmFtZVZp
ZXdEaWRTY3JvbGwoKQogICAgIG1fc2Nyb2xsTGF5ZXItPnNldFBvc2l0aW9uKEZsb2F0UG9pbnQo
LXNjcm9sbFBvc2l0aW9uLngoKSwgLXNjcm9sbFBvc2l0aW9uLnkoKSkpOwogfQogCit2b2lkIFJl
bmRlckxheWVyQ29tcG9zaXRvcjo6c2Nyb2xsaW5nTGF5ZXJEaWRDaGFuZ2UoUmVuZGVyTGF5ZXIq
IGxheWVyKQoreworICAgIFJlbmRlckxheWVyQmFja2luZyogYmFja2luZyA9IGxheWVyLT5iYWNr
aW5nKCk7CisgICAgaWYgKFNjcm9sbGluZ0Nvb3JkaW5hdG9yKiBzY3JvbGxpbmdDb29yZGluYXRv
ciA9IHRoaXMtPnNjcm9sbGluZ0Nvb3JkaW5hdG9yKCkpCisgICAgICAgIHNjcm9sbGluZ0Nvb3Jk
aW5hdG9yLT5zY3JvbGxhYmxlQXJlYVNjcm9sbExheWVyRGlkQ2hhbmdlKGxheWVyLCBiYWNraW5n
ID8gYmFja2luZy0+c2Nyb2xsaW5nQ29udGVudHNMYXllcigpIDogMCk7Cit9CisKIFN0cmluZyBS
ZW5kZXJMYXllckNvbXBvc2l0b3I6OmxheWVyVHJlZUFzVGV4dChib29sIHNob3dEZWJ1Z0luZm8p
CiB7CiAgICAgdXBkYXRlQ29tcG9zaXRpbmdMYXllcnMoQ29tcG9zaXRpbmdVcGRhdGVBZnRlckxh
eW91dCk7CkBAIC0xNDQzLDcgKzE0NTAsOCBAQCBib29sIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6
cmVxdWlyZXNDb21wb3NpdGluZ0xheWVyKGNvbnN0IFJlbmRlckxheWVyKiBsYXllcikgYwogICAg
ICAgICB8fCBjbGlwc0NvbXBvc2l0aW5nRGVzY2VuZGFudHMobGF5ZXIpCiAgICAgICAgIHx8IHJl
cXVpcmVzQ29tcG9zaXRpbmdGb3JBbmltYXRpb24ocmVuZGVyZXIpCiAgICAgICAgIHx8IHJlcXVp
cmVzQ29tcG9zaXRpbmdGb3JGaWx0ZXJzKHJlbmRlcmVyKQotICAgICAgICB8fCByZXF1aXJlc0Nv
bXBvc2l0aW5nRm9yUG9zaXRpb24ocmVuZGVyZXIsIGxheWVyKTsKKyAgICAgICAgfHwgcmVxdWly
ZXNDb21wb3NpdGluZ0ZvclBvc2l0aW9uKHJlbmRlcmVyLCBsYXllcikKKyAgICAgICAgfHwgcmVx
dWlyZXNDb21wb3NpdGluZ0ZvclNjcm9sbGluZyhsYXllcik7CiB9CiAKIGJvb2wgUmVuZGVyTGF5
ZXJDb21wb3NpdG9yOjpjYW5CZUNvbXBvc2l0ZWQoY29uc3QgUmVuZGVyTGF5ZXIqIGxheWVyKSBj
b25zdApAQCAtMTQ3Miw2ICsxNDgwLDcgQEAgYm9vbCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnJl
cXVpcmVzT3duQmFja2luZ1N0b3JlKGNvbnN0IFJlbmRlckxheWVyKiBsYXllciwgY28KICAgICAg
ICAgfHwgcmVxdWlyZXNDb21wb3NpdGluZ0ZvckFuaW1hdGlvbihyZW5kZXJlcikKICAgICAgICAg
fHwgcmVxdWlyZXNDb21wb3NpdGluZ0ZvckZpbHRlcnMocmVuZGVyZXIpCiAgICAgICAgIHx8IHJl
cXVpcmVzQ29tcG9zaXRpbmdGb3JQb3NpdGlvbihyZW5kZXJlciwgbGF5ZXIpCisgICAgICAgIHx8
IHJlcXVpcmVzQ29tcG9zaXRpbmdGb3JTY3JvbGxpbmcobGF5ZXIpCiAgICAgICAgIHx8IHJlbmRl
cmVyLT5pc1RyYW5zcGFyZW50KCkKICAgICAgICAgfHwgcmVuZGVyZXItPmhhc01hc2soKQogICAg
ICAgICB8fCByZW5kZXJlci0+aGFzUmVmbGVjdGlvbigpCkBAIC0xNTI5LDYgKzE1MzgsOSBAQCBj
b25zdCBjaGFyKiBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnJlYXNvbkZvckNvbXBvc2l0aW5nKGNv
bnN0IFJlbmRlckxheWVyKiBsYXllcgogICAgIGlmIChyZXF1aXJlc0NvbXBvc2l0aW5nRm9yUG9z
aXRpb24ocmVuZGVyZXIsIGxheWVyKSkKICAgICAgICAgcmV0dXJuICJwb3NpdGlvbjogZml4ZWQi
OwogCisgICAgaWYgKHJlcXVpcmVzQ29tcG9zaXRpbmdGb3JTY3JvbGxpbmcobGF5ZXIpKQorICAg
ICAgICByZXR1cm4gIi13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaCI7CisKICAgICBp
ZiAobGF5ZXItPmluZGlyZWN0Q29tcG9zaXRpbmdSZWFzb24oKSA9PSBSZW5kZXJMYXllcjo6SW5k
aXJlY3RDb21wb3NpdGluZ0ZvclN0YWNraW5nKQogICAgICAgICByZXR1cm4gInN0YWNraW5nIjsK
IApAQCAtMTgzMyw2ICsxODQ1LDExIEBAIGJvb2wgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpyZXF1
aXJlc0NvbXBvc2l0aW5nRm9yUG9zaXRpb24oUmVuZGVyT2JqZWN0KiByZW5kZXJlCiAgICAgcmV0
dXJuIHRydWU7CiB9CiAKK2Jvb2wgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpyZXF1aXJlc0NvbXBv
c2l0aW5nRm9yU2Nyb2xsaW5nKGNvbnN0IFJlbmRlckxheWVyKiBsYXllcikgY29uc3QKK3sKKyAg
ICByZXR1cm4gbGF5ZXItPnVzZXNDb21wb3NpdGVkU2Nyb2xsaW5nKCk7Cit9CisKIGJvb2wgUmVu
ZGVyTGF5ZXJDb21wb3NpdG9yOjppc1J1bm5pbmdBY2NlbGVyYXRlZFRyYW5zZm9ybUFuaW1hdGlv
bihSZW5kZXJPYmplY3QqIHJlbmRlcmVyKSBjb25zdAogewogICAgIGlmICghKG1fY29tcG9zaXRp
bmdUcmlnZ2VycyAmIENocm9tZUNsaWVudDo6QW5pbWF0aW9uVHJpZ2dlcikpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmgKaW5kZXggNWI4N2U1
M2M0YTg1NzhhMWM1YWQ2YzdiYzJjZTBjMTdiNGRiNDVjOC4uNWI1NjQ4MTJhNDAzOWVhODVkNjFh
MTAxYjlkMTcxMzI5YWRlYjcxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyQ29tcG9zaXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMYXllckNvbXBvc2l0b3IuaApAQCAtMTkyLDYgKzE5Miw4IEBAIHB1YmxpYzoKICAgICB2
b2lkIGZyYW1lVmlld0RpZENoYW5nZVNpemUoKTsKICAgICB2b2lkIGZyYW1lVmlld0RpZFNjcm9s
bCgpOwogCisgICAgdm9pZCBzY3JvbGxpbmdMYXllckRpZENoYW5nZShSZW5kZXJMYXllciopOwor
CiAgICAgU3RyaW5nIGxheWVyVHJlZUFzVGV4dChib29sIHNob3dEZWJ1Z0luZm8gPSBmYWxzZSk7
CiAKICAgICAvLyBUaGVzZSBhcmUgbmFtZWQgdG8gYXZvaWQgY29uZmxpY3RzIHdpdGggdGhlIGZ1
bmN0aW9ucyBpbiBHcmFwaGljc0xheWVyQ2xpZW50CkBAIC0yOTIsNiArMjk0LDcgQEAgcHJpdmF0
ZToKICAgICBib29sIHJlcXVpcmVzQ29tcG9zaXRpbmdGb3JGaWx0ZXJzKFJlbmRlck9iamVjdCop
IGNvbnN0OwogICAgIGJvb2wgcmVxdWlyZXNDb21wb3NpdGluZ0ZvclNjcm9sbGFibGVGcmFtZSgp
IGNvbnN0OwogICAgIGJvb2wgcmVxdWlyZXNDb21wb3NpdGluZ0ZvclBvc2l0aW9uKFJlbmRlck9i
amVjdCosIGNvbnN0IFJlbmRlckxheWVyKikgY29uc3Q7CisgICAgYm9vbCByZXF1aXJlc0NvbXBv
c2l0aW5nRm9yU2Nyb2xsaW5nKGNvbnN0IFJlbmRlckxheWVyKikgY29uc3Q7CiAgICAgYm9vbCBy
ZXF1aXJlc0NvbXBvc2l0aW5nRm9ySW5kaXJlY3RSZWFzb24oUmVuZGVyT2JqZWN0KiwgYm9vbCBo
YXNDb21wb3NpdGVkRGVzY2VuZGFudHMsIGJvb2wgaGFzM0RUcmFuc2Zvcm1lZERlc2NlbmRhbnRz
LCBSZW5kZXJMYXllcjo6SW5kaXJlY3RDb21wb3NpdGluZ1JlYXNvbiYpIGNvbnN0OwogCiAgICAg
Ym9vbCByZXF1aXJlc1Njcm9sbExheWVyKFJvb3RMYXllckF0dGFjaG1lbnQpIGNvbnN0OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9mZWF0dXJlcy5neXBpIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9mZWF0dXJlcy5neXBpCmluZGV4IDhkYzdlMmY2ZjY1MjhjZmFmYTU0NDJm
MGYxZTkxZmU2ZjQwYTBmY2QuLjgzMWNiMDU5NDAzNzFmOWRjYjAzMGMwMzY1ZWQzYjE3YWMyNWFi
ODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vZmVhdHVyZXMuZ3lwaQorKysg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL2ZlYXR1cmVzLmd5cGkKQEAgLTE3OSw3ICsxNzksNyBA
QAogICAgICAgICAgICdFTkFCTEVfTUVESUFfU1RSRUFNPTEnLAogICAgICAgICAgICdFTkFCTEVf
Tk9USUZJQ0FUSU9OUz0xJywKICAgICAgICAgICAnRU5BQkxFX09SSUVOVEFUSU9OX0VWRU5UUz0w
JywKLSAgICAgICAgICAnRU5BQkxFX09WRVJGTE9XX1NDUk9MTElORz0wJywKKyAgICAgICAgICAn
RU5BQkxFX09WRVJGTE9XX1NDUk9MTElORz0xJywKICAgICAgICAgICAnRU5BQkxFX1BBR0VfUE9Q
VVA9MScsCiAgICAgICAgICAgJ0VOQUJMRV9QUklOVElORz0xJywKICAgICAgICAgICAnRU5BQkxF
X1NIQVJFRF9XT1JLRVJTPTEnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViTGF5ZXIuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTGF5ZXIuY3Bw
CmluZGV4IDdhNjA0YjgxZWUwYTc3NzJjNzE5MWNiOTFhZjIzODNjODlkZTY1ZjguLjIxOTJlNmIx
ZDExNzUxYzZjYTE4ZTYyZWU2M2U2ZTgzYThlNDM3YWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYkxheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJMYXllci5jcHAKQEAgLTM0LDYgKzM0LDggQEAKICNpbmNsdWRlIDxwdWJsaWMvV2Vi
RmlsdGVyT3BlcmF0aW9ucy5oPgogI2luY2x1ZGUgPHB1YmxpYy9XZWJGbG9hdFBvaW50Lmg+CiAj
aW5jbHVkZSA8cHVibGljL1dlYkZsb2F0UmVjdC5oPgorI2luY2x1ZGUgPHB1YmxpYy9XZWJQb2lu
dC5oPgorI2luY2x1ZGUgPHB1YmxpYy9XZWJTY3JvbGxEZWxlZ2F0ZS5oPgogI2luY2x1ZGUgPHB1
YmxpYy9XZWJTaXplLmg+CiAjaW5jbHVkZSA8cHVibGljL1dlYlRyYW5zZm9ybWF0aW9uTWF0cml4
Lmg+CiAKQEAgLTM4Niw2ICszODgsMjYgQEAgdm9pZCBXZWJMYXllcjo6Y2xlYXJSZW5kZXJTdXJm
YWNlKCkKICAgICBtX3ByaXZhdGUtPmNsZWFyUmVuZGVyU3VyZmFjZSgpOwogfQogCit2b2lkIFdl
YkxheWVyOjpzZXRTY3JvbGxhYmxlKGJvb2wgc2Nyb2xsYWJsZSkKK3sKKyAgICBtX3ByaXZhdGUt
PnNldFNjcm9sbGFibGUoc2Nyb2xsYWJsZSk7Cit9CisKK3ZvaWQgV2ViTGF5ZXI6OnNldFNjcm9s
bFBvc2l0aW9uKGNvbnN0IFdlYlBvaW50JiBzY3JvbGxQb3NpdGlvbikKK3sKKyAgICBtX3ByaXZh
dGUtPnNldFNjcm9sbFBvc2l0aW9uKHNjcm9sbFBvc2l0aW9uKTsKK30KKwordm9pZCBXZWJMYXll
cjo6c2V0TWF4U2Nyb2xsUG9zaXRpb24oY29uc3QgV2ViU2l6ZSYgbWF4U2Nyb2xsUG9zaXRpb24p
Cit7CisgICAgbV9wcml2YXRlLT5zZXRNYXhTY3JvbGxQb3NpdGlvbihtYXhTY3JvbGxQb3NpdGlv
bik7Cit9CisKK3ZvaWQgV2ViTGF5ZXI6OnNldFNjcm9sbERlbGVnYXRlKFdlYlNjcm9sbERlbGVn
YXRlKiBkZWxlZ2F0ZSkKK3sKKyAgICBtX3ByaXZhdGUtPnNldFNjcm9sbERlbGVnYXRlKGRlbGVn
YXRlKTsKK30KKwogV2ViTGF5ZXI6OldlYkxheWVyKGNvbnN0IFBhc3NSZWZQdHI8TGF5ZXJDaHJv
bWl1bT4mIG5vZGUpCiAgICAgOiBtX3ByaXZhdGUobm9kZSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NMYXllclRyZWVIb3N0VGVzdC5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDTGF5ZXJUcmVlSG9zdFRlc3QuY3BwCmluZGV4IGVmMDQx
YmYxMDBhMzY1NDY5YTUzNDg5YmNhNGI0Y2U3YzU2MDRhNDEuLjAwZGJjNGJjODhiYTVhM2I2Y2I1
Mjc4YjEzMmVjNmFjZjZhYjU1YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
dGVzdHMvQ0NMYXllclRyZWVIb3N0VGVzdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS90ZXN0cy9DQ0xheWVyVHJlZUhvc3RUZXN0LmNwcApAQCAtMzcsNiArMzcsOCBAQAogI2luY2x1
ZGUgPGdtb2NrL2dtb2NrLmg+CiAjaW5jbHVkZSA8Z3Rlc3QvZ3Rlc3QuaD4KICNpbmNsdWRlIDxw
dWJsaWMvUGxhdGZvcm0uaD4KKyNpbmNsdWRlIDxwdWJsaWMvV2ViU2Nyb2xsRGVsZWdhdGUuaD4K
KyNpbmNsdWRlIDxwdWJsaWMvV2ViU2l6ZS5oPgogI2luY2x1ZGUgPHB1YmxpYy9XZWJUaHJlYWQu
aD4KICNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgogI2luY2x1ZGUgPHd0Zi9Pd25BcnJheVB0
ci5oPgpAQCAtMjE2MSw3ICsyMTYzLDcgQEAgcHJpdmF0ZToKIAogU0lOR0xFX0FORF9NVUxUSV9U
SFJFQURfVEVTVF9GKENDTGF5ZXJUcmVlSG9zdFRlc3RMYXllckFkZGVkV2l0aEFuaW1hdGlvbikK
IAotY2xhc3MgQ0NMYXllclRyZWVIb3N0VGVzdFNjcm9sbENoaWxkTGF5ZXIgOiBwdWJsaWMgQ0NM
YXllclRyZWVIb3N0VGVzdCwgcHVibGljIExheWVyQ2hyb21pdW1TY3JvbGxEZWxlZ2F0ZSB7Citj
bGFzcyBDQ0xheWVyVHJlZUhvc3RUZXN0U2Nyb2xsQ2hpbGRMYXllciA6IHB1YmxpYyBDQ0xheWVy
VHJlZUhvc3RUZXN0LCBwdWJsaWMgV2ViU2Nyb2xsRGVsZWdhdGUgewogcHVibGljOgogICAgIEND
TGF5ZXJUcmVlSG9zdFRlc3RTY3JvbGxDaGlsZExheWVyKCkKICAgICAgICAgOiBtX3Njcm9sbEFt
b3VudCgyLCAxKQpAQCAtMjE4NCw3ICsyMTg2LDcgQEAgcHVibGljOgogICAgICAgICBtX3Jvb3RT
Y3JvbGxMYXllci0+c2V0TWF4U2Nyb2xsUG9zaXRpb24oSW50U2l6ZSgxMDAsIDEwMCkpOwogICAg
ICAgICBtX2xheWVyVHJlZUhvc3QtPnJvb3RMYXllcigpLT5hZGRDaGlsZChtX3Jvb3RTY3JvbGxM
YXllcik7CiAgICAgICAgIG1fY2hpbGRMYXllciA9IENvbnRlbnRMYXllckNocm9taXVtOjpjcmVh
dGUoJm1fbW9ja0RlbGVnYXRlKTsKLSAgICAgICAgbV9jaGlsZExheWVyLT5zZXRMYXllclNjcm9s
bERlbGVnYXRlKHRoaXMpOworICAgICAgICBtX2NoaWxkTGF5ZXItPnNldFNjcm9sbERlbGVnYXRl
KHRoaXMpOwogICAgICAgICBtX2NoaWxkTGF5ZXItPnNldEJvdW5kcyhJbnRTaXplKDUwLCA1MCkp
OwogICAgICAgICBtX2NoaWxkTGF5ZXItPnNldElzRHJhd2FibGUodHJ1ZSk7CiAgICAgICAgIG1f
Y2hpbGRMYXllci0+c2V0U2Nyb2xsYWJsZSh0cnVlKTsKQEAgLTIxOTcsNyArMjE5OSw3IEBAIHB1
YmxpYzoKICAgICAgICAgcG9zdFNldE5lZWRzQ29tbWl0VG9NYWluVGhyZWFkKCk7CiAgICAgfQog
Ci0gICAgdmlydHVhbCB2b2lkIGRpZFNjcm9sbChjb25zdCBJbnRTaXplJiBzY3JvbGxEZWx0YSkg
T1ZFUlJJREUKKyAgICB2aXJ0dWFsIHZvaWQgZGlkU2Nyb2xsKGNvbnN0IFdlYlNpemUmIHNjcm9s
bERlbHRhKSBPVkVSUklERQogICAgIHsKICAgICAgICAgbV9yZXBvcnRlZFNjcm9sbEFtb3VudCA9
IHNjcm9sbERlbHRhOwogICAgIH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>157848</attachid>
            <date>2012-08-10 18:13:55 -0700</date>
            <delta_ts>2012-08-10 18:13:55 -0700</delta_ts>
            <desc>Archive of layout-test-results from gce-cr-linux-06</desc>
            <filename>layout-test-results.zip</filename>
            <type>application/zip</type>
            <size>376070</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">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
oqCBlKeeHvTppaoQkvWZfROM7WkjGoLqGfuS3E0g6h4QNyKqkGF5rYykOihDsc1AypFHyz4U6ojZ
B/IwavbhZOhg9mYRYRCbhqN/cTQpwDmo5GkCd1TK3S5dM1s/uqBNvrWmlXNRxN4icdNXM+1dRpM5
aZP5e6aWFfwIwcMDnZF4E0sV996FIUmfzEhmWTH8lMxXjZBHnPkEt4b9HJi6gnaKW2VhPSF4DHu4
ycvzwwOX+B+Scus/8Pbrf57aPpfTXUbnlE2KWC7TxEkFDx80PCniVRUOlFXN6JnjdvV2axus+4wL
YafUjSsgtaRQWObguAr5Fg15oC0DCfmZJKq8E65+JUobPW/QJcDlQC6tsgJ2rtQO+SPJFzzxg/UN
XF6G5Qr2GNVAcvbOSapvOfnChCfI1tIVrWRsR6r0rcPtgW/f+0H893/8P1BLAwQKAAAAAABHAgtB
AAAAAAAAAAAAAAAAHQAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2NzczMvVVQJAAPFpCVQ5aYl
UHV4CwABBOgDAAAE6AMAAFBLAwQKAAAAAABHAgtBAAAAAAAAAAAAAAAAJQAcAHRtcC9sYXlvdXQt
dGVzdC1yZXN1bHRzL2NzczMvZmlsdGVycy9VVAkAA8WkJVDlpiVQdXgLAAEE6AMAAAToAwAAUEsD
BAoAAAAAAEcCC0EAAAAAAAAAAAAAAAAsABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvY3NzMy9m
aWx0ZXJzL2N1c3RvbS9VVAkAA8WkJVDlpiVQdXgLAAEE6AMAAAToAwAAUEsDBBQAAgAIAEcCC0GH
gA70iAAAAJEAAABiABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvY3NzMy9maWx0ZXJzL2N1c3Rv
bS9jdXN0b20tZmlsdGVyLWNzcy1rZXl3b3JkLWFzLXBhcmFtZXRlci1uYW1lLXN0ZGVyci50eHRV
VAkAA8WkJVDFpCVQdXgLAAEE6AMAAAToAwAALcexDoIwFEDR3a94oy4EqJDQjZBqHCymMXEwhpTX
BzSBYto6+PcyuNyc+2THkvF/GMtYlaZ5VZRcKNUqPs4U8g4X0xnC1ZBPEPdFlrHDC25CnVp1rWUj
4FEreZFnDnWM3vafSJCCDWBs0P1MJoH7tO2kAwQ7usGidhHe5IfVL9ohbXZ6jt/dD1BLAwQUAAIA
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
/X5ziPZu3J+g4FY+ov56lC9c0B0HDzCQnq83DPlNGhcwHjgWA/m+iCHFwGe0/pSeSPN8qEEpPYiD
KldsbrgolV6spDlYwPDjfVUXnk0D3DiBVkq8jRVHh/65ZFZrS6I7Hzi6oFG4H4bu+XC4FqADmd49
GFhYLD53jjgCqcuhuOoHgQA3d9/Y7K5ZCf6PGMQAmd992xiDTytGQIsrvH807e/qtkh2a780ujNR
fj1wJ9FmsdGtGJnv5uDV3ff/6/+bSizKFcgn+++J5ffU8vva+PvgsB4eg9yLE3hXHnsFGsDHLJ8v
r32qcgDECggKOD906UDd23ErwvHmzQ2jd49C9w2k3uOlpUGG9MSTnnrSzQ019TrZV2LiaInAmDpy
oVKezDU7Vw8RfVnzRjNp4uKlrBZyjTQZnU56NZwbDWhIjMAijnWzZXVAiQ1Q1hpND0XIIUcRLBQj
mKcxvkYMRx7ez1h4fE/eda15zCm3LcIWUjpliuIArLnHVEAZ3Tu+KIunHkaiC9lb1zqxD2l5PVmu
xoA3y8Q0+mRzIJ/QdPJpGsZsgOGqi+unMflR952YC09mFgecA0VMAnOY7ylqOgWt01t5pdeHoQdM
6g3lMt5XUL5Xoyv8mQ+iKfBRSy/xsxYCyy2I1PlJe3BzwcnBXuHhlngkpwT7uuk9wwjXPXyvE673
mClP9cdovsxTE2dq6kxdO1M3ztStM3XnTN07Uw/u1li5k92tFbubK3a3V+xusNjdYrG7yWJ3m8Xu
RovdrZa4Wy3xjDF3qyXuVkvcrZa4Wy1xt1ribrXE3WqJu9VSd6ul7lZLPVPT3Wqpu9VSd6ul7lZL
3a2Wulstdbfa2t1qa3errd2ttvasaO5WW7tbbe1utbW71dbuVlu7W23jbrWNu9U27lbbuFtt49kI
3K22cbfaxt1qG3erbdyttnW32tbdalt3q23drbZ1t9rWs3+6W23rbrWtu9W27lbbuVtt5261nbvV
du5W27lbbedutZ1H7HC32s7dajt3q+3drbZ3t9re3Wp7d6vt3a22d7fa3t1qe4+05hHX3M1y8Ahk
K488t/LxPRLdyiPSrTwy3coj1K08Ut3KI9atPHLdyiMOe+VhT/v5JGKfSOyTiX1CsU8q9onFPrnY
IxjHHsk4TnwHCk/7eYTj2CMdxx7xOPbIx7FHQI49InDskYFjjxAcp74Tl6d9PHIwHLhP7+ApP78W
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
4LJOrvnb/Jy/v/uy009QdRrovDQHGej4Dd7aXB8wa4NCTFQgzjs4uqzShN3xjhb/gy1UPALGZGgo
awTM3bpQ2HdFsSYwtzE5BIC+7mKymP6ZHiqfQnUdgQnWsfHpWo6TvXKSIj8D3gQy/6lsqe6sGV+H
wG4FVaMJrRiXUB43bbWLeMd7RPthUJqUKSe6Xty6sMDuhg4qf3E7lZsKlyUQ6/saVai8wBp4no7G
V2tuKIITXMwcoNxbfFjimUKOaX4rXay7RvoxSiAnx0rkLd1gMjYLtxY36QNQVGENhPBY7IRLtCg/
ESQYS9Qx8XjZChOsqoAmJYa0IolMZQ4e2STxNAQ1Iu4hjabIoik20RRbJoWqJccDjyU/eHiolzw5
qx2CezRIK/5Vrn6b8JyA9Z0KzL7NFQw+EN4vC6Vbb5e8838bvK66AYCKj6nrH3w0ozAPS5SgfLZU
xVlhZoogfJ1dT53D1C0+tVIjcTygTu0dZLgtcQjhBqChhks2Efz/B1BLAwQKAAAAAADTAgtBAAAA
AAAAAAAAAAAAHQAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvVVQJAAPOpSVQ5aYlUHV4
CwABBOgDAAAE6AMAAFBLAwQKAAAAAACMAgtBAAAAAAAAAAAAAAAAIQAcAHRtcC9sYXlvdXQtdGVz
dC1yZXN1bHRzL2Zhc3QvY3NzL1VUCQADSKUlUOWmJVB1eAsAAQToAwAABOgDAABQSwMEFAACAAgA
YgMLQRZn5buvMgAAeT4AAEwAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2Nzcy9yZXNp
emUtY29ybmVyLXRyYWNraW5nLXRyYW5zZm9ybWVkLWRpZmYucG5nVVQJAAPYpiVQSKUlUHV4CwAB
BOgDAAAE6AMAAO16Z1RTW7tuEOu2sMGCUhVBRAQ2IL0EFUFEQERAaVFQijQjPSEJVjpRFJAapQjS
e4eoNKUX6SWaAKFDaCEQkjuX3/7OOOeMM84d945b/nz8CmvNNcs73/cpc63gG4a6B//g+wMGgx3U
u6p9EwbjPAmD7bi9dze4Euf99BEMdhKmp33xlm/C3Kifv+lEInxp8QHCwOSioJeF1i7BkmMF8aYX
C3orYbtjkJ9OhuX0RjwbshC05GRlDhBuhpqo3VSaupFmMfjJ1HJP2ZDZftWSZLODrq640ZfaffkT
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
/HqzRDcALWAFKQn0mb/z6CsgBH28+fzpCtqRDSO6YPzR9c//U/zsBYpPhxX/P8HqPEwSQqaYD/7/
AlBLAwQKAAIAAACzAgtB1tHaeS4AAAAuAAAAPwAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zh
c3QvbG9hZGVyL2xvYWRJblByb2dyZXNzLWV4cGVjdGVkLnR4dFVUCQADkaUlUJGlJVB1eAsAAQTo
AwAABOgDAABBTEVSVDogVGVzdCBwYXNzZWQ6IFtvYmplY3QgSFRNTEZvcm1FbGVtZW50XQoKUEsD
BBQAAgAIALMCC0FsoyryvgAAAPAAAAA9ABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9s
b2FkZXIvbG9hZEluUHJvZ3Jlc3Mtd2RpZmYuaHRtbFVUCQADkaUlUJGlJVB1eAsAAQToAwAABOgD
AABdjjFPwzAUhPf8ipMYujUzxkSqKheGlEokTIjh1X5pAde2np0hQvx3XHVjO+nuuzt9ZnKdzmXx
3K0de/zgSPb7JHEOTuFuInrAL9bk3H+Lpqul2xus21tVkqpzogDrKefHCnbbw8tw6A32Zhg2T0bB
fwbGvcJbsDSfzgXjktiIRFHYUgixIHNBkphYyoJVFrtCnBBm7+tire+aTW9eR4WRc03WKa6n3uPx
i23B87jvd1EuxvOFQ/loGt1en/0BUEsDBBQAAgAIALMCC0EpJndpdAAAAH0AAAA9ABwAdG1wL2xh
eW91dC10ZXN0LXJlc3VsdHMvZmFzdC9sb2FkZXIvbG9hZEluUHJvZ3Jlc3MtYWN0dWFsLnR4dFVU
CQADkaUlUJGlJVB1eAsAAQToAwAABOgDAAANyjsOwjAQBcA+p3hdzoC7KDJQOETCpkIUxiw/OV5r
vSlye5h6xvnkZ2cxWe+HgzXIn0LYGVxKiuvrrQhbJSvCYjDGUljRSFGFK4lu6JukHvxEWXPuBmfP
wSBQ+5fYGj0Mrnz/UlIcw+T2LIvNtFDRW9f9AFBLAwQUAAIACACzAgtBNF0G5sUAAAAaAQAAOwAc
AHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvbG9hZGVyL2xvYWRJblByb2dyZXNzLWRpZmYu
dHh0VVQJAAORpSVQkqUlUHV4CwABBOgDAAAE6AMAAJ2PvU7DMBRGdz/Ft3VITVSY8JSqMj9SShEJ
E2Iwye0Pcmzr+lpq3p4I3oDpDJ909B2tNWqZUu3dHItooSyaKRcvuT66LLWPbiT+xXN45Xha1qzp
mmgQGm/kKlBVVf3L4gYpzv85mgZ6s75FtVnfoWlUtTu8dIfWYm+7bvtoDfwlEO4N3sPgyuks6OdE
ljmywc6FEAWZBIljIpYZq8zDCvGIULxX2Lb2rTfol29ILmcaDT7i1/fSgad+3z5EnqyniYJ8Kqgf
UEsDBAoAAAAAANQCC0EAAAAAAAAAAAAAAAAhABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFz
dC94c2wvVVQJAAPPpSVQ5aYlUHV4CwABBOgDAAAE6AMAAFBLAwQUAAIACADUAgtBgUp3rUsAAACs
AAAATAAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QveHNsL3hzbHQtdHJhbnNmb3JtLXRv
LWZyYWdtZW50LWNyYXNoLXN0ZGVyci50eHRVVAkAA8+lJVDPpSVQdXgLAAEE6AMAAAToAwAAtcyx
DYAwDETRPlPcCrRs48AFWXJsZCzmR6JgA+qv97eYp5qUhoOZkSuGGgFTJxbQOOmFW1KlG1ty51DX
V8TAYdHFvo7iVW375foAUEsDBBQAAgAIANQCC0FQXUg3jAAAAPgAAAA4ABwAdG1wL2xheW91dC10
ZXN0LXJlc3VsdHMvZmFzdC94c2wveHNsdC1kb2MtZW5jLXN0ZGVyci50eHRVVAkAA8+lJVDPpSVQ
dXgLAAEE6AMAAAToAwAArY7BDcMwDAP/nUILuHr0lxn67AKKozRCZSuQZaTdvkmzQj8EyQMIZiur
KIVYBXY3H2AW5Z8MiFhq4FMCNx5fEikvbkV6Sbw1vNPHejy4RcOZWuC7KTo36565HSnSSFOSsppH
6i7XvQOVynADVi5cA0562clwWhigVxr3E2GgRtM/zlRrPS/HEAWpXr5QSwMEFAACAAgA1AILQVBd
SDeMAAAA+AAAAD8AHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L3hzbC94c2x0LWJhZC1p
bXBvcnQtdXJpLXN0ZGVyci50eHRVVAkAA8+lJVDPpSVQdXgLAAEE6AMAAAToAwAArY7BDcMwDAP/
nUILuHr0lxn67AKKozRCZSuQZaTdvkmzQj8EyQMIZiurKIVYBXY3H2AW5Z8MiFhq4FMCNx5fEikv
bkV6Sbw1vNPHejy4RcOZWuC7KTo36565HSnSSFOSsppH6i7XvQOVynADVi5cA0562clwWhigVxr3
E2GgRtM/zlRrPS/HEAWpXr5QSwMEFAACAAgA0wILQW1H1F6FAAAA8QAAAD0AHAB0bXAvbGF5b3V0
LXRlc3QtcmVzdWx0cy9mYXN0L3hzbC90cmFuc2Zvcm0teGhyLWRvYy1zdGRlcnIudHh0VVQJAAPO
pSVQzqUlUHV4CwABBOgDAAAE6AMAAK2OsQ3DMAwEe0/BBRQW6TRDyiwgy3RMRBINkoKd7e3EK6R5
PP6Luyx15ZKcpQGpikaYudAvIiLW5vhix43GN3vIi0rlXgNtho/0ke5PMjeckznuVlDJpGsmw33R
MEm+nSsUbgR3oEKVmgPXVdSH84lXhQi9pfEEu0CRNP1RIFwImr4mwwFQSwMECgAAAAAAgAILQQAA
AAAAAAAAAAAAACQAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2NhbnZhcy9VVAkAAy+l
JVDlpiVQdXgLAAEE6AMAAAToAwAAUEsDBAoAAAAAAIQCC0EAAAAAAAAAAAAAAAAqABwAdG1wL2xh
eW91dC10ZXN0LXJlc3VsdHMvZmFzdC9jYW52YXMvd2ViZ2wvVVQJAAM4pSVQ5aYlUHV4CwABBOgD
AAAE6AMAAFBLAwQUAAIACACCAgtBXa+rf8YAAADgAQAASgAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1
bHRzL2Zhc3QvY2FudmFzL3dlYmdsL3NoYWRlci1wcmVjaXNpb24tZm9ybWF0LWRpZmYudHh0VVQJ
AAMzpSVQM6UlUHV4CwABBOgDAAAE6AMAAK3Pv2rDMBDH8V1Pcbt6USktnQIOwZ0aarBf4CKfE4P8
B92pdd6+oSb1EtoMWTR9f59DiAhOu9EFOg1JUVkUI0sKKq4hUeep/yRxX7w/BCdHqjniGNm30g49
NkPsSJGnkb1yvdJJwVhr74GS10RhJrMM8OXx4Rns+X2FLDNQbMoS5m1xmb79LFeR+gPv2h7W6+vF
05K0AhoT3+DR9K93Tm7xfr/6B7g0F9HOYvKeRZoUwqmgKFwvJ42t8rKC7ceueM+r3FjzDVBLAwQU
AAIACACCAgtBHxljefsBAAAODAAATgAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvY2Fu
dmFzL3dlYmdsL3NoYWRlci1wcmVjaXNpb24tZm9ybWF0LWV4cGVjdGVkLnR4dFVUCQADM6UlUDOl
JVB1eAsAAQToAwAABOgDAAC9llFr4kAQx9/7KQafrlCkLUXkwINwRg0kKprWe5M1jknu1l3Z3dT6
7W+S1vOExMv2MC8hkJn5//a/uzNZ4Grog07YGhXsFEapTqWAjVRbZsCgNu2bm4kAnUURan0HB5nB
PuUcNCIweqoUNcgNtKbOfN6CLUWxGClyIzmXe1zD6gCt0J2H8H0STH03dFtUM6TSGkxCKoucYV4g
TI8Eg3eAiDOtgYk1xGjKQ/ZS/aJ6RcH3epWhCk2mBNW7JClXPzHKV52vB2Lerir3hb69uLPQ/bGc
j5y+O7vLo/3JYjnwJ054C6nQhokIyZwLeim5oDL8pFzg9r3noEnFkTccNamXG+qNm7WzMb3CzCup
DWbOMHDHYWOns0zw2uezTPO6J7TK1gZ38bqntNLST+jV6comUXKfN3lApaSi6WISknllPF3Djim2
RYNK1+zIR9IC++zC3RKCQMUMjSR821GTpxcafoXqV/DGL47v9Zfu+Dlo/w1+YZnEmNH0YwppEAqd
rjgeMXVZQlsxEWOQCvjWg4fzXbmUwN5qJ5xmOGV060t8MD1ZQz1ZUz3c22J1Hm2x6mWcY3Vssbq2
VF07qF4PrK2yMfdjB+8boOpYU3X+g8rmZ9AkdHmpx9BLKmLAV1QHiBjnNW8yCZdGPJ5CbJb+r3IU
YutLRb1TzB/bfgNQSwMEFAACAAgAgAILQTtpw7epAAAA1QIAAFEAHAB0bXAvbGF5b3V0LXRlc3Qt
cmVzdWx0cy9mYXN0L2NhbnZhcy93ZWJnbC9nbC12ZXJ0ZXgtYXR0cmliLXplcm8taXNzdWVzLXN0
ZGVyci50eHRVVAkAAzClJVAwpSVQdXgLAAEE6AMAAAToAwAAzc6xDoIwFIXh3ae4oy4EWmiRjRg0
DoJpTByIIaUt0ASKaevg28vg5gPIcvKf7atxTHD2HYxRTBKCURpmBWMVy/pROdSISTZSiVkqGwix
TaII7x5wLdixYpe8PBRwz1l5Lk8Z5N5b3b68ghC0A6kdb0clA7gNyx24A6d702nBjYenst1sJ26E
Wtrw0b839S+IEhqjNYFSSuNkTaD9PsTpikAkilBK/wb6AFBLAwQUAAIACACBAgtBXa+zV9kAAAA0
AQAARQAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvY2FudmFzL3dlYmdsL2luZGV4LXZh
bGlkYXRpb24tc3RkZXJyLnR4dFVUCQADMaUlUDGlJVB1eAsAAQToAwAABOgDAACNjzFPwzAUhPf+
ihthqWhcEuTNoiGKFBJkVTBUKHKdl9RS4lT2K4h/T0CwMbCc7k43fHcQ21TIHxEi2WZpmt5lQuZa
N1oOI8WktVPXdmTnjsLa2qvbzUZcv+Ip1w+NflT1fY4XpeuyLiQUc3DHCxNu4CI6F81xpG6N/WmJ
JxMR3eB7Z41nnCn0c5iMt7R4b0b+WB3+AMqSJPkHUFHhewRZVG1ZP6uq3LXNgqn2ZVNDYhh3wbzn
I03kOUoYZprODJ5hrKUYMV8Yc49g/EB4o8BuqeH81/T31+oTUEsDBBQAAgAIAIICC0EZS4sTtQcA
AMEbAABSABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9jYW52YXMvd2ViZ2wvc2hhZGVy
LXByZWNpc2lvbi1mb3JtYXQtcHJldHR5LWRpZmYuaHRtbFVUCQADM6UlUDOlJVB1eAsAAQToAwAA
BOgDAADdWVtv2zYUfs+vEBJ0AYZKtmM7i+3Gw5YL9rBuBZL3gpIoiw0laiTl2N3233d4kyVZsr21
w4CtWG2Lt3P5zvcdqu9SmdHl2bsUoxg+hNxSvDybU5K/vPXmayKIxLH3+5kH/0m8kX6MI8aRJCyf
eznL8UIPhYzHmPshk5Jlc29UbLwYvuN4cfbnmdnObhIxyvjcuxiOZ3oseCQU35MkseMhil5WnJV5
7LupyY36Uz/InCAYJbF3EcexGUtYLv0EZYRu517GciYKFFkDM8RXBEwe4cwbmkcFA+e0HxxT8GiN
tUHpqGXpeDzu2F+gXPgCc5LUBgX5jPUZ9UN9ihM594bB1D2PiSgogk0kCin2I0ypGXglsUxhg+Hw
jbURxTHJV9VqY59Nj/rWzJA1meQpGCar6SlbY97yajqdLvoCjrEJRaDy8jOcJezihDIErnCySmUz
e2rWHYQAkbw6ikH4iQQ3h0fctl76et9GpF5T8M7XeVRwe+Wo2Fn2hCOVv17g6MVN2LQhY3Hr4g6g
GhYbc8LDpoAUw/7gGn7rBeqj7WGveYLEONyqvz1t6o+URS8fEJcBuDpPCBfSj1JC497AquOeYP3b
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
k0m4NOLpHGKy9H+VoxBTXyrqnWMuCx5f+puM88OMSUVN8mzr51d8q/UXUEsDBBQAAgAIAIECC0GQ
cx79zAAAAKIBAABKABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9jYW52YXMvd2ViZ2wv
cHJlbXVsdGlwbHlhbHBoYS10ZXN0LXN0ZGVyci50eHRVVAkAAzKlJVAypSVQdXgLAAEE6AMAAATo
AwAAxY6xbsIwFEX3fsUby4JIbKB4CzSNIqWhsgoMCEWPZ5NYMg6yXST+nqjtyNCty9W90pXO2TM+
Y+I3GEv5SzLnC56KXMq1FK3VIW3orBqlqVfaj4mep0nCRgcoKvg+gSiqpqy3WVW+NkNuchDQ2qVx
KovRm2PVE0bTOwGlu6I1CqhDjxS1f9o/4M/TxfQP/I9cvq3le1avcthlsi7rQsAP8StqmIAJoEzA
o9VqDJ/dMDsMEEzrTobQRbhof+r9GR3poTu08fZYiCf/J3QHUEsDBBQAAgAIAIQCC0GqXS/liAAA
AJEAAABKABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9jYW52YXMvd2ViZ2wvd2ViZ2wt
Y29tcG9zaXRlLW1vZGVzLXN0ZGVyci50eHRVVAkAAzilJVA4pSVQdXgLAAEE6AMAAAToAwAALcex
CsIwFEDR3a94oy6l6TMVshWp4mAqQXAQKWny2gbaVJI4+Pd2cLmc+8R9ieIfxIIjliznB1Er1Sgx
TBSL1sy2tWQWSyEzZssZw90LbrU6NepayWMNj0rJizwLqFIKrvskghxcBOui7iayGdzHdUcdIbrB
985on+BNoV/CrL2h1V5P6bv5AVBLAwQUAAIACACAAgtBTE7UvvwAAACzCQAAUAAcAHRtcC9sYXlv
dXQtdGVzdC1yZXN1bHRzL2Zhc3QvY2FudmFzL3dlYmdsL2RyYXctZWxlbWVudHMtb3V0LW9mLWJv
dW5kcy1zdGRlcnIudHh0VVQJAAMvpSVQL6UlUHV4CwABBOgDAAAE6AMAAM3VS2vDMAwA4Pt+hY7r
pdjxM74VGkogNCOMXcoIieOEQBIXx9n+/rrXrdcxXSQQOnwIJF0Yl8z8BMYSLrhUhEiTVVVZmWFy
a1Lbuas7Z33nwt7aR0Ep273CqYCvJjCnos7PL4ciP9blU1YdnvPyDAaG6Ria92xys1viaiA0y+DA
bxF8D63flm6F3gdot7534eFyj6IShYSiaSqwUDSnOCiKEi6xUCTjWCgpT5FQGKMEC0VqLFPhXCR/
QWlidPM1QvTQWOvW9Zf1bXxzIY63MozLZ2sY2y06IPeIWhKC5N5oyanAPi2lGXKiYkphJyqhkRP1
LSNZi5Sq/3g4H1BLAwQUAAIACACDAgtBOLrAADsBAABzDAAASQAcAHRtcC9sYXlvdXQtdGVzdC1y
ZXN1bHRzL2Zhc3QvY2FudmFzL3dlYmdsL3R5cGUtY29udmVyc2lvbi10ZXN0LXN0ZGVyci50eHRV
VAkAAzWlJVA1pSVQdXgLAAEE6AMAAAToAwAAzdbNa8MgFADw+/6Kd9wuxY/o1FvYslDo0hHW7lBG
SI1NhdSMxI7tv5/7OPbQw2gEER8I7+fHQzc04VT9dZQSholghBKVleWyVG1nRlLpQ1M1RveNGWZa
XzOM6c0rPGXlw7J8TIu7DF7SspgXuYLU+8Fuj94AAjtCY8d625lmBs/7EO7rEUbbup3VtfPwZoZd
Pxxqp00Yu7rzn1ebU6AkYZGBRGQgRtEZoHwBP5NA5YtqXqzTxfy+Cv0qAwVtlxufam/fza9RgXWN
+YD+6KHfwVC71pzOfhui/8u+cvZ70eeml1ggHtNpSCx5EhlI4qhABGE52X2VBAs52X2liCIiIzqN
ADpvPy4IIhzHBaJERAZiNDKQmOwFCtkZF9NVNCaIx/RjCiCCWWQgweMChRYZiIrJCggTlqALFdAX
UEsDBBQAAgAIAIICC0Flk5kfWwIAAN0MAABMABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFz
dC9jYW52YXMvd2ViZ2wvc2hhZGVyLXByZWNpc2lvbi1mb3JtYXQtd2RpZmYuaHRtbFVUCQADM6Ul
UDOlJVB1eAsAAQToAwAABOgDAAC9V+9r4kAQ/e5fMXhwXKHEthSRNgpyRisYFU3b+yZrMvlxXRPZ
3dRKuf/9JgmS9k49k8N8CSE7897bt7szWd1H5nR0qbYcO5qDHN5hyewXT0Rx6NzBF5exe/gFGnOc
P4eYmwzpjSxZb2RQa4GdZ1wORiB95qAA+mAHMohCcCOxYgoUSqXVapMQZGzbKOUlbKMYNgHnIBGB
0VMEKCFyoT7tzud1WFEU85Ai3YjzaIMOLLdQt4y5Bd8n5nRkWEadMC2ClqB8Ykk1zFMJ052CfibA
5kxKYKEDHqr9IZtIvBBeCpjhHQwVqGIREt4xymj5E+1k1sl8wOPaIbhvNPZkzCzjx2L+0O0Zs8sk
ejR5XvRHk651AUEoFQttJHOO8AXkgoixJJ1p9IaPZpWMD8PBQ5V8iaHDcbV2VsaXmnkmtv6sOzCN
sVXZ7txHeO79uY/zvDv0kK0VruJ5d+lBS0vwnVKVlS+iTVLkAYWIBHUX5RPNK+OBA2sm2AoVCnli
Rd4pTWV/OnAXJCFEwRS1JHxbU5GnF2p+KesdDMdP3dGwtzDGj6b2UfiRaZLGmLofE0iNMJTBkuNO
ptyXoAkWemgGIXz11H0brj8vzLEc9lYkJ+/kWVLrdKJc3G0Zdbdl5F1fldDXvCmh77Skv/Q1S+hr
lZDXKqau3YYyzhWxO1/Zq2q0Nctoa/6HtiJ/jsqnk04FiV6C0AN8RbEFm3F+4rEn4r0RN3lIkdn/
C45CivpyAC+P2QHqck0lO/1Bb9OVo5MRZNcEN+Z8O2VCUoXNbf54BaC7CKV3ajW9kVxDfgNQSwME
FAACAAgAgQILQVVECbCqAAAAjAIAAFQAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2Nh
bnZhcy93ZWJnbC9pbmRleC12YWxpZGF0aW9uLWNvcGllcy1pbmRpY2VzLXN0ZGVyci50eHRVVAkA
AzGlJVAxpSVQdXgLAAEE6AMAAAToAwAAzc67CoMwGIbhvVfxj+1SbBJP2QRFBNESShcpIY1/RfBQ
ktjefg907AW4fMPHOzwNZQHlv6GUsJBGEaMBz4SoBe8GtETqsZUt6rlFs9d66x8OdHeBvIRvBDwv
ZVGdk7JIZX3MRHIq6go4dENq1DMbcMTJWQ7KORzvDtwMSmu0FubFwXwDo6YO4YHG9e8b+umTmv66
OARv0/whxsSn6ybGHiPR2olh6K2I+AJQSwMEFAACAAgAgQILQRdzFdGcAAAARgEAAF8AHAB0bXAv
bGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2NhbnZhcy93ZWJnbC9pbmRleC12YWxpZGF0aW9uLXZl
cmlmaWVzLXRvby1tYW55LWluZGljZXMtc3RkZXJyLnR4dFVUCQADMaUlUDGlJVB1eAsAAQToAwAA
BOgDAADNjrsKgzAUQPd+xR3bpZjEKmQrKCKIllC6SAlpvBVBTUmu7e/3Qcd+QJczHM5wWhEnQn4h
BI/TOIkY4zJXqlGyHzFwbadOd2hdh35r7XrHmNicoajgE4EsKl3Wp31VZro55Gp/LJsaJPRj5s0j
H3HCmYIEQ4TTjYAcGGsxBHALgbuCN3OPcEdPw0vDML9TP1wWQohW7a/FlP/T4hNQSwMEFAACAAgA
gAILQXZIPkKVAAAA+gEAAEQAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2NhbnZhcy93
ZWJnbC9nZXQtYWN0aXZlLXRlc3Qtc3RkZXJyLnR4dFVUCQADL6UlUC+lJVB1eAsAAQToAwAABOgD
AACLNjYxM7aCEsbGRiamlsbGBmYGVq5BQf5BVuk5qcVG8cm5KfEpqcn5KalFesnJGqaGhsaasQru
PgpgRQpW7j7xnn5hjj6eLvFAMtRVwUohPcc9tcQxuSSzLDU0LzMtvyjXSiEzLyW1QiG/tEQhP02h
KDEvPZUrGpv15iYmA2i9hYmFORWtdywpKcpMIt52SzML+tgOAFBLAwQUAAIACACAAgtB3sDr4JMA
AAAiAQAAUQAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvY2FudmFzL3dlYmdsL2dsLWJp
bmQtYXR0cmliLWxvY2F0aW9uLXRlc3Qtc3RkZXJyLnR4dFVUCQADMKUlUDClJVB1eAsAAQToAwAA
BOgDAADFjrEOgjAUAHe/4o26EKDQSLfGoHEQTGPiQAwp7QOaQDFtHfx7GRzdXS532zUko4R9QUia
0TghtMhZKUQt2DChT1s161ajWjS6SKltniRk94BrKY61uPDqUMKdi+pcnRjwEJzpXgEhBuNBGy+7
CXUEt3HNUXrwZrC9UdIGeKLrFzdLq3B1K6fw3jQ/hui+oH8b+gBQSwMEFAACAAgAgQILQZ8JlgBX
AAAAXwAAAEoAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2NhbnZhcy93ZWJnbC9udWxs
LW9iamVjdC1iZWhhdmlvdXItc3RkZXJyLnR4dFVUCQADMaUlUDGlJVB1eAsAAQToAwAABOgDAACL
NjYxM7aCEsbGRibmlgYWBoaWVq5BQf5BVuk5qcVG8cm5KfEpqcn5KalFesnJGqaGhsaasQruPgpg
RQpW7j7xnn5hjj6eLvH+Aa5BjiGe/n4KVkDIBQBQSwMECgAAAAAAmAILQQAAAAAAAAAAAAAAACgA
HAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2ZpbGVzeXN0ZW0vVVQJAANfpSVQ5aYlUHV4
CwABBOgDAAAE6AMAAFBLAwQUAAIACACXAgtBZ4g8BWQAAABvAAAAOgAcAHRtcC9sYXlvdXQtdGVz
dC1yZXN1bHRzL2Zhc3QvZmlsZXN5c3RlbS9vcC1jb3B5LXN0ZGVyci50eHRVVAkAA16lJVBepSVQ
dXgLAAEE6AMAAAToAwAAizY2MTO2ghLGxkaWRuYWZuZGhlauQUH+QVZpmTmp8cWVxSWpufEpmUWp
ySX5RZXxKYkliUmJxal6yckaFqammrEKzol56iUKRam5+WWpCokKcKUK5ZklGQrJGZk5KUWpeXpc
AFBLAwQUAAIACACYAgtBAg7gPmQAAABvAAAAOgAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zh
c3QvZmlsZXN5c3RlbS9vcC1tb3ZlLXN0ZGVyci50eHRVVAkAA1+lJVBfpSVQdXgLAAEE6AMAAATo
AwAAizY2MTO2ghLGxkaWxgYm5kaWJlauQUH+QVZpmTmp8cWVxSWpufEpmUWpySX5RZXxKYkliUmJ
xal6yckaFqammrEKzol56iUKRam5+WWpCokKcKUK5ZklGQrJGZk5KUWpeXpcAFBLAwQUAAIACACY
AgtB3wqts2QAAABvAAAAPAAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvZmlsZXN5c3Rl
bS9vcC1yZW1vdmUtc3RkZXJyLnR4dFVUCQADX6UlUF+lJVB1eAsAAQToAwAABOgDAACLNjYxM7aC
EsbGRpbGhoamlgZmVq5BQf5BVmmZOanxxZXFJam58SmZRanJJflFlfEpiSWJSYnFqXrJyRoWpqaa
sQrOiXnqJQpFqbn5ZakKiQpwpQrlmSUZCskZmTkpRal5elwAUEsDBAoAAAAAADUCC0EAAAAAAAAA
AAAAAAAkABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvY29tcG9zaXRpbmcvVVQJAAOlpCVQ5aYl
UHV4CwABBOgDAAAE6AMAAFBLAwQKAAAAAAA1AgtBAAAAAAAAAAAAAAAALQAcAHRtcC9sYXlvdXQt
dGVzdC1yZXN1bHRzL2NvbXBvc2l0aW5nL292ZXJmbG93L1VUCQADpaQlUOWmJVB1eAsAAQToAwAA
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
S5IGZgVLT30xGkKfo9asPrrFv9L4OyJP/6XKP9o7WOHC7OEU3YTe1/Blz7Dv2LUd99sGrf0r8O5T
0vAd++t7FmrefT4/eW9tHMVRlE/sr+wNUEsDBBQAAgAIAGEDC0EfNcolBQEAANQDAAA+ABwAdG1w
L2xheW91dC10ZXN0LXJlc3VsdHMvY29tcG9zaXRpbmcvZ2VvbWV0cnkvY2xpcC1leHBlY3RlZC50
eHRVVAkAA9amJVDWpiVQdXgLAAEE6AMAAAToAwAAvZI/b8MgEMV3PsUb4yERpErVPUOXbMkWZaCG
FFQbLI4o6revjfvH2LWiSFWXA+5x76c7OGiK2O73KCvb4GqjQenrxpONWqGS7zrQCjt9jpBOIdhX
E0FWaQIZf6naO96/IRoNkrVeMbZ4DrIxtqRdV8yAxYu/OEV44nzFOR7TUnRCaWylgnYQ7ak9jytT
cq46id8OD5+ZGZckpK6sd1gnq/XQaYgSPUrwyQUV5JW23kXtIkQmxSAdnX2ocRRdNc/CCcfe89ds
Lk2zXTj90Iq7ev3zZu/Di02y38zhRY8XE/zoc9xk5txlwi7H2AzdT0ZMRnPjqf/7ufOZD/dfu37t
YsEKxj4AUEsDBBQAAgAIAGEDC0HDAzGR/gAAANQDAAA8ABwAdG1wL2xheW91dC10ZXN0LXJlc3Vs
dHMvY29tcG9zaXRpbmcvZ2VvbWV0cnkvY2xpcC1hY3R1YWwudHh0VVQJAAPWpiVQ1qYlUHV4CwAB
BOgDAAAE6AMAAL2SsW7DIBCGd57iH+MhFnbUqnuGLtnSLcpADSmoNlgcUdS3j8FpG9xYVaUqyx13
/919OuBFUcB6u0XTmh4nEzQa1/WOTFASrfhQnkps1CFAWAlv3nQAGakIpN2xHWqce0fQCiQ6VTK2
ePai16ahTWxmwOLVHa0kPHFeco7H5IooNNq00iuLaoiGeNqZknPdSfyasLpkZqYkIW1l3IB7iKOS
La4LLqiqSqjRZQXSixOtnQ3KBlSZFLywdHC+w66K3Twze+zGmTezufQzG83+m1b8Zdf635e9E37y
OX5l5txlwi6n2Axdj+ia3yqaf+p7P3d+59fnz9Pooy1YwdgZUEsDBBQAAgAIAGEDC0FD0BzmGKUA
AH/WBwAmABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvYWNjZXNzX2xvZy50eHRVVAkAA9WmJVB2
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
yMlmWlt7SXuxeu+OJ3AvvU7Lhdtau1Se6lSS3Y7DiICL3W3o1ICRg6cKzuHNai47NthkCVdeof5O
Rq8FKnLBOyKp3ehgiW6qXz/GCGIyqzFTMc0HCNWdgZfW+3yOgUrwp4OWSonfm0mUk8/AQIxn2GBn
XJs5Rxt9WJy1wNUEF1H6Lj4LtruIWO/9qOXEA0bWvIH8FdesSLohv+bQg4geo8d4MlUwBno6bRto
GAa9eBpp2IGlt4w1eEVq150fJW5yHoOjPswCO1mKXgmI1NziPlLCdi3isQaaUz/3/Wk7Wbovmw+N
h9RejEbBLL/ylMvAbRHel1+rfNG1nsN1JINKhXYNSDXd0ge1oVJLLUCPe8KMeycnJO2cpNuTMc0V
tYCHUD2kgjYPuFMi7fPp+9/clZkSqZRJC0Tao7dcMDcBd0PK9D6fCU7FWmDntynb4QSsBgtlhgar
YJjPKHiMbImKBFKr31zW7Zo1kwy3R7X6TAJDPhzYuzKNxrb4AjdX6MnnvYboiaKGbI8GCrXMT5ix
wgwcxNrWdxH/eoYLWftUa3idBGSePJpDJkDQ3YFOwFalBLUETjAmihzbBl1syWeMVY6Vqhlqu8nK
DUH6VJm+/nKyAcNOsDT7nVPU1yTPzZs77UTuCbIdTwGbMOVtFqurhXQ3U/tco408AYnetTY40aN3
UN6NKjYk7YGwal3iWTfaRxXlHRMFACX1Y3W7YN3NL6Hf1wukylC4plEmtPFLC9Ll83mGyQKtPZw4
RHUnmXDxggqe5e13oe2wgXFQeyGTFDXJMpDaqApXuNVG1F3lKs11OlmNolMySzq7c3mRoPTgHCmd
goZ8z3B5j158Ff5XJ2i6qGQq3mnEGHm1RP7ncAgg2aNGZjxH/u061eRiUjuBnDqqNSByc5FZF3i1
CVcaOjxPwrabycjMMZY5S7sywU/d1EVjY4tqqA1Kk92+g8eB+XFofhyZH8fmxxvz46358c70uFtb
0zs4s7+mrTAFdoGJQXRjdsaVRvY2OZzuoMJZG+6s1Du/8Goc2KEk/1VLflxGOmtTkaprceBHZa3G
DWJb3dqV+bIWA7q7MNsBU8MM9B+4y928PqYpjngYXt+SIcurdRN3iOAiEgpx7l5rcnE9QOr+hWKp
Bfi226VqEVv5qcqjnIyIy2QmuCrqNbl5gfv14X72N9udG2V/WU6zFk/e64pZVXGpX+j3ZZ7p+ZvW
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
ynBVwad11B8JBdaDcWDpVhvDGp1ZrLXD/hH58b/eYyN/t4FSVpD9owwG8dARxjcltQr0ZBNcWaFc
B9eRHgDCpSHku6vz/u2u1+n27v7vXP7buanta3MVruQiDE2lWm1wPGO6WdrYeLN0VtgyYOuUJD9o
zH1eIKBs7H3zgNUCFst3zHrstkRmSkYVHcd2AxiG1tdJ4P2qHki9XZtExwR2oL9lrkgwUUT3w3+9
zs2nP5kZJnGMlu3px2BBwnm7OdnifRRRcMs+gDe1WRceEjrHlYAxifkpSXhofX8ABuSxH0M/wNO6
H7Mz7Ym3K+Xnd3gZ4rmVulN3ag32x9f7JIiTt2ykvTtjVH78SygDEF+pOhfOuwecy1SazplT57XE
XtBwai2GFSdZNxlqeAr8WsTucPYmOYdHYhKsIQj3H0FnyHQoI+v2izBb7WptM5g/AVBLAwQUAAIA
CACkAgtB0rfoawgBAACPAgAAQwAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3B5d2Vic29ja2V0
LndzLmxvZy0xMUF1ZzIwMTItMDAxNjU1LW91dC50eHRVVAkAA3OlJVB3pCVQdXgLAAEE6AMAAATo
AwAAtZDNToNAFIX3k8w7sG8qTjIIJWFRMEBbBSr0d1eGcUqYMsCMpT6Q76lVl5rUNN7dyb033zkn
zLJERzdIQ7dIS/tSkX1ZMy3phBJEcAnBomHdrqC21tNcClJRBYEn6poSVYra1r73EKSUDFc0Tz9v
hmNCaKNsLXJ96tLgISqUvzmKST4z9VYkvRU8OhC82RBAAML/dmHpa7fj3avi+f1TYIwYD13EN3L3
QpzfftYfo/alLGXfiZqd5RVmf2bgwj2yRbQ1sFpaiTX32ZQPJM/m3rmdC2DXFoOnFTO37eE5PrE7
P8LWIdQzZIhxjp0L0/6BtiSjeDLgjYkrHzPsrU4V0ZN41jLxRXsHUEsDBAoAAAAAAMYCC0EAAAAA
AAAAAAAAAAAhABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vVVQJAAO0pSVQ5aYl
UHV4CwABBOgDAAAE6AMAAFBLAwQKAAAAAAAVAwtBAAAAAAAAAAAAAAAAKgAcAHRtcC9sYXlvdXQt
dGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL1VUCQADSqYlUOWmJVB1eAsAAQToAwAABOgD
AABQSwMECgAAAAAAFQMLQQAAAAAAAAAAAAAAADIAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9w
bGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL1VUCQADSqYlUOWmJVB1eAsAAQToAwAABOgDAABQSwME
CgAAAAAAFQMLQQAAAAAAAAAAAAAAADYAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9y
bS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9VVAkAA0qmJVDlpiVQdXgLAAEE6AMAAAToAwAAUEsDBAoA
AAAAABUDC0EAAAAAAAAAAAAAAAA7ABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0v
Y2hyb21pdW0vdmlydHVhbC9ncHUvZmFzdC9VVAkAA0qmJVDlpiVQdXgLAAEE6AMAAAToAwAAUEsD
BAoAAAAAABUDC0EAAAAAAAAAAAAAAABCABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZv
cm0vY2hyb21pdW0vdmlydHVhbC9ncHUvZmFzdC9jYW52YXMvVVQJAANKpiVQ5aYlUHV4CwABBOgD
AAAE6AMAAFBLAwQKAAAAAAAZAwtBAAAAAAAAAAAAAAAASAAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1
bHRzL3BsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvZ3B1L2Zhc3QvY2FudmFzL3dlYmdsL1VUCQAD
UqYlUOWmJVB1eAsAAQToAwAABOgDAABQSwMEFAACAAgAFwMLQS2aaSvYAAAAHAIAAGgAHAB0bXAv
bGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9mYXN0L2Nh
bnZhcy93ZWJnbC9zaGFkZXItcHJlY2lzaW9uLWZvcm1hdC1kaWZmLnR4dFVUCQADTaYlUE2mJVB1
eAsAAQToAwAABOgDAAC1j7FOwzAQhnc/hXfjHkIgpkpBKExUREpe4HAuqSUnsXznkr49LVHJgqAL
y03f9/06a60GGSIEPE5ZrBCLTcQ5CEMMKN2UBnD7NA0+D3DwSTIG6GOGDlnA4XhAhg967wPwHltK
NiZynv002rOMYmmO5ITajcyilTHm/yfRnaVlsCi0fbi9udfmdB91UShdPdW1Xtzqor58mZuEY087
P+rt9mfibkU8a0mZrujh/GfvhFzT+371l+DKXIpmKWbniLnLIRwrTEztOqlMU9aNfn7bVa9lUyqj
PgFQSwMEFAACAAgAFwMLQR8ZY3n7AQAADgwAAGwAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9w
bGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9mYXN0L2NhbnZhcy93ZWJnbC9zaGFkZXItcHJl
Y2lzaW9uLWZvcm1hdC1leHBlY3RlZC50eHRVVAkAA02mJVBNpiVQdXgLAAEE6AMAAAToAwAAvZZR
a+JAEMff+ykGn65QpC1F5MCDcEYNJCqa1nuTNY5J7tZd2d3U+u1vktbzhMTL9jAvIZCZ+f/2v7sz
WeBq6INO2BoV7BRGqU6lgI1UW2bAoDbtm5uJAJ1FEWp9BweZwT7lHDQiMHqqFDXIDbSmznzegi1F
sRgpciM5l3tcw+oArdCdh/B9Ekx9N3RbVDOk0hpMQiqLnGFeIEyPBIN3gIgzrYGJNcRoykP2Uv2i
ekXB93qVoQpNpgTVuyQpVz8xyledrwdi3q4q94W+vbiz0P2xnI+cvju7y6P9yWI58CdOeAup0IaJ
CMmcC3opuaAy/KRc4Pa956BJxZE3HDWplxvqjZu1szG9wswrqQ1mzjBwx2Fjp7NM8Nrns0zzuie0
ytYGd/G6p7TS0k/o1enKJlFynzd5QKWkouliEpJ5ZTxdw44ptkWDStfsyEfSAvvswt0SgkDFDI0k
fNtRk6cXGn6F6lfwxi+O7/WX7vg5aP8NfmGZxJjR9GMKaRAKna44HjF1WUJbMRFjkAr41oOH8125
lMDeaiecZjhldOtLfDA9WUM9WVM93NtidR5tseplnGN1bLG6tlRdO6heD6ytsjH3YwfvG6DqWFN1
/oPK5mfQJHR5qcfQSypiwFdUB4gY5zVvMgmXRjyeQmyW/q9yFGLrS0W9U8wf234DUEsDBBQAAgAI
ABYDC0FxTYNhqQAAANUCAABvABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hy
b21pdW0vdmlydHVhbC9ncHUvZmFzdC9jYW52YXMvd2ViZ2wvZ2wtdmVydGV4LWF0dHJpYi16ZXJv
LWlzc3Vlcy1zdGRlcnIudHh0VVQJAANLpiVQS6YlUHV4CwABBOgDAAAE6AMAAM3OvQ6CMBiF4d2r
+EZdCNCWlm7EoHEQTGPiYAwpbYEm/BhaB+9e4uoFyHLynu25U0QQ/w7CCJE4xTgKCeO5EKXgbW9c
XKlBV9qoSZs5UGpLogjtHnDJxaEU56zY53DLRHEqjhwy72dbv7yBEKwDbZ2se6MDuHbL7aQDZ9ux
sUqOHp5mbqZ5kKMyS4+y9+/N/RdEEMPJmkAJITReE4gmKSVrAjHG4vRvoA9QSwMEFAACAAgAFgML
Qdl0ot/aAAAANAEAAGMAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1
bS92aXJ0dWFsL2dwdS9mYXN0L2NhbnZhcy93ZWJnbC9pbmRleC12YWxpZGF0aW9uLXN0ZGVyci50
eHRVVAkAA0ymJVBMpiVQdXgLAAEE6AMAAAToAwAAjY8xa8MwEIX3/Io3tktIrKSm2kTjGoNrFxHa
IQSjyGdHYMtBurT039cNdOvQ5e7e4xu+O6RiK+RtiI2Y12qTiORRyEzrWst+oJg0dmybluzUUlha
e7ddr8X9Ea+Zfq71i6qeMrwrXRVVLqGYgztdmbCCi2hdNKeB2iX25zmeTUR0ve+cNZ5xodBNYTTe
0nx7M/DX4vCX0EOa/kMoL3GDIPOyKao3VRa7pp411b6oK0j0wy6Yz2ygkTxHCcNM44XBE4y1FCOm
K2PqEIzvCR8U2M01nP9Bf/9afANQSwMEFAACAAgAFwMLQXU2MIvNBwAA3xsAAHAAHAB0bXAvbGF5
b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9mYXN0L2NhbnZh
cy93ZWJnbC9zaGFkZXItcHJlY2lzaW9uLWZvcm1hdC1wcmV0dHktZGlmZi5odG1sVVQJAANNpiVQ
TaYlUHV4CwABBOgDAAAE6AMAAN1ZW2/jNhZ+z68QEswGKEaSHdvZ2J540eaCfei0AyTvA0qiLE4o
UUtSjj3d/e97eJMlWbK92xYLbAcdS+QheS7f+c6h5lMmc7q6+JRhlMCPkDuKVxcLSoq3j95iQwSR
OPF+u/DgP4m30k9wzDiShBULr2AFXuqpiPEEcz9iUrJ84Y3LrZfAM06WF/+6MNvZTWJGGV94V6PJ
XM8Fz4TiR5Kmdj5C8duas6pIfCea3qk/zYPMCYJRknhXSZKYuZQV0k9RTuhu4eWsYKJEsVUwR3xN
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
eW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9ncHUvZmFzdC9jYW52
YXMvd2ViZ2wvZHJhdy1hcnJheXMtb3V0LW9mLWJvdW5kcy1zdGRlcnIudHh0VVQJAANKpiVQSqYl
UHV4CwABBOgDAAAE6AMAAM3TvQrCMBQF4N2nuKMuYnLTJs1WUKRQWiniUqTENJaCWklTxbf3Z/YB
7nKGwxm+5dQSI9S/QIEYccVXTIpEb6qqrHR3cSNv7LVtWmeH1vmltfOIMVwcYZvDbwR6mzdZcUjz
bN2Uu02V7rOyAA3dZe3NM/XevEYNJgR3vQcIAxhr3TjCMAUYzuDNrXPwcD70nxr623fq+9MUHKxm
9R8gigRJAwVjjDQwRuS0gQpj0kDJlaIM5Awl0gZKJUkDOeOCNlDEdF78BlBLAwQUAAIACAAVAwtB
eX/YVYsAAAD9AAAAYgAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVt
L3ZpcnR1YWwvZ3B1L2Zhc3QvY2FudmFzL3dlYmdsL2Vycm9yLXJlcG9ydGluZy1zdGRlcnIudHh0
VVQJAANKpiVQSqYlUHV4CwABBOgDAAAE6AMAAIs2NzY1tgITxibGxqZGFqZmRiaG5lauQUH+QVbp
OanFRvHJuSnxKanJ+SmpRXrJyRqmhobGmrEK7j4KYEUKVu4+8Z5+YY4+ni7xQDLUVcFKIT3HPbXE
MbkksyzVsaSkKDPJSiEzLyW1QiG/tEQhP02hKDEvPZUrGovtxibmllS0PTQvMy2/KBer9QBQSwME
FAACAAgAFwMLQTlpxroMAgAAPQwAAGoAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9y
bS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9mYXN0L2NhbnZhcy93ZWJnbC9zaGFkZXItcHJlY2lzaW9u
LWZvcm1hdC1hY3R1YWwudHh0VVQJAANNpiVQTaYlUHV4CwABBOgDAAAE6AMAAL2WUWviQBDH3/0U
g09XKNKWInLgQTijBhIVk9Z7kzWOSe7Wjexuav32N4kVKyRetod5kYAz8//tf3dndoGrkQsqZmuU
sJMYJipJBWxSuWUaNCrdabWmAlQWhqjUPRzSDPYJ56AQgdGvTFBBuoH2zPL9NmwpikVIkZuU83SP
a1gdoB3YfgA/p97MtQO7TTUDKq1Ax6SyyBn8AmF2IhgeAULOlAIm1hChLg/Zp/IP1SsKHutVhkrU
mRRU75pkuvqNYb7qfD0Q8U5VuW/036s9D+xfS39sDez5fR7tThfLoTu1gjtIhNJMhEjmXNFLyAWZ
4RflPHvgvHhNKo6d0bhJvdxQZ9KsnY3pFWbeSG04t0aePQkaO51lgrc+n2Watz2hVbY2uIu3PaWV
ln5Br05X1rFM93mTB5QylTRddEwyb4wna9gxybaoUaqaHflEWmBfXLg7QhAomaaRhO87avL0QcOv
UP0OzuTVcp3B0p68eJ3P4FeWSYwZTT8mkQahUMmK4wlTlSV0JBMReomAH314vNyVawnsvXbCeYZT
Rq++xAfTszHUszHV44MpVvfJFKtexiVW1xSrZ0rVM4Pq98HYKhNzP3bwoQGqrjFV9z+oTB6DOqbL
Sz2GPhIRAb6hPEDIOK95k0m4NOLpHGKy9H+VoxBTXyrqnWMuCx5f+puM88OMSUVN8mzr51d8q/UX
UEsDBBQAAgAIABkDC0Ewo1RPhgAAAJEAAABoABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxh
dGZvcm0vY2hyb21pdW0vdmlydHVhbC9ncHUvZmFzdC9jYW52YXMvd2ViZ2wvd2ViZ2wtY29tcG9z
aXRlLW1vZGVzLXN0ZGVyci50eHRVVAkAA1KmJVBSpiVQdXgLAAEE6AMAAAToAwAAHYdNC8IgGIDv
/Yr3WJehuS3wNsKiQy4k6BAxnL7bBOdC7dC/b3R5Pp4HVjH+ByvZqpoRQuuSC6VaxUePad+Z2XYW
zWIxFsZsK0rZ7gU3oU6tujbyKODRKHmRZw5NztH1n4xAwCWwLuneoy3gPq076QTJjWFwRocMb4zD
EmcdDK4dtM/fzQ9QSwMEFAACAAgAFQMLQdsjti4BAQAAswkAAG4AHAB0bXAvbGF5b3V0LXRlc3Qt
cmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9mYXN0L2NhbnZhcy93ZWJnbC9k
cmF3LWVsZW1lbnRzLW91dC1vZi1ib3VuZHMtc3RkZXJyLnR4dFVUCQADSqYlUEqmJVB1eAsAAQTo
AwAABOgDAADN1U1LxDAQBuC7v2KOepE06eTrtrBlKZStFPGySOlHWgptI2mqf19d8bZXcS45hDk8
zJuZXJRAYa+HSIVArrlKpUGbVVVZ2XF2G6+7pa971/nehceuu8ckEQ+vcCrgWgT2VNT5+eVQ5Me6
fMqqw3NensHCOB9D85HNbnFr3CyEZh0d+D2CH6D1+9pvMPgA7T4MLtxdblAQFRWK5ImkQjHKEKEY
bjQVijJEAtJMCCIBac6QU6GgYkQoIpV/8mybGN3yFiF6aLrObdsv68f47kKcvq5hWr9Lw9Tu0QG7
RTSpSRIa3TKIaUq8W5IheSJqRpyomKI+FkojkdVqtOT/8fd9AlBLAwQUAAIACAAYAwtBAZEVEz0B
AABzDAAAZwAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL3ZpcnR1
YWwvZ3B1L2Zhc3QvY2FudmFzL3dlYmdsL3R5cGUtY29udmVyc2lvbi10ZXN0LXN0ZGVyci50eHRV
VAkAA1CmJVBQpiVQdXgLAAEE6AMAAAToAwAAzZa9asMwFIX3PsUd2yXoX7Y207omkDrFNO0QinFk
xRE4crGV0r593XTN4CHFWq4kEJzv6p4D2krKqToXyui4MMKYRFylRbEuVNOagZT6WJe10V1t+oXW
txxjevcOz2nxuC6ekvw+hbekyJd5piDxvre7kzeAwA5Q26HataZewMthPB6qAQbbuL3VlfPwYfp9
1x8rp824d1Xrv2+2F4A4RiQsIEJpWEBUoAlA2QrOl0Blq3KZvyar5UM51k0KCpo2Mz7R3n6aP0YF
1tXmC7qTh24PfeUac1ld0muqb5z9bXqqPMcRCcqvnGAWGBARMiwgGs3nV05EFM3nV8FFWPYQAnEU
FhAhcVhANA5sZBwF9kKC4dkSLUQ8KVL/lGgpJBIhTUOOPzgaFhChOCwgymRYQEzw2QIkZTTJwdcI
0A9QSwMEFAACAAgAFgMLQTfINn/LAAAAogEAAGgAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9w
bGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9mYXN0L2NhbnZhcy93ZWJnbC9udWxsLXVuaWZv
cm0tbG9jYXRpb24tc3RkZXJyLnR4dFVUCQADTKYlUEymJVB1eAsAAQToAwAABOgDAADNjrFuwjAU
RXe+4o1lQQ4OiuItLWkUKQRk0XZAVfR4Nokl41S2qdS/J4KVgbHLufdKdziHjK+4uIGnfAqWpSzn
uSil3ErRWx2WHZ1VpzSNSvsF0csqSfj8G3alfN/KTdG+lfBVyLZuKwFFjN4cL1EDAxNAmYBHq9UC
9sM0BwwQTO9OhtBF+NH+NPozOtJTd2jj3+zwQChhOftXQhlbpk8IVQ3cTiCqpqvbz6Kp193EjxIE
9PbVOHXXa0bCaEYnoHa/aI0CGtAjRe1nV1BLAwQUAAIACAAXAwtBZZOZH1sCAADdDAAAagAcAHRt
cC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvZ3B1L2Zhc3Qv
Y2FudmFzL3dlYmdsL3NoYWRlci1wcmVjaXNpb24tZm9ybWF0LXdkaWZmLmh0bWxVVAkAA02mJVBN
piVQdXgLAAEE6AMAAAToAwAAvVfva+JAEP3uXzF4cFyhxLYUkTYKckYrGBVN2/smazL5cV0T2d3U
Srn//SYJkvZOPZPDfAkhO/Pe27e7M1ndR+Z0dKm2HDuagxzeYcnsF09EcejcwReXsXv4BRpznD+H
mJsM6Y0sWW9kUGuBnWdcDkYgfeagAPpgBzKIQnAjsWIKFEql1WqTEGRs2yjlJWyjGDYB5yARgdFT
BCghcqE+7c7ndVhRFPOQIt2I82iDDiy3ULeMuQXfJ+Z0ZFhGnTAtgpagfGJJNcxTCdOdgn4mwOZM
SmChAx6q/SGbSLwQXgqY4R0MFahiERLeMcpo+RPtZNbJfMDj2iG4bzT2ZMws48di/tDtGbPLJHo0
eV70R5OudQFBKBULbSRzjvAF5IKIsSSdafSGj2aVjA/DwUOVfImhw3G1dlbGl5p5Jrb+rDswjbFV
2e7cR3ju/bmP87w79JCtFa7ieXfpQUtL8J1SlZUvok1S5AGFiAR1F+UTzSvjgQNrJtgKFQp5YkXe
KU1lfzpwFyQhRMEUtSR8W1ORpxdqfinrHQzHT93RsLcwxo+m9lH4kWmSxpi6HxNIjTCUwZLjTqbc
l6AJFnpoBiF89dR9G64/L8yxHPZWJCfv5FlS63SiXNxtGXW3ZeRdX5XQ17wpoe+0pL/0NUvoa5WQ
1yqmrt2GMs4VsTtf2atqtDXLaGv+h7Yif47Kp5NOBYlegtADfEWxBZtxfuKxJ+K9ETd5SJHZ/wuO
Qor6cgAvj9kB6nJNJTv9QW/TlaOTEWTXBDfmfDtlQlKFzW3+eAWguwild2o1vZFcQ34DUEsDBBQA
AgAIABYDC0FuHEC7qQAAAIwCAAByABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0v
Y2hyb21pdW0vdmlydHVhbC9ncHUvZmFzdC9jYW52YXMvd2ViZ2wvaW5kZXgtdmFsaWRhdGlvbi1j
b3BpZXMtaW5kaWNlcy1zdGRlcnIudHh0VVQJAANMpiVQTKYlUHV4CwABBOgDAAAE6AMAAM3OsQqD
MBgE4L1P8Y/tUmJilGYTFBFEi5QupYQ0/hVBTUli+/q1rn0Blzs4bvhuMeNMrMFCthSh0Smkgcia
pm5EN6CjUo+tbFGbFu1R6z0PAna4Q17CegKRl7KorklZpLI+Z01yKeoKBHRDatUnG3DEyTsBynsc
Xx68AaU1Ogdm9mCeYNXUIbzR+n6ZoZ9+V9s/Zo9Adrd/YkwI5xsnBoxHWyfGlG2I+AVQSwMEFAAC
AAgAFgMLQZMoNlSdAAAARgEAAH0AHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9j
aHJvbWl1bS92aXJ0dWFsL2dwdS9mYXN0L2NhbnZhcy93ZWJnbC9pbmRleC12YWxpZGF0aW9uLXZl
cmlmaWVzLXRvby1tYW55LWluZGljZXMtc3RkZXJyLnR4dFVUCQADTKYlUEymJVB1eAsAAQToAwAA
BOgDAADNjsEKgkAURfd9xVvWJtTRytkJigiiMUQbiWEaXyKoEzPP+v3MdR/Q5h64nMVpjixifB0W
sgUeY7EfBjwToha8G9AFUo+tbFGbFu1e623k+2x3g7yEVQKel7KorklZpLI+ZyK5FHUFHLohteqd
DTjiRI6DIsLxSUAGlNboHJiZwDzAqqlDeKGlfrmhn76q7e8zIXib5lfiIT79UeIHUEsDBBQAAgAI
ABUDC0GBVk+flgAAAPoBAABiABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hy
b21pdW0vdmlydHVhbC9ncHUvZmFzdC9jYW52YXMvd2ViZ2wvZ2V0LWFjdGl2ZS10ZXN0LXN0ZGVy
ci50eHRVVAkAA0qmJVBKpiVQdXgLAAEE6AMAAAToAwAAizY3NjW2AhPGJsbGpkYW5kYG5hYWVq5B
Qf5BVuk5qcVG8cm5KfEpqcn5KalFesnJGqaGhsaasQruPgpgRQpW7j7xnn5hjj6eLvFAMtRVwUoh
Pcc9tcQxuSSzLDU0LzMtvyjXSiEzLyW1QiG/tEQhP02hKDEvPZUrGov1hmZGlgNovZmZJTWtdywp
KcpMItp2II9OtgMAUEsDBBQAAgAIABUDC0E35fhSlAAAACIBAABvABwAdG1wL2xheW91dC10ZXN0
LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9ncHUvZmFzdC9jYW52YXMvd2ViZ2wv
Z2wtYmluZC1hdHRyaWItbG9jYXRpb24tdGVzdC1zdGRlcnIudHh0VVQJAANKpiVQSqYlUHV4CwAB
BOgDAAAE6AMAAMWOsQ6CMBQAd7/ijboQoVSwW2PQOAimMXEghpT2AU2gmLYO/r3E1Q9wudxtV2eE
EvYFSQmhSZ7t9jRPWSFEJVg/ok8aNelGo5o1ukipNY1jsnnAtRDHSlx4eSjgzkV5Lk8MeAjOtK+A
sAXjQRsv2xF1BLdhyUF68Ka3nVHSBnii62Y3SatwcSvH8F7Vv0NL0P8NfQBQSwMEFAACAAgAFgML
QRalw/dXAAAAXwAAAGgAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1
bS92aXJ0dWFsL2dwdS9mYXN0L2NhbnZhcy93ZWJnbC9udWxsLW9iamVjdC1iZWhhdmlvdXItc3Rk
ZXJyLnR4dFVUCQADTKYlUEymJVB1eAsAAQToAwAABOgDAACLNjc2NbYCE8YmxkDKwMzE1NDM1Mo1
KMg/yCo9J7XYKD45NyU+JTU5PyW1SC85WcPU0NBYM1bB3UcBrEjByt0n3tMvzNHH0yXeP8A1yDHE
099PwQoIuQBQSwMECgAAAAAAxgILQQAAAAAAAAAAAAAAAC8AHAB0bXAvbGF5b3V0LXRlc3QtcmVz
dWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS9odHRwL1VUCQADtKUlUOWmJVB1eAsAAQToAwAABOgDAABQ
SwMECgAAAAAAxgILQQAAAAAAAAAAAAAAADUAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0
Zm9ybS9jaHJvbWl1bS9odHRwL3Rlc3RzL1VUCQADtKUlUOWmJVB1eAsAAQToAwAABOgDAABQSwME
CgAAAAAAxgILQQAAAAAAAAAAAAAAAD4AHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9y
bS9jaHJvbWl1bS9odHRwL3Rlc3RzL3NlY3VyaXR5L1VUCQADtKUlUOWmJVB1eAsAAQToAwAABOgD
AABQSwMECgAAAAAAxgILQQAAAAAAAAAAAAAAAEsAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9odHRwL3Rlc3RzL3NlY3VyaXR5L21peGVkQ29udGVudC9VVAkAA7Sl
JVDlpiVQdXgLAAEE6AMAAAToAwAAUEsDBBQAAgAIAMYCC0G/XlQDbAAAAHAAAAB7ABwAdG1wL2xh
eW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vaHR0cC90ZXN0cy9zZWN1cml0eS9t
aXhlZENvbnRlbnQvaW5zZWN1cmUtaWZyYW1lLWluLW1haW4tZnJhbWUtYWxsb3dlZC1zdGRlcnIu
dHh0VVQJAAO0pSVQtKUlUHV4CwABBOgDAAAE6AMAAIs2NTIytzI1MjWxMjYxNjY2tzA1MTE1trBy
DQryD7JKTi0qiS9LLcpMq4wvKMpPjs8rLtZLTtYwNzHRjFVwdg0KiQ/w9owIA6twBipWSMsvUjA0
MtczAEJDhbTEzJzUFIXUoiJbXQtDC0MuAFBLAwQUAAIACACnAgtBNh9loQMEAAA/LQAAQwAcAHRt
cC9sYXlvdXQtdGVzdC1yZXN1bHRzL3B5d2Vic29ja2V0LndzLmxvZy0xMUF1ZzIwMTItMDAxNjU1
LWVyci50eHRVVAkAA3mlJVB3pCVQdXgLAAEE6AMAAAToAwAA7VrbbuM2EH3PVxDbh1UAWVdfZKMo
sLvY7fZlWzgB9iEICF3GERuJVEmqXv99RxfHsusErQunbkH4wYYucw6HwzmHTO4Czw9GXjTyfeJ5
i8BfeDM7DIN7cvdxufx5eU8oLWPGKXW+QnIj0kfQNyB/B7kgH7+lUGkmOGGcVFKkoBTjD0TCbzUo
TVZSlAtivfWDmePhx39rk3AaBN711a2MU0ji9JFYpcBHJaTANUnjoiBFrPT14oqQT6wA8satlXQL
lrjVRueCB87UHdJwqs0bmxSMA5lMIntAhfY8qM4lxBkGJERBsXJWjDOVb29b/bdN0oIhCRpnmcTX
r09gEAZey2AfYYe87C58jnlWgPyAI1XPwdvtGwMSJdfuA9PuGpJHpkdpjtlldTmCtXJvhSiUe5NK
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
+CVvtWFVxO6bvCUAK+BSBpLoK++dSndh55WmyqH1pA3ZClxIb2UpaknmYFVnsvvdA9JPPNAPN2Rh
Z3zvVjtn8qz7EwWOZXWTFza7qegr/dwB00XM31FX5C7l6zFeIctF1NbDw5zO8tn/XB7/+6fjq+ub
D8fXP14c/d385/XlweFxe+AlgAfPzcj8dPJLb/FWT4J5zi++kYU3XlLiH67OGmy+H3caJv4fUEsD
BAoAAAAAACICC0EAAAAAAAAAAAAAAAAdABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC9V
VAkAA3+kJVDlpiVQdXgLAAEE6AMAAAToAwAAUEsDBAoAAAAAAI4CC0EAAAAAAAAAAAAAAAAjABwA
dG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9VVAkAA0ulJVDlpiVQdXgLAAEE6AMA
AAToAwAAUEsDBAoAAAAAACICC0EAAAAAAAAAAAAAAAApABwAdG1wL2xheW91dC10ZXN0LXJlc3Vs
dHMvaHR0cC90ZXN0cy9jYWNoZS9VVAkAA3+kJVDlpiVQdXgLAAEE6AMAAAToAwAAUEsDBBQAAgAI
ACICC0H+waUdQAEAAFoCAABFABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9j
YWNoZS9wb3N0LXJlZGlyZWN0LWdldC1hY3R1YWwudHh0VVQJAAN/pCVQf6QlUHV4CwABBOgDAAAE
6AMAAI3RXUvDMBQG4Pv9isO8mMLoso9+MBBhOlBRBjoUryRNTte4mIwkXVuH/93MWYfCYFchh+c9
OUkkrdEAdXBKuuQMrPhASAipIkJaAA+oOJongeUBIo+IT6RmS9hcz+/vPg/SX6x5DZvJ7OplZ5Nu
8mPjZFSFyejbNnqOlYPNifPL/9ZxHFX9uOEAWwOmUHtWCu7yrRtD+8Z1LKy0tSKVCJn2dwJbMIbW
ZoUEg2sqBadOaAVOA6OFRcA1Kme3+0wYBFsrlhutdGFlHcCzr+S6kFx1HDBDbQ4iA60QdAYu1/sG
1umVb5Nj+9C0/TBs5h1GxM8rNeUBPCJC7tzKjnu9tFjYoMR0KVygzaLnzy5ffTFgC3Eh+Hk8iKNB
AO1j349U5A+dvqfIOfJZ+obMh2aT2+nlfJfyM3UHTXDo/7QfktYXUEsDBAoAAgAAACICC0Gc6ad1
BgAAAAYAAABHABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9jYWNoZS9wb3N0
LXJlZGlyZWN0LWdldC1leHBlY3RlZC50eHRVVAkAA3+kJVB/pCVQdXgLAAEE6AMAAAToAwAAUEFT
UwoKUEsDBBQAAgAIACICC0FXNUJbmQEAABcDAABDABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMv
aHR0cC90ZXN0cy9jYWNoZS9wb3N0LXJlZGlyZWN0LWdldC1kaWZmLnR4dFVUCQADf6QlUH+kJVB1
eAsAAQToAwAABOgDAAClklFv0zAQx9/zKU7lYaDEidOtTTQJUQqTADEV0QrEE3LsS2PmxVV8XlOq
fXccSjeBVGkST7bPv/v7f+djjEFGt5vMiJ31xAgdsQ6dN+SyhmiTDRGXSSEbzDb2963SHUpiaySG
/SZsUaXUE0RxHP+XmpDkhTlozWbA8mQMcZ7kHGaziH16vVxGLIqDOHYgCJ7zhL8Ap38ilJz3U86j
GOAztgq7Lxq3p5gnCcyNlTewf7e6/nh/mn2grdrBfr54++0Al0n5By7Ki35SXhzgI77CUOL+GYXl
X/GimPZ58cADDBB0vn3ktlpRM4CXMHpPZw5CJ52uDEJtQ13gvJToXO0NdHgnjFaCtG2BLEjhHQLe
YUtuONeh+eB2rWw621rvzC6FryHSWG9Ue0YgO+Ea0DXYFsHWQI19FHBkN0GmwdFJu/lkcjR8PuXB
sLFCpbBEhGEg3GWWVX7t0i1WN5pS262z8Pj2ewimcq1fafWyGBfTcQqjJ7eQ9/xv9uq2QqVQLaof
YdRgv5h/uHqzOqQFV8n4mHkefjaf8OgXUEsDBBQAAgAIACICC0G5x48m2x8AAKgrAABFABwAdG1w
L2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9jYWNoZS9wb3N0LXJlZGlyZWN0LWdldC1h
Y3R1YWwucG5nVVQJAAN/pCVQf6QlUHV4CwABBOgDAAAE6AMAAO16aVSTV7t2rLW2otBWxQoibQVR
ELAyCQixReUNCBQZgiBERcQwypSAIWBVSgsqGgVkCDgwCDFEhhDCFCdAQEETIkMYZAjIkDAHSEhy
7rTvedf51vp+nN9nNQsWK8l+nr33PVzDfvjzV0fbTRvUNiAQiE2ofx05gUCs/R6B+Mzjy8/gk61b
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
ViKX04x8q3EaSdSwhZyL9crZ2sgJHBecf4RHiLiUb1u86FpZvBNn8c6qcmFOFTcgNCe6CJ7Tn5eL
ReBC8VUreE41b9EB9/CB9dkpkPqLkDLWjBk7ArhBI9HdKtwcQN4jn2kr1rC9Xv74/ngQfYatbGE7
m3/5tWPTfvrEJul5M0rP/7N7eomNh+2xD8Nb6yQZN4NkjwN0DLjavGAbJX3ZcRPoffUnBJUlUrlG
KGw4E1AtBBIVtQaHD1wryb2yBrwFwWtCwAc0nrp1oRwCtUaUzhpbk24juAuV0tZamhMPwnEqQRVg
DYItwJf2xYC8rYJNib1DaQej0T7v2ZiFvNpyGcECEUrvK5rEcV6vKNpgvlY+sm4Vh703v0MxEiv1
ScmLZJiMhxH03nt/rGGv0Ks/OUqJcp7fowii+ezb1eflThUy9Yd74Vl408GIPf23oyzufuQ/UEsD
BAoAAgAAACICC0Gc6ad1BgAAAAYAAABTABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90
ZXN0cy9jYWNoZS9wb3N0LXdpdGgtY2FjaGVkLXN1YnJlc291cmNlcy1leHBlY3RlZC50eHRVVAkA
A3+kJVB/pCVQdXgLAAEE6AMAAAToAwAAUEFTUwoKUEsDBBQAAgAIACICC0HV9h1ikAgAABsfAABX
ABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9jYWNoZS9wb3N0LXdpdGgtY2Fj
aGVkLXN1YnJlc291cmNlcy1wcmV0dHktZGlmZi5odG1sVVQJAAN/pCVQf6QlUHV4CwABBOgDAAAE
6AMAANVZa2/bRhb97l8xsJG6LUyKsiRbj8RF4we6Rbsp1sEu9pMxJIfixCRHnRnaUrL973vnRZEU
KbnYAO42aETO48657zPM21Tm2dXR25TgGH6E3GTk6mie0eLxDM2fqKCSxOjLEYL/JFlLLyYR41hS
VsxRwQqy0FMh4zHhXsikZPkcDVdrFMMziRdHfxwZcVZIxDLG5+gkGM30nH9HM3JDk8TOhzh6XHJW
FrHnliZT9ad+kDlBsIzG6CSOYzOXsEJ6Cc5ptpmjnBVMrHBkAeaYLylAHpIcBWZoxUA5rQcnGWj0
RDSgdNhCOhqNOuQLXAhPEE6T2qSgn4k+o36ol5FEzlHgT9x4TMUqwyBE4jAjXkSyzEw801imICAI
3liMOI5psax2G3zWPeqp6SELmRYpAJPV8pQ9Ed7SajKZLPoMTogxha/88gucJezmJGMYVOF0mcqm
99SqazABpkV1FAPzUwlqBgfUtlp6Wm7DUs8paOdpP6pwe+Z4tUV2TyLlv97A0ZubYdMOGRu3zu4Q
VMFqbU64Xa/AxSAfVCNnyFc/bQ174Qkak3Cj/kYa6vuMRY+/YS59UHWeUC6kF6U0i3sNq467h/1n
+4RxkoNrzw6cZ89w5qcFhA/xQrWkEXYTF3UQLZJGOPNwRpeQH5J1qMWJivafcBFnxJnDylEmVO8p
MQ7dxnNUcqFco2C3sxCH4J3SeQzOrALHJJCGtw9FI853w2HJyWbRCkx/cshfxsTIl+ygmf2Es7xl
bFsj1RnK6n8v85BwiCZSjy4z6oDvllIbtbNZowi6dOkqhS6Tx+NxK/d2vV/VGCVoYlLApEFV9G0c
2PDsChEDtxFOI1uwaoprFTsLjmkUvWbZV6QUQms7V0hswDgdGmm64sQziaqnwJT6FVTgBD96asDI
pTlekoZT5ui8snWYYWVAtTCCqgAYwKv2CbVV3jpkOp71lt2EJNvcVxEFEqvuWEvkjq1xEje3gp9F
//IZmS32tfRKki0wdRw2Ifq7dRzvCEAxyfp3kNlBNIPv0X25WjEuodFyG8Rg1DwnhRTo+wGch0uZ
MmNv04wVl4GAlxCikfOU3qDX9LT/ao0CgyEk9GJXyS5cTKtKg7Ps2iHoXH1u2liO116js3cdAzbe
K7NK4Cpzd0S29/tsRUx39J5J+EilJ7nKLqO1AYn8c7GoQR5bBU+ExLIU78sQWnXV9nyVKZ1wYEvI
4o2es7THVbCxa6knkrEsxLwpwGELmc7W7XjOPrvBqkSNTEpbRqUeHWdQz/3ksK9+7CV12whJ6NpW
KKeDj4sIos0yL6dq0NTTx5qgmETcbfHPFKoFbwWjPQqhzx4tYrKGMrZH422XrEHoUteWq0bvm9o6
VyiYNqU7+xacB444CPRiC3RoGr7rUOZNg7XPVXuzrxXgirY1jqYJx7lB2OLITY5Ry6zrnlq8a5sN
EFH2bIkAyYBVgltf0LUuZnfbqLPh3jOpDdGcqzhmvMudm8zZyjDm2w3tXr4Qu0psjvnRlRJ3Fwrq
sx9dF21dWi4uXcnbhbknd2rXIZFjQ/TrVblgHIYXPbXJ6q/4meg6HNusM+kedC6Z48Rll27LBahz
jP6DjhdHVTuuNfH27gwDRWeJJzcr0inq2OxLSaYrYkUysSKZPQ3oJCdCOFbRa6Iui9YC+15X5pf0
OegpwHaeKCvFdTUCJPUzKa5rnbCriTs+0e4p9W4Cieklmcr8oXakLdj1MRtMtg6M3N3qRaisd4HI
EKnCutEILLfrYXb1BhuWkBhFvXS4Jh7Tp3nCImtLVkqV8vUMCrNS9wg7BeGQABZoTUOnSL1LailA
VD6mxJw0sC12CfiVDpIhCXOhWW0jSaAnilVZlb/a2ACwIWfP4HigACmGvZb5UOkrplPpMZ5Yll7x
DfvuElyxVfV/0GyP7rNNm8PnNIZblPWQIGXMHsz16oE8AdKHWhHeVt03DSryptk361c6Xb684dBW
aRUBwt3eO7oOsDkm8BM4F0xMWr2nLnenHXpDf2SI1/briSMOHU4+ubm5qZWEk+ndzd3krrOGAUXt
Tpfb29su1HOSr+SmGV2WDLVW+vAISG2JsUJn02Bqa1uUEcwfNIVwFwo1ou9dqVrydmA/3b0VEacr
CBoevTtOpVyJ+WCAP+G1v2RsCZtWVKjc0GODjIZi8On3kvDNYOiP/XP74ue08D+J4yuQq+Vdoabk
iMXEUz4kz7DuBwgl5cx341FtC4CynxUVNYQfSDjAjYV4d+ruE6fq2+PwaiDz1QAiAMzkSQKVFwKv
zKQYKA0GakQMIhylZKAyBdi0TD39HnuihIubYCWPiPCAyZQ48yX0Mjh82Dyz9s3odHdG3+X7xtUd
H5m7TGuJuuWg5reh7TooTIVbqD8ObEnF6dUQDAXzV41VUCPqa74pQrFadC6Efn169duP9/d2FqwN
sL4WuPOvAK4NTP/0mxeS9bBt7aK92PfgYi/wgMYOsahOk+jb4Cz4DqkqgKZBsL4Igj9n768K+Lwf
MEL/IEDD+T8hI/9yuEf/b4YeHza0Dlz05aePv/7yx18O/2Qf/koDfWF//+Hm30aB6dnUKnA5Ha8n
0/ErKnCxXwGngrm1nKiJthMuLy/Ww8vX1OHykA7mixfiZbHFrqmUAj9H3/xeMrn4mzwVivoIqlij
+vqFgRFG0O1EUmZQz5+AvsX6g5limBEuBUGasAn1nlBOkNgUUcpZAZQ72/joXzCSsjKLi1OJIo5F
Chds4J3APROgnGwrQACjUiyUGCyvaMzpnzbmcDJx5hxdBM6cQKFiH90Tghw5Csul8M2Vxmd8OQDT
PD/AoB8t6Q80fnd5fnlx7qNXt8Dsf06JYP2aNWkYvEyBW1gexyT+EH4Csoa+fHj/8+31R6MLOPLs
3KkzgjI7nAQHaUaNPCtSoqfra7c/mqcCcdT/Jv5fUEsDBBQAAgAIACICC0GNpXyKjwEAAOgCAABR
ABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9jYWNoZS9wb3N0LXdpdGgtY2Fj
aGVkLXN1YnJlc291cmNlcy13ZGlmZi5odG1sVVQJAAN/pCVQf6QlUHV4CwABBOgDAAAE6AMAAI2S
X0/bMBTF3/kUV+WBIVWJW2gTdaET3ZDYtKkTrUB7mhz7pjH17MjXockqvvuclYJAqsST7Xt/5/j4
T1Yil9OMfKtxGknUsIWci/XK2drICRwXnH+ER4i4lG9bvOhaWbwTZ/HOqnJhThU3IDQnugie05+X
i0XgQvFVK3hONW/RAffwgfXZKZD6i5Ay1owZOwK4QSPR3SrcHEDeI59pK9awvV7++P54EH2GrWxh
O5t/+bVj0376xCbpeTNKz/+ze3qJjYftsQ/DW+skGTeDZI8DdAy42rxgGyV92XET6H31JwSVJVK5
RihsOBNQLQQSFbUGhw9cK8m9sga8BcFrQsAHNJ66daEcArVGlM4aW5NuI7gLldLWWpoTD8JxKkEV
YA2CLcCX9sWAvK2CTYm9Q2kHo9E+79mYhbzachnBAhFK7yuaxHFeryjaYL5WPrJuFYe9N79DMRIr
9UnJi2SYjIcR9N57f6xhr9CrPzlKiXKe36MIovns29Xn5U4VMvWHe+FZeNPBiD39t6Ms7n7kP1BL
AwQUAAIACAAiAgtBucePJtsfAACoKwAAUQAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAv
dGVzdHMvY2FjaGUvcG9zdC13aXRoLWNhY2hlZC1zdWJyZXNvdXJjZXMtYWN0dWFsLnBuZ1VUCQAD
f6QlUH+kJVB1eAsAAQToAwAABOgDAADtemlUk1e7dqy1tqLQVsUKIm0FURCwMgkIsUXlDQgUGYIg
REXEMMqUgCFgVUoLKhoFZAg4MAgxRIYQwhQnQEBBEyJDGGQIyJAwB0hIcu6073nX+db6fpzfZzUL
FivJfp699z1cw37481dH200b1DYgEIhNqH8dOYFArP0egfjM48vP4JOtW7bqwJ+9kUc9In0v+PkG
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
Y2FjaGUvcG9zdC13aXRoLWNhY2hlZC1zdWJyZXNvdXJjZXMtYWN0dWFsLnR4dFVUCQADf6QlUH+k
JVB1eAsAAQToAwAABOgDAACN0V1LwzAUBuD7/YrDvJjC6LKPfjAQYTpQUQY6FK8kTU7XuJiMJF1b
h//dzFmHwmBXIYfnPTlJJK3RAHVwSrrkDKz4QEgIqSJCWgAPqDiaJ4HlASKPiE+kZkvYXM/v7z4P
0l+seQ2byezqZWeTbvJj42RUhcno2zZ6jpWDzYnzy//WcRxV/bjhAFsDplB7Vgru8q0bQ/vGdSys
tLUilQiZ9ncCWzCG1maFBINrKgWnTmgFTgOjhUXANSpnt/tMGARbK5YbrXRhZR3As6/kupBcdRww
Q20OIgOtEHQGLtf7BtbplW+TY/vQtP0wbOYdRsTPKzXlATwiQu7cyo57vbRY2KDEdClcoM2i588u
X30xYAtxIfh5PIijQQDtY9+PVOQPnb6nyDnyWfqGzIdmk9vp5XyX8jN1B01w6P+0H5LWF1BLAwQK
AAAAAABzAgtBAAAAAAAAAAAAAAAAKAAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVz
dHMvbWlzYy9VVAkAAxqlJVDlpiVQdXgLAAEE6AMAAAToAwAAUEsDBBQAAgAIAHMCC0EVNTWSegAA
ALwAAABCABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9taXNjL3hzbHQtYmFk
LWltcG9ydC1zdGRlcnIudHh0VVQJAAMapSVQGqUlUHV4CwABBOgDAAAE6AMAAI2OQQ7DIAwE73mF
P0Ag7aEVvyHEVSwZjIyR+vwS5QPVXlY7h9kspREnI6mAqqIRPsQIp1mL3m+P1xpmtvgOIfhCPXvF
LkMzdv/tbG5Ph6PSRM0NpXVuwFQRnoCMBavBTZdJ4l0hwqhpnxoTYEnHf7oqfeTzupcsMS8/UEsD
BBQAAgAIAGcCC0F/temBbAAAAHAAAABHABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90
ZXN0cy9taXNjL2Rucy1wcmVmZXRjaC1jb250cm9sLXN0ZGVyci50eHRVVAkAAwGlJVABpSVQdXgL
AAEE6AMAAAToAwAAizY2MTWwMjazMLcyNjE2NrS0NDAzNDY3snINCvIPskpOLSqJL0stykyrjC8o
yk+Ozysu1ktO1jA3MdGMVXB2DQqJD/D2jAgDq3AGKlZIyy9SMDQy1zMAQkOFtMTMnNQUhdSiIltd
C0MLQy4AUEsDBAoAAAAAAJQCC0EAAAAAAAAAAAAAAAAsABwAdG1wL2xheW91dC10ZXN0LXJlc3Vs
dHMvaHR0cC90ZXN0cy9zZWN1cml0eS9VVAkAA1elJVDlpiVQdXgLAAEE6AMAAAToAwAAUEsDBBQA
AgAIAI4CC0FWcFJpYgAAAI4AAABVABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0
cy9zZWN1cml0eS94c3MtREVOSUVELXhtbC1leHRlcm5hbC1lbnRpdHktc3RkZXJyLnR4dFVUCQAD
S6UlUEulJVB1eAsAAQToAwAABOgDAACNzDEKwzAMBdDdp/hbloLoajr2Bt0LwvkOAdsyigLp7Utv
0AO8V/fGLCKMIldvUjS02ZbvGVP9oIPu5sh4Wjk7R2A/wD7jk9I71b/5K9QDoRt4TZbgesPyWDAs
UO0c66/7AlBLAwQUAAIACACOAgtBYEtmEJEAAAD7AQAAXQAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1
bHRzL2h0dHAvdGVzdHMvc2VjdXJpdHkveHNzLURFTklFRC14c2wtZG9jdW1lbnQtc2VjdXJpdHlP
cmlnaW4tc3RkZXJyLnR4dFVUCQADTKUlUEylJVB1eAsAAQToAwAABOgDAADtjjEOgzAMRXdO4QuE
BJZWmWHo0p4BBVMimSSynQpuXzr0Bh2rv76v90LeSqRJY06AzJk9LJEQVtXire36S+vOdf7qnLOC
oXLUw+4iZhjvt3Ewu5CZc6gbJjVf4MHxGVO7bwQUE0IPSPghQPQglBVRm/PpX8hyuj3kRAd0rYMF
J62MAhMjSC0ls+LchH/oj0PfUEsDBAoAAAAAAJQCC0EAAAAAAAAAAAAAAABCABwAdG1wL2xheW91
dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kv
VVQJAANXpSVQ5aYlUHV4CwABBOgDAAAE6AMAAFBLAwQUAAIACACUAgtBY6qsbIIAAACoAAAAagAc
AHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3Vy
aXR5UG9saWN5L3hzbC11bmFmZmVjdGVkLWJ5LXN0eWxlLXNyYy0yLXN0ZGVyci50eHRVVAkAA1el
JVBXpSVQdXgLAAEE6AMAAAToAwAALY1BCsMwDATveYVeEDu9pPgVhb4guBtiUCwjKaX+fU0pe1qG
2c1ytsKbF6kEVdFEe2HQ4d5SCMttnePIku4xxmDIlxbvIUt1VH/++0O45B4UJpdmWDDvjPljTFwq
aCUwziHQD9gB+DRoekNtXCeSyp2WOdKOza8xRJuC7GpN1PGavlBLAwQUAAIACACUAgtBY6qsbIIA
AACoAAAAWAAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29u
dGVudFNlY3VyaXR5UG9saWN5L3hzbC1hbGxvd2VkLXN0ZGVyci50eHRVVAkAA1elJVBXpSVQdXgL
AAEE6AMAAAToAwAALY1BCsMwDATveYVeEDu9pPgVhb4guBtiUCwjKaX+fU0pe1qG2c1ytsKbF6kE
VdFEe2HQ4d5SCMttnePIku4xxmDIlxbvIUt1VH/++0O45B4UJpdmWDDvjPljTFwqaCUwziHQD9gB
+DRoekNtXCeSyp2WOdKOza8xRJuC7GpN1PGavlBLAwQKAAAAAABhAwtBAAAAAAAAAAAAAAAAIAAc
AHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3JldHJpZXMvVVQJAAPVpiVQ5aYlUHV4CwABBOgDAAAE
6AMAAFBLAwQUAAIACABoAwtBaV+QmuYAAADMAQAALgAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRz
L3JldHJpZXMvdGVzdHNfcnVuMC50eHRVVAkAA+OmJVDVpiVQdXgLAAEE6AMAAAToAwAAlZBBbsQw
CEX3vYvrc3TXKxCH2NZg4wLOtHP6koxURZpVV4B4X/9DMRvRUE3jd6Pik+DX9Dk+UDgQ9mwlCOrg
rvherNFb4jZYq9WeY0ZuaPITE9XxuuYdZSO+/zVBkzDRk9zAfRL0HTTecckUtcCKEjxEqlq5h42l
gV1x1ehx6gNDYukOm0C6udnRdD0EuF4EuGP369aqAyyV0FAVMgY1OUQrGFzoTcABD5UKruGc3Gd2
Q7lQxEfMs3z0T+HsifR1P/vRnDcEf4kFWHhaWAj67UkPAjvWMRXhVmeLexWbQDGPGf/5n19QSwEC
HgMKAAAAAABoAwtBAAAAAAAAAAAAAAAAGAAYAAAAAAAAABAA7UEAAAAAdG1wL2xheW91dC10ZXN0
LXJlc3VsdHMvVVQFAAPkpiVQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAFgILQRwLOv34NQAA
7Y4CADQAGAAAAAAAAQAAAKSBUgAAAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3dlYmtpdF91bml0
X3Rlc3RzX291dHB1dC54bWxVVAUAA2ukJVB1eAsAAQToAwAABOgDAABQSwECHgMKAAAAAABHAgtB
AAAAAAAAAAAAAAAAHQAYAAAAAAAAABAA7UG4NgAAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvY3Nz
My9VVAUAA8WkJVB1eAsAAQToAwAABOgDAABQSwECHgMKAAAAAABHAgtBAAAAAAAAAAAAAAAAJQAY
AAAAAAAAABAA7UEPNwAAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvY3NzMy9maWx0ZXJzL1VUBQAD
xaQlUHV4CwABBOgDAAAE6AMAAFBLAQIeAwoAAAAAAEcCC0EAAAAAAAAAAAAAAAAsABgAAAAAAAAA
EADtQW43AAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9jc3MzL2ZpbHRlcnMvY3VzdG9tL1VUBQAD
xaQlUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAEcCC0GHgA70iAAAAJEAAABiABgAAAAAAAEA
AACkgdQ3AAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9jc3MzL2ZpbHRlcnMvY3VzdG9tL2N1c3Rv
bS1maWx0ZXItY3NzLWtleXdvcmQtYXMtcGFyYW1ldGVyLW5hbWUtc3RkZXJyLnR4dFVUBQADxaQl
UHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAFMDC0F6KLRKr8EAAA8JBQAmABgAAAAAAAEAAACk
gfg4AAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy90ZXN0c19ydW4xLnR4dFVUBQADvaYlUHV4CwAB
BOgDAAAE6AMAAFBLAQIeAxQAAgAIAGADC0HQLQfLx58AAHwbBAAmABgAAAAAAAEAAACkgQf7AAB0
bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy90ZXN0c19ydW4yLnR4dFVUBQAD06YlUHV4CwABBOgDAAAE
6AMAAFBLAQIeAwoAAAAAANMCC0EAAAAAAAAAAAAAAAAdABgAAAAAAAAAEADtQS6bAQB0bXAvbGF5
b3V0LXRlc3QtcmVzdWx0cy9mYXN0L1VUBQADzqUlUHV4CwABBOgDAAAE6AMAAFBLAQIeAwoAAAAA
AIwCC0EAAAAAAAAAAAAAAAAhABgAAAAAAAAAEADtQYWbAQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0
cy9mYXN0L2Nzcy9VVAUAA0ilJVB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACABiAwtBFmflu68y
AAB5PgAATAAYAAAAAAAAAAAApIHgmwEAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9jc3Mv
cmVzaXplLWNvcm5lci10cmFja2luZy10cmFuc2Zvcm1lZC1kaWZmLnBuZ1VUBQAD2KYlUHV4CwAB
BOgDAAAE6AMAAFBLAQIeAxQAAgAIAGIDC0FnRkQ0yCgAAKEyAABOABgAAAAAAAAAAACkgRXPAQB0
bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2Nzcy9yZXNpemUtY29ybmVyLXRyYWNraW5nLXRy
YW5zZm9ybWVkLWFjdHVhbC5wbmdVVAUAA9imJVB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACABi
AwtBIXkRhdUnAACvMQAAUAAYAAAAAAAAAAAApIFl+AEAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMv
ZmFzdC9jc3MvcmVzaXplLWNvcm5lci10cmFja2luZy10cmFuc2Zvcm1lZC1leHBlY3RlZC5wbmdV
VAUAA9imJVB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACABiAwtBacxfRzkCAADCBQAATgAYAAAA
AAABAAAApIHEIAIAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9jc3MvcmVzaXplLWNvcm5l
ci10cmFja2luZy10cmFuc2Zvcm1lZC1kaWZmcy5odG1sVVQFAAPYpiVQdXgLAAEE6AMAAAToAwAA
UEsBAh4DCgAAAAAAswILQQAAAAAAAAAAAAAAACQAGAAAAAAAAAAQAO1BhSMCAHRtcC9sYXlvdXQt
dGVzdC1yZXN1bHRzL2Zhc3QvbG9hZGVyL1VUBQADkqUlUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQA
AgAIALMCC0FBOn/TmgcAAPgXAABDABgAAAAAAAEAAACkgeMjAgB0bXAvbGF5b3V0LXRlc3QtcmVz
dWx0cy9mYXN0L2xvYWRlci9sb2FkSW5Qcm9ncmVzcy1wcmV0dHktZGlmZi5odG1sVVQFAAOSpSVQ
dXgLAAEE6AMAAAToAwAAUEsBAh4DCgACAAAAswILQdbR2nkuAAAALgAAAD8AGAAAAAAAAQAAAKSB
+isCAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvbG9hZGVyL2xvYWRJblByb2dyZXNzLWV4
cGVjdGVkLnR4dFVUBQADkaUlUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIALMCC0FsoyryvgAA
APAAAAA9ABgAAAAAAAEAAACkgaEsAgB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2xvYWRl
ci9sb2FkSW5Qcm9ncmVzcy13ZGlmZi5odG1sVVQFAAORpSVQdXgLAAEE6AMAAAToAwAAUEsBAh4D
FAACAAgAswILQSkmd2l0AAAAfQAAAD0AGAAAAAAAAQAAAKSB1i0CAHRtcC9sYXlvdXQtdGVzdC1y
ZXN1bHRzL2Zhc3QvbG9hZGVyL2xvYWRJblByb2dyZXNzLWFjdHVhbC50eHRVVAUAA5GlJVB1eAsA
AQToAwAABOgDAABQSwECHgMUAAIACACzAgtBNF0G5sUAAAAaAQAAOwAYAAAAAAABAAAApIHBLgIA
dG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9sb2FkZXIvbG9hZEluUHJvZ3Jlc3MtZGlmZi50
eHRVVAUAA5GlJVB1eAsAAQToAwAABOgDAABQSwECHgMKAAAAAADUAgtBAAAAAAAAAAAAAAAAIQAY
AAAAAAAAABAA7UH7LwIAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC94c2wvVVQFAAPPpSVQ
dXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgA1AILQYFKd61LAAAArAAAAEwAGAAAAAAAAQAAAKSB
VjACAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QveHNsL3hzbHQtdHJhbnNmb3JtLXRvLWZy
YWdtZW50LWNyYXNoLXN0ZGVyci50eHRVVAUAA8+lJVB1eAsAAQToAwAABOgDAABQSwECHgMUAAIA
CADUAgtBUF1IN4wAAAD4AAAAOAAYAAAAAAABAAAApIEnMQIAdG1wL2xheW91dC10ZXN0LXJlc3Vs
dHMvZmFzdC94c2wveHNsdC1kb2MtZW5jLXN0ZGVyci50eHRVVAUAA8+lJVB1eAsAAQToAwAABOgD
AABQSwECHgMUAAIACADUAgtBUF1IN4wAAAD4AAAAPwAYAAAAAAABAAAApIElMgIAdG1wL2xheW91
dC10ZXN0LXJlc3VsdHMvZmFzdC94c2wveHNsdC1iYWQtaW1wb3J0LXVyaS1zdGRlcnIudHh0VVQF
AAPPpSVQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgA0wILQW1H1F6FAAAA8QAAAD0AGAAAAAAA
AQAAAKSBKjMCAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QveHNsL3RyYW5zZm9ybS14aHIt
ZG9jLXN0ZGVyci50eHRVVAUAA86lJVB1eAsAAQToAwAABOgDAABQSwECHgMKAAAAAACAAgtBAAAA
AAAAAAAAAAAAJAAYAAAAAAAAABAA7UEmNAIAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9j
YW52YXMvVVQFAAMvpSVQdXgLAAEE6AMAAAToAwAAUEsBAh4DCgAAAAAAhAILQQAAAAAAAAAAAAAA
ACoAGAAAAAAAAAAQAO1BhDQCAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvY2FudmFzL3dl
YmdsL1VUBQADOKUlUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAIICC0Fdr6t/xgAAAOABAABK
ABgAAAAAAAEAAACkgeg0AgB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2NhbnZhcy93ZWJn
bC9zaGFkZXItcHJlY2lzaW9uLWZvcm1hdC1kaWZmLnR4dFVUBQADM6UlUHV4CwABBOgDAAAE6AMA
AFBLAQIeAxQAAgAIAIICC0EfGWN5+wEAAA4MAABOABgAAAAAAAEAAACkgTI2AgB0bXAvbGF5b3V0
LXRlc3QtcmVzdWx0cy9mYXN0L2NhbnZhcy93ZWJnbC9zaGFkZXItcHJlY2lzaW9uLWZvcm1hdC1l
eHBlY3RlZC50eHRVVAUAAzOlJVB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACACAAgtBO2nDt6kA
AADVAgAAUQAYAAAAAAABAAAApIG1OAIAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9jYW52
YXMvd2ViZ2wvZ2wtdmVydGV4LWF0dHJpYi16ZXJvLWlzc3Vlcy1zdGRlcnIudHh0VVQFAAMwpSVQ
dXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAgQILQV2vs1fZAAAANAEAAEUAGAAAAAAAAQAAAKSB
6TkCAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvY2FudmFzL3dlYmdsL2luZGV4LXZhbGlk
YXRpb24tc3RkZXJyLnR4dFVUBQADMaUlUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAIICC0EZ
S4sTtQcAAMEbAABSABgAAAAAAAEAAACkgUE7AgB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0
L2NhbnZhcy93ZWJnbC9zaGFkZXItcHJlY2lzaW9uLWZvcm1hdC1wcmV0dHktZGlmZi5odG1sVVQF
AAMzpSVQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAgAILQXirexXHAAAASgYAAE4AGAAAAAAA
AQAAAKSBgkMCAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvY2FudmFzL3dlYmdsL2RyYXct
YXJyYXlzLW91dC1vZi1ib3VuZHMtc3RkZXJyLnR4dFVUBQADL6UlUHV4CwABBOgDAAAE6AMAAFBL
AQIeAxQAAgAIAIACC0HO+VYsiQAAAP0AAABEABgAAAAAAAEAAACkgdFEAgB0bXAvbGF5b3V0LXRl
c3QtcmVzdWx0cy9mYXN0L2NhbnZhcy93ZWJnbC9lcnJvci1yZXBvcnRpbmctc3RkZXJyLnR4dFVU
BQADL6UlUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAIICC0E5aca6DAIAAD0MAABMABgAAAAA
AAEAAACkgdhFAgB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2NhbnZhcy93ZWJnbC9zaGFk
ZXItcHJlY2lzaW9uLWZvcm1hdC1hY3R1YWwudHh0VVQFAAMzpSVQdXgLAAEE6AMAAAToAwAAUEsB
Ah4DFAACAAgAgQILQZBzHv3MAAAAogEAAEoAGAAAAAAAAQAAAKSBakgCAHRtcC9sYXlvdXQtdGVz
dC1yZXN1bHRzL2Zhc3QvY2FudmFzL3dlYmdsL3ByZW11bHRpcGx5YWxwaGEtdGVzdC1zdGRlcnIu
dHh0VVQFAAMypSVQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAhAILQapdL+WIAAAAkQAAAEoA
GAAAAAAAAQAAAKSBukkCAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvY2FudmFzL3dlYmds
L3dlYmdsLWNvbXBvc2l0ZS1tb2Rlcy1zdGRlcnIudHh0VVQFAAM4pSVQdXgLAAEE6AMAAAToAwAA
UEsBAh4DFAACAAgAgAILQUxO1L78AAAAswkAAFAAGAAAAAAAAQAAAKSBxkoCAHRtcC9sYXlvdXQt
dGVzdC1yZXN1bHRzL2Zhc3QvY2FudmFzL3dlYmdsL2RyYXctZWxlbWVudHMtb3V0LW9mLWJvdW5k
cy1zdGRlcnIudHh0VVQFAAMvpSVQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAgwILQTi6wAA7
AQAAcwwAAEkAGAAAAAAAAQAAAKSBTEwCAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvY2Fu
dmFzL3dlYmdsL3R5cGUtY29udmVyc2lvbi10ZXN0LXN0ZGVyci50eHRVVAUAAzWlJVB1eAsAAQTo
AwAABOgDAABQSwECHgMUAAIACACCAgtBZZOZH1sCAADdDAAATAAYAAAAAAABAAAApIEKTgIAdG1w
L2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9jYW52YXMvd2ViZ2wvc2hhZGVyLXByZWNpc2lvbi1m
b3JtYXQtd2RpZmYuaHRtbFVUBQADM6UlUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAIECC0FV
RAmwqgAAAIwCAABUABgAAAAAAAEAAACkgetQAgB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0
L2NhbnZhcy93ZWJnbC9pbmRleC12YWxpZGF0aW9uLWNvcGllcy1pbmRpY2VzLXN0ZGVyci50eHRV
VAUAAzGlJVB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACACBAgtBF3MV0ZwAAABGAQAAXwAYAAAA
AAABAAAApIEjUgIAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9jYW52YXMvd2ViZ2wvaW5k
ZXgtdmFsaWRhdGlvbi12ZXJpZmllcy10b28tbWFueS1pbmRpY2VzLXN0ZGVyci50eHRVVAUAAzGl
JVB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACACAAgtBdkg+QpUAAAD6AQAARAAYAAAAAAABAAAA
pIFYUwIAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9jYW52YXMvd2ViZ2wvZ2V0LWFjdGl2
ZS10ZXN0LXN0ZGVyci50eHRVVAUAAy+lJVB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACACAAgtB
3sDr4JMAAAAiAQAAUQAYAAAAAAABAAAApIFrVAIAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFz
dC9jYW52YXMvd2ViZ2wvZ2wtYmluZC1hdHRyaWItbG9jYXRpb24tdGVzdC1zdGRlcnIudHh0VVQF
AAMwpSVQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAgQILQZ8JlgBXAAAAXwAAAEoAGAAAAAAA
AQAAAKSBiVUCAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvY2FudmFzL3dlYmdsL251bGwt
b2JqZWN0LWJlaGF2aW91ci1zdGRlcnIudHh0VVQFAAMxpSVQdXgLAAEE6AMAAAToAwAAUEsBAh4D
CgAAAAAAmAILQQAAAAAAAAAAAAAAACgAGAAAAAAAAAAQAO1BZFYCAHRtcC9sYXlvdXQtdGVzdC1y
ZXN1bHRzL2Zhc3QvZmlsZXN5c3RlbS9VVAUAA1+lJVB1eAsAAQToAwAABOgDAABQSwECHgMUAAIA
CACXAgtBZ4g8BWQAAABvAAAAOgAYAAAAAAABAAAApIHGVgIAdG1wL2xheW91dC10ZXN0LXJlc3Vs
dHMvZmFzdC9maWxlc3lzdGVtL29wLWNvcHktc3RkZXJyLnR4dFVUBQADXqUlUHV4CwABBOgDAAAE
6AMAAFBLAQIeAxQAAgAIAJgCC0ECDuA+ZAAAAG8AAAA6ABgAAAAAAAEAAACkgZ5XAgB0bXAvbGF5
b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2ZpbGVzeXN0ZW0vb3AtbW92ZS1zdGRlcnIudHh0VVQFAANf
pSVQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAmAILQd8KrbNkAAAAbwAAADwAGAAAAAAAAQAA
AKSBdlgCAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvZmlsZXN5c3RlbS9vcC1yZW1vdmUt
c3RkZXJyLnR4dFVUBQADX6UlUHV4CwABBOgDAAAE6AMAAFBLAQIeAwoAAAAAADUCC0EAAAAAAAAA
AAAAAAAkABgAAAAAAAAAEADtQVBZAgB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9jb21wb3NpdGlu
Zy9VVAUAA6WkJVB1eAsAAQToAwAABOgDAABQSwECHgMKAAAAAAA1AgtBAAAAAAAAAAAAAAAALQAY
AAAAAAAAABAA7UGuWQIAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvY29tcG9zaXRpbmcvb3ZlcmZs
b3cvVVQFAAOlpCVQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAYgMLQWSHjroxAgAAlQUAAEcA
GAAAAAAAAQAAAKSBFVoCAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2NvbXBvc2l0aW5nL292ZXJm
bG93L292ZXJmbG93LXNjcm9sbC1kaWZmcy5odG1sVVQFAAPXpiVQdXgLAAEE6AMAAAToAwAAUEsB
Ah4DFAACAAgAYgMLQegqdKKvGgAA7zEAAEUAGAAAAAAAAAAAAKSBx1wCAHRtcC9sYXlvdXQtdGVz
dC1yZXN1bHRzL2NvbXBvc2l0aW5nL292ZXJmbG93L292ZXJmbG93LXNjcm9sbC1kaWZmLnBuZ1VU
BQAD16YlUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAGIDC0Gro/4uUBgAAIArAABJABgAAAAA
AAAAAACkgfV3AgB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9jb21wb3NpdGluZy9vdmVyZmxvdy9v
dmVyZmxvdy1zY3JvbGwtZXhwZWN0ZWQucG5nVVQFAAPXpiVQdXgLAAEE6AMAAAToAwAAUEsBAh4D
FAACAAgAYgMLQSXzCkNpIAAA1SwAAEcAGAAAAAAAAAAAAKSByJACAHRtcC9sYXlvdXQtdGVzdC1y
ZXN1bHRzL2NvbXBvc2l0aW5nL292ZXJmbG93L292ZXJmbG93LXNjcm9sbC1hY3R1YWwucG5nVVQF
AAPXpiVQdXgLAAEE6AMAAAToAwAAUEsBAh4DCgAAAAAALAILQQAAAAAAAAAAAAAAAC0AGAAAAAAA
AAAQAO1BsrECAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2NvbXBvc2l0aW5nL2dlb21ldHJ5L1VU
BQADk6QlUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAGEDC0HbWFbJTggAAHkkAABCABgAAAAA
AAEAAACkgRmyAgB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9jb21wb3NpdGluZy9nZW9tZXRyeS9j
bGlwLXByZXR0eS1kaWZmLmh0bWxVVAUAA9amJVB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACABh
AwtBsWMue+8AAADiAgAAOgAYAAAAAAABAAAApIHjugIAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMv
Y29tcG9zaXRpbmcvZ2VvbWV0cnkvY2xpcC1kaWZmLnR4dFVUBQAD1qYlUHV4CwABBOgDAAAE6AMA
AFBLAQIeAxQAAgAIAGEDC0Fv3TtwZQEAACEFAAA8ABgAAAAAAAEAAACkgUa8AgB0bXAvbGF5b3V0
LXRlc3QtcmVzdWx0cy9jb21wb3NpdGluZy9nZW9tZXRyeS9jbGlwLXdkaWZmLmh0bWxVVAUAA9am
JVB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACABhAwtBHzXKJQUBAADUAwAAPgAYAAAAAAABAAAA
pIEhvgIAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvY29tcG9zaXRpbmcvZ2VvbWV0cnkvY2xpcC1l
eHBlY3RlZC50eHRVVAUAA9amJVB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACABhAwtBwwMxkf4A
AADUAwAAPAAYAAAAAAABAAAApIGevwIAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvY29tcG9zaXRp
bmcvZ2VvbWV0cnkvY2xpcC1hY3R1YWwudHh0VVQFAAPWpiVQdXgLAAEE6AMAAAToAwAAUEsBAh4D
FAACAAgAYQMLQUPQHOYYpQAAf9YHACYAGAAAAAAAAQAAAKSBEsECAHRtcC9sYXlvdXQtdGVzdC1y
ZXN1bHRzL2FjY2Vzc19sb2cudHh0VVQFAAPVpiVQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgA
VAMLQRyULOUIqwAA32cFACYAGAAAAAAAAQAAAKSBimYDAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRz
L3Rlc3RzX3J1bjMudHh0VVQFAAPApiVQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAYQMLQZo/
Cr69GwAAE8oCACUAGAAAAAAAAQAAAKSB8hEEAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Vycm9y
X2xvZy50eHRVVAUAA9WmJVB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACACkAgtB0rfoawgBAACP
AgAAQwAYAAAAAAABAAAApIEOLgQAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcHl3ZWJzb2NrZXQu
d3MubG9nLTExQXVnMjAxMi0wMDE2NTUtb3V0LnR4dFVUBQADc6UlUHV4CwABBOgDAAAE6AMAAFBL
AQIeAwoAAAAAAMYCC0EAAAAAAAAAAAAAAAAhABgAAAAAAAAAEADtQZMvBAB0bXAvbGF5b3V0LXRl
c3QtcmVzdWx0cy9wbGF0Zm9ybS9VVAUAA7SlJVB1eAsAAQToAwAABOgDAABQSwECHgMKAAAAAAAV
AwtBAAAAAAAAAAAAAAAAKgAYAAAAAAAAABAA7UHuLwQAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMv
cGxhdGZvcm0vY2hyb21pdW0vVVQFAANKpiVQdXgLAAEE6AMAAAToAwAAUEsBAh4DCgAAAAAAFQML
QQAAAAAAAAAAAAAAADIAGAAAAAAAAAAQAO1BUjAEAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3Bs
YXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvVVQFAANKpiVQdXgLAAEE6AMAAAToAwAAUEsBAh4DCgAA
AAAAFQMLQQAAAAAAAAAAAAAAADYAGAAAAAAAAAAQAO1BvjAEAHRtcC9sYXlvdXQtdGVzdC1yZXN1
bHRzL3BsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvZ3B1L1VUBQADSqYlUHV4CwABBOgDAAAE6AMA
AFBLAQIeAwoAAAAAABUDC0EAAAAAAAAAAAAAAAA7ABgAAAAAAAAAEADtQS4xBAB0bXAvbGF5b3V0
LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9mYXN0L1VUBQADSqYl
UHV4CwABBOgDAAAE6AMAAFBLAQIeAwoAAAAAABUDC0EAAAAAAAAAAAAAAABCABgAAAAAAAAAEADt
QaMxBAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL2dw
dS9mYXN0L2NhbnZhcy9VVAUAA0qmJVB1eAsAAQToAwAABOgDAABQSwECHgMKAAAAAAAZAwtBAAAA
AAAAAAAAAAAASAAYAAAAAAAAABAA7UEfMgQAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZv
cm0vY2hyb21pdW0vdmlydHVhbC9ncHUvZmFzdC9jYW52YXMvd2ViZ2wvVVQFAANSpiVQdXgLAAEE
6AMAAAToAwAAUEsBAh4DFAACAAgAFwMLQS2aaSvYAAAAHAIAAGgAGAAAAAAAAQAAAKSBoTIEAHRt
cC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvZ3B1L2Zhc3Qv
Y2FudmFzL3dlYmdsL3NoYWRlci1wcmVjaXNpb24tZm9ybWF0LWRpZmYudHh0VVQFAANNpiVQdXgL
AAEE6AMAAAToAwAAUEsBAh4DFAACAAgAFwMLQR8ZY3n7AQAADgwAAGwAGAAAAAAAAQAAAKSBGzQE
AHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvZ3B1L2Zh
c3QvY2FudmFzL3dlYmdsL3NoYWRlci1wcmVjaXNpb24tZm9ybWF0LWV4cGVjdGVkLnR4dFVUBQAD
TaYlUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIABYDC0FxTYNhqQAAANUCAABvABgAAAAAAAEA
AACkgbw2BAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFs
L2dwdS9mYXN0L2NhbnZhcy93ZWJnbC9nbC12ZXJ0ZXgtYXR0cmliLXplcm8taXNzdWVzLXN0ZGVy
ci50eHRVVAUAA0umJVB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACAAWAwtB2XSi39oAAAA0AQAA
YwAYAAAAAAABAAAApIEOOAQAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21p
dW0vdmlydHVhbC9ncHUvZmFzdC9jYW52YXMvd2ViZ2wvaW5kZXgtdmFsaWRhdGlvbi1zdGRlcnIu
dHh0VVQFAANMpiVQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAFwMLQXU2MIvNBwAA3xsAAHAA
GAAAAAAAAQAAAKSBhTkEAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVt
L3ZpcnR1YWwvZ3B1L2Zhc3QvY2FudmFzL3dlYmdsL3NoYWRlci1wcmVjaXNpb24tZm9ybWF0LXBy
ZXR0eS1kaWZmLmh0bWxVVAUAA02mJVB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACAAVAwtBujqU
EcYAAABKBgAAbAAYAAAAAAABAAAApIH8QQQAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZv
cm0vY2hyb21pdW0vdmlydHVhbC9ncHUvZmFzdC9jYW52YXMvd2ViZ2wvZHJhdy1hcnJheXMtb3V0
LW9mLWJvdW5kcy1zdGRlcnIudHh0VVQFAANKpiVQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgA
FQMLQXl/2FWLAAAA/QAAAGIAGAAAAAAAAQAAAKSBaEMEAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRz
L3BsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvZ3B1L2Zhc3QvY2FudmFzL3dlYmdsL2Vycm9yLXJl
cG9ydGluZy1zdGRlcnIudHh0VVQFAANKpiVQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAFwML
QTlpxroMAgAAPQwAAGoAGAAAAAAAAQAAAKSBj0QEAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3Bs
YXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvZ3B1L2Zhc3QvY2FudmFzL3dlYmdsL3NoYWRlci1wcmVj
aXNpb24tZm9ybWF0LWFjdHVhbC50eHRVVAUAA02mJVB1eAsAAQToAwAABOgDAABQSwECHgMUAAIA
CAAZAwtBMKNUT4YAAACRAAAAaAAYAAAAAAABAAAApIE/RwQAdG1wL2xheW91dC10ZXN0LXJlc3Vs
dHMvcGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9ncHUvZmFzdC9jYW52YXMvd2ViZ2wvd2ViZ2wt
Y29tcG9zaXRlLW1vZGVzLXN0ZGVyci50eHRVVAUAA1KmJVB1eAsAAQToAwAABOgDAABQSwECHgMU
AAIACAAVAwtB2yO2LgEBAACzCQAAbgAYAAAAAAABAAAApIFnSAQAdG1wL2xheW91dC10ZXN0LXJl
c3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9ncHUvZmFzdC9jYW52YXMvd2ViZ2wvZHJh
dy1lbGVtZW50cy1vdXQtb2YtYm91bmRzLXN0ZGVyci50eHRVVAUAA0qmJVB1eAsAAQToAwAABOgD
AABQSwECHgMUAAIACAAYAwtBAZEVEz0BAABzDAAAZwAYAAAAAAABAAAApIEQSgQAdG1wL2xheW91
dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9ncHUvZmFzdC9jYW52YXMv
d2ViZ2wvdHlwZS1jb252ZXJzaW9uLXRlc3Qtc3RkZXJyLnR4dFVUBQADUKYlUHV4CwABBOgDAAAE
6AMAAFBLAQIeAxQAAgAIABYDC0E3yDZ/ywAAAKIBAABoABgAAAAAAAEAAACkge5LBAB0bXAvbGF5
b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9mYXN0L2NhbnZh
cy93ZWJnbC9udWxsLXVuaWZvcm0tbG9jYXRpb24tc3RkZXJyLnR4dFVUBQADTKYlUHV4CwABBOgD
AAAE6AMAAFBLAQIeAxQAAgAIABcDC0Flk5kfWwIAAN0MAABqABgAAAAAAAEAAACkgVtNBAB0bXAv
bGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9mYXN0L2Nh
bnZhcy93ZWJnbC9zaGFkZXItcHJlY2lzaW9uLWZvcm1hdC13ZGlmZi5odG1sVVQFAANNpiVQdXgL
AAEE6AMAAAToAwAAUEsBAh4DFAACAAgAFgMLQW4cQLupAAAAjAIAAHIAGAAAAAAAAQAAAKSBWlAE
AHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvZ3B1L2Zh
c3QvY2FudmFzL3dlYmdsL2luZGV4LXZhbGlkYXRpb24tY29waWVzLWluZGljZXMtc3RkZXJyLnR4
dFVUBQADTKYlUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIABYDC0GTKDZUnQAAAEYBAAB9ABgA
AAAAAAEAAACkga9RBAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS92
aXJ0dWFsL2dwdS9mYXN0L2NhbnZhcy93ZWJnbC9pbmRleC12YWxpZGF0aW9uLXZlcmlmaWVzLXRv
by1tYW55LWluZGljZXMtc3RkZXJyLnR4dFVUBQADTKYlUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQA
AgAIABUDC0GBVk+flgAAAPoBAABiABgAAAAAAAEAAACkgQNTBAB0bXAvbGF5b3V0LXRlc3QtcmVz
dWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9mYXN0L2NhbnZhcy93ZWJnbC9nZXQt
YWN0aXZlLXRlc3Qtc3RkZXJyLnR4dFVUBQADSqYlUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAI
ABUDC0E35fhSlAAAACIBAABvABgAAAAAAAEAAACkgTVUBAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0
cy9wbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9mYXN0L2NhbnZhcy93ZWJnbC9nbC1iaW5k
LWF0dHJpYi1sb2NhdGlvbi10ZXN0LXN0ZGVyci50eHRVVAUAA0qmJVB1eAsAAQToAwAABOgDAABQ
SwECHgMUAAIACAAWAwtBFqXD91cAAABfAAAAaAAYAAAAAAABAAAApIFyVQQAdG1wL2xheW91dC10
ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9ncHUvZmFzdC9jYW52YXMvd2Vi
Z2wvbnVsbC1vYmplY3QtYmVoYXZpb3VyLXN0ZGVyci50eHRVVAUAA0ymJVB1eAsAAQToAwAABOgD
AABQSwECHgMKAAAAAADGAgtBAAAAAAAAAAAAAAAALwAYAAAAAAAAABAA7UFrVgQAdG1wL2xheW91
dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vaHR0cC9VVAUAA7SlJVB1eAsAAQToAwAA
BOgDAABQSwECHgMKAAAAAADGAgtBAAAAAAAAAAAAAAAANQAYAAAAAAAAABAA7UHUVgQAdG1wL2xh
eW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vaHR0cC90ZXN0cy9VVAUAA7SlJVB1
eAsAAQToAwAABOgDAABQSwECHgMKAAAAAADGAgtBAAAAAAAAAAAAAAAAPgAYAAAAAAAAABAA7UFD
VwQAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vaHR0cC90ZXN0cy9z
ZWN1cml0eS9VVAUAA7SlJVB1eAsAAQToAwAABOgDAABQSwECHgMKAAAAAADGAgtBAAAAAAAAAAAA
AAAASwAYAAAAAAAAABAA7UG7VwQAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hy
b21pdW0vaHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENvbnRlbnQvVVQFAAO0pSVQdXgLAAEE6AMA
AAToAwAAUEsBAh4DFAACAAgAxgILQb9eVANsAAAAcAAAAHsAGAAAAAAAAQAAAKSBQFgEAHRtcC9s
YXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL2h0dHAvdGVzdHMvc2VjdXJpdHkv
bWl4ZWRDb250ZW50L2luc2VjdXJlLWlmcmFtZS1pbi1tYWluLWZyYW1lLWFsbG93ZWQtc3RkZXJy
LnR4dFVUBQADtKUlUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAKcCC0E2H2WhAwQAAD8tAABD
ABgAAAAAAAEAAACkgWFZBAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9weXdlYnNvY2tldC53cy5s
b2ctMTFBdWcyMDEyLTAwMTY1NS1lcnIudHh0VVQFAAN5pSVQdXgLAAEE6AMAAAToAwAAUEsBAh4D
FAACAAgAVQMLQYybgBZlYQAACNECACYAGAAAAAAAAQAAAKSB4V0EAHRtcC9sYXlvdXQtdGVzdC1y
ZXN1bHRzL3Rlc3RzX3J1bjAudHh0VVQFAAPBpiVQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgA
aAMLQbeaoZvwJAAAg50AACQAGAAAAAAAAQAAAKSBpr8EAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRz
L3Jlc3VsdHMuaHRtbFVUBQAD5KYlUHV4CwABBOgDAAAE6AMAAFBLAQIeAwoAAAAAABcDC0EAAAAA
AAAAAAAAAAAgABgAAAAAAAAAEADtQfTkBAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbHVnaW5z
L1VUBQADTaYlUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIABcDC0F+dxd87gAAAFUBAABEABgA
AAAAAAEAAACkgU7lBAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbHVnaW5zL251bGwtbnBwLWdl
dHZhbHVlLXBvaW50ZXItc3RkZXJyLnR4dFVUBQADTaYlUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQA
AgAIAGgDC0F7pE5cRQIAAMYFAAApABgAAAAAAAEAAACkgbrmBAB0bXAvbGF5b3V0LXRlc3QtcmVz
dWx0cy9mdWxsX3Jlc3VsdHMuanNvblVUBQAD5KYlUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAI
AGADC0GR7GaBGiQAAG9hAAAiABgAAAAAAAEAAACkgWLpBAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0
cy9odHRwZC5jb25mVVQFAAPTpiVQdXgLAAEE6AMAAAToAwAAUEsBAh4DCgAAAAAAIgILQQAAAAAA
AAAAAAAAAB0AGAAAAAAAAAAQAO1B2A0FAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvVVQF
AAN/pCVQdXgLAAEE6AMAAAToAwAAUEsBAh4DCgAAAAAAjgILQQAAAAAAAAAAAAAAACMAGAAAAAAA
AAAQAO1BLw4FAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvVVQFAANLpSVQdXgL
AAEE6AMAAAToAwAAUEsBAh4DCgAAAAAAIgILQQAAAAAAAAAAAAAAACkAGAAAAAAAAAAQAO1BjA4F
AHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvY2FjaGUvVVQFAAN/pCVQdXgLAAEE
6AMAAAToAwAAUEsBAh4DFAACAAgAIgILQf7BpR1AAQAAWgIAAEUAGAAAAAAAAQAAAKSB7w4FAHRt
cC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvY2FjaGUvcG9zdC1yZWRpcmVjdC1nZXQt
YWN0dWFsLnR4dFVUBQADf6QlUHV4CwABBOgDAAAE6AMAAFBLAQIeAwoAAgAAACICC0Gc6ad1BgAA
AAYAAABHABgAAAAAAAEAAACkga4QBQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3Rz
L2NhY2hlL3Bvc3QtcmVkaXJlY3QtZ2V0LWV4cGVjdGVkLnR4dFVUBQADf6QlUHV4CwABBOgDAAAE
6AMAAFBLAQIeAxQAAgAIACICC0FXNUJbmQEAABcDAABDABgAAAAAAAEAAACkgTURBQB0bXAvbGF5
b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL2NhY2hlL3Bvc3QtcmVkaXJlY3QtZ2V0LWRpZmYu
dHh0VVQFAAN/pCVQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAIgILQbnHjybbHwAAqCsAAEUA
GAAAAAAAAAAAAKSBSxMFAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvY2FjaGUv
cG9zdC1yZWRpcmVjdC1nZXQtYWN0dWFsLnBuZ1VUBQADf6QlUHV4CwABBOgDAAAE6AMAAFBLAQIe
AxQAAgAIACICC0GNpXyKjwEAAOgCAABFABgAAAAAAAEAAACkgaUzBQB0bXAvbGF5b3V0LXRlc3Qt
cmVzdWx0cy9odHRwL3Rlc3RzL2NhY2hlL3Bvc3QtcmVkaXJlY3QtZ2V0LXdkaWZmLmh0bWxVVAUA
A3+kJVB1eAsAAQToAwAABOgDAABQSwECHgMKAAIAAAAiAgtBnOmndQYAAAAGAAAAUwAYAAAAAAAB
AAAApIGzNQUAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9jYWNoZS9wb3N0LXdp
dGgtY2FjaGVkLXN1YnJlc291cmNlcy1leHBlY3RlZC50eHRVVAUAA3+kJVB1eAsAAQToAwAABOgD
AABQSwECHgMUAAIACAAiAgtB1fYdYpAIAAAbHwAAVwAYAAAAAAABAAAApIFGNgUAdG1wL2xheW91
dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9jYWNoZS9wb3N0LXdpdGgtY2FjaGVkLXN1YnJlc291
cmNlcy1wcmV0dHktZGlmZi5odG1sVVQFAAN/pCVQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgA
IgILQY2lfIqPAQAA6AIAAFEAGAAAAAAAAQAAAKSBZz8FAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRz
L2h0dHAvdGVzdHMvY2FjaGUvcG9zdC13aXRoLWNhY2hlZC1zdWJyZXNvdXJjZXMtd2RpZmYuaHRt
bFVUBQADf6QlUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIACICC0G5x48m2x8AAKgrAABRABgA
AAAAAAAAAACkgYFBBQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL2NhY2hlL3Bv
c3Qtd2l0aC1jYWNoZWQtc3VicmVzb3VyY2VzLWFjdHVhbC5wbmdVVAUAA3+kJVB1eAsAAQToAwAA
BOgDAABQSwECHgMUAAIACAAiAgtBnEKPLYkIAAAPHwAASwAYAAAAAAABAAAApIHnYQUAdG1wL2xh
eW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9jYWNoZS9wb3N0LXJlZGlyZWN0LWdldC1wcmV0
dHktZGlmZi5odG1sVVQFAAN/pCVQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAIgILQdsolAOh
AQAALwMAAE8AGAAAAAAAAQAAAKSB9WoFAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVz
dHMvY2FjaGUvcG9zdC13aXRoLWNhY2hlZC1zdWJyZXNvdXJjZXMtZGlmZi50eHRVVAUAA3+kJVB1
eAsAAQToAwAABOgDAABQSwECHgMUAAIACAAiAgtB/sGlHUABAABaAgAAUQAYAAAAAAABAAAApIEf
bQUAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9jYWNoZS9wb3N0LXdpdGgtY2Fj
aGVkLXN1YnJlc291cmNlcy1hY3R1YWwudHh0VVQFAAN/pCVQdXgLAAEE6AMAAAToAwAAUEsBAh4D
CgAAAAAAcwILQQAAAAAAAAAAAAAAACgAGAAAAAAAAAAQAO1B6m4FAHRtcC9sYXlvdXQtdGVzdC1y
ZXN1bHRzL2h0dHAvdGVzdHMvbWlzYy9VVAUAAxqlJVB1eAsAAQToAwAABOgDAABQSwECHgMUAAIA
CABzAgtBFTU1knoAAAC8AAAAQgAYAAAAAAABAAAApIFMbwUAdG1wL2xheW91dC10ZXN0LXJlc3Vs
dHMvaHR0cC90ZXN0cy9taXNjL3hzbHQtYmFkLWltcG9ydC1zdGRlcnIudHh0VVQFAAMapSVQdXgL
AAEE6AMAAAToAwAAUEsBAh4DFAACAAgAZwILQX+16YFsAAAAcAAAAEcAGAAAAAAAAQAAAKSBQnAF
AHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvbWlzYy9kbnMtcHJlZmV0Y2gtY29u
dHJvbC1zdGRlcnIudHh0VVQFAAMBpSVQdXgLAAEE6AMAAAToAwAAUEsBAh4DCgAAAAAAlAILQQAA
AAAAAAAAAAAAACwAGAAAAAAAAAAQAO1BL3EFAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAv
dGVzdHMvc2VjdXJpdHkvVVQFAANXpSVQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAjgILQVZw
UmliAAAAjgAAAFUAGAAAAAAAAQAAAKSBlXEFAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAv
dGVzdHMvc2VjdXJpdHkveHNzLURFTklFRC14bWwtZXh0ZXJuYWwtZW50aXR5LXN0ZGVyci50eHRV
VAUAA0ulJVB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACACOAgtBYEtmEJEAAAD7AQAAXQAYAAAA
AAABAAAApIGGcgUAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9zZWN1cml0eS94
c3MtREVOSUVELXhzbC1kb2N1bWVudC1zZWN1cml0eU9yaWdpbi1zdGRlcnIudHh0VVQFAANMpSVQ
dXgLAAEE6AMAAAToAwAAUEsBAh4DCgAAAAAAlAILQQAAAAAAAAAAAAAAAEIAGAAAAAAAAAAQAO1B
rnMFAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNl
Y3VyaXR5UG9saWN5L1VUBQADV6UlUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAJQCC0Fjqqxs
ggAAAKgAAABqABgAAAAAAAEAAACkgSp0BQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rl
c3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS94c2wtdW5hZmZlY3RlZC1ieS1zdHls
ZS1zcmMtMi1zdGRlcnIudHh0VVQFAANXpSVQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAlAIL
QWOqrGyCAAAAqAAAAFgAGAAAAAAAAQAAAKSBUHUFAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0
dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3hzbC1hbGxvd2VkLXN0ZGVy
ci50eHRVVAUAA1elJVB1eAsAAQToAwAABOgDAABQSwECHgMKAAAAAABhAwtBAAAAAAAAAAAAAAAA
IAAYAAAAAAAAABAA7UFkdgUAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcmV0cmllcy9VVAUAA9Wm
JVB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACABoAwtBaV+QmuYAAADMAQAALgAYAAAAAAABAAAA
pIG+dgUAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcmV0cmllcy90ZXN0c19ydW4wLnR4dFVUBQAD
46YlUHV4CwABBOgDAAAE6AMAAFBLBQYAAAAAgACAAOREAAAMeAUAAAA=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>161523</attachid>
            <date>2012-08-30 11:33:02 -0700</date>
            <delta_ts>2012-09-03 07:28:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-78862-20120830193250.patch</filename>
            <type>text/plain</type>
            <size>30686</size>
            <attacher name="Sami Kyöstilä">skyostil</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI3MDAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0v
Q2hhbmdlTG9nIGIvU291cmNlL1BsYXRmb3JtL0NoYW5nZUxvZwppbmRleCBhYjIxZTA1NWU0MGFm
ZTU1NzAxNTMyNzJkMDljNDFkMmQ4OTBmZGIxLi4zNDhkYmVmZjJiMmY0YmJjMzhjNjc1MjcyODNj
YmNlNThmM2U0YTc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMi0wOC0zMCAg
U2FtaSBLeW9zdGlsYSAgPHNreW9zdGlsQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmVnaXN0ZXIg
c2Nyb2xsaW5nIGxheWVycyB3aXRoIFNjcm9sbGluZ0Nvb3JkaW5hdG9yCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03ODg2MgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEludHJvZHVjZSBXZWJMYXllclNjcm9s
bERlbGVnYXRlIGZvciBub3RpZnlpbmcgYWJvdXQgc2Nyb2xsIGV2ZW50cyB0YXJnZXRpbmcgYSBX
ZWJMYXllci4KKworICAgICAgICAqIFBsYXRmb3JtLmd5cGk6CisgICAgICAgICogY2hyb21pdW0v
cHVibGljL1dlYkxheWVyLmg6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViTGF5ZXIp
OgorICAgICAgICAqIGNocm9taXVtL3B1YmxpYy9XZWJMYXllclNjcm9sbERlbGVnYXRlLmg6CisK
IDIwMTItMDgtMjcgIElhbiBWb2xsaWNrICA8dm9sbGlja0BjaHJvbWl1bS5vcmc+CiAKICAgICAg
ICAgW2Nocm9taXVtXSBTaG91bGQgYWNjZWxlcmF0ZSByb3RhdGlvbnMgb2YgPj0gMTgwIGRlZ3Jl
ZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZwppbmRleCA3MGExZGQ4M2FmYTIyMjM0NTFhNWY0ZGE1YTI4MzkzYWNmMTcyYzk3
Li41OGUxYjY0ZmFiY2RkZThmNmI0ZTdkMjc0NWE5MGZmMjQ0MjJmNDM5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsNjMgQEAKKzIwMTItMDgtMzAgIFNhbWkgS3lvc3RpbGEgIDxza3lvc3RpbEBnb29n
bGUuY29tPgorCisgICAgICAgIFJlZ2lzdGVyIHNjcm9sbGluZyBsYXllcnMgd2l0aCBTY3JvbGxp
bmdDb29yZGluYXRvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9Nzg4NjIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBJbiBvcmRlciB0byBhbGxvdyBzY3JvbGxhYmxlIGNoaWxkIGxheWVycyB0byBiZSBzY3Jv
bGxlZCBvZmYgdGhlIG1haW4KKyAgICAgICAgdGhyZWFkLCByZWdpc3RlciB0aGVtIHdpdGggdGhl
IFNjcm9sbGluZ0Nvb3JkaW5hdG9yLiBUaGVzZSBsYXllcnMgYXJlCisgICAgICAgIGFsc28gcmVt
b3ZlZCBmcm9tIHRoZSBub24tZmFzdCBzY3JvbGxhYmxlIHJlZ2lvbi4KKworICAgICAgICBGb3Ig
Q2hyb21pdW0sIHdlIGludHJvZHVjZSBhIFdlYkxheWVyU2Nyb2xsRGVsZWdhdGUgd2hpY2ggaXMg
bm90aWZpZWQgb2YKKyAgICAgICAgc2Nyb2xsIGV2ZW50cyBvbiBpdHMgYXNzb2NpYXRlZCBzY3Jv
bGwgbGF5ZXIuIEdyYXBoaWNzTGF5ZXJDaHJvbWl1bSB1c2VzCisgICAgICAgIGl0IHRvIGFwcGx5
IHNjcm9sbCBldmVudHMgdGFyZ2V0ZWQgdG8gaXRzIHBsYXRmb3JtIGxheWVyIHRvIGEKKyAgICAg
ICAgU2Nyb2xsYWJsZUFyZWEsIGkuZS4sIHRoZSBSZW5kZXJMYXllciBjb3JyZXNwb25kaW5nIHRv
IHRoZSBzY3JvbGxhYmxlCisgICAgICAgIGVsZW1lbnQuCisKKyAgICAgICAgVGVzdDogR3JhcGhp
Y3NMYXllckNocm9taXVtVGVzdC5hcHBseVNjcm9sbFRvU2Nyb2xsYWJsZUFyZWEKKworICAgICAg
ICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OmNvbXB1dGVOb25GYXN0U2Nyb2xsYWJsZVJlZ2lvbik6IENvbXBvc2l0ZWQgc2Nyb2xs
aW5nIGxheWVycyBkb24ndCBuZWVkIHRvIGJlIHBhcnQgb2YgdGhlIG5vbi1mYXN0IHNjcm9sbGFi
bGUgcmVnaW9uLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxp
bmdDb29yZGluYXRvcjo6c2Nyb2xsYWJsZUFyZWFTY3JvbGxMYXllckRpZENoYW5nZSk6CisgICAg
ICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaDoKKyAgICAgICAgKFdl
YkNvcmUpOgorICAgICAgICAoU2Nyb2xsaW5nQ29vcmRpbmF0b3IpOgorICAgICAgICAqIHBhZ2Uv
c2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTm9uZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpzY3JvbGxhYmxlQXJl
YVNjcm9sbExheWVyRGlkQ2hhbmdlKToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9jaHJvbWl1
bS9TY3JvbGxpbmdDb29yZGluYXRvckNocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNj
cm9sbGluZ0Nvb3JkaW5hdG9yOjpzY3JvbGxhYmxlQXJlYVNjcm9sbExheWVyRGlkQ2hhbmdlKToK
KyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmg6
CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxhYmxlQXJlYTo6dXNlc0NvbXBvc2l0ZWRTY3JvbGxp
bmcpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dyYXBoaWNzTGF5ZXJD
aHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVyQ2hyb21pdW06Okdy
YXBoaWNzTGF5ZXJDaHJvbWl1bSk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVyQ2hy
b21pdW06OmRpZFNjcm9sbCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9HcmFwaGljc0xheWVyQ2hyb21pdW0uaDoKKyAgICAgICAgKFdl
YkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllckNocm9taXVtOjpzZXRTY3Jv
bGxhYmxlQXJlYSk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVyQ2hyb21pdW06OnNj
cm9sbGFibGVBcmVhKToKKyAgICAgICAgKEdyYXBoaWNzTGF5ZXJDaHJvbWl1bSk6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJDaHJvbWl1bS5jcHA6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJDaHJvbWl1bS5oOgorICAgICAgICAo
V2ViS2l0KToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6TGF5ZXJDaHJv
bWl1bTo6c2V0TGF5ZXJTY3JvbGxEZWxlZ2F0ZSk6CisgICAgICAgIChMYXllckNocm9taXVtKToK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaDoKKyAgICAgICAgKFJlbmRlckxheWVy
KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlR3JhcGhpY3NMYXllckdlb21ldHJ5
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlU2Nyb2xsaW5n
TGF5ZXJzKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6c2Nyb2xsaW5nTGF5ZXJE
aWRDaGFuZ2UpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
ckxheWVyQ29tcG9zaXRvci5oOgorICAgICAgICAoUmVuZGVyTGF5ZXJDb21wb3NpdG9yKToKKwog
MjAxMi0wOC0yOSAgU2FtaSBLeW9zdGlsYSAgPHNreW9zdGlsQGdvb2dsZS5jb20+CiAKICAgICAg
ICAgRW5hYmxlL2Rpc2FibGUgY29tcG9zaXRlZCBzY3JvbGxpbmcgYmFzZWQgb24gb3ZlcmZsb3cK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggNGZlZWFjOTM2MzEwMGUyY2IxZGYzMzEzMGY1
NWJkOTJmNzUwMDc5MC4uNGUyZjRlMWU3MDM2OTI0MjY3YTlmYjM1NmE1OTdjMWM0YjQzZjJiOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAxMi0wOC0zMCAg
U2FtaSBLeW9zdGlsYSAgPHNreW9zdGlsQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmVnaXN0ZXIg
c2Nyb2xsaW5nIGxheWVycyB3aXRoIFNjcm9sbGluZ0Nvb3JkaW5hdG9yCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03ODg2MgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEludHJvZHVjZSBXZWJMYXllclNjcm9s
bERlbGVnYXRlIGZvciBub3RpZnlpbmcgYWJvdXQgc2Nyb2xsIGV2ZW50cyB0YXJnZXRpbmcgYSBX
ZWJMYXllci4KKworICAgICAgICAqIHNyYy9XZWJMYXllckltcGwuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJMYXllckltcGw6OnNldE1heFNjcm9sbFBvc2l0aW9uKToKKyAgICAgICAgKFdlYktp
dCk6CisgICAgICAgIChXZWJLaXQ6OldlYkxheWVySW1wbDo6c2V0U2Nyb2xsRGVsZWdhdGUpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJMYXllckltcGw6OnNjcm9sbEJ5KToKKyAgICAgICAgKiBzcmMv
V2ViTGF5ZXJJbXBsLmg6CisgICAgICAgIChXZWJMYXllckltcGwpOgorICAgICAgICAqIHRlc3Rz
L0NDTGF5ZXJUcmVlSG9zdFRlc3QuY3BwOgorICAgICAgICAqIHRlc3RzL0dyYXBoaWNzTGF5ZXJD
aHJvbWl1bVRlc3QuY3BwOgorICAgICAgICAoTW9ja1Njcm9sbGFibGVBcmVhKToKKyAgICAgICAg
KFdlYktpdCk6CisgICAgICAgIChXZWJLaXQ6OlRFU1RfRik6CisKIDIwMTItMDgtMjkgIFBldGVy
IEJldmVybG9vICA8cGV0ZXJAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQuICBS
b2xsZWQgREVQUy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9QbGF0Zm9ybS9QbGF0Zm9ybS5neXBpIGIv
U291cmNlL1BsYXRmb3JtL1BsYXRmb3JtLmd5cGkKaW5kZXggN2FiMDgyNjJhZmU3NjA3MTQ2ZTdj
ZTRiYTY0YmY0ZTVmNDdmNjkwNS4uMTRiZjc3MjhhMDY2YTFjN2U4NWNjNzg2ODFjYjA3MmE3NTEz
OWNmNSAxMDA2NDQKLS0tIGEvU291cmNlL1BsYXRmb3JtL1BsYXRmb3JtLmd5cGkKKysrIGIvU291
cmNlL1BsYXRmb3JtL1BsYXRmb3JtLmd5cGkKQEAgLTc3LDYgKzc3LDcgQEAKICAgICAgICAgICAg
ICdjaHJvbWl1bS9wdWJsaWMvV2ViSW1hZ2VMYXllci5oJywKICAgICAgICAgICAgICdjaHJvbWl1
bS9wdWJsaWMvV2ViSU9TdXJmYWNlTGF5ZXIuaCcsCiAgICAgICAgICAgICAnY2hyb21pdW0vcHVi
bGljL1dlYkxheWVyLmgnLAorICAgICAgICAgICAgJ2Nocm9taXVtL3B1YmxpYy9XZWJMYXllclNj
cm9sbERlbGVnYXRlLmgnLAogICAgICAgICAgICAgJ2Nocm9taXVtL3B1YmxpYy9XZWJMYXllclRy
ZWVWaWV3LmgnLAogICAgICAgICAgICAgJ2Nocm9taXVtL3B1YmxpYy9XZWJMYXllclRyZWVWaWV3
Q2xpZW50LmgnLAogICAgICAgICAgICAgJ2Nocm9taXVtL3B1YmxpYy9XZWJMb2NhbGl6ZWRTdHJp
bmcuaCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dlYkxh
eWVyLmggYi9Tb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dlYkxheWVyLmgKaW5kZXgg
OWJkZWI0YzAxYmJjNDMwOWRhNjg4MDdiNGFjMWJhOGY4Yzk4NmNhMS4uNmEwNjJkMjFiNTRhOTMy
MjRhMzM2MTA3ZjA2MGQ0YWMxMzFkZDYwOSAxMDA2NDQKLS0tIGEvU291cmNlL1BsYXRmb3JtL2No
cm9taXVtL3B1YmxpYy9XZWJMYXllci5oCisrKyBiL1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9w
dWJsaWMvV2ViTGF5ZXIuaApAQCAtNDAsNiArNDAsNyBAQCBjbGFzcyBTa01hdHJpeDQ0OwogbmFt
ZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBXZWJBbmltYXRpb25EZWxlZ2F0ZTsKIGNsYXNzIFdlYkZp
bHRlck9wZXJhdGlvbnM7CitjbGFzcyBXZWJMYXllclNjcm9sbERlbGVnYXRlOwogY2xhc3MgV2Vi
VHJhbnNmb3JtYXRpb25NYXRyaXg7CiBzdHJ1Y3QgV2ViRmxvYXRQb2ludDsKIHN0cnVjdCBXZWJG
bG9hdFJlY3Q7CkBAIC0xNjUsMTIgKzE2NiwxNSBAQCBwdWJsaWM6CiAKICAgICAvLyBTY3JvbGxp
bmcKICAgICB2aXJ0dWFsIHZvaWQgc2V0U2Nyb2xsUG9zaXRpb24oV2ViUG9pbnQpID0gMDsKKyAg
ICB2aXJ0dWFsIHZvaWQgc2V0TWF4U2Nyb2xsUG9zaXRpb24oV2ViU2l6ZSkgPSAwOwogICAgIHZp
cnR1YWwgdm9pZCBzZXRTY3JvbGxhYmxlKGJvb2wpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0
SGF2ZVdoZWVsRXZlbnRIYW5kbGVycyhib29sKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHNldFNo
b3VsZFNjcm9sbE9uTWFpblRocmVhZChib29sKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHNldE5v
bkZhc3RTY3JvbGxhYmxlUmVnaW9uKGNvbnN0IFdlYlZlY3RvcjxXZWJSZWN0PiYpID0gMDsKICAg
ICB2aXJ0dWFsIHZvaWQgc2V0SXNDb250YWluZXJGb3JGaXhlZFBvc2l0aW9uTGF5ZXJzKGJvb2wp
ID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0Rml4ZWRUb0NvbnRhaW5lckxheWVyKGJvb2wpID0g
MDsKKyAgICB2aXJ0dWFsIHZvaWQgc2Nyb2xsQnkoV2ViU2l6ZSkgPSAwOworICAgIHZpcnR1YWwg
dm9pZCBzZXRTY3JvbGxEZWxlZ2F0ZShXZWJMYXllclNjcm9sbERlbGVnYXRlKikgPSAwOwogCiAg
ICAgLy8gRm9yY2VzIHRoaXMgbGF5ZXIgdG8gdXNlIGEgcmVuZGVyIHN1cmZhY2UuIFRoZXJlIGlz
IG5vIGJlbmVmaXQgaW4gZG9pbmcKICAgICAvLyBzbywgYnV0IHRoaXMgaXMgdG8gZmFjaWxpdGF0
ZSBiZW5jaG1hcmtzIGFuZCB0ZXN0cy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9QbGF0Zm9ybS9jaHJv
bWl1bS9wdWJsaWMvV2ViTGF5ZXJTY3JvbGxEZWxlZ2F0ZS5oIGIvU291cmNlL1BsYXRmb3JtL2No
cm9taXVtL3B1YmxpYy9XZWJMYXllclNjcm9sbERlbGVnYXRlLmgKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTZiOTAx
NWMzOTlkZTAyNmY5ZWM2YTNkZWE5YmMwOGYwNzQ0OTljNQotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViTGF5ZXJTY3JvbGxEZWxlZ2F0ZS5oCkBA
IC0wLDAgKzEsMzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5E
IEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMKKyAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgV2ViTGF5ZXJTY3JvbGxEZWxl
Z2F0ZV9oCisjZGVmaW5lIFdlYkxheWVyU2Nyb2xsRGVsZWdhdGVfaAorCituYW1lc3BhY2UgV2Vi
S2l0IHsKKworc3RydWN0IFdlYlNpemU7CisKK2NsYXNzIFdlYkxheWVyU2Nyb2xsRGVsZWdhdGUg
eworcHVibGljOgorICAgIHZpcnR1YWwgdm9pZCBkaWRTY3JvbGwoY29uc3QgV2ViU2l6ZSYgc2Ny
b2xsRGVsdGEpID0gMDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8g
V2ViTGF5ZXJTY3JvbGxEZWxlZ2F0ZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5jcHAKaW5kZXggNDBmZWVkNzdjY2FlMTZm
MjRlZjkzNjlkMTFhYzZjZWE0MzdkY2ExNi4uNGYwYjljYTFjOTViMDE3ZGU5YWZlZDBiNDU4YjA1
NWE5ZTM0ODE0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Ny
b2xsaW5nQ29vcmRpbmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5n
L1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcApAQCAtMTE4LDYgKzExOCw5IEBAIHN0YXRpYyBSZWdp
b24gY29tcHV0ZU5vbkZhc3RTY3JvbGxhYmxlUmVnaW9uKEZyYW1lKiBmcmFtZSwgY29uc3QgSW50
UG9pbnQmIGZyYW1lCiAgICAgaWYgKGNvbnN0IEZyYW1lVmlldzo6U2Nyb2xsYWJsZUFyZWFTZXQq
IHNjcm9sbGFibGVBcmVhcyA9IGZyYW1lVmlldy0+c2Nyb2xsYWJsZUFyZWFzKCkpIHsKICAgICAg
ICAgZm9yIChGcmFtZVZpZXc6OlNjcm9sbGFibGVBcmVhU2V0Ojpjb25zdF9pdGVyYXRvciBpdCA9
IHNjcm9sbGFibGVBcmVhcy0+YmVnaW4oKSwgZW5kID0gc2Nyb2xsYWJsZUFyZWFzLT5lbmQoKTsg
aXQgIT0gZW5kOyArK2l0KSB7CiAgICAgICAgICAgICBTY3JvbGxhYmxlQXJlYSogc2Nyb2xsYWJs
ZUFyZWEgPSAqaXQ7CisgICAgICAgICAgICAvLyBDb21wb3NpdGVkIHNjcm9sbGFibGUgYXJlYXMg
Y2FuIGJlIHNjcm9sbGVkIG9mZiB0aGUgbWFpbiB0aHJlYWQuCisgICAgICAgICAgICBpZiAoc2Ny
b2xsYWJsZUFyZWEtPnVzZXNDb21wb3NpdGVkU2Nyb2xsaW5nKCkpCisgICAgICAgICAgICAgICAg
Y29udGludWU7CiAgICAgICAgICAgICBJbnRSZWN0IGJveCA9IHNjcm9sbGFibGVBcmVhLT5zY3Jv
bGxhYmxlQXJlYUJvdW5kaW5nQm94KCk7CiAgICAgICAgICAgICBib3gubW92ZUJ5KG9mZnNldCk7
CiAgICAgICAgICAgICBub25GYXN0U2Nyb2xsYWJsZVJlZ2lvbi51bml0ZShib3gpOwpAQCAtNDg4
LDYgKzQ5MSwxMSBAQCB2b2lkIFNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpzZXRMYXllcklzRml4ZWRU
b0NvbnRhaW5lckxheWVyKEdyYXBoaWNzTGF5ZXIqLCBib29sKQogewogICAgIC8vIEZJWE1FOiBJ
bXBsZW1lbnQhCiB9CisKK3ZvaWQgU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OnNjcm9sbGFibGVBcmVh
U2Nyb2xsTGF5ZXJEaWRDaGFuZ2UoU2Nyb2xsYWJsZUFyZWEqLCBHcmFwaGljc0xheWVyKikKK3sK
KyAgICAvLyBGSVhNRTogSW1wbGVtZW50LgorfQogI2VuZGlmIC8vICFFTkFCTEUoVEhSRUFERURf
U0NST0xMSU5HKQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5oIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaAppbmRleCA1ZDQ1ZWI2
MjAyZmZjZGVkMmNmMzY5ZTFlZjVjN2ZjODIxNzc3NzMxLi4yYWIzNGIyZDJkM2U2Zjc1MGEwNGQ4
NWU2ZjJkZjE3NDE5MDNkZDkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9s
bGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmgKQEAgLTQ4LDYgKzQ4LDcgQEAgY2xhc3MgRnJh
bWVWaWV3OwogY2xhc3MgR3JhcGhpY3NMYXllcjsKIGNsYXNzIFBhZ2U7CiBjbGFzcyBSZWdpb247
CitjbGFzcyBTY3JvbGxhYmxlQXJlYTsKIGNsYXNzIFNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJpdmF0
ZTsKIGNsYXNzIFNjcm9sbGluZ1RyZWVTdGF0ZTsKIApAQCAtOTIsNiArOTMsOSBAQCBwdWJsaWM6
CiAgICAgLy8gU2hvdWxkIGJlIGNhbGxlZCB3aGVuZXZlciB0aGUgdmVydGljYWwgc2Nyb2xsYmFy
IGxheWVyIGZvciB0aGUgZ2l2ZW4gZnJhbWUgdmlldyBjaGFuZ2VzLgogICAgIHZvaWQgZnJhbWVW
aWV3VmVydGljYWxTY3JvbGxiYXJMYXllckRpZENoYW5nZShGcmFtZVZpZXcqLCBHcmFwaGljc0xh
eWVyKiB2ZXJ0aWNhbFNjcm9sbGJhckxheWVyKTsKIAorICAgIC8vIFNob3VsZCBiZSBjYWxsZWQg
d2hlbmV2ZXIgdGhlIHNjcm9sbGFibGUgbGF5ZXIgZm9yIHRoZSBnaXZlbiBzY3JvbGwgYXJlYSBj
aGFuZ2VzLgorICAgIHZvaWQgc2Nyb2xsYWJsZUFyZWFTY3JvbGxMYXllckRpZENoYW5nZShTY3Jv
bGxhYmxlQXJlYSosIEdyYXBoaWNzTGF5ZXIqKTsKKwogICAgIC8vIFJlcXVlc3RzIHRoYXQgdGhl
IHNjcm9sbGluZyBjb29yZGluYXRvciB1cGRhdGVzIHRoZSBzY3JvbGwgcG9zaXRpb24gb2YgdGhl
IGdpdmVuIGZyYW1lIHZpZXcuIElmIHRoaXMgZnVuY3Rpb24gcmV0dXJucyB0cnVlLCBpdCBtZWFu
cyB0aGF0IHRoZQogICAgIC8vIHBvc2l0aW9uIHdpbGwgYmUgdXBkYXRlZCBhc3luY2hyb25vdXNs
eS4gSWYgaXQgcmV0dXJucyBmYWxzZSwgdGhlIGNhbGxlciBzaG91bGQgdXBkYXRlIHRoZSBzY3Jv
bGxpbmcgcG9zaXRpb24gaXRzZWxmLgogICAgIGJvb2wgcmVxdWVzdFNjcm9sbFBvc2l0aW9uVXBk
YXRlKEZyYW1lVmlldyosIGNvbnN0IEludFBvaW50Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvck5vbmUuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3JOb25lLmNwcAppbmRl
eCBmMGFjZmUwY2MzYjE3MWQzMzEwNDcwNDY1MDAyZTBkMmE1N2ZkMDljLi5iMDk1NTJkODY4M2Nj
N2Y5ZGEwYTM4ZThkMmIyM2Y3ZTM1NTQxMDQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvck5vbmUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTm9uZS5jcHAKQEAgLTgz
LDYgKzgzLDEwIEBAIHZvaWQgU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OnNldExheWVySXNDb250YWlu
ZXJGb3JGaXhlZFBvc2l0aW9uTGF5ZXJzKEdyYXBoaWNzTGF5CiB2b2lkIFNjcm9sbGluZ0Nvb3Jk
aW5hdG9yOjpzZXRMYXllcklzRml4ZWRUb0NvbnRhaW5lckxheWVyKEdyYXBoaWNzTGF5ZXIqLCBi
b29sKQogewogfQorCit2b2lkIFNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpzY3JvbGxhYmxlQXJlYVNj
cm9sbExheWVyRGlkQ2hhbmdlKFNjcm9sbGFibGVBcmVhKiwgR3JhcGhpY3NMYXllciopCit7Cit9
CiAjZW5kaWYgLy8gIUVOQUJMRShUSFJFQURFRF9TQ1JPTExJTkcpCiAKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2Nocm9taXVtL1Njcm9sbGluZ0Nvb3JkaW5h
dG9yQ2hyb21pdW0uY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvY2hyb21pdW0v
U2Nyb2xsaW5nQ29vcmRpbmF0b3JDaHJvbWl1bS5jcHAKaW5kZXggM2IxZDM2YmE3ZTQ2NmMxM2Vi
MGE4NjRkYTI5NDkyYzFlMDdiMzY5ZC4uNTE2NzgyMmVkNjJkMzg2M2E2ZmQ1N2Q5MjQ4NjQxYmFh
NDg4NzRhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvY2hyb21p
dW0vU2Nyb2xsaW5nQ29vcmRpbmF0b3JDaHJvbWl1bS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvY2hyb21pdW0vU2Nyb2xsaW5nQ29vcmRpbmF0b3JDaHJvbWl1bS5jcHAK
QEAgLTI5LDYgKzI5LDggQEAKIAogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiRnJhbWVW
aWV3LmgiCisjaW5jbHVkZSAiR3JhcGhpY3NMYXllckNocm9taXVtLmgiCisjaW5jbHVkZSAiTGF5
ZXJDaHJvbWl1bS5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJSZWdpb24uaCIKICNp
bmNsdWRlICJSZW5kZXJMYXllckNvbXBvc2l0b3IuaCIKQEAgLTIzOCw0ICsyNDAsMTcgQEAgdm9p
ZCBTY3JvbGxpbmdDb29yZGluYXRvcjo6c2V0TGF5ZXJJc0ZpeGVkVG9Db250YWluZXJMYXllcihH
cmFwaGljc0xheWVyKiBsYXllciwKICAgICAgICAgc2Nyb2xsYWJsZUxheWVyLT5zZXRGaXhlZFRv
Q29udGFpbmVyTGF5ZXIoZW5hYmxlKTsKIH0KIAordm9pZCBTY3JvbGxpbmdDb29yZGluYXRvcjo6
c2Nyb2xsYWJsZUFyZWFTY3JvbGxMYXllckRpZENoYW5nZShTY3JvbGxhYmxlQXJlYSogc2Nyb2xs
YWJsZUFyZWEsIEdyYXBoaWNzTGF5ZXIqIHNjcm9sbExheWVyKQoreworICAgIEdyYXBoaWNzTGF5
ZXJDaHJvbWl1bSogbGF5ZXIgPSBzdGF0aWNfY2FzdDxHcmFwaGljc0xheWVyQ2hyb21pdW0qPihz
Y3JvbGxMYXllcik7CisgICAgV2ViTGF5ZXIqIHdlYkxheWVyID0gc2Nyb2xsTGF5ZXIgPyBzY3Jv
bGxMYXllci0+cGxhdGZvcm1MYXllcigpIDogMDsKKyAgICBpZiAobGF5ZXIpCisgICAgICAgIGxh
eWVyLT5zZXRTY3JvbGxhYmxlQXJlYShzY3JvbGxhYmxlQXJlYSk7CisgICAgaWYgKCF3ZWJMYXll
cikKKyAgICAgICAgcmV0dXJuOworICAgIHdlYkxheWVyLT5zZXRTY3JvbGxhYmxlKHRydWUpOwor
ICAgIHdlYkxheWVyLT5zZXRTY3JvbGxQb3NpdGlvbihzY3JvbGxhYmxlQXJlYS0+c2Nyb2xsUG9z
aXRpb24oKSk7CisgICAgd2ViTGF5ZXItPnNldE1heFNjcm9sbFBvc2l0aW9uKEludFNpemUoc2Ny
b2xsYWJsZUFyZWEtPnNjcm9sbFNpemUoSG9yaXpvbnRhbFNjcm9sbGJhciksIHNjcm9sbGFibGVB
cmVhLT5zY3JvbGxTaXplKFZlcnRpY2FsU2Nyb2xsYmFyKSkpOworfQorCiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuaAppbmRleCA3MjFlYzMyZWM4YjM5YmEwZTMxZjBi
YjUwOWRlMzY5ZjVjMmVmZTE0Li5kMGU5NGY3NzA5MWNiNmYwOWJkYzNmNjk0ODllNDg3MzQwNDE4
MzdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmgKQEAgLTE3MCw2
ICsxNzAsNyBAQCBwdWJsaWM6CiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogICAg
IHZpcnR1YWwgVGlsZWRCYWNraW5nKiB0aWxlZEJhY2tpbmcoKSB7IHJldHVybiAwOyB9CiAjZW5k
aWYKKyAgICB2aXJ0dWFsIGJvb2wgdXNlc0NvbXBvc2l0ZWRTY3JvbGxpbmcoKSBjb25zdCB7IHJl
dHVybiBmYWxzZTsgfQogCiBwcm90ZWN0ZWQ6CiAgICAgU2Nyb2xsYWJsZUFyZWEoKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dyYXBoaWNz
TGF5ZXJDaHJvbWl1bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9HcmFwaGljc0xheWVyQ2hyb21pdW0uY3BwCmluZGV4IDc2NWU0NTA5OGVkMjMyMWExZTQ5
YWMyYzgxYzU1NWQxOTMyOTZiYmMuLjM1ODUzNmVkNTk0MjZkMmIzYzgzMGU2Y2IwZjI3ZmU4YzM3
MDUyMGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL0dyYXBoaWNzTGF5ZXJDaHJvbWl1bS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vR3JhcGhpY3NMYXllckNocm9taXVtLmNwcApAQCAtNTQsNiAr
NTQsNyBAQAogI2luY2x1ZGUgIk5hdGl2ZUltYWdlU2tpYS5oIgogI2luY2x1ZGUgIlBsYXRmb3Jt
Q29udGV4dFNraWEuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgorI2luY2x1ZGUgIlNj
cm9sbGFibGVBcmVhLmgiCiAjaW5jbHVkZSAiU2tNYXRyaXg0NC5oIgogI2luY2x1ZGUgIlN5c3Rl
bVRpbWUuaCIKIApAQCAtODgsMTAgKzg5LDEyIEBAIEdyYXBoaWNzTGF5ZXJDaHJvbWl1bTo6R3Jh
cGhpY3NMYXllckNocm9taXVtKEdyYXBoaWNzTGF5ZXJDbGllbnQqIGNsaWVudCkKICAgICAsIG1f
Y29udGVudHNMYXllckhhc0JhY2tncm91bmRDb2xvcihmYWxzZSkKICAgICAsIG1faW5TZXRDaGls
ZHJlbihmYWxzZSkKICAgICAsIG1fcGFnZVNjYWxlQ2hhbmdlZChmYWxzZSkKKyAgICAsIG1fc2Ny
b2xsYWJsZUFyZWEoMCkKIHsKICAgICBtX29wYXF1ZVJlY3RUcmFja2luZ0NvbnRlbnRMYXllckRl
bGVnYXRlID0gYWRvcHRQdHIobmV3IE9wYXF1ZVJlY3RUcmFja2luZ0NvbnRlbnRMYXllckRlbGVn
YXRlKHRoaXMpKTsKICAgICBtX2xheWVyID0gYWRvcHRQdHIoV2ViQ29udGVudExheWVyOjpjcmVh
dGUobV9vcGFxdWVSZWN0VHJhY2tpbmdDb250ZW50TGF5ZXJEZWxlZ2F0ZS5nZXQoKSkpOwogICAg
IG1fbGF5ZXItPmxheWVyKCktPnNldERyYXdzQ29udGVudChtX2RyYXdzQ29udGVudCAmJiBtX2Nv
bnRlbnRzVmlzaWJsZSk7CisgICAgbV9sYXllci0+bGF5ZXIoKS0+c2V0U2Nyb2xsRGVsZWdhdGUo
dGhpcyk7CiAgICAgaWYgKGNsaWVudCkKICAgICAgICAgZGV2aWNlT3JQYWdlU2NhbGVGYWN0b3JD
aGFuZ2VkKCk7CiAgICAgdXBkYXRlRGVidWdJbmRpY2F0b3JzKCk7CkBAIC04NDksNiArODUyLDEy
IEBAIHZvaWQgR3JhcGhpY3NMYXllckNocm9taXVtOjpub3RpZnlBbmltYXRpb25GaW5pc2hlZChk
b3VibGUpCiAgICAgLy8gRG8gbm90aGluZy4KIH0KIAordm9pZCBHcmFwaGljc0xheWVyQ2hyb21p
dW06OmRpZFNjcm9sbChjb25zdCBXZWJTaXplJiBzY3JvbGxEZWx0YSkKK3sKKyAgICBpZiAobV9z
Y3JvbGxhYmxlQXJlYSkKKyAgICAgICAgbV9zY3JvbGxhYmxlQXJlYS0+c2Nyb2xsVG9PZmZzZXRX
aXRob3V0QW5pbWF0aW9uKG1fc2Nyb2xsYWJsZUFyZWEtPnNjcm9sbFBvc2l0aW9uKCkgKyBzY3Jv
bGxEZWx0YSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIFVTRShB
Q0NFTEVSQVRFRF9DT01QT1NJVElORykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL0dyYXBoaWNzTGF5ZXJDaHJvbWl1bS5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vR3JhcGhpY3NMYXllckNocm9taXVtLmgK
aW5kZXggMDU5NWZhZDAxYjMzMTA4ODJlYTRiZTk2ZTAyYzA4NGM2ZDlkZDE5Yy4uMjZiMzg1YTRl
M2FlYWRjNzRiZWU1YTIxM2Q5MjQyYmQ4ZWEwYjc5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vR3JhcGhpY3NMYXllckNocm9taXVtLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vR3JhcGhpY3NMYXll
ckNocm9taXVtLmgKQEAgLTQxLDEyICs0MSwxMyBAQAogI2luY2x1ZGUgPHB1YmxpYy9XZWJDb250
ZW50TGF5ZXIuaD4KICNpbmNsdWRlIDxwdWJsaWMvV2ViSW1hZ2VMYXllci5oPgogI2luY2x1ZGUg
PHB1YmxpYy9XZWJMYXllci5oPgorI2luY2x1ZGUgPHB1YmxpYy9XZWJMYXllclNjcm9sbERlbGVn
YXRlLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
Ci1jbGFzcyBMYXllckNocm9taXVtOwogY2xhc3MgUGF0aDsKK2NsYXNzIFNjcm9sbGFibGVBcmVh
OwogCiBjbGFzcyBMaW5rSGlnaGxpZ2h0Q2xpZW50IHsKIHB1YmxpYzoKQEAgLTU4LDcgKzU5LDcg
QEAgcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgfkxpbmtIaWdobGlnaHRDbGllbnQoKSB7IH0KIH07
CiAKLWNsYXNzIEdyYXBoaWNzTGF5ZXJDaHJvbWl1bSA6IHB1YmxpYyBHcmFwaGljc0xheWVyLCBw
dWJsaWMgR3JhcGhpY3NDb250ZXh0UGFpbnRlciwgcHVibGljIFdlYktpdDo6V2ViQW5pbWF0aW9u
RGVsZWdhdGUgeworY2xhc3MgR3JhcGhpY3NMYXllckNocm9taXVtIDogcHVibGljIEdyYXBoaWNz
TGF5ZXIsIHB1YmxpYyBHcmFwaGljc0NvbnRleHRQYWludGVyLCBwdWJsaWMgV2ViS2l0OjpXZWJB
bmltYXRpb25EZWxlZ2F0ZSwgcHVibGljIFdlYktpdDo6V2ViTGF5ZXJTY3JvbGxEZWxlZ2F0ZSB7
CiBwdWJsaWM6CiAgICAgR3JhcGhpY3NMYXllckNocm9taXVtKEdyYXBoaWNzTGF5ZXJDbGllbnQq
KTsKICAgICB2aXJ0dWFsIH5HcmFwaGljc0xheWVyQ2hyb21pdW0oKTsKQEAgLTEzMSw2ICsxMzIs
OSBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHNldERlYnVnQm9yZGVyKGNvbnN0IENvbG9y
JiwgZmxvYXQgYm9yZGVyV2lkdGgpOwogICAgIHZpcnR1YWwgdm9pZCBkZXZpY2VPclBhZ2VTY2Fs
ZUZhY3RvckNoYW5nZWQoKTsKIAorICAgIHZvaWQgc2V0U2Nyb2xsYWJsZUFyZWEoU2Nyb2xsYWJs
ZUFyZWEqIHNjcm9sbGFibGVBcmVhKSB7IG1fc2Nyb2xsYWJsZUFyZWEgPSBzY3JvbGxhYmxlQXJl
YTsgfQorICAgIFNjcm9sbGFibGVBcmVhKiBzY3JvbGxhYmxlQXJlYSgpIGNvbnN0IHsgcmV0dXJu
IG1fc2Nyb2xsYWJsZUFyZWE7IH0KKwogICAgIC8vIEdyYXBoaWNzQ29udGV4dFBhaW50ZXIgaW1w
bGVtZW50YXRpb24uCiAgICAgdmlydHVhbCB2b2lkIHBhaW50KEdyYXBoaWNzQ29udGV4dCYsIGNv
bnN0IEludFJlY3QmIGNsaXApIE9WRVJSSURFOwogCkBAIC0xMzgsNiArMTQyLDkgQEAgcHVibGlj
OgogICAgIHZpcnR1YWwgdm9pZCBub3RpZnlBbmltYXRpb25TdGFydGVkKGRvdWJsZSBzdGFydFRp
bWUpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBub3RpZnlBbmltYXRpb25GaW5pc2hlZChk
b3VibGUgZmluaXNoVGltZSkgT1ZFUlJJREU7CiAKKyAgICAvLyBXZWJMYXllclNjcm9sbERlbGVn
YXRlIGltcGxlbWVudGF0aW9uLgorICAgIHZpcnR1YWwgdm9pZCBkaWRTY3JvbGwoY29uc3QgV2Vi
S2l0OjpXZWJTaXplJikgT1ZFUlJJREU7CisKICAgICBXZWJLaXQ6OldlYkNvbnRlbnRMYXllciog
Y29udGVudExheWVyKCkgY29uc3QgeyByZXR1cm4gbV9sYXllci5nZXQoKTsgfQogCiAgICAgLy8g
RXhwb3NlZCBmb3IgdGVzdHMuCkBAIC0xOTUsNiArMjAyLDggQEAgcHJpdmF0ZToKIAogICAgIHR5
cGVkZWYgSGFzaE1hcDxTdHJpbmcsIGludD4gQW5pbWF0aW9uSWRNYXA7CiAgICAgQW5pbWF0aW9u
SWRNYXAgbV9hbmltYXRpb25JZE1hcDsKKworICAgIFNjcm9sbGFibGVBcmVhKiBtX3Njcm9sbGFi
bGVBcmVhOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJDaHJvbWl1bS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllckNocm9taXVtLmNw
cAppbmRleCA0ZTdmYTc0ZjU1NmU5OWU4ODA0NTlkNTc1MzY2ODRkZDgxYTI4MWQ0Li4zYWI2ZjA3
NWVhZjdhMzI3OWVmOWQxYTQyM2QyN2JkZjdiYjUxMWU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllckNocm9taXVtLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllckNocm9taXVtLmNw
cApAQCAtNDIsNiArNDIsOCBAQAogI2luY2x1ZGUgIlRleHRTdHJlYW0uaCIKIAogI2luY2x1ZGUg
PHB1YmxpYy9XZWJBbmltYXRpb25EZWxlZ2F0ZS5oPgorI2luY2x1ZGUgPHB1YmxpYy9XZWJMYXll
clNjcm9sbERlbGVnYXRlLmg+CisjaW5jbHVkZSA8cHVibGljL1dlYlNpemUuaD4KIAogdXNpbmcg
bmFtZXNwYWNlIHN0ZDsKIHVzaW5nIFdlYktpdDo6V2ViVHJhbnNmb3JtYXRpb25NYXRyaXg7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXll
ckNocm9taXVtLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9M
YXllckNocm9taXVtLmgKaW5kZXggMmU1NDFlZTdiZWNjM2UzN2I3OWI5NDQ2NGFlNjU1NjY0YTFl
OGM0NS4uNTg4ZWZmNjU0ZDA3MjBhYmNjMDcxNmI1YWU5NDI4NDViNTlkNWFmZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJDaHJvbWl1
bS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVy
Q2hyb21pdW0uaApAQCAtNTQsNiArNTQsNyBAQAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIGNsYXNz
IFdlYkFuaW1hdGlvbkRlbGVnYXRlOworY2xhc3MgV2ViTGF5ZXJTY3JvbGxEZWxlZ2F0ZTsKIH0K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNjgsMTUgKzY5LDYgQEAgY2xhc3MgU2Nyb2xsYmFy
TGF5ZXJDaHJvbWl1bTsKIHN0cnVjdCBDQ0FuaW1hdGlvbkV2ZW50Owogc3RydWN0IENDUmVuZGVy
aW5nU3RhdHM7CiAKLS8vIERlbGVnYXRlIGZvciBoYW5kbGluZyBzY3JvbGwgaW5wdXQgZm9yIGEg
TGF5ZXJDaHJvbWl1bS4KLWNsYXNzIExheWVyQ2hyb21pdW1TY3JvbGxEZWxlZ2F0ZSB7Ci1wdWJs
aWM6Ci0gICAgdmlydHVhbCB2b2lkIGRpZFNjcm9sbChjb25zdCBJbnRTaXplJikgPSAwOwotCi1w
cm90ZWN0ZWQ6Ci0gICAgdmlydHVhbCB+TGF5ZXJDaHJvbWl1bVNjcm9sbERlbGVnYXRlKCkgeyB9
Ci19OwotCiAvLyBCYXNlIGNsYXNzIGZvciBjb21wb3NpdGVkIGxheWVycy4gU3BlY2lhbCBsYXll
ciB0eXBlcyBhcmUgZGVyaXZlZCBmcm9tCiAvLyB0aGlzIGNsYXNzLgogY2xhc3MgTGF5ZXJDaHJv
bWl1bSA6IHB1YmxpYyBSZWZDb3VudGVkPExheWVyQ2hyb21pdW0+LCBwdWJsaWMgQ0NMYXllckFu
aW1hdGlvbkNvbnRyb2xsZXJDbGllbnQgewpAQCAtMTc1LDcgKzE2Nyw3IEBAIHB1YmxpYzoKICAg
ICBjb25zdCBSZWdpb24mIG5vbkZhc3RTY3JvbGxhYmxlUmVnaW9uKCkgeyByZXR1cm4gbV9ub25G
YXN0U2Nyb2xsYWJsZVJlZ2lvbjsgfQogICAgIHZvaWQgc2V0Tm9uRmFzdFNjcm9sbGFibGVSZWdp
b24oY29uc3QgUmVnaW9uJik7CiAgICAgdm9pZCBzZXROb25GYXN0U2Nyb2xsYWJsZVJlZ2lvbkNo
YW5nZWQoKSB7IG1fbm9uRmFzdFNjcm9sbGFibGVSZWdpb25DaGFuZ2VkID0gdHJ1ZTsgfQotICAg
IHZvaWQgc2V0TGF5ZXJTY3JvbGxEZWxlZ2F0ZShMYXllckNocm9taXVtU2Nyb2xsRGVsZWdhdGUq
IGxheWVyU2Nyb2xsRGVsZWdhdGUpIHsgbV9sYXllclNjcm9sbERlbGVnYXRlID0gbGF5ZXJTY3Jv
bGxEZWxlZ2F0ZTsgfQorICAgIHZvaWQgc2V0TGF5ZXJTY3JvbGxEZWxlZ2F0ZShXZWJLaXQ6Oldl
YkxheWVyU2Nyb2xsRGVsZWdhdGUqIGxheWVyU2Nyb2xsRGVsZWdhdGUpIHsgbV9sYXllclNjcm9s
bERlbGVnYXRlID0gbGF5ZXJTY3JvbGxEZWxlZ2F0ZTsgfQogICAgIHZvaWQgc2Nyb2xsQnkoY29u
c3QgSW50U2l6ZSYpOwogCiAgICAgdm9pZCBzZXREcmF3Q2hlY2tlcmJvYXJkRm9yTWlzc2luZ1Rp
bGVzKGJvb2wpOwpAQCAtMzk2LDcgKzM4OCw3IEBAIHByaXZhdGU6CiAgICAgZmxvYXQgbV9jb250
ZW50c1NjYWxlOwogCiAgICAgV2ViS2l0OjpXZWJBbmltYXRpb25EZWxlZ2F0ZSogbV9sYXllckFu
aW1hdGlvbkRlbGVnYXRlOwotICAgIExheWVyQ2hyb21pdW1TY3JvbGxEZWxlZ2F0ZSogbV9sYXll
clNjcm9sbERlbGVnYXRlOworICAgIFdlYktpdDo6V2ViTGF5ZXJTY3JvbGxEZWxlZ2F0ZSogbV9s
YXllclNjcm9sbERlbGVnYXRlOwogfTsKIAogdm9pZCBzb3J0TGF5ZXJzKFZlY3RvcjxSZWZQdHI8
TGF5ZXJDaHJvbWl1bT4gPjo6aXRlcmF0b3IsIFZlY3RvcjxSZWZQdHI8TGF5ZXJDaHJvbWl1bT4g
Pjo6aXRlcmF0b3IsIHZvaWQqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMYXllci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgK
aW5kZXggNDY0ZTE1MzA1NzM4OTFlNzdmMzhjNjc3MmY2NDYwNGRiNTBiYTNmMC4uN2M2NTZjMWFk
ZGMxMjRhZGYyN2Q1ZGYwOWJlNTNiMmE4MzZjMGVjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyLmgKQEAgLTM2Myw3ICszNjMsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBwYWlu
dFJlc2l6ZXIoR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgSW50UG9pbnQmLCBjb25zdCBJbnRSZWN0
JiBkYW1hZ2VSZWN0KTsKIAogICAgIHZvaWQgdXBkYXRlU2Nyb2xsSW5mb0FmdGVyTGF5b3V0KCk7
Ci0gICAgYm9vbCB1c2VzQ29tcG9zaXRlZFNjcm9sbGluZygpIGNvbnN0OworICAgIHZpcnR1YWwg
Ym9vbCB1c2VzQ29tcG9zaXRlZFNjcm9sbGluZygpIGNvbnN0IE9WRVJSSURFOwogCiAgICAgYm9v
bCBzY3JvbGwoU2Nyb2xsRGlyZWN0aW9uLCBTY3JvbGxHcmFudWxhcml0eSwgZmxvYXQgbXVsdGlw
bGllciA9IDEpOwogICAgIHZvaWQgYXV0b3Njcm9sbCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcAppbmRleCBkMjZlZWYxZTM0ZThlNDU1ZjI0
YmNhYjRkMmFjMjJjZjI5ZWMzZGY1Li5mNmJkZjViMDM4MGE0YmRkYzAxMjk1MzkzMjc5MjAzNmJk
MTViYTgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJC
YWNraW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNr
aW5nLmNwcApAQCAtNjcxLDEwICs2NzEsMTQgQEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnVw
ZGF0ZUdyYXBoaWNzTGF5ZXJHZW9tZXRyeSgpCiAgICAgICAgIGlmIChzY3JvbGxTaXplICE9IG1f
c2Nyb2xsaW5nQ29udGVudHNMYXllci0+c2l6ZSgpIHx8IHBhZGRpbmdCb3hPZmZzZXRDaGFuZ2Vk
KQogICAgICAgICAgICAgbV9zY3JvbGxpbmdDb250ZW50c0xheWVyLT5zZXROZWVkc0Rpc3BsYXko
KTsKIAorICAgICAgICBJbnRTaXplIHNjcm9sbGluZ0NvbnRlbnRzT2Zmc2V0ID0gcGFkZGluZ0Jv
eC5sb2NhdGlvbigpIC0gSW50UG9pbnQoKSAtIHNjcm9sbE9mZnNldDsKKyAgICAgICAgaWYgKHNj
cm9sbGluZ0NvbnRlbnRzT2Zmc2V0ICE9IG1fc2Nyb2xsaW5nQ29udGVudHNMYXllci0+b2Zmc2V0
RnJvbVJlbmRlcmVyKCkgfHwgc2Nyb2xsU2l6ZSAhPSBtX3Njcm9sbGluZ0NvbnRlbnRzTGF5ZXIt
PnNpemUoKSkKKyAgICAgICAgICAgIGNvbXBvc2l0b3IoKS0+c2Nyb2xsaW5nTGF5ZXJEaWRDaGFu
Z2UobV9vd25pbmdMYXllcik7CisKICAgICAgICAgbV9zY3JvbGxpbmdDb250ZW50c0xheWVyLT5z
ZXRTaXplKHNjcm9sbFNpemUpOwogICAgICAgICAvLyBGSVhNRTogU2Nyb2xsaW5nIHRoZSBjb250
ZW50IGxheWVyIGRvZXMgbm90IG5lZWQgdG8gdHJpZ2dlciBhIHJlcGFpbnQuIFRoZSBvZmZzZXQg
d2lsbCBiZSBjb21wZW5zYXRlZCBhd2F5IGR1cmluZyBwYWludGluZy4KICAgICAgICAgLy8gRklY
TUU6IFRoZSBwYWludCBvZmZzZXQgYW5kIHRoZSBzY3JvbGwgb2Zmc2V0IHNob3VsZCByZWFsbHkg
YmUgc2VwYXJhdGUgY29uY2VwdHMuCi0gICAgICAgIG1fc2Nyb2xsaW5nQ29udGVudHNMYXllci0+
c2V0T2Zmc2V0RnJvbVJlbmRlcmVyKHBhZGRpbmdCb3gubG9jYXRpb24oKSAtIEludFBvaW50KCkg
LSBzY3JvbGxPZmZzZXQpOworICAgICAgICBtX3Njcm9sbGluZ0NvbnRlbnRzTGF5ZXItPnNldE9m
ZnNldEZyb21SZW5kZXJlcihzY3JvbGxpbmdDb250ZW50c09mZnNldCk7CiAgICAgfQogCiAgICAg
bV9ncmFwaGljc0xheWVyLT5zZXRDb250ZW50c1JlY3QoY29udGVudHNCb3goKSk7CkBAIC05MTcs
NiArOTIxLDggQEAgYm9vbCBSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZVNjcm9sbGluZ0xheWVy
cyhib29sIG5lZWRzU2Nyb2xsaW5nTGF5ZXJzKQogICAgICAgICB1cGRhdGVJbnRlcm5hbEhpZXJh
cmNoeSgpOwogICAgICAgICBtX2dyYXBoaWNzTGF5ZXItPnNldFBhaW50aW5nUGhhc2UocGFpbnRp
bmdQaGFzZUZvclByaW1hcnlMYXllcigpKTsKICAgICAgICAgbV9ncmFwaGljc0xheWVyLT5zZXRO
ZWVkc0Rpc3BsYXkoKTsKKyAgICAgICAgaWYgKHJlbmRlcmVyKCktPnZpZXcoKSkKKyAgICAgICAg
ICAgIGNvbXBvc2l0b3IoKS0+c2Nyb2xsaW5nTGF5ZXJEaWRDaGFuZ2UobV9vd25pbmdMYXllcik7
CiAgICAgfQogCiAgICAgcmV0dXJuIGxheWVyQ2hhbmdlZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKaW5kZXggNDUwYjRmYzg3YzE2
YjZmMDRmOTVkOTVhYWJhOTBmNThmNWM5M2I3YS4uZTA3ODZmMDA3ZGIwZWNiZTQ1YzQ1MGM0MGVi
MmYzNDg2OWMyY2M5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyQ29tcG9zaXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyQ29tcG9zaXRvci5jcHAKQEAgLTEwOTIsNiArMTA5MiwxMyBAQCB2b2lkIFJlbmRlckxh
eWVyQ29tcG9zaXRvcjo6ZnJhbWVWaWV3RGlkU2Nyb2xsKCkKICAgICBtX3Njcm9sbExheWVyLT5z
ZXRQb3NpdGlvbihGbG9hdFBvaW50KC1zY3JvbGxQb3NpdGlvbi54KCksIC1zY3JvbGxQb3NpdGlv
bi55KCkpKTsKIH0KIAordm9pZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnNjcm9sbGluZ0xheWVy
RGlkQ2hhbmdlKFJlbmRlckxheWVyKiBsYXllcikKK3sKKyAgICBSZW5kZXJMYXllckJhY2tpbmcq
IGJhY2tpbmcgPSBsYXllci0+YmFja2luZygpOworICAgIGlmIChTY3JvbGxpbmdDb29yZGluYXRv
ciogc2Nyb2xsaW5nQ29vcmRpbmF0b3IgPSB0aGlzLT5zY3JvbGxpbmdDb29yZGluYXRvcigpKQor
ICAgICAgICBzY3JvbGxpbmdDb29yZGluYXRvci0+c2Nyb2xsYWJsZUFyZWFTY3JvbGxMYXllckRp
ZENoYW5nZShsYXllciwgYmFja2luZyA/IGJhY2tpbmctPnNjcm9sbGluZ0NvbnRlbnRzTGF5ZXIo
KSA6IDApOworfQorCiBTdHJpbmcgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpsYXllclRyZWVBc1Rl
eHQoYm9vbCBzaG93RGVidWdJbmZvKQogewogICAgIHVwZGF0ZUNvbXBvc2l0aW5nTGF5ZXJzKENv
bXBvc2l0aW5nVXBkYXRlQWZ0ZXJMYXlvdXQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5oCmluZGV4IDA3N2RiMTExZDRmYjY1ODEzZGY4Mzdm
ZGIwNzBhYjk3YjVlN2NkOGIuLmIzZGFlZjY1NDk4NDdmNWRhZTMyYmUyNGVhNzcxMzZmNTlkMjI4
ZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBv
c2l0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3Np
dG9yLmgKQEAgLTE5Miw2ICsxOTIsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBmcmFtZVZpZXdEaWRD
aGFuZ2VTaXplKCk7CiAgICAgdm9pZCBmcmFtZVZpZXdEaWRTY3JvbGwoKTsKIAorICAgIHZvaWQg
c2Nyb2xsaW5nTGF5ZXJEaWRDaGFuZ2UoUmVuZGVyTGF5ZXIqKTsKKwogICAgIFN0cmluZyBsYXll
clRyZWVBc1RleHQoYm9vbCBzaG93RGVidWdJbmZvID0gZmFsc2UpOwogCiAgICAgLy8gVGhlc2Ug
YXJlIG5hbWVkIHRvIGF2b2lkIGNvbmZsaWN0cyB3aXRoIHRoZSBmdW5jdGlvbnMgaW4gR3JhcGhp
Y3NMYXllckNsaWVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
TGF5ZXJJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkxheWVySW1wbC5j
cHAKaW5kZXggYmY2NGE4ZjJhMzQxZWI5MDY0MjAwYTE3ZDhmMTIzN2YxODk4NzVkZC4uZmE2YTI2
Y2U3ZDRmM2UzY2RhN2RlMWZmNzZlOTg4Njk4NDY3YzVhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViTGF5ZXJJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJMYXllckltcGwuY3BwCkBAIC0zNDksNiArMzQ5LDExIEBAIHZvaWQgV2Vi
TGF5ZXJJbXBsOjpzZXRTY3JvbGxQb3NpdGlvbihXZWJQb2ludCBwb3NpdGlvbikKICAgICBtX2xh
eWVyLT5zZXRTY3JvbGxQb3NpdGlvbihwb3NpdGlvbik7CiB9CiAKK3ZvaWQgV2ViTGF5ZXJJbXBs
OjpzZXRNYXhTY3JvbGxQb3NpdGlvbihXZWJTaXplIG1heFNjcm9sbFBvc2l0aW9uKQoreworICAg
IG1fbGF5ZXItPnNldE1heFNjcm9sbFBvc2l0aW9uKG1heFNjcm9sbFBvc2l0aW9uKTsKK30KKwog
dm9pZCBXZWJMYXllckltcGw6OnNldFNjcm9sbGFibGUoYm9vbCBzY3JvbGxhYmxlKQogewogICAg
IG1fbGF5ZXItPnNldFNjcm9sbGFibGUoc2Nyb2xsYWJsZSk7CkBAIC0zODUsNiArMzkwLDE2IEBA
IHZvaWQgV2ViTGF5ZXJJbXBsOjpzZXRGaXhlZFRvQ29udGFpbmVyTGF5ZXIoYm9vbCBlbmFibGUp
CiAgICAgbV9sYXllci0+c2V0Rml4ZWRUb0NvbnRhaW5lckxheWVyKGVuYWJsZSk7CiB9CiAKK3Zv
aWQgV2ViTGF5ZXJJbXBsOjpzZXRTY3JvbGxEZWxlZ2F0ZShXZWJMYXllclNjcm9sbERlbGVnYXRl
KiBkZWxlZ2F0ZSkKK3sKKyAgICBtX2xheWVyLT5zZXRMYXllclNjcm9sbERlbGVnYXRlKGRlbGVn
YXRlKTsKK30KKwordm9pZCBXZWJMYXllckltcGw6OnNjcm9sbEJ5KFdlYlNpemUgc2Nyb2xsRGVs
dGEpCit7CisgICAgbV9sYXllci0+c2Nyb2xsQnkoc2Nyb2xsRGVsdGEpOworfQorCiBMYXllckNo
cm9taXVtKiBXZWJMYXllckltcGw6OmxheWVyKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9sYXll
ci5nZXQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkxheWVy
SW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTGF5ZXJJbXBsLmgKaW5kZXgg
MGE2MTgyNmE1ZGMwNzZlYmU2NzI5YmMwNjM0ZDU0NDA2Yzg3NzM5ZS4uZmIxZWIyNjE0ODdiYzAy
NzdjN2JmOWJmODM0ZGIwYjYwZGY4MDI2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvV2ViTGF5ZXJJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViTGF5ZXJJbXBsLmgKQEAgLTkyLDEyICs5MiwxNSBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2
b2lkIHRyYW5zZmVyQW5pbWF0aW9uc1RvKFdlYkxheWVyKikgT1ZFUlJJREU7CiAgICAgdmlydHVh
bCB2b2lkIHNldEZvcmNlUmVuZGVyU3VyZmFjZShib29sKSBPVkVSUklERTsKICAgICB2aXJ0dWFs
IHZvaWQgc2V0U2Nyb2xsUG9zaXRpb24oV2ViUG9pbnQpIE9WRVJSSURFOworICAgIHZpcnR1YWwg
dm9pZCBzZXRNYXhTY3JvbGxQb3NpdGlvbihXZWJTaXplKSBPVkVSUklERTsKICAgICB2aXJ0dWFs
IHZvaWQgc2V0U2Nyb2xsYWJsZShib29sKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0
SGF2ZVdoZWVsRXZlbnRIYW5kbGVycyhib29sKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQg
c2V0U2hvdWxkU2Nyb2xsT25NYWluVGhyZWFkKGJvb2wpIE9WRVJSSURFOwogICAgIHZpcnR1YWwg
dm9pZCBzZXROb25GYXN0U2Nyb2xsYWJsZVJlZ2lvbihjb25zdCBXZWJWZWN0b3I8V2ViUmVjdD4m
KSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0SXNDb250YWluZXJGb3JGaXhlZFBvc2l0
aW9uTGF5ZXJzKGJvb2wpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBzZXRGaXhlZFRvQ29u
dGFpbmVyTGF5ZXIoYm9vbCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2b2lkIHNjcm9sbEJ5KFdl
YlNpemUpIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCBzZXRTY3JvbGxEZWxlZ2F0ZShXZWJM
YXllclNjcm9sbERlbGVnYXRlKikgT1ZFUlJJREU7CiAKICAgICBXZWJDb3JlOjpMYXllckNocm9t
aXVtKiBsYXllcigpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3Rlc3RzL0NDTGF5ZXJUcmVlSG9zdFRlc3QuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90
ZXN0cy9DQ0xheWVyVHJlZUhvc3RUZXN0LmNwcAppbmRleCAyZjBiZTAzYjk5ODA0YTNhODRlOGNl
NjRlYTRkN2QzZjM5YjA2MTNiLi4yODhiYmM1ZmFhNWIzYTlkMTMxYjJjYWYzYzUzNWFkNTQ3NGU2
YzFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDTGF5ZXJUcmVl
SG9zdFRlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NMYXllclRy
ZWVIb3N0VGVzdC5jcHAKQEAgLTQwLDYgKzQwLDggQEAKICNpbmNsdWRlIDxnbW9jay9nbW9jay5o
PgogI2luY2x1ZGUgPGd0ZXN0L2d0ZXN0Lmg+CiAjaW5jbHVkZSA8cHVibGljL1BsYXRmb3JtLmg+
CisjaW5jbHVkZSA8cHVibGljL1dlYkxheWVyU2Nyb2xsRGVsZWdhdGUuaD4KKyNpbmNsdWRlIDxw
dWJsaWMvV2ViU2l6ZS5oPgogI2luY2x1ZGUgPHB1YmxpYy9XZWJUaHJlYWQuaD4KICNpbmNsdWRl
IDx3dGYvTWFpblRocmVhZC5oPgogI2luY2x1ZGUgPHd0Zi9Pd25BcnJheVB0ci5oPgpAQCAtMjE2
Miw3ICsyMTY0LDcgQEAgcHJpdmF0ZToKIAogU0lOR0xFX0FORF9NVUxUSV9USFJFQURfVEVTVF9G
KENDTGF5ZXJUcmVlSG9zdFRlc3RMYXllckFkZGVkV2l0aEFuaW1hdGlvbikKIAotY2xhc3MgQ0NM
YXllclRyZWVIb3N0VGVzdFNjcm9sbENoaWxkTGF5ZXIgOiBwdWJsaWMgQ0NMYXllclRyZWVIb3N0
VGVzdCwgcHVibGljIExheWVyQ2hyb21pdW1TY3JvbGxEZWxlZ2F0ZSB7CitjbGFzcyBDQ0xheWVy
VHJlZUhvc3RUZXN0U2Nyb2xsQ2hpbGRMYXllciA6IHB1YmxpYyBDQ0xheWVyVHJlZUhvc3RUZXN0
LCBwdWJsaWMgV2ViTGF5ZXJTY3JvbGxEZWxlZ2F0ZSB7CiBwdWJsaWM6CiAgICAgQ0NMYXllclRy
ZWVIb3N0VGVzdFNjcm9sbENoaWxkTGF5ZXIoKQogICAgICAgICA6IG1fc2Nyb2xsQW1vdW50KDIs
IDEpCkBAIC0yMTk4LDcgKzIyMDAsNyBAQCBwdWJsaWM6CiAgICAgICAgIHBvc3RTZXROZWVkc0Nv
bW1pdFRvTWFpblRocmVhZCgpOwogICAgIH0KIAotICAgIHZpcnR1YWwgdm9pZCBkaWRTY3JvbGwo
Y29uc3QgSW50U2l6ZSYgc2Nyb2xsRGVsdGEpIE9WRVJSSURFCisgICAgdmlydHVhbCB2b2lkIGRp
ZFNjcm9sbChjb25zdCBXZWJTaXplJiBzY3JvbGxEZWx0YSkgT1ZFUlJJREUKICAgICB7CiAgICAg
ICAgIG1fcmVwb3J0ZWRTY3JvbGxBbW91bnQgPSBzY3JvbGxEZWx0YTsKICAgICB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0dyYXBoaWNzTGF5ZXJDaHJvbWl1bVRl
c3QuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9HcmFwaGljc0xheWVyQ2hyb21p
dW1UZXN0LmNwcAppbmRleCA5ZTJmYmNiNmE3NTM0Y2VlNDA5ZGM4NzY0ZTVlMTk5OGFkMWE4MzQ1
Li5kYjMyZTk4NWJhOTQ1ZGRkOTYwY2U4ZTJhOWJhZWY5NmFmYjUyODM0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0dyYXBoaWNzTGF5ZXJDaHJvbWl1bVRlc3QuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvR3JhcGhpY3NMYXllckNocm9taXVt
VGVzdC5jcHAKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNsdWRlICJHcmFwaGljc0xheWVyLmgiCiAj
aW5jbHVkZSAiTWF0cml4M0RUcmFuc2Zvcm1PcGVyYXRpb24uaCIKICNpbmNsdWRlICJSb3RhdGVU
cmFuc2Zvcm1PcGVyYXRpb24uaCIKKyNpbmNsdWRlICJTY3JvbGxhYmxlQXJlYS5oIgogI2luY2x1
ZGUgIlRyYW5zbGF0ZVRyYW5zZm9ybU9wZXJhdGlvbi5oIgogI2luY2x1ZGUgIldlYkxheWVyVHJl
ZVZpZXdUZXN0Q29tbW9uLmgiCiAjaW5jbHVkZSA8Z3Rlc3QvZ3Rlc3QuaD4KQEAgLTEyNiw0ICsx
MjcsNDUgQEAgVEVTVF9GKEdyYXBoaWNzTGF5ZXJDaHJvbWl1bVRlc3QsIHNob3VsZFN0YXJ0V2l0
aENvcnJlY3RDb250ZW50c1NjYWxlKQogICAgIEVYUEVDVF9FUSgyLCBtX2dyYXBoaWNzTGF5ZXIt
PmNvbnRlbnRzU2NhbGUoKSk7CiB9CiAKK2NsYXNzIE1vY2tTY3JvbGxhYmxlQXJlYSA6IHB1Ymxp
YyBTY3JvbGxhYmxlQXJlYSB7CitwdWJsaWM6CisgICAgTU9DS19DT05TVF9NRVRIT0QwKGlzQWN0
aXZlLCBib29sKCkpOworICAgIE1PQ0tfQ09OU1RfTUVUSE9EMShzY3JvbGxTaXplLCBpbnQoU2Ny
b2xsYmFyT3JpZW50YXRpb24pKTsKKyAgICBNT0NLX0NPTlNUX01FVEhPRDEoc2Nyb2xsUG9zaXRp
b24sIGludChTY3JvbGxiYXIqKSk7CisgICAgTU9DS19NRVRIT0QyKGludmFsaWRhdGVTY3JvbGxi
YXIsIHZvaWQoU2Nyb2xsYmFyKiwgY29uc3QgSW50UmVjdCYpKTsKKyAgICBNT0NLX0NPTlNUX01F
VEhPRDAoaXNTY3JvbGxDb3JuZXJWaXNpYmxlLCBib29sKCkpOworICAgIE1PQ0tfQ09OU1RfTUVU
SE9EMChzY3JvbGxDb3JuZXJSZWN0LCBJbnRSZWN0KCkpOworICAgIE1PQ0tfTUVUSE9EMihpbnZh
bGlkYXRlU2Nyb2xsYmFyUmVjdCwgdm9pZChTY3JvbGxiYXIqLCBjb25zdCBJbnRSZWN0JikpOwor
ICAgIE1PQ0tfTUVUSE9EMShpbnZhbGlkYXRlU2Nyb2xsQ29ybmVyUmVjdCwgdm9pZChjb25zdCBJ
bnRSZWN0JikpOworICAgIE1PQ0tfTUVUSE9EMShzZXRTY3JvbGxPZmZzZXRGcm9tQW5pbWF0aW9u
LCB2b2lkKGNvbnN0IEludFBvaW50JikpOworICAgIE1PQ0tfQ09OU1RfTUVUSE9EMChlbmNsb3Np
bmdTY3JvbGxhYmxlQXJlYSwgU2Nyb2xsYWJsZUFyZWEqKCkpOworICAgIE1PQ0tfQ09OU1RfTUVU
SE9EMChtaW5pbXVtU2Nyb2xsUG9zaXRpb24sIEludFBvaW50KCkpOworICAgIE1PQ0tfQ09OU1Rf
TUVUSE9EMChtYXhpbXVtU2Nyb2xsUG9zaXRpb24sIEludFBvaW50KCkpOworICAgIE1PQ0tfQ09O
U1RfTUVUSE9EMSh2aXNpYmxlQ29udGVudFJlY3QsIEludFJlY3QoYm9vbCkpOworICAgIE1PQ0tf
Q09OU1RfTUVUSE9EMChjb250ZW50c1NpemUsIEludFNpemUoKSk7CisgICAgTU9DS19DT05TVF9N
RVRIT0QwKG92ZXJoYW5nQW1vdW50LCBJbnRTaXplKCkpOworICAgIE1PQ0tfQ09OU1RfTUVUSE9E
MChpc09uQWN0aXZlUGFnZSwgYm9vbCgpKTsKKyAgICBNT0NLX0NPTlNUX01FVEhPRDAoc2Nyb2xs
YWJsZUFyZWFCb3VuZGluZ0JveCwgSW50UmVjdCgpKTsKKworICAgIHZpcnR1YWwgdm9pZCBzZXRT
Y3JvbGxPZmZzZXQoY29uc3QgSW50UG9pbnQmIHNjcm9sbE9mZnNldCkgT1ZFUlJJREUgeyBtX3Nj
cm9sbFBvc2l0aW9uID0gc2Nyb2xsT2Zmc2V0OyB9CisgICAgdmlydHVhbCBJbnRQb2ludCBzY3Jv
bGxQb3NpdGlvbigpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIG1fc2Nyb2xsUG9zaXRpb247IH0K
KyAgICB2aXJ0dWFsIGludCB2aXNpYmxlSGVpZ2h0KCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4g
NzY4OyB9CisgICAgdmlydHVhbCBpbnQgdmlzaWJsZVdpZHRoKCkgY29uc3QgT1ZFUlJJREUgeyBy
ZXR1cm4gMTAyNDsgfQorICAgIHZpcnR1YWwgYm9vbCBzY3JvbGxBbmltYXRvckVuYWJsZWQoKSBj
b25zdCBPVkVSUklERSB7IHJldHVybiBmYWxzZTsgfQorCitwcml2YXRlOgorICAgIEludFBvaW50
IG1fc2Nyb2xsUG9zaXRpb247Cit9OworCitURVNUX0YoR3JhcGhpY3NMYXllckNocm9taXVtVGVz
dCwgYXBwbHlTY3JvbGxUb1Njcm9sbGFibGVBcmVhKQoreworICAgIE1vY2tTY3JvbGxhYmxlQXJl
YSBzY3JvbGxhYmxlQXJlYTsKKyAgICBtX2dyYXBoaWNzTGF5ZXItPnNldFNjcm9sbGFibGVBcmVh
KCZzY3JvbGxhYmxlQXJlYSk7CisKKyAgICBJbnRTaXplIHNjcm9sbERlbHRhKDcsIDkpOworICAg
IG1fcGxhdGZvcm1MYXllci0+c2Nyb2xsQnkoc2Nyb2xsRGVsdGEpOworCisgICAgRVhQRUNUX0VR
KHNjcm9sbERlbHRhLCB0b1NpemUoc2Nyb2xsYWJsZUFyZWEuc2Nyb2xsUG9zaXRpb24oKSkpOwor
fQorCiB9IC8vIG5hbWVzcGFjZQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>161924</attachid>
            <date>2012-09-03 07:28:34 -0700</date>
            <delta_ts>2012-09-04 11:53:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-78862-20120903152818.patch</filename>
            <type>text/plain</type>
            <size>12416</size>
            <attacher name="Sami Kyöstilä">skyostil</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI3NDEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGUzYzgzMzkwNTNlNjFi
OGU0NjI1ODJjMWFlMDgyZDE2ODQ0NWE0Zi4uOTI4YjM3NDE2Y2QzZjg3ZTJhYTBlMjhlNzI2Y2Yw
YzBkNTNhMDlmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDEyLTA5LTAzICBTYW1p
IEt5b3N0aWxhICA8c2t5b3N0aWxAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZWdpc3RlciBzY3Jv
bGxpbmcgbGF5ZXJzIHdpdGggU2Nyb2xsaW5nQ29vcmRpbmF0b3IKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc4ODYyCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW4gb3JkZXIgdG8gYWxsb3cgc2Nyb2xsYWJs
ZSBjaGlsZCBsYXllcnMgdG8gYmUgc2Nyb2xsZWQgb2ZmIHRoZSBtYWluCisgICAgICAgIHRocmVh
ZCwgcmVnaXN0ZXIgdGhlbSB3aXRoIHRoZSBTY3JvbGxpbmdDb29yZGluYXRvci4gVGhlc2UgbGF5
ZXJzIGFyZQorICAgICAgICBhbHNvIHJlbW92ZWQgZnJvbSB0aGUgbm9uLWZhc3Qgc2Nyb2xsYWJs
ZSByZWdpb24uCisKKyAgICAgICAgV2hlbmV2ZXIgdGhlIHNjcm9sbCBvZmZzZXQgb3Igb3RoZXIg
c2Nyb2xsIGdlb21ldHJ5IHJlbGF0ZWQgYXR0cmlidXRlIG9mCisgICAgICAgIGEgY29tcG9zaXRv
ciBzY3JvbGxlZCBsYXllciBjaGFuZ2VzLCB0aGUgU2Nyb2xsaW5nQ29vcmRpbmF0b3IgaXMKKyAg
ICAgICAgaW5mb3JtZWQgdG8gYWxsb3cgaXQgdG8gdXBkYXRlIGl0cyBpbnRlcm5hbCByZXByZXNl
bnRhdGlvbiBvZiB0aGUKKyAgICAgICAgc2Nyb2xsYWJsZSBsYXllci4KKworICAgICAgICBObyB0
ZXN0cyBiZWNhdXNlIHRoZSBTY3JvbGxpbmdDb29yZGluYXRvciBpcyBjdXJyZW50bHkgbm90IHRl
c3RhYmxlLgorCisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3Iu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Y29tcHV0ZU5vbkZhc3RTY3JvbGxhYmxlUmVnaW9uKTog
Q29tcG9zaXRlZCBzY3JvbGxpbmcgbGF5ZXJzCisgICAgICAgIGNhbiBiZSBzY3JvbGxlZCBvZmYg
dGhlIG1haW4gdGhyZWFkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpT
Y3JvbGxpbmdDb29yZGluYXRvcjo6c2Nyb2xsYWJsZUFyZWFTY3JvbGxMYXllckRpZENoYW5nZSk6
CisgICAgICAgIENhbGxiYWNrIHRvIFNjcm9sbGluZ0Nvb3JkaW5hdG9yIGFib3V0IGNoYW5nZXMg
dGhlIGNvbXBvc2l0ZWQgc2Nyb2xsaW5nIGxheWVycy4KKyAgICAgICAgKiBwYWdlL3Njcm9sbGlu
Zy9TY3JvbGxpbmdDb29yZGluYXRvci5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChT
Y3JvbGxpbmdDb29yZGluYXRvcik6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5n
Q29vcmRpbmF0b3JOb25lLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29y
ZTo6U2Nyb2xsaW5nQ29vcmRpbmF0b3I6OnNjcm9sbGFibGVBcmVhU2Nyb2xsTGF5ZXJEaWRDaGFu
Z2UpOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmg6CisgICAgICAgIChXZWJD
b3JlOjpTY3JvbGxhYmxlQXJlYTo6dXNlc0NvbXBvc2l0ZWRTY3JvbGxpbmcpOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJMYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckxheWVyOjp1c2VzQ29tcG9zaXRlZFNjcm9sbGluZyk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmg6CisgICAgICAgIChSZW5kZXJMYXllcik6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6dXNlc0NvbXBvc2l0ZWRTY3JvbGxpbmcpOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVHcmFwaGljc0xheWVyR2VvbWV0cnkpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVTY3JvbGxpbmdMYXllcnMp
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpzY3JvbGxpbmdMYXllckRpZENoYW5n
ZSk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJD
b21wb3NpdG9yLmg6CisgICAgICAgIChSZW5kZXJMYXllckNvbXBvc2l0b3IpOgorCiAyMDEyLTA4
LTI5ICBTYW1pIEt5b3N0aWxhICA8c2t5b3N0aWxAZ29vZ2xlLmNvbT4KIAogICAgICAgICBFbmFi
bGUvZGlzYWJsZSBjb21wb3NpdGVkIHNjcm9sbGluZyBiYXNlZCBvbiBvdmVyZmxvdwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3Iu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3Iu
Y3BwCmluZGV4IDQwZmVlZDc3Y2NhZTE2ZjI0ZWY5MzY5ZDExYWM2Y2VhNDM3ZGNhMTYuLmIyNzM5
ZjIyYzc2YWFjYWZiZDZlNGFjMWI1MDY5NjQ0ZmUxMWQ1NzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5jcHAKQEAgLTEx
OCw2ICsxMTgsMTEgQEAgc3RhdGljIFJlZ2lvbiBjb21wdXRlTm9uRmFzdFNjcm9sbGFibGVSZWdp
b24oRnJhbWUqIGZyYW1lLCBjb25zdCBJbnRQb2ludCYgZnJhbWUKICAgICBpZiAoY29uc3QgRnJh
bWVWaWV3OjpTY3JvbGxhYmxlQXJlYVNldCogc2Nyb2xsYWJsZUFyZWFzID0gZnJhbWVWaWV3LT5z
Y3JvbGxhYmxlQXJlYXMoKSkgewogICAgICAgICBmb3IgKEZyYW1lVmlldzo6U2Nyb2xsYWJsZUFy
ZWFTZXQ6OmNvbnN0X2l0ZXJhdG9yIGl0ID0gc2Nyb2xsYWJsZUFyZWFzLT5iZWdpbigpLCBlbmQg
PSBzY3JvbGxhYmxlQXJlYXMtPmVuZCgpOyBpdCAhPSBlbmQ7ICsraXQpIHsKICAgICAgICAgICAg
IFNjcm9sbGFibGVBcmVhKiBzY3JvbGxhYmxlQXJlYSA9ICppdDsKKyNpZiBVU0UoQUNDRUxFUkFU
RURfQ09NUE9TSVRJTkcpCisgICAgICAgICAgICAvLyBDb21wb3NpdGVkIHNjcm9sbGFibGUgYXJl
YXMgY2FuIGJlIHNjcm9sbGVkIG9mZiB0aGUgbWFpbiB0aHJlYWQuCisgICAgICAgICAgICBpZiAo
c2Nyb2xsYWJsZUFyZWEtPnVzZXNDb21wb3NpdGVkU2Nyb2xsaW5nKCkpCisgICAgICAgICAgICAg
ICAgY29udGludWU7CisjZW5kaWYKICAgICAgICAgICAgIEludFJlY3QgYm94ID0gc2Nyb2xsYWJs
ZUFyZWEtPnNjcm9sbGFibGVBcmVhQm91bmRpbmdCb3goKTsKICAgICAgICAgICAgIGJveC5tb3Zl
Qnkob2Zmc2V0KTsKICAgICAgICAgICAgIG5vbkZhc3RTY3JvbGxhYmxlUmVnaW9uLnVuaXRlKGJv
eCk7CkBAIC00ODgsNiArNDkzLDExIEBAIHZvaWQgU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OnNldExh
eWVySXNGaXhlZFRvQ29udGFpbmVyTGF5ZXIoR3JhcGhpY3NMYXllciosIGJvb2wpCiB7CiAgICAg
Ly8gRklYTUU6IEltcGxlbWVudCEKIH0KKwordm9pZCBTY3JvbGxpbmdDb29yZGluYXRvcjo6c2Ny
b2xsYWJsZUFyZWFTY3JvbGxMYXllckRpZENoYW5nZShTY3JvbGxhYmxlQXJlYSosIEdyYXBoaWNz
TGF5ZXIqKQoreworICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQuCit9CiAjZW5kaWYgLy8gIUVOQUJM
RShUSFJFQURFRF9TQ1JPTExJTkcpCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5oCmlu
ZGV4IDVkNDVlYjYyMDJmZmNkZWQyY2YzNjllMWVmNWM3ZmM4MjE3Nzc3MzEuLjJhYjM0YjJkMmQz
ZTZmNzUwYTA0ZDg1ZTZmMmRmMTc0MTkwM2RkOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaApAQCAtNDgsNiArNDgsNyBA
QCBjbGFzcyBGcmFtZVZpZXc7CiBjbGFzcyBHcmFwaGljc0xheWVyOwogY2xhc3MgUGFnZTsKIGNs
YXNzIFJlZ2lvbjsKK2NsYXNzIFNjcm9sbGFibGVBcmVhOwogY2xhc3MgU2Nyb2xsaW5nQ29vcmRp
bmF0b3JQcml2YXRlOwogY2xhc3MgU2Nyb2xsaW5nVHJlZVN0YXRlOwogCkBAIC05Miw2ICs5Myw5
IEBAIHB1YmxpYzoKICAgICAvLyBTaG91bGQgYmUgY2FsbGVkIHdoZW5ldmVyIHRoZSB2ZXJ0aWNh
bCBzY3JvbGxiYXIgbGF5ZXIgZm9yIHRoZSBnaXZlbiBmcmFtZSB2aWV3IGNoYW5nZXMuCiAgICAg
dm9pZCBmcmFtZVZpZXdWZXJ0aWNhbFNjcm9sbGJhckxheWVyRGlkQ2hhbmdlKEZyYW1lVmlldyos
IEdyYXBoaWNzTGF5ZXIqIHZlcnRpY2FsU2Nyb2xsYmFyTGF5ZXIpOwogCisgICAgLy8gU2hvdWxk
IGJlIGNhbGxlZCB3aGVuZXZlciB0aGUgc2Nyb2xsYWJsZSBsYXllciBmb3IgdGhlIGdpdmVuIHNj
cm9sbCBhcmVhIGNoYW5nZXMuCisgICAgdm9pZCBzY3JvbGxhYmxlQXJlYVNjcm9sbExheWVyRGlk
Q2hhbmdlKFNjcm9sbGFibGVBcmVhKiwgR3JhcGhpY3NMYXllciopOworCiAgICAgLy8gUmVxdWVz
dHMgdGhhdCB0aGUgc2Nyb2xsaW5nIGNvb3JkaW5hdG9yIHVwZGF0ZXMgdGhlIHNjcm9sbCBwb3Np
dGlvbiBvZiB0aGUgZ2l2ZW4gZnJhbWUgdmlldy4gSWYgdGhpcyBmdW5jdGlvbiByZXR1cm5zIHRy
dWUsIGl0IG1lYW5zIHRoYXQgdGhlCiAgICAgLy8gcG9zaXRpb24gd2lsbCBiZSB1cGRhdGVkIGFz
eW5jaHJvbm91c2x5LiBJZiBpdCByZXR1cm5zIGZhbHNlLCB0aGUgY2FsbGVyIHNob3VsZCB1cGRh
dGUgdGhlIHNjcm9sbGluZyBwb3NpdGlvbiBpdHNlbGYuCiAgICAgYm9vbCByZXF1ZXN0U2Nyb2xs
UG9zaXRpb25VcGRhdGUoRnJhbWVWaWV3KiwgY29uc3QgSW50UG9pbnQmKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTm9uZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvck5v
bmUuY3BwCmluZGV4IGYwYWNmZTBjYzNiMTcxZDMzMTA0NzA0NjUwMDJlMGQyYTU3ZmQwOWMuLmIw
OTU1MmQ4NjgzY2M3ZjlkYTBhMzhlOGQyYjIzZjdlMzU1NDEwNDUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTm9uZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3JOb25l
LmNwcApAQCAtODMsNiArODMsMTAgQEAgdm9pZCBTY3JvbGxpbmdDb29yZGluYXRvcjo6c2V0TGF5
ZXJJc0NvbnRhaW5lckZvckZpeGVkUG9zaXRpb25MYXllcnMoR3JhcGhpY3NMYXkKIHZvaWQgU2Ny
b2xsaW5nQ29vcmRpbmF0b3I6OnNldExheWVySXNGaXhlZFRvQ29udGFpbmVyTGF5ZXIoR3JhcGhp
Y3NMYXllciosIGJvb2wpCiB7CiB9CisKK3ZvaWQgU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OnNjcm9s
bGFibGVBcmVhU2Nyb2xsTGF5ZXJEaWRDaGFuZ2UoU2Nyb2xsYWJsZUFyZWEqLCBHcmFwaGljc0xh
eWVyKikKK3sKK30KICNlbmRpZiAvLyAhRU5BQkxFKFRIUkVBREVEX1NDUk9MTElORykKIAogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvY2hyb21pdW0vU2Nyb2xs
aW5nQ29vcmRpbmF0b3JDaHJvbWl1bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGlu
Zy9jaHJvbWl1bS9TY3JvbGxpbmdDb29yZGluYXRvckNocm9taXVtLmNwcAppbmRleCBmMzMyZjUw
NDJmNDcyODYxYTEzYTdlNDhmY2NlYTYyMzk1NDI2MjBlLi5iYzc5YWE4NzEyZGUzZGEwMTczYjY5
ZWMxYjA5NWZhZDdjN2EwNDBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9s
bGluZy9jaHJvbWl1bS9TY3JvbGxpbmdDb29yZGluYXRvckNocm9taXVtLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9jaHJvbWl1bS9TY3JvbGxpbmdDb29yZGluYXRvckNo
cm9taXVtLmNwcApAQCAtMjQ2LDQgKzI0Niw5IEBAIHZvaWQgU2Nyb2xsaW5nQ29vcmRpbmF0b3I6
OnNldExheWVySXNGaXhlZFRvQ29udGFpbmVyTGF5ZXIoR3JhcGhpY3NMYXllciogbGF5ZXIsCiAg
ICAgICAgIHNjcm9sbGFibGVMYXllci0+c2V0Rml4ZWRUb0NvbnRhaW5lckxheWVyKGVuYWJsZSk7
CiB9CiAKK3ZvaWQgU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OnNjcm9sbGFibGVBcmVhU2Nyb2xsTGF5
ZXJEaWRDaGFuZ2UoU2Nyb2xsYWJsZUFyZWEqLCBHcmFwaGljc0xheWVyKikKK3sKKyAgICAvLyBG
SVhNRTogSW1wbGVtZW50LgorfQorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9TY3JvbGxhYmxlQXJlYS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJs
ZUFyZWEuaAppbmRleCA3MjFlYzMyZWM4YjM5YmEwZTMxZjBiYjUwOWRlMzY5ZjVjMmVmZTE0Li5j
ZTI1NWIxYjYyZTUzNjJkYzIxMGYyMDg1NmU0OTgwMWIwNzZiNTA3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmgKQEAgLTE2OSw2ICsxNjksNyBAQCBwdWJsaWM6CiAK
ICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiAgICAgdmlydHVhbCBUaWxlZEJhY2tp
bmcqIHRpbGVkQmFja2luZygpIHsgcmV0dXJuIDA7IH0KKyAgICB2aXJ0dWFsIGJvb2wgdXNlc0Nv
bXBvc2l0ZWRTY3JvbGxpbmcoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogI2VuZGlmCiAKIHBy
b3RlY3RlZDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXll
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IGRk
MGM2NWYzMzM2YWZiMjA5YTk1OWNlZjVlZjU1YWE5MTYyNmU5MjkuLmE0ODg1Y2VmYmI0NDQ3ZDFj
MzIwNWY2YmY1OGRmMTY3ZmM1YWExOWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyLmNwcApAQCAtMTU2Nyw5ICsxNTY3LDkgQEAgdm9pZCBSZW5kZXJMYXllcjo6Y29udmVy
dFRvTGF5ZXJDb29yZHMoY29uc3QgUmVuZGVyTGF5ZXIqIGFuY2VzdG9yTGF5ZXIsIExheW91dFIK
ICAgICByZWN0Lm1vdmUoLWRlbHRhLngoKSwgLWRlbHRhLnkoKSk7CiB9CiAKKyNpZiBVU0UoQUND
RUxFUkFURURfQ09NUE9TSVRJTkcpCiBib29sIFJlbmRlckxheWVyOjp1c2VzQ29tcG9zaXRlZFNj
cm9sbGluZygpIGNvbnN0CiB7Ci0jaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogICAg
IGlmICghc2Nyb2xsc092ZXJmbG93KCkgfHwgIWFsbG93c1Njcm9sbGluZygpKQogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAKQEAgLTE1NzgsMTAgKzE1NzgsOCBAQCBib29sIFJlbmRlckxheWVyOjp1
c2VzQ29tcG9zaXRlZFNjcm9sbGluZygpIGNvbnN0CiAjZWxzZQogICAgIHJldHVybiBmYWxzZTsK
ICNlbmRpZgotI2Vsc2UKLSAgICByZXR1cm4gZmFsc2U7Ci0jZW5kaWYKIH0KKyNlbmRpZgogCiBz
dGF0aWMgaW5saW5lIGludCBhZGp1c3RlZFNjcm9sbERlbHRhKGludCBiZWdpbm5pbmdEZWx0YSkg
ewogICAgIC8vIFRoaXMgaW1wbGVtZW50aW9uIG1hdGNoZXMgRmlyZWZveCdzLgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaAppbmRleCA1YjBmZmQ5MzA2OTZhOTM4Njc1ODIzZGUw
ZTk0ZDY1NjIxMWNhM2I4Li4zMmQ0MWUzYmE5YWY5YjMzNTVjNWRjOTcxNGZmM2M1MDVhY2FlY2Jk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaApAQCAtMzYzLDcgKzM2Myw2
IEBAIHB1YmxpYzoKICAgICB2b2lkIHBhaW50UmVzaXplcihHcmFwaGljc0NvbnRleHQqLCBjb25z
dCBJbnRQb2ludCYsIGNvbnN0IEludFJlY3QmIGRhbWFnZVJlY3QpOwogCiAgICAgdm9pZCB1cGRh
dGVTY3JvbGxJbmZvQWZ0ZXJMYXlvdXQoKTsKLSAgICBib29sIHVzZXNDb21wb3NpdGVkU2Nyb2xs
aW5nKCkgY29uc3Q7CiAKICAgICBib29sIHNjcm9sbChTY3JvbGxEaXJlY3Rpb24sIFNjcm9sbEdy
YW51bGFyaXR5LCBmbG9hdCBtdWx0aXBsaWVyID0gMSk7CiAgICAgdm9pZCBhdXRvc2Nyb2xsKCk7
CkBAIC02MzUsOSArNjM0LDExIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIEdyYXBoaWNzTGF5ZXIq
IGxheWVyRm9ySG9yaXpvbnRhbFNjcm9sbGJhcigpIGNvbnN0OwogICAgIHZpcnR1YWwgR3JhcGhp
Y3NMYXllciogbGF5ZXJGb3JWZXJ0aWNhbFNjcm9sbGJhcigpIGNvbnN0OwogICAgIHZpcnR1YWwg
R3JhcGhpY3NMYXllciogbGF5ZXJGb3JTY3JvbGxDb3JuZXIoKSBjb25zdDsKKyAgICB2aXJ0dWFs
IGJvb2wgdXNlc0NvbXBvc2l0ZWRTY3JvbGxpbmcoKSBjb25zdCBPVkVSUklERTsKICNlbHNlCiAg
ICAgYm9vbCBpc0NvbXBvc2l0ZWQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIGJvb2wg
aGFzQ29tcG9zaXRlZE1hc2soKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorICAgIGJvb2wgdXNl
c0NvbXBvc2l0ZWRTY3JvbGxpbmcoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogI2VuZGlmCiAK
ICAgICBib29sIHBhaW50c1dpdGhUcmFuc3BhcmVuY3koUGFpbnRCZWhhdmlvciBwYWludEJlaGF2
aW9yKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxh
eWVyQmFja2luZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNr
aW5nLmNwcAppbmRleCA1MThjYzI5OWYzZjQyNWNkY2YxMmM4NGU1ZjVlOGFkZThhNWI0ZDA2Li4w
MzA4MWIyM2RiNjNlNThiMDNkNzBmMmIzNDk5NDE0MjY1OTViMTM4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcApAQCAtNjcxLDEwICs2NzEs
MTQgQEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZUdyYXBoaWNzTGF5ZXJHZW9tZXRy
eSgpCiAgICAgICAgIGlmIChzY3JvbGxTaXplICE9IG1fc2Nyb2xsaW5nQ29udGVudHNMYXllci0+
c2l6ZSgpIHx8IHBhZGRpbmdCb3hPZmZzZXRDaGFuZ2VkKQogICAgICAgICAgICAgbV9zY3JvbGxp
bmdDb250ZW50c0xheWVyLT5zZXROZWVkc0Rpc3BsYXkoKTsKIAorICAgICAgICBJbnRTaXplIHNj
cm9sbGluZ0NvbnRlbnRzT2Zmc2V0ID0gcGFkZGluZ0JveC5sb2NhdGlvbigpIC0gSW50UG9pbnQo
KSAtIHNjcm9sbE9mZnNldDsKKyAgICAgICAgaWYgKHNjcm9sbGluZ0NvbnRlbnRzT2Zmc2V0ICE9
IG1fc2Nyb2xsaW5nQ29udGVudHNMYXllci0+b2Zmc2V0RnJvbVJlbmRlcmVyKCkgfHwgc2Nyb2xs
U2l6ZSAhPSBtX3Njcm9sbGluZ0NvbnRlbnRzTGF5ZXItPnNpemUoKSkKKyAgICAgICAgICAgIGNv
bXBvc2l0b3IoKS0+c2Nyb2xsaW5nTGF5ZXJEaWRDaGFuZ2UobV9vd25pbmdMYXllcik7CisKICAg
ICAgICAgbV9zY3JvbGxpbmdDb250ZW50c0xheWVyLT5zZXRTaXplKHNjcm9sbFNpemUpOwogICAg
ICAgICAvLyBGSVhNRTogU2Nyb2xsaW5nIHRoZSBjb250ZW50IGxheWVyIGRvZXMgbm90IG5lZWQg
dG8gdHJpZ2dlciBhIHJlcGFpbnQuIFRoZSBvZmZzZXQgd2lsbCBiZSBjb21wZW5zYXRlZCBhd2F5
IGR1cmluZyBwYWludGluZy4KICAgICAgICAgLy8gRklYTUU6IFRoZSBwYWludCBvZmZzZXQgYW5k
IHRoZSBzY3JvbGwgb2Zmc2V0IHNob3VsZCByZWFsbHkgYmUgc2VwYXJhdGUgY29uY2VwdHMuCi0g
ICAgICAgIG1fc2Nyb2xsaW5nQ29udGVudHNMYXllci0+c2V0T2Zmc2V0RnJvbVJlbmRlcmVyKHBh
ZGRpbmdCb3gubG9jYXRpb24oKSAtIEludFBvaW50KCkgLSBzY3JvbGxPZmZzZXQpOworICAgICAg
ICBtX3Njcm9sbGluZ0NvbnRlbnRzTGF5ZXItPnNldE9mZnNldEZyb21SZW5kZXJlcihzY3JvbGxp
bmdDb250ZW50c09mZnNldCk7CiAgICAgfQogCiAgICAgbV9ncmFwaGljc0xheWVyLT5zZXRDb250
ZW50c1JlY3QoY29udGVudHNCb3goKSk7CkBAIC05MTcsNiArOTIxLDggQEAgYm9vbCBSZW5kZXJM
YXllckJhY2tpbmc6OnVwZGF0ZVNjcm9sbGluZ0xheWVycyhib29sIG5lZWRzU2Nyb2xsaW5nTGF5
ZXJzKQogICAgICAgICB1cGRhdGVJbnRlcm5hbEhpZXJhcmNoeSgpOwogICAgICAgICBtX2dyYXBo
aWNzTGF5ZXItPnNldFBhaW50aW5nUGhhc2UocGFpbnRpbmdQaGFzZUZvclByaW1hcnlMYXllcigp
KTsKICAgICAgICAgbV9ncmFwaGljc0xheWVyLT5zZXROZWVkc0Rpc3BsYXkoKTsKKyAgICAgICAg
aWYgKHJlbmRlcmVyKCktPnZpZXcoKSkKKyAgICAgICAgICAgIGNvbXBvc2l0b3IoKS0+c2Nyb2xs
aW5nTGF5ZXJEaWRDaGFuZ2UobV9vd25pbmdMYXllcik7CiAgICAgfQogCiAgICAgcmV0dXJuIGxh
eWVyQ2hhbmdlZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllckNvbXBvc2l0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVy
Q29tcG9zaXRvci5jcHAKaW5kZXggMjFkNDMxMWVmOGVhN2QyYTY2ZDVhMGUzOWZjOGUxOWU4N2Y5
Nzg1ZS4uZjk2NzIzM2VmN2U1NTkyMGNiNGRlOWJkODAyZDY1ODgxZDA5NjdjNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKQEAg
LTEwOTIsNiArMTA5MiwxMyBAQCB2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6ZnJhbWVWaWV3
RGlkU2Nyb2xsKCkKICAgICBtX3Njcm9sbExheWVyLT5zZXRQb3NpdGlvbihGbG9hdFBvaW50KC1z
Y3JvbGxQb3NpdGlvbi54KCksIC1zY3JvbGxQb3NpdGlvbi55KCkpKTsKIH0KIAordm9pZCBSZW5k
ZXJMYXllckNvbXBvc2l0b3I6OnNjcm9sbGluZ0xheWVyRGlkQ2hhbmdlKFJlbmRlckxheWVyKiBs
YXllcikKK3sKKyAgICBSZW5kZXJMYXllckJhY2tpbmcqIGJhY2tpbmcgPSBsYXllci0+YmFja2lu
ZygpOworICAgIGlmIChTY3JvbGxpbmdDb29yZGluYXRvciogc2Nyb2xsaW5nQ29vcmRpbmF0b3Ig
PSB0aGlzLT5zY3JvbGxpbmdDb29yZGluYXRvcigpKQorICAgICAgICBzY3JvbGxpbmdDb29yZGlu
YXRvci0+c2Nyb2xsYWJsZUFyZWFTY3JvbGxMYXllckRpZENoYW5nZShsYXllciwgYmFja2luZyA/
IGJhY2tpbmctPnNjcm9sbGluZ0NvbnRlbnRzTGF5ZXIoKSA6IDApOworfQorCiBTdHJpbmcgUmVu
ZGVyTGF5ZXJDb21wb3NpdG9yOjpsYXllclRyZWVBc1RleHQoYm9vbCBzaG93RGVidWdJbmZvKQog
ewogICAgIHVwZGF0ZUNvbXBvc2l0aW5nTGF5ZXJzKENvbXBvc2l0aW5nVXBkYXRlQWZ0ZXJMYXlv
dXQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29t
cG9zaXRvci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRv
ci5oCmluZGV4IDUxODkzMDk5N2UwZmE3YTIwOTFjMGYwZmM1ZDRmN2NjYWExNDhlYjEuLjQ2YTk3
YTU3ZmI4YzY5Y2I1MmNhODgyZjQ4NThmZDBhYWJlMzQ4ZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmgKQEAgLTE5Miw2ICsxOTIsOCBA
QCBwdWJsaWM6CiAgICAgdm9pZCBmcmFtZVZpZXdEaWRDaGFuZ2VTaXplKCk7CiAgICAgdm9pZCBm
cmFtZVZpZXdEaWRTY3JvbGwoKTsKIAorICAgIHZvaWQgc2Nyb2xsaW5nTGF5ZXJEaWRDaGFuZ2Uo
UmVuZGVyTGF5ZXIqKTsKKwogICAgIFN0cmluZyBsYXllclRyZWVBc1RleHQoYm9vbCBzaG93RGVi
dWdJbmZvID0gZmFsc2UpOwogCiAgICAgLy8gVGhlc2UgYXJlIG5hbWVkIHRvIGF2b2lkIGNvbmZs
aWN0cyB3aXRoIHRoZSBmdW5jdGlvbnMgaW4gR3JhcGhpY3NMYXllckNsaWVudAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>