<?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>15494</bug_id>
          
          <creation_ts>2007-10-13 21:54:47 -0700</creation_ts>
          <short_desc>SVGZoomAndPan constants are missing from window object</short_desc>
          <delta_ts>2012-05-25 09:07:56 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>SVG</component>
          <version>523.x (Safari 3)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</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>20430</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Seidel (no email)">eric</reporter>
          <assigned_to name="Nikolas Zimmermann">zimmermann</assigned_to>
          <cc>abarth</cc>
    
    <cc>dglazkov</cc>
    
    <cc>gustavo</cc>
    
    <cc>haraken</cc>
    
    <cc>japhet</cc>
    
    <cc>jberlin</cc>
    
    <cc>ojan</cc>
    
    <cc>philn</cc>
    
    <cc>rakuco</cc>
    
    <cc>rwlbuis</cc>
    
    <cc>sam</cc>
    
    <cc>vestbo</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>58444</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2007-10-13 21:54:47 -0700</bug_when>
    <thetext>SVGZoomAndPan constants are missing from window object

Unfortunately we can&apos;t just turn on &quot;GeneratesContructor&quot; for SVGZoomAndPan and have everything work right.  There need to be modifications to the autogen system to generate window properties which just define constants but don&apos;t actually let you construct them (because, as in this case, they&apos;re only virtual base classes in C++).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>628456</commentid>
    <comment_count>1</comment_count>
      <attachid>142874</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2012-05-19 11:38:19 -0700</bug_when>
    <thetext>Created attachment 142874
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>628457</commentid>
    <comment_count>2</comment_count>
      <attachid>142874</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-05-19 11:53:31 -0700</bug_when>
    <thetext>Comment on attachment 142874
Patch

Attachment 142874 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/12727658</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>628461</commentid>
    <comment_count>3</comment_count>
      <attachid>142874</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-05-19 11:57:29 -0700</bug_when>
    <thetext>Comment on attachment 142874
Patch

Attachment 142874 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/12730206</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>628462</commentid>
    <comment_count>4</comment_count>
      <attachid>142874</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-05-19 12:03:04 -0700</bug_when>
    <thetext>Comment on attachment 142874
Patch

Attachment 142874 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/12726769</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>628463</commentid>
    <comment_count>5</comment_count>
      <attachid>142874</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-05-19 12:05:36 -0700</bug_when>
    <thetext>Comment on attachment 142874
Patch

Attachment 142874 did not pass win-ews (win):
Output: http://queues.webkit.org/results/12733215</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>628465</commentid>
    <comment_count>6</comment_count>
      <attachid>142874</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-19 12:08:21 -0700</bug_when>
    <thetext>Comment on attachment 142874
Patch

Attachment 142874 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/12724837</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>628477</commentid>
    <comment_count>7</comment_count>
      <attachid>142874</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-05-19 12:50:56 -0700</bug_when>
    <thetext>Comment on attachment 142874
Patch

Attachment 142874 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/12730210</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>628478</commentid>
    <comment_count>8</comment_count>
      <attachid>142874</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-05-19 13:11:58 -0700</bug_when>
    <thetext>Comment on attachment 142874
Patch

Attachment 142874 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/12734206</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>628495</commentid>
    <comment_count>9</comment_count>
      <attachid>142883</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2012-05-19 15:09:34 -0700</bug_when>
    <thetext>Created attachment 142883
Patch v2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>628498</commentid>
    <comment_count>10</comment_count>
      <attachid>142883</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-19 15:33:54 -0700</bug_when>
    <thetext>Comment on attachment 142883
Patch v2

Attachment 142883 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/12734235</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>628499</commentid>
    <comment_count>11</comment_count>
      <attachid>142883</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-05-19 15:36:37 -0700</bug_when>
    <thetext>Comment on attachment 142883
Patch v2

Attachment 142883 did not pass win-ews (win):
Output: http://queues.webkit.org/results/12734236</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>630139</commentid>
    <comment_count>12</comment_count>
      <attachid>143244</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2012-05-22 02:44:50 -0700</bug_when>
    <thetext>Created attachment 143244
Patch v3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>630155</commentid>
    <comment_count>13</comment_count>
      <attachid>143244</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-05-22 03:13:32 -0700</bug_when>
    <thetext>Comment on attachment 143244
Patch v3

Attachment 143244 did not pass win-ews (win):
Output: http://queues.webkit.org/results/12759029</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>630157</commentid>
    <comment_count>14</comment_count>
      <attachid>143244</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-05-22 03:15:14 -0700</bug_when>
    <thetext>Comment on attachment 143244
Patch v3

Attachment 143244 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/12733938</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>630162</commentid>
    <comment_count>15</comment_count>
      <attachid>143244</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-05-22 03:23:36 -0700</bug_when>
    <thetext>Comment on attachment 143244
Patch v3

Attachment 143244 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/12736919</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>630195</commentid>
    <comment_count>16</comment_count>
      <attachid>143244</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-05-22 03:54:17 -0700</bug_when>
    <thetext>Comment on attachment 143244
Patch v3

Attachment 143244 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/12742559</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>630203</commentid>
    <comment_count>17</comment_count>
      <attachid>143244</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-22 04:03:10 -0700</bug_when>
    <thetext>Comment on attachment 143244
Patch v3

Attachment 143244 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/12738784</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>630230</commentid>
    <comment_count>18</comment_count>
      <attachid>143244</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-05-22 04:31:20 -0700</bug_when>
    <thetext>Comment on attachment 143244
Patch v3

Attachment 143244 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/12749280</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>630371</commentid>
    <comment_count>19</comment_count>
      <attachid>143301</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2012-05-22 07:59:37 -0700</bug_when>
    <thetext>Created attachment 143301
Patch v4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>630391</commentid>
    <comment_count>20</comment_count>
      <attachid>143301</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-05-22 08:25:02 -0700</bug_when>
    <thetext>Comment on attachment 143301
Patch v4

Attachment 143301 did not pass win-ews (win):
Output: http://queues.webkit.org/results/12748457</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>630407</commentid>
    <comment_count>21</comment_count>
      <attachid>143301</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-22 08:45:44 -0700</bug_when>
    <thetext>Comment on attachment 143301
Patch v4

Attachment 143301 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/12761060</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>630415</commentid>
    <comment_count>22</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2012-05-22 08:56:54 -0700</bug_when>
    <thetext>I think I finally found the V8 build problem, v5 should fix chromium. Speculative fix for the toJS() overload problem on win is included, let&apos;s see.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>630417</commentid>
    <comment_count>23</comment_count>
      <attachid>143311</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2012-05-22 08:58:19 -0700</bug_when>
    <thetext>Created attachment 143311
Patch v5</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>630438</commentid>
    <comment_count>24</comment_count>
      <attachid>143311</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-05-22 09:20:53 -0700</bug_when>
    <thetext>Comment on attachment 143311
Patch v5

Attachment 143311 did not pass win-ews (win):
Output: http://queues.webkit.org/results/12749354</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>631286</commentid>
    <comment_count>25</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2012-05-22 23:47:29 -0700</bug_when>
    <thetext>The win build makes me sad :(

4&gt;C:\cygwin\home\buildbot\WebKit\WebKitBuild\Debug\obj\WebCore\DerivedSources\JSSVGDocument.cpp(149) : error C2668: &apos;WebCore::toJS&apos; : ambiguous call to overloaded function
4&gt;        c:\cygwin\home\buildbot\webkit\webkitbuild\debug\obj\webcore\derivedsources\JSNode.h(111): could be &apos;JSC::JSValue WebCore::toJS(JSC::ExecState *,WebCore::JSDOMGlobalObject *,WebCore::Node *)&apos;
4&gt;        c:\cygwin\home\buildbot\webkit\webkitbuild\debug\obj\webcore\derivedsources\JSSVGZoomAndPan.h(88): or &apos;JSC::JSValue WebCore::toJS(JSC::ExecState *,WebCore::JSDOMGlobalObject *,WebCore::SVGZoomAndPan *)&apos;
4&gt;        while trying to match the argument list &apos;(JSC::ExecState *, WebCore::JSDOMGlobalObject *, WebCore::SVGSVGElement *)&apos;

It can&apos;t figure out if it&apos;s supposed to call toJS(Node*) or toJS(SVGZoomAndPan*) for a SVGSVGElement.
It doesn&apos;t clash with SVGFitToViewBox toJS, or SVGTests toJS, and I don&apos;t get that. It only complains that toJS(Node*) / toJS(SVGZoomAndPan*) clashes - why is that? :(

Here&apos;s the offending code from JSSVGDocument.cpp:

JSValue jsSVGDocumentRootElement(ExecState* exec, JSValue slotBase, PropertyName)
{
    JSSVGDocument* castedThis = jsCast&lt;JSSVGDocument*&gt;(asObject(slotBase));
    UNUSED_PARAM(exec);
    SVGDocument* impl = static_cast&lt;SVGDocument*&gt;(castedThis-&gt;impl());
    JSValue result = toJS(exec, castedThis-&gt;globalObject(), WTF::getPtr(impl-&gt;rootElement()));
    return result;
}

Of course a static_cast would solve this, but I&apos;d rather find the problem for real instead of adding work-arounds to CodeGeneratorJS.pm, just for win &amp; SVGSVGElement.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>631339</commentid>
    <comment_count>26</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2012-05-23 00:41:43 -0700</bug_when>
    <thetext>I&apos;ve had a nice discussion with Hajime on IRC and the problem is nailed down. Patch v6 should hopefully work everywhere.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>631340</commentid>
    <comment_count>27</comment_count>
      <attachid>143488</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2012-05-23 00:42:10 -0700</bug_when>
    <thetext>Created attachment 143488
Patch v6</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>631377</commentid>
    <comment_count>28</comment_count>
      <attachid>143488</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-23 01:28:32 -0700</bug_when>
    <thetext>Comment on attachment 143488
Patch v6

Attachment 143488 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/12769140</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>631383</commentid>
    <comment_count>29</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2012-05-23 01:40:04 -0700</bug_when>
    <thetext>Oops, still a typo in CodeGeneratorV8.pm, so good that we have the EWS :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>631384</commentid>
    <comment_count>30</comment_count>
      <attachid>143499</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2012-05-23 01:40:48 -0700</bug_when>
    <thetext>Created attachment 143499
Patch v7</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>631482</commentid>
    <comment_count>31</comment_count>
      <attachid>143499</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-05-23 04:09:55 -0700</bug_when>
    <thetext>Comment on attachment 143499
Patch v7

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

&gt; Source/WebCore/svg/SVGViewElement.h:44
&gt; +    using SVGStyledElement::deref;

Do we need these?

&gt; Source/WebCore/svg/SVGViewSpec.h:35
&gt; +                    public SVGFitToViewBox {

Do we need this change?

&gt; Source/WebCore/svg/SVGViewSpec.h:55
&gt; +    void setZoomAndPan(unsigned short, ExceptionCode&amp;);

It looks there is no implementation of this function.

&gt; Source/WebCore/svg/SVGZoomAndPan.h:81
&gt; +    // These are never called, and thus ASSERT_NOT_REACHED.

Maybe inlining help to save the code size.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>631503</commentid>
    <comment_count>32</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2012-05-23 04:45:34 -0700</bug_when>
    <thetext>(In reply to comment #31)
&gt; (From update of attachment 143499 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=143499&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/svg/SVGViewElement.h:44
&gt; &gt; +    using SVGStyledElement::deref;
&gt; 
&gt; Do we need these?
Yes, SVGViewElement has ref/deref via SVGStyledElement inheritance (inherits from Node). SVGZoomAndPan also has ref/deref, but it&apos;s never used (can&apos;t be removed as the generated JSSVG* code depends on the existence of ref/deref).

&gt; &gt; Source/WebCore/svg/SVGViewSpec.h:35
&gt; &gt; +                    public SVGFitToViewBox {
&gt; 
&gt; Do we need this change?
Yes, it mimics the W3C IDL again - consider it a progression.

&gt; 
&gt; &gt; Source/WebCore/svg/SVGViewSpec.h:55
&gt; &gt; +    void setZoomAndPan(unsigned short, ExceptionCode&amp;);
&gt; 
&gt; It looks there is no implementation of this function.
There is:
NO_RETURN_DUE_TO_ASSERT void SVGZoomAndPan::setZoomAndPan(unsigned short)
It only exists so that we don&apos;t need to special case the CodeGenerators for SVGZoomAndPan.

&gt; &gt; Source/WebCore/svg/SVGZoomAndPan.h:81
&gt; &gt; +    // These are never called, and thus ASSERT_NOT_REACHED.
&gt; 
&gt; Maybe inlining help to save the code size.
Hm, does it really help? I usually don&apos;t inline without having checked it helps.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>631745</commentid>
    <comment_count>33</comment_count>
      <attachid>143499</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2012-05-23 10:02:44 -0700</bug_when>
    <thetext>Comment on attachment 143499
Patch v7

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

Looks good! A welcome cleanup.

&gt; Source/WebCore/ChangeLog:20
&gt; +        MSVC can&apos;t decide wheteher it should call toJS(Node*) or toJS(SVGZoomAndPan*) for a SVGSVGElement.

Typo: whether.

&gt; Source/WebCore/ChangeLog:26
&gt; +

Maybe reference the test section here, why you do not need to add new tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>632648</commentid>
    <comment_count>34</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2012-05-24 05:21:18 -0700</bug_when>
    <thetext>Committed r118353: &lt;http://trac.webkit.org/changeset/118353&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>632837</commentid>
    <comment_count>35</comment_count>
    <who name="Jessie Berlin">jberlin</who>
    <bug_when>2012-05-24 08:42:23 -0700</bug_when>
    <thetext>(In reply to comment #34)
&gt; Committed r118353: &lt;http://trac.webkit.org/changeset/118353&gt;

This broke the Mac tests:

http://build.webkit.org/results/Lion%20Debug%20(Tests)/r118365%20(6929)/fast/js/global-constructors-pretty-diff.html

I will check in updated results this time, but please watch the bots next time you make a change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>633800</commentid>
    <comment_count>36</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2012-05-25 03:37:58 -0700</bug_when>
    <thetext>(In reply to comment #35)
&gt; (In reply to comment #34)
&gt; &gt; Committed r118353: &lt;http://trac.webkit.org/changeset/118353&gt;
&gt; 
&gt; This broke the Mac tests:
&gt; 
&gt; http://build.webkit.org/results/Lion%20Debug%20(Tests)/r118365%20(6929)/fast/js/global-constructors-pretty-diff.html
&gt; 
&gt; I will check in updated results this time, but please watch the bots next time you make a change.

Sorry Jessie! To my defense: as you can see the cr-linux EWS, which runs all tests, is green. I didn&apos;t realize fast/js/global-constructors.html is skipped for Chromium.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>633977</commentid>
    <comment_count>37</comment_count>
    <who name="Jessie Berlin">jberlin</who>
    <bug_when>2012-05-25 09:07:56 -0700</bug_when>
    <thetext>(In reply to comment #36)
&gt; (In reply to comment #35)
&gt; &gt; (In reply to comment #34)
&gt; &gt; &gt; Committed r118353: &lt;http://trac.webkit.org/changeset/118353&gt;
&gt; &gt; 
&gt; &gt; This broke the Mac tests:
&gt; &gt; 
&gt; &gt; http://build.webkit.org/results/Lion%20Debug%20(Tests)/r118365%20(6929)/fast/js/global-constructors-pretty-diff.html
&gt; &gt; 
&gt; &gt; I will check in updated results this time, but please watch the bots next time you make a change.
&gt; 
&gt; Sorry Jessie! To my defense: as you can see the cr-linux EWS, which runs all tests, is green. I didn&apos;t realize fast/js/global-constructors.html is skipped for Chromium.

Now that we have the Mac Lion bots green (or pretty close to green at any given time), please try to look at them as well *after* you commit.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>142874</attachid>
            <date>2012-05-19 11:38:19 -0700</date>
            <delta_ts>2012-05-19 15:09:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-15494-20120519203855.patch</filename>
            <type>text/plain</type>
            <size>18743</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE3Njk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGViMmEwNDAwYmRkNWU0
YjQzMjRmYjQ5ZWE5MjMwYTNiN2QzZWJkMy4uYzM4MzU5MjkyYmNlYWIxOTZkODgxOGIxMTk5ZmJj
M2Y1OTUzZjYxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEyLTA1LTE5ICBOaWtv
bGFzIFppbW1lcm1hbm4gIDxuemltbWVybWFubkByaW0uY29tPgorCisgICAgICAgIFNWR1pvb21B
bmRQYW4gY29uc3RhbnRzIGFyZSBtaXNzaW5nIGZyb20gd2luZG93IG9iamVjdAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU0OTQKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBHZW5lcmF0ZSB0aGUgU1ZHWm9v
bUFuZFBhbkNvbnN0cnVjdG9yLCBzbyB0aGF0IHRoZSBjb25zdGFudHMgZGVmaW5lZCBpbiB0aGUg
SURMCisgICAgICAgIGNhbiBiZSByZWFjaGVkIGZyb20gdGhlIGJpbmRpbmdzLiBQcm92aWRlIGEg
c3R1Yi1pbXBsZW1lbnRhdGlvbiBvZiByZWYvZGVyZWYKKyAgICAgICAgdGhhdCdzIG5ldmVyIHVz
ZWQsIGFzIHdlIGRvbid0IGFjdHVhbGx5IHVzZSBKU1NWR1pvb21BbmRQYW4gd2hpY2ggbmVlZHMg
dGhpcywgYnV0CisgICAgICAgIG9ubHkgdGhlIEpTU1ZHWm9vbUFuZFBhbkNvbnN0cnVjdG9yLgor
CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMuY3BwOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxp
c3QuYW06CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAg
ICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHBhZ2UvRE9N
V2luZG93LmlkbDoKKyAgICAgICAgKiBzdmcvU1ZHU1ZHRWxlbWVudC5oOgorICAgICAgICAoU1ZH
U1ZHRWxlbWVudCk6CisgICAgICAgICogc3ZnL1NWR1ZpZXdFbGVtZW50Lmg6CisgICAgICAgIChT
VkdWaWV3RWxlbWVudCk6CisgICAgICAgICogc3ZnL1NWR1pvb21BbmRQYW4uY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHWm9vbUFuZFBhbjo6cGFyc2Vab29tQW5kUGFuKToKKyAgICAgICAgKFdl
YkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHWm9vbUFuZFBhbjo6cmVmKToKKyAgICAgICAg
KFdlYkNvcmU6OlNWR1pvb21BbmRQYW46OmRlcmVmKToKKyAgICAgICAgKiBzdmcvU1ZHWm9vbUFu
ZFBhbi5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHWm9vbUFuZFBhbjo6c2V0Wm9vbUFuZFBhbik6
CisgICAgICAgIChTVkdab29tQW5kUGFuKToKKwogMjAxMi0wNS0xOSAgSm9lIFRob21hcyAgPGpv
ZXRob21hc0Btb3Rvcm9sYS5jb20+CiAKICAgICAgICAgVGhlIG9yZGVyIG9mIENTUyBwcm9wZXJ0
aWVzIGlzIHdyb25nIGluIGJhY2tncm91bmQgc2hvcnRoYW5kCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy5jcHAKaW5kZXggOTg4ZDU4MjY3ZDdlOTM1ZWY2YjAyN2M0OTEyOWZhZDgxYjhiMTBkYy4uZmYz
NDM0NDBkOWM0NzIwYjc2OTc4Yzk2ZmFjZTkyNTRiMTY4YTQ0OSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLmNwcApAQCAtNDM4LDYgKzQzOCw3IEBACiAjaW5jbHVkZSAiSlNTVkdVc2VFbGVtZW50
LmNwcCIKICNpbmNsdWRlICJKU1NWR1ZpZXdFbGVtZW50LmNwcCIKICNpbmNsdWRlICJKU1NWR1ZL
ZXJuRWxlbWVudC5jcHAiCisjaW5jbHVkZSAiSlNTVkdab29tQW5kUGFuLmNwcCIKICNpbmNsdWRl
ICJKU1NWR1pvb21FdmVudC5jcHAiCiAjaW5jbHVkZSAiSlNUZXh0LmNwcCIKICNpbmNsdWRlICJK
U1RleHRFdmVudC5jcHAiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5s
aXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCBkNzFkYjU5
NWE0Yzk0ZjIyYWI3ZWJiYmFlMjUyOTFkYWYzYTc4MmM0Li5lYTQxM2NmN2M0NDBiNDViOTU5YTMw
MTA2MTE0MzEyNWUyNDhhMmFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmls
ZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTUz
ODIsNiArNTM4Miw3IEBAIHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBcCiAJRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU1NWR1ZpZXdTcGVjLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNT
VkdWS2VybkVsZW1lbnQuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTU1ZHVktlcm5F
bGVtZW50LmggXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNTVkdab29tQW5kUGFuLmNwcCBc
CiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1NWR1pvb21BbmRQYW4uaCBcCiAJRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU1NWR1pvb21FdmVudC5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNTVkdab29tRXZlbnQuaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52
Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJD
b3JlLnZjcHJvagppbmRleCAyMTNkOTNiZmFhMzZmOGM2YzAyNzk4OTFmZTNkZGJkZTY2ODEyYjBh
Li41NTU4MDE0MTgzZDEyNDdkZjViMWI0ZDU5MTFiMTJmNzZlMjM5NDcxIDEwMDc1NQotLS0gYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtMjE4MzQsNiArMjE4MzQs
NjMgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iJChD
b25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xK
U1NWR1pvb21BbmRQYW4uY3BwIgorCQkJCT4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJ
TmFtZT0iRGVidWd8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+
CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJ
CTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9
IlJlbGVhc2V8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJ
CQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwv
RmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRl
YnVnX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJ
CQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+
CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJ
TmFtZT0iUmVsZWFzZV9DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxk
PSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29s
IgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0
aW9uCisJCQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9
InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wi
CisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRp
b24KKwkJCQkJTmFtZT0iUHJvZHVjdGlvbnxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9
InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wi
CisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCTwvRmlsZT4KKwkJCTxGaWxl
CisJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVj
dE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTU1ZHWm9vbUFuZFBhbi5oIgorCQkJCT4KKwkJCTwvRmls
ZT4KKworCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGly
KVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNTVkdab29tRXZlbnQuY3BwIgog
CQkJCT4KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA0YzZmZTY3ZWU5YzllZjc5MDY3NTI2
MTFjNDI0OWU1YjczMWFlMjMzLi4xOTM2NTJhOTE0Y2YwYmU1MDY5N2QxYjY0NjE4MmMzOGI2NDZh
YWU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCkBAIC0xODA4LDYgKzE4MDgsOCBAQAogCQk3MUE1N0RGMTE1NEJFMjVDMDAwOUQxMjAg
LyogU1ZHUGF0aFV0aWxpdGllcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA3MUE1N0RFRjE1NEJFMjVDMDAwOUQxMjAgLyogU1ZHUGF0aFV0aWxpdGll
cy5jcHAgKi87IH07CiAJCTcxQTU3REYyMTU0QkUyNUMwMDA5RDEyMCAvKiBTVkdQYXRoVXRpbGl0
aWVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3MUE1
N0RGMDE1NEJFMjVDMDAwOUQxMjAgLyogU1ZHUGF0aFV0aWxpdGllcy5oICovOyB9OwogCQk3MUND
N0EyMDE1MkEwQkZFMDA5RUVBRjkgLyogU1ZHQW5pbWF0ZWRFbnVtZXJhdGlvbi5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3MUNDN0ExRjE1MkEwQkZF
MDA5RUVBRjkgLyogU1ZHQW5pbWF0ZWRFbnVtZXJhdGlvbi5jcHAgKi87IH07CisJCTcxRENCNzAx
MTU2ODE5NzYwMDg2MjI3MSAvKiBKU1NWR1pvb21BbmRQYW4uY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzFEQ0I2RkYxNTY4MTk3NjAwODYyMjcxIC8q
IEpTU1ZHWm9vbUFuZFBhbi5jcHAgKi87IH07CisJCTcxRENCNzAyMTU2ODE5NzYwMDg2MjI3MSAv
KiBKU1NWR1pvb21BbmRQYW4uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDcxRENCNzAwMTU2ODE5NzYwMDg2MjI3MSAvKiBKU1NWR1pvb21BbmRQYW4uaCAq
LzsgfTsKIAkJNzFFNjIzRDExNTFGNzJBNjAwMzZFMkY0IC8qIFNWR0FuaW1hdGVkSW50ZWdlck9w
dGlvbmFsSW50ZWdlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNzFFNjIzQ0YxNTFGNzJBNjAwMzZFMkY0IC8qIFNWR0FuaW1hdGVkSW50ZWdlck9wdGlv
bmFsSW50ZWdlci5oICovOyB9OwogCQk3MUZCOTY3QjEzODNENjQ2MDBBQzhBNEMgLyogU1ZHQW5p
bWF0ZWRFbnVtZXJhdGlvblByb3BlcnR5VGVhck9mZi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzFGQjk2N0ExMzgzRDY0NjAwQUM4QTRDIC8qIFNWR0Fu
aW1hdGVkRW51bWVyYXRpb25Qcm9wZXJ0eVRlYXJPZmYuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3MjYyNkUwMjBFRjAyMkZFMDBBMDdFMjAgLyog
Rm9udEZhc3RQYXRoLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDcyNjI2RTAxMEVGMDIyRkUwMEEwN0UyMCAvKiBGb250RmFzdFBhdGguY3BwICovOyB9
OwpAQCAtODg0Nyw2ICs4ODQ5LDggQEAKIAkJNzFBNTdERUYxNTRCRTI1QzAwMDlEMTIwIC8qIFNW
R1BhdGhVdGlsaXRpZXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
U1ZHUGF0aFV0aWxpdGllcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTcxQTU3
REYwMTU0QkUyNUMwMDA5RDEyMCAvKiBTVkdQYXRoVXRpbGl0aWVzLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFNWR1BhdGhVdGlsaXRpZXMuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNzFDQzdBMUYxNTJBMEJGRTAwOUVFQUY5IC8qIFNWR0FuaW1hdGVkRW51bWVy
YXRpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU1ZHQW5pbWF0
ZWRFbnVtZXJhdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTcxRENCNkZG
MTU2ODE5NzYwMDg2MjI3MSAvKiBKU1NWR1pvb21BbmRQYW4uY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBuYW1lID0gSlNTVkdab29tQW5kUGFuLmNwcDsgcGF0aCA9IEpTU1ZHWm9v
bUFuZFBhbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTcxRENCNzAwMTU2ODE5
NzYwMDg2MjI3MSAvKiBKU1NWR1pvb21BbmRQYW4uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBuYW1lID0gSlNTVkdab29tQW5kUGFuLmg7IHBhdGggPSBKU1NWR1pvb21BbmRQYW4uaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzFFNjIzQ0UxNTFGNzJBNjAwMzZFMkY0IC8qIFNW
R0FuaW1hdGVkSW50ZWdlck9wdGlvbmFsSW50ZWdlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBTVkdBbmltYXRlZEludGVnZXJPcHRpb25hbEludGVnZXIuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3MUU2MjNDRjE1MUY3MkE2MDAzNkUyRjQgLyog
U1ZHQW5pbWF0ZWRJbnRlZ2VyT3B0aW9uYWxJbnRlZ2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFNWR0FuaW1hdGVkSW50ZWdlck9wdGlvbmFsSW50ZWdlci5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk3MUZCOTY3QTEzODNENjQ2MDBBQzhBNEMgLyogU1ZHQW5p
bWF0ZWRFbnVtZXJhdGlvblByb3BlcnR5VGVhck9mZi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBTVkdBbmltYXRlZEVudW1lcmF0aW9uUHJvcGVydHlUZWFyT2ZmLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xODM2MCw2ICsxODM2NCw4IEBACiAJCQkJQjJGQTNE
MkYwQUI3NUE2RjAwMEU1QUM0IC8qIEpTU1ZHVmlld0VsZW1lbnQuaCAqLywKIAkJCQk4NDg1MjI3
OTExOTAxNjJDMDA2RURDN0YgLyogSlNTVkdWS2VybkVsZW1lbnQuY3BwICovLAogCQkJCTg0ODUy
MjdBMTE5MDE2MkMwMDZFREM3RiAvKiBKU1NWR1ZLZXJuRWxlbWVudC5oICovLAorCQkJCTcxRENC
NkZGMTU2ODE5NzYwMDg2MjI3MSAvKiBKU1NWR1pvb21BbmRQYW4uY3BwICovLAorCQkJCTcxRENC
NzAwMTU2ODE5NzYwMDg2MjI3MSAvKiBKU1NWR1pvb21BbmRQYW4uaCAqLywKIAkJCQlCMkZBM0Qz
MDBBQjc1QTZGMDAwRTVBQzQgLyogSlNTVkdab29tRXZlbnQuY3BwICovLAogCQkJCUIyRkEzRDMx
MEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NWR1pvb21FdmVudC5oICovLAogCQkJKTsKQEAgLTI0OTEz
LDYgKzI0OTE5LDcgQEAKIAkJCQkyOUEzMDlCMTE1NjFDQUM0MDBCQkQ4RTUgLyogVmlzaXRlZExp
bmtzLmggaW4gSGVhZGVycyAqLywKIAkJCQlGREIwNTJFMDE1NjFBNDJDMDBCNTAwRDYgLyogQXVk
aW9TdW1taW5nSnVuY3Rpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTM3MTk0MTk3MTU2NkIzNzIw
MEEyNzZEOCAvKiBXZWJDb3JlTlNDZWxsRXh0cmFzLmggaW4gSGVhZGVycyAqLywKKwkJCQk3MURD
QjcwMjE1NjgxOTc2MDA4NjIyNzEgLyogSlNTVkdab29tQW5kUGFuLmggaW4gSGVhZGVycyAqLywK
IAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsK
QEAgLTI3OTM3LDYgKzI3OTQ0LDcgQEAKIAkJCQkyOUEzMDlCMDE1NjFDQUM0MDBCQkQ4RTUgLyog
VmlzaXRlZExpbmtzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUZEQjA1MkRGMTU2MUE0MkMwMEI1
MDBENiAvKiBBdWRpb1N1bW1pbmdKdW5jdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkzNzE5
NDE5NjE1NjZCMzcyMDBBMjc2RDggLyogV2ViQ29yZU5TQ2VsbEV4dHJhcy5tIGluIFNvdXJjZXMg
Ki8sCisJCQkJNzFEQ0I3MDExNTY4MTk3NjAwODYyMjcxIC8qIEpTU1ZHWm9vbUFuZFBhbi5jcHAg
aW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNz
aW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93
LmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAppbmRleCA5YTUxMmQwNzY2
NWExYTgxYzQ1OTE3YjlmODA1YTYwYmQxODliZGMwLi5lZTU0NzE0ZGM1ZGY2ZjljMDZlODUzYjlh
NzRiZTY2ZjcyYjgyYzA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRv
dy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCkBAIC03MDksNiAr
NzA5LDcgQEAgbW9kdWxlIHdpbmRvdyB7CiAgICAgICAgIGF0dHJpYnV0ZSBTVkdVc2VFbGVtZW50
Q29uc3RydWN0b3IgU1ZHVXNlRWxlbWVudDsKICAgICAgICAgYXR0cmlidXRlIFNWR1ZpZXdFbGVt
ZW50Q29uc3RydWN0b3IgU1ZHVmlld0VsZW1lbnQ7CiAvLyAgICAgIGF0dHJpYnV0ZSBTVkdWaWV3
U3BlY0NvbnN0cnVjdG9yIFNWR1ZpZXdTcGVjOworICAgICAgICBhdHRyaWJ1dGUgU1ZHWm9vbUFu
ZFBhbkNvbnN0cnVjdG9yIFNWR1pvb21BbmRQYW47CiAKICAgICAgICAgYXR0cmlidXRlIFNWR0Fu
aW1hdGVDb2xvckVsZW1lbnRDb25zdHJ1Y3RvciBTVkdBbmltYXRlQ29sb3JFbGVtZW50OwogICAg
ICAgICBhdHRyaWJ1dGUgU1ZHQW5pbWF0ZUVsZW1lbnRDb25zdHJ1Y3RvciBTVkdBbmltYXRlRWxl
bWVudDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHU1ZHRWxlbWVudC5oCmluZGV4IDZlYWQ3OGJkMjg0MGQ1ODk4
NjE5NjY1ZjhkMmNhMjJiMWM4YzdjNDMuLjE3M2ViZTIwMGJiNjM0YWUzYzc5NjlmMTk0NTUxMjFk
NTExMjIyMTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1NWR0VsZW1lbnQuaApAQCAtNTEsNiArNTEsOSBA
QCBjbGFzcyBTVkdTVkdFbGVtZW50IDogcHVibGljIFNWR1N0eWxlZExvY2F0YWJsZUVsZW1lbnQs
CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8U1ZHU1ZHRWxlbWVudD4gY3JlYXRlKGNv
bnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCopOwogCisgICAgdXNpbmcgU1ZHU3R5bGVkTG9j
YXRhYmxlRWxlbWVudDo6cmVmOworICAgIHVzaW5nIFNWR1N0eWxlZExvY2F0YWJsZUVsZW1lbnQ6
OmRlcmVmOworCiAgICAgdmlydHVhbCBib29sIGlzVmFsaWQoKSBjb25zdCB7IHJldHVybiBTVkdU
ZXN0czo6aXNWYWxpZCgpOyB9CiAgICAgdmlydHVhbCBib29sIHN1cHBvcnRzRm9jdXMoKSBjb25z
dCB7IHJldHVybiB0cnVlOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdW
aWV3RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ZpZXdFbGVtZW50LmgKaW5kZXgg
NmQ4MDg5ZWEyZWZhOGI3YzgyOGU5YTZkMmQwMmZmOGRiOWYxYzY4MS4uYzVhNjY4ZGEyOTIxYmNj
MTBmMGI0NDJiODBkNTExY2IwNTQzMzM0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR1ZpZXdFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ZpZXdFbGVtZW50
LmgKQEAgLTQyLDYgKzQyLDkgQEAgcHVibGljOgogCiAgICAgU1ZHU3RyaW5nTGlzdCYgdmlld1Rh
cmdldCgpIHsgcmV0dXJuIG1fdmlld1RhcmdldDsgfQogCisgICAgdXNpbmcgU1ZHU3R5bGVkRWxl
bWVudDo6cmVmOworICAgIHVzaW5nIFNWR1N0eWxlZEVsZW1lbnQ6OmRlcmVmOworCiBwcml2YXRl
OgogICAgIFNWR1ZpZXdFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCopOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHWm9vbUFuZFBhbi5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHWm9vbUFuZFBhbi5jcHAKaW5kZXggZTcwNmFmZmRhMzAxM2VjNDhh
MzYxZWVmZDExNzQxY2JjY2Y1OGVlNC4uZTJhZmJhYzQ5NDJlNzExZDc5YTI0MmFjMzgzYWMxY2Jl
Y2M4MGMxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1pvb21BbmRQYW4uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdab29tQW5kUGFuLmNwcApAQCAtMjksMTEgKzI5
LDYgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi12b2lkIFNWR1pvb21BbmRQYW46OnNldFpv
b21BbmRQYW4odW5zaWduZWQgc2hvcnQgem9vbUFuZFBhbikKLXsKLSAgICBtX3pvb21BbmRQYW4g
PSB6b29tQW5kUGFuOwotfQotCiBib29sIFNWR1pvb21BbmRQYW46OnBhcnNlQXR0cmlidXRlKGNv
bnN0IEF0dHJpYnV0ZSYgYXR0cmlidXRlKQogewogICAgIGlmIChhdHRyaWJ1dGUubmFtZSgpID09
IFNWR05hbWVzOjp6b29tQW5kUGFuQXR0cikgewpAQCAtNjEsMTQgKzU2LDI1IEBAIHN0YXRpYyBj
b25zdCBVQ2hhciBtYWduaWZ5W10gPSAgeydtJywgJ2EnLCAnZycsICduJywgJ2knLCAnZicsICd5
J307CiAKIGJvb2wgU1ZHWm9vbUFuZFBhbjo6cGFyc2Vab29tQW5kUGFuKGNvbnN0IFVDaGFyKiYg
c3RhcnQsIGNvbnN0IFVDaGFyKiBlbmQpCiB7Ci0gICAgaWYgKHNraXBTdHJpbmcoc3RhcnQsIGVu
ZCwgZGlzYWJsZSwgV1RGX0FSUkFZX0xFTkdUSChkaXNhYmxlKSkpCisgICAgaWYgKHNraXBTdHJp
bmcoc3RhcnQsIGVuZCwgZGlzYWJsZSwgV1RGX0FSUkFZX0xFTkdUSChkaXNhYmxlKSkpIHsKICAg
ICAgICAgc2V0Wm9vbUFuZFBhbihTVkdfWk9PTUFORFBBTl9ESVNBQkxFKTsKLSAgICBlbHNlIGlm
IChza2lwU3RyaW5nKHN0YXJ0LCBlbmQsIG1hZ25pZnksIFdURl9BUlJBWV9MRU5HVEgobWFnbmlm
eSkpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgICAgaWYgKHNraXBTdHJpbmcoc3Rh
cnQsIGVuZCwgbWFnbmlmeSwgV1RGX0FSUkFZX0xFTkdUSChtYWduaWZ5KSkpIHsKICAgICAgICAg
c2V0Wm9vbUFuZFBhbihTVkdfWk9PTUFORFBBTl9NQUdOSUZZKTsKLSAgICBlbHNlCi0gICAgICAg
IHJldHVybiBmYWxzZTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorICAgIHJldHVybiBm
YWxzZTsKK30KKworTk9fUkVUVVJOIHZvaWQgU1ZHWm9vbUFuZFBhbjo6cmVmKCkKK3sKKyAgICBB
U1NFUlRfTk9UX1JFQUNIRUQoKTsKK30KIAotICAgIHJldHVybiB0cnVlOworTk9fUkVUVVJOIHZv
aWQgU1ZHWm9vbUFuZFBhbjo6ZGVyZWYoKQoreworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwog
fQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHWm9vbUFuZFBhbi5oIGIv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR1pvb21BbmRQYW4uaAppbmRleCBlMmQ1MmY2NGRjM2Q0MGVm
MTRjZDczOWE1ZGNmYWJlZmEwNGIyNzcyLi4yZTc1YjJmZDIwY2E1ZWIwNzBlMTkzZjMxYjBiZmI0
YjdkMTI0ZDkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHWm9vbUFuZFBhbi5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdab29tQW5kUGFuLmgKQEAgLTM5LDEwICszOSw5
IEBAIHB1YmxpYzoKICAgICB9OwogCiAgICAgU1ZHWm9vbUFuZFBhbigpIDogbV96b29tQW5kUGFu
KFNWR19aT09NQU5EUEFOX01BR05JRlkpIHsgfQotICAgIHZpcnR1YWwgflNWR1pvb21BbmRQYW4o
KSB7IH0KIAogICAgIHVuc2lnbmVkIHNob3J0IHpvb21BbmRQYW4oKSBjb25zdCB7IHJldHVybiBt
X3pvb21BbmRQYW47IH0KLSAgICB2aXJ0dWFsIHZvaWQgc2V0Wm9vbUFuZFBhbih1bnNpZ25lZCBz
aG9ydCB6b29tQW5kUGFuKTsKKyAgICB2b2lkIHNldFpvb21BbmRQYW4odW5zaWduZWQgc2hvcnQg
em9vbUFuZFBhbikgeyBtX3pvb21BbmRQYW4gPSB6b29tQW5kUGFuOyB9CiAKICAgICBib29sIHBh
cnNlQXR0cmlidXRlKGNvbnN0IEF0dHJpYnV0ZSYpOwogICAgIGJvb2wgaXNLbm93bkF0dHJpYnV0
ZShjb25zdCBRdWFsaWZpZWROYW1lJik7CkBAIC01MCw2ICs0OSw5IEBAIHB1YmxpYzoKIAogICAg
IGJvb2wgcGFyc2Vab29tQW5kUGFuKGNvbnN0IFVDaGFyKiYgc3RhcnQsIGNvbnN0IFVDaGFyKiBl
bmQpOwogCisgICAgdm9pZCByZWYoKTsKKyAgICB2b2lkIGRlcmVmKCk7CisKIHByaXZhdGU6CiAg
ICAgdW5zaWduZWQgc2hvcnQgbV96b29tQW5kUGFuOwogfTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAzMzkxN2E2MDAxMThk
NjkwNzViZWE1MzJkZDQzNWZhOTkxODc4MTliLi42NDYwOTY2NTAxMjcxMTAxYTcwMjExMjBmYjlm
NTA5YzRjZmJiMGE4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMDUtMTkgIE5pa29sYXMg
WmltbWVybWFubiAgPG56aW1tZXJtYW5uQHJpbS5jb20+CisKKyAgICAgICAgU1ZHWm9vbUFuZFBh
biBjb25zdGFudHMgYXJlIG1pc3NpbmcgZnJvbSB3aW5kb3cgb2JqZWN0CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTQ5NAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNWR1pvb21BbmRQYW4gaXMgbm93IGF2
YWlsYWJsZSBhcyBnbG9iYWwgY29uc3RydWN0b3IsIHJlYmFzZWxpbmUgcmVzdWx0cy4KKworICAg
ICAgICAqIHN2Zy9jdXN0b20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogc3ZnL2N1c3RvbS9qcy1zdmctY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiBzdmcvY3VzdG9tL2pzLXN2Zy1jb25zdHJ1Y3RvcnMuc3ZnOgorCiAyMDEyLTA1LTE5ICBK
b2UgVGhvbWFzICA8am9ldGhvbWFzQG1vdG9yb2xhLmNvbT4KIAogICAgICAgICBUaGUgb3JkZXIg
b2YgQ1NTIHByb3BlcnRpZXMgaXMgd3JvbmcgaW4gYmFja2dyb3VuZCBzaG9ydGhhbmQKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0
ZWQudHh0CmluZGV4IGIwYmZjNjgxMzUxZWE4Zjc5ZTM4YTgwNzc0MzA2YmIwOWYzNTE1NGMuLjcy
ZGVmZjU5Mjg0MGVhYWU3YzZiYTA5MjQwYjJhNGVkOWExMjUzYjQgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3N2Zy9jdXN0b20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9nbG9iYWwtY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dApA
QCAtMzEsNyArMzEsNyBAQCBGQUlMIFNWR1Rlc3RzLnRvU3RyaW5nKCkgc2hvdWxkIGJlIFtvYmpl
Y3QgU1ZHVGVzdHNDb25zdHJ1Y3Rvcl0uIFRocmV3IGV4Y2VwdGlvbgogRkFJTCBTVkdMYW5nU3Bh
Y2UudG9TdHJpbmcoKSBzaG91bGQgYmUgW29iamVjdCBTVkdMYW5nU3BhY2VDb25zdHJ1Y3Rvcl0u
IFRocmV3IGV4Y2VwdGlvbiBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU1ZH
TGFuZ1NwYWNlCiBGQUlMIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQudG9TdHJpbmcoKSBz
aG91bGQgYmUgW29iamVjdCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkQ29uc3RydWN0b3Jd
LiBUaHJldyBleGNlcHRpb24gUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFNW
R0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQKIEZBSUwgU1ZHRml0VG9WaWV3Qm94LnRvU3RyaW5n
KCkgc2hvdWxkIGJlIFtvYmplY3QgU1ZHRml0VG9WaWV3Qm94Q29uc3RydWN0b3JdLiBUaHJldyBl
eGNlcHRpb24gUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFNWR0ZpdFRvVmll
d0JveAotRkFJTCBTVkdab29tQW5kUGFuLnRvU3RyaW5nKCkgc2hvdWxkIGJlIFtvYmplY3QgU1ZH
Wm9vbUFuZFBhbkNvbnN0cnVjdG9yXS4gVGhyZXcgZXhjZXB0aW9uIFJlZmVyZW5jZUVycm9yOiBD
YW4ndCBmaW5kIHZhcmlhYmxlOiBTVkdab29tQW5kUGFuCitQQVNTIFNWR1pvb21BbmRQYW4udG9T
dHJpbmcoKSBpcyAnW29iamVjdCBTVkdab29tQW5kUGFuQ29uc3RydWN0b3JdJwogRkFJTCBTVkdW
aWV3U3BlYy50b1N0cmluZygpIHNob3VsZCBiZSBbb2JqZWN0IFNWR1ZpZXdTcGVjQ29uc3RydWN0
b3JdLiBUaHJldyBleGNlcHRpb24gUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6
IFNWR1ZpZXdTcGVjCiBGQUlMIFNWR1VSSVJlZmVyZW5jZS50b1N0cmluZygpIHNob3VsZCBiZSBb
b2JqZWN0IFNWR1VSSVJlZmVyZW5jZUNvbnN0cnVjdG9yXS4gVGhyZXcgZXhjZXB0aW9uIFJlZmVy
ZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTVkdVUklSZWZlcmVuY2UKIEZBSUwgU1ZH
Q1NTUnVsZS50b1N0cmluZygpIHNob3VsZCBiZSBbb2JqZWN0IFNWR0NTU1J1bGVDb25zdHJ1Y3Rv
cl0uIFRocmV3IGV4Y2VwdGlvbiBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTog
U1ZHQ1NTUnVsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9qcy1zdmctY29u
c3RydWN0b3JzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vanMtc3ZnLWNv
bnN0cnVjdG9ycy1leHBlY3RlZC50eHQKaW5kZXggYWI3ZTYzOGViMGQwN2IwNjUyZWM1OTUxNjZj
MDUyMGQ0NWZkNjZkNi4uMWI3MjI4M2VjZjFmM2I3Yjc1OGYxNDE2ZjEyMjc0ZWRmMzc5MDYxNSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9qcy1zdmctY29uc3RydWN0b3JzLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2pzLXN2Zy1jb25zdHJ1Y3Rv
cnMtZXhwZWN0ZWQudHh0CkBAIC00NCw5ICs0NCw5IEBAIFNWR0ZFRGlzcGxhY2VtZW50TWFwRWxl
bWVudC5TVkdfQ0hBTk5FTF9SIFBBU1NFRAogU1ZHRkVEaXNwbGFjZW1lbnRNYXBFbGVtZW50LlNW
R19DSEFOTkVMX0cgUEFTU0VECiBTVkdGRURpc3BsYWNlbWVudE1hcEVsZW1lbnQuU1ZHX0NIQU5O
RUxfQiBQQVNTRUQKIFNWR0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudC5TVkdfQ0hBTk5FTF9BIFBB
U1NFRAotU1ZHRkVNb3JwaG9sb2d5RWxlbWVudC5TVkdfTU9SUEhPTE9HWV9PUEVSQVRPUl9VTktO
T1dOIEVYUEVDVEVEIEZBSUxVUkUgKGFjdHVhbDogJzAnIGV4cGVjdGVkOiAnMCcpCi1TVkdGRU1v
cnBob2xvZ3lFbGVtZW50LlNWR19NT1JQSE9MT0dZX09QRVJBVE9SX0VST0RFIEVYUEVDVEVEIEZB
SUxVUkUgKGFjdHVhbDogJzEnIGV4cGVjdGVkOiAnMScpCi1TVkdGRU1vcnBob2xvZ3lFbGVtZW50
LlNWR19NT1JQSE9MT0dZX09QRVJBVE9SX0RJTEFURSBFWFBFQ1RFRCBGQUlMVVJFIChhY3R1YWw6
ICcyJyBleHBlY3RlZDogJzInKQorU1ZHRkVNb3JwaG9sb2d5RWxlbWVudC5TVkdfTU9SUEhPTE9H
WV9PUEVSQVRPUl9VTktOT1dOIFBBU1NFRAorU1ZHRkVNb3JwaG9sb2d5RWxlbWVudC5TVkdfTU9S
UEhPTE9HWV9PUEVSQVRPUl9FUk9ERSBQQVNTRUQKK1NWR0ZFTW9ycGhvbG9neUVsZW1lbnQuU1ZH
X01PUlBIT0xPR1lfT1BFUkFUT1JfRElMQVRFIFBBU1NFRAogU1ZHRkVUdXJidWxlbmNlRWxlbWVu
dC5TVkdfVFVSQlVMRU5DRV9UWVBFX1VOS05PV04gUEFTU0VECiBTVkdGRVR1cmJ1bGVuY2VFbGVt
ZW50LlNWR19UVVJCVUxFTkNFX1RZUEVfRlJBQ1RBTE5PSVNFIFBBU1NFRAogU1ZHRkVUdXJidWxl
bmNlRWxlbWVudC5TVkdfVFVSQlVMRU5DRV9UWVBFX1RVUkJVTEVOQ0UgUEFTU0VECkBAIC0xNDMs
NiArMTQzLDYgQEAgU1ZHVHJhbnNmb3JtLlNWR19UUkFOU0ZPUk1fU0tFV1kgUEFTU0VECiBTVkdV
bml0VHlwZXMuU1ZHX1VOSVRfVFlQRV9VTktOT1dOIFBBU1NFRAogU1ZHVW5pdFR5cGVzLlNWR19V
TklUX1RZUEVfVVNFUlNQQUNFT05VU0UgUEFTU0VECiBTVkdVbml0VHlwZXMuU1ZHX1VOSVRfVFlQ
RV9PQkpFQ1RCT1VORElOR0JPWCBQQVNTRUQKLVNWR1pvb21BbmRQYW4uU1ZHX1pPT01BTkRQQU5f
VU5LTk9XTiBFWFBFQ1RFRCBGQUlMVVJFIChhY3R1YWw6ICd1bmRlZmluZWQnIGV4cGVjdGVkOiAn
MCcpCi1TVkdab29tQW5kUGFuLlNWR19aT09NQU5EUEFOX0RJU0FCTEUgRVhQRUNURUQgRkFJTFVS
RSAoYWN0dWFsOiAndW5kZWZpbmVkJyBleHBlY3RlZDogJzEnKQotU1ZHWm9vbUFuZFBhbi5TVkdf
Wk9PTUFORFBBTl9NQUdOSUZZIEVYUEVDVEVEIEZBSUxVUkUgKGFjdHVhbDogJ3VuZGVmaW5lZCcg
ZXhwZWN0ZWQ6ICcyJykKK1NWR1pvb21BbmRQYW4uU1ZHX1pPT01BTkRQQU5fVU5LTk9XTiBQQVNT
RUQKK1NWR1pvb21BbmRQYW4uU1ZHX1pPT01BTkRQQU5fRElTQUJMRSBQQVNTRUQKK1NWR1pvb21B
bmRQYW4uU1ZHX1pPT01BTkRQQU5fTUFHTklGWSBQQVNTRUQKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3N2Zy9jdXN0b20vanMtc3ZnLWNvbnN0cnVjdG9ycy5zdmcgYi9MYXlvdXRUZXN0cy9zdmcv
Y3VzdG9tL2pzLXN2Zy1jb25zdHJ1Y3RvcnMuc3ZnCmluZGV4IDM1NjMxY2RjZWEwNzljNmU2YTE1
MDI0MWMzMmVlMDMzYzUwYzJmYzEuLjg1ODcxMzcxYmFjMDk3NDg0YTdhN2UxM2U2ZjliNThmMjVl
MGJiN2MgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vanMtc3ZnLWNvbnN0cnVj
dG9ycy5zdmcKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9qcy1zdmctY29uc3RydWN0b3Jz
LnN2ZwpAQCAtOTMsOSArOTMsOSBAQAogICAgICAgfQogCiAgICAgICBpZiAod2luZG93LlNWR0ZF
TW9ycGhvbG9neUVsZW1lbnQpIHsKLSAgICAgICAgICBleHBlY3RfZmFpbHVyZSgiU1ZHRkVNb3Jw
aG9sb2d5RWxlbWVudC5TVkdfTU9SUEhPTE9HWV9PUEVSQVRPUl9VTktOT1dOIiwgMCk7Ci0gICAg
ICAgICAgZXhwZWN0X2ZhaWx1cmUoIlNWR0ZFTW9ycGhvbG9neUVsZW1lbnQuU1ZHX01PUlBIT0xP
R1lfT1BFUkFUT1JfRVJPREUiLCAxKTsKLSAgICAgICAgICBleHBlY3RfZmFpbHVyZSgiU1ZHRkVN
b3JwaG9sb2d5RWxlbWVudC5TVkdfTU9SUEhPTE9HWV9PUEVSQVRPUl9ESUxBVEUiLCAyKTsKKyAg
ICAgICAgICBleHBlY3QoIlNWR0ZFTW9ycGhvbG9neUVsZW1lbnQuU1ZHX01PUlBIT0xPR1lfT1BF
UkFUT1JfVU5LTk9XTiIsIDApOworICAgICAgICAgIGV4cGVjdCgiU1ZHRkVNb3JwaG9sb2d5RWxl
bWVudC5TVkdfTU9SUEhPTE9HWV9PUEVSQVRPUl9FUk9ERSIsIDEpOworICAgICAgICAgIGV4cGVj
dCgiU1ZHRkVNb3JwaG9sb2d5RWxlbWVudC5TVkdfTU9SUEhPTE9HWV9PUEVSQVRPUl9ESUxBVEUi
LCAyKTsKICAgICAgIH0KIAogICAgICAgaWYgKHdpbmRvdy5TVkdGRVR1cmJ1bGVuY2VFbGVtZW50
KSB7CkBAIC0yMDgsOSArMjA4LDkgQEAKICAgICAgIGV4cGVjdCgiU1ZHVW5pdFR5cGVzLlNWR19V
TklUX1RZUEVfVVNFUlNQQUNFT05VU0UiLCAxKTsKICAgICAgIGV4cGVjdCgiU1ZHVW5pdFR5cGVz
LlNWR19VTklUX1RZUEVfT0JKRUNUQk9VTkRJTkdCT1giLCAyKTsKIAotICAgICAgZXhwZWN0X2Zh
aWx1cmUoIlNWR1pvb21BbmRQYW4uU1ZHX1pPT01BTkRQQU5fVU5LTk9XTiIsIDApOwotICAgICAg
ZXhwZWN0X2ZhaWx1cmUoIlNWR1pvb21BbmRQYW4uU1ZHX1pPT01BTkRQQU5fRElTQUJMRSIsIDEp
OwotICAgICAgZXhwZWN0X2ZhaWx1cmUoIlNWR1pvb21BbmRQYW4uU1ZHX1pPT01BTkRQQU5fTUFH
TklGWSIsIDIpOworICAgICAgZXhwZWN0KCJTVkdab29tQW5kUGFuLlNWR19aT09NQU5EUEFOX1VO
S05PV04iLCAwKTsKKyAgICAgIGV4cGVjdCgiU1ZHWm9vbUFuZFBhbi5TVkdfWk9PTUFORFBBTl9E
SVNBQkxFIiwgMSk7CisgICAgICBleHBlY3QoIlNWR1pvb21BbmRQYW4uU1ZHX1pPT01BTkRQQU5f
TUFHTklGWSIsIDIpOwogICAgIH0KICAgXV0+PC9zY3JpcHQ+ICAKIDwvc3ZnPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>142883</attachid>
            <date>2012-05-19 15:09:34 -0700</date>
            <delta_ts>2012-05-22 02:44:37 -0700</delta_ts>
            <desc>Patch v2</desc>
            <filename>bug-15494-20120520001011.patch</filename>
            <type>text/plain</type>
            <size>20324</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE3Njk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODY2ODI0MTM5YzFjYzM1
MWIwZDY4MGZiODg3NTczZjUwNTgxMTljMy4uMTVkNmI1Y2UwNGNhMDMwN2I0NTM4YmI4OGIwMDA1
OGFhMGVmODM5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDEyLTA1LTE5ICBOaWtv
bGFzIFppbW1lcm1hbm4gIDxuemltbWVybWFubkByaW0uY29tPgorCisgICAgICAgIFNWR1pvb21B
bmRQYW4gY29uc3RhbnRzIGFyZSBtaXNzaW5nIGZyb20gd2luZG93IG9iamVjdAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU0OTQKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBHZW5lcmF0ZSB0aGUgU1ZHWm9v
bUFuZFBhbkNvbnN0cnVjdG9yLCBzbyB0aGF0IHRoZSBjb25zdGFudHMgZGVmaW5lZCBpbiB0aGUg
SURMCisgICAgICAgIGNhbiBiZSByZWFjaGVkIGZyb20gdGhlIGJpbmRpbmdzLiBQcm92aWRlIGEg
c3R1Yi1pbXBsZW1lbnRhdGlvbiBvZiByZWYvZGVyZWYKKyAgICAgICAgdGhhdCdzIG5ldmVyIHVz
ZWQsIGFzIHdlIGRvbid0IGFjdHVhbGx5IHVzZSBKU1NWR1pvb21BbmRQYW4gd2hpY2ggbmVlZHMg
dGhpcywgYnV0CisgICAgICAgIG9ubHkgdGhlIEpTU1ZHWm9vbUFuZFBhbkNvbnN0cnVjdG9yLgor
CisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMuY3Bw
OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLnByaToKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5s
aXN0LmFtOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOgorICAgICAg
ICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBwYWdlL0RP
TVdpbmRvdy5pZGw6CisgICAgICAgICogc3ZnL1NWR1NWR0VsZW1lbnQuaDoKKyAgICAgICAgKFNW
R1NWR0VsZW1lbnQpOgorICAgICAgICAqIHN2Zy9TVkdWaWV3RWxlbWVudC5oOgorICAgICAgICAo
U1ZHVmlld0VsZW1lbnQpOgorICAgICAgICAqIHN2Zy9TVkdab29tQW5kUGFuLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlNWR1pvb21BbmRQYW46OnBhcnNlWm9vbUFuZFBhbik6CisgICAgICAgIChX
ZWJDb3JlOjpTVkdab29tQW5kUGFuOjpyZWYpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHWm9vbUFu
ZFBhbjo6ZGVyZWYpOgorICAgICAgICAqIHN2Zy9TVkdab29tQW5kUGFuLmg6CisgICAgICAgIChX
ZWJDb3JlOjpTVkdab29tQW5kUGFuOjpzZXRab29tQW5kUGFuKToKKyAgICAgICAgKFNWR1pvb21B
bmRQYW4pOgorCiAyMDEyLTA1LTE5ICBFbWlsIEEgRWtsdW5kICA8ZWFlQGNocm9taXVtLm9yZz4K
IAogICAgICAgICBTaW1wbGlmeSBSZW5kZXJPdmVyZmxvdyBieSB1c2luZyBSZWN0cwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFr
ZUxpc3RzLnR4dAppbmRleCBkNzY4Y2MxMjE3ZTY2YTFiMjBkZDkyMWE0NDk0ZjRlMTgwYzVkMDVi
Li43MTA2MDFlMmJlZjA5MTA1OTUzMDM2NzQxZTEzNWRhODk3ODFiMDQzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxp
c3RzLnR4dApAQCAtMjEyOCw2ICsyMTI4LDcgQEAgSUYgKEVOQUJMRV9TVkcpCiAgICAgICAgIHN2
Zy9TVkdVc2VFbGVtZW50LmlkbAogICAgICAgICBzdmcvU1ZHVmlld0VsZW1lbnQuaWRsCiAgICAg
ICAgIHN2Zy9TVkdWS2VybkVsZW1lbnQuaWRsCisgICAgICAgIHN2Zy9TVkdab29tQW5kUGFuLmlk
bAogICAgICAgICBzdmcvU1ZHWm9vbUV2ZW50LmlkbAogICAgICkKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMuY3BwCmluZGV4IDk4OGQ1ODI2N2Q3ZTkzNWVmNmIwMjdjNDkxMjlmYWQ4MWI4YjEwZGMu
LmZmMzQzNDQwZDljNDcyMGI3Njk3OGM5NmZhY2U5MjU0YjE2OGE0NDkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5jcHAKQEAgLTQzOCw2ICs0MzgsNyBAQAogI2luY2x1ZGUgIkpTU1ZHVXNlRWxl
bWVudC5jcHAiCiAjaW5jbHVkZSAiSlNTVkdWaWV3RWxlbWVudC5jcHAiCiAjaW5jbHVkZSAiSlNT
VkdWS2VybkVsZW1lbnQuY3BwIgorI2luY2x1ZGUgIkpTU1ZHWm9vbUFuZFBhbi5jcHAiCiAjaW5j
bHVkZSAiSlNTVkdab29tRXZlbnQuY3BwIgogI2luY2x1ZGUgIkpTVGV4dC5jcHAiCiAjaW5jbHVk
ZSAiSlNUZXh0RXZlbnQuY3BwIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMucHJpIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpCmluZGV4IGFkMDc4
M2YwZWEyNTMwMzdhODAwM2JiNGZlYzlmMzk0NWY3Y2QxNjkuLmRjMzUyMTI4NDYwZTEzZjYwMzE2
ZTAxYjVjYzViYzM4YzRiM2UwOTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLnByaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkKQEAgLTQ2
NSw3ICs0NjUsNiBAQCB2OCB7CiAKIGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9TVkc9MSkgewog
ICBJRExfQklORElOR1MgKz0gXAotICAgICQkUFdEL3N2Zy9TVkdab29tRXZlbnQuaWRsIFwKICAg
ICAkJFBXRC9zdmcvU1ZHQUVsZW1lbnQuaWRsIFwKICAgICAkJFBXRC9zdmcvU1ZHQWx0R2x5cGhE
ZWZFbGVtZW50LmlkbCBcCiAgICAgJCRQV0Qvc3ZnL1NWR0FsdEdseXBoRWxlbWVudC5pZGwgXApA
QCAtNjA1LDcgKzYwNCw5IEBAIGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9TVkc9MSkgewogICAg
ICQkUFdEL3N2Zy9TVkdVbml0VHlwZXMuaWRsIFwKICAgICAkJFBXRC9zdmcvU1ZHVXNlRWxlbWVu
dC5pZGwgXAogICAgICQkUFdEL3N2Zy9TVkdWaWV3RWxlbWVudC5pZGwgXAotICAgICQkUFdEL3N2
Zy9TVkdWS2VybkVsZW1lbnQuaWRsCisgICAgJCRQV0Qvc3ZnL1NWR1ZLZXJuRWxlbWVudC5pZGwg
XAorICAgICQkUFdEL3N2Zy9TVkdab29tQW5kUGFuLmlkbCBcCisgICAgJCRQV0Qvc3ZnL1NWR1pv
b21FdmVudC5pZGwKIH0KIAogY29udGFpbnMoREVGSU5FUywgRU5BQkxFX1ZJREVPX1RSQUNLPTEp
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3Vy
Y2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IGQ3MWRiNTk1YTRjOTRmMjJhYjdl
YmJiYWUyNTI5MWRhZjNhNzgyYzQuLjJhYzZlOGM2MGY4YmU1NjU3MWZmZDcxMzc1OTliYzM1NDY2
NWUxNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysr
IGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtNTM4Miw2ICs1MzgyLDcg
QEAgd2ViY29yZV9idWlsdF9zb3VyY2VzICs9IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
U1ZHVmlld1NwZWMuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1NWR1ZLZXJuRWxlbWVu
dC5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNTVkdWS2VybkVsZW1lbnQuaCBcCisJ
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1NWR1pvb21BbmRQYW4uY3BwIFwKIAlEZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTU1ZHWm9vbUFuZFBhbi5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTU1ZHWm9vbUV2ZW50LmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1NWR1pvb21F
dmVudC5oCkBAIC01NTI3LDYgKzU1MjgsNyBAQCBkb21fYmluZGluZ19pZGxzICs9IFwKIAkkKFdl
YkNvcmUpL3N2Zy9TVkdVc2VFbGVtZW50LmlkbCBcCiAJJChXZWJDb3JlKS9zdmcvU1ZHVktlcm5F
bGVtZW50LmlkbCBcCiAJJChXZWJDb3JlKS9zdmcvU1ZHVmlld0VsZW1lbnQuaWRsIFwKKwkkKFdl
YkNvcmUpL3N2Zy9TVkdab29tQW5kUGFuLmlkbCBcCiAJJChXZWJDb3JlKS9zdmcvU1ZHWm9vbUV2
ZW50LmlkbAogZW5kaWYgIyBFTkQgRU5BQkxFX1NWRwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IDIxM2Q5M2JmYWEzNmY4YzZjMDI3OTg5MWZl
M2RkYmRlNjY4MTJiMGEuLjU1NTgwMTQxODNkMTI0N2RmNWIxYjRkNTkxMWIxMmY3NmUyMzk0NzEg
MTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9q
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC0y
MTgzNCw2ICsyMTgzNCw2MyBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVs
YXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERl
cml2ZWRTb3VyY2VzXEpTU1ZHWm9vbUFuZFBhbi5jcHAiCisJCQkJPgorCQkJCTxGaWxlQ29uZmln
dXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9
InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wi
CisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRp
b24KKwkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRy
dWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJ
CQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24K
KwkJCQkJTmFtZT0iRGVidWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21C
dWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVy
VG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmln
dXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJRXhj
bHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZD
Q0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8
RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIgorCQkJCQlFeGNs
dWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkND
TENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxG
aWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJQcm9kdWN0aW9ufFdpbjMyIgorCQkJCQlFeGNs
dWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkND
TENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJPC9G
aWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGly
KVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNTVkdab29tQW5kUGFuLmgiCisJ
CQkJPgorCQkJPC9GaWxlPgorCisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1
cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU1NWR1pv
b21FdmVudC5jcHAiCiAJCQkJPgogCQkJCTxGaWxlQ29uZmlndXJhdGlvbgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDRjNmZlNjdl
ZTljOWVmNzkwNjc1MjYxMWM0MjQ5ZTViNzMxYWUyMzMuLjE5MzY1MmE5MTRjZjBiZTUwNjk3ZDFi
NjQ2MTgyYzM4YjY0NmFhZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE4MDgsNiArMTgwOCw4IEBACiAJCTcxQTU3REYxMTU0
QkUyNUMwMDA5RDEyMCAvKiBTVkdQYXRoVXRpbGl0aWVzLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcxQTU3REVGMTU0QkUyNUMwMDA5RDEyMCAvKiBT
VkdQYXRoVXRpbGl0aWVzLmNwcCAqLzsgfTsKIAkJNzFBNTdERjIxNTRCRTI1QzAwMDlEMTIwIC8q
IFNWR1BhdGhVdGlsaXRpZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDcxQTU3REYwMTU0QkUyNUMwMDA5RDEyMCAvKiBTVkdQYXRoVXRpbGl0aWVzLmgg
Ki87IH07CiAJCTcxQ0M3QTIwMTUyQTBCRkUwMDlFRUFGOSAvKiBTVkdBbmltYXRlZEVudW1lcmF0
aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcx
Q0M3QTFGMTUyQTBCRkUwMDlFRUFGOSAvKiBTVkdBbmltYXRlZEVudW1lcmF0aW9uLmNwcCAqLzsg
fTsKKwkJNzFEQ0I3MDExNTY4MTk3NjAwODYyMjcxIC8qIEpTU1ZHWm9vbUFuZFBhbi5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3MURDQjZGRjE1Njgx
OTc2MDA4NjIyNzEgLyogSlNTVkdab29tQW5kUGFuLmNwcCAqLzsgfTsKKwkJNzFEQ0I3MDIxNTY4
MTk3NjAwODYyMjcxIC8qIEpTU1ZHWm9vbUFuZFBhbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzFEQ0I3MDAxNTY4MTk3NjAwODYyMjcxIC8qIEpTU1ZH
Wm9vbUFuZFBhbi5oICovOyB9OwogCQk3MUU2MjNEMTE1MUY3MkE2MDAzNkUyRjQgLyogU1ZHQW5p
bWF0ZWRJbnRlZ2VyT3B0aW9uYWxJbnRlZ2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA3MUU2MjNDRjE1MUY3MkE2MDAzNkUyRjQgLyogU1ZHQW5pbWF0
ZWRJbnRlZ2VyT3B0aW9uYWxJbnRlZ2VyLmggKi87IH07CiAJCTcxRkI5NjdCMTM4M0Q2NDYwMEFD
OEE0QyAvKiBTVkdBbmltYXRlZEVudW1lcmF0aW9uUHJvcGVydHlUZWFyT2ZmLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3MUZCOTY3QTEzODNENjQ2MDBB
QzhBNEMgLyogU1ZHQW5pbWF0ZWRFbnVtZXJhdGlvblByb3BlcnR5VGVhck9mZi5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTcyNjI2RTAyMEVGMDIy
RkUwMEEwN0UyMCAvKiBGb250RmFzdFBhdGguY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNzI2MjZFMDEwRUYwMjJGRTAwQTA3RTIwIC8qIEZvbnRGYXN0
UGF0aC5jcHAgKi87IH07CkBAIC04ODQ3LDYgKzg4NDksOCBAQAogCQk3MUE1N0RFRjE1NEJFMjVD
MDAwOUQxMjAgLyogU1ZHUGF0aFV0aWxpdGllcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBTVkdQYXRoVXRpbGl0aWVzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNzFBNTdERjAxNTRCRTI1QzAwMDlEMTIwIC8qIFNWR1BhdGhVdGlsaXRpZXMuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHUGF0aFV0aWxpdGllcy5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3MUNDN0ExRjE1MkEwQkZFMDA5RUVBRjkgLyogU1ZH
QW5pbWF0ZWRFbnVtZXJhdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBTVkdBbmltYXRlZEVudW1lcmF0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJNzFEQ0I2RkYxNTY4MTk3NjAwODYyMjcxIC8qIEpTU1ZHWm9vbUFuZFBhbi5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBKU1NWR1pvb21BbmRQYW4uY3BwOyBw
YXRoID0gSlNTVkdab29tQW5kUGFuLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
NzFEQ0I3MDAxNTY4MTk3NjAwODYyMjcxIC8qIEpTU1ZHWm9vbUFuZFBhbi5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IG5hbWUgPSBKU1NWR1pvb21BbmRQYW4uaDsgcGF0aCA9IEpTU1ZHWm9v
bUFuZFBhbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3MUU2MjNDRTE1MUY3MkE2
MDAzNkUyRjQgLyogU1ZHQW5pbWF0ZWRJbnRlZ2VyT3B0aW9uYWxJbnRlZ2VyLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNWR0FuaW1hdGVkSW50ZWdlck9wdGlvbmFs
SW50ZWdlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTcxRTYyM0NGMTUxRjcy
QTYwMDM2RTJGNCAvKiBTVkdBbmltYXRlZEludGVnZXJPcHRpb25hbEludGVnZXIuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHQW5pbWF0ZWRJbnRlZ2VyT3B0aW9uYWxJbnRl
Z2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTcxRkI5NjdBMTM4M0Q2NDYwMEFD
OEE0QyAvKiBTVkdBbmltYXRlZEVudW1lcmF0aW9uUHJvcGVydHlUZWFyT2ZmLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNWR0FuaW1hdGVkRW51bWVyYXRpb25Qcm9wZXJ0eVRl
YXJPZmYuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE4MzYwLDYgKzE4MzY0LDgg
QEAKIAkJCQlCMkZBM0QyRjBBQjc1QTZGMDAwRTVBQzQgLyogSlNTVkdWaWV3RWxlbWVudC5oICov
LAogCQkJCTg0ODUyMjc5MTE5MDE2MkMwMDZFREM3RiAvKiBKU1NWR1ZLZXJuRWxlbWVudC5jcHAg
Ki8sCiAJCQkJODQ4NTIyN0ExMTkwMTYyQzAwNkVEQzdGIC8qIEpTU1ZHVktlcm5FbGVtZW50Lmgg
Ki8sCisJCQkJNzFEQ0I2RkYxNTY4MTk3NjAwODYyMjcxIC8qIEpTU1ZHWm9vbUFuZFBhbi5jcHAg
Ki8sCisJCQkJNzFEQ0I3MDAxNTY4MTk3NjAwODYyMjcxIC8qIEpTU1ZHWm9vbUFuZFBhbi5oICov
LAogCQkJCUIyRkEzRDMwMEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NWR1pvb21FdmVudC5jcHAgKi8s
CiAJCQkJQjJGQTNEMzEwQUI3NUE2RjAwMEU1QUM0IC8qIEpTU1ZHWm9vbUV2ZW50LmggKi8sCiAJ
CQkpOwpAQCAtMjQ5MTMsNiArMjQ5MTksNyBAQAogCQkJCTI5QTMwOUIxMTU2MUNBQzQwMEJCRDhF
NSAvKiBWaXNpdGVkTGlua3MuaCBpbiBIZWFkZXJzICovLAogCQkJCUZEQjA1MkUwMTU2MUE0MkMw
MEI1MDBENiAvKiBBdWRpb1N1bW1pbmdKdW5jdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzcx
OTQxOTcxNTY2QjM3MjAwQTI3NkQ4IC8qIFdlYkNvcmVOU0NlbGxFeHRyYXMuaCBpbiBIZWFkZXJz
ICovLAorCQkJCTcxRENCNzAyMTU2ODE5NzYwMDg2MjI3MSAvKiBKU1NWR1pvb21BbmRQYW4uaCBp
biBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3Np
bmcgPSAwOwogCQl9OwpAQCAtMjc5MzcsNiArMjc5NDQsNyBAQAogCQkJCTI5QTMwOUIwMTU2MUNB
QzQwMEJCRDhFNSAvKiBWaXNpdGVkTGlua3MuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRkRCMDUy
REYxNTYxQTQyQzAwQjUwMEQ2IC8qIEF1ZGlvU3VtbWluZ0p1bmN0aW9uLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTM3MTk0MTk2MTU2NkIzNzIwMEEyNzZEOCAvKiBXZWJDb3JlTlNDZWxsRXh0cmFz
Lm0gaW4gU291cmNlcyAqLywKKwkJCQk3MURDQjcwMTE1NjgxOTc2MDA4NjIyNzEgLyogSlNTVkda
b29tQW5kUGFuLmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3lt
ZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9ET01XaW5kb3cuaWRsIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCmlu
ZGV4IDlhNTEyZDA3NjY1YTFhODFjNDU5MTdiOWY4MDVhNjBiZDE4OWJkYzAuLmVlNTQ3MTRkYzVk
ZjZmOWMwNmU4NTNiOWE3NGJlNjZmNzJiODJjMDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRE9NV2luZG93LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5p
ZGwKQEAgLTcwOSw2ICs3MDksNyBAQCBtb2R1bGUgd2luZG93IHsKICAgICAgICAgYXR0cmlidXRl
IFNWR1VzZUVsZW1lbnRDb25zdHJ1Y3RvciBTVkdVc2VFbGVtZW50OwogICAgICAgICBhdHRyaWJ1
dGUgU1ZHVmlld0VsZW1lbnRDb25zdHJ1Y3RvciBTVkdWaWV3RWxlbWVudDsKIC8vICAgICAgYXR0
cmlidXRlIFNWR1ZpZXdTcGVjQ29uc3RydWN0b3IgU1ZHVmlld1NwZWM7CisgICAgICAgIGF0dHJp
YnV0ZSBTVkdab29tQW5kUGFuQ29uc3RydWN0b3IgU1ZHWm9vbUFuZFBhbjsKIAogICAgICAgICBh
dHRyaWJ1dGUgU1ZHQW5pbWF0ZUNvbG9yRWxlbWVudENvbnN0cnVjdG9yIFNWR0FuaW1hdGVDb2xv
ckVsZW1lbnQ7CiAgICAgICAgIGF0dHJpYnV0ZSBTVkdBbmltYXRlRWxlbWVudENvbnN0cnVjdG9y
IFNWR0FuaW1hdGVFbGVtZW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1NW
R0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50LmgKaW5kZXggNmVh
ZDc4YmQyODQwZDU4OTg2MTk2NjVmOGQyY2EyMmIxYzhjN2M0My4uMTczZWJlMjAwYmI2MzRhZTNj
Nzk2OWYxOTQ1NTEyMWQ1MTEyMjIxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R1NWR0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU1ZHRWxlbWVudC5oCkBA
IC01MSw2ICs1MSw5IEBAIGNsYXNzIFNWR1NWR0VsZW1lbnQgOiBwdWJsaWMgU1ZHU3R5bGVkTG9j
YXRhYmxlRWxlbWVudCwKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTVkdTVkdFbGVt
ZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Kik7CiAKKyAgICB1c2lu
ZyBTVkdTdHlsZWRMb2NhdGFibGVFbGVtZW50OjpyZWY7CisgICAgdXNpbmcgU1ZHU3R5bGVkTG9j
YXRhYmxlRWxlbWVudDo6ZGVyZWY7CisKICAgICB2aXJ0dWFsIGJvb2wgaXNWYWxpZCgpIGNvbnN0
IHsgcmV0dXJuIFNWR1Rlc3RzOjppc1ZhbGlkKCk7IH0KICAgICB2aXJ0dWFsIGJvb2wgc3VwcG9y
dHNGb2N1cygpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR1ZpZXdFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVmlld0Vs
ZW1lbnQuaAppbmRleCA2ZDgwODllYTJlZmE4YjdjODI4ZTlhNmQyZDAyZmY4ZGI5ZjFjNjgxLi5j
NWE2NjhkYTI5MjFiY2MxMGYwYjQ0MmI4MGQ1MTFjYjA1NDMzMzQ4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHVmlld0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHVmlld0VsZW1lbnQuaApAQCAtNDIsNiArNDIsOSBAQCBwdWJsaWM6CiAKICAgICBTVkdTdHJp
bmdMaXN0JiB2aWV3VGFyZ2V0KCkgeyByZXR1cm4gbV92aWV3VGFyZ2V0OyB9CiAKKyAgICB1c2lu
ZyBTVkdTdHlsZWRFbGVtZW50OjpyZWY7CisgICAgdXNpbmcgU1ZHU3R5bGVkRWxlbWVudDo6ZGVy
ZWY7CisKIHByaXZhdGU6CiAgICAgU1ZHVmlld0VsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYs
IERvY3VtZW50Kik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdab29tQW5k
UGFuLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdab29tQW5kUGFuLmNwcAppbmRleCBlNzA2
YWZmZGEzMDEzZWM0OGEzNjFlZWZkMTE3NDFjYmNjZjU4ZWU0Li5lZjkwMDhiZWZjZjNhNTFjMTdm
YTAzMzc4ZWQ5NWMzZDZhMGZjNDg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
Wm9vbUFuZFBhbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1pvb21BbmRQYW4uY3Bw
CkBAIC0yOSwxMSArMjksNiBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXZvaWQgU1ZHWm9v
bUFuZFBhbjo6c2V0Wm9vbUFuZFBhbih1bnNpZ25lZCBzaG9ydCB6b29tQW5kUGFuKQotewotICAg
IG1fem9vbUFuZFBhbiA9IHpvb21BbmRQYW47Ci19Ci0KIGJvb2wgU1ZHWm9vbUFuZFBhbjo6cGFy
c2VBdHRyaWJ1dGUoY29uc3QgQXR0cmlidXRlJiBhdHRyaWJ1dGUpCiB7CiAgICAgaWYgKGF0dHJp
YnV0ZS5uYW1lKCkgPT0gU1ZHTmFtZXM6Onpvb21BbmRQYW5BdHRyKSB7CkBAIC02MSwxNCArNTYs
MjUgQEAgc3RhdGljIGNvbnN0IFVDaGFyIG1hZ25pZnlbXSA9ICB7J20nLCAnYScsICdnJywgJ24n
LCAnaScsICdmJywgJ3knfTsKIAogYm9vbCBTVkdab29tQW5kUGFuOjpwYXJzZVpvb21BbmRQYW4o
Y29uc3QgVUNoYXIqJiBzdGFydCwgY29uc3QgVUNoYXIqIGVuZCkKIHsKLSAgICBpZiAoc2tpcFN0
cmluZyhzdGFydCwgZW5kLCBkaXNhYmxlLCBXVEZfQVJSQVlfTEVOR1RIKGRpc2FibGUpKSkKKyAg
ICBpZiAoc2tpcFN0cmluZyhzdGFydCwgZW5kLCBkaXNhYmxlLCBXVEZfQVJSQVlfTEVOR1RIKGRp
c2FibGUpKSkgewogICAgICAgICBzZXRab29tQW5kUGFuKFNWR19aT09NQU5EUEFOX0RJU0FCTEUp
OwotICAgIGVsc2UgaWYgKHNraXBTdHJpbmcoc3RhcnQsIGVuZCwgbWFnbmlmeSwgV1RGX0FSUkFZ
X0xFTkdUSChtYWduaWZ5KSkpCisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICBpZiAo
c2tpcFN0cmluZyhzdGFydCwgZW5kLCBtYWduaWZ5LCBXVEZfQVJSQVlfTEVOR1RIKG1hZ25pZnkp
KSkgewogICAgICAgICBzZXRab29tQW5kUGFuKFNWR19aT09NQU5EUEFOX01BR05JRlkpOwotICAg
IGVsc2UKLSAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9
CisgICAgcmV0dXJuIGZhbHNlOworfQorCitOT19SRVRVUk5fRFVFX1RPX0FTU0VSVCB2b2lkIFNW
R1pvb21BbmRQYW46OnJlZigpCit7CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Cit9CiAKLSAg
ICByZXR1cm4gdHJ1ZTsKK05PX1JFVFVSTl9EVUVfVE9fQVNTRVJUIHZvaWQgU1ZHWm9vbUFuZFBh
bjo6ZGVyZWYoKQoreworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogfQogCiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHWm9vbUFuZFBhbi5oIGIvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR1pvb21BbmRQYW4uaAppbmRleCBlMmQ1MmY2NGRjM2Q0MGVmMTRjZDczOWE1ZGNmYWJl
ZmEwNGIyNzcyLi4yZTc1YjJmZDIwY2E1ZWIwNzBlMTkzZjMxYjBiZmI0YjdkMTI0ZDkyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHWm9vbUFuZFBhbi5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdab29tQW5kUGFuLmgKQEAgLTM5LDEwICszOSw5IEBAIHB1YmxpYzoKICAg
ICB9OwogCiAgICAgU1ZHWm9vbUFuZFBhbigpIDogbV96b29tQW5kUGFuKFNWR19aT09NQU5EUEFO
X01BR05JRlkpIHsgfQotICAgIHZpcnR1YWwgflNWR1pvb21BbmRQYW4oKSB7IH0KIAogICAgIHVu
c2lnbmVkIHNob3J0IHpvb21BbmRQYW4oKSBjb25zdCB7IHJldHVybiBtX3pvb21BbmRQYW47IH0K
LSAgICB2aXJ0dWFsIHZvaWQgc2V0Wm9vbUFuZFBhbih1bnNpZ25lZCBzaG9ydCB6b29tQW5kUGFu
KTsKKyAgICB2b2lkIHNldFpvb21BbmRQYW4odW5zaWduZWQgc2hvcnQgem9vbUFuZFBhbikgeyBt
X3pvb21BbmRQYW4gPSB6b29tQW5kUGFuOyB9CiAKICAgICBib29sIHBhcnNlQXR0cmlidXRlKGNv
bnN0IEF0dHJpYnV0ZSYpOwogICAgIGJvb2wgaXNLbm93bkF0dHJpYnV0ZShjb25zdCBRdWFsaWZp
ZWROYW1lJik7CkBAIC01MCw2ICs0OSw5IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgcGFyc2Vab29t
QW5kUGFuKGNvbnN0IFVDaGFyKiYgc3RhcnQsIGNvbnN0IFVDaGFyKiBlbmQpOwogCisgICAgdm9p
ZCByZWYoKTsKKyAgICB2b2lkIGRlcmVmKCk7CisKIHByaXZhdGU6CiAgICAgdW5zaWduZWQgc2hv
cnQgbV96b29tQW5kUGFuOwogfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAzMzkxN2E2MDAxMThkNjkwNzViZWE1MzJkZDQz
NWZhOTkxODc4MTliLi42NDYwOTY2NTAxMjcxMTAxYTcwMjExMjBmYjlmNTA5YzRjZmJiMGE4IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMDUtMTkgIE5pa29sYXMgWmltbWVybWFubiAgPG56
aW1tZXJtYW5uQHJpbS5jb20+CisKKyAgICAgICAgU1ZHWm9vbUFuZFBhbiBjb25zdGFudHMgYXJl
IG1pc3NpbmcgZnJvbSB3aW5kb3cgb2JqZWN0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNTQ5NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFNWR1pvb21BbmRQYW4gaXMgbm93IGF2YWlsYWJsZSBhcyBnbG9i
YWwgY29uc3RydWN0b3IsIHJlYmFzZWxpbmUgcmVzdWx0cy4KKworICAgICAgICAqIHN2Zy9jdXN0
b20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3ZnL2N1c3Rv
bS9qcy1zdmctY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdmcvY3VzdG9t
L2pzLXN2Zy1jb25zdHJ1Y3RvcnMuc3ZnOgorCiAyMDEyLTA1LTE5ICBKb2UgVGhvbWFzICA8am9l
dGhvbWFzQG1vdG9yb2xhLmNvbT4KIAogICAgICAgICBUaGUgb3JkZXIgb2YgQ1NTIHByb3BlcnRp
ZXMgaXMgd3JvbmcgaW4gYmFja2dyb3VuZCBzaG9ydGhhbmQKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3N2Zy9jdXN0b20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9zdmcvY3VzdG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0CmluZGV4IGIw
YmZjNjgxMzUxZWE4Zjc5ZTM4YTgwNzc0MzA2YmIwOWYzNTE1NGMuLjcyZGVmZjU5Mjg0MGVhYWU3
YzZiYTA5MjQwYjJhNGVkOWExMjUzYjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9jdXN0
b20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3Zn
L2N1c3RvbS9nbG9iYWwtY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dApAQCAtMzEsNyArMzEsNyBA
QCBGQUlMIFNWR1Rlc3RzLnRvU3RyaW5nKCkgc2hvdWxkIGJlIFtvYmplY3QgU1ZHVGVzdHNDb25z
dHJ1Y3Rvcl0uIFRocmV3IGV4Y2VwdGlvbgogRkFJTCBTVkdMYW5nU3BhY2UudG9TdHJpbmcoKSBz
aG91bGQgYmUgW29iamVjdCBTVkdMYW5nU3BhY2VDb25zdHJ1Y3Rvcl0uIFRocmV3IGV4Y2VwdGlv
biBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU1ZHTGFuZ1NwYWNlCiBGQUlM
IFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQudG9TdHJpbmcoKSBzaG91bGQgYmUgW29iamVj
dCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkQ29uc3RydWN0b3JdLiBUaHJldyBleGNlcHRp
b24gUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFNWR0V4dGVybmFsUmVzb3Vy
Y2VzUmVxdWlyZWQKIEZBSUwgU1ZHRml0VG9WaWV3Qm94LnRvU3RyaW5nKCkgc2hvdWxkIGJlIFtv
YmplY3QgU1ZHRml0VG9WaWV3Qm94Q29uc3RydWN0b3JdLiBUaHJldyBleGNlcHRpb24gUmVmZXJl
bmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFNWR0ZpdFRvVmlld0JveAotRkFJTCBTVkda
b29tQW5kUGFuLnRvU3RyaW5nKCkgc2hvdWxkIGJlIFtvYmplY3QgU1ZHWm9vbUFuZFBhbkNvbnN0
cnVjdG9yXS4gVGhyZXcgZXhjZXB0aW9uIFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlh
YmxlOiBTVkdab29tQW5kUGFuCitQQVNTIFNWR1pvb21BbmRQYW4udG9TdHJpbmcoKSBpcyAnW29i
amVjdCBTVkdab29tQW5kUGFuQ29uc3RydWN0b3JdJwogRkFJTCBTVkdWaWV3U3BlYy50b1N0cmlu
ZygpIHNob3VsZCBiZSBbb2JqZWN0IFNWR1ZpZXdTcGVjQ29uc3RydWN0b3JdLiBUaHJldyBleGNl
cHRpb24gUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFNWR1ZpZXdTcGVjCiBG
QUlMIFNWR1VSSVJlZmVyZW5jZS50b1N0cmluZygpIHNob3VsZCBiZSBbb2JqZWN0IFNWR1VSSVJl
ZmVyZW5jZUNvbnN0cnVjdG9yXS4gVGhyZXcgZXhjZXB0aW9uIFJlZmVyZW5jZUVycm9yOiBDYW4n
dCBmaW5kIHZhcmlhYmxlOiBTVkdVUklSZWZlcmVuY2UKIEZBSUwgU1ZHQ1NTUnVsZS50b1N0cmlu
ZygpIHNob3VsZCBiZSBbb2JqZWN0IFNWR0NTU1J1bGVDb25zdHJ1Y3Rvcl0uIFRocmV3IGV4Y2Vw
dGlvbiBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU1ZHQ1NTUnVsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9qcy1zdmctY29uc3RydWN0b3JzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vanMtc3ZnLWNvbnN0cnVjdG9ycy1leHBl
Y3RlZC50eHQKaW5kZXggYWI3ZTYzOGViMGQwN2IwNjUyZWM1OTUxNjZjMDUyMGQ0NWZkNjZkNi4u
MWI3MjI4M2VjZjFmM2I3Yjc1OGYxNDE2ZjEyMjc0ZWRmMzc5MDYxNSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvc3ZnL2N1c3RvbS9qcy1zdmctY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2pzLXN2Zy1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0
CkBAIC00NCw5ICs0NCw5IEBAIFNWR0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudC5TVkdfQ0hBTk5F
TF9SIFBBU1NFRAogU1ZHRkVEaXNwbGFjZW1lbnRNYXBFbGVtZW50LlNWR19DSEFOTkVMX0cgUEFT
U0VECiBTVkdGRURpc3BsYWNlbWVudE1hcEVsZW1lbnQuU1ZHX0NIQU5ORUxfQiBQQVNTRUQKIFNW
R0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudC5TVkdfQ0hBTk5FTF9BIFBBU1NFRAotU1ZHRkVNb3Jw
aG9sb2d5RWxlbWVudC5TVkdfTU9SUEhPTE9HWV9PUEVSQVRPUl9VTktOT1dOIEVYUEVDVEVEIEZB
SUxVUkUgKGFjdHVhbDogJzAnIGV4cGVjdGVkOiAnMCcpCi1TVkdGRU1vcnBob2xvZ3lFbGVtZW50
LlNWR19NT1JQSE9MT0dZX09QRVJBVE9SX0VST0RFIEVYUEVDVEVEIEZBSUxVUkUgKGFjdHVhbDog
JzEnIGV4cGVjdGVkOiAnMScpCi1TVkdGRU1vcnBob2xvZ3lFbGVtZW50LlNWR19NT1JQSE9MT0dZ
X09QRVJBVE9SX0RJTEFURSBFWFBFQ1RFRCBGQUlMVVJFIChhY3R1YWw6ICcyJyBleHBlY3RlZDog
JzInKQorU1ZHRkVNb3JwaG9sb2d5RWxlbWVudC5TVkdfTU9SUEhPTE9HWV9PUEVSQVRPUl9VTktO
T1dOIFBBU1NFRAorU1ZHRkVNb3JwaG9sb2d5RWxlbWVudC5TVkdfTU9SUEhPTE9HWV9PUEVSQVRP
Ul9FUk9ERSBQQVNTRUQKK1NWR0ZFTW9ycGhvbG9neUVsZW1lbnQuU1ZHX01PUlBIT0xPR1lfT1BF
UkFUT1JfRElMQVRFIFBBU1NFRAogU1ZHRkVUdXJidWxlbmNlRWxlbWVudC5TVkdfVFVSQlVMRU5D
RV9UWVBFX1VOS05PV04gUEFTU0VECiBTVkdGRVR1cmJ1bGVuY2VFbGVtZW50LlNWR19UVVJCVUxF
TkNFX1RZUEVfRlJBQ1RBTE5PSVNFIFBBU1NFRAogU1ZHRkVUdXJidWxlbmNlRWxlbWVudC5TVkdf
VFVSQlVMRU5DRV9UWVBFX1RVUkJVTEVOQ0UgUEFTU0VECkBAIC0xNDMsNiArMTQzLDYgQEAgU1ZH
VHJhbnNmb3JtLlNWR19UUkFOU0ZPUk1fU0tFV1kgUEFTU0VECiBTVkdVbml0VHlwZXMuU1ZHX1VO
SVRfVFlQRV9VTktOT1dOIFBBU1NFRAogU1ZHVW5pdFR5cGVzLlNWR19VTklUX1RZUEVfVVNFUlNQ
QUNFT05VU0UgUEFTU0VECiBTVkdVbml0VHlwZXMuU1ZHX1VOSVRfVFlQRV9PQkpFQ1RCT1VORElO
R0JPWCBQQVNTRUQKLVNWR1pvb21BbmRQYW4uU1ZHX1pPT01BTkRQQU5fVU5LTk9XTiBFWFBFQ1RF
RCBGQUlMVVJFIChhY3R1YWw6ICd1bmRlZmluZWQnIGV4cGVjdGVkOiAnMCcpCi1TVkdab29tQW5k
UGFuLlNWR19aT09NQU5EUEFOX0RJU0FCTEUgRVhQRUNURUQgRkFJTFVSRSAoYWN0dWFsOiAndW5k
ZWZpbmVkJyBleHBlY3RlZDogJzEnKQotU1ZHWm9vbUFuZFBhbi5TVkdfWk9PTUFORFBBTl9NQUdO
SUZZIEVYUEVDVEVEIEZBSUxVUkUgKGFjdHVhbDogJ3VuZGVmaW5lZCcgZXhwZWN0ZWQ6ICcyJykK
K1NWR1pvb21BbmRQYW4uU1ZHX1pPT01BTkRQQU5fVU5LTk9XTiBQQVNTRUQKK1NWR1pvb21BbmRQ
YW4uU1ZHX1pPT01BTkRQQU5fRElTQUJMRSBQQVNTRUQKK1NWR1pvb21BbmRQYW4uU1ZHX1pPT01B
TkRQQU5fTUFHTklGWSBQQVNTRUQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20v
anMtc3ZnLWNvbnN0cnVjdG9ycy5zdmcgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2pzLXN2Zy1j
b25zdHJ1Y3RvcnMuc3ZnCmluZGV4IDM1NjMxY2RjZWEwNzljNmU2YTE1MDI0MWMzMmVlMDMzYzUw
YzJmYzEuLjg1ODcxMzcxYmFjMDk3NDg0YTdhN2UxM2U2ZjliNThmMjVlMGJiN2MgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vanMtc3ZnLWNvbnN0cnVjdG9ycy5zdmcKKysrIGIv
TGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9qcy1zdmctY29uc3RydWN0b3JzLnN2ZwpAQCAtOTMsOSAr
OTMsOSBAQAogICAgICAgfQogCiAgICAgICBpZiAod2luZG93LlNWR0ZFTW9ycGhvbG9neUVsZW1l
bnQpIHsKLSAgICAgICAgICBleHBlY3RfZmFpbHVyZSgiU1ZHRkVNb3JwaG9sb2d5RWxlbWVudC5T
VkdfTU9SUEhPTE9HWV9PUEVSQVRPUl9VTktOT1dOIiwgMCk7Ci0gICAgICAgICAgZXhwZWN0X2Zh
aWx1cmUoIlNWR0ZFTW9ycGhvbG9neUVsZW1lbnQuU1ZHX01PUlBIT0xPR1lfT1BFUkFUT1JfRVJP
REUiLCAxKTsKLSAgICAgICAgICBleHBlY3RfZmFpbHVyZSgiU1ZHRkVNb3JwaG9sb2d5RWxlbWVu
dC5TVkdfTU9SUEhPTE9HWV9PUEVSQVRPUl9ESUxBVEUiLCAyKTsKKyAgICAgICAgICBleHBlY3Qo
IlNWR0ZFTW9ycGhvbG9neUVsZW1lbnQuU1ZHX01PUlBIT0xPR1lfT1BFUkFUT1JfVU5LTk9XTiIs
IDApOworICAgICAgICAgIGV4cGVjdCgiU1ZHRkVNb3JwaG9sb2d5RWxlbWVudC5TVkdfTU9SUEhP
TE9HWV9PUEVSQVRPUl9FUk9ERSIsIDEpOworICAgICAgICAgIGV4cGVjdCgiU1ZHRkVNb3JwaG9s
b2d5RWxlbWVudC5TVkdfTU9SUEhPTE9HWV9PUEVSQVRPUl9ESUxBVEUiLCAyKTsKICAgICAgIH0K
IAogICAgICAgaWYgKHdpbmRvdy5TVkdGRVR1cmJ1bGVuY2VFbGVtZW50KSB7CkBAIC0yMDgsOSAr
MjA4LDkgQEAKICAgICAgIGV4cGVjdCgiU1ZHVW5pdFR5cGVzLlNWR19VTklUX1RZUEVfVVNFUlNQ
QUNFT05VU0UiLCAxKTsKICAgICAgIGV4cGVjdCgiU1ZHVW5pdFR5cGVzLlNWR19VTklUX1RZUEVf
T0JKRUNUQk9VTkRJTkdCT1giLCAyKTsKIAotICAgICAgZXhwZWN0X2ZhaWx1cmUoIlNWR1pvb21B
bmRQYW4uU1ZHX1pPT01BTkRQQU5fVU5LTk9XTiIsIDApOwotICAgICAgZXhwZWN0X2ZhaWx1cmUo
IlNWR1pvb21BbmRQYW4uU1ZHX1pPT01BTkRQQU5fRElTQUJMRSIsIDEpOwotICAgICAgZXhwZWN0
X2ZhaWx1cmUoIlNWR1pvb21BbmRQYW4uU1ZHX1pPT01BTkRQQU5fTUFHTklGWSIsIDIpOworICAg
ICAgZXhwZWN0KCJTVkdab29tQW5kUGFuLlNWR19aT09NQU5EUEFOX1VOS05PV04iLCAwKTsKKyAg
ICAgIGV4cGVjdCgiU1ZHWm9vbUFuZFBhbi5TVkdfWk9PTUFORFBBTl9ESVNBQkxFIiwgMSk7Cisg
ICAgICBleHBlY3QoIlNWR1pvb21BbmRQYW4uU1ZHX1pPT01BTkRQQU5fTUFHTklGWSIsIDIpOwog
ICAgIH0KICAgXV0+PC9zY3JpcHQ+ICAKIDwvc3ZnPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>143244</attachid>
            <date>2012-05-22 02:44:50 -0700</date>
            <delta_ts>2012-05-22 07:59:26 -0700</delta_ts>
            <desc>Patch v3</desc>
            <filename>bug-15494-20120522114531.patch</filename>
            <type>text/plain</type>
            <size>34469</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE3OTM5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjQxOGVhNWU5ZGUzNWZj
MzViN2RmOGRjNTkzM2NiMTdkODBkZTQ3Yi4uODAwOWRiOTlmYmU5NzUxN2QxNzYyN2Q4OGFkNDhk
OGNmMzg3ODFjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY3IEBACisyMDEyLTA1LTIyICBOaWtv
bGFzIFppbW1lcm1hbm4gIDxuemltbWVybWFubkByaW0uY29tPgorCisgICAgICAgIFNWR1pvb21B
bmRQYW4gY29uc3RhbnRzIGFyZSBtaXNzaW5nIGZyb20gd2luZG93IG9iamVjdAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU0OTQKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBHZW5lcmF0ZSB0aGUgU1ZHWm9v
bUFuZFBhbkNvbnN0cnVjdG9yLCBzbyB0aGF0IHRoZSBjb25zdGFudHMgZGVmaW5lZCBpbiB0aGUg
SURMCisgICAgICAgIGNhbiBiZSByZWFjaGVkIGZyb20gdGhlIGJpbmRpbmdzLiBQcm92aWRlIGEg
c3R1Yi1pbXBsZW1lbnRhdGlvbiBvZiByZWYvZGVyZWYKKyAgICAgICAgdGhhdCdzIG5ldmVyIHVz
ZWQsIGFzIHdlIGRvbid0IGFjdHVhbGx5IHVzZSBKU1NWR1pvb21BbmRQYW4gd2hpY2ggbmVlZHMg
dGhpcywgYnV0CisgICAgICAgIG9ubHkgdGhlIEpTU1ZHWm9vbUFuZFBhbkNvbnN0cnVjdG9yLgor
CisgICAgICAgIFRoaXMgaXMgYSBwcmVwYXJhdGlvbiB0b3dhcmRzIGJ1ZyAxNTQ5NSwgd2hpY2gg
Y292ZXJzIGltcGxlbWVudGluZworICAgICAgICBTVkdTVkdFbGVtZW50LmN1cnJlbnRWaWV3IGFu
ZCB0aGUgU1ZHVmlld1NwZWMgaW50ZXJmYWNlLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6
CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMuY3BwOgorICAgICAgICAqIERlcml2ZWRTb3VyY2Vz
LnByaToKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIFdlYkNvcmUu
dmNwcm9qL1dlYkNvcmUudmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvajoKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5pZGw6CisgICAgICAgICogc3Zn
L1NWR1NWR0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHU1ZHRWxlbWVudDo6U1ZH
U1ZHRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdTVkdFbGVtZW50OjpwYXJzZUF0dHJp
YnV0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdTVkdFbGVtZW50Ojp2aWV3Qm94VG9WaWV3VHJh
bnNmb3JtKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1NWR0VsZW1lbnQ6OnNldHVwSW5pdGlhbFZp
ZXcpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHU1ZHRWxlbWVudDo6aW5oZXJpdFZpZXdBdHRyaWJ1
dGVzKToKKyAgICAgICAgKiBzdmcvU1ZHU1ZHRWxlbWVudC5oOgorICAgICAgICAoU1ZHU1ZHRWxl
bWVudCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdTVkdFbGVtZW50Ojp1c2VDdXJyZW50Vmlldyk6
CisgICAgICAgIChXZWJDb3JlOjpTVkdTVkdFbGVtZW50OjpzZXRVc2VDdXJyZW50Vmlldyk6Cisg
ICAgICAgIChXZWJDb3JlOjpTVkdTVkdFbGVtZW50Ojp6b29tQW5kUGFuKToKKyAgICAgICAgKFdl
YkNvcmU6OlNWR1NWR0VsZW1lbnQ6OnNldFpvb21BbmRQYW4pOgorICAgICAgICAqIHN2Zy9TVkdW
aWV3RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdWaWV3RWxlbWVudDo6U1ZHVmll
d0VsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVmlld0VsZW1lbnQ6OnBhcnNlQXR0cmli
dXRlKToKKyAgICAgICAgKiBzdmcvU1ZHVmlld0VsZW1lbnQuaDoKKyAgICAgICAgKFNWR1ZpZXdF
bGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1ZpZXdFbGVtZW50Ojp6b29tQW5kUGFuKToK
KyAgICAgICAgKFdlYkNvcmU6OlNWR1ZpZXdFbGVtZW50OjpzZXRab29tQW5kUGFuKToKKyAgICAg
ICAgKiBzdmcvU1ZHVmlld1NwZWMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVmlld1NwZWM6
OlNWR1ZpZXdTcGVjKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1ZpZXdTcGVjOjpzZXRUcmFuc2Zv
cm1TdHJpbmcpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVmlld1NwZWM6OnBhcnNlVmlld1NwZWMp
OgorICAgICAgICAqIHN2Zy9TVkdWaWV3U3BlYy5oOgorICAgICAgICAoU1ZHVmlld1NwZWMpOgor
ICAgICAgICAoV2ViQ29yZTo6U1ZHVmlld1NwZWM6OnRyYW5zZm9ybUJhc2VWYWx1ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpTVkdWaWV3U3BlYzo6em9vbUFuZFBhbik6CisgICAgICAgIChXZWJDb3Jl
OjpTVkdWaWV3U3BlYzo6c2V0Wm9vbUFuZFBhbkJhc2VWYWx1ZSk6CisgICAgICAgICogc3ZnL1NW
R1pvb21BbmRQYW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHWm9vbUFuZFBhbjo6aXNLbm93
bkF0dHJpYnV0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdab29tQW5kUGFuOjphZGRTdXBwb3J0
ZWRBdHRyaWJ1dGVzKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1pvb21BbmRQYW46OnBhcnNlWm9v
bUFuZFBhbik6CisgICAgICAgIChXZWJDb3JlOjpTVkdab29tQW5kUGFuOjpyZWYpOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHWm9vbUFuZFBhbjo6ZGVyZWYpOgorICAgICAgICAoV2ViQ29yZTo6U1ZH
Wm9vbUFuZFBhbjo6c2V0Wm9vbUFuZFBhbik6CisgICAgICAgICogc3ZnL1NWR1pvb21BbmRQYW4u
aDoKKyAgICAgICAgKFNWR1pvb21BbmRQYW4pOgorICAgICAgICAoV2ViQ29yZTo6U1ZHWm9vbUFu
ZFBhbjo6cGFyc2VGcm9tTnVtYmVyKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1pvb21BbmRQYW46
OnBhcnNlQXR0cmlidXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1pvb21BbmRQYW46Onpvb21B
bmRQYW4pOgorICAgICAgICAqIHN2Zy9TVkdab29tQW5kUGFuLmlkbDoKKwogMjAxMi0wNS0yMiAg
WXVyeSBTZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5z
cGVjdG9yOiBzaG93IG1vcmUgYnV0dG9uIG5vZGUgc2hvdWxkIGhhdmUgaGVpZ2h0IG11bHRpcGxl
IG9mIHJvdyBoZWlnaHQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0
IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggMzNkNGY0ZjhlZjhlODM3ODU1
NjlhOWMyNTA2NmIwNDliMzU1M2IyMy4uMTg3YzE5Y2I5OTMxNjA1MDdjYjNjZDFmODc0NjgwY2Zm
YmQ2ZTFkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIv
U291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTIxMzAsNiArMjEzMCw3IEBAIElGIChF
TkFCTEVfU1ZHKQogICAgICAgICBzdmcvU1ZHVXNlRWxlbWVudC5pZGwKICAgICAgICAgc3ZnL1NW
R1ZpZXdFbGVtZW50LmlkbAogICAgICAgICBzdmcvU1ZHVktlcm5FbGVtZW50LmlkbAorICAgICAg
ICBzdmcvU1ZHWm9vbUFuZFBhbi5pZGwKICAgICAgICAgc3ZnL1NWR1pvb21FdmVudC5pZGwKICAg
ICApCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAppbmRleCA5ODhkNTgyNjdkN2U5MzVlZjZi
MDI3YzQ5MTI5ZmFkODFiOGIxMGRjLi5mZjM0MzQ0MGQ5YzQ3MjBiNzY5NzhjOTZmYWNlOTI1NGIx
NjhhNDQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCkBAIC00MzgsNiArNDM4LDcgQEAK
ICNpbmNsdWRlICJKU1NWR1VzZUVsZW1lbnQuY3BwIgogI2luY2x1ZGUgIkpTU1ZHVmlld0VsZW1l
bnQuY3BwIgogI2luY2x1ZGUgIkpTU1ZHVktlcm5FbGVtZW50LmNwcCIKKyNpbmNsdWRlICJKU1NW
R1pvb21BbmRQYW4uY3BwIgogI2luY2x1ZGUgIkpTU1ZHWm9vbUV2ZW50LmNwcCIKICNpbmNsdWRl
ICJKU1RleHQuY3BwIgogI2luY2x1ZGUgIkpTVGV4dEV2ZW50LmNwcCIKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLnByaQppbmRleCBhZDA3ODNmMGVhMjUzMDM3YTgwMDNiYjRmZWM5ZjM5NDVmN2NkMTY5
Li5kYzM1MjEyODQ2MGUxM2Y2MDMxNmUwMWI1Y2M1YmMzOGM0YjNlMDkzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMucHJpCkBAIC00NjUsNyArNDY1LDYgQEAgdjggewogCiBjb250YWlucyhERUZJ
TkVTLCBFTkFCTEVfU1ZHPTEpIHsKICAgSURMX0JJTkRJTkdTICs9IFwKLSAgICAkJFBXRC9zdmcv
U1ZHWm9vbUV2ZW50LmlkbCBcCiAgICAgJCRQV0Qvc3ZnL1NWR0FFbGVtZW50LmlkbCBcCiAgICAg
JCRQV0Qvc3ZnL1NWR0FsdEdseXBoRGVmRWxlbWVudC5pZGwgXAogICAgICQkUFdEL3N2Zy9TVkdB
bHRHbHlwaEVsZW1lbnQuaWRsIFwKQEAgLTYwNSw3ICs2MDQsOSBAQCBjb250YWlucyhERUZJTkVT
LCBFTkFCTEVfU1ZHPTEpIHsKICAgICAkJFBXRC9zdmcvU1ZHVW5pdFR5cGVzLmlkbCBcCiAgICAg
JCRQV0Qvc3ZnL1NWR1VzZUVsZW1lbnQuaWRsIFwKICAgICAkJFBXRC9zdmcvU1ZHVmlld0VsZW1l
bnQuaWRsIFwKLSAgICAkJFBXRC9zdmcvU1ZHVktlcm5FbGVtZW50LmlkbAorICAgICQkUFdEL3N2
Zy9TVkdWS2VybkVsZW1lbnQuaWRsIFwKKyAgICAkJFBXRC9zdmcvU1ZHWm9vbUFuZFBhbi5pZGwg
XAorICAgICQkUFdEL3N2Zy9TVkdab29tRXZlbnQuaWRsCiB9CiAKIGNvbnRhaW5zKERFRklORVMs
IEVOQUJMRV9WSURFT19UUkFDSz0xKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVt
YWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRl
eCBiNDBlZDBjODM1MWUwMTg2MzEyN2FhMzg2NTcyMzZlZTA1ZDY4N2RjLi5hNDhiZGI1NDcxNzlj
NjY2ZTFiYjgxYWY2NzBmZDNhNjMwM2IzY2YwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9H
TlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3Qu
YW0KQEAgLTUzODUsNiArNTM4NSw3IEBAIHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBcCiAJRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU1NWR1ZpZXdTcGVjLmggXAogCURlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNTVkdWS2VybkVsZW1lbnQuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
U1ZHVktlcm5FbGVtZW50LmggXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNTVkdab29tQW5k
UGFuLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1NWR1pvb21BbmRQYW4uaCBcCiAJ
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1NWR1pvb21FdmVudC5jcHAgXAogCURlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNTVkdab29tRXZlbnQuaApAQCAtNTUzMCw2ICs1NTMxLDcgQEAgZG9tX2Jp
bmRpbmdfaWRscyArPSBcCiAJJChXZWJDb3JlKS9zdmcvU1ZHVXNlRWxlbWVudC5pZGwgXAogCSQo
V2ViQ29yZSkvc3ZnL1NWR1ZLZXJuRWxlbWVudC5pZGwgXAogCSQoV2ViQ29yZSkvc3ZnL1NWR1Zp
ZXdFbGVtZW50LmlkbCBcCisJJChXZWJDb3JlKS9zdmcvU1ZHWm9vbUFuZFBhbi5pZGwgXAogCSQo
V2ViQ29yZSkvc3ZnL1NWR1pvb21FdmVudC5pZGwKIGVuZGlmICMgRU5EIEVOQUJMRV9TVkcKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2og
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCAzZmZk
YWQ2YjkxYjQwNDI5N2VlZDI1MjAwODFjYzc2OWEzMTE3ZDcwLi5jYzM5Y2MwNzZiMWY4ODI4Njc2
MjQyNzVhMDMwNDA4ODZmMGRiNmMxIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJv
ai9XZWJDb3JlLnZjcHJvagpAQCAtMjE4MzQsNiArMjE4MzQsNjMgQEAKIAkJCQk+CiAJCQk8L0Zp
bGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIp
XG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU1NWR1pvb21BbmRQYW4uY3BwIgor
CQkJCT4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWd8V2luMzIiCisJ
CQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlO
YW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+
CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiCisJCQkJ
CUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1l
PSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJ
CQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnX0NhaXJvX0NGTGl0ZXxXaW4z
MiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJ
CQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJh
dGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb19D
RkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJ
CTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmls
ZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVn
X0FsbHxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJ
PFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxl
Q29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUHJvZHVj
dGlvbnxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJ
PFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxl
Q29uZmlndXJhdGlvbj4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIk
KENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2Vz
XEpTU1ZHWm9vbUFuZFBhbi5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKworCQkJPEZpbGUKIAkJCQlS
ZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlc
RGVyaXZlZFNvdXJjZXNcSlNTVkdab29tRXZlbnQuY3BwIgogCQkJCT4KIAkJCQk8RmlsZUNvbmZp
Z3VyYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagppbmRleCBkNGRjM2E3OTA5ZjdhMTE2Y2U4ZjYzOGI3OTg1NjhlZGQ1MTFjZDYwLi5j
YTBkNjIyOGIwMGU3OTk1NTNhZTMyMDlhZGRkZDFlMzUwYjVhMTI4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xODA5LDYgKzE4
MDksOCBAQAogCQk3MUE1N0RGMTE1NEJFMjVDMDAwOUQxMjAgLyogU1ZHUGF0aFV0aWxpdGllcy5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3MUE1N0RF
RjE1NEJFMjVDMDAwOUQxMjAgLyogU1ZHUGF0aFV0aWxpdGllcy5jcHAgKi87IH07CiAJCTcxQTU3
REYyMTU0QkUyNUMwMDA5RDEyMCAvKiBTVkdQYXRoVXRpbGl0aWVzLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3MUE1N0RGMDE1NEJFMjVDMDAwOUQxMjAg
LyogU1ZHUGF0aFV0aWxpdGllcy5oICovOyB9OwogCQk3MUNDN0EyMDE1MkEwQkZFMDA5RUVBRjkg
LyogU1ZHQW5pbWF0ZWRFbnVtZXJhdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA3MUNDN0ExRjE1MkEwQkZFMDA5RUVBRjkgLyogU1ZHQW5pbWF0
ZWRFbnVtZXJhdGlvbi5jcHAgKi87IH07CisJCTcxRENCNzAxMTU2ODE5NzYwMDg2MjI3MSAvKiBK
U1NWR1pvb21BbmRQYW4uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNzFEQ0I2RkYxNTY4MTk3NjAwODYyMjcxIC8qIEpTU1ZHWm9vbUFuZFBhbi5jcHAg
Ki87IH07CisJCTcxRENCNzAyMTU2ODE5NzYwMDg2MjI3MSAvKiBKU1NWR1pvb21BbmRQYW4uaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcxRENCNzAwMTU2
ODE5NzYwMDg2MjI3MSAvKiBKU1NWR1pvb21BbmRQYW4uaCAqLzsgfTsKIAkJNzFFNjIzRDExNTFG
NzJBNjAwMzZFMkY0IC8qIFNWR0FuaW1hdGVkSW50ZWdlck9wdGlvbmFsSW50ZWdlci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzFFNjIzQ0YxNTFGNzJB
NjAwMzZFMkY0IC8qIFNWR0FuaW1hdGVkSW50ZWdlck9wdGlvbmFsSW50ZWdlci5oICovOyB9Owog
CQk3MUZCOTY3QjEzODNENjQ2MDBBQzhBNEMgLyogU1ZHQW5pbWF0ZWRFbnVtZXJhdGlvblByb3Bl
cnR5VGVhck9mZi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNzFGQjk2N0ExMzgzRDY0NjAwQUM4QTRDIC8qIFNWR0FuaW1hdGVkRW51bWVyYXRpb25Qcm9w
ZXJ0eVRlYXJPZmYuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQk3MjYyNkUwMjBFRjAyMkZFMDBBMDdFMjAgLyogRm9udEZhc3RQYXRoLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcyNjI2RTAxMEVGMDIy
RkUwMEEwN0UyMCAvKiBGb250RmFzdFBhdGguY3BwICovOyB9OwpAQCAtODg1MSw2ICs4ODUzLDgg
QEAKIAkJNzFBNTdERUYxNTRCRTI1QzAwMDlEMTIwIC8qIFNWR1BhdGhVdGlsaXRpZXMuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU1ZHUGF0aFV0aWxpdGllcy5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTcxQTU3REYwMTU0QkUyNUMwMDA5RDEyMCAv
KiBTVkdQYXRoVXRpbGl0aWVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNW
R1BhdGhVdGlsaXRpZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzFDQzdBMUYx
NTJBMEJGRTAwOUVFQUY5IC8qIFNWR0FuaW1hdGVkRW51bWVyYXRpb24uY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU1ZHQW5pbWF0ZWRFbnVtZXJhdGlvbi5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTcxRENCNkZGMTU2ODE5NzYwMDg2MjI3MSAvKiBK
U1NWR1pvb21BbmRQYW4uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
SlNTVkdab29tQW5kUGFuLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzFEQ0I3
MDAxNTY4MTk3NjAwODYyMjcxIC8qIEpTU1ZHWm9vbUFuZFBhbi5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBKU1NWR1pvb21BbmRQYW4uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNzFFNjIzQ0UxNTFGNzJBNjAwMzZFMkY0IC8qIFNWR0FuaW1hdGVkSW50ZWdlck9w
dGlvbmFsSW50ZWdlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBT
VkdBbmltYXRlZEludGVnZXJPcHRpb25hbEludGVnZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk3MUU2MjNDRjE1MUY3MkE2MDAzNkUyRjQgLyogU1ZHQW5pbWF0ZWRJbnRlZ2Vy
T3B0aW9uYWxJbnRlZ2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNWR0Fu
aW1hdGVkSW50ZWdlck9wdGlvbmFsSW50ZWdlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk3MUZCOTY3QTEzODNENjQ2MDBBQzhBNEMgLyogU1ZHQW5pbWF0ZWRFbnVtZXJhdGlvblBy
b3BlcnR5VGVhck9mZi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdBbmlt
YXRlZEVudW1lcmF0aW9uUHJvcGVydHlUZWFyT2ZmLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC0xODM2Niw2ICsxODM3MCw4IEBACiAJCQkJQjJGQTNEMkYwQUI3NUE2RjAwMEU1QUM0
IC8qIEpTU1ZHVmlld0VsZW1lbnQuaCAqLywKIAkJCQk4NDg1MjI3OTExOTAxNjJDMDA2RURDN0Yg
LyogSlNTVkdWS2VybkVsZW1lbnQuY3BwICovLAogCQkJCTg0ODUyMjdBMTE5MDE2MkMwMDZFREM3
RiAvKiBKU1NWR1ZLZXJuRWxlbWVudC5oICovLAorCQkJCTcxRENCNkZGMTU2ODE5NzYwMDg2MjI3
MSAvKiBKU1NWR1pvb21BbmRQYW4uY3BwICovLAorCQkJCTcxRENCNzAwMTU2ODE5NzYwMDg2MjI3
MSAvKiBKU1NWR1pvb21BbmRQYW4uaCAqLywKIAkJCQlCMkZBM0QzMDBBQjc1QTZGMDAwRTVBQzQg
LyogSlNTVkdab29tRXZlbnQuY3BwICovLAogCQkJCUIyRkEzRDMxMEFCNzVBNkYwMDBFNUFDNCAv
KiBKU1NWR1pvb21FdmVudC5oICovLAogCQkJKTsKQEAgLTI0OTIzLDYgKzI0OTI5LDcgQEAKIAkJ
CQkyOUEzMDlCMTE1NjFDQUM0MDBCQkQ4RTUgLyogVmlzaXRlZExpbmtzLmggaW4gSGVhZGVycyAq
LywKIAkJCQlGREIwNTJFMDE1NjFBNDJDMDBCNTAwRDYgLyogQXVkaW9TdW1taW5nSnVuY3Rpb24u
aCBpbiBIZWFkZXJzICovLAogCQkJCTM3MTk0MTk3MTU2NkIzNzIwMEEyNzZEOCAvKiBXZWJDb3Jl
TlNDZWxsRXh0cmFzLmggaW4gSGVhZGVycyAqLywKKwkJCQk3MURDQjcwMjE1NjgxOTc2MDA4NjIy
NzEgLyogSlNTVkdab29tQW5kUGFuLmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5
Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTI3OTQ5LDYgKzI3OTU2
LDcgQEAKIAkJCQlGREIwNTJERjE1NjFBNDJDMDBCNTAwRDYgLyogQXVkaW9TdW1taW5nSnVuY3Rp
b24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMzcxOTQxOTYxNTY2QjM3MjAwQTI3NkQ4IC8qIFdl
YkNvcmVOU0NlbGxFeHRyYXMubSBpbiBTb3VyY2VzICovLAogCQkJCTE0NkNDMTE1MTU2OTg4RTQw
MDEwOUUzNyAvKiBMZW5ndGhCb3guY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNzFEQ0I3MDExNTY4
MTk3NjAwODYyMjcxIC8qIEpTU1ZHWm9vbUFuZFBhbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7
CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRE9NV2luZG93LmlkbAppbmRleCA1OTdkMDdkOTQxYTdhZTE1MGEyYzE1OGI0NThhMzVl
MzJhMWVhZGZlLi45NGNlZDAxYzVhOTliMjg2NTVlMWYwNGNlZjhjYWZkODE3MzQ5N2UxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCkBAIC03MDksNiArNzA5LDcgQEAgbW9kdWxlIHdpbmRv
dyB7CiAgICAgICAgIGF0dHJpYnV0ZSBTVkdVc2VFbGVtZW50Q29uc3RydWN0b3IgU1ZHVXNlRWxl
bWVudDsKICAgICAgICAgYXR0cmlidXRlIFNWR1ZpZXdFbGVtZW50Q29uc3RydWN0b3IgU1ZHVmll
d0VsZW1lbnQ7CiAvLyAgICAgIGF0dHJpYnV0ZSBTVkdWaWV3U3BlY0NvbnN0cnVjdG9yIFNWR1Zp
ZXdTcGVjOworICAgICAgICBhdHRyaWJ1dGUgU1ZHWm9vbUFuZFBhbkNvbnN0cnVjdG9yIFNWR1pv
b21BbmRQYW47CiAKICAgICAgICAgYXR0cmlidXRlIFNWR0FuaW1hdGVDb2xvckVsZW1lbnRDb25z
dHJ1Y3RvciBTVkdBbmltYXRlQ29sb3JFbGVtZW50OwogICAgICAgICBhdHRyaWJ1dGUgU1ZHQW5p
bWF0ZUVsZW1lbnRDb25zdHJ1Y3RvciBTVkdBbmltYXRlRWxlbWVudDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdTVkdFbGVtZW50LmNwcAppbmRleCA4ZTBmMjEwZmY3MzFjOTg4ODJlZjA3YzZhZWIzY2I0YjIw
ZmRkODRhLi43ZjFiNmM3ZmM4YzI1ODhkNjc1Mzc4MjVmNjA4MTMwZGVhNTk0NzU2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU1ZHRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR1NWR0VsZW1lbnQuY3BwCkBAIC01Miw2ICs1Miw3IEBACiAjaW5jbHVkZSAi
U1ZHVHJhbnNmb3JtTGlzdC5oIgogI2luY2x1ZGUgIlNWR1ZpZXdFbGVtZW50LmgiCiAjaW5jbHVk
ZSAiU1ZHVmlld1NwZWMuaCIKKyNpbmNsdWRlICJTVkdab29tQW5kUGFuLmgiCiAjaW5jbHVkZSAi
U1ZHWm9vbUV2ZW50LmgiCiAjaW5jbHVkZSAiU2NyaXB0RXZlbnRMaXN0ZW5lci5oIgogI2luY2x1
ZGUgIlN0YXRpY05vZGVMaXN0LmgiCkBAIC04Nyw2ICs4OCw3IEBAIGlubGluZSBTVkdTVkdFbGVt
ZW50OjpTVkdTVkdFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50
KiBkb2MpCiAgICAgLCBtX3dpZHRoKExlbmd0aE1vZGVXaWR0aCwgIjEwMCUiKQogICAgICwgbV9o
ZWlnaHQoTGVuZ3RoTW9kZUhlaWdodCwgIjEwMCUiKSAKICAgICAsIG1fdXNlQ3VycmVudFZpZXco
ZmFsc2UpCisgICAgLCBtX3pvb21BbmRQYW4oU1ZHWm9vbUFuZFBhbk1hZ25pZnkpCiAgICAgLCBt
X3RpbWVDb250YWluZXIoU01JTFRpbWVDb250YWluZXI6OmNyZWF0ZSh0aGlzKSkKIHsKICAgICBB
U1NFUlQoaGFzVGFnTmFtZShTVkdOYW1lczo6c3ZnVGFnKSk7CkBAIC0xNjgsMTYgKzE3MCw2IEBA
IGZsb2F0IFNWR1NWR0VsZW1lbnQ6OnNjcmVlblBpeGVsVG9NaWxsaW1ldGVyWSgpIGNvbnN0CiAg
ICAgcmV0dXJuIHBpeGVsVW5pdFRvTWlsbGltZXRlclkoKTsKIH0KIAotYm9vbCBTVkdTVkdFbGVt
ZW50Ojp1c2VDdXJyZW50VmlldygpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fdXNlQ3VycmVudFZp
ZXc7Ci19Ci0KLXZvaWQgU1ZHU1ZHRWxlbWVudDo6c2V0VXNlQ3VycmVudFZpZXcoYm9vbCBjdXJy
ZW50VmlldykKLXsKLSAgICBtX3VzZUN1cnJlbnRWaWV3ID0gY3VycmVudFZpZXc7Ci19Ci0KIFNW
R1ZpZXdTcGVjKiBTVkdTVkdFbGVtZW50OjpjdXJyZW50VmlldygpIGNvbnN0CiB7CiAgICAgaWYg
KCFtX3ZpZXdTcGVjKQpAQCAtMjc4LDcgKzI3MCw3IEBAIHZvaWQgU1ZHU1ZHRWxlbWVudDo6cGFy
c2VBdHRyaWJ1dGUoY29uc3QgQXR0cmlidXRlJiBhdHRyaWJ1dGUpCiAgICAgICAgICAgICAgICB8
fCBTVkdMYW5nU3BhY2U6OnBhcnNlQXR0cmlidXRlKGF0dHJpYnV0ZSkKICAgICAgICAgICAgICAg
IHx8IFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQ6OnBhcnNlQXR0cmlidXRlKGF0dHJpYnV0
ZSkKICAgICAgICAgICAgICAgIHx8IFNWR0ZpdFRvVmlld0JveDo6cGFyc2VBdHRyaWJ1dGUoZG9j
dW1lbnQoKSwgYXR0cmlidXRlKQotICAgICAgICAgICAgICAgfHwgU1ZHWm9vbUFuZFBhbjo6cGFy
c2VBdHRyaWJ1dGUoYXR0cmlidXRlKSkgeworICAgICAgICAgICAgICAgfHwgU1ZHWm9vbUFuZFBh
bjo6cGFyc2VBdHRyaWJ1dGUodGhpcywgYXR0cmlidXRlKSkgewogICAgIH0gZWxzZQogICAgICAg
ICBTVkdTdHlsZWRMb2NhdGFibGVFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZShhdHRyaWJ1dGUpOwog
CkBAIC02NTcsNyArNjQ5LDcgQEAgQWZmaW5lVHJhbnNmb3JtIFNWR1NWR0VsZW1lbnQ6OnZpZXdC
b3hUb1ZpZXdUcmFuc2Zvcm0oZmxvYXQgdmlld1dpZHRoLCBmbG9hdCB2aWUKICAgICBBZmZpbmVU
cmFuc2Zvcm0gY3RtID0gU1ZHRml0VG9WaWV3Qm94Ojp2aWV3Qm94VG9WaWV3VHJhbnNmb3JtKGN1
cnJlbnRWaWV3Qm94UmVjdCgpLCBwcmVzZXJ2ZUFzcGVjdFJhdGlvKCksIHZpZXdXaWR0aCwgdmll
d0hlaWdodCk7CiAgICAgaWYgKHVzZUN1cnJlbnRWaWV3KCkgJiYgY3VycmVudFZpZXcoKSkgewog
ICAgICAgICBBZmZpbmVUcmFuc2Zvcm0gdHJhbnNmb3JtOwotICAgICAgICBpZiAoY3VycmVudFZp
ZXcoKS0+dHJhbnNmb3JtKCkuY29uY2F0ZW5hdGUodHJhbnNmb3JtKSkKKyAgICAgICAgaWYgKGN1
cnJlbnRWaWV3KCktPnRyYW5zZm9ybUJhc2VWYWx1ZSgpLmNvbmNhdGVuYXRlKHRyYW5zZm9ybSkp
CiAgICAgICAgICAgICBjdG0gKj0gdHJhbnNmb3JtOwogICAgIH0KIApAQCAtNjg4LDcgKzY4MCw3
IEBAIHZvaWQgU1ZHU1ZHRWxlbWVudDo6c2V0dXBJbml0aWFsVmlldyhjb25zdCBTdHJpbmcmIGZy
YWdtZW50SWRlbnRpZmllciwgRWxlbWVudCoKICAgICAgICAgaWYgKCFtX3VzZUN1cnJlbnRWaWV3
KQogICAgICAgICAgICAgcmV0dXJuOwogICAgIH0gZWxzZSBpZiAoIW1fdXNlQ3VycmVudFZpZXcp
Ci0gICAgICAgIGN1cnJlbnRWaWV3KCktPnNldFRyYW5zZm9ybShlbXB0eVN0cmluZygpKTsKKyAg
ICAgICAgY3VycmVudFZpZXcoKS0+c2V0VHJhbnNmb3JtU3RyaW5nKGVtcHR5U3RyaW5nKCkpOwog
CiAgICAgLy8gRm9yY2UgYSBsYXlvdXQsIG90aGVyd2lzZSBSZW5kZXJTVkdSb290cyBsb2NhbFRv
Qm9yZGVyQm94VHJhbnNmb3JtIHdvbid0IGJlIHJlYnVpbGQuCiAgICAgaWYgKFJlbmRlck9iamVj
dCogb2JqZWN0ID0gcmVuZGVyZXIoKSkKQEAgLTcxMyw3ICs3MDUsNyBAQCB2b2lkIFNWR1NWR0Vs
ZW1lbnQ6OmluaGVyaXRWaWV3QXR0cmlidXRlcyhTVkdWaWV3RWxlbWVudCogdmlld0VsZW1lbnQp
CiAgICAgY3VycmVudFZpZXcoKS0+c2V0UHJlc2VydmVBc3BlY3RSYXRpb0Jhc2VWYWx1ZShhc3Bl
Y3RSYXRpbyk7CiAKICAgICBpZiAodmlld0VsZW1lbnQtPmhhc0F0dHJpYnV0ZShTVkdOYW1lczo6
em9vbUFuZFBhbkF0dHIpKQotICAgICAgICBjdXJyZW50VmlldygpLT5zZXRab29tQW5kUGFuKHZp
ZXdFbGVtZW50LT56b29tQW5kUGFuKCkpOworICAgICAgICBjdXJyZW50VmlldygpLT5zZXRab29t
QW5kUGFuQmFzZVZhbHVlKHZpZXdFbGVtZW50LT56b29tQW5kUGFuKCkpOwogICAgIAogICAgIGlm
IChSZW5kZXJPYmplY3QqIG9iamVjdCA9IHJlbmRlcmVyKCkpCiAgICAgICAgIFJlbmRlclNWR1Jl
c291cmNlOjptYXJrRm9yTGF5b3V0QW5kUGFyZW50UmVzb3VyY2VJbnZhbGlkYXRpb24ob2JqZWN0
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHU1ZHRWxlbWVudC5oCmluZGV4IDZlYWQ3OGJkMjg0MGQ1ODk4NjE5
NjY1ZjhkMmNhMjJiMWM4YzdjNDMuLjFmYWU3N2RjZDFlODVjNmM0YTY3Zjc1YTdjNmMwNWJhYjUx
MDliMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1NWR0VsZW1lbnQuaApAQCAtNTEsNiArNTEsOSBAQCBj
bGFzcyBTVkdTVkdFbGVtZW50IDogcHVibGljIFNWR1N0eWxlZExvY2F0YWJsZUVsZW1lbnQsCiBw
dWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8U1ZHU1ZHRWxlbWVudD4gY3JlYXRlKGNvbnN0
IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCopOwogCisgICAgdXNpbmcgU1ZHU3R5bGVkTG9jYXRh
YmxlRWxlbWVudDo6cmVmOworICAgIHVzaW5nIFNWR1N0eWxlZExvY2F0YWJsZUVsZW1lbnQ6OmRl
cmVmOworCiAgICAgdmlydHVhbCBib29sIGlzVmFsaWQoKSBjb25zdCB7IHJldHVybiBTVkdUZXN0
czo6aXNWYWxpZCgpOyB9CiAgICAgdmlydHVhbCBib29sIHN1cHBvcnRzRm9jdXMoKSBjb25zdCB7
IHJldHVybiB0cnVlOyB9CiAKQEAgLTY4LDggKzcxLDggQEAgcHVibGljOgogICAgIGZsb2F0IHNj
cmVlblBpeGVsVG9NaWxsaW1ldGVyWCgpIGNvbnN0OwogICAgIGZsb2F0IHNjcmVlblBpeGVsVG9N
aWxsaW1ldGVyWSgpIGNvbnN0OwogCi0gICAgYm9vbCB1c2VDdXJyZW50VmlldygpIGNvbnN0Owot
ICAgIHZvaWQgc2V0VXNlQ3VycmVudFZpZXcoYm9vbCBjdXJyZW50Vmlldyk7CisgICAgYm9vbCB1
c2VDdXJyZW50VmlldygpIGNvbnN0IHsgcmV0dXJuIG1fdXNlQ3VycmVudFZpZXc7IH0KKyAgICB2
b2lkIHNldFVzZUN1cnJlbnRWaWV3KGJvb2wgY3VycmVudFZpZXcpIHsgbV91c2VDdXJyZW50Vmll
dyA9IGN1cnJlbnRWaWV3OyB9CiAKICAgICBTVkdWaWV3U3BlYyogY3VycmVudFZpZXcoKSBjb25z
dDsKIApAQCAtMTMxLDYgKzEzNCw5IEBAIHB1YmxpYzoKICAgICBib29sIHdpZHRoQXR0cmlidXRl
RXN0YWJsaXNoZXNWaWV3cG9ydCgpIGNvbnN0OwogICAgIGJvb2wgaGVpZ2h0QXR0cmlidXRlRXN0
YWJsaXNoZXNWaWV3cG9ydCgpIGNvbnN0OwogCisgICAgU1ZHWm9vbUFuZFBhblR5cGUgem9vbUFu
ZFBhbigpIGNvbnN0IHsgcmV0dXJuIG1fem9vbUFuZFBhbjsgfQorICAgIHZvaWQgc2V0Wm9vbUFu
ZFBhbih1bnNpZ25lZCBzaG9ydCB6b29tQW5kUGFuKSB7IG1fem9vbUFuZFBhbiA9IFNWR1pvb21B
bmRQYW46OnBhcnNlRnJvbU51bWJlcih6b29tQW5kUGFuKTsgfQorCiBwcm90ZWN0ZWQ6CiAgICAg
dmlydHVhbCB2b2lkIGRpZE1vdmVUb05ld0RvY3VtZW50KERvY3VtZW50KiBvbGREb2N1bWVudCkg
T1ZFUlJJREU7CiAKQEAgLTE4Miw2ICsxODgsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgQWZm
aW5lVHJhbnNmb3JtIGxvY2FsQ29vcmRpbmF0ZVNwYWNlVHJhbnNmb3JtKFNWR0xvY2F0YWJsZTo6
Q1RNU2NvcGUpIGNvbnN0OwogCiAgICAgYm9vbCBtX3VzZUN1cnJlbnRWaWV3OworICAgIFNWR1pv
b21BbmRQYW5UeXBlIG1fem9vbUFuZFBhbjsKICAgICBSZWZQdHI8U01JTFRpbWVDb250YWluZXI+
IG1fdGltZUNvbnRhaW5lcjsKICAgICBGbG9hdFBvaW50IG1fdHJhbnNsYXRpb247CiAgICAgbXV0
YWJsZSBPd25QdHI8U1ZHVmlld1NwZWM+IG1fdmlld1NwZWM7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHVmlld0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1Zp
ZXdFbGVtZW50LmNwcAppbmRleCAyYTJmZWYxNzEzN2JjY2VmM2Q4MDQwODFkYmUwZDhkYjg3M2Qz
ZjBkLi5kYWJlOWRiNWNmM2VkZTlmNjcxMTZjZTIxNmQ3NTIxNTQyYjA5MzdjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVmlld0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdWaWV3RWxlbWVudC5jcHAKQEAgLTQ1LDYgKzQ1LDcgQEAgRU5EX1JFR0lTVEVS
X0FOSU1BVEVEX1BST1BFUlRJRVMKIAogaW5saW5lIFNWR1ZpZXdFbGVtZW50OjpTVkdWaWV3RWxl
bWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCiAg
ICAgOiBTVkdTdHlsZWRFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQorICAgICwgbV96b29tQW5k
UGFuKFNWR1pvb21BbmRQYW5NYWduaWZ5KQogICAgICwgbV92aWV3VGFyZ2V0KFNWR05hbWVzOjp2
aWV3VGFyZ2V0QXR0cikKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShTVkdOYW1lczo6dmlld1Rh
ZykpOwpAQCAtODQsNyArODUsNyBAQCB2b2lkIFNWR1ZpZXdFbGVtZW50OjpwYXJzZUF0dHJpYnV0
ZShjb25zdCBBdHRyaWJ1dGUmIGF0dHJpYnV0ZSkKICAgICAgICAgcmV0dXJuOwogICAgIGlmIChT
VkdGaXRUb1ZpZXdCb3g6OnBhcnNlQXR0cmlidXRlKGRvY3VtZW50KCksIGF0dHJpYnV0ZSkpCiAg
ICAgICAgIHJldHVybjsKLSAgICBpZiAoU1ZHWm9vbUFuZFBhbjo6cGFyc2VBdHRyaWJ1dGUoYXR0
cmlidXRlKSkKKyAgICBpZiAoU1ZHWm9vbUFuZFBhbjo6cGFyc2VBdHRyaWJ1dGUodGhpcywgYXR0
cmlidXRlKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVmlld0VsZW1lbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdWaWV3RWxlbWVudC5oCmluZGV4IDZkODA4OWVhMmVmYThiN2M4MjhlOWE2
ZDJkMDJmZjhkYjlmMWM2ODEuLjExZjU4Mzg4YTdlMDVkYTFjYTQwNzdlM2I0MDE3Yjg2MDI2NzYx
ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdWaWV3RWxlbWVudC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdWaWV3RWxlbWVudC5oCkBAIC00MCw4ICs0MCwxNCBAQCBj
bGFzcyBTVkdWaWV3RWxlbWVudCA6IHB1YmxpYyBTVkdTdHlsZWRFbGVtZW50LAogcHVibGljOgog
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNWR1ZpZXdFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlm
aWVkTmFtZSYsIERvY3VtZW50Kik7CiAKKyAgICB1c2luZyBTVkdTdHlsZWRFbGVtZW50OjpyZWY7
CisgICAgdXNpbmcgU1ZHU3R5bGVkRWxlbWVudDo6ZGVyZWY7CisKICAgICBTVkdTdHJpbmdMaXN0
JiB2aWV3VGFyZ2V0KCkgeyByZXR1cm4gbV92aWV3VGFyZ2V0OyB9CiAKKyAgICBTVkdab29tQW5k
UGFuVHlwZSB6b29tQW5kUGFuKCkgY29uc3QgeyByZXR1cm4gbV96b29tQW5kUGFuOyB9CisgICAg
dm9pZCBzZXRab29tQW5kUGFuKHVuc2lnbmVkIHNob3J0IHpvb21BbmRQYW4pIHsgbV96b29tQW5k
UGFuID0gU1ZHWm9vbUFuZFBhbjo6cGFyc2VGcm9tTnVtYmVyKHpvb21BbmRQYW4pOyB9CisKIHBy
aXZhdGU6CiAgICAgU1ZHVmlld0VsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50
Kik7CiAKQEAgLTU3LDYgKzYzLDcgQEAgcHJpdmF0ZToKICAgICAgICAgREVDTEFSRV9BTklNQVRF
RF9QUkVTRVJWRUFTUEVDVFJBVElPKFByZXNlcnZlQXNwZWN0UmF0aW8sIHByZXNlcnZlQXNwZWN0
UmF0aW8pCiAgICAgRU5EX0RFQ0xBUkVfQU5JTUFURURfUFJPUEVSVElFUwogCisgICAgU1ZHWm9v
bUFuZFBhblR5cGUgbV96b29tQW5kUGFuOwogICAgIFNWR1N0cmluZ0xpc3QgbV92aWV3VGFyZ2V0
OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ZpZXdTcGVjLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdWaWV3U3BlYy5jcHAKaW5kZXggNDE1YjE5ZTViOTlkNTBj
ZTY2NWQ4OWU0OTZjYmRjYWUzYzcyOGFlMi4uOGJiMDQwMDU1ZDdjMGEwMmYzYTZhM2VkZjgyMzJh
NzIzNzA5YjlmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ZpZXdTcGVjLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVmlld1NwZWMuY3BwCkBAIC00MSwxMiArNDEs
MTMgQEAgRU5EX1JFR0lTVEVSX0FOSU1BVEVEX1BST1BFUlRJRVMKIAogU1ZHVmlld1NwZWM6OlNW
R1ZpZXdTcGVjKFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KQogICAgIDogbV9jb250ZXh0RWxl
bWVudChjb250ZXh0RWxlbWVudCkKKyAgICAsIG1fem9vbUFuZFBhbihTVkdab29tQW5kUGFuTWFn
bmlmeSkKIHsKICAgICBBU1NFUlQobV9jb250ZXh0RWxlbWVudCk7CiAgICAgcmVnaXN0ZXJBbmlt
YXRlZFByb3BlcnRpZXNGb3JTVkdWaWV3U3BlYygpOwogfQogCi12b2lkIFNWR1ZpZXdTcGVjOjpz
ZXRUcmFuc2Zvcm0oY29uc3QgU3RyaW5nJiB0cmFuc2Zvcm0pCit2b2lkIFNWR1ZpZXdTcGVjOjpz
ZXRUcmFuc2Zvcm1TdHJpbmcoY29uc3QgU3RyaW5nJiB0cmFuc2Zvcm0pCiB7CiAgICAgbV90cmFu
c2Zvcm0ucGFyc2UodHJhbnNmb3JtKTsKIH0KQEAgLTEzMSw3ICsxMzIsNyBAQCBib29sIFNWR1Zp
ZXdTcGVjOjpwYXJzZVZpZXdTcGVjKGNvbnN0IFN0cmluZyYgdmlld1NwZWMpCiAgICAgICAgICAg
ICBpZiAoY3VyclZpZXdTcGVjID49IGVuZCB8fCAqY3VyclZpZXdTcGVjICE9ICcoJykKICAgICAg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICBjdXJyVmlld1NwZWMrKzsKLSAg
ICAgICAgICAgIGlmICghcGFyc2Vab29tQW5kUGFuKGN1cnJWaWV3U3BlYywgZW5kKSkKKyAgICAg
ICAgICAgIGlmICghcGFyc2Vab29tQW5kUGFuKGN1cnJWaWV3U3BlYywgZW5kLCBtX3pvb21BbmRQ
YW4pKQogICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgIGlmIChjdXJy
Vmlld1NwZWMgPj0gZW5kIHx8ICpjdXJyVmlld1NwZWMgIT0gJyknKQogICAgICAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdWaWV3U3Bl
Yy5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ZpZXdTcGVjLmgKaW5kZXggYzIxYTBjOTU5MDU4
MDI4ZjQ4ZGMxODU5ZTA2ZWU1Mjk2MWQzNDE4Yi4uMWU0YzI3MTU4NDRmNmI5OWQxYTdhYjY5MWE3
ZGJhNDljNjRlZjczNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ZpZXdTcGVj
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ZpZXdTcGVjLmgKQEAgLTMxLDE2ICszMSwx
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNWR0VsZW1lbnQ7CiAKLWNsYXNzIFNW
R1ZpZXdTcGVjIDogcHVibGljIFNWR0ZpdFRvVmlld0JveCwKLSAgICAgICAgICAgICAgICAgICAg
cHVibGljIFNWR1pvb21BbmRQYW4geworY2xhc3MgU1ZHVmlld1NwZWMgOiBwdWJsaWMgU1ZHWm9v
bUFuZFBhbiwKKyAgICAgICAgICAgICAgICAgICAgcHVibGljIFNWR0ZpdFRvVmlld0JveCB7CiAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHVmlld1NwZWMpOwogcHVibGljOgogICAgIFNWR1Zp
ZXdTcGVjKFNWR0VsZW1lbnQqKTsKIAogICAgIGJvb2wgcGFyc2VWaWV3U3BlYyhjb25zdCBTdHJp
bmcmKTsKIAotICAgIHZvaWQgc2V0VHJhbnNmb3JtKGNvbnN0IFN0cmluZyYpOworICAgIHZvaWQg
c2V0VHJhbnNmb3JtU3RyaW5nKGNvbnN0IFN0cmluZyYpOwogICAgIFNWR1RyYW5zZm9ybUxpc3Qg
dHJhbnNmb3JtKCkgY29uc3QgeyByZXR1cm4gbV90cmFuc2Zvcm07IH0KKyAgICBTVkdUcmFuc2Zv
cm1MaXN0IHRyYW5zZm9ybUJhc2VWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fdHJhbnNmb3JtOyB9
CiAKICAgICB2b2lkIHNldFZpZXdCb3hTdHJpbmcoY29uc3QgU3RyaW5nJik7CiAKQEAgLTUwLDYg
KzUxLDEwIEBAIHB1YmxpYzoKICAgICBTdHJpbmcgdmlld1RhcmdldFN0cmluZygpIGNvbnN0IHsg
cmV0dXJuIG1fdmlld1RhcmdldFN0cmluZzsgfQogICAgIFNWR0VsZW1lbnQqIHZpZXdUYXJnZXQo
KSBjb25zdDsKIAorICAgIFNWR1pvb21BbmRQYW5UeXBlIHpvb21BbmRQYW4oKSBjb25zdCB7IHJl
dHVybiBtX3pvb21BbmRQYW47IH0KKyAgICB2b2lkIHNldFpvb21BbmRQYW4odW5zaWduZWQgc2hv
cnQsIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICB2b2lkIHNldFpvb21BbmRQYW5CYXNlVmFsdWUodW5z
aWduZWQgc2hvcnQgem9vbUFuZFBhbikgeyBtX3pvb21BbmRQYW4gPSBTVkdab29tQW5kUGFuOjpw
YXJzZUZyb21OdW1iZXIoem9vbUFuZFBhbik7IH0KKwogcHJpdmF0ZToKICAgICBTVkdFbGVtZW50
KiBtX2NvbnRleHRFbGVtZW50OwogCkBAIC02MCw2ICs2NSw3IEBAIHByaXZhdGU6CiAKICAgICBT
VkdUcmFuc2Zvcm1MaXN0IG1fdHJhbnNmb3JtOwogICAgIFN0cmluZyBtX3ZpZXdUYXJnZXRTdHJp
bmc7CisgICAgU1ZHWm9vbUFuZFBhblR5cGUgbV96b29tQW5kUGFuOwogfTsKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1pvb21BbmRQ
YW4uY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1pvb21BbmRQYW4uY3BwCmluZGV4IGU3MDZh
ZmZkYTMwMTNlYzQ4YTM2MWVlZmQxMTc0MWNiY2NmNThlZTQuLjgxM2ViZTc2YTVlMmJlOTlkNzYw
N2NjNWU2ZTQyYjdjNGQ5ZDQxOTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkda
b29tQW5kUGFuLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHWm9vbUFuZFBhbi5jcHAK
QEAgLTIzLDUyICsyMyw0OSBAQAogI2lmIEVOQUJMRShTVkcpCiAjaW5jbHVkZSAiU1ZHWm9vbUFu
ZFBhbi5oIgogCi0jaW5jbHVkZSAiQXR0cmlidXRlLmgiCi0jaW5jbHVkZSAiU1ZHTmFtZXMuaCIK
ICNpbmNsdWRlICJTVkdQYXJzZXJVdGlsaXRpZXMuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
Ci12b2lkIFNWR1pvb21BbmRQYW46OnNldFpvb21BbmRQYW4odW5zaWduZWQgc2hvcnQgem9vbUFu
ZFBhbikKK2Jvb2wgU1ZHWm9vbUFuZFBhbjo6aXNLbm93bkF0dHJpYnV0ZShjb25zdCBRdWFsaWZp
ZWROYW1lJiBhdHRyTmFtZSkKIHsKLSAgICBtX3pvb21BbmRQYW4gPSB6b29tQW5kUGFuOworICAg
IHJldHVybiBhdHRyTmFtZSA9PSBTVkdOYW1lczo6em9vbUFuZFBhbkF0dHI7CiB9CiAKLWJvb2wg
U1ZHWm9vbUFuZFBhbjo6cGFyc2VBdHRyaWJ1dGUoY29uc3QgQXR0cmlidXRlJiBhdHRyaWJ1dGUp
Cit2b2lkIFNWR1pvb21BbmRQYW46OmFkZFN1cHBvcnRlZEF0dHJpYnV0ZXMoSGFzaFNldDxRdWFs
aWZpZWROYW1lPiYgc3VwcG9ydGVkQXR0cmlidXRlcykKIHsKLSAgICBpZiAoYXR0cmlidXRlLm5h
bWUoKSA9PSBTVkdOYW1lczo6em9vbUFuZFBhbkF0dHIpIHsKLSAgICAgICAgY29uc3QgVUNoYXIq
IHN0YXJ0ID0gYXR0cmlidXRlLnZhbHVlKCkuY2hhcmFjdGVycygpOwotICAgICAgICBjb25zdCBV
Q2hhciogZW5kID0gc3RhcnQgKyBhdHRyaWJ1dGUudmFsdWUoKS5sZW5ndGgoKTsKLSAgICAgICAg
cGFyc2Vab29tQW5kUGFuKHN0YXJ0LCBlbmQpOworICAgIHN1cHBvcnRlZEF0dHJpYnV0ZXMuYWRk
KFNWR05hbWVzOjp6b29tQW5kUGFuQXR0cik7Cit9CisKK3N0YXRpYyBjb25zdCBVQ2hhciBkaXNh
YmxlW10gPSAgeydkJywgJ2knLCAncycsICdhJywgJ2InLCAnbCcsICdlJ307CitzdGF0aWMgY29u
c3QgVUNoYXIgbWFnbmlmeVtdID0gIHsnbScsICdhJywgJ2cnLCAnbicsICdpJywgJ2YnLCAneSd9
OworCitib29sIFNWR1pvb21BbmRQYW46OnBhcnNlWm9vbUFuZFBhbihjb25zdCBVQ2hhciomIHN0
YXJ0LCBjb25zdCBVQ2hhciogZW5kLCBTVkdab29tQW5kUGFuVHlwZSYgem9vbUFuZFBhbikKK3sK
KyAgICBpZiAoc2tpcFN0cmluZyhzdGFydCwgZW5kLCBkaXNhYmxlLCBXVEZfQVJSQVlfTEVOR1RI
KGRpc2FibGUpKSkgeworICAgICAgICB6b29tQW5kUGFuID0gU1ZHWm9vbUFuZFBhbkRpc2FibGU7
CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICBpZiAoc2tpcFN0cmluZyhzdGFydCwg
ZW5kLCBtYWduaWZ5LCBXVEZfQVJSQVlfTEVOR1RIKG1hZ25pZnkpKSkgeworICAgICAgICB6b29t
QW5kUGFuID0gU1ZHWm9vbUFuZFBhbk1hZ25pZnk7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAg
IH0KLQogICAgIHJldHVybiBmYWxzZTsKIH0KIAotYm9vbCBTVkdab29tQW5kUGFuOjppc0tub3du
QXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lKQorTk9fUkVUVVJOX0RVRV9U
T19BU1NFUlQgdm9pZCBTVkdab29tQW5kUGFuOjpyZWYoKQogewotICAgIHJldHVybiBhdHRyTmFt
ZSA9PSBTVkdOYW1lczo6em9vbUFuZFBhbkF0dHI7CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
CiB9CiAKLXZvaWQgU1ZHWm9vbUFuZFBhbjo6YWRkU3VwcG9ydGVkQXR0cmlidXRlcyhIYXNoU2V0
PFF1YWxpZmllZE5hbWU+JiBzdXBwb3J0ZWRBdHRyaWJ1dGVzKQorTk9fUkVUVVJOX0RVRV9UT19B
U1NFUlQgdm9pZCBTVkdab29tQW5kUGFuOjpkZXJlZigpCiB7Ci0gICAgc3VwcG9ydGVkQXR0cmli
dXRlcy5hZGQoU1ZHTmFtZXM6Onpvb21BbmRQYW5BdHRyKTsKKyAgICBBU1NFUlRfTk9UX1JFQUNI
RUQoKTsKIH0KIAotc3RhdGljIGNvbnN0IFVDaGFyIGRpc2FibGVbXSA9ICB7J2QnLCAnaScsICdz
JywgJ2EnLCAnYicsICdsJywgJ2UnfTsKLXN0YXRpYyBjb25zdCBVQ2hhciBtYWduaWZ5W10gPSAg
eydtJywgJ2EnLCAnZycsICduJywgJ2knLCAnZicsICd5J307Ci0KLWJvb2wgU1ZHWm9vbUFuZFBh
bjo6cGFyc2Vab29tQW5kUGFuKGNvbnN0IFVDaGFyKiYgc3RhcnQsIGNvbnN0IFVDaGFyKiBlbmQp
CitOT19SRVRVUk5fRFVFX1RPX0FTU0VSVCB2b2lkIFNWR1pvb21BbmRQYW46OnNldFpvb21BbmRQ
YW4odW5zaWduZWQgc2hvcnQpCiB7Ci0gICAgaWYgKHNraXBTdHJpbmcoc3RhcnQsIGVuZCwgZGlz
YWJsZSwgV1RGX0FSUkFZX0xFTkdUSChkaXNhYmxlKSkpCi0gICAgICAgIHNldFpvb21BbmRQYW4o
U1ZHX1pPT01BTkRQQU5fRElTQUJMRSk7Ci0gICAgZWxzZSBpZiAoc2tpcFN0cmluZyhzdGFydCwg
ZW5kLCBtYWduaWZ5LCBXVEZfQVJSQVlfTEVOR1RIKG1hZ25pZnkpKSkKLSAgICAgICAgc2V0Wm9v
bUFuZFBhbihTVkdfWk9PTUFORFBBTl9NQUdOSUZZKTsKLSAgICBlbHNlCi0gICAgICAgIHJldHVy
biBmYWxzZTsKLQotICAgIHJldHVybiB0cnVlOworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwog
fQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHWm9vbUFuZFBhbi5oIGIv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR1pvb21BbmRQYW4uaAppbmRleCBlMmQ1MmY2NGRjM2Q0MGVm
MTRjZDczOWE1ZGNmYWJlZmEwNGIyNzcyLi5iNTE0N2FiOGZkNTgyNzNjZDIxZWNiODM2YWYwYzJi
ZTgxNDc2OTE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHWm9vbUFuZFBhbi5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdab29tQW5kUGFuLmgKQEAgLTIyLDQwICsyMiw2
OSBAQAogI2RlZmluZSBTVkdab29tQW5kUGFuX2gKIAogI2lmIEVOQUJMRShTVkcpCisjaW5jbHVk
ZSAiQXR0cmlidXRlLmgiCiAjaW5jbHVkZSAiUXVhbGlmaWVkTmFtZS5oIgorI2luY2x1ZGUgIlNW
R05hbWVzLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291
bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi91bmljb2RlL1VuaWNvZGUuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi1jbGFzcyBBdHRyaWJ1dGU7CitlbnVtIFNWR1pvb21BbmRQYW5UeXBlIHsKKyAg
ICBTVkdab29tQW5kUGFuVW5rbm93biA9IDAsCisgICAgU1ZHWm9vbUFuZFBhbkRpc2FibGUsCisg
ICAgU1ZHWm9vbUFuZFBhbk1hZ25pZnkKK307CiAKIGNsYXNzIFNWR1pvb21BbmRQYW4gewogcHVi
bGljOgotICAgIGVudW0gU1ZHWm9vbUFuZFBhblR5cGUgewotICAgICAgICBTVkdfWk9PTUFORFBB
Tl9VTktOT1dOID0gMCwKLSAgICAgICAgU1ZHX1pPT01BTkRQQU5fRElTQUJMRSA9IDEsCi0gICAg
ICAgIFNWR19aT09NQU5EUEFOX01BR05JRlkgPSAyCisgICAgLy8gRm9yd2FyZCBkZWNsYXJlIGVu
dW1lcmF0aW9ucyBpbiB0aGUgVzNDIG5hbWluZyBzY2hlbWUsIGZvciBJREwgZ2VuZXJhdGlvbi4K
KyAgICBlbnVtIHsKKyAgICAgICAgU1ZHX1pPT01BTkRQQU5fVU5LTk9XTiA9IFNWR1pvb21BbmRQ
YW5Vbmtub3duLAorICAgICAgICBTVkdfWk9PTUFORFBBTl9ESVNBQkxFID0gU1ZHWm9vbUFuZFBh
bkRpc2FibGUsCisgICAgICAgIFNWR19aT09NQU5EUEFOX01BR05JRlkgPSBTVkdab29tQW5kUGFu
TWFnbmlmeQogICAgIH07CiAKLSAgICBTVkdab29tQW5kUGFuKCkgOiBtX3pvb21BbmRQYW4oU1ZH
X1pPT01BTkRQQU5fTUFHTklGWSkgeyB9Ci0gICAgdmlydHVhbCB+U1ZHWm9vbUFuZFBhbigpIHsg
fQorICAgIHN0YXRpYyBib29sIGlzS25vd25BdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYp
OworICAgIHN0YXRpYyB2b2lkIGFkZFN1cHBvcnRlZEF0dHJpYnV0ZXMoSGFzaFNldDxRdWFsaWZp
ZWROYW1lPiYpOworCisgICAgc3RhdGljIFNWR1pvb21BbmRQYW5UeXBlIHBhcnNlRnJvbU51bWJl
cih1bnNpZ25lZCBzaG9ydCBudW1iZXIpCisgICAgeworICAgICAgICBpZiAoIW51bWJlciB8fCBu
dW1iZXIgPiBTVkdab29tQW5kUGFuTWFnbmlmeSkKKyAgICAgICAgICAgIHJldHVybiBTVkdab29t
QW5kUGFuVW5rbm93bjsKKyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFNWR1pvb21BbmRQYW5U
eXBlPihudW1iZXIpOworICAgIH0KIAotICAgIHVuc2lnbmVkIHNob3J0IHpvb21BbmRQYW4oKSBj
b25zdCB7IHJldHVybiBtX3pvb21BbmRQYW47IH0KLSAgICB2aXJ0dWFsIHZvaWQgc2V0Wm9vbUFu
ZFBhbih1bnNpZ25lZCBzaG9ydCB6b29tQW5kUGFuKTsKKyAgICBzdGF0aWMgYm9vbCBwYXJzZVpv
b21BbmRQYW4oY29uc3QgVUNoYXIqJiBzdGFydCwgY29uc3QgVUNoYXIqIGVuZCwgU1ZHWm9vbUFu
ZFBhblR5cGUmKTsKIAotICAgIGJvb2wgcGFyc2VBdHRyaWJ1dGUoY29uc3QgQXR0cmlidXRlJik7
Ci0gICAgYm9vbCBpc0tub3duQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmKTsKLSAgICB2
b2lkIGFkZFN1cHBvcnRlZEF0dHJpYnV0ZXMoSGFzaFNldDxRdWFsaWZpZWROYW1lPiYpOworICAg
IHRlbXBsYXRlPGNsYXNzIFNWR0VsZW1lbnRUYXJnZXQ+CisgICAgc3RhdGljIGJvb2wgcGFyc2VB
dHRyaWJ1dGUoU1ZHRWxlbWVudFRhcmdldCogdGFyZ2V0LCBjb25zdCBBdHRyaWJ1dGUmIGF0dHJp
YnV0ZSkKKyAgICB7CisgICAgICAgIEFTU0VSVCh0YXJnZXQpOworICAgICAgICBBU1NFUlQodGFy
Z2V0LT5kb2N1bWVudCgpKTsKKyAgICAgICAgaWYgKGF0dHJpYnV0ZS5uYW1lKCkgPT0gU1ZHTmFt
ZXM6Onpvb21BbmRQYW5BdHRyKSB7CisgICAgICAgICAgICBjb25zdCBVQ2hhciogc3RhcnQgPSBh
dHRyaWJ1dGUudmFsdWUoKS5jaGFyYWN0ZXJzKCk7CisgICAgICAgICAgICBjb25zdCBVQ2hhciog
ZW5kID0gc3RhcnQgKyBhdHRyaWJ1dGUudmFsdWUoKS5sZW5ndGgoKTsKKyAgICAgICAgICAgIFNW
R1pvb21BbmRQYW5UeXBlIHpvb21BbmRQYW4gPSBTVkdab29tQW5kUGFuVW5rbm93bjsKKyAgICAg
ICAgICAgIHBhcnNlWm9vbUFuZFBhbihzdGFydCwgZW5kLCB6b29tQW5kUGFuKTsKKyAgICAgICAg
ICAgIHRhcmdldC0+c2V0Wm9vbUFuZFBhbih6b29tQW5kUGFuKTsKKyAgICAgICAgICAgIHJldHVy
biB0cnVlOworICAgICAgICB9CiAKLSAgICBib29sIHBhcnNlWm9vbUFuZFBhbihjb25zdCBVQ2hh
ciomIHN0YXJ0LCBjb25zdCBVQ2hhciogZW5kKTsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAg
IH0KIAotcHJpdmF0ZToKLSAgICB1bnNpZ25lZCBzaG9ydCBtX3pvb21BbmRQYW47CisgICAgU1ZH
Wm9vbUFuZFBhblR5cGUgem9vbUFuZFBhbigpIGNvbnN0IHsgcmV0dXJuIFNWR1pvb21BbmRQYW5V
bmtub3duOyB9CisKKyAgICAvLyBUaGVzZSBtZXRob2RzIG9ubHkgZXhpc3QgdG8gYWxsb3cgdXMg
dG8gY29tcGlsZSBWOC9KU1NWR1pvb21BbmRQYW4uKi4KKyAgICAvLyBUaGVzZSBhcmUgbmV2ZXIg
Y2FsbGVkLCBhbmQgdGh1cyBBU1NFUlRfTk9UX1JFQUNIRUQuCisgICAgdm9pZCByZWYoKTsKKyAg
ICB2b2lkIGRlcmVmKCk7CisgICAgdm9pZCBzZXRab29tQW5kUGFuKHVuc2lnbmVkIHNob3J0KTsK
IH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShTVkcpCi0K
ICNlbmRpZiAvLyBTVkdab29tQW5kUGFuX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdab29tQW5kUGFuLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdab29tQW5kUGFuLmlk
bAppbmRleCBkNjBhZTBjZWQyMDZhNjQ1YjVhNTM3YmE2ZTkyZTU1NjUxYjdlOWE5Li43ZjU4ODJi
OGVjMGUxNDhmMmJmN2Y3OWFjNzliNDFjNTQ3ZGY1NmJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHWm9vbUFuZFBhbi5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1pv
b21BbmRQYW4uaWRsCkBAIC0zMCwxMyArMzAsMTEgQEAgbW9kdWxlIHN2ZyB7CiAgICAgICAgIENv
bmRpdGlvbmFsPVNWRywKICAgICAgICAgT2JqQ1Byb3RvY29sCiAgICAgXSBTVkdab29tQW5kUGFu
IHsKLSAgICAgICAgLy8gWm9vbSBhbmQgUGFuIFR5cGVzCiAgICAgICAgIGNvbnN0IHVuc2lnbmVk
IHNob3J0IFNWR19aT09NQU5EUEFOX1VOS05PV04gPSAwOwogICAgICAgICBjb25zdCB1bnNpZ25l
ZCBzaG9ydCBTVkdfWk9PTUFORFBBTl9ESVNBQkxFID0gMTsKICAgICAgICAgY29uc3QgdW5zaWdu
ZWQgc2hvcnQgU1ZHX1pPT01BTkRQQU5fTUFHTklGWSA9IDI7CiAKLSAgICAgICAgICAgICAgICAg
YXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IHpvb21BbmRQYW4KLSAgICAgICAgICAgICAgICAgICAg
IC8qc2V0dGVyIHJhaXNlcyhET01FeGNlcHRpb24pKi87CisgICAgICAgIGF0dHJpYnV0ZSB1bnNp
Z25lZCBzaG9ydCB6b29tQW5kUGFuOwogICAgIH07CiAKIH0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA4YzVhMzkyNTIzYjBh
MGYyZmU3Y2Q5NmEwNzI3ZTI2ZjUyYTc2Y2M3Li5iNTY2NzJkYmE4YTFkN2JjZWU5YTlkNjg5MDI0
YzYyZDYyMzhlMzA3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMDUtMjIgIE5pa29sYXMg
WmltbWVybWFubiAgPG56aW1tZXJtYW5uQHJpbS5jb20+CisKKyAgICAgICAgU1ZHWm9vbUFuZFBh
biBjb25zdGFudHMgYXJlIG1pc3NpbmcgZnJvbSB3aW5kb3cgb2JqZWN0CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTQ5NAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNWR1pvb21BbmRQYW4gaXMgbm93IGF2
YWlsYWJsZSBhcyBnbG9iYWwgY29uc3RydWN0b3IsIHJlYmFzZWxpbmUgcmVzdWx0cy4KKworICAg
ICAgICAqIHN2Zy9jdXN0b20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogc3ZnL2N1c3RvbS9qcy1zdmctY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiBzdmcvY3VzdG9tL2pzLXN2Zy1jb25zdHJ1Y3RvcnMuc3ZnOgorCiAyMDEyLTA1LTIyICBT
emlsYXJkIExlZGFuICA8c3psZWRhbkBpbmYudS1zemVnZWQuaHU+CiAKICAgICAgICAgW1F0XSBV
bnNraXBwZWQgYSB0ZXN0IGFuZCB1cGRhdGVkIGl0cyBleHBlY3RhdGlvbi4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3N2Zy9jdXN0b20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0
CmluZGV4IGIwYmZjNjgxMzUxZWE4Zjc5ZTM4YTgwNzc0MzA2YmIwOWYzNTE1NGMuLjcyZGVmZjU5
Mjg0MGVhYWU3YzZiYTA5MjQwYjJhNGVkOWExMjUzYjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3N2Zy9jdXN0b20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvc3ZnL2N1c3RvbS9nbG9iYWwtY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dApAQCAtMzEs
NyArMzEsNyBAQCBGQUlMIFNWR1Rlc3RzLnRvU3RyaW5nKCkgc2hvdWxkIGJlIFtvYmplY3QgU1ZH
VGVzdHNDb25zdHJ1Y3Rvcl0uIFRocmV3IGV4Y2VwdGlvbgogRkFJTCBTVkdMYW5nU3BhY2UudG9T
dHJpbmcoKSBzaG91bGQgYmUgW29iamVjdCBTVkdMYW5nU3BhY2VDb25zdHJ1Y3Rvcl0uIFRocmV3
IGV4Y2VwdGlvbiBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU1ZHTGFuZ1Nw
YWNlCiBGQUlMIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQudG9TdHJpbmcoKSBzaG91bGQg
YmUgW29iamVjdCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkQ29uc3RydWN0b3JdLiBUaHJl
dyBleGNlcHRpb24gUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFNWR0V4dGVy
bmFsUmVzb3VyY2VzUmVxdWlyZWQKIEZBSUwgU1ZHRml0VG9WaWV3Qm94LnRvU3RyaW5nKCkgc2hv
dWxkIGJlIFtvYmplY3QgU1ZHRml0VG9WaWV3Qm94Q29uc3RydWN0b3JdLiBUaHJldyBleGNlcHRp
b24gUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFNWR0ZpdFRvVmlld0JveAot
RkFJTCBTVkdab29tQW5kUGFuLnRvU3RyaW5nKCkgc2hvdWxkIGJlIFtvYmplY3QgU1ZHWm9vbUFu
ZFBhbkNvbnN0cnVjdG9yXS4gVGhyZXcgZXhjZXB0aW9uIFJlZmVyZW5jZUVycm9yOiBDYW4ndCBm
aW5kIHZhcmlhYmxlOiBTVkdab29tQW5kUGFuCitQQVNTIFNWR1pvb21BbmRQYW4udG9TdHJpbmco
KSBpcyAnW29iamVjdCBTVkdab29tQW5kUGFuQ29uc3RydWN0b3JdJwogRkFJTCBTVkdWaWV3U3Bl
Yy50b1N0cmluZygpIHNob3VsZCBiZSBbb2JqZWN0IFNWR1ZpZXdTcGVjQ29uc3RydWN0b3JdLiBU
aHJldyBleGNlcHRpb24gUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFNWR1Zp
ZXdTcGVjCiBGQUlMIFNWR1VSSVJlZmVyZW5jZS50b1N0cmluZygpIHNob3VsZCBiZSBbb2JqZWN0
IFNWR1VSSVJlZmVyZW5jZUNvbnN0cnVjdG9yXS4gVGhyZXcgZXhjZXB0aW9uIFJlZmVyZW5jZUVy
cm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTVkdVUklSZWZlcmVuY2UKIEZBSUwgU1ZHQ1NTUnVs
ZS50b1N0cmluZygpIHNob3VsZCBiZSBbb2JqZWN0IFNWR0NTU1J1bGVDb25zdHJ1Y3Rvcl0uIFRo
cmV3IGV4Y2VwdGlvbiBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU1ZHQ1NT
UnVsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9qcy1zdmctY29uc3RydWN0
b3JzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vanMtc3ZnLWNvbnN0cnVj
dG9ycy1leHBlY3RlZC50eHQKaW5kZXggYWI3ZTYzOGViMGQwN2IwNjUyZWM1OTUxNjZjMDUyMGQ0
NWZkNjZkNi4uMWI3MjI4M2VjZjFmM2I3Yjc1OGYxNDE2ZjEyMjc0ZWRmMzc5MDYxNSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9qcy1zdmctY29uc3RydWN0b3JzLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2pzLXN2Zy1jb25zdHJ1Y3RvcnMtZXhw
ZWN0ZWQudHh0CkBAIC00NCw5ICs0NCw5IEBAIFNWR0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudC5T
VkdfQ0hBTk5FTF9SIFBBU1NFRAogU1ZHRkVEaXNwbGFjZW1lbnRNYXBFbGVtZW50LlNWR19DSEFO
TkVMX0cgUEFTU0VECiBTVkdGRURpc3BsYWNlbWVudE1hcEVsZW1lbnQuU1ZHX0NIQU5ORUxfQiBQ
QVNTRUQKIFNWR0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudC5TVkdfQ0hBTk5FTF9BIFBBU1NFRAot
U1ZHRkVNb3JwaG9sb2d5RWxlbWVudC5TVkdfTU9SUEhPTE9HWV9PUEVSQVRPUl9VTktOT1dOIEVY
UEVDVEVEIEZBSUxVUkUgKGFjdHVhbDogJzAnIGV4cGVjdGVkOiAnMCcpCi1TVkdGRU1vcnBob2xv
Z3lFbGVtZW50LlNWR19NT1JQSE9MT0dZX09QRVJBVE9SX0VST0RFIEVYUEVDVEVEIEZBSUxVUkUg
KGFjdHVhbDogJzEnIGV4cGVjdGVkOiAnMScpCi1TVkdGRU1vcnBob2xvZ3lFbGVtZW50LlNWR19N
T1JQSE9MT0dZX09QRVJBVE9SX0RJTEFURSBFWFBFQ1RFRCBGQUlMVVJFIChhY3R1YWw6ICcyJyBl
eHBlY3RlZDogJzInKQorU1ZHRkVNb3JwaG9sb2d5RWxlbWVudC5TVkdfTU9SUEhPTE9HWV9PUEVS
QVRPUl9VTktOT1dOIFBBU1NFRAorU1ZHRkVNb3JwaG9sb2d5RWxlbWVudC5TVkdfTU9SUEhPTE9H
WV9PUEVSQVRPUl9FUk9ERSBQQVNTRUQKK1NWR0ZFTW9ycGhvbG9neUVsZW1lbnQuU1ZHX01PUlBI
T0xPR1lfT1BFUkFUT1JfRElMQVRFIFBBU1NFRAogU1ZHRkVUdXJidWxlbmNlRWxlbWVudC5TVkdf
VFVSQlVMRU5DRV9UWVBFX1VOS05PV04gUEFTU0VECiBTVkdGRVR1cmJ1bGVuY2VFbGVtZW50LlNW
R19UVVJCVUxFTkNFX1RZUEVfRlJBQ1RBTE5PSVNFIFBBU1NFRAogU1ZHRkVUdXJidWxlbmNlRWxl
bWVudC5TVkdfVFVSQlVMRU5DRV9UWVBFX1RVUkJVTEVOQ0UgUEFTU0VECkBAIC0xNDMsNiArMTQz
LDYgQEAgU1ZHVHJhbnNmb3JtLlNWR19UUkFOU0ZPUk1fU0tFV1kgUEFTU0VECiBTVkdVbml0VHlw
ZXMuU1ZHX1VOSVRfVFlQRV9VTktOT1dOIFBBU1NFRAogU1ZHVW5pdFR5cGVzLlNWR19VTklUX1RZ
UEVfVVNFUlNQQUNFT05VU0UgUEFTU0VECiBTVkdVbml0VHlwZXMuU1ZHX1VOSVRfVFlQRV9PQkpF
Q1RCT1VORElOR0JPWCBQQVNTRUQKLVNWR1pvb21BbmRQYW4uU1ZHX1pPT01BTkRQQU5fVU5LTk9X
TiBFWFBFQ1RFRCBGQUlMVVJFIChhY3R1YWw6ICd1bmRlZmluZWQnIGV4cGVjdGVkOiAnMCcpCi1T
Vkdab29tQW5kUGFuLlNWR19aT09NQU5EUEFOX0RJU0FCTEUgRVhQRUNURUQgRkFJTFVSRSAoYWN0
dWFsOiAndW5kZWZpbmVkJyBleHBlY3RlZDogJzEnKQotU1ZHWm9vbUFuZFBhbi5TVkdfWk9PTUFO
RFBBTl9NQUdOSUZZIEVYUEVDVEVEIEZBSUxVUkUgKGFjdHVhbDogJ3VuZGVmaW5lZCcgZXhwZWN0
ZWQ6ICcyJykKK1NWR1pvb21BbmRQYW4uU1ZHX1pPT01BTkRQQU5fVU5LTk9XTiBQQVNTRUQKK1NW
R1pvb21BbmRQYW4uU1ZHX1pPT01BTkRQQU5fRElTQUJMRSBQQVNTRUQKK1NWR1pvb21BbmRQYW4u
U1ZHX1pPT01BTkRQQU5fTUFHTklGWSBQQVNTRUQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2
Zy9jdXN0b20vanMtc3ZnLWNvbnN0cnVjdG9ycy5zdmcgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9t
L2pzLXN2Zy1jb25zdHJ1Y3RvcnMuc3ZnCmluZGV4IDM1NjMxY2RjZWEwNzljNmU2YTE1MDI0MWMz
MmVlMDMzYzUwYzJmYzEuLjg1ODcxMzcxYmFjMDk3NDg0YTdhN2UxM2U2ZjliNThmMjVlMGJiN2Mg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vanMtc3ZnLWNvbnN0cnVjdG9ycy5z
dmcKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9qcy1zdmctY29uc3RydWN0b3JzLnN2ZwpA
QCAtOTMsOSArOTMsOSBAQAogICAgICAgfQogCiAgICAgICBpZiAod2luZG93LlNWR0ZFTW9ycGhv
bG9neUVsZW1lbnQpIHsKLSAgICAgICAgICBleHBlY3RfZmFpbHVyZSgiU1ZHRkVNb3JwaG9sb2d5
RWxlbWVudC5TVkdfTU9SUEhPTE9HWV9PUEVSQVRPUl9VTktOT1dOIiwgMCk7Ci0gICAgICAgICAg
ZXhwZWN0X2ZhaWx1cmUoIlNWR0ZFTW9ycGhvbG9neUVsZW1lbnQuU1ZHX01PUlBIT0xPR1lfT1BF
UkFUT1JfRVJPREUiLCAxKTsKLSAgICAgICAgICBleHBlY3RfZmFpbHVyZSgiU1ZHRkVNb3JwaG9s
b2d5RWxlbWVudC5TVkdfTU9SUEhPTE9HWV9PUEVSQVRPUl9ESUxBVEUiLCAyKTsKKyAgICAgICAg
ICBleHBlY3QoIlNWR0ZFTW9ycGhvbG9neUVsZW1lbnQuU1ZHX01PUlBIT0xPR1lfT1BFUkFUT1Jf
VU5LTk9XTiIsIDApOworICAgICAgICAgIGV4cGVjdCgiU1ZHRkVNb3JwaG9sb2d5RWxlbWVudC5T
VkdfTU9SUEhPTE9HWV9PUEVSQVRPUl9FUk9ERSIsIDEpOworICAgICAgICAgIGV4cGVjdCgiU1ZH
RkVNb3JwaG9sb2d5RWxlbWVudC5TVkdfTU9SUEhPTE9HWV9PUEVSQVRPUl9ESUxBVEUiLCAyKTsK
ICAgICAgIH0KIAogICAgICAgaWYgKHdpbmRvdy5TVkdGRVR1cmJ1bGVuY2VFbGVtZW50KSB7CkBA
IC0yMDgsOSArMjA4LDkgQEAKICAgICAgIGV4cGVjdCgiU1ZHVW5pdFR5cGVzLlNWR19VTklUX1RZ
UEVfVVNFUlNQQUNFT05VU0UiLCAxKTsKICAgICAgIGV4cGVjdCgiU1ZHVW5pdFR5cGVzLlNWR19V
TklUX1RZUEVfT0JKRUNUQk9VTkRJTkdCT1giLCAyKTsKIAotICAgICAgZXhwZWN0X2ZhaWx1cmUo
IlNWR1pvb21BbmRQYW4uU1ZHX1pPT01BTkRQQU5fVU5LTk9XTiIsIDApOwotICAgICAgZXhwZWN0
X2ZhaWx1cmUoIlNWR1pvb21BbmRQYW4uU1ZHX1pPT01BTkRQQU5fRElTQUJMRSIsIDEpOwotICAg
ICAgZXhwZWN0X2ZhaWx1cmUoIlNWR1pvb21BbmRQYW4uU1ZHX1pPT01BTkRQQU5fTUFHTklGWSIs
IDIpOworICAgICAgZXhwZWN0KCJTVkdab29tQW5kUGFuLlNWR19aT09NQU5EUEFOX1VOS05PV04i
LCAwKTsKKyAgICAgIGV4cGVjdCgiU1ZHWm9vbUFuZFBhbi5TVkdfWk9PTUFORFBBTl9ESVNBQkxF
IiwgMSk7CisgICAgICBleHBlY3QoIlNWR1pvb21BbmRQYW4uU1ZHX1pPT01BTkRQQU5fTUFHTklG
WSIsIDIpOwogICAgIH0KICAgXV0+PC9zY3JpcHQ+ICAKIDwvc3ZnPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>143301</attachid>
            <date>2012-05-22 07:59:37 -0700</date>
            <delta_ts>2012-05-22 08:58:05 -0700</delta_ts>
            <desc>Patch v4</desc>
            <filename>bug-15494-20120522170018.patch</filename>
            <type>text/plain</type>
            <size>36015</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE3OTcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGMwODQxYzljNGMyMjNi
ZGM5ZGU1YmZhYjBhNDJjNzNlMmM1NGFhNy4uYzA1Y2ViYmU3ZWY4MjNjNWRkZDI0ZGRlOGE4YzVh
MzkyZGIyODM1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDY5IEBACiAyMDEyLTA1LTIyICBOaWtv
bGFzIFppbW1lcm1hbm4gIDxuemltbWVybWFubkByaW0uY29tPgogCisgICAgICAgIFNWR1pvb21B
bmRQYW4gY29uc3RhbnRzIGFyZSBtaXNzaW5nIGZyb20gd2luZG93IG9iamVjdAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU0OTQKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBHZW5lcmF0ZSB0aGUgU1ZHWm9v
bUFuZFBhbkNvbnN0cnVjdG9yLCBzbyB0aGF0IHRoZSBjb25zdGFudHMgZGVmaW5lZCBpbiB0aGUg
SURMCisgICAgICAgIGNhbiBiZSByZWFjaGVkIGZyb20gdGhlIGJpbmRpbmdzLiBQcm92aWRlIGEg
c3R1Yi1pbXBsZW1lbnRhdGlvbiBvZiByZWYvZGVyZWYKKyAgICAgICAgdGhhdCdzIG5ldmVyIHVz
ZWQsIGFzIHdlIGRvbid0IGFjdHVhbGx5IHVzZSBKU1NWR1pvb21BbmRQYW4gd2hpY2ggbmVlZHMg
dGhpcywgYnV0CisgICAgICAgIG9ubHkgdGhlIEpTU1ZHWm9vbUFuZFBhbkNvbnN0cnVjdG9yLgor
CisgICAgICAgIFRoaXMgaXMgYSBwcmVwYXJhdGlvbiB0b3dhcmRzIGJ1ZyAxNTQ5NSwgd2hpY2gg
Y292ZXJzIGltcGxlbWVudGluZworICAgICAgICBTVkdTVkdFbGVtZW50LmN1cnJlbnRWaWV3IGFu
ZCB0aGUgU1ZHVmlld1NwZWMgaW50ZXJmYWNlLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6
CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMuY3BwOgorICAgICAgICAqIERlcml2ZWRTb3VyY2Vz
LnByaToKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIFdlYkNvcmUu
dmNwcm9qL1dlYkNvcmUudmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvajoKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5pZGw6CisgICAgICAgICogc3Zn
L1NWR1NWR0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHU1ZHRWxlbWVudDo6U1ZH
U1ZHRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdTVkdFbGVtZW50OjpwYXJzZUF0dHJp
YnV0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdTVkdFbGVtZW50Ojp2aWV3Qm94VG9WaWV3VHJh
bnNmb3JtKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1NWR0VsZW1lbnQ6OnNldHVwSW5pdGlhbFZp
ZXcpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHU1ZHRWxlbWVudDo6aW5oZXJpdFZpZXdBdHRyaWJ1
dGVzKToKKyAgICAgICAgKiBzdmcvU1ZHU1ZHRWxlbWVudC5oOgorICAgICAgICAoU1ZHU1ZHRWxl
bWVudCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdTVkdFbGVtZW50Ojp1c2VDdXJyZW50Vmlldyk6
CisgICAgICAgIChXZWJDb3JlOjpTVkdTVkdFbGVtZW50OjpzZXRVc2VDdXJyZW50Vmlldyk6Cisg
ICAgICAgIChXZWJDb3JlOjpTVkdTVkdFbGVtZW50Ojp6b29tQW5kUGFuKToKKyAgICAgICAgKFdl
YkNvcmU6OlNWR1NWR0VsZW1lbnQ6OnNldFpvb21BbmRQYW4pOgorICAgICAgICAqIHN2Zy9TVkdW
aWV3RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdWaWV3RWxlbWVudDo6U1ZHVmll
d0VsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVmlld0VsZW1lbnQ6OnBhcnNlQXR0cmli
dXRlKToKKyAgICAgICAgKiBzdmcvU1ZHVmlld0VsZW1lbnQuaDoKKyAgICAgICAgKFNWR1ZpZXdF
bGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1ZpZXdFbGVtZW50Ojp6b29tQW5kUGFuKToK
KyAgICAgICAgKFdlYkNvcmU6OlNWR1ZpZXdFbGVtZW50OjpzZXRab29tQW5kUGFuKToKKyAgICAg
ICAgKiBzdmcvU1ZHVmlld1NwZWMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVmlld1NwZWM6
OlNWR1ZpZXdTcGVjKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1ZpZXdTcGVjOjpzZXRUcmFuc2Zv
cm1TdHJpbmcpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVmlld1NwZWM6OnBhcnNlVmlld1NwZWMp
OgorICAgICAgICAqIHN2Zy9TVkdWaWV3U3BlYy5oOgorICAgICAgICAoU1ZHVmlld1NwZWMpOgor
ICAgICAgICAoV2ViQ29yZTo6U1ZHVmlld1NwZWM6OnRyYW5zZm9ybUJhc2VWYWx1ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpTVkdWaWV3U3BlYzo6em9vbUFuZFBhbik6CisgICAgICAgIChXZWJDb3Jl
OjpTVkdWaWV3U3BlYzo6c2V0Wm9vbUFuZFBhbkJhc2VWYWx1ZSk6CisgICAgICAgICogc3ZnL1NW
R1pvb21BbmRQYW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHWm9vbUFuZFBhbjo6aXNLbm93
bkF0dHJpYnV0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdab29tQW5kUGFuOjphZGRTdXBwb3J0
ZWRBdHRyaWJ1dGVzKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1pvb21BbmRQYW46OnBhcnNlWm9v
bUFuZFBhbik6CisgICAgICAgIChXZWJDb3JlOjpTVkdab29tQW5kUGFuOjpyZWYpOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHWm9vbUFuZFBhbjo6ZGVyZWYpOgorICAgICAgICAoV2ViQ29yZTo6U1ZH
Wm9vbUFuZFBhbjo6c2V0Wm9vbUFuZFBhbik6CisgICAgICAgICogc3ZnL1NWR1pvb21BbmRQYW4u
aDoKKyAgICAgICAgKFNWR1pvb21BbmRQYW4pOgorICAgICAgICAoV2ViQ29yZTo6U1ZHWm9vbUFu
ZFBhbjo6cGFyc2VGcm9tTnVtYmVyKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1pvb21BbmRQYW46
OnBhcnNlQXR0cmlidXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1pvb21BbmRQYW46Onpvb21B
bmRQYW4pOgorICAgICAgICAqIHN2Zy9TVkdab29tQW5kUGFuLmlkbDoKKworMjAxMi0wNS0yMiAg
Tmlrb2xhcyBaaW1tZXJtYW5uICA8bnppbW1lcm1hbm5AcmltLmNvbT4KKwogICAgICAgICBDcmFz
aCBpbiBXZWJDb3JlOjpSZW5kZXJTVkdDb250YWluZXI6OnBhaW50CiAgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NjM5MgogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0
CmluZGV4IGU3OWI3ZTgwMjI1ZGFhYjg5MmNjZjcxZGIzMmZlZDlkODgxMWI3ZmQuLjczYTllZjU0
MjQ5MGI2MDRkNjI2NDQzNTg3NjhlZGU2ZWJlM2Q1ZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBA
IC0yMTI5LDYgKzIxMjksNyBAQCBJRiAoRU5BQkxFX1NWRykKICAgICAgICAgc3ZnL1NWR1VzZUVs
ZW1lbnQuaWRsCiAgICAgICAgIHN2Zy9TVkdWaWV3RWxlbWVudC5pZGwKICAgICAgICAgc3ZnL1NW
R1ZLZXJuRWxlbWVudC5pZGwKKyAgICAgICAgc3ZnL1NWR1pvb21BbmRQYW4uaWRsCiAgICAgICAg
IHN2Zy9TVkdab29tRXZlbnQuaWRsCiAgICAgKQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAK
aW5kZXggOTg4ZDU4MjY3ZDdlOTM1ZWY2YjAyN2M0OTEyOWZhZDgxYjhiMTBkYy4uZmYzNDM0NDBk
OWM0NzIwYjc2OTc4Yzk2ZmFjZTkyNTRiMTY4YTQ0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
LmNwcApAQCAtNDM4LDYgKzQzOCw3IEBACiAjaW5jbHVkZSAiSlNTVkdVc2VFbGVtZW50LmNwcCIK
ICNpbmNsdWRlICJKU1NWR1ZpZXdFbGVtZW50LmNwcCIKICNpbmNsdWRlICJKU1NWR1ZLZXJuRWxl
bWVudC5jcHAiCisjaW5jbHVkZSAiSlNTVkdab29tQW5kUGFuLmNwcCIKICNpbmNsdWRlICJKU1NW
R1pvb21FdmVudC5jcHAiCiAjaW5jbHVkZSAiSlNUZXh0LmNwcCIKICNpbmNsdWRlICJKU1RleHRF
dmVudC5jcHAiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkg
Yi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkKaW5kZXggYWQwNzgzZjBlYTI1MzAz
N2E4MDAzYmI0ZmVjOWYzOTQ1ZjdjZDE2OS4uZGMzNTIxMjg0NjBlMTNmNjAzMTZlMDFiNWNjNWJj
MzhjNGIzZTA5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJp
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQpAQCAtNDY1LDcgKzQ2NSw2
IEBAIHY4IHsKIAogY29udGFpbnMoREVGSU5FUywgRU5BQkxFX1NWRz0xKSB7CiAgIElETF9CSU5E
SU5HUyArPSBcCi0gICAgJCRQV0Qvc3ZnL1NWR1pvb21FdmVudC5pZGwgXAogICAgICQkUFdEL3N2
Zy9TVkdBRWxlbWVudC5pZGwgXAogICAgICQkUFdEL3N2Zy9TVkdBbHRHbHlwaERlZkVsZW1lbnQu
aWRsIFwKICAgICAkJFBXRC9zdmcvU1ZHQWx0R2x5cGhFbGVtZW50LmlkbCBcCkBAIC02MDUsNyAr
NjA0LDkgQEAgY29udGFpbnMoREVGSU5FUywgRU5BQkxFX1NWRz0xKSB7CiAgICAgJCRQV0Qvc3Zn
L1NWR1VuaXRUeXBlcy5pZGwgXAogICAgICQkUFdEL3N2Zy9TVkdVc2VFbGVtZW50LmlkbCBcCiAg
ICAgJCRQV0Qvc3ZnL1NWR1ZpZXdFbGVtZW50LmlkbCBcCi0gICAgJCRQV0Qvc3ZnL1NWR1ZLZXJu
RWxlbWVudC5pZGwKKyAgICAkJFBXRC9zdmcvU1ZHVktlcm5FbGVtZW50LmlkbCBcCisgICAgJCRQ
V0Qvc3ZnL1NWR1pvb21BbmRQYW4uaWRsIFwKKyAgICAkJFBXRC9zdmcvU1ZHWm9vbUV2ZW50Lmlk
bAogfQogCiBjb250YWlucyhERUZJTkVTLCBFTkFCTEVfVklERU9fVFJBQ0s9MSkgewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3Jl
L0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggMzQ3OTE1ODQxODllOWUxOGRlYzYzYWM3NTVkNzlk
MTI0NGQ1NzFlMC4uYjY1NDcyYzMwZTZhNTk0OGQzYWZhNjkwOGMwZGFjZDUyN2M0MzUwNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC01MzgzLDYgKzUzODMsNyBAQCB3ZWJjb3Jl
X2J1aWx0X3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNTVkdWaWV3U3Bl
Yy5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTU1ZHVktlcm5FbGVtZW50LmNwcCBcCiAJ
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1NWR1ZLZXJuRWxlbWVudC5oIFwKKwlEZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTU1ZHWm9vbUFuZFBhbi5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNTVkdab29tQW5kUGFuLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNTVkdab29t
RXZlbnQuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTU1ZHWm9vbUV2ZW50LmgKQEAg
LTU1MjgsNiArNTUyOSw3IEBAIGRvbV9iaW5kaW5nX2lkbHMgKz0gXAogCSQoV2ViQ29yZSkvc3Zn
L1NWR1VzZUVsZW1lbnQuaWRsIFwKIAkkKFdlYkNvcmUpL3N2Zy9TVkdWS2VybkVsZW1lbnQuaWRs
IFwKIAkkKFdlYkNvcmUpL3N2Zy9TVkdWaWV3RWxlbWVudC5pZGwgXAorCSQoV2ViQ29yZSkvc3Zn
L1NWR1pvb21BbmRQYW4uaWRsIFwKIAkkKFdlYkNvcmUpL3N2Zy9TVkdab29tRXZlbnQuaWRsCiBl
bmRpZiAjIEVORCBFTkFCTEVfU1ZHCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ov
V2ViQ29yZS52Y3Byb2oKaW5kZXggZDYwMmZiN2Q5NzFiOGE1M2VkYjU5OTI0Mzc0ZmZlNjc4Mzkz
Yzg4Mi4uNTExOGEyNGQwZDIyZDQyNmMwNzQ3MWViNjNiNWQyYTQ5NGM3NTNmYSAxMDA3NTUKLS0t
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTIxODM0LDYgKzIx
ODM0LDYzIEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9
IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJj
ZXNcSlNTVkdab29tQW5kUGFuLmNwcCIKKwkJCQk+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJ
CQkJCU5hbWU9IkRlYnVnfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJ
CQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4K
KwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlO
YW1lPSJSZWxlYXNlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJ
PgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJ
CQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1l
PSJEZWJ1Z19DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVl
IgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJ
CQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJ
CQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21C
dWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVy
VG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmln
dXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1
aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJU
b29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1
cmF0aW9uCisJCQkJCU5hbWU9IlByb2R1Y3Rpb258V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1
aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJU
b29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQk8L0ZpbGU+CisJCQk8
RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFBy
b2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU1NWR1pvb21BbmRQYW4uaCIKKwkJCQk+CisJCQk8
L0ZpbGU+CisKKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWls
ZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTU1ZHWm9vbUV2ZW50LmNw
cCIKIAkJCQk+CiAJCQkJPEZpbGVDb25maWd1cmF0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNDEyYjU3MTJlMmEyMGFlYjAx
YzBlYmM4OWU4MGVkYmEyZWRhNGNmYS4uYmVkMmViZTU2OTU0NDc1NjNmY2EwNGI0NDRiYzJiNDc3
MTA3YmVlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagpAQCAtMTgwOCw2ICsxODA4LDggQEAKIAkJNzFBNTdERjExNTRCRTI1QzAwMDlE
MTIwIC8qIFNWR1BhdGhVdGlsaXRpZXMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNzFBNTdERUYxNTRCRTI1QzAwMDlEMTIwIC8qIFNWR1BhdGhVdGls
aXRpZXMuY3BwICovOyB9OwogCQk3MUE1N0RGMjE1NEJFMjVDMDAwOUQxMjAgLyogU1ZHUGF0aFV0
aWxpdGllcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NzFBNTdERjAxNTRCRTI1QzAwMDlEMTIwIC8qIFNWR1BhdGhVdGlsaXRpZXMuaCAqLzsgfTsKIAkJ
NzFDQzdBMjAxNTJBMEJGRTAwOUVFQUY5IC8qIFNWR0FuaW1hdGVkRW51bWVyYXRpb24uY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzFDQzdBMUYxNTJB
MEJGRTAwOUVFQUY5IC8qIFNWR0FuaW1hdGVkRW51bWVyYXRpb24uY3BwICovOyB9OworCQk3MURD
QjcwMTE1NjgxOTc2MDA4NjIyNzEgLyogSlNTVkdab29tQW5kUGFuLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcxRENCNkZGMTU2ODE5NzYwMDg2MjI3
MSAvKiBKU1NWR1pvb21BbmRQYW4uY3BwICovOyB9OworCQk3MURDQjcwMjE1NjgxOTc2MDA4NjIy
NzEgLyogSlNTVkdab29tQW5kUGFuLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA3MURDQjcwMDE1NjgxOTc2MDA4NjIyNzEgLyogSlNTVkdab29tQW5kUGFu
LmggKi87IH07CiAJCTcxRTYyM0QxMTUxRjcyQTYwMDM2RTJGNCAvKiBTVkdBbmltYXRlZEludGVn
ZXJPcHRpb25hbEludGVnZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDcxRTYyM0NGMTUxRjcyQTYwMDM2RTJGNCAvKiBTVkdBbmltYXRlZEludGVnZXJP
cHRpb25hbEludGVnZXIuaCAqLzsgfTsKIAkJNzFGQjk2N0IxMzgzRDY0NjAwQUM4QTRDIC8qIFNW
R0FuaW1hdGVkRW51bWVyYXRpb25Qcm9wZXJ0eVRlYXJPZmYuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcxRkI5NjdBMTM4M0Q2NDYwMEFDOEE0QyAvKiBT
VkdBbmltYXRlZEVudW1lcmF0aW9uUHJvcGVydHlUZWFyT2ZmLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNzI2MjZFMDIwRUYwMjJGRTAwQTA3RTIw
IC8qIEZvbnRGYXN0UGF0aC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA3MjYyNkUwMTBFRjAyMkZFMDBBMDdFMjAgLyogRm9udEZhc3RQYXRoLmNwcCAq
LzsgfTsKQEAgLTg4NDgsNiArODg1MCw4IEBACiAJCTcxQTU3REVGMTU0QkUyNUMwMDA5RDEyMCAv
KiBTVkdQYXRoVXRpbGl0aWVzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFNWR1BhdGhVdGlsaXRpZXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3
MUE1N0RGMDE1NEJFMjVDMDAwOUQxMjAgLyogU1ZHUGF0aFV0aWxpdGllcy5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdQYXRoVXRpbGl0aWVzLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTcxQ0M3QTFGMTUyQTBCRkUwMDlFRUFGOSAvKiBTVkdBbmltYXRlZEVu
dW1lcmF0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNWR0Fu
aW1hdGVkRW51bWVyYXRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3MURD
QjZGRjE1NjgxOTc2MDA4NjIyNzEgLyogSlNTVkdab29tQW5kUGFuLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTU1ZHWm9vbUFuZFBhbi5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTcxRENCNzAwMTU2ODE5NzYwMDg2MjI3MSAvKiBKU1NWR1pvb21B
bmRQYW4uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNTVkdab29tQW5kUGFu
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTcxRTYyM0NFMTUxRjcyQTYwMDM2RTJG
NCAvKiBTVkdBbmltYXRlZEludGVnZXJPcHRpb25hbEludGVnZXIuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU1ZHQW5pbWF0ZWRJbnRlZ2VyT3B0aW9uYWxJbnRlZ2Vy
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzFFNjIzQ0YxNTFGNzJBNjAwMzZF
MkY0IC8qIFNWR0FuaW1hdGVkSW50ZWdlck9wdGlvbmFsSW50ZWdlci5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBTVkdBbmltYXRlZEludGVnZXJPcHRpb25hbEludGVnZXIuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzFGQjk2N0ExMzgzRDY0NjAwQUM4QTRDIC8q
IFNWR0FuaW1hdGVkRW51bWVyYXRpb25Qcm9wZXJ0eVRlYXJPZmYuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gU1ZHQW5pbWF0ZWRFbnVtZXJhdGlvblByb3BlcnR5VGVhck9mZi5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTgzNjEsNiArMTgzNjUsOCBAQAogCQkJ
CUIyRkEzRDJGMEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NWR1ZpZXdFbGVtZW50LmggKi8sCiAJCQkJ
ODQ4NTIyNzkxMTkwMTYyQzAwNkVEQzdGIC8qIEpTU1ZHVktlcm5FbGVtZW50LmNwcCAqLywKIAkJ
CQk4NDg1MjI3QTExOTAxNjJDMDA2RURDN0YgLyogSlNTVkdWS2VybkVsZW1lbnQuaCAqLywKKwkJ
CQk3MURDQjZGRjE1NjgxOTc2MDA4NjIyNzEgLyogSlNTVkdab29tQW5kUGFuLmNwcCAqLywKKwkJ
CQk3MURDQjcwMDE1NjgxOTc2MDA4NjIyNzEgLyogSlNTVkdab29tQW5kUGFuLmggKi8sCiAJCQkJ
QjJGQTNEMzAwQUI3NUE2RjAwMEU1QUM0IC8qIEpTU1ZHWm9vbUV2ZW50LmNwcCAqLywKIAkJCQlC
MkZBM0QzMTBBQjc1QTZGMDAwRTVBQzQgLyogSlNTVkdab29tRXZlbnQuaCAqLywKIAkJCSk7CkBA
IC0yNDkxNyw2ICsyNDkyMyw3IEBACiAJCQkJMjlBMzA5QjExNTYxQ0FDNDAwQkJEOEU1IC8qIFZp
c2l0ZWRMaW5rcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkRCMDUyRTAxNTYxQTQyQzAwQjUwMEQ2
IC8qIEF1ZGlvU3VtbWluZ0p1bmN0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQkzNzE5NDE5NzE1
NjZCMzcyMDBBMjc2RDggLyogV2ViQ29yZU5TQ2VsbEV4dHJhcy5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJNzFEQ0I3MDIxNTY4MTk3NjAwODYyMjcxIC8qIEpTU1ZHWm9vbUFuZFBhbi5oIGluIEhlYWRl
cnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7
CiAJCX07CkBAIC0yNzk0Myw2ICsyNzk1MCw3IEBACiAJCQkJRkRCMDUyREYxNTYxQTQyQzAwQjUw
MEQ2IC8qIEF1ZGlvU3VtbWluZ0p1bmN0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTM3MTk0
MTk2MTU2NkIzNzIwMEEyNzZEOCAvKiBXZWJDb3JlTlNDZWxsRXh0cmFzLm0gaW4gU291cmNlcyAq
LywKIAkJCQkxNDZDQzExNTE1Njk4OEU0MDAxMDlFMzcgLyogTGVuZ3RoQm94LmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCTcxRENCNzAxMTU2ODE5NzYwMDg2MjI3MSAvKiBKU1NWR1pvb21BbmRQYW4u
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJv
Y2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9neXAvV2ViQ29y
ZS5neXAgYi9Tb3VyY2UvV2ViQ29yZS9neXAvV2ViQ29yZS5neXAKaW5kZXggNjFmYjNjY2Y3ZTk2
MTg4NjliMWQ0ZTJiOWNkNjg3OTY2YjM2YzllNi4uYzBkNGE3YzhkN2ZjMWU3MjVhZWE3M2I5YWEz
ZWZiMGQwYjBkMDBiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZ3lwL1dlYkNvcmUuZ3lw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2d5cC9XZWJDb3JlLmd5cApAQCAtMTIzLDcgKzEyMyw2IEBA
CiAgICAgICAgIFsnZXhjbHVkZScsICdKU1NWR1Rlc3RzXFwuKGNwcHxoKSddLAogICAgICAgICBb
J2V4Y2x1ZGUnLCAnSlNTVkdUcmFuc2Zvcm1hYmxlXFwuKGNwcHxoKSddLAogICAgICAgICBbJ2V4
Y2x1ZGUnLCAnSlNTVkdVUklSZWZlcmVuY2VcXC4oY3BwfGgpJ10sCi0gICAgICAgIFsnZXhjbHVk
ZScsICdKU1NWR1pvb21BbmRQYW5cXC4oY3BwfGgpJ10sCiAgICAgICAgIFsnZXhjbHVkZScsICd0
b2tlbml6ZXJcXC5jcHAnXSwKIAogICAgICAgICBbJ2V4Y2x1ZGUnLCAnQWxsSW5PbmVcXC5jcHAk
J10sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKaW5kZXggNTk3ZDA3ZDk0MWE3YWUxNTBhMmMx
NThiNDU4YTM1ZTMyYTFlYWRmZS4uOTRjZWQwMWM1YTk5YjI4NjU1ZTFmMDRjZWY4Y2FmZDgxNzM0
OTdlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbApAQCAtNzA5LDYgKzcwOSw3IEBAIG1v
ZHVsZSB3aW5kb3cgewogICAgICAgICBhdHRyaWJ1dGUgU1ZHVXNlRWxlbWVudENvbnN0cnVjdG9y
IFNWR1VzZUVsZW1lbnQ7CiAgICAgICAgIGF0dHJpYnV0ZSBTVkdWaWV3RWxlbWVudENvbnN0cnVj
dG9yIFNWR1ZpZXdFbGVtZW50OwogLy8gICAgICBhdHRyaWJ1dGUgU1ZHVmlld1NwZWNDb25zdHJ1
Y3RvciBTVkdWaWV3U3BlYzsKKyAgICAgICAgYXR0cmlidXRlIFNWR1pvb21BbmRQYW5Db25zdHJ1
Y3RvciBTVkdab29tQW5kUGFuOwogCiAgICAgICAgIGF0dHJpYnV0ZSBTVkdBbmltYXRlQ29sb3JF
bGVtZW50Q29uc3RydWN0b3IgU1ZHQW5pbWF0ZUNvbG9yRWxlbWVudDsKICAgICAgICAgYXR0cmli
dXRlIFNWR0FuaW1hdGVFbGVtZW50Q29uc3RydWN0b3IgU1ZHQW5pbWF0ZUVsZW1lbnQ7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0RvY3VtZW50LmNwcAppbmRleCBjMjllZGUzNjkyMWJkMmNlNzU5NTVjNDdkOTM3
ZmRlYjc0NDMyMzNmLi5mZjc3NGQyZWE5ODhkZmRmMzA5ZmM0NjNiMGI4Mzg2MDg3YjhmYzM2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdEb2N1bWVudC5jcHAKQEAgLTczLDkgKzczLDkgQEAgYm9vbCBTVkdE
b2N1bWVudDo6em9vbUFuZFBhbkVuYWJsZWQoKSBjb25zdAogICAgIGlmIChyb290RWxlbWVudCgp
KSB7CiAgICAgICAgIGlmIChyb290RWxlbWVudCgpLT51c2VDdXJyZW50VmlldygpKSB7CiAgICAg
ICAgICAgICBpZiAocm9vdEVsZW1lbnQoKS0+Y3VycmVudFZpZXcoKSkKLSAgICAgICAgICAgICAg
ICByZXR1cm4gcm9vdEVsZW1lbnQoKS0+Y3VycmVudFZpZXcoKS0+em9vbUFuZFBhbigpID09IFNW
R1pvb21BbmRQYW46OlNWR19aT09NQU5EUEFOX01BR05JRlk7CisgICAgICAgICAgICAgICAgcmV0
dXJuIHJvb3RFbGVtZW50KCktPmN1cnJlbnRWaWV3KCktPnpvb21BbmRQYW4oKSA9PSBTVkdab29t
QW5kUGFuTWFnbmlmeTsKICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICByZXR1cm4gcm9vdEVs
ZW1lbnQoKS0+em9vbUFuZFBhbigpID09IFNWR1pvb21BbmRQYW46OlNWR19aT09NQU5EUEFOX01B
R05JRlk7CisgICAgICAgICAgICByZXR1cm4gcm9vdEVsZW1lbnQoKS0+em9vbUFuZFBhbigpID09
IFNWR1pvb21BbmRQYW5NYWduaWZ5OwogICAgIH0KIAogICAgIHJldHVybiBmYWxzZTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdTVkdFbGVtZW50LmNwcAppbmRleCA4ZTBmMjEwZmY3MzFjOTg4ODJlZjA3YzZh
ZWIzY2I0YjIwZmRkODRhLi43ZjFiNmM3ZmM4YzI1ODhkNjc1Mzc4MjVmNjA4MTMwZGVhNTk0NzU2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU1ZHRWxlbWVudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR1NWR0VsZW1lbnQuY3BwCkBAIC01Miw2ICs1Miw3IEBACiAj
aW5jbHVkZSAiU1ZHVHJhbnNmb3JtTGlzdC5oIgogI2luY2x1ZGUgIlNWR1ZpZXdFbGVtZW50Lmgi
CiAjaW5jbHVkZSAiU1ZHVmlld1NwZWMuaCIKKyNpbmNsdWRlICJTVkdab29tQW5kUGFuLmgiCiAj
aW5jbHVkZSAiU1ZHWm9vbUV2ZW50LmgiCiAjaW5jbHVkZSAiU2NyaXB0RXZlbnRMaXN0ZW5lci5o
IgogI2luY2x1ZGUgIlN0YXRpY05vZGVMaXN0LmgiCkBAIC04Nyw2ICs4OCw3IEBAIGlubGluZSBT
VkdTVkdFbGVtZW50OjpTVkdTVkdFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUs
IERvY3VtZW50KiBkb2MpCiAgICAgLCBtX3dpZHRoKExlbmd0aE1vZGVXaWR0aCwgIjEwMCUiKQog
ICAgICwgbV9oZWlnaHQoTGVuZ3RoTW9kZUhlaWdodCwgIjEwMCUiKSAKICAgICAsIG1fdXNlQ3Vy
cmVudFZpZXcoZmFsc2UpCisgICAgLCBtX3pvb21BbmRQYW4oU1ZHWm9vbUFuZFBhbk1hZ25pZnkp
CiAgICAgLCBtX3RpbWVDb250YWluZXIoU01JTFRpbWVDb250YWluZXI6OmNyZWF0ZSh0aGlzKSkK
IHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShTVkdOYW1lczo6c3ZnVGFnKSk7CkBAIC0xNjgsMTYg
KzE3MCw2IEBAIGZsb2F0IFNWR1NWR0VsZW1lbnQ6OnNjcmVlblBpeGVsVG9NaWxsaW1ldGVyWSgp
IGNvbnN0CiAgICAgcmV0dXJuIHBpeGVsVW5pdFRvTWlsbGltZXRlclkoKTsKIH0KIAotYm9vbCBT
VkdTVkdFbGVtZW50Ojp1c2VDdXJyZW50VmlldygpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fdXNl
Q3VycmVudFZpZXc7Ci19Ci0KLXZvaWQgU1ZHU1ZHRWxlbWVudDo6c2V0VXNlQ3VycmVudFZpZXco
Ym9vbCBjdXJyZW50VmlldykKLXsKLSAgICBtX3VzZUN1cnJlbnRWaWV3ID0gY3VycmVudFZpZXc7
Ci19Ci0KIFNWR1ZpZXdTcGVjKiBTVkdTVkdFbGVtZW50OjpjdXJyZW50VmlldygpIGNvbnN0CiB7
CiAgICAgaWYgKCFtX3ZpZXdTcGVjKQpAQCAtMjc4LDcgKzI3MCw3IEBAIHZvaWQgU1ZHU1ZHRWxl
bWVudDo6cGFyc2VBdHRyaWJ1dGUoY29uc3QgQXR0cmlidXRlJiBhdHRyaWJ1dGUpCiAgICAgICAg
ICAgICAgICB8fCBTVkdMYW5nU3BhY2U6OnBhcnNlQXR0cmlidXRlKGF0dHJpYnV0ZSkKICAgICAg
ICAgICAgICAgIHx8IFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQ6OnBhcnNlQXR0cmlidXRl
KGF0dHJpYnV0ZSkKICAgICAgICAgICAgICAgIHx8IFNWR0ZpdFRvVmlld0JveDo6cGFyc2VBdHRy
aWJ1dGUoZG9jdW1lbnQoKSwgYXR0cmlidXRlKQotICAgICAgICAgICAgICAgfHwgU1ZHWm9vbUFu
ZFBhbjo6cGFyc2VBdHRyaWJ1dGUoYXR0cmlidXRlKSkgeworICAgICAgICAgICAgICAgfHwgU1ZH
Wm9vbUFuZFBhbjo6cGFyc2VBdHRyaWJ1dGUodGhpcywgYXR0cmlidXRlKSkgewogICAgIH0gZWxz
ZQogICAgICAgICBTVkdTdHlsZWRMb2NhdGFibGVFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZShhdHRy
aWJ1dGUpOwogCkBAIC02NTcsNyArNjQ5LDcgQEAgQWZmaW5lVHJhbnNmb3JtIFNWR1NWR0VsZW1l
bnQ6OnZpZXdCb3hUb1ZpZXdUcmFuc2Zvcm0oZmxvYXQgdmlld1dpZHRoLCBmbG9hdCB2aWUKICAg
ICBBZmZpbmVUcmFuc2Zvcm0gY3RtID0gU1ZHRml0VG9WaWV3Qm94Ojp2aWV3Qm94VG9WaWV3VHJh
bnNmb3JtKGN1cnJlbnRWaWV3Qm94UmVjdCgpLCBwcmVzZXJ2ZUFzcGVjdFJhdGlvKCksIHZpZXdX
aWR0aCwgdmlld0hlaWdodCk7CiAgICAgaWYgKHVzZUN1cnJlbnRWaWV3KCkgJiYgY3VycmVudFZp
ZXcoKSkgewogICAgICAgICBBZmZpbmVUcmFuc2Zvcm0gdHJhbnNmb3JtOwotICAgICAgICBpZiAo
Y3VycmVudFZpZXcoKS0+dHJhbnNmb3JtKCkuY29uY2F0ZW5hdGUodHJhbnNmb3JtKSkKKyAgICAg
ICAgaWYgKGN1cnJlbnRWaWV3KCktPnRyYW5zZm9ybUJhc2VWYWx1ZSgpLmNvbmNhdGVuYXRlKHRy
YW5zZm9ybSkpCiAgICAgICAgICAgICBjdG0gKj0gdHJhbnNmb3JtOwogICAgIH0KIApAQCAtNjg4
LDcgKzY4MCw3IEBAIHZvaWQgU1ZHU1ZHRWxlbWVudDo6c2V0dXBJbml0aWFsVmlldyhjb25zdCBT
dHJpbmcmIGZyYWdtZW50SWRlbnRpZmllciwgRWxlbWVudCoKICAgICAgICAgaWYgKCFtX3VzZUN1
cnJlbnRWaWV3KQogICAgICAgICAgICAgcmV0dXJuOwogICAgIH0gZWxzZSBpZiAoIW1fdXNlQ3Vy
cmVudFZpZXcpCi0gICAgICAgIGN1cnJlbnRWaWV3KCktPnNldFRyYW5zZm9ybShlbXB0eVN0cmlu
ZygpKTsKKyAgICAgICAgY3VycmVudFZpZXcoKS0+c2V0VHJhbnNmb3JtU3RyaW5nKGVtcHR5U3Ry
aW5nKCkpOwogCiAgICAgLy8gRm9yY2UgYSBsYXlvdXQsIG90aGVyd2lzZSBSZW5kZXJTVkdSb290
cyBsb2NhbFRvQm9yZGVyQm94VHJhbnNmb3JtIHdvbid0IGJlIHJlYnVpbGQuCiAgICAgaWYgKFJl
bmRlck9iamVjdCogb2JqZWN0ID0gcmVuZGVyZXIoKSkKQEAgLTcxMyw3ICs3MDUsNyBAQCB2b2lk
IFNWR1NWR0VsZW1lbnQ6OmluaGVyaXRWaWV3QXR0cmlidXRlcyhTVkdWaWV3RWxlbWVudCogdmll
d0VsZW1lbnQpCiAgICAgY3VycmVudFZpZXcoKS0+c2V0UHJlc2VydmVBc3BlY3RSYXRpb0Jhc2VW
YWx1ZShhc3BlY3RSYXRpbyk7CiAKICAgICBpZiAodmlld0VsZW1lbnQtPmhhc0F0dHJpYnV0ZShT
VkdOYW1lczo6em9vbUFuZFBhbkF0dHIpKQotICAgICAgICBjdXJyZW50VmlldygpLT5zZXRab29t
QW5kUGFuKHZpZXdFbGVtZW50LT56b29tQW5kUGFuKCkpOworICAgICAgICBjdXJyZW50Vmlldygp
LT5zZXRab29tQW5kUGFuQmFzZVZhbHVlKHZpZXdFbGVtZW50LT56b29tQW5kUGFuKCkpOwogICAg
IAogICAgIGlmIChSZW5kZXJPYmplY3QqIG9iamVjdCA9IHJlbmRlcmVyKCkpCiAgICAgICAgIFJl
bmRlclNWR1Jlc291cmNlOjptYXJrRm9yTGF5b3V0QW5kUGFyZW50UmVzb3VyY2VJbnZhbGlkYXRp
b24ob2JqZWN0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU1ZHRWxlbWVudC5oCmluZGV4IDZlYWQ3OGJkMjg0
MGQ1ODk4NjE5NjY1ZjhkMmNhMjJiMWM4YzdjNDMuLjFmYWU3N2RjZDFlODVjNmM0YTY3Zjc1YTdj
NmMwNWJhYjUxMDliMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTVkdFbGVt
ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1NWR0VsZW1lbnQuaApAQCAtNTEsNiAr
NTEsOSBAQCBjbGFzcyBTVkdTVkdFbGVtZW50IDogcHVibGljIFNWR1N0eWxlZExvY2F0YWJsZUVs
ZW1lbnQsCiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8U1ZHU1ZHRWxlbWVudD4gY3Jl
YXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCopOwogCisgICAgdXNpbmcgU1ZHU3R5
bGVkTG9jYXRhYmxlRWxlbWVudDo6cmVmOworICAgIHVzaW5nIFNWR1N0eWxlZExvY2F0YWJsZUVs
ZW1lbnQ6OmRlcmVmOworCiAgICAgdmlydHVhbCBib29sIGlzVmFsaWQoKSBjb25zdCB7IHJldHVy
biBTVkdUZXN0czo6aXNWYWxpZCgpOyB9CiAgICAgdmlydHVhbCBib29sIHN1cHBvcnRzRm9jdXMo
KSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiAKQEAgLTY4LDggKzcxLDggQEAgcHVibGljOgogICAg
IGZsb2F0IHNjcmVlblBpeGVsVG9NaWxsaW1ldGVyWCgpIGNvbnN0OwogICAgIGZsb2F0IHNjcmVl
blBpeGVsVG9NaWxsaW1ldGVyWSgpIGNvbnN0OwogCi0gICAgYm9vbCB1c2VDdXJyZW50Vmlldygp
IGNvbnN0OwotICAgIHZvaWQgc2V0VXNlQ3VycmVudFZpZXcoYm9vbCBjdXJyZW50Vmlldyk7Cisg
ICAgYm9vbCB1c2VDdXJyZW50VmlldygpIGNvbnN0IHsgcmV0dXJuIG1fdXNlQ3VycmVudFZpZXc7
IH0KKyAgICB2b2lkIHNldFVzZUN1cnJlbnRWaWV3KGJvb2wgY3VycmVudFZpZXcpIHsgbV91c2VD
dXJyZW50VmlldyA9IGN1cnJlbnRWaWV3OyB9CiAKICAgICBTVkdWaWV3U3BlYyogY3VycmVudFZp
ZXcoKSBjb25zdDsKIApAQCAtMTMxLDYgKzEzNCw5IEBAIHB1YmxpYzoKICAgICBib29sIHdpZHRo
QXR0cmlidXRlRXN0YWJsaXNoZXNWaWV3cG9ydCgpIGNvbnN0OwogICAgIGJvb2wgaGVpZ2h0QXR0
cmlidXRlRXN0YWJsaXNoZXNWaWV3cG9ydCgpIGNvbnN0OwogCisgICAgU1ZHWm9vbUFuZFBhblR5
cGUgem9vbUFuZFBhbigpIGNvbnN0IHsgcmV0dXJuIG1fem9vbUFuZFBhbjsgfQorICAgIHZvaWQg
c2V0Wm9vbUFuZFBhbih1bnNpZ25lZCBzaG9ydCB6b29tQW5kUGFuKSB7IG1fem9vbUFuZFBhbiA9
IFNWR1pvb21BbmRQYW46OnBhcnNlRnJvbU51bWJlcih6b29tQW5kUGFuKTsgfQorCiBwcm90ZWN0
ZWQ6CiAgICAgdmlydHVhbCB2b2lkIGRpZE1vdmVUb05ld0RvY3VtZW50KERvY3VtZW50KiBvbGRE
b2N1bWVudCkgT1ZFUlJJREU7CiAKQEAgLTE4Miw2ICsxODgsNyBAQCBwcml2YXRlOgogICAgIHZp
cnR1YWwgQWZmaW5lVHJhbnNmb3JtIGxvY2FsQ29vcmRpbmF0ZVNwYWNlVHJhbnNmb3JtKFNWR0xv
Y2F0YWJsZTo6Q1RNU2NvcGUpIGNvbnN0OwogCiAgICAgYm9vbCBtX3VzZUN1cnJlbnRWaWV3Owor
ICAgIFNWR1pvb21BbmRQYW5UeXBlIG1fem9vbUFuZFBhbjsKICAgICBSZWZQdHI8U01JTFRpbWVD
b250YWluZXI+IG1fdGltZUNvbnRhaW5lcjsKICAgICBGbG9hdFBvaW50IG1fdHJhbnNsYXRpb247
CiAgICAgbXV0YWJsZSBPd25QdHI8U1ZHVmlld1NwZWM+IG1fdmlld1NwZWM7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVmlld0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR1ZpZXdFbGVtZW50LmNwcAppbmRleCAyYTJmZWYxNzEzN2JjY2VmM2Q4MDQwODFkYmUw
ZDhkYjg3M2QzZjBkLi5kYWJlOWRiNWNmM2VkZTlmNjcxMTZjZTIxNmQ3NTIxNTQyYjA5MzdjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVmlld0VsZW1lbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdWaWV3RWxlbWVudC5jcHAKQEAgLTQ1LDYgKzQ1LDcgQEAgRU5E
X1JFR0lTVEVSX0FOSU1BVEVEX1BST1BFUlRJRVMKIAogaW5saW5lIFNWR1ZpZXdFbGVtZW50OjpT
VkdWaWV3RWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9j
dW1lbnQpCiAgICAgOiBTVkdTdHlsZWRFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQorICAgICwg
bV96b29tQW5kUGFuKFNWR1pvb21BbmRQYW5NYWduaWZ5KQogICAgICwgbV92aWV3VGFyZ2V0KFNW
R05hbWVzOjp2aWV3VGFyZ2V0QXR0cikKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShTVkdOYW1l
czo6dmlld1RhZykpOwpAQCAtODQsNyArODUsNyBAQCB2b2lkIFNWR1ZpZXdFbGVtZW50OjpwYXJz
ZUF0dHJpYnV0ZShjb25zdCBBdHRyaWJ1dGUmIGF0dHJpYnV0ZSkKICAgICAgICAgcmV0dXJuOwog
ICAgIGlmIChTVkdGaXRUb1ZpZXdCb3g6OnBhcnNlQXR0cmlidXRlKGRvY3VtZW50KCksIGF0dHJp
YnV0ZSkpCiAgICAgICAgIHJldHVybjsKLSAgICBpZiAoU1ZHWm9vbUFuZFBhbjo6cGFyc2VBdHRy
aWJ1dGUoYXR0cmlidXRlKSkKKyAgICBpZiAoU1ZHWm9vbUFuZFBhbjo6cGFyc2VBdHRyaWJ1dGUo
dGhpcywgYXR0cmlidXRlKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVmlld0VsZW1lbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdWaWV3RWxlbWVudC5oCmluZGV4IDZkODA4OWVhMmVmYThi
N2M4MjhlOWE2ZDJkMDJmZjhkYjlmMWM2ODEuLjExZjU4Mzg4YTdlMDVkYTFjYTQwNzdlM2I0MDE3
Yjg2MDI2NzYxZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdWaWV3RWxlbWVu
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdWaWV3RWxlbWVudC5oCkBAIC00MCw4ICs0
MCwxNCBAQCBjbGFzcyBTVkdWaWV3RWxlbWVudCA6IHB1YmxpYyBTVkdTdHlsZWRFbGVtZW50LAog
cHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNWR1ZpZXdFbGVtZW50PiBjcmVhdGUoY29u
c3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Kik7CiAKKyAgICB1c2luZyBTVkdTdHlsZWRFbGVt
ZW50OjpyZWY7CisgICAgdXNpbmcgU1ZHU3R5bGVkRWxlbWVudDo6ZGVyZWY7CisKICAgICBTVkdT
dHJpbmdMaXN0JiB2aWV3VGFyZ2V0KCkgeyByZXR1cm4gbV92aWV3VGFyZ2V0OyB9CiAKKyAgICBT
Vkdab29tQW5kUGFuVHlwZSB6b29tQW5kUGFuKCkgY29uc3QgeyByZXR1cm4gbV96b29tQW5kUGFu
OyB9CisgICAgdm9pZCBzZXRab29tQW5kUGFuKHVuc2lnbmVkIHNob3J0IHpvb21BbmRQYW4pIHsg
bV96b29tQW5kUGFuID0gU1ZHWm9vbUFuZFBhbjo6cGFyc2VGcm9tTnVtYmVyKHpvb21BbmRQYW4p
OyB9CisKIHByaXZhdGU6CiAgICAgU1ZHVmlld0VsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYs
IERvY3VtZW50Kik7CiAKQEAgLTU3LDYgKzYzLDcgQEAgcHJpdmF0ZToKICAgICAgICAgREVDTEFS
RV9BTklNQVRFRF9QUkVTRVJWRUFTUEVDVFJBVElPKFByZXNlcnZlQXNwZWN0UmF0aW8sIHByZXNl
cnZlQXNwZWN0UmF0aW8pCiAgICAgRU5EX0RFQ0xBUkVfQU5JTUFURURfUFJPUEVSVElFUwogCisg
ICAgU1ZHWm9vbUFuZFBhblR5cGUgbV96b29tQW5kUGFuOwogICAgIFNWR1N0cmluZ0xpc3QgbV92
aWV3VGFyZ2V0OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ZpZXdT
cGVjLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdWaWV3U3BlYy5jcHAKaW5kZXggNDE1YjE5
ZTViOTlkNTBjZTY2NWQ4OWU0OTZjYmRjYWUzYzcyOGFlMi4uOGJiMDQwMDU1ZDdjMGEwMmYzYTZh
M2VkZjgyMzJhNzIzNzA5YjlmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1Zp
ZXdTcGVjLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVmlld1NwZWMuY3BwCkBAIC00
MSwxMiArNDEsMTMgQEAgRU5EX1JFR0lTVEVSX0FOSU1BVEVEX1BST1BFUlRJRVMKIAogU1ZHVmll
d1NwZWM6OlNWR1ZpZXdTcGVjKFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KQogICAgIDogbV9j
b250ZXh0RWxlbWVudChjb250ZXh0RWxlbWVudCkKKyAgICAsIG1fem9vbUFuZFBhbihTVkdab29t
QW5kUGFuTWFnbmlmeSkKIHsKICAgICBBU1NFUlQobV9jb250ZXh0RWxlbWVudCk7CiAgICAgcmVn
aXN0ZXJBbmltYXRlZFByb3BlcnRpZXNGb3JTVkdWaWV3U3BlYygpOwogfQogCi12b2lkIFNWR1Zp
ZXdTcGVjOjpzZXRUcmFuc2Zvcm0oY29uc3QgU3RyaW5nJiB0cmFuc2Zvcm0pCit2b2lkIFNWR1Zp
ZXdTcGVjOjpzZXRUcmFuc2Zvcm1TdHJpbmcoY29uc3QgU3RyaW5nJiB0cmFuc2Zvcm0pCiB7CiAg
ICAgbV90cmFuc2Zvcm0ucGFyc2UodHJhbnNmb3JtKTsKIH0KQEAgLTEzMSw3ICsxMzIsNyBAQCBi
b29sIFNWR1ZpZXdTcGVjOjpwYXJzZVZpZXdTcGVjKGNvbnN0IFN0cmluZyYgdmlld1NwZWMpCiAg
ICAgICAgICAgICBpZiAoY3VyclZpZXdTcGVjID49IGVuZCB8fCAqY3VyclZpZXdTcGVjICE9ICco
JykKICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICBjdXJyVmlld1Nw
ZWMrKzsKLSAgICAgICAgICAgIGlmICghcGFyc2Vab29tQW5kUGFuKGN1cnJWaWV3U3BlYywgZW5k
KSkKKyAgICAgICAgICAgIGlmICghcGFyc2Vab29tQW5kUGFuKGN1cnJWaWV3U3BlYywgZW5kLCBt
X3pvb21BbmRQYW4pKQogICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAg
IGlmIChjdXJyVmlld1NwZWMgPj0gZW5kIHx8ICpjdXJyVmlld1NwZWMgIT0gJyknKQogICAgICAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdWaWV3U3BlYy5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ZpZXdTcGVjLmgKaW5kZXggYzIx
YTBjOTU5MDU4MDI4ZjQ4ZGMxODU5ZTA2ZWU1Mjk2MWQzNDE4Yi4uMWU0YzI3MTU4NDRmNmI5OWQx
YTdhYjY5MWE3ZGJhNDljNjRlZjczNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R1ZpZXdTcGVjLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ZpZXdTcGVjLmgKQEAgLTMx
LDE2ICszMSwxNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNWR0VsZW1lbnQ7CiAK
LWNsYXNzIFNWR1ZpZXdTcGVjIDogcHVibGljIFNWR0ZpdFRvVmlld0JveCwKLSAgICAgICAgICAg
ICAgICAgICAgcHVibGljIFNWR1pvb21BbmRQYW4geworY2xhc3MgU1ZHVmlld1NwZWMgOiBwdWJs
aWMgU1ZHWm9vbUFuZFBhbiwKKyAgICAgICAgICAgICAgICAgICAgcHVibGljIFNWR0ZpdFRvVmll
d0JveCB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHVmlld1NwZWMpOwogcHVibGljOgog
ICAgIFNWR1ZpZXdTcGVjKFNWR0VsZW1lbnQqKTsKIAogICAgIGJvb2wgcGFyc2VWaWV3U3BlYyhj
b25zdCBTdHJpbmcmKTsKIAotICAgIHZvaWQgc2V0VHJhbnNmb3JtKGNvbnN0IFN0cmluZyYpOwor
ICAgIHZvaWQgc2V0VHJhbnNmb3JtU3RyaW5nKGNvbnN0IFN0cmluZyYpOwogICAgIFNWR1RyYW5z
Zm9ybUxpc3QgdHJhbnNmb3JtKCkgY29uc3QgeyByZXR1cm4gbV90cmFuc2Zvcm07IH0KKyAgICBT
VkdUcmFuc2Zvcm1MaXN0IHRyYW5zZm9ybUJhc2VWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fdHJh
bnNmb3JtOyB9CiAKICAgICB2b2lkIHNldFZpZXdCb3hTdHJpbmcoY29uc3QgU3RyaW5nJik7CiAK
QEAgLTUwLDYgKzUxLDEwIEBAIHB1YmxpYzoKICAgICBTdHJpbmcgdmlld1RhcmdldFN0cmluZygp
IGNvbnN0IHsgcmV0dXJuIG1fdmlld1RhcmdldFN0cmluZzsgfQogICAgIFNWR0VsZW1lbnQqIHZp
ZXdUYXJnZXQoKSBjb25zdDsKIAorICAgIFNWR1pvb21BbmRQYW5UeXBlIHpvb21BbmRQYW4oKSBj
b25zdCB7IHJldHVybiBtX3pvb21BbmRQYW47IH0KKyAgICB2b2lkIHNldFpvb21BbmRQYW4odW5z
aWduZWQgc2hvcnQsIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICB2b2lkIHNldFpvb21BbmRQYW5CYXNl
VmFsdWUodW5zaWduZWQgc2hvcnQgem9vbUFuZFBhbikgeyBtX3pvb21BbmRQYW4gPSBTVkdab29t
QW5kUGFuOjpwYXJzZUZyb21OdW1iZXIoem9vbUFuZFBhbik7IH0KKwogcHJpdmF0ZToKICAgICBT
VkdFbGVtZW50KiBtX2NvbnRleHRFbGVtZW50OwogCkBAIC02MCw2ICs2NSw3IEBAIHByaXZhdGU6
CiAKICAgICBTVkdUcmFuc2Zvcm1MaXN0IG1fdHJhbnNmb3JtOwogICAgIFN0cmluZyBtX3ZpZXdU
YXJnZXRTdHJpbmc7CisgICAgU1ZHWm9vbUFuZFBhblR5cGUgbV96b29tQW5kUGFuOwogfTsKIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R1pvb21BbmRQYW4uY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1pvb21BbmRQYW4uY3BwCmlu
ZGV4IGU3MDZhZmZkYTMwMTNlYzQ4YTM2MWVlZmQxMTc0MWNiY2NmNThlZTQuLjgxM2ViZTc2YTVl
MmJlOTlkNzYwN2NjNWU2ZTQyYjdjNGQ5ZDQxOTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdab29tQW5kUGFuLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHWm9vbUFu
ZFBhbi5jcHAKQEAgLTIzLDUyICsyMyw0OSBAQAogI2lmIEVOQUJMRShTVkcpCiAjaW5jbHVkZSAi
U1ZHWm9vbUFuZFBhbi5oIgogCi0jaW5jbHVkZSAiQXR0cmlidXRlLmgiCi0jaW5jbHVkZSAiU1ZH
TmFtZXMuaCIKICNpbmNsdWRlICJTVkdQYXJzZXJVdGlsaXRpZXMuaCIKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi12b2lkIFNWR1pvb21BbmRQYW46OnNldFpvb21BbmRQYW4odW5zaWduZWQgc2hv
cnQgem9vbUFuZFBhbikKK2Jvb2wgU1ZHWm9vbUFuZFBhbjo6aXNLbm93bkF0dHJpYnV0ZShjb25z
dCBRdWFsaWZpZWROYW1lJiBhdHRyTmFtZSkKIHsKLSAgICBtX3pvb21BbmRQYW4gPSB6b29tQW5k
UGFuOworICAgIHJldHVybiBhdHRyTmFtZSA9PSBTVkdOYW1lczo6em9vbUFuZFBhbkF0dHI7CiB9
CiAKLWJvb2wgU1ZHWm9vbUFuZFBhbjo6cGFyc2VBdHRyaWJ1dGUoY29uc3QgQXR0cmlidXRlJiBh
dHRyaWJ1dGUpCit2b2lkIFNWR1pvb21BbmRQYW46OmFkZFN1cHBvcnRlZEF0dHJpYnV0ZXMoSGFz
aFNldDxRdWFsaWZpZWROYW1lPiYgc3VwcG9ydGVkQXR0cmlidXRlcykKIHsKLSAgICBpZiAoYXR0
cmlidXRlLm5hbWUoKSA9PSBTVkdOYW1lczo6em9vbUFuZFBhbkF0dHIpIHsKLSAgICAgICAgY29u
c3QgVUNoYXIqIHN0YXJ0ID0gYXR0cmlidXRlLnZhbHVlKCkuY2hhcmFjdGVycygpOwotICAgICAg
ICBjb25zdCBVQ2hhciogZW5kID0gc3RhcnQgKyBhdHRyaWJ1dGUudmFsdWUoKS5sZW5ndGgoKTsK
LSAgICAgICAgcGFyc2Vab29tQW5kUGFuKHN0YXJ0LCBlbmQpOworICAgIHN1cHBvcnRlZEF0dHJp
YnV0ZXMuYWRkKFNWR05hbWVzOjp6b29tQW5kUGFuQXR0cik7Cit9CisKK3N0YXRpYyBjb25zdCBV
Q2hhciBkaXNhYmxlW10gPSAgeydkJywgJ2knLCAncycsICdhJywgJ2InLCAnbCcsICdlJ307Citz
dGF0aWMgY29uc3QgVUNoYXIgbWFnbmlmeVtdID0gIHsnbScsICdhJywgJ2cnLCAnbicsICdpJywg
J2YnLCAneSd9OworCitib29sIFNWR1pvb21BbmRQYW46OnBhcnNlWm9vbUFuZFBhbihjb25zdCBV
Q2hhciomIHN0YXJ0LCBjb25zdCBVQ2hhciogZW5kLCBTVkdab29tQW5kUGFuVHlwZSYgem9vbUFu
ZFBhbikKK3sKKyAgICBpZiAoc2tpcFN0cmluZyhzdGFydCwgZW5kLCBkaXNhYmxlLCBXVEZfQVJS
QVlfTEVOR1RIKGRpc2FibGUpKSkgeworICAgICAgICB6b29tQW5kUGFuID0gU1ZHWm9vbUFuZFBh
bkRpc2FibGU7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICBpZiAoc2tpcFN0cmlu
ZyhzdGFydCwgZW5kLCBtYWduaWZ5LCBXVEZfQVJSQVlfTEVOR1RIKG1hZ25pZnkpKSkgeworICAg
ICAgICB6b29tQW5kUGFuID0gU1ZHWm9vbUFuZFBhbk1hZ25pZnk7CiAgICAgICAgIHJldHVybiB0
cnVlOwogICAgIH0KLQogICAgIHJldHVybiBmYWxzZTsKIH0KIAotYm9vbCBTVkdab29tQW5kUGFu
Ojppc0tub3duQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lKQorTk9fUkVU
VVJOX0RVRV9UT19BU1NFUlQgdm9pZCBTVkdab29tQW5kUGFuOjpyZWYoKQogewotICAgIHJldHVy
biBhdHRyTmFtZSA9PSBTVkdOYW1lczo6em9vbUFuZFBhbkF0dHI7CisgICAgQVNTRVJUX05PVF9S
RUFDSEVEKCk7CiB9CiAKLXZvaWQgU1ZHWm9vbUFuZFBhbjo6YWRkU3VwcG9ydGVkQXR0cmlidXRl
cyhIYXNoU2V0PFF1YWxpZmllZE5hbWU+JiBzdXBwb3J0ZWRBdHRyaWJ1dGVzKQorTk9fUkVUVVJO
X0RVRV9UT19BU1NFUlQgdm9pZCBTVkdab29tQW5kUGFuOjpkZXJlZigpCiB7Ci0gICAgc3VwcG9y
dGVkQXR0cmlidXRlcy5hZGQoU1ZHTmFtZXM6Onpvb21BbmRQYW5BdHRyKTsKKyAgICBBU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKIH0KIAotc3RhdGljIGNvbnN0IFVDaGFyIGRpc2FibGVbXSA9ICB7J2Qn
LCAnaScsICdzJywgJ2EnLCAnYicsICdsJywgJ2UnfTsKLXN0YXRpYyBjb25zdCBVQ2hhciBtYWdu
aWZ5W10gPSAgeydtJywgJ2EnLCAnZycsICduJywgJ2knLCAnZicsICd5J307Ci0KLWJvb2wgU1ZH
Wm9vbUFuZFBhbjo6cGFyc2Vab29tQW5kUGFuKGNvbnN0IFVDaGFyKiYgc3RhcnQsIGNvbnN0IFVD
aGFyKiBlbmQpCitOT19SRVRVUk5fRFVFX1RPX0FTU0VSVCB2b2lkIFNWR1pvb21BbmRQYW46OnNl
dFpvb21BbmRQYW4odW5zaWduZWQgc2hvcnQpCiB7Ci0gICAgaWYgKHNraXBTdHJpbmcoc3RhcnQs
IGVuZCwgZGlzYWJsZSwgV1RGX0FSUkFZX0xFTkdUSChkaXNhYmxlKSkpCi0gICAgICAgIHNldFpv
b21BbmRQYW4oU1ZHX1pPT01BTkRQQU5fRElTQUJMRSk7Ci0gICAgZWxzZSBpZiAoc2tpcFN0cmlu
ZyhzdGFydCwgZW5kLCBtYWduaWZ5LCBXVEZfQVJSQVlfTEVOR1RIKG1hZ25pZnkpKSkKLSAgICAg
ICAgc2V0Wm9vbUFuZFBhbihTVkdfWk9PTUFORFBBTl9NQUdOSUZZKTsKLSAgICBlbHNlCi0gICAg
ICAgIHJldHVybiBmYWxzZTsKLQotICAgIHJldHVybiB0cnVlOworICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOwogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHWm9vbUFu
ZFBhbi5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1pvb21BbmRQYW4uaAppbmRleCBlMmQ1MmY2
NGRjM2Q0MGVmMTRjZDczOWE1ZGNmYWJlZmEwNGIyNzcyLi5iNTE0N2FiOGZkNTgyNzNjZDIxZWNi
ODM2YWYwYzJiZTgxNDc2OTE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHWm9v
bUFuZFBhbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdab29tQW5kUGFuLmgKQEAgLTIy
LDQwICsyMiw2OSBAQAogI2RlZmluZSBTVkdab29tQW5kUGFuX2gKIAogI2lmIEVOQUJMRShTVkcp
CisjaW5jbHVkZSAiQXR0cmlidXRlLmgiCiAjaW5jbHVkZSAiUXVhbGlmaWVkTmFtZS5oIgorI2lu
Y2x1ZGUgIlNWR05hbWVzLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KKyNpbmNsdWRlIDx3
dGYvUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi91bmljb2RlL1VuaWNvZGUuaD4KIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBBdHRyaWJ1dGU7CitlbnVtIFNWR1pvb21BbmRQYW5U
eXBlIHsKKyAgICBTVkdab29tQW5kUGFuVW5rbm93biA9IDAsCisgICAgU1ZHWm9vbUFuZFBhbkRp
c2FibGUsCisgICAgU1ZHWm9vbUFuZFBhbk1hZ25pZnkKK307CiAKIGNsYXNzIFNWR1pvb21BbmRQ
YW4gewogcHVibGljOgotICAgIGVudW0gU1ZHWm9vbUFuZFBhblR5cGUgewotICAgICAgICBTVkdf
Wk9PTUFORFBBTl9VTktOT1dOID0gMCwKLSAgICAgICAgU1ZHX1pPT01BTkRQQU5fRElTQUJMRSA9
IDEsCi0gICAgICAgIFNWR19aT09NQU5EUEFOX01BR05JRlkgPSAyCisgICAgLy8gRm9yd2FyZCBk
ZWNsYXJlIGVudW1lcmF0aW9ucyBpbiB0aGUgVzNDIG5hbWluZyBzY2hlbWUsIGZvciBJREwgZ2Vu
ZXJhdGlvbi4KKyAgICBlbnVtIHsKKyAgICAgICAgU1ZHX1pPT01BTkRQQU5fVU5LTk9XTiA9IFNW
R1pvb21BbmRQYW5Vbmtub3duLAorICAgICAgICBTVkdfWk9PTUFORFBBTl9ESVNBQkxFID0gU1ZH
Wm9vbUFuZFBhbkRpc2FibGUsCisgICAgICAgIFNWR19aT09NQU5EUEFOX01BR05JRlkgPSBTVkda
b29tQW5kUGFuTWFnbmlmeQogICAgIH07CiAKLSAgICBTVkdab29tQW5kUGFuKCkgOiBtX3pvb21B
bmRQYW4oU1ZHX1pPT01BTkRQQU5fTUFHTklGWSkgeyB9Ci0gICAgdmlydHVhbCB+U1ZHWm9vbUFu
ZFBhbigpIHsgfQorICAgIHN0YXRpYyBib29sIGlzS25vd25BdHRyaWJ1dGUoY29uc3QgUXVhbGlm
aWVkTmFtZSYpOworICAgIHN0YXRpYyB2b2lkIGFkZFN1cHBvcnRlZEF0dHJpYnV0ZXMoSGFzaFNl
dDxRdWFsaWZpZWROYW1lPiYpOworCisgICAgc3RhdGljIFNWR1pvb21BbmRQYW5UeXBlIHBhcnNl
RnJvbU51bWJlcih1bnNpZ25lZCBzaG9ydCBudW1iZXIpCisgICAgeworICAgICAgICBpZiAoIW51
bWJlciB8fCBudW1iZXIgPiBTVkdab29tQW5kUGFuTWFnbmlmeSkKKyAgICAgICAgICAgIHJldHVy
biBTVkdab29tQW5kUGFuVW5rbm93bjsKKyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFNWR1pv
b21BbmRQYW5UeXBlPihudW1iZXIpOworICAgIH0KIAotICAgIHVuc2lnbmVkIHNob3J0IHpvb21B
bmRQYW4oKSBjb25zdCB7IHJldHVybiBtX3pvb21BbmRQYW47IH0KLSAgICB2aXJ0dWFsIHZvaWQg
c2V0Wm9vbUFuZFBhbih1bnNpZ25lZCBzaG9ydCB6b29tQW5kUGFuKTsKKyAgICBzdGF0aWMgYm9v
bCBwYXJzZVpvb21BbmRQYW4oY29uc3QgVUNoYXIqJiBzdGFydCwgY29uc3QgVUNoYXIqIGVuZCwg
U1ZHWm9vbUFuZFBhblR5cGUmKTsKIAotICAgIGJvb2wgcGFyc2VBdHRyaWJ1dGUoY29uc3QgQXR0
cmlidXRlJik7Ci0gICAgYm9vbCBpc0tub3duQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUm
KTsKLSAgICB2b2lkIGFkZFN1cHBvcnRlZEF0dHJpYnV0ZXMoSGFzaFNldDxRdWFsaWZpZWROYW1l
PiYpOworICAgIHRlbXBsYXRlPGNsYXNzIFNWR0VsZW1lbnRUYXJnZXQ+CisgICAgc3RhdGljIGJv
b2wgcGFyc2VBdHRyaWJ1dGUoU1ZHRWxlbWVudFRhcmdldCogdGFyZ2V0LCBjb25zdCBBdHRyaWJ1
dGUmIGF0dHJpYnV0ZSkKKyAgICB7CisgICAgICAgIEFTU0VSVCh0YXJnZXQpOworICAgICAgICBB
U1NFUlQodGFyZ2V0LT5kb2N1bWVudCgpKTsKKyAgICAgICAgaWYgKGF0dHJpYnV0ZS5uYW1lKCkg
PT0gU1ZHTmFtZXM6Onpvb21BbmRQYW5BdHRyKSB7CisgICAgICAgICAgICBjb25zdCBVQ2hhciog
c3RhcnQgPSBhdHRyaWJ1dGUudmFsdWUoKS5jaGFyYWN0ZXJzKCk7CisgICAgICAgICAgICBjb25z
dCBVQ2hhciogZW5kID0gc3RhcnQgKyBhdHRyaWJ1dGUudmFsdWUoKS5sZW5ndGgoKTsKKyAgICAg
ICAgICAgIFNWR1pvb21BbmRQYW5UeXBlIHpvb21BbmRQYW4gPSBTVkdab29tQW5kUGFuVW5rbm93
bjsKKyAgICAgICAgICAgIHBhcnNlWm9vbUFuZFBhbihzdGFydCwgZW5kLCB6b29tQW5kUGFuKTsK
KyAgICAgICAgICAgIHRhcmdldC0+c2V0Wm9vbUFuZFBhbih6b29tQW5kUGFuKTsKKyAgICAgICAg
ICAgIHJldHVybiB0cnVlOworICAgICAgICB9CiAKLSAgICBib29sIHBhcnNlWm9vbUFuZFBhbihj
b25zdCBVQ2hhciomIHN0YXJ0LCBjb25zdCBVQ2hhciogZW5kKTsKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworICAgIH0KIAotcHJpdmF0ZToKLSAgICB1bnNpZ25lZCBzaG9ydCBtX3pvb21BbmRQYW47
CisgICAgU1ZHWm9vbUFuZFBhblR5cGUgem9vbUFuZFBhbigpIGNvbnN0IHsgcmV0dXJuIFNWR1pv
b21BbmRQYW5Vbmtub3duOyB9CisKKyAgICAvLyBUaGVzZSBtZXRob2RzIG9ubHkgZXhpc3QgdG8g
YWxsb3cgdXMgdG8gY29tcGlsZSBWOC9KU1NWR1pvb21BbmRQYW4uKi4KKyAgICAvLyBUaGVzZSBh
cmUgbmV2ZXIgY2FsbGVkLCBhbmQgdGh1cyBBU1NFUlRfTk9UX1JFQUNIRUQuCisgICAgdm9pZCBy
ZWYoKTsKKyAgICB2b2lkIGRlcmVmKCk7CisgICAgdm9pZCBzZXRab29tQW5kUGFuKHVuc2lnbmVk
IHNob3J0KTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJM
RShTVkcpCi0KICNlbmRpZiAvLyBTVkdab29tQW5kUGFuX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdab29tQW5kUGFuLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdab29t
QW5kUGFuLmlkbAppbmRleCBkNjBhZTBjZWQyMDZhNjQ1YjVhNTM3YmE2ZTkyZTU1NjUxYjdlOWE5
Li43ZjU4ODJiOGVjMGUxNDhmMmJmN2Y3OWFjNzliNDFjNTQ3ZGY1NmJhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHWm9vbUFuZFBhbi5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR1pvb21BbmRQYW4uaWRsCkBAIC0zMCwxMyArMzAsMTEgQEAgbW9kdWxlIHN2ZyB7CiAg
ICAgICAgIENvbmRpdGlvbmFsPVNWRywKICAgICAgICAgT2JqQ1Byb3RvY29sCiAgICAgXSBTVkda
b29tQW5kUGFuIHsKLSAgICAgICAgLy8gWm9vbSBhbmQgUGFuIFR5cGVzCiAgICAgICAgIGNvbnN0
IHVuc2lnbmVkIHNob3J0IFNWR19aT09NQU5EUEFOX1VOS05PV04gPSAwOwogICAgICAgICBjb25z
dCB1bnNpZ25lZCBzaG9ydCBTVkdfWk9PTUFORFBBTl9ESVNBQkxFID0gMTsKICAgICAgICAgY29u
c3QgdW5zaWduZWQgc2hvcnQgU1ZHX1pPT01BTkRQQU5fTUFHTklGWSA9IDI7CiAKLSAgICAgICAg
ICAgICAgICAgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IHpvb21BbmRQYW4KLSAgICAgICAgICAg
ICAgICAgICAgIC8qc2V0dGVyIHJhaXNlcyhET01FeGNlcHRpb24pKi87CisgICAgICAgIGF0dHJp
YnV0ZSB1bnNpZ25lZCBzaG9ydCB6b29tQW5kUGFuOwogICAgIH07CiAKIH0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA1M2E4
YWQ5OWZlNTQzMWRhYzI3NDVkNmI5NzAxNTlhMjA3OWEwYzJlLi4xM2QxOGFiODlmMzY3Y2MxYWE1
ZTBmOGUxMzk5NDE1NmRhNDg4MDVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTggQEAKIDIwMTItMDUtMjIg
IE5pa29sYXMgWmltbWVybWFubiAgPG56aW1tZXJtYW5uQHJpbS5jb20+CiAKKyAgICAgICAgU1ZH
Wm9vbUFuZFBhbiBjb25zdGFudHMgYXJlIG1pc3NpbmcgZnJvbSB3aW5kb3cgb2JqZWN0CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTQ5NAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNWR1pvb21BbmRQYW4g
aXMgbm93IGF2YWlsYWJsZSBhcyBnbG9iYWwgY29uc3RydWN0b3IsIHJlYmFzZWxpbmUgcmVzdWx0
cy4KKworICAgICAgICAqIHN2Zy9jdXN0b20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50
eHQ6CisgICAgICAgICogc3ZnL2N1c3RvbS9qcy1zdmctY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBzdmcvY3VzdG9tL2pzLXN2Zy1jb25zdHJ1Y3RvcnMuc3ZnOgorCisyMDEy
LTA1LTIyICBOaWtvbGFzIFppbW1lcm1hbm4gIDxuemltbWVybWFubkByaW0uY29tPgorCiAgICAg
ICAgIE5vdCByZXZpZXdlZC4gUmUtYWRkIGV4cGVjdGVkIHJlc3VsdHMgZm9yIHRocmVlIHRlc3Rz
IHRoYXQgd2VyZSBtaXNzaW5nLgogCiAgICAgICAgICogcGxhdGZvcm0vbWFjL3N2Zy96b29tL3Bh
Z2Uvem9vbS1iYWNrZ3JvdW5kLWltYWdlLXRpbGVkLWV4cGVjdGVkLnR4dDogQWRkZWQuCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9nbG9iYWwtY29uc3RydWN0b3JzLWV4cGVj
dGVkLnR4dAppbmRleCBiMGJmYzY4MTM1MWVhOGY3OWUzOGE4MDc3NDMwNmJiMDlmMzUxNTRjLi43
MmRlZmY1OTI4NDBlYWFlN2M2YmEwOTI0MGIyYTRlZDlhMTI1M2I0IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9zdmcvY3VzdG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL3N2Zy9jdXN0b20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQK
QEAgLTMxLDcgKzMxLDcgQEAgRkFJTCBTVkdUZXN0cy50b1N0cmluZygpIHNob3VsZCBiZSBbb2Jq
ZWN0IFNWR1Rlc3RzQ29uc3RydWN0b3JdLiBUaHJldyBleGNlcHRpb24KIEZBSUwgU1ZHTGFuZ1Nw
YWNlLnRvU3RyaW5nKCkgc2hvdWxkIGJlIFtvYmplY3QgU1ZHTGFuZ1NwYWNlQ29uc3RydWN0b3Jd
LiBUaHJldyBleGNlcHRpb24gUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFNW
R0xhbmdTcGFjZQogRkFJTCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLnRvU3RyaW5nKCkg
c2hvdWxkIGJlIFtvYmplY3QgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZENvbnN0cnVjdG9y
XS4gVGhyZXcgZXhjZXB0aW9uIFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBT
VkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkCiBGQUlMIFNWR0ZpdFRvVmlld0JveC50b1N0cmlu
ZygpIHNob3VsZCBiZSBbb2JqZWN0IFNWR0ZpdFRvVmlld0JveENvbnN0cnVjdG9yXS4gVGhyZXcg
ZXhjZXB0aW9uIFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTVkdGaXRUb1Zp
ZXdCb3gKLUZBSUwgU1ZHWm9vbUFuZFBhbi50b1N0cmluZygpIHNob3VsZCBiZSBbb2JqZWN0IFNW
R1pvb21BbmRQYW5Db25zdHJ1Y3Rvcl0uIFRocmV3IGV4Y2VwdGlvbiBSZWZlcmVuY2VFcnJvcjog
Q2FuJ3QgZmluZCB2YXJpYWJsZTogU1ZHWm9vbUFuZFBhbgorUEFTUyBTVkdab29tQW5kUGFuLnRv
U3RyaW5nKCkgaXMgJ1tvYmplY3QgU1ZHWm9vbUFuZFBhbkNvbnN0cnVjdG9yXScKIEZBSUwgU1ZH
Vmlld1NwZWMudG9TdHJpbmcoKSBzaG91bGQgYmUgW29iamVjdCBTVkdWaWV3U3BlY0NvbnN0cnVj
dG9yXS4gVGhyZXcgZXhjZXB0aW9uIFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxl
OiBTVkdWaWV3U3BlYwogRkFJTCBTVkdVUklSZWZlcmVuY2UudG9TdHJpbmcoKSBzaG91bGQgYmUg
W29iamVjdCBTVkdVUklSZWZlcmVuY2VDb25zdHJ1Y3Rvcl0uIFRocmV3IGV4Y2VwdGlvbiBSZWZl
cmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU1ZHVVJJUmVmZXJlbmNlCiBGQUlMIFNW
R0NTU1J1bGUudG9TdHJpbmcoKSBzaG91bGQgYmUgW29iamVjdCBTVkdDU1NSdWxlQ29uc3RydWN0
b3JdLiBUaHJldyBleGNlcHRpb24gUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6
IFNWR0NTU1J1bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vanMtc3ZnLWNv
bnN0cnVjdG9ycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2pzLXN2Zy1j
b25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0CmluZGV4IGFiN2U2MzhlYjBkMDdiMDY1MmVjNTk1MTY2
YzA1MjBkNDVmZDY2ZDYuLjFiNzIyODNlY2YxZjNiN2I3NThmMTQxNmYxMjI3NGVkZjM3OTA2MTUg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vanMtc3ZnLWNvbnN0cnVjdG9ycy1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9qcy1zdmctY29uc3RydWN0
b3JzLWV4cGVjdGVkLnR4dApAQCAtNDQsOSArNDQsOSBAQCBTVkdGRURpc3BsYWNlbWVudE1hcEVs
ZW1lbnQuU1ZHX0NIQU5ORUxfUiBQQVNTRUQKIFNWR0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudC5T
VkdfQ0hBTk5FTF9HIFBBU1NFRAogU1ZHRkVEaXNwbGFjZW1lbnRNYXBFbGVtZW50LlNWR19DSEFO
TkVMX0IgUEFTU0VECiBTVkdGRURpc3BsYWNlbWVudE1hcEVsZW1lbnQuU1ZHX0NIQU5ORUxfQSBQ
QVNTRUQKLVNWR0ZFTW9ycGhvbG9neUVsZW1lbnQuU1ZHX01PUlBIT0xPR1lfT1BFUkFUT1JfVU5L
Tk9XTiBFWFBFQ1RFRCBGQUlMVVJFIChhY3R1YWw6ICcwJyBleHBlY3RlZDogJzAnKQotU1ZHRkVN
b3JwaG9sb2d5RWxlbWVudC5TVkdfTU9SUEhPTE9HWV9PUEVSQVRPUl9FUk9ERSBFWFBFQ1RFRCBG
QUlMVVJFIChhY3R1YWw6ICcxJyBleHBlY3RlZDogJzEnKQotU1ZHRkVNb3JwaG9sb2d5RWxlbWVu
dC5TVkdfTU9SUEhPTE9HWV9PUEVSQVRPUl9ESUxBVEUgRVhQRUNURUQgRkFJTFVSRSAoYWN0dWFs
OiAnMicgZXhwZWN0ZWQ6ICcyJykKK1NWR0ZFTW9ycGhvbG9neUVsZW1lbnQuU1ZHX01PUlBIT0xP
R1lfT1BFUkFUT1JfVU5LTk9XTiBQQVNTRUQKK1NWR0ZFTW9ycGhvbG9neUVsZW1lbnQuU1ZHX01P
UlBIT0xPR1lfT1BFUkFUT1JfRVJPREUgUEFTU0VECitTVkdGRU1vcnBob2xvZ3lFbGVtZW50LlNW
R19NT1JQSE9MT0dZX09QRVJBVE9SX0RJTEFURSBQQVNTRUQKIFNWR0ZFVHVyYnVsZW5jZUVsZW1l
bnQuU1ZHX1RVUkJVTEVOQ0VfVFlQRV9VTktOT1dOIFBBU1NFRAogU1ZHRkVUdXJidWxlbmNlRWxl
bWVudC5TVkdfVFVSQlVMRU5DRV9UWVBFX0ZSQUNUQUxOT0lTRSBQQVNTRUQKIFNWR0ZFVHVyYnVs
ZW5jZUVsZW1lbnQuU1ZHX1RVUkJVTEVOQ0VfVFlQRV9UVVJCVUxFTkNFIFBBU1NFRApAQCAtMTQz
LDYgKzE0Myw2IEBAIFNWR1RyYW5zZm9ybS5TVkdfVFJBTlNGT1JNX1NLRVdZIFBBU1NFRAogU1ZH
VW5pdFR5cGVzLlNWR19VTklUX1RZUEVfVU5LTk9XTiBQQVNTRUQKIFNWR1VuaXRUeXBlcy5TVkdf
VU5JVF9UWVBFX1VTRVJTUEFDRU9OVVNFIFBBU1NFRAogU1ZHVW5pdFR5cGVzLlNWR19VTklUX1RZ
UEVfT0JKRUNUQk9VTkRJTkdCT1ggUEFTU0VECi1TVkdab29tQW5kUGFuLlNWR19aT09NQU5EUEFO
X1VOS05PV04gRVhQRUNURUQgRkFJTFVSRSAoYWN0dWFsOiAndW5kZWZpbmVkJyBleHBlY3RlZDog
JzAnKQotU1ZHWm9vbUFuZFBhbi5TVkdfWk9PTUFORFBBTl9ESVNBQkxFIEVYUEVDVEVEIEZBSUxV
UkUgKGFjdHVhbDogJ3VuZGVmaW5lZCcgZXhwZWN0ZWQ6ICcxJykKLVNWR1pvb21BbmRQYW4uU1ZH
X1pPT01BTkRQQU5fTUFHTklGWSBFWFBFQ1RFRCBGQUlMVVJFIChhY3R1YWw6ICd1bmRlZmluZWQn
IGV4cGVjdGVkOiAnMicpCitTVkdab29tQW5kUGFuLlNWR19aT09NQU5EUEFOX1VOS05PV04gUEFT
U0VECitTVkdab29tQW5kUGFuLlNWR19aT09NQU5EUEFOX0RJU0FCTEUgUEFTU0VECitTVkdab29t
QW5kUGFuLlNWR19aT09NQU5EUEFOX01BR05JRlkgUEFTU0VECmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9zdmcvY3VzdG9tL2pzLXN2Zy1jb25zdHJ1Y3RvcnMuc3ZnIGIvTGF5b3V0VGVzdHMvc3Zn
L2N1c3RvbS9qcy1zdmctY29uc3RydWN0b3JzLnN2ZwppbmRleCAzNTYzMWNkY2VhMDc5YzZlNmEx
NTAyNDFjMzJlZTAzM2M1MGMyZmMxLi44NTg3MTM3MWJhYzA5NzQ4NGE3YTdlMTNlNmY5YjU4ZjI1
ZTBiYjdjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2pzLXN2Zy1jb25zdHJ1
Y3RvcnMuc3ZnCisrKyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vanMtc3ZnLWNvbnN0cnVjdG9y
cy5zdmcKQEAgLTkzLDkgKzkzLDkgQEAKICAgICAgIH0KIAogICAgICAgaWYgKHdpbmRvdy5TVkdG
RU1vcnBob2xvZ3lFbGVtZW50KSB7Ci0gICAgICAgICAgZXhwZWN0X2ZhaWx1cmUoIlNWR0ZFTW9y
cGhvbG9neUVsZW1lbnQuU1ZHX01PUlBIT0xPR1lfT1BFUkFUT1JfVU5LTk9XTiIsIDApOwotICAg
ICAgICAgIGV4cGVjdF9mYWlsdXJlKCJTVkdGRU1vcnBob2xvZ3lFbGVtZW50LlNWR19NT1JQSE9M
T0dZX09QRVJBVE9SX0VST0RFIiwgMSk7Ci0gICAgICAgICAgZXhwZWN0X2ZhaWx1cmUoIlNWR0ZF
TW9ycGhvbG9neUVsZW1lbnQuU1ZHX01PUlBIT0xPR1lfT1BFUkFUT1JfRElMQVRFIiwgMik7Cisg
ICAgICAgICAgZXhwZWN0KCJTVkdGRU1vcnBob2xvZ3lFbGVtZW50LlNWR19NT1JQSE9MT0dZX09Q
RVJBVE9SX1VOS05PV04iLCAwKTsKKyAgICAgICAgICBleHBlY3QoIlNWR0ZFTW9ycGhvbG9neUVs
ZW1lbnQuU1ZHX01PUlBIT0xPR1lfT1BFUkFUT1JfRVJPREUiLCAxKTsKKyAgICAgICAgICBleHBl
Y3QoIlNWR0ZFTW9ycGhvbG9neUVsZW1lbnQuU1ZHX01PUlBIT0xPR1lfT1BFUkFUT1JfRElMQVRF
IiwgMik7CiAgICAgICB9CiAKICAgICAgIGlmICh3aW5kb3cuU1ZHRkVUdXJidWxlbmNlRWxlbWVu
dCkgewpAQCAtMjA4LDkgKzIwOCw5IEBACiAgICAgICBleHBlY3QoIlNWR1VuaXRUeXBlcy5TVkdf
VU5JVF9UWVBFX1VTRVJTUEFDRU9OVVNFIiwgMSk7CiAgICAgICBleHBlY3QoIlNWR1VuaXRUeXBl
cy5TVkdfVU5JVF9UWVBFX09CSkVDVEJPVU5ESU5HQk9YIiwgMik7CiAKLSAgICAgIGV4cGVjdF9m
YWlsdXJlKCJTVkdab29tQW5kUGFuLlNWR19aT09NQU5EUEFOX1VOS05PV04iLCAwKTsKLSAgICAg
IGV4cGVjdF9mYWlsdXJlKCJTVkdab29tQW5kUGFuLlNWR19aT09NQU5EUEFOX0RJU0FCTEUiLCAx
KTsKLSAgICAgIGV4cGVjdF9mYWlsdXJlKCJTVkdab29tQW5kUGFuLlNWR19aT09NQU5EUEFOX01B
R05JRlkiLCAyKTsKKyAgICAgIGV4cGVjdCgiU1ZHWm9vbUFuZFBhbi5TVkdfWk9PTUFORFBBTl9V
TktOT1dOIiwgMCk7CisgICAgICBleHBlY3QoIlNWR1pvb21BbmRQYW4uU1ZHX1pPT01BTkRQQU5f
RElTQUJMRSIsIDEpOworICAgICAgZXhwZWN0KCJTVkdab29tQW5kUGFuLlNWR19aT09NQU5EUEFO
X01BR05JRlkiLCAyKTsKICAgICB9CiAgIF1dPjwvc2NyaXB0PiAgCiA8L3N2Zz4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>143311</attachid>
            <date>2012-05-22 08:58:19 -0700</date>
            <delta_ts>2012-05-23 00:41:47 -0700</delta_ts>
            <desc>Patch v5</desc>
            <filename>bug-15494-20120522175900.patch</filename>
            <type>text/plain</type>
            <size>36658</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE3OTc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjY2YzRiZjM2MDMzMjZl
ZWMxMDMyMjE3ZTAxMDkyYjk1OWY3NzQxZC4uNjFlZmJlMGI1ZmI2NTNkMDliNDU3MmY4MWI5Mjcz
ZjFjZDU4OTk2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY4IEBACisyMDEyLTA1LTIyICBOaWtv
bGFzIFppbW1lcm1hbm4gIDxuemltbWVybWFubkByaW0uY29tPgorCisgICAgICAgIFNWR1pvb21B
bmRQYW4gY29uc3RhbnRzIGFyZSBtaXNzaW5nIGZyb20gd2luZG93IG9iamVjdAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU0OTQKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBHZW5lcmF0ZSB0aGUgU1ZHWm9v
bUFuZFBhbkNvbnN0cnVjdG9yLCBzbyB0aGF0IHRoZSBjb25zdGFudHMgZGVmaW5lZCBpbiB0aGUg
SURMCisgICAgICAgIGNhbiBiZSByZWFjaGVkIGZyb20gdGhlIGJpbmRpbmdzLiBQcm92aWRlIGEg
c3R1Yi1pbXBsZW1lbnRhdGlvbiBvZiByZWYvZGVyZWYKKyAgICAgICAgdGhhdCdzIG5ldmVyIHVz
ZWQsIGFzIHdlIGRvbid0IGFjdHVhbGx5IHVzZSBKU1NWR1pvb21BbmRQYW4gd2hpY2ggbmVlZHMg
dGhpcywgYnV0CisgICAgICAgIG9ubHkgdGhlIEpTU1ZHWm9vbUFuZFBhbkNvbnN0cnVjdG9yLgor
CisgICAgICAgIFRoaXMgaXMgYSBwcmVwYXJhdGlvbiB0b3dhcmRzIGJ1ZyAxNTQ5NSwgd2hpY2gg
Y292ZXJzIGltcGxlbWVudGluZworICAgICAgICBTVkdTVkdFbGVtZW50LmN1cnJlbnRWaWV3IGFu
ZCB0aGUgU1ZHVmlld1NwZWMgaW50ZXJmYWNlLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6
CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMuY3BwOgorICAgICAgICAqIERlcml2ZWRTb3VyY2Vz
LnByaToKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIFdlYkNvcmUu
Z3lwL1dlYkNvcmUuZ3lwOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9q
OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAg
KiBwYWdlL0RPTVdpbmRvdy5pZGw6CisgICAgICAgICogc3ZnL1NWR1NWR0VsZW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6U1ZHU1ZHRWxlbWVudDo6U1ZHU1ZHRWxlbWVudCk6CisgICAgICAg
IChXZWJDb3JlOjpTVkdTVkdFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZSk6CisgICAgICAgIChXZWJD
b3JlOjpTVkdTVkdFbGVtZW50Ojp2aWV3Qm94VG9WaWV3VHJhbnNmb3JtKToKKyAgICAgICAgKFdl
YkNvcmU6OlNWR1NWR0VsZW1lbnQ6OnNldHVwSW5pdGlhbFZpZXcpOgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHU1ZHRWxlbWVudDo6aW5oZXJpdFZpZXdBdHRyaWJ1dGVzKToKKyAgICAgICAgKiBzdmcv
U1ZHU1ZHRWxlbWVudC5oOgorICAgICAgICAoU1ZHU1ZHRWxlbWVudCk6CisgICAgICAgIChXZWJD
b3JlOjpTVkdTVkdFbGVtZW50Ojp1c2VDdXJyZW50Vmlldyk6CisgICAgICAgIChXZWJDb3JlOjpT
VkdTVkdFbGVtZW50OjpzZXRVc2VDdXJyZW50Vmlldyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdT
VkdFbGVtZW50Ojp6b29tQW5kUGFuKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1NWR0VsZW1lbnQ6
OnNldFpvb21BbmRQYW4pOgorICAgICAgICAqIHN2Zy9TVkdWaWV3RWxlbWVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTVkdWaWV3RWxlbWVudDo6U1ZHVmlld0VsZW1lbnQpOgorICAgICAgICAo
V2ViQ29yZTo6U1ZHVmlld0VsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKToKKyAgICAgICAgKiBzdmcv
U1ZHVmlld0VsZW1lbnQuaDoKKyAgICAgICAgKFNWR1ZpZXdFbGVtZW50KToKKyAgICAgICAgKFdl
YkNvcmU6OlNWR1ZpZXdFbGVtZW50Ojp6b29tQW5kUGFuKToKKyAgICAgICAgKFdlYkNvcmU6OlNW
R1ZpZXdFbGVtZW50OjpzZXRab29tQW5kUGFuKToKKyAgICAgICAgKiBzdmcvU1ZHVmlld1NwZWMu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVmlld1NwZWM6OlNWR1ZpZXdTcGVjKToKKyAgICAg
ICAgKFdlYkNvcmU6OlNWR1ZpZXdTcGVjOjpzZXRUcmFuc2Zvcm1TdHJpbmcpOgorICAgICAgICAo
V2ViQ29yZTo6U1ZHVmlld1NwZWM6OnBhcnNlVmlld1NwZWMpOgorICAgICAgICAqIHN2Zy9TVkdW
aWV3U3BlYy5oOgorICAgICAgICAoU1ZHVmlld1NwZWMpOgorICAgICAgICAoV2ViQ29yZTo6U1ZH
Vmlld1NwZWM6OnRyYW5zZm9ybUJhc2VWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdWaWV3
U3BlYzo6em9vbUFuZFBhbik6CisgICAgICAgIChXZWJDb3JlOjpTVkdWaWV3U3BlYzo6c2V0Wm9v
bUFuZFBhbkJhc2VWYWx1ZSk6CisgICAgICAgICogc3ZnL1NWR1pvb21BbmRQYW4uY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHWm9vbUFuZFBhbjo6aXNLbm93bkF0dHJpYnV0ZSk6CisgICAgICAg
IChXZWJDb3JlOjpTVkdab29tQW5kUGFuOjphZGRTdXBwb3J0ZWRBdHRyaWJ1dGVzKToKKyAgICAg
ICAgKFdlYkNvcmU6OlNWR1pvb21BbmRQYW46OnBhcnNlWm9vbUFuZFBhbik6CisgICAgICAgIChX
ZWJDb3JlOjpTVkdab29tQW5kUGFuOjpyZWYpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHWm9vbUFu
ZFBhbjo6ZGVyZWYpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHWm9vbUFuZFBhbjo6c2V0Wm9vbUFu
ZFBhbik6CisgICAgICAgICogc3ZnL1NWR1pvb21BbmRQYW4uaDoKKyAgICAgICAgKFNWR1pvb21B
bmRQYW4pOgorICAgICAgICAoV2ViQ29yZTo6U1ZHWm9vbUFuZFBhbjo6cGFyc2VGcm9tTnVtYmVy
KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1pvb21BbmRQYW46OnBhcnNlQXR0cmlidXRlKToKKyAg
ICAgICAgKFdlYkNvcmU6OlNWR1pvb21BbmRQYW46Onpvb21BbmRQYW4pOgorICAgICAgICAqIHN2
Zy9TVkdab29tQW5kUGFuLmlkbDoKKwogMjAxMi0wNS0yMiAgS2VudGFybyBIYXJhICA8aGFyYWtl
bkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW1Y4XSBSZW1vdmUgR2VuZXJhdGVTZXRET01FeGNl
cHRpb24oKSBmcm9tIENvZGVHZW5lcmF0b3JWOC5wbQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBl
NzliN2U4MDIyNWRhYWI4OTJjY2Y3MWRiMzJmZWQ5ZDg4MTFiN2ZkLi43M2E5ZWY1NDI0OTBiNjA0
ZDYyNjQ0MzU4NzY4ZWRlNmViZTNkNWYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFr
ZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMjEyOSw2
ICsyMTI5LDcgQEAgSUYgKEVOQUJMRV9TVkcpCiAgICAgICAgIHN2Zy9TVkdVc2VFbGVtZW50Lmlk
bAogICAgICAgICBzdmcvU1ZHVmlld0VsZW1lbnQuaWRsCiAgICAgICAgIHN2Zy9TVkdWS2VybkVs
ZW1lbnQuaWRsCisgICAgICAgIHN2Zy9TVkdab29tQW5kUGFuLmlkbAogICAgICAgICBzdmcvU1ZH
Wm9vbUV2ZW50LmlkbAogICAgICkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCmluZGV4IDk4
OGQ1ODI2N2Q3ZTkzNWVmNmIwMjdjNDkxMjlmYWQ4MWI4YjEwZGMuLmZmMzQzNDQwZDljNDcyMGI3
Njk3OGM5NmZhY2U5MjU0YjE2OGE0NDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKQEAg
LTQzOCw2ICs0MzgsNyBAQAogI2luY2x1ZGUgIkpTU1ZHVXNlRWxlbWVudC5jcHAiCiAjaW5jbHVk
ZSAiSlNTVkdWaWV3RWxlbWVudC5jcHAiCiAjaW5jbHVkZSAiSlNTVkdWS2VybkVsZW1lbnQuY3Bw
IgorI2luY2x1ZGUgIkpTU1ZHWm9vbUFuZFBhbi5jcHAiCiAjaW5jbHVkZSAiSlNTVkdab29tRXZl
bnQuY3BwIgogI2luY2x1ZGUgIkpTVGV4dC5jcHAiCiAjaW5jbHVkZSAiSlNUZXh0RXZlbnQuY3Bw
IgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpIGIvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpCmluZGV4IGFkMDc4M2YwZWEyNTMwMzdhODAwM2Ji
NGZlYzlmMzk0NWY3Y2QxNjkuLmRjMzUyMTI4NDYwZTEzZjYwMzE2ZTAxYjVjYzViYzM4YzRiM2Uw
OTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQorKysgYi9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkKQEAgLTQ2NSw3ICs0NjUsNiBAQCB2OCB7
CiAKIGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9TVkc9MSkgewogICBJRExfQklORElOR1MgKz0g
XAotICAgICQkUFdEL3N2Zy9TVkdab29tRXZlbnQuaWRsIFwKICAgICAkJFBXRC9zdmcvU1ZHQUVs
ZW1lbnQuaWRsIFwKICAgICAkJFBXRC9zdmcvU1ZHQWx0R2x5cGhEZWZFbGVtZW50LmlkbCBcCiAg
ICAgJCRQV0Qvc3ZnL1NWR0FsdEdseXBoRWxlbWVudC5pZGwgXApAQCAtNjA1LDcgKzYwNCw5IEBA
IGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9TVkc9MSkgewogICAgICQkUFdEL3N2Zy9TVkdVbml0
VHlwZXMuaWRsIFwKICAgICAkJFBXRC9zdmcvU1ZHVXNlRWxlbWVudC5pZGwgXAogICAgICQkUFdE
L3N2Zy9TVkdWaWV3RWxlbWVudC5pZGwgXAotICAgICQkUFdEL3N2Zy9TVkdWS2VybkVsZW1lbnQu
aWRsCisgICAgJCRQV0Qvc3ZnL1NWR1ZLZXJuRWxlbWVudC5pZGwgXAorICAgICQkUFdEL3N2Zy9T
Vkdab29tQW5kUGFuLmlkbCBcCisgICAgJCRQV0Qvc3ZnL1NWR1pvb21FdmVudC5pZGwKIH0KIAog
Y29udGFpbnMoREVGSU5FUywgRU5BQkxFX1ZJREVPX1RSQUNLPTEpIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtl
ZmlsZS5saXN0LmFtCmluZGV4IDM0NzkxNTg0MTg5ZTllMThkZWM2M2FjNzU1ZDc5ZDEyNDRkNTcx
ZTAuLmI2NTQ3MmMzMGU2YTU5NDhkM2FmYTY5MDhjMGRhY2Q1MjdjNDM1MDcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUv
R05VbWFrZWZpbGUubGlzdC5hbQpAQCAtNTM4Myw2ICs1MzgzLDcgQEAgd2ViY29yZV9idWlsdF9z
b3VyY2VzICs9IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTU1ZHVmlld1NwZWMuaCBcCiAJ
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1NWR1ZLZXJuRWxlbWVudC5jcHAgXAogCURlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNTVkdWS2VybkVsZW1lbnQuaCBcCisJRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU1NWR1pvb21BbmRQYW4uY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTU1ZH
Wm9vbUFuZFBhbi5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTU1ZHWm9vbUV2ZW50LmNw
cCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1NWR1pvb21FdmVudC5oCkBAIC01NTI4LDYg
KzU1MjksNyBAQCBkb21fYmluZGluZ19pZGxzICs9IFwKIAkkKFdlYkNvcmUpL3N2Zy9TVkdVc2VF
bGVtZW50LmlkbCBcCiAJJChXZWJDb3JlKS9zdmcvU1ZHVktlcm5FbGVtZW50LmlkbCBcCiAJJChX
ZWJDb3JlKS9zdmcvU1ZHVmlld0VsZW1lbnQuaWRsIFwKKwkkKFdlYkNvcmUpL3N2Zy9TVkdab29t
QW5kUGFuLmlkbCBcCiAJJChXZWJDb3JlKS9zdmcvU1ZHWm9vbUV2ZW50LmlkbAogZW5kaWYgIyBF
TkQgRU5BQkxFX1NWRwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9X
ZWJDb3JlLmd5cCBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCmluZGV4
IGVlMWNhMDA5Yjk0NzI4Nzg5NzRiMGNlNGM4MDg2NGQyZDY1MWJjMDguLjMwOWUzMzU4NGIyMTFk
ODM1NzIwNjM4OTM0NWQyZGE5NTU1OGNlMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dl
YkNvcmUuZ3lwCkBAIC0xNzQsNyArMTc0LDYgQEAKICAgICAgICcuLi9zdmcvU1ZHVGVzdHMuaWRs
JywKICAgICAgICcuLi9zdmcvU1ZHVHJhbnNmb3JtYWJsZS5pZGwnLAogICAgICAgJy4uL3N2Zy9T
VkdWaWV3U3BlYy5pZGwnLAotICAgICAgJy4uL3N2Zy9TVkdab29tQW5kUGFuLmlkbCcsCiAKICAg
ICAgICMgRklYTUU6IEkgZG9uJ3Qga25vdyB3aHkgdGhlc2UgYXJlIGV4Y2x1ZGVkLCBlaXRoZXIu
CiAgICAgICAjIFNvbWVvbmUgKG1lPykgc2hvdWxkIGZpZ3VyZSBpdCBvdXQgYW5kIGFkZCBhcHBy
b3ByaWF0ZSBjb21tZW50cy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNw
cm9qL1dlYkNvcmUudmNwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29y
ZS52Y3Byb2oKaW5kZXggZDYwMmZiN2Q5NzFiOGE1M2VkYjU5OTI0Mzc0ZmZlNjc4MzkzYzg4Mi4u
NTExOGEyNGQwZDIyZDQyNmMwNzQ3MWViNjNiNWQyYTQ5NGM3NTNmYSAxMDA3NTUKLS0tIGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTIxODM0LDYgKzIxODM0LDYz
IEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29u
ZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNT
Vkdab29tQW5kUGFuLmNwcCIKKwkJCQk+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5h
bWU9IkRlYnVnfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgor
CQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8
L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJS
ZWxlYXNlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJ
CQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0Zp
bGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1
Z19DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJ
CQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgor
CQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5h
bWU9IlJlbGVhc2VfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0i
dHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIK
KwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlv
bgorCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0
cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgor
CQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9u
CisJCQkJCU5hbWU9IlByb2R1Y3Rpb258V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0
cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgor
CQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQor
CQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3RO
YW1lKVxEZXJpdmVkU291cmNlc1xKU1NWR1pvb21BbmRQYW4uaCIKKwkJCQk+CisJCQk8L0ZpbGU+
CisKKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilc
b2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTU1ZHWm9vbUV2ZW50LmNwcCIKIAkJ
CQk+CiAJCQkJPEZpbGVDb25maWd1cmF0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNDEyYjU3MTJlMmEyMGFlYjAxYzBlYmM4
OWU4MGVkYmEyZWRhNGNmYS4uYmVkMmViZTU2OTU0NDc1NjNmY2EwNGI0NDRiYzJiNDc3MTA3YmVl
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagpAQCAtMTgwOCw2ICsxODA4LDggQEAKIAkJNzFBNTdERjExNTRCRTI1QzAwMDlEMTIwIC8q
IFNWR1BhdGhVdGlsaXRpZXMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNzFBNTdERUYxNTRCRTI1QzAwMDlEMTIwIC8qIFNWR1BhdGhVdGlsaXRpZXMu
Y3BwICovOyB9OwogCQk3MUE1N0RGMjE1NEJFMjVDMDAwOUQxMjAgLyogU1ZHUGF0aFV0aWxpdGll
cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzFBNTdE
RjAxNTRCRTI1QzAwMDlEMTIwIC8qIFNWR1BhdGhVdGlsaXRpZXMuaCAqLzsgfTsKIAkJNzFDQzdB
MjAxNTJBMEJGRTAwOUVFQUY5IC8qIFNWR0FuaW1hdGVkRW51bWVyYXRpb24uY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzFDQzdBMUYxNTJBMEJGRTAw
OUVFQUY5IC8qIFNWR0FuaW1hdGVkRW51bWVyYXRpb24uY3BwICovOyB9OworCQk3MURDQjcwMTE1
NjgxOTc2MDA4NjIyNzEgLyogSlNTVkdab29tQW5kUGFuLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcxRENCNkZGMTU2ODE5NzYwMDg2MjI3MSAvKiBK
U1NWR1pvb21BbmRQYW4uY3BwICovOyB9OworCQk3MURDQjcwMjE1NjgxOTc2MDA4NjIyNzEgLyog
SlNTVkdab29tQW5kUGFuLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA3MURDQjcwMDE1NjgxOTc2MDA4NjIyNzEgLyogSlNTVkdab29tQW5kUGFuLmggKi87
IH07CiAJCTcxRTYyM0QxMTUxRjcyQTYwMDM2RTJGNCAvKiBTVkdBbmltYXRlZEludGVnZXJPcHRp
b25hbEludGVnZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDcxRTYyM0NGMTUxRjcyQTYwMDM2RTJGNCAvKiBTVkdBbmltYXRlZEludGVnZXJPcHRpb25h
bEludGVnZXIuaCAqLzsgfTsKIAkJNzFGQjk2N0IxMzgzRDY0NjAwQUM4QTRDIC8qIFNWR0FuaW1h
dGVkRW51bWVyYXRpb25Qcm9wZXJ0eVRlYXJPZmYuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcxRkI5NjdBMTM4M0Q2NDYwMEFDOEE0QyAvKiBTVkdBbmlt
YXRlZEVudW1lcmF0aW9uUHJvcGVydHlUZWFyT2ZmLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNzI2MjZFMDIwRUYwMjJGRTAwQTA3RTIwIC8qIEZv
bnRGYXN0UGF0aC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA3MjYyNkUwMTBFRjAyMkZFMDBBMDdFMjAgLyogRm9udEZhc3RQYXRoLmNwcCAqLzsgfTsK
QEAgLTg4NDgsNiArODg1MCw4IEBACiAJCTcxQTU3REVGMTU0QkUyNUMwMDA5RDEyMCAvKiBTVkdQ
YXRoVXRpbGl0aWVzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNW
R1BhdGhVdGlsaXRpZXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3MUE1N0RG
MDE1NEJFMjVDMDAwOUQxMjAgLyogU1ZHUGF0aFV0aWxpdGllcy5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBTVkdQYXRoVXRpbGl0aWVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTcxQ0M3QTFGMTUyQTBCRkUwMDlFRUFGOSAvKiBTVkdBbmltYXRlZEVudW1lcmF0
aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNWR0FuaW1hdGVk
RW51bWVyYXRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3MURDQjZGRjE1
NjgxOTc2MDA4NjIyNzEgLyogSlNTVkdab29tQW5kUGFuLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IEpTU1ZHWm9vbUFuZFBhbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTcxRENCNzAwMTU2ODE5NzYwMDg2MjI3MSAvKiBKU1NWR1pvb21BbmRQYW4u
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNTVkdab29tQW5kUGFuLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTcxRTYyM0NFMTUxRjcyQTYwMDM2RTJGNCAvKiBT
VkdBbmltYXRlZEludGVnZXJPcHRpb25hbEludGVnZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gU1ZHQW5pbWF0ZWRJbnRlZ2VyT3B0aW9uYWxJbnRlZ2VyLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzFFNjIzQ0YxNTFGNzJBNjAwMzZFMkY0IC8q
IFNWR0FuaW1hdGVkSW50ZWdlck9wdGlvbmFsSW50ZWdlci5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBTVkdBbmltYXRlZEludGVnZXJPcHRpb25hbEludGVnZXIuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzFGQjk2N0ExMzgzRDY0NjAwQUM4QTRDIC8qIFNWR0Fu
aW1hdGVkRW51bWVyYXRpb25Qcm9wZXJ0eVRlYXJPZmYuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gU1ZHQW5pbWF0ZWRFbnVtZXJhdGlvblByb3BlcnR5VGVhck9mZi5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTgzNjEsNiArMTgzNjUsOCBAQAogCQkJCUIyRkEz
RDJGMEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NWR1ZpZXdFbGVtZW50LmggKi8sCiAJCQkJODQ4NTIy
NzkxMTkwMTYyQzAwNkVEQzdGIC8qIEpTU1ZHVktlcm5FbGVtZW50LmNwcCAqLywKIAkJCQk4NDg1
MjI3QTExOTAxNjJDMDA2RURDN0YgLyogSlNTVkdWS2VybkVsZW1lbnQuaCAqLywKKwkJCQk3MURD
QjZGRjE1NjgxOTc2MDA4NjIyNzEgLyogSlNTVkdab29tQW5kUGFuLmNwcCAqLywKKwkJCQk3MURD
QjcwMDE1NjgxOTc2MDA4NjIyNzEgLyogSlNTVkdab29tQW5kUGFuLmggKi8sCiAJCQkJQjJGQTNE
MzAwQUI3NUE2RjAwMEU1QUM0IC8qIEpTU1ZHWm9vbUV2ZW50LmNwcCAqLywKIAkJCQlCMkZBM0Qz
MTBBQjc1QTZGMDAwRTVBQzQgLyogSlNTVkdab29tRXZlbnQuaCAqLywKIAkJCSk7CkBAIC0yNDkx
Nyw2ICsyNDkyMyw3IEBACiAJCQkJMjlBMzA5QjExNTYxQ0FDNDAwQkJEOEU1IC8qIFZpc2l0ZWRM
aW5rcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkRCMDUyRTAxNTYxQTQyQzAwQjUwMEQ2IC8qIEF1
ZGlvU3VtbWluZ0p1bmN0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQkzNzE5NDE5NzE1NjZCMzcy
MDBBMjc2RDggLyogV2ViQ29yZU5TQ2VsbEV4dHJhcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJNzFE
Q0I3MDIxNTY4MTk3NjAwODYyMjcxIC8qIEpTU1ZHWm9vbUFuZFBhbi5oIGluIEhlYWRlcnMgKi8s
CiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07
CkBAIC0yNzk0Myw2ICsyNzk1MCw3IEBACiAJCQkJRkRCMDUyREYxNTYxQTQyQzAwQjUwMEQ2IC8q
IEF1ZGlvU3VtbWluZ0p1bmN0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTM3MTk0MTk2MTU2
NkIzNzIwMEEyNzZEOCAvKiBXZWJDb3JlTlNDZWxsRXh0cmFzLm0gaW4gU291cmNlcyAqLywKIAkJ
CQkxNDZDQzExNTE1Njk4OEU0MDAxMDlFMzcgLyogTGVuZ3RoQm94LmNwcCBpbiBTb3VyY2VzICov
LAorCQkJCTcxRENCNzAxMTU2ODE5NzYwMDg2MjI3MSAvKiBKU1NWR1pvb21BbmRQYW4uY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2lu
ZyA9IDA7CiAJCX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9neXAvV2ViQ29yZS5neXAg
Yi9Tb3VyY2UvV2ViQ29yZS9neXAvV2ViQ29yZS5neXAKaW5kZXggNjFmYjNjY2Y3ZTk2MTg4Njli
MWQ0ZTJiOWNkNjg3OTY2YjM2YzllNi4uYzBkNGE3YzhkN2ZjMWU3MjVhZWE3M2I5YWEzZWZiMGQw
YjBkMDBiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZ3lwL1dlYkNvcmUuZ3lwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2d5cC9XZWJDb3JlLmd5cApAQCAtMTIzLDcgKzEyMyw2IEBACiAgICAg
ICAgIFsnZXhjbHVkZScsICdKU1NWR1Rlc3RzXFwuKGNwcHxoKSddLAogICAgICAgICBbJ2V4Y2x1
ZGUnLCAnSlNTVkdUcmFuc2Zvcm1hYmxlXFwuKGNwcHxoKSddLAogICAgICAgICBbJ2V4Y2x1ZGUn
LCAnSlNTVkdVUklSZWZlcmVuY2VcXC4oY3BwfGgpJ10sCi0gICAgICAgIFsnZXhjbHVkZScsICdK
U1NWR1pvb21BbmRQYW5cXC4oY3BwfGgpJ10sCiAgICAgICAgIFsnZXhjbHVkZScsICd0b2tlbml6
ZXJcXC5jcHAnXSwKIAogICAgICAgICBbJ2V4Y2x1ZGUnLCAnQWxsSW5PbmVcXC5jcHAkJ10sCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKaW5kZXggNTk3ZDA3ZDk0MWE3YWUxNTBhMmMxNThiNDU4
YTM1ZTMyYTFlYWRmZS4uOTRjZWQwMWM1YTk5YjI4NjU1ZTFmMDRjZWY4Y2FmZDgxNzM0OTdlMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbApAQCAtNzA5LDYgKzcwOSw3IEBAIG1vZHVsZSB3
aW5kb3cgewogICAgICAgICBhdHRyaWJ1dGUgU1ZHVXNlRWxlbWVudENvbnN0cnVjdG9yIFNWR1Vz
ZUVsZW1lbnQ7CiAgICAgICAgIGF0dHJpYnV0ZSBTVkdWaWV3RWxlbWVudENvbnN0cnVjdG9yIFNW
R1ZpZXdFbGVtZW50OwogLy8gICAgICBhdHRyaWJ1dGUgU1ZHVmlld1NwZWNDb25zdHJ1Y3RvciBT
VkdWaWV3U3BlYzsKKyAgICAgICAgYXR0cmlidXRlIFNWR1pvb21BbmRQYW5Db25zdHJ1Y3RvciBT
Vkdab29tQW5kUGFuOwogCiAgICAgICAgIGF0dHJpYnV0ZSBTVkdBbmltYXRlQ29sb3JFbGVtZW50
Q29uc3RydWN0b3IgU1ZHQW5pbWF0ZUNvbG9yRWxlbWVudDsKICAgICAgICAgYXR0cmlidXRlIFNW
R0FuaW1hdGVFbGVtZW50Q29uc3RydWN0b3IgU1ZHQW5pbWF0ZUVsZW1lbnQ7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0RvY3VtZW50LmNwcAppbmRleCBjMjllZGUzNjkyMWJkMmNlNzU5NTVjNDdkOTM3ZmRlYjc0
NDMyMzNmLi5mZjc3NGQyZWE5ODhkZmRmMzA5ZmM0NjNiMGI4Mzg2MDg3YjhmYzM2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdEb2N1bWVudC5jcHAKQEAgLTczLDkgKzczLDkgQEAgYm9vbCBTVkdEb2N1bWVu
dDo6em9vbUFuZFBhbkVuYWJsZWQoKSBjb25zdAogICAgIGlmIChyb290RWxlbWVudCgpKSB7CiAg
ICAgICAgIGlmIChyb290RWxlbWVudCgpLT51c2VDdXJyZW50VmlldygpKSB7CiAgICAgICAgICAg
ICBpZiAocm9vdEVsZW1lbnQoKS0+Y3VycmVudFZpZXcoKSkKLSAgICAgICAgICAgICAgICByZXR1
cm4gcm9vdEVsZW1lbnQoKS0+Y3VycmVudFZpZXcoKS0+em9vbUFuZFBhbigpID09IFNWR1pvb21B
bmRQYW46OlNWR19aT09NQU5EUEFOX01BR05JRlk7CisgICAgICAgICAgICAgICAgcmV0dXJuIHJv
b3RFbGVtZW50KCktPmN1cnJlbnRWaWV3KCktPnpvb21BbmRQYW4oKSA9PSBTVkdab29tQW5kUGFu
TWFnbmlmeTsKICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICByZXR1cm4gcm9vdEVsZW1lbnQo
KS0+em9vbUFuZFBhbigpID09IFNWR1pvb21BbmRQYW46OlNWR19aT09NQU5EUEFOX01BR05JRlk7
CisgICAgICAgICAgICByZXR1cm4gcm9vdEVsZW1lbnQoKS0+em9vbUFuZFBhbigpID09IFNWR1pv
b21BbmRQYW5NYWduaWZ5OwogICAgIH0KIAogICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdTVkdFbGVtZW50LmNwcAppbmRleCA4ZTBmMjEwZmY3MzFjOTg4ODJlZjA3YzZhZWIzY2I0
YjIwZmRkODRhLi43ZjFiNmM3ZmM4YzI1ODhkNjc1Mzc4MjVmNjA4MTMwZGVhNTk0NzU2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU1ZHRWxlbWVudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR1NWR0VsZW1lbnQuY3BwCkBAIC01Miw2ICs1Miw3IEBACiAjaW5jbHVk
ZSAiU1ZHVHJhbnNmb3JtTGlzdC5oIgogI2luY2x1ZGUgIlNWR1ZpZXdFbGVtZW50LmgiCiAjaW5j
bHVkZSAiU1ZHVmlld1NwZWMuaCIKKyNpbmNsdWRlICJTVkdab29tQW5kUGFuLmgiCiAjaW5jbHVk
ZSAiU1ZHWm9vbUV2ZW50LmgiCiAjaW5jbHVkZSAiU2NyaXB0RXZlbnRMaXN0ZW5lci5oIgogI2lu
Y2x1ZGUgIlN0YXRpY05vZGVMaXN0LmgiCkBAIC04Nyw2ICs4OCw3IEBAIGlubGluZSBTVkdTVkdF
bGVtZW50OjpTVkdTVkdFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3Vt
ZW50KiBkb2MpCiAgICAgLCBtX3dpZHRoKExlbmd0aE1vZGVXaWR0aCwgIjEwMCUiKQogICAgICwg
bV9oZWlnaHQoTGVuZ3RoTW9kZUhlaWdodCwgIjEwMCUiKSAKICAgICAsIG1fdXNlQ3VycmVudFZp
ZXcoZmFsc2UpCisgICAgLCBtX3pvb21BbmRQYW4oU1ZHWm9vbUFuZFBhbk1hZ25pZnkpCiAgICAg
LCBtX3RpbWVDb250YWluZXIoU01JTFRpbWVDb250YWluZXI6OmNyZWF0ZSh0aGlzKSkKIHsKICAg
ICBBU1NFUlQoaGFzVGFnTmFtZShTVkdOYW1lczo6c3ZnVGFnKSk7CkBAIC0xNjgsMTYgKzE3MCw2
IEBAIGZsb2F0IFNWR1NWR0VsZW1lbnQ6OnNjcmVlblBpeGVsVG9NaWxsaW1ldGVyWSgpIGNvbnN0
CiAgICAgcmV0dXJuIHBpeGVsVW5pdFRvTWlsbGltZXRlclkoKTsKIH0KIAotYm9vbCBTVkdTVkdF
bGVtZW50Ojp1c2VDdXJyZW50VmlldygpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fdXNlQ3VycmVu
dFZpZXc7Ci19Ci0KLXZvaWQgU1ZHU1ZHRWxlbWVudDo6c2V0VXNlQ3VycmVudFZpZXcoYm9vbCBj
dXJyZW50VmlldykKLXsKLSAgICBtX3VzZUN1cnJlbnRWaWV3ID0gY3VycmVudFZpZXc7Ci19Ci0K
IFNWR1ZpZXdTcGVjKiBTVkdTVkdFbGVtZW50OjpjdXJyZW50VmlldygpIGNvbnN0CiB7CiAgICAg
aWYgKCFtX3ZpZXdTcGVjKQpAQCAtMjc4LDcgKzI3MCw3IEBAIHZvaWQgU1ZHU1ZHRWxlbWVudDo6
cGFyc2VBdHRyaWJ1dGUoY29uc3QgQXR0cmlidXRlJiBhdHRyaWJ1dGUpCiAgICAgICAgICAgICAg
ICB8fCBTVkdMYW5nU3BhY2U6OnBhcnNlQXR0cmlidXRlKGF0dHJpYnV0ZSkKICAgICAgICAgICAg
ICAgIHx8IFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQ6OnBhcnNlQXR0cmlidXRlKGF0dHJp
YnV0ZSkKICAgICAgICAgICAgICAgIHx8IFNWR0ZpdFRvVmlld0JveDo6cGFyc2VBdHRyaWJ1dGUo
ZG9jdW1lbnQoKSwgYXR0cmlidXRlKQotICAgICAgICAgICAgICAgfHwgU1ZHWm9vbUFuZFBhbjo6
cGFyc2VBdHRyaWJ1dGUoYXR0cmlidXRlKSkgeworICAgICAgICAgICAgICAgfHwgU1ZHWm9vbUFu
ZFBhbjo6cGFyc2VBdHRyaWJ1dGUodGhpcywgYXR0cmlidXRlKSkgewogICAgIH0gZWxzZQogICAg
ICAgICBTVkdTdHlsZWRMb2NhdGFibGVFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZShhdHRyaWJ1dGUp
OwogCkBAIC02NTcsNyArNjQ5LDcgQEAgQWZmaW5lVHJhbnNmb3JtIFNWR1NWR0VsZW1lbnQ6OnZp
ZXdCb3hUb1ZpZXdUcmFuc2Zvcm0oZmxvYXQgdmlld1dpZHRoLCBmbG9hdCB2aWUKICAgICBBZmZp
bmVUcmFuc2Zvcm0gY3RtID0gU1ZHRml0VG9WaWV3Qm94Ojp2aWV3Qm94VG9WaWV3VHJhbnNmb3Jt
KGN1cnJlbnRWaWV3Qm94UmVjdCgpLCBwcmVzZXJ2ZUFzcGVjdFJhdGlvKCksIHZpZXdXaWR0aCwg
dmlld0hlaWdodCk7CiAgICAgaWYgKHVzZUN1cnJlbnRWaWV3KCkgJiYgY3VycmVudFZpZXcoKSkg
ewogICAgICAgICBBZmZpbmVUcmFuc2Zvcm0gdHJhbnNmb3JtOwotICAgICAgICBpZiAoY3VycmVu
dFZpZXcoKS0+dHJhbnNmb3JtKCkuY29uY2F0ZW5hdGUodHJhbnNmb3JtKSkKKyAgICAgICAgaWYg
KGN1cnJlbnRWaWV3KCktPnRyYW5zZm9ybUJhc2VWYWx1ZSgpLmNvbmNhdGVuYXRlKHRyYW5zZm9y
bSkpCiAgICAgICAgICAgICBjdG0gKj0gdHJhbnNmb3JtOwogICAgIH0KIApAQCAtNjg4LDcgKzY4
MCw3IEBAIHZvaWQgU1ZHU1ZHRWxlbWVudDo6c2V0dXBJbml0aWFsVmlldyhjb25zdCBTdHJpbmcm
IGZyYWdtZW50SWRlbnRpZmllciwgRWxlbWVudCoKICAgICAgICAgaWYgKCFtX3VzZUN1cnJlbnRW
aWV3KQogICAgICAgICAgICAgcmV0dXJuOwogICAgIH0gZWxzZSBpZiAoIW1fdXNlQ3VycmVudFZp
ZXcpCi0gICAgICAgIGN1cnJlbnRWaWV3KCktPnNldFRyYW5zZm9ybShlbXB0eVN0cmluZygpKTsK
KyAgICAgICAgY3VycmVudFZpZXcoKS0+c2V0VHJhbnNmb3JtU3RyaW5nKGVtcHR5U3RyaW5nKCkp
OwogCiAgICAgLy8gRm9yY2UgYSBsYXlvdXQsIG90aGVyd2lzZSBSZW5kZXJTVkdSb290cyBsb2Nh
bFRvQm9yZGVyQm94VHJhbnNmb3JtIHdvbid0IGJlIHJlYnVpbGQuCiAgICAgaWYgKFJlbmRlck9i
amVjdCogb2JqZWN0ID0gcmVuZGVyZXIoKSkKQEAgLTcxMyw3ICs3MDUsNyBAQCB2b2lkIFNWR1NW
R0VsZW1lbnQ6OmluaGVyaXRWaWV3QXR0cmlidXRlcyhTVkdWaWV3RWxlbWVudCogdmlld0VsZW1l
bnQpCiAgICAgY3VycmVudFZpZXcoKS0+c2V0UHJlc2VydmVBc3BlY3RSYXRpb0Jhc2VWYWx1ZShh
c3BlY3RSYXRpbyk7CiAKICAgICBpZiAodmlld0VsZW1lbnQtPmhhc0F0dHJpYnV0ZShTVkdOYW1l
czo6em9vbUFuZFBhbkF0dHIpKQotICAgICAgICBjdXJyZW50VmlldygpLT5zZXRab29tQW5kUGFu
KHZpZXdFbGVtZW50LT56b29tQW5kUGFuKCkpOworICAgICAgICBjdXJyZW50VmlldygpLT5zZXRa
b29tQW5kUGFuQmFzZVZhbHVlKHZpZXdFbGVtZW50LT56b29tQW5kUGFuKCkpOwogICAgIAogICAg
IGlmIChSZW5kZXJPYmplY3QqIG9iamVjdCA9IHJlbmRlcmVyKCkpCiAgICAgICAgIFJlbmRlclNW
R1Jlc291cmNlOjptYXJrRm9yTGF5b3V0QW5kUGFyZW50UmVzb3VyY2VJbnZhbGlkYXRpb24ob2Jq
ZWN0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHU1ZHRWxlbWVudC5oCmluZGV4IDZlYWQ3OGJkMjg0MGQ1ODk4
NjE5NjY1ZjhkMmNhMjJiMWM4YzdjNDMuLmZlMDVhMDA3MjY5M2FiZmU5NjJlNGRhODkxNGRhOTFj
YTA2YzVkNWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1NWR0VsZW1lbnQuaApAQCAtNTEsNiArNTEsMTQg
QEAgY2xhc3MgU1ZHU1ZHRWxlbWVudCA6IHB1YmxpYyBTVkdTdHlsZWRMb2NhdGFibGVFbGVtZW50
LAogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNWR1NWR0VsZW1lbnQ+IGNyZWF0ZShj
b25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqKTsKIAorICAgIHVzaW5nIFNWR1N0eWxlZExv
Y2F0YWJsZUVsZW1lbnQ6OnJlZjsKKyAgICB1c2luZyBTVkdTdHlsZWRMb2NhdGFibGVFbGVtZW50
OjpkZXJlZjsKKworI2lmIFBMQVRGT1JNKFdJTikKKyAgICAvLyBXb3JrLWFyb3VuZCBhbWJpZ3Vv
dXMgY2FsbCB0byBvdmVybG9hZGVkIGZ1bmN0aW9uIGNhbGwgZXJyb3IgaW4gSlNTVkdEb2N1bWVu
dC5jcHAgb24gV2luL0pTQy4KKyAgICBvcGVyYXRvciBOb2RlKigpIHsgcmV0dXJuIHRoaXM7IH0K
KyNlbmRpZgorCiAgICAgdmlydHVhbCBib29sIGlzVmFsaWQoKSBjb25zdCB7IHJldHVybiBTVkdU
ZXN0czo6aXNWYWxpZCgpOyB9CiAgICAgdmlydHVhbCBib29sIHN1cHBvcnRzRm9jdXMoKSBjb25z
dCB7IHJldHVybiB0cnVlOyB9CiAKQEAgLTY4LDggKzc2LDggQEAgcHVibGljOgogICAgIGZsb2F0
IHNjcmVlblBpeGVsVG9NaWxsaW1ldGVyWCgpIGNvbnN0OwogICAgIGZsb2F0IHNjcmVlblBpeGVs
VG9NaWxsaW1ldGVyWSgpIGNvbnN0OwogCi0gICAgYm9vbCB1c2VDdXJyZW50VmlldygpIGNvbnN0
OwotICAgIHZvaWQgc2V0VXNlQ3VycmVudFZpZXcoYm9vbCBjdXJyZW50Vmlldyk7CisgICAgYm9v
bCB1c2VDdXJyZW50VmlldygpIGNvbnN0IHsgcmV0dXJuIG1fdXNlQ3VycmVudFZpZXc7IH0KKyAg
ICB2b2lkIHNldFVzZUN1cnJlbnRWaWV3KGJvb2wgY3VycmVudFZpZXcpIHsgbV91c2VDdXJyZW50
VmlldyA9IGN1cnJlbnRWaWV3OyB9CiAKICAgICBTVkdWaWV3U3BlYyogY3VycmVudFZpZXcoKSBj
b25zdDsKIApAQCAtMTMxLDYgKzEzOSw5IEBAIHB1YmxpYzoKICAgICBib29sIHdpZHRoQXR0cmli
dXRlRXN0YWJsaXNoZXNWaWV3cG9ydCgpIGNvbnN0OwogICAgIGJvb2wgaGVpZ2h0QXR0cmlidXRl
RXN0YWJsaXNoZXNWaWV3cG9ydCgpIGNvbnN0OwogCisgICAgU1ZHWm9vbUFuZFBhblR5cGUgem9v
bUFuZFBhbigpIGNvbnN0IHsgcmV0dXJuIG1fem9vbUFuZFBhbjsgfQorICAgIHZvaWQgc2V0Wm9v
bUFuZFBhbih1bnNpZ25lZCBzaG9ydCB6b29tQW5kUGFuKSB7IG1fem9vbUFuZFBhbiA9IFNWR1pv
b21BbmRQYW46OnBhcnNlRnJvbU51bWJlcih6b29tQW5kUGFuKTsgfQorCiBwcm90ZWN0ZWQ6CiAg
ICAgdmlydHVhbCB2b2lkIGRpZE1vdmVUb05ld0RvY3VtZW50KERvY3VtZW50KiBvbGREb2N1bWVu
dCkgT1ZFUlJJREU7CiAKQEAgLTE4Miw2ICsxOTMsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwg
QWZmaW5lVHJhbnNmb3JtIGxvY2FsQ29vcmRpbmF0ZVNwYWNlVHJhbnNmb3JtKFNWR0xvY2F0YWJs
ZTo6Q1RNU2NvcGUpIGNvbnN0OwogCiAgICAgYm9vbCBtX3VzZUN1cnJlbnRWaWV3OworICAgIFNW
R1pvb21BbmRQYW5UeXBlIG1fem9vbUFuZFBhbjsKICAgICBSZWZQdHI8U01JTFRpbWVDb250YWlu
ZXI+IG1fdGltZUNvbnRhaW5lcjsKICAgICBGbG9hdFBvaW50IG1fdHJhbnNsYXRpb247CiAgICAg
bXV0YWJsZSBPd25QdHI8U1ZHVmlld1NwZWM+IG1fdmlld1NwZWM7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHVmlld0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R1ZpZXdFbGVtZW50LmNwcAppbmRleCAyYTJmZWYxNzEzN2JjY2VmM2Q4MDQwODFkYmUwZDhkYjg3
M2QzZjBkLi5kYWJlOWRiNWNmM2VkZTlmNjcxMTZjZTIxNmQ3NTIxNTQyYjA5MzdjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVmlld0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdWaWV3RWxlbWVudC5jcHAKQEAgLTQ1LDYgKzQ1LDcgQEAgRU5EX1JFR0lT
VEVSX0FOSU1BVEVEX1BST1BFUlRJRVMKIAogaW5saW5lIFNWR1ZpZXdFbGVtZW50OjpTVkdWaWV3
RWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQp
CiAgICAgOiBTVkdTdHlsZWRFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQorICAgICwgbV96b29t
QW5kUGFuKFNWR1pvb21BbmRQYW5NYWduaWZ5KQogICAgICwgbV92aWV3VGFyZ2V0KFNWR05hbWVz
Ojp2aWV3VGFyZ2V0QXR0cikKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShTVkdOYW1lczo6dmll
d1RhZykpOwpAQCAtODQsNyArODUsNyBAQCB2b2lkIFNWR1ZpZXdFbGVtZW50OjpwYXJzZUF0dHJp
YnV0ZShjb25zdCBBdHRyaWJ1dGUmIGF0dHJpYnV0ZSkKICAgICAgICAgcmV0dXJuOwogICAgIGlm
IChTVkdGaXRUb1ZpZXdCb3g6OnBhcnNlQXR0cmlidXRlKGRvY3VtZW50KCksIGF0dHJpYnV0ZSkp
CiAgICAgICAgIHJldHVybjsKLSAgICBpZiAoU1ZHWm9vbUFuZFBhbjo6cGFyc2VBdHRyaWJ1dGUo
YXR0cmlidXRlKSkKKyAgICBpZiAoU1ZHWm9vbUFuZFBhbjo6cGFyc2VBdHRyaWJ1dGUodGhpcywg
YXR0cmlidXRlKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVmlld0VsZW1lbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdWaWV3RWxlbWVudC5oCmluZGV4IDZkODA4OWVhMmVmYThiN2M4Mjhl
OWE2ZDJkMDJmZjhkYjlmMWM2ODEuLjExZjU4Mzg4YTdlMDVkYTFjYTQwNzdlM2I0MDE3Yjg2MDI2
NzYxZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdWaWV3RWxlbWVudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdWaWV3RWxlbWVudC5oCkBAIC00MCw4ICs0MCwxNCBA
QCBjbGFzcyBTVkdWaWV3RWxlbWVudCA6IHB1YmxpYyBTVkdTdHlsZWRFbGVtZW50LAogcHVibGlj
OgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNWR1ZpZXdFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVh
bGlmaWVkTmFtZSYsIERvY3VtZW50Kik7CiAKKyAgICB1c2luZyBTVkdTdHlsZWRFbGVtZW50Ojpy
ZWY7CisgICAgdXNpbmcgU1ZHU3R5bGVkRWxlbWVudDo6ZGVyZWY7CisKICAgICBTVkdTdHJpbmdM
aXN0JiB2aWV3VGFyZ2V0KCkgeyByZXR1cm4gbV92aWV3VGFyZ2V0OyB9CiAKKyAgICBTVkdab29t
QW5kUGFuVHlwZSB6b29tQW5kUGFuKCkgY29uc3QgeyByZXR1cm4gbV96b29tQW5kUGFuOyB9Cisg
ICAgdm9pZCBzZXRab29tQW5kUGFuKHVuc2lnbmVkIHNob3J0IHpvb21BbmRQYW4pIHsgbV96b29t
QW5kUGFuID0gU1ZHWm9vbUFuZFBhbjo6cGFyc2VGcm9tTnVtYmVyKHpvb21BbmRQYW4pOyB9CisK
IHByaXZhdGU6CiAgICAgU1ZHVmlld0VsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3Vt
ZW50Kik7CiAKQEAgLTU3LDYgKzYzLDcgQEAgcHJpdmF0ZToKICAgICAgICAgREVDTEFSRV9BTklN
QVRFRF9QUkVTRVJWRUFTUEVDVFJBVElPKFByZXNlcnZlQXNwZWN0UmF0aW8sIHByZXNlcnZlQXNw
ZWN0UmF0aW8pCiAgICAgRU5EX0RFQ0xBUkVfQU5JTUFURURfUFJPUEVSVElFUwogCisgICAgU1ZH
Wm9vbUFuZFBhblR5cGUgbV96b29tQW5kUGFuOwogICAgIFNWR1N0cmluZ0xpc3QgbV92aWV3VGFy
Z2V0OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ZpZXdTcGVjLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdWaWV3U3BlYy5jcHAKaW5kZXggNDE1YjE5ZTViOTlk
NTBjZTY2NWQ4OWU0OTZjYmRjYWUzYzcyOGFlMi4uOGJiMDQwMDU1ZDdjMGEwMmYzYTZhM2VkZjgy
MzJhNzIzNzA5YjlmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ZpZXdTcGVj
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVmlld1NwZWMuY3BwCkBAIC00MSwxMiAr
NDEsMTMgQEAgRU5EX1JFR0lTVEVSX0FOSU1BVEVEX1BST1BFUlRJRVMKIAogU1ZHVmlld1NwZWM6
OlNWR1ZpZXdTcGVjKFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KQogICAgIDogbV9jb250ZXh0
RWxlbWVudChjb250ZXh0RWxlbWVudCkKKyAgICAsIG1fem9vbUFuZFBhbihTVkdab29tQW5kUGFu
TWFnbmlmeSkKIHsKICAgICBBU1NFUlQobV9jb250ZXh0RWxlbWVudCk7CiAgICAgcmVnaXN0ZXJB
bmltYXRlZFByb3BlcnRpZXNGb3JTVkdWaWV3U3BlYygpOwogfQogCi12b2lkIFNWR1ZpZXdTcGVj
OjpzZXRUcmFuc2Zvcm0oY29uc3QgU3RyaW5nJiB0cmFuc2Zvcm0pCit2b2lkIFNWR1ZpZXdTcGVj
OjpzZXRUcmFuc2Zvcm1TdHJpbmcoY29uc3QgU3RyaW5nJiB0cmFuc2Zvcm0pCiB7CiAgICAgbV90
cmFuc2Zvcm0ucGFyc2UodHJhbnNmb3JtKTsKIH0KQEAgLTEzMSw3ICsxMzIsNyBAQCBib29sIFNW
R1ZpZXdTcGVjOjpwYXJzZVZpZXdTcGVjKGNvbnN0IFN0cmluZyYgdmlld1NwZWMpCiAgICAgICAg
ICAgICBpZiAoY3VyclZpZXdTcGVjID49IGVuZCB8fCAqY3VyclZpZXdTcGVjICE9ICcoJykKICAg
ICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICBjdXJyVmlld1NwZWMrKzsK
LSAgICAgICAgICAgIGlmICghcGFyc2Vab29tQW5kUGFuKGN1cnJWaWV3U3BlYywgZW5kKSkKKyAg
ICAgICAgICAgIGlmICghcGFyc2Vab29tQW5kUGFuKGN1cnJWaWV3U3BlYywgZW5kLCBtX3pvb21B
bmRQYW4pKQogICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgIGlmIChj
dXJyVmlld1NwZWMgPj0gZW5kIHx8ICpjdXJyVmlld1NwZWMgIT0gJyknKQogICAgICAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdWaWV3
U3BlYy5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ZpZXdTcGVjLmgKaW5kZXggYzIxYTBjOTU5
MDU4MDI4ZjQ4ZGMxODU5ZTA2ZWU1Mjk2MWQzNDE4Yi4uMWU0YzI3MTU4NDRmNmI5OWQxYTdhYjY5
MWE3ZGJhNDljNjRlZjczNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ZpZXdT
cGVjLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ZpZXdTcGVjLmgKQEAgLTMxLDE2ICsz
MSwxNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNWR0VsZW1lbnQ7CiAKLWNsYXNz
IFNWR1ZpZXdTcGVjIDogcHVibGljIFNWR0ZpdFRvVmlld0JveCwKLSAgICAgICAgICAgICAgICAg
ICAgcHVibGljIFNWR1pvb21BbmRQYW4geworY2xhc3MgU1ZHVmlld1NwZWMgOiBwdWJsaWMgU1ZH
Wm9vbUFuZFBhbiwKKyAgICAgICAgICAgICAgICAgICAgcHVibGljIFNWR0ZpdFRvVmlld0JveCB7
CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHVmlld1NwZWMpOwogcHVibGljOgogICAgIFNW
R1ZpZXdTcGVjKFNWR0VsZW1lbnQqKTsKIAogICAgIGJvb2wgcGFyc2VWaWV3U3BlYyhjb25zdCBT
dHJpbmcmKTsKIAotICAgIHZvaWQgc2V0VHJhbnNmb3JtKGNvbnN0IFN0cmluZyYpOworICAgIHZv
aWQgc2V0VHJhbnNmb3JtU3RyaW5nKGNvbnN0IFN0cmluZyYpOwogICAgIFNWR1RyYW5zZm9ybUxp
c3QgdHJhbnNmb3JtKCkgY29uc3QgeyByZXR1cm4gbV90cmFuc2Zvcm07IH0KKyAgICBTVkdUcmFu
c2Zvcm1MaXN0IHRyYW5zZm9ybUJhc2VWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fdHJhbnNmb3Jt
OyB9CiAKICAgICB2b2lkIHNldFZpZXdCb3hTdHJpbmcoY29uc3QgU3RyaW5nJik7CiAKQEAgLTUw
LDYgKzUxLDEwIEBAIHB1YmxpYzoKICAgICBTdHJpbmcgdmlld1RhcmdldFN0cmluZygpIGNvbnN0
IHsgcmV0dXJuIG1fdmlld1RhcmdldFN0cmluZzsgfQogICAgIFNWR0VsZW1lbnQqIHZpZXdUYXJn
ZXQoKSBjb25zdDsKIAorICAgIFNWR1pvb21BbmRQYW5UeXBlIHpvb21BbmRQYW4oKSBjb25zdCB7
IHJldHVybiBtX3pvb21BbmRQYW47IH0KKyAgICB2b2lkIHNldFpvb21BbmRQYW4odW5zaWduZWQg
c2hvcnQsIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICB2b2lkIHNldFpvb21BbmRQYW5CYXNlVmFsdWUo
dW5zaWduZWQgc2hvcnQgem9vbUFuZFBhbikgeyBtX3pvb21BbmRQYW4gPSBTVkdab29tQW5kUGFu
OjpwYXJzZUZyb21OdW1iZXIoem9vbUFuZFBhbik7IH0KKwogcHJpdmF0ZToKICAgICBTVkdFbGVt
ZW50KiBtX2NvbnRleHRFbGVtZW50OwogCkBAIC02MCw2ICs2NSw3IEBAIHByaXZhdGU6CiAKICAg
ICBTVkdUcmFuc2Zvcm1MaXN0IG1fdHJhbnNmb3JtOwogICAgIFN0cmluZyBtX3ZpZXdUYXJnZXRT
dHJpbmc7CisgICAgU1ZHWm9vbUFuZFBhblR5cGUgbV96b29tQW5kUGFuOwogfTsKIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1pvb21B
bmRQYW4uY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1pvb21BbmRQYW4uY3BwCmluZGV4IGU3
MDZhZmZkYTMwMTNlYzQ4YTM2MWVlZmQxMTc0MWNiY2NmNThlZTQuLjgxM2ViZTc2YTVlMmJlOTlk
NzYwN2NjNWU2ZTQyYjdjNGQ5ZDQxOTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
Vkdab29tQW5kUGFuLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHWm9vbUFuZFBhbi5j
cHAKQEAgLTIzLDUyICsyMyw0OSBAQAogI2lmIEVOQUJMRShTVkcpCiAjaW5jbHVkZSAiU1ZHWm9v
bUFuZFBhbi5oIgogCi0jaW5jbHVkZSAiQXR0cmlidXRlLmgiCi0jaW5jbHVkZSAiU1ZHTmFtZXMu
aCIKICNpbmNsdWRlICJTVkdQYXJzZXJVdGlsaXRpZXMuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi12b2lkIFNWR1pvb21BbmRQYW46OnNldFpvb21BbmRQYW4odW5zaWduZWQgc2hvcnQgem9v
bUFuZFBhbikKK2Jvb2wgU1ZHWm9vbUFuZFBhbjo6aXNLbm93bkF0dHJpYnV0ZShjb25zdCBRdWFs
aWZpZWROYW1lJiBhdHRyTmFtZSkKIHsKLSAgICBtX3pvb21BbmRQYW4gPSB6b29tQW5kUGFuOwor
ICAgIHJldHVybiBhdHRyTmFtZSA9PSBTVkdOYW1lczo6em9vbUFuZFBhbkF0dHI7CiB9CiAKLWJv
b2wgU1ZHWm9vbUFuZFBhbjo6cGFyc2VBdHRyaWJ1dGUoY29uc3QgQXR0cmlidXRlJiBhdHRyaWJ1
dGUpCit2b2lkIFNWR1pvb21BbmRQYW46OmFkZFN1cHBvcnRlZEF0dHJpYnV0ZXMoSGFzaFNldDxR
dWFsaWZpZWROYW1lPiYgc3VwcG9ydGVkQXR0cmlidXRlcykKIHsKLSAgICBpZiAoYXR0cmlidXRl
Lm5hbWUoKSA9PSBTVkdOYW1lczo6em9vbUFuZFBhbkF0dHIpIHsKLSAgICAgICAgY29uc3QgVUNo
YXIqIHN0YXJ0ID0gYXR0cmlidXRlLnZhbHVlKCkuY2hhcmFjdGVycygpOwotICAgICAgICBjb25z
dCBVQ2hhciogZW5kID0gc3RhcnQgKyBhdHRyaWJ1dGUudmFsdWUoKS5sZW5ndGgoKTsKLSAgICAg
ICAgcGFyc2Vab29tQW5kUGFuKHN0YXJ0LCBlbmQpOworICAgIHN1cHBvcnRlZEF0dHJpYnV0ZXMu
YWRkKFNWR05hbWVzOjp6b29tQW5kUGFuQXR0cik7Cit9CisKK3N0YXRpYyBjb25zdCBVQ2hhciBk
aXNhYmxlW10gPSAgeydkJywgJ2knLCAncycsICdhJywgJ2InLCAnbCcsICdlJ307CitzdGF0aWMg
Y29uc3QgVUNoYXIgbWFnbmlmeVtdID0gIHsnbScsICdhJywgJ2cnLCAnbicsICdpJywgJ2YnLCAn
eSd9OworCitib29sIFNWR1pvb21BbmRQYW46OnBhcnNlWm9vbUFuZFBhbihjb25zdCBVQ2hhciom
IHN0YXJ0LCBjb25zdCBVQ2hhciogZW5kLCBTVkdab29tQW5kUGFuVHlwZSYgem9vbUFuZFBhbikK
K3sKKyAgICBpZiAoc2tpcFN0cmluZyhzdGFydCwgZW5kLCBkaXNhYmxlLCBXVEZfQVJSQVlfTEVO
R1RIKGRpc2FibGUpKSkgeworICAgICAgICB6b29tQW5kUGFuID0gU1ZHWm9vbUFuZFBhbkRpc2Fi
bGU7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICBpZiAoc2tpcFN0cmluZyhzdGFy
dCwgZW5kLCBtYWduaWZ5LCBXVEZfQVJSQVlfTEVOR1RIKG1hZ25pZnkpKSkgeworICAgICAgICB6
b29tQW5kUGFuID0gU1ZHWm9vbUFuZFBhbk1hZ25pZnk7CiAgICAgICAgIHJldHVybiB0cnVlOwog
ICAgIH0KLQogICAgIHJldHVybiBmYWxzZTsKIH0KIAotYm9vbCBTVkdab29tQW5kUGFuOjppc0tu
b3duQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lKQorTk9fUkVUVVJOX0RV
RV9UT19BU1NFUlQgdm9pZCBTVkdab29tQW5kUGFuOjpyZWYoKQogewotICAgIHJldHVybiBhdHRy
TmFtZSA9PSBTVkdOYW1lczo6em9vbUFuZFBhbkF0dHI7CisgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7CiB9CiAKLXZvaWQgU1ZHWm9vbUFuZFBhbjo6YWRkU3VwcG9ydGVkQXR0cmlidXRlcyhIYXNo
U2V0PFF1YWxpZmllZE5hbWU+JiBzdXBwb3J0ZWRBdHRyaWJ1dGVzKQorTk9fUkVUVVJOX0RVRV9U
T19BU1NFUlQgdm9pZCBTVkdab29tQW5kUGFuOjpkZXJlZigpCiB7Ci0gICAgc3VwcG9ydGVkQXR0
cmlidXRlcy5hZGQoU1ZHTmFtZXM6Onpvb21BbmRQYW5BdHRyKTsKKyAgICBBU1NFUlRfTk9UX1JF
QUNIRUQoKTsKIH0KIAotc3RhdGljIGNvbnN0IFVDaGFyIGRpc2FibGVbXSA9ICB7J2QnLCAnaScs
ICdzJywgJ2EnLCAnYicsICdsJywgJ2UnfTsKLXN0YXRpYyBjb25zdCBVQ2hhciBtYWduaWZ5W10g
PSAgeydtJywgJ2EnLCAnZycsICduJywgJ2knLCAnZicsICd5J307Ci0KLWJvb2wgU1ZHWm9vbUFu
ZFBhbjo6cGFyc2Vab29tQW5kUGFuKGNvbnN0IFVDaGFyKiYgc3RhcnQsIGNvbnN0IFVDaGFyKiBl
bmQpCitOT19SRVRVUk5fRFVFX1RPX0FTU0VSVCB2b2lkIFNWR1pvb21BbmRQYW46OnNldFpvb21B
bmRQYW4odW5zaWduZWQgc2hvcnQpCiB7Ci0gICAgaWYgKHNraXBTdHJpbmcoc3RhcnQsIGVuZCwg
ZGlzYWJsZSwgV1RGX0FSUkFZX0xFTkdUSChkaXNhYmxlKSkpCi0gICAgICAgIHNldFpvb21BbmRQ
YW4oU1ZHX1pPT01BTkRQQU5fRElTQUJMRSk7Ci0gICAgZWxzZSBpZiAoc2tpcFN0cmluZyhzdGFy
dCwgZW5kLCBtYWduaWZ5LCBXVEZfQVJSQVlfTEVOR1RIKG1hZ25pZnkpKSkKLSAgICAgICAgc2V0
Wm9vbUFuZFBhbihTVkdfWk9PTUFORFBBTl9NQUdOSUZZKTsKLSAgICBlbHNlCi0gICAgICAgIHJl
dHVybiBmYWxzZTsKLQotICAgIHJldHVybiB0cnVlOworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OwogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHWm9vbUFuZFBhbi5o
IGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1pvb21BbmRQYW4uaAppbmRleCBlMmQ1MmY2NGRjM2Q0
MGVmMTRjZDczOWE1ZGNmYWJlZmEwNGIyNzcyLi5iNTE0N2FiOGZkNTgyNzNjZDIxZWNiODM2YWYw
YzJiZTgxNDc2OTE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHWm9vbUFuZFBh
bi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdab29tQW5kUGFuLmgKQEAgLTIyLDQwICsy
Miw2OSBAQAogI2RlZmluZSBTVkdab29tQW5kUGFuX2gKIAogI2lmIEVOQUJMRShTVkcpCisjaW5j
bHVkZSAiQXR0cmlidXRlLmgiCiAjaW5jbHVkZSAiUXVhbGlmaWVkTmFtZS5oIgorI2luY2x1ZGUg
IlNWR05hbWVzLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KKyNpbmNsdWRlIDx3dGYvUmVm
Q291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi91bmljb2RlL1VuaWNvZGUuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi1jbGFzcyBBdHRyaWJ1dGU7CitlbnVtIFNWR1pvb21BbmRQYW5UeXBlIHsK
KyAgICBTVkdab29tQW5kUGFuVW5rbm93biA9IDAsCisgICAgU1ZHWm9vbUFuZFBhbkRpc2FibGUs
CisgICAgU1ZHWm9vbUFuZFBhbk1hZ25pZnkKK307CiAKIGNsYXNzIFNWR1pvb21BbmRQYW4gewog
cHVibGljOgotICAgIGVudW0gU1ZHWm9vbUFuZFBhblR5cGUgewotICAgICAgICBTVkdfWk9PTUFO
RFBBTl9VTktOT1dOID0gMCwKLSAgICAgICAgU1ZHX1pPT01BTkRQQU5fRElTQUJMRSA9IDEsCi0g
ICAgICAgIFNWR19aT09NQU5EUEFOX01BR05JRlkgPSAyCisgICAgLy8gRm9yd2FyZCBkZWNsYXJl
IGVudW1lcmF0aW9ucyBpbiB0aGUgVzNDIG5hbWluZyBzY2hlbWUsIGZvciBJREwgZ2VuZXJhdGlv
bi4KKyAgICBlbnVtIHsKKyAgICAgICAgU1ZHX1pPT01BTkRQQU5fVU5LTk9XTiA9IFNWR1pvb21B
bmRQYW5Vbmtub3duLAorICAgICAgICBTVkdfWk9PTUFORFBBTl9ESVNBQkxFID0gU1ZHWm9vbUFu
ZFBhbkRpc2FibGUsCisgICAgICAgIFNWR19aT09NQU5EUEFOX01BR05JRlkgPSBTVkdab29tQW5k
UGFuTWFnbmlmeQogICAgIH07CiAKLSAgICBTVkdab29tQW5kUGFuKCkgOiBtX3pvb21BbmRQYW4o
U1ZHX1pPT01BTkRQQU5fTUFHTklGWSkgeyB9Ci0gICAgdmlydHVhbCB+U1ZHWm9vbUFuZFBhbigp
IHsgfQorICAgIHN0YXRpYyBib29sIGlzS25vd25BdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFt
ZSYpOworICAgIHN0YXRpYyB2b2lkIGFkZFN1cHBvcnRlZEF0dHJpYnV0ZXMoSGFzaFNldDxRdWFs
aWZpZWROYW1lPiYpOworCisgICAgc3RhdGljIFNWR1pvb21BbmRQYW5UeXBlIHBhcnNlRnJvbU51
bWJlcih1bnNpZ25lZCBzaG9ydCBudW1iZXIpCisgICAgeworICAgICAgICBpZiAoIW51bWJlciB8
fCBudW1iZXIgPiBTVkdab29tQW5kUGFuTWFnbmlmeSkKKyAgICAgICAgICAgIHJldHVybiBTVkda
b29tQW5kUGFuVW5rbm93bjsKKyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFNWR1pvb21BbmRQ
YW5UeXBlPihudW1iZXIpOworICAgIH0KIAotICAgIHVuc2lnbmVkIHNob3J0IHpvb21BbmRQYW4o
KSBjb25zdCB7IHJldHVybiBtX3pvb21BbmRQYW47IH0KLSAgICB2aXJ0dWFsIHZvaWQgc2V0Wm9v
bUFuZFBhbih1bnNpZ25lZCBzaG9ydCB6b29tQW5kUGFuKTsKKyAgICBzdGF0aWMgYm9vbCBwYXJz
ZVpvb21BbmRQYW4oY29uc3QgVUNoYXIqJiBzdGFydCwgY29uc3QgVUNoYXIqIGVuZCwgU1ZHWm9v
bUFuZFBhblR5cGUmKTsKIAotICAgIGJvb2wgcGFyc2VBdHRyaWJ1dGUoY29uc3QgQXR0cmlidXRl
Jik7Ci0gICAgYm9vbCBpc0tub3duQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmKTsKLSAg
ICB2b2lkIGFkZFN1cHBvcnRlZEF0dHJpYnV0ZXMoSGFzaFNldDxRdWFsaWZpZWROYW1lPiYpOwor
ICAgIHRlbXBsYXRlPGNsYXNzIFNWR0VsZW1lbnRUYXJnZXQ+CisgICAgc3RhdGljIGJvb2wgcGFy
c2VBdHRyaWJ1dGUoU1ZHRWxlbWVudFRhcmdldCogdGFyZ2V0LCBjb25zdCBBdHRyaWJ1dGUmIGF0
dHJpYnV0ZSkKKyAgICB7CisgICAgICAgIEFTU0VSVCh0YXJnZXQpOworICAgICAgICBBU1NFUlQo
dGFyZ2V0LT5kb2N1bWVudCgpKTsKKyAgICAgICAgaWYgKGF0dHJpYnV0ZS5uYW1lKCkgPT0gU1ZH
TmFtZXM6Onpvb21BbmRQYW5BdHRyKSB7CisgICAgICAgICAgICBjb25zdCBVQ2hhciogc3RhcnQg
PSBhdHRyaWJ1dGUudmFsdWUoKS5jaGFyYWN0ZXJzKCk7CisgICAgICAgICAgICBjb25zdCBVQ2hh
ciogZW5kID0gc3RhcnQgKyBhdHRyaWJ1dGUudmFsdWUoKS5sZW5ndGgoKTsKKyAgICAgICAgICAg
IFNWR1pvb21BbmRQYW5UeXBlIHpvb21BbmRQYW4gPSBTVkdab29tQW5kUGFuVW5rbm93bjsKKyAg
ICAgICAgICAgIHBhcnNlWm9vbUFuZFBhbihzdGFydCwgZW5kLCB6b29tQW5kUGFuKTsKKyAgICAg
ICAgICAgIHRhcmdldC0+c2V0Wm9vbUFuZFBhbih6b29tQW5kUGFuKTsKKyAgICAgICAgICAgIHJl
dHVybiB0cnVlOworICAgICAgICB9CiAKLSAgICBib29sIHBhcnNlWm9vbUFuZFBhbihjb25zdCBV
Q2hhciomIHN0YXJ0LCBjb25zdCBVQ2hhciogZW5kKTsKKyAgICAgICAgcmV0dXJuIGZhbHNlOwor
ICAgIH0KIAotcHJpdmF0ZToKLSAgICB1bnNpZ25lZCBzaG9ydCBtX3pvb21BbmRQYW47CisgICAg
U1ZHWm9vbUFuZFBhblR5cGUgem9vbUFuZFBhbigpIGNvbnN0IHsgcmV0dXJuIFNWR1pvb21BbmRQ
YW5Vbmtub3duOyB9CisKKyAgICAvLyBUaGVzZSBtZXRob2RzIG9ubHkgZXhpc3QgdG8gYWxsb3cg
dXMgdG8gY29tcGlsZSBWOC9KU1NWR1pvb21BbmRQYW4uKi4KKyAgICAvLyBUaGVzZSBhcmUgbmV2
ZXIgY2FsbGVkLCBhbmQgdGh1cyBBU1NFUlRfTk9UX1JFQUNIRUQuCisgICAgdm9pZCByZWYoKTsK
KyAgICB2b2lkIGRlcmVmKCk7CisgICAgdm9pZCBzZXRab29tQW5kUGFuKHVuc2lnbmVkIHNob3J0
KTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShTVkcp
Ci0KICNlbmRpZiAvLyBTVkdab29tQW5kUGFuX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdab29tQW5kUGFuLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdab29tQW5kUGFu
LmlkbAppbmRleCBkNjBhZTBjZWQyMDZhNjQ1YjVhNTM3YmE2ZTkyZTU1NjUxYjdlOWE5Li43ZjU4
ODJiOGVjMGUxNDhmMmJmN2Y3OWFjNzliNDFjNTQ3ZGY1NmJhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHWm9vbUFuZFBhbi5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R1pvb21BbmRQYW4uaWRsCkBAIC0zMCwxMyArMzAsMTEgQEAgbW9kdWxlIHN2ZyB7CiAgICAgICAg
IENvbmRpdGlvbmFsPVNWRywKICAgICAgICAgT2JqQ1Byb3RvY29sCiAgICAgXSBTVkdab29tQW5k
UGFuIHsKLSAgICAgICAgLy8gWm9vbSBhbmQgUGFuIFR5cGVzCiAgICAgICAgIGNvbnN0IHVuc2ln
bmVkIHNob3J0IFNWR19aT09NQU5EUEFOX1VOS05PV04gPSAwOwogICAgICAgICBjb25zdCB1bnNp
Z25lZCBzaG9ydCBTVkdfWk9PTUFORFBBTl9ESVNBQkxFID0gMTsKICAgICAgICAgY29uc3QgdW5z
aWduZWQgc2hvcnQgU1ZHX1pPT01BTkRQQU5fTUFHTklGWSA9IDI7CiAKLSAgICAgICAgICAgICAg
ICAgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IHpvb21BbmRQYW4KLSAgICAgICAgICAgICAgICAg
ICAgIC8qc2V0dGVyIHJhaXNlcyhET01FeGNlcHRpb24pKi87CisgICAgICAgIGF0dHJpYnV0ZSB1
bnNpZ25lZCBzaG9ydCB6b29tQW5kUGFuOwogICAgIH07CiAKIH0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA2NjFkOGY0M2Mx
ODU1ZGU1YmY2YWE5NTE3MjdhZTk0NTY1YjJjZDEyLi4yZWI0ZDVmMTc0NmE3NzJlN2YxNjJmNWM1
NDNlODRmODJhMjhjYjQzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMDUtMjIgIE5pa29s
YXMgWmltbWVybWFubiAgPG56aW1tZXJtYW5uQHJpbS5jb20+CisKKyAgICAgICAgU1ZHWm9vbUFu
ZFBhbiBjb25zdGFudHMgYXJlIG1pc3NpbmcgZnJvbSB3aW5kb3cgb2JqZWN0CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTQ5NAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNWR1pvb21BbmRQYW4gaXMgbm93
IGF2YWlsYWJsZSBhcyBnbG9iYWwgY29uc3RydWN0b3IsIHJlYmFzZWxpbmUgcmVzdWx0cy4KKwor
ICAgICAgICAqIHN2Zy9jdXN0b20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogc3ZnL2N1c3RvbS9qcy1zdmctY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBzdmcvY3VzdG9tL2pzLXN2Zy1jb25zdHJ1Y3RvcnMuc3ZnOgorCiAyMDEyLTA1LTIy
ICBEb21pbmljIE1henpvbmkgIDxkbWF6em9uaUBnb29nbGUuY29tPgogCiAgICAgICAgIENocm9t
aXVtIEFYOiBDcmFzaCB3aGVuIG1lbnVsaXN0IGFkZHMgc2VsZWN0ZWQgb3B0aW9uIHZpYSBkb2N1
bWVudC53cml0ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9nbG9iYWwtY29u
c3RydWN0b3JzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vZ2xvYmFsLWNv
bnN0cnVjdG9ycy1leHBlY3RlZC50eHQKaW5kZXggYjBiZmM2ODEzNTFlYThmNzllMzhhODA3NzQz
MDZiYjA5ZjM1MTU0Yy4uNzJkZWZmNTkyODQwZWFhZTdjNmJhMDkyNDBiMmE0ZWQ5YTEyNTNiNCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9nbG9iYWwtY29uc3RydWN0b3JzLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2dsb2JhbC1jb25zdHJ1Y3Rv
cnMtZXhwZWN0ZWQudHh0CkBAIC0zMSw3ICszMSw3IEBAIEZBSUwgU1ZHVGVzdHMudG9TdHJpbmco
KSBzaG91bGQgYmUgW29iamVjdCBTVkdUZXN0c0NvbnN0cnVjdG9yXS4gVGhyZXcgZXhjZXB0aW9u
CiBGQUlMIFNWR0xhbmdTcGFjZS50b1N0cmluZygpIHNob3VsZCBiZSBbb2JqZWN0IFNWR0xhbmdT
cGFjZUNvbnN0cnVjdG9yXS4gVGhyZXcgZXhjZXB0aW9uIFJlZmVyZW5jZUVycm9yOiBDYW4ndCBm
aW5kIHZhcmlhYmxlOiBTVkdMYW5nU3BhY2UKIEZBSUwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1
aXJlZC50b1N0cmluZygpIHNob3VsZCBiZSBbb2JqZWN0IFNWR0V4dGVybmFsUmVzb3VyY2VzUmVx
dWlyZWRDb25zdHJ1Y3Rvcl0uIFRocmV3IGV4Y2VwdGlvbiBSZWZlcmVuY2VFcnJvcjogQ2FuJ3Qg
ZmluZCB2YXJpYWJsZTogU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZAogRkFJTCBTVkdGaXRU
b1ZpZXdCb3gudG9TdHJpbmcoKSBzaG91bGQgYmUgW29iamVjdCBTVkdGaXRUb1ZpZXdCb3hDb25z
dHJ1Y3Rvcl0uIFRocmV3IGV4Y2VwdGlvbiBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJp
YWJsZTogU1ZHRml0VG9WaWV3Qm94Ci1GQUlMIFNWR1pvb21BbmRQYW4udG9TdHJpbmcoKSBzaG91
bGQgYmUgW29iamVjdCBTVkdab29tQW5kUGFuQ29uc3RydWN0b3JdLiBUaHJldyBleGNlcHRpb24g
UmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFNWR1pvb21BbmRQYW4KK1BBU1Mg
U1ZHWm9vbUFuZFBhbi50b1N0cmluZygpIGlzICdbb2JqZWN0IFNWR1pvb21BbmRQYW5Db25zdHJ1
Y3Rvcl0nCiBGQUlMIFNWR1ZpZXdTcGVjLnRvU3RyaW5nKCkgc2hvdWxkIGJlIFtvYmplY3QgU1ZH
Vmlld1NwZWNDb25zdHJ1Y3Rvcl0uIFRocmV3IGV4Y2VwdGlvbiBSZWZlcmVuY2VFcnJvcjogQ2Fu
J3QgZmluZCB2YXJpYWJsZTogU1ZHVmlld1NwZWMKIEZBSUwgU1ZHVVJJUmVmZXJlbmNlLnRvU3Ry
aW5nKCkgc2hvdWxkIGJlIFtvYmplY3QgU1ZHVVJJUmVmZXJlbmNlQ29uc3RydWN0b3JdLiBUaHJl
dyBleGNlcHRpb24gUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFNWR1VSSVJl
ZmVyZW5jZQogRkFJTCBTVkdDU1NSdWxlLnRvU3RyaW5nKCkgc2hvdWxkIGJlIFtvYmplY3QgU1ZH
Q1NTUnVsZUNvbnN0cnVjdG9yXS4gVGhyZXcgZXhjZXB0aW9uIFJlZmVyZW5jZUVycm9yOiBDYW4n
dCBmaW5kIHZhcmlhYmxlOiBTVkdDU1NSdWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcv
Y3VzdG9tL2pzLXN2Zy1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3Zn
L2N1c3RvbS9qcy1zdmctY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dAppbmRleCBhYjdlNjM4ZWIw
ZDA3YjA2NTJlYzU5NTE2NmMwNTIwZDQ1ZmQ2NmQ2Li4xYjcyMjgzZWNmMWYzYjdiNzU4ZjE0MTZm
MTIyNzRlZGYzNzkwNjE1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2pzLXN2
Zy1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20v
anMtc3ZnLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQKQEAgLTQ0LDkgKzQ0LDkgQEAgU1ZHRkVE
aXNwbGFjZW1lbnRNYXBFbGVtZW50LlNWR19DSEFOTkVMX1IgUEFTU0VECiBTVkdGRURpc3BsYWNl
bWVudE1hcEVsZW1lbnQuU1ZHX0NIQU5ORUxfRyBQQVNTRUQKIFNWR0ZFRGlzcGxhY2VtZW50TWFw
RWxlbWVudC5TVkdfQ0hBTk5FTF9CIFBBU1NFRAogU1ZHRkVEaXNwbGFjZW1lbnRNYXBFbGVtZW50
LlNWR19DSEFOTkVMX0EgUEFTU0VECi1TVkdGRU1vcnBob2xvZ3lFbGVtZW50LlNWR19NT1JQSE9M
T0dZX09QRVJBVE9SX1VOS05PV04gRVhQRUNURUQgRkFJTFVSRSAoYWN0dWFsOiAnMCcgZXhwZWN0
ZWQ6ICcwJykKLVNWR0ZFTW9ycGhvbG9neUVsZW1lbnQuU1ZHX01PUlBIT0xPR1lfT1BFUkFUT1Jf
RVJPREUgRVhQRUNURUQgRkFJTFVSRSAoYWN0dWFsOiAnMScgZXhwZWN0ZWQ6ICcxJykKLVNWR0ZF
TW9ycGhvbG9neUVsZW1lbnQuU1ZHX01PUlBIT0xPR1lfT1BFUkFUT1JfRElMQVRFIEVYUEVDVEVE
IEZBSUxVUkUgKGFjdHVhbDogJzInIGV4cGVjdGVkOiAnMicpCitTVkdGRU1vcnBob2xvZ3lFbGVt
ZW50LlNWR19NT1JQSE9MT0dZX09QRVJBVE9SX1VOS05PV04gUEFTU0VECitTVkdGRU1vcnBob2xv
Z3lFbGVtZW50LlNWR19NT1JQSE9MT0dZX09QRVJBVE9SX0VST0RFIFBBU1NFRAorU1ZHRkVNb3Jw
aG9sb2d5RWxlbWVudC5TVkdfTU9SUEhPTE9HWV9PUEVSQVRPUl9ESUxBVEUgUEFTU0VECiBTVkdG
RVR1cmJ1bGVuY2VFbGVtZW50LlNWR19UVVJCVUxFTkNFX1RZUEVfVU5LTk9XTiBQQVNTRUQKIFNW
R0ZFVHVyYnVsZW5jZUVsZW1lbnQuU1ZHX1RVUkJVTEVOQ0VfVFlQRV9GUkFDVEFMTk9JU0UgUEFT
U0VECiBTVkdGRVR1cmJ1bGVuY2VFbGVtZW50LlNWR19UVVJCVUxFTkNFX1RZUEVfVFVSQlVMRU5D
RSBQQVNTRUQKQEAgLTE0Myw2ICsxNDMsNiBAQCBTVkdUcmFuc2Zvcm0uU1ZHX1RSQU5TRk9STV9T
S0VXWSBQQVNTRUQKIFNWR1VuaXRUeXBlcy5TVkdfVU5JVF9UWVBFX1VOS05PV04gUEFTU0VECiBT
VkdVbml0VHlwZXMuU1ZHX1VOSVRfVFlQRV9VU0VSU1BBQ0VPTlVTRSBQQVNTRUQKIFNWR1VuaXRU
eXBlcy5TVkdfVU5JVF9UWVBFX09CSkVDVEJPVU5ESU5HQk9YIFBBU1NFRAotU1ZHWm9vbUFuZFBh
bi5TVkdfWk9PTUFORFBBTl9VTktOT1dOIEVYUEVDVEVEIEZBSUxVUkUgKGFjdHVhbDogJ3VuZGVm
aW5lZCcgZXhwZWN0ZWQ6ICcwJykKLVNWR1pvb21BbmRQYW4uU1ZHX1pPT01BTkRQQU5fRElTQUJM
RSBFWFBFQ1RFRCBGQUlMVVJFIChhY3R1YWw6ICd1bmRlZmluZWQnIGV4cGVjdGVkOiAnMScpCi1T
Vkdab29tQW5kUGFuLlNWR19aT09NQU5EUEFOX01BR05JRlkgRVhQRUNURUQgRkFJTFVSRSAoYWN0
dWFsOiAndW5kZWZpbmVkJyBleHBlY3RlZDogJzInKQorU1ZHWm9vbUFuZFBhbi5TVkdfWk9PTUFO
RFBBTl9VTktOT1dOIFBBU1NFRAorU1ZHWm9vbUFuZFBhbi5TVkdfWk9PTUFORFBBTl9ESVNBQkxF
IFBBU1NFRAorU1ZHWm9vbUFuZFBhbi5TVkdfWk9PTUFORFBBTl9NQUdOSUZZIFBBU1NFRApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9qcy1zdmctY29uc3RydWN0b3JzLnN2ZyBi
L0xheW91dFRlc3RzL3N2Zy9jdXN0b20vanMtc3ZnLWNvbnN0cnVjdG9ycy5zdmcKaW5kZXggMzU2
MzFjZGNlYTA3OWM2ZTZhMTUwMjQxYzMyZWUwMzNjNTBjMmZjMS4uODU4NzEzNzFiYWMwOTc0ODRh
N2E3ZTEzZTZmOWI1OGYyNWUwYmI3YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3Rv
bS9qcy1zdmctY29uc3RydWN0b3JzLnN2ZworKysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2pz
LXN2Zy1jb25zdHJ1Y3RvcnMuc3ZnCkBAIC05Myw5ICs5Myw5IEBACiAgICAgICB9CiAKICAgICAg
IGlmICh3aW5kb3cuU1ZHRkVNb3JwaG9sb2d5RWxlbWVudCkgewotICAgICAgICAgIGV4cGVjdF9m
YWlsdXJlKCJTVkdGRU1vcnBob2xvZ3lFbGVtZW50LlNWR19NT1JQSE9MT0dZX09QRVJBVE9SX1VO
S05PV04iLCAwKTsKLSAgICAgICAgICBleHBlY3RfZmFpbHVyZSgiU1ZHRkVNb3JwaG9sb2d5RWxl
bWVudC5TVkdfTU9SUEhPTE9HWV9PUEVSQVRPUl9FUk9ERSIsIDEpOwotICAgICAgICAgIGV4cGVj
dF9mYWlsdXJlKCJTVkdGRU1vcnBob2xvZ3lFbGVtZW50LlNWR19NT1JQSE9MT0dZX09QRVJBVE9S
X0RJTEFURSIsIDIpOworICAgICAgICAgIGV4cGVjdCgiU1ZHRkVNb3JwaG9sb2d5RWxlbWVudC5T
VkdfTU9SUEhPTE9HWV9PUEVSQVRPUl9VTktOT1dOIiwgMCk7CisgICAgICAgICAgZXhwZWN0KCJT
VkdGRU1vcnBob2xvZ3lFbGVtZW50LlNWR19NT1JQSE9MT0dZX09QRVJBVE9SX0VST0RFIiwgMSk7
CisgICAgICAgICAgZXhwZWN0KCJTVkdGRU1vcnBob2xvZ3lFbGVtZW50LlNWR19NT1JQSE9MT0dZ
X09QRVJBVE9SX0RJTEFURSIsIDIpOwogICAgICAgfQogCiAgICAgICBpZiAod2luZG93LlNWR0ZF
VHVyYnVsZW5jZUVsZW1lbnQpIHsKQEAgLTIwOCw5ICsyMDgsOSBAQAogICAgICAgZXhwZWN0KCJT
VkdVbml0VHlwZXMuU1ZHX1VOSVRfVFlQRV9VU0VSU1BBQ0VPTlVTRSIsIDEpOwogICAgICAgZXhw
ZWN0KCJTVkdVbml0VHlwZXMuU1ZHX1VOSVRfVFlQRV9PQkpFQ1RCT1VORElOR0JPWCIsIDIpOwog
Ci0gICAgICBleHBlY3RfZmFpbHVyZSgiU1ZHWm9vbUFuZFBhbi5TVkdfWk9PTUFORFBBTl9VTktO
T1dOIiwgMCk7Ci0gICAgICBleHBlY3RfZmFpbHVyZSgiU1ZHWm9vbUFuZFBhbi5TVkdfWk9PTUFO
RFBBTl9ESVNBQkxFIiwgMSk7Ci0gICAgICBleHBlY3RfZmFpbHVyZSgiU1ZHWm9vbUFuZFBhbi5T
VkdfWk9PTUFORFBBTl9NQUdOSUZZIiwgMik7CisgICAgICBleHBlY3QoIlNWR1pvb21BbmRQYW4u
U1ZHX1pPT01BTkRQQU5fVU5LTk9XTiIsIDApOworICAgICAgZXhwZWN0KCJTVkdab29tQW5kUGFu
LlNWR19aT09NQU5EUEFOX0RJU0FCTEUiLCAxKTsKKyAgICAgIGV4cGVjdCgiU1ZHWm9vbUFuZFBh
bi5TVkdfWk9PTUFORFBBTl9NQUdOSUZZIiwgMik7CiAgICAgfQogICBdXT48L3NjcmlwdD4gIAog
PC9zdmc+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>143488</attachid>
            <date>2012-05-23 00:42:10 -0700</date>
            <delta_ts>2012-05-23 01:40:33 -0700</delta_ts>
            <desc>Patch v6</desc>
            <filename>bug-15494-20120523094253.patch</filename>
            <type>text/plain</type>
            <size>46528</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE4MTQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmNiNTU4ZTVjNWJiNzU2
NWVhNzM5YTY3ZmE1NTQ4ZjBhYTQ0Y2EwYS4uNzEyODllM2Y5ZWJmYzI4ZjExMjczNjIzMWI3NGIx
YjE5NGUwYThiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEwMCBAQAorMjAxMi0wNS0yMyAgTmlr
b2xhcyBaaW1tZXJtYW5uICA8bnppbW1lcm1hbm5AcmltLmNvbT4KKworICAgICAgICBTVkdab29t
QW5kUGFuIGNvbnN0YW50cyBhcmUgbWlzc2luZyBmcm9tIHdpbmRvdyBvYmplY3QKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NDk0CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgR2VuZXJhdGUgdGhlIFNWR1pv
b21BbmRQYW5Db25zdHJ1Y3Rvciwgc28gdGhhdCB0aGUgY29uc3RhbnRzIGRlZmluZWQgaW4gdGhl
IElETAorICAgICAgICBjYW4gYmUgcmVhY2hlZCBmcm9tIHRoZSBiaW5kaW5ncy4gUHJvdmlkZSBh
IHN0dWItaW1wbGVtZW50YXRpb24gb2YgcmVmL2RlcmVmCisgICAgICAgIHRoYXQncyBuZXZlciB1
c2VkLCBhcyB3ZSBkb24ndCBhY3R1YWxseSB1c2UgSlNTVkdab29tQW5kUGFuIHdoaWNoIG5lZWRz
IHRoaXMsIGJ1dAorICAgICAgICBvbmx5IHRoZSBKU1NWR1pvb21BbmRQYW5Db25zdHJ1Y3Rvci4K
KworICAgICAgICBBZGQgYSBuZXcgSURMIGZsYWcgIlN1cHByZXNzVG9KU09iamVjdCIgd2hpY2gg
ZGlzYWJsZXMgZ2VuZXJhdGlvbiBvZiB0b0pTL3RvVjgKKyAgICAgICAgbWV0aG9kcyBmb3IgY2xh
c3NlcyB0aGF0IGFyZSBvbmx5IHVzZWQgaW4gU1ZHcyBpbnRlcmZhY2VzIHZpYSBtdWx0aXBsZSBp
bmhlcml0YW5jZS4KKyAgICAgICAgVGhpcyBhZmZlY3RzOiBTVkdGaXRUb1ZpZXdCb3gsIFNWR1Rl
c3RzLCBTVkdMYW5nU2FwY2UsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV0Yy4KKwor
ICAgICAgICBVbmxpa2UgdGhvc2UgY2xhc3NlcyBTVkdab29tQW5kUGFuIGRlZmluZXMgY29uc3Rh
bnRzLCBhbmQgdGh1cyBuZWVkcyBhIGdlbmVyYXRlZCBDb25zdHJ1Y3Rvci4KKyAgICAgICAgVGhh
dCByZXF1aXJlcyB1cyB0byBidWlsZCBKU1NWR1pvb21BbmRQYW4uKiAoSlNTVkdGaXRUb1ZpZXdC
b3gvZXRjLiBpcyBnZW5lcmF0ZWQsIGJ1dCBub3QgYnVpbHQhKS4KKyAgICAgICAgVW5mb3J0dW5h
dGVseSB0aGlzIGNhdXNlcyBjb21waWxhdGlvbiBwcm9ibGVtcyBvbiBXaW5kb3dzLCBhcyBpdCBi
dWlsZHMgYWxsIHNvdXJjZXMgaW4gYSBzaW5nbGUtZmlsZS4KKyAgICAgICAgTVNWQyBjYW4ndCBk
ZWNpZGUgd2hldGVoZXIgaXQgc2hvdWxkIGNhbGwgdG9KUyhOb2RlKikgb3IgdG9KUyhTVkdab29t
QW5kUGFuKikgZm9yIGEgU1ZHU1ZHRWxlbWVudC4KKyAgICAgICAgVG8gYXZvaWQgdGhlc2UgcHJv
YmxlbXMgc3RvcCBnZW5lcmF0aW5nIHRvSlMvdG9WOCBjb21wbGV0ZWx5IGZvciBhbGwgU1ZHIE1J
IHR5cGVzLiBUaGV5IHdlcmUKKyAgICAgICAgbmV2ZXIgdXNlZCBiZWZvcmUsIHNvIHRoZXJlJ3Mg
bm8gcG9pbnQgaW4gYWN0dWFsbHkgZ2VuZXJhdGluZyB0aGVtLCBhcyBpdCdzIG5vdyBjYXVzaW5n
IHByb2JsZW1zLgorCisgICAgICAgIFRoaXMgaXMgYSBwcmVwYXJhdGlvbiB0b3dhcmRzIGJ1ZyAx
NTQ5NSwgd2hpY2ggY292ZXJzIGltcGxlbWVudGluZworICAgICAgICBTVkdTVkdFbGVtZW50LmN1
cnJlbnRWaWV3IGFuZCB0aGUgU1ZHVmlld1NwZWMgaW50ZXJmYWNlLgorCisgICAgICAgICogQ01h
a2VMaXN0cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMuY3BwOgorICAgICAgICAqIERl
cml2ZWRTb3VyY2VzLnByaToKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAg
ICAqIFdlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dl
YkNvcmUudmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbToKKyAgICAg
ICAgKFNob3VsZEdlbmVyYXRlVG9KU0RlY2xhcmF0aW9uKToKKyAgICAgICAgKFNob3VsZEdlbmVy
YXRlVG9KU0ltcGxlbWVudGF0aW9uKToKKyAgICAgICAgKEdlbmVyYXRlSGVhZGVyKToKKyAgICAg
ICAgKEdlbmVyYXRlSW1wbGVtZW50YXRpb24pOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMv
Q29kZUdlbmVyYXRvclY4LnBtOgorICAgICAgICAoR2VuZXJhdGVIZWFkZXIpOgorICAgICAgICAq
IGJpbmRpbmdzL3NjcmlwdHMvSURMQXR0cmlidXRlcy50eHQ6CisgICAgICAgICogZ3lwL1dlYkNv
cmUuZ3lwOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmlkbDoKKyAgICAgICAgKiBzdmcvU1ZH
RG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRG9jdW1lbnQ6Onpvb21BbmRQYW5F
bmFibGVkKToKKyAgICAgICAgKiBzdmcvU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5pZGw6
CisgICAgICAgICogc3ZnL1NWR0ZpdFRvVmlld0JveC5pZGw6CisgICAgICAgICogc3ZnL1NWR0xh
bmdTcGFjZS5pZGw6CisgICAgICAgICogc3ZnL1NWR0xvY2F0YWJsZS5pZGw6CisgICAgICAgICog
c3ZnL1NWR1JlbmRlcmluZ0ludGVudC5pZGw6CisgICAgICAgICogc3ZnL1NWR1NWR0VsZW1lbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHU1ZHRWxlbWVudDo6U1ZHU1ZHRWxlbWVudCk6Cisg
ICAgICAgIChXZWJDb3JlOjpTVkdTVkdFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZSk6CisgICAgICAg
IChXZWJDb3JlOjpTVkdTVkdFbGVtZW50Ojp2aWV3Qm94VG9WaWV3VHJhbnNmb3JtKToKKyAgICAg
ICAgKFdlYkNvcmU6OlNWR1NWR0VsZW1lbnQ6OnNldHVwSW5pdGlhbFZpZXcpOgorICAgICAgICAo
V2ViQ29yZTo6U1ZHU1ZHRWxlbWVudDo6aW5oZXJpdFZpZXdBdHRyaWJ1dGVzKToKKyAgICAgICAg
KiBzdmcvU1ZHU1ZHRWxlbWVudC5oOgorICAgICAgICAoU1ZHU1ZHRWxlbWVudCk6CisgICAgICAg
IChXZWJDb3JlOjpTVkdTVkdFbGVtZW50Ojp1c2VDdXJyZW50Vmlldyk6CisgICAgICAgIChXZWJD
b3JlOjpTVkdTVkdFbGVtZW50OjpzZXRVc2VDdXJyZW50Vmlldyk6CisgICAgICAgIChXZWJDb3Jl
OjpTVkdTVkdFbGVtZW50Ojp6b29tQW5kUGFuKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1NWR0Vs
ZW1lbnQ6OnNldFpvb21BbmRQYW4pOgorICAgICAgICAqIHN2Zy9TVkdTdHlsYWJsZS5pZGw6Cisg
ICAgICAgICogc3ZnL1NWR1Rlc3RzLmlkbDoKKyAgICAgICAgKiBzdmcvU1ZHVVJJUmVmZXJlbmNl
LmlkbDoKKyAgICAgICAgKiBzdmcvU1ZHVW5pdFR5cGVzLmlkbDoKKyAgICAgICAgKiBzdmcvU1ZH
Vmlld0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVmlld0VsZW1lbnQ6OlNWR1Zp
ZXdFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1ZpZXdFbGVtZW50OjpwYXJzZUF0dHJp
YnV0ZSk6CisgICAgICAgICogc3ZnL1NWR1ZpZXdFbGVtZW50Lmg6CisgICAgICAgIChTVkdWaWV3
RWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdWaWV3RWxlbWVudDo6em9vbUFuZFBhbik6
CisgICAgICAgIChXZWJDb3JlOjpTVkdWaWV3RWxlbWVudDo6c2V0Wm9vbUFuZFBhbik6CisgICAg
ICAgICogc3ZnL1NWR1ZpZXdTcGVjLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1ZpZXdTcGVj
OjpTVkdWaWV3U3BlYyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdWaWV3U3BlYzo6c2V0VHJhbnNm
b3JtU3RyaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1ZpZXdTcGVjOjpwYXJzZVZpZXdTcGVj
KToKKyAgICAgICAgKiBzdmcvU1ZHVmlld1NwZWMuaDoKKyAgICAgICAgKFNWR1ZpZXdTcGVjKToK
KyAgICAgICAgKFdlYkNvcmU6OlNWR1ZpZXdTcGVjOjp0cmFuc2Zvcm1CYXNlVmFsdWUpOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHVmlld1NwZWM6Onpvb21BbmRQYW4pOgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHVmlld1NwZWM6OnNldFpvb21BbmRQYW5CYXNlVmFsdWUpOgorICAgICAgICAqIHN2Zy9T
Vkdab29tQW5kUGFuLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1pvb21BbmRQYW46OmlzS25v
d25BdHRyaWJ1dGUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHWm9vbUFuZFBhbjo6YWRkU3VwcG9y
dGVkQXR0cmlidXRlcyk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlNW
R1pvb21BbmRQYW46OnBhcnNlWm9vbUFuZFBhbik6CisgICAgICAgIChXZWJDb3JlOjpTVkdab29t
QW5kUGFuOjpyZWYpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHWm9vbUFuZFBhbjo6ZGVyZWYpOgor
ICAgICAgICAoV2ViQ29yZTo6U1ZHWm9vbUFuZFBhbjo6c2V0Wm9vbUFuZFBhbik6CisgICAgICAg
ICogc3ZnL1NWR1pvb21BbmRQYW4uaDoKKyAgICAgICAgKFNWR1pvb21BbmRQYW4pOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHWm9vbUFuZFBhbjo6cGFyc2VGcm9tTnVtYmVyKToKKyAgICAgICAgKFdl
YkNvcmU6OlNWR1pvb21BbmRQYW46OnBhcnNlQXR0cmlidXRlKToKKyAgICAgICAgKFdlYkNvcmU6
OlNWR1pvb21BbmRQYW46Onpvb21BbmRQYW4pOgorICAgICAgICAqIHN2Zy9TVkdab29tQW5kUGFu
LmlkbDoKKwogMjAxMi0wNS0yMyAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAog
ICAgICAgICBGaXggYSB0eXBvIHBlciBEYXJpbidzIGNvbW1lbnQuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0
CmluZGV4IDM0NDg0ZThjNTJmM2UwMGEwNmM1YTJhZjI5MjEzNTVmNGFlOWJhYzUuLmY5OTkxNDA3
ZjNkYWFjNjgzYWUwN2FkODM5NjMxYTZhMjA2NGVhOGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBA
IC0yMTMxLDYgKzIxMzEsNyBAQCBJRiAoRU5BQkxFX1NWRykKICAgICAgICAgc3ZnL1NWR1VzZUVs
ZW1lbnQuaWRsCiAgICAgICAgIHN2Zy9TVkdWaWV3RWxlbWVudC5pZGwKICAgICAgICAgc3ZnL1NW
R1ZLZXJuRWxlbWVudC5pZGwKKyAgICAgICAgc3ZnL1NWR1pvb21BbmRQYW4uaWRsCiAgICAgICAg
IHN2Zy9TVkdab29tRXZlbnQuaWRsCiAgICAgKQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAK
aW5kZXggOTg4ZDU4MjY3ZDdlOTM1ZWY2YjAyN2M0OTEyOWZhZDgxYjhiMTBkYy4uZmYzNDM0NDBk
OWM0NzIwYjc2OTc4Yzk2ZmFjZTkyNTRiMTY4YTQ0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
LmNwcApAQCAtNDM4LDYgKzQzOCw3IEBACiAjaW5jbHVkZSAiSlNTVkdVc2VFbGVtZW50LmNwcCIK
ICNpbmNsdWRlICJKU1NWR1ZpZXdFbGVtZW50LmNwcCIKICNpbmNsdWRlICJKU1NWR1ZLZXJuRWxl
bWVudC5jcHAiCisjaW5jbHVkZSAiSlNTVkdab29tQW5kUGFuLmNwcCIKICNpbmNsdWRlICJKU1NW
R1pvb21FdmVudC5jcHAiCiAjaW5jbHVkZSAiSlNUZXh0LmNwcCIKICNpbmNsdWRlICJKU1RleHRF
dmVudC5jcHAiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkg
Yi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkKaW5kZXggYWQwNzgzZjBlYTI1MzAz
N2E4MDAzYmI0ZmVjOWYzOTQ1ZjdjZDE2OS4uZGMzNTIxMjg0NjBlMTNmNjAzMTZlMDFiNWNjNWJj
MzhjNGIzZTA5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJp
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQpAQCAtNDY1LDcgKzQ2NSw2
IEBAIHY4IHsKIAogY29udGFpbnMoREVGSU5FUywgRU5BQkxFX1NWRz0xKSB7CiAgIElETF9CSU5E
SU5HUyArPSBcCi0gICAgJCRQV0Qvc3ZnL1NWR1pvb21FdmVudC5pZGwgXAogICAgICQkUFdEL3N2
Zy9TVkdBRWxlbWVudC5pZGwgXAogICAgICQkUFdEL3N2Zy9TVkdBbHRHbHlwaERlZkVsZW1lbnQu
aWRsIFwKICAgICAkJFBXRC9zdmcvU1ZHQWx0R2x5cGhFbGVtZW50LmlkbCBcCkBAIC02MDUsNyAr
NjA0LDkgQEAgY29udGFpbnMoREVGSU5FUywgRU5BQkxFX1NWRz0xKSB7CiAgICAgJCRQV0Qvc3Zn
L1NWR1VuaXRUeXBlcy5pZGwgXAogICAgICQkUFdEL3N2Zy9TVkdVc2VFbGVtZW50LmlkbCBcCiAg
ICAgJCRQV0Qvc3ZnL1NWR1ZpZXdFbGVtZW50LmlkbCBcCi0gICAgJCRQV0Qvc3ZnL1NWR1ZLZXJu
RWxlbWVudC5pZGwKKyAgICAkJFBXRC9zdmcvU1ZHVktlcm5FbGVtZW50LmlkbCBcCisgICAgJCRQ
V0Qvc3ZnL1NWR1pvb21BbmRQYW4uaWRsIFwKKyAgICAkJFBXRC9zdmcvU1ZHWm9vbUV2ZW50Lmlk
bAogfQogCiBjb250YWlucyhERUZJTkVTLCBFTkFCTEVfVklERU9fVFJBQ0s9MSkgewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3Jl
L0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggNmEwNmMwZGY3YTY4ZmZkZTBkMDc3NGI2ZTY1ZDY5
NDQ4NDQ2ZTZmZS4uYmQwZDA0YTQ2NjczOWUzODIxNzA0ZTA2NTkxYzNhNWU1ZmM4NGJhOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC01Mzg1LDYgKzUzODUsNyBAQCB3ZWJjb3Jl
X2J1aWx0X3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNTVkdWaWV3U3Bl
Yy5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTU1ZHVktlcm5FbGVtZW50LmNwcCBcCiAJ
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1NWR1ZLZXJuRWxlbWVudC5oIFwKKwlEZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTU1ZHWm9vbUFuZFBhbi5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNTVkdab29tQW5kUGFuLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNTVkdab29t
RXZlbnQuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTU1ZHWm9vbUV2ZW50LmgKQEAg
LTU1MzAsNiArNTUzMSw3IEBAIGRvbV9iaW5kaW5nX2lkbHMgKz0gXAogCSQoV2ViQ29yZSkvc3Zn
L1NWR1VzZUVsZW1lbnQuaWRsIFwKIAkkKFdlYkNvcmUpL3N2Zy9TVkdWS2VybkVsZW1lbnQuaWRs
IFwKIAkkKFdlYkNvcmUpL3N2Zy9TVkdWaWV3RWxlbWVudC5pZGwgXAorCSQoV2ViQ29yZSkvc3Zn
L1NWR1pvb21BbmRQYW4uaWRsIFwKIAkkKFdlYkNvcmUpL3N2Zy9TVkdab29tRXZlbnQuaWRsCiBl
bmRpZiAjIEVORCBFTkFCTEVfU1ZHCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUuZ3lwL1dlYkNvcmUuZ3lwIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5n
eXAKaW5kZXggZWUxY2EwMDliOTQ3Mjg3ODk3NGIwY2U0YzgwODY0ZDJkNjUxYmMwOC4uMzA5ZTMz
NTg0YjIxMWQ4MzU3MjA2Mzg5MzQ1ZDJkYTk1NTU4Y2UwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXAKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5neXAvV2ViQ29yZS5neXAKQEAgLTE3NCw3ICsxNzQsNiBAQAogICAgICAgJy4uL3N2Zy9TVkdU
ZXN0cy5pZGwnLAogICAgICAgJy4uL3N2Zy9TVkdUcmFuc2Zvcm1hYmxlLmlkbCcsCiAgICAgICAn
Li4vc3ZnL1NWR1ZpZXdTcGVjLmlkbCcsCi0gICAgICAnLi4vc3ZnL1NWR1pvb21BbmRQYW4uaWRs
JywKIAogICAgICAgIyBGSVhNRTogSSBkb24ndCBrbm93IHdoeSB0aGVzZSBhcmUgZXhjbHVkZWQs
IGVpdGhlci4KICAgICAgICMgU29tZW9uZSAobWU/KSBzaG91bGQgZmlndXJlIGl0IG91dCBhbmQg
YWRkIGFwcHJvcHJpYXRlIGNvbW1lbnRzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJv
ai9XZWJDb3JlLnZjcHJvagppbmRleCA4NDZlNjMxZjAxMzc3ODk5YTVhNzBhNDNlNWI1MzliNTYx
MjExZmE1Li5lZDUwYzc1ZmI0NTk4NjFhMzUxOTUxMzVlMjFhZWQwODY0YzExOTNlIDEwMDc1NQot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtMjE4MzQsNiAr
MjE4MzQsNjMgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0
aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291
cmNlc1xKU1NWR1pvb21BbmRQYW4uY3BwIgorCQkJCT4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24K
KwkJCQkJTmFtZT0iRGVidWd8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgor
CQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkv
PgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJ
CU5hbWU9IlJlbGVhc2V8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJ
CQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgor
CQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5h
bWU9IkRlYnVnX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRy
dWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJ
CQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24K
KwkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJv
bUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGls
ZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25m
aWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9t
QnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxl
clRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZp
Z3VyYXRpb24KKwkJCQkJTmFtZT0iUHJvZHVjdGlvbnxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9t
QnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxl
clRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCTwvRmlsZT4KKwkJ
CTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQo
UHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTU1ZHWm9vbUFuZFBhbi5oIgorCQkJCT4KKwkJ
CTwvRmlsZT4KKworCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1
aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNTVkdab29tRXZlbnQu
Y3BwIgogCQkJCT4KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA1YmYyZTc1N2ZhNzBlMzMw
ZTg4M2JkOWMyYmRlZDgyYjZkM2JhNDIwLi4wY2RkZTZmYjA5NmUwMGI4NzNjMTY4ZjlhNjM3Yjgw
M2Q5ZWFmNGI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCkBAIC0xODEwLDYgKzE4MTAsOCBAQAogCQk3MUE1N0RGMTE1NEJFMjVDMDAw
OUQxMjAgLyogU1ZHUGF0aFV0aWxpdGllcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA3MUE1N0RFRjE1NEJFMjVDMDAwOUQxMjAgLyogU1ZHUGF0aFV0
aWxpdGllcy5jcHAgKi87IH07CiAJCTcxQTU3REYyMTU0QkUyNUMwMDA5RDEyMCAvKiBTVkdQYXRo
VXRpbGl0aWVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA3MUE1N0RGMDE1NEJFMjVDMDAwOUQxMjAgLyogU1ZHUGF0aFV0aWxpdGllcy5oICovOyB9Owog
CQk3MUNDN0EyMDE1MkEwQkZFMDA5RUVBRjkgLyogU1ZHQW5pbWF0ZWRFbnVtZXJhdGlvbi5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3MUNDN0ExRjE1
MkEwQkZFMDA5RUVBRjkgLyogU1ZHQW5pbWF0ZWRFbnVtZXJhdGlvbi5jcHAgKi87IH07CisJCTcx
RENCNzAxMTU2ODE5NzYwMDg2MjI3MSAvKiBKU1NWR1pvb21BbmRQYW4uY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzFEQ0I2RkYxNTY4MTk3NjAwODYy
MjcxIC8qIEpTU1ZHWm9vbUFuZFBhbi5jcHAgKi87IH07CisJCTcxRENCNzAyMTU2ODE5NzYwMDg2
MjI3MSAvKiBKU1NWR1pvb21BbmRQYW4uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDcxRENCNzAwMTU2ODE5NzYwMDg2MjI3MSAvKiBKU1NWR1pvb21BbmRQ
YW4uaCAqLzsgfTsKIAkJNzFFNjIzRDExNTFGNzJBNjAwMzZFMkY0IC8qIFNWR0FuaW1hdGVkSW50
ZWdlck9wdGlvbmFsSW50ZWdlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNzFFNjIzQ0YxNTFGNzJBNjAwMzZFMkY0IC8qIFNWR0FuaW1hdGVkSW50ZWdl
ck9wdGlvbmFsSW50ZWdlci5oICovOyB9OwogCQk3MUZCOTY3QjEzODNENjQ2MDBBQzhBNEMgLyog
U1ZHQW5pbWF0ZWRFbnVtZXJhdGlvblByb3BlcnR5VGVhck9mZi5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzFGQjk2N0ExMzgzRDY0NjAwQUM4QTRDIC8q
IFNWR0FuaW1hdGVkRW51bWVyYXRpb25Qcm9wZXJ0eVRlYXJPZmYuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3MjYyNkUwMjBFRjAyMkZFMDBBMDdF
MjAgLyogRm9udEZhc3RQYXRoLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDcyNjI2RTAxMEVGMDIyRkUwMEEwN0UyMCAvKiBGb250RmFzdFBhdGguY3Bw
ICovOyB9OwpAQCAtODg1Miw2ICs4ODU0LDggQEAKIAkJNzFBNTdERUYxNTRCRTI1QzAwMDlEMTIw
IC8qIFNWR1BhdGhVdGlsaXRpZXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gU1ZHUGF0aFV0aWxpdGllcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTcxQTU3REYwMTU0QkUyNUMwMDA5RDEyMCAvKiBTVkdQYXRoVXRpbGl0aWVzLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNWR1BhdGhVdGlsaXRpZXMuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNzFDQzdBMUYxNTJBMEJGRTAwOUVFQUY5IC8qIFNWR0FuaW1hdGVk
RW51bWVyYXRpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU1ZH
QW5pbWF0ZWRFbnVtZXJhdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTcx
RENCNkZGMTU2ODE5NzYwMDg2MjI3MSAvKiBKU1NWR1pvb21BbmRQYW4uY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNTVkdab29tQW5kUGFuLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzFEQ0I3MDAxNTY4MTk3NjAwODYyMjcxIC8qIEpTU1ZHWm9v
bUFuZFBhbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1NWR1pvb21BbmRQ
YW4uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzFFNjIzQ0UxNTFGNzJBNjAwMzZF
MkY0IC8qIFNWR0FuaW1hdGVkSW50ZWdlck9wdGlvbmFsSW50ZWdlci5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTVkdBbmltYXRlZEludGVnZXJPcHRpb25hbEludGVn
ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3MUU2MjNDRjE1MUY3MkE2MDAz
NkUyRjQgLyogU1ZHQW5pbWF0ZWRJbnRlZ2VyT3B0aW9uYWxJbnRlZ2VyLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNWR0FuaW1hdGVkSW50ZWdlck9wdGlvbmFsSW50ZWdlci5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3MUZCOTY3QTEzODNENjQ2MDBBQzhBNEMg
LyogU1ZHQW5pbWF0ZWRFbnVtZXJhdGlvblByb3BlcnR5VGVhck9mZi5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBTVkdBbmltYXRlZEVudW1lcmF0aW9uUHJvcGVydHlUZWFyT2Zm
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xODM2NSw2ICsxODM2OSw4IEBACiAJ
CQkJQjJGQTNEMkYwQUI3NUE2RjAwMEU1QUM0IC8qIEpTU1ZHVmlld0VsZW1lbnQuaCAqLywKIAkJ
CQk4NDg1MjI3OTExOTAxNjJDMDA2RURDN0YgLyogSlNTVkdWS2VybkVsZW1lbnQuY3BwICovLAog
CQkJCTg0ODUyMjdBMTE5MDE2MkMwMDZFREM3RiAvKiBKU1NWR1ZLZXJuRWxlbWVudC5oICovLAor
CQkJCTcxRENCNkZGMTU2ODE5NzYwMDg2MjI3MSAvKiBKU1NWR1pvb21BbmRQYW4uY3BwICovLAor
CQkJCTcxRENCNzAwMTU2ODE5NzYwMDg2MjI3MSAvKiBKU1NWR1pvb21BbmRQYW4uaCAqLywKIAkJ
CQlCMkZBM0QzMDBBQjc1QTZGMDAwRTVBQzQgLyogSlNTVkdab29tRXZlbnQuY3BwICovLAogCQkJ
CUIyRkEzRDMxMEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NWR1pvb21FdmVudC5oICovLAogCQkJKTsK
QEAgLTI0OTI0LDYgKzI0OTMwLDcgQEAKIAkJCQlGREIwNTJFMDE1NjFBNDJDMDBCNTAwRDYgLyog
QXVkaW9TdW1taW5nSnVuY3Rpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTM3MTk0MTk3MTU2NkIz
NzIwMEEyNzZEOCAvKiBXZWJDb3JlTlNDZWxsRXh0cmFzLmggaW4gSGVhZGVycyAqLywKIAkJCQkx
NDgyRTBDNzE1NkMzNkRFMDA5NjUwNjUgLyogRnJhY3Rpb25hbExheW91dEJveEV4dGVudC5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJNzFEQ0I3MDIxNTY4MTk3NjAwODYyMjcxIC8qIEpTU1ZHWm9vbUFu
ZFBhbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0
cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC0yNzk1MSw2ICsyNzk1OCw3IEBACiAJCQkJMzcxOTQx
OTYxNTY2QjM3MjAwQTI3NkQ4IC8qIFdlYkNvcmVOU0NlbGxFeHRyYXMubSBpbiBTb3VyY2VzICov
LAogCQkJCTE0NkNDMTE1MTU2OTg4RTQwMDEwOUUzNyAvKiBMZW5ndGhCb3guY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJMTQ4MkUwQzYxNTZDMzZERTAwOTY1MDY1IC8qIEZyYWN0aW9uYWxMYXlvdXRC
b3hFeHRlbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNzFEQ0I3MDExNTY4MTk3NjAwODYyMjcx
IC8qIEpTU1ZHWm9vbUFuZFBhbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5
Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KaW5kZXggMTVmNWQ5NDFk
NTc0MzY3NWJmMzkzZTFjNTIzNDE5YmNhZmYxNmNhMC4uM2E3NTJmZjE5NzRhNmExNmVmZTljYWFl
ZjA2NDZkYWZiOWE1MzZlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KQEAgLTYwNiw2ICs2MDYsMjIgQEAgbXkgJXVzZXNUb0pT
TmV3bHlDcmVhdGVkID0gKAogICAgICJUb3VjaExpc3QiID0+IDEKICk7CiAKK3N1YiBTaG91bGRH
ZW5lcmF0ZVRvSlNEZWNsYXJhdGlvbgoreworICAgIG15ICgkaGFzUGFyZW50LCAkZGF0YU5vZGUp
ID0gQF87CisgICAgcmV0dXJuIDAgaWYgKCRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57
IlN1cHByZXNzVG9KU09iamVjdCJ9KTsKKyAgICByZXR1cm4gMSBpZiAoISRoYXNQYXJlbnQgb3Ig
JGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSlNHZW5lcmF0ZVRvSlNPYmplY3QifSBv
ciAoJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ3VzdG9tVG9KU09iamVjdCJ9IG9y
ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkpTQ3VzdG9tVG9KU09iamVjdCJ9KSk7
CisgICAgcmV0dXJuIDA7Cit9CisKK3N1YiBTaG91bGRHZW5lcmF0ZVRvSlNJbXBsZW1lbnRhdGlv
bgoreworICAgIG15ICgkaGFzUGFyZW50LCAkZGF0YU5vZGUpID0gQF87CisgICAgcmV0dXJuIDAg
aWYgKCRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlN1cHByZXNzVG9KU09iamVjdCJ9
KTsKKyAgICByZXR1cm4gMSBpZiAoKCEkaGFzUGFyZW50IG9yICRkYXRhTm9kZS0+ZXh0ZW5kZWRB
dHRyaWJ1dGVzLT57IkpTR2VuZXJhdGVUb0pTT2JqZWN0In0pIGFuZCAhKCRkYXRhTm9kZS0+ZXh0
ZW5kZWRBdHRyaWJ1dGVzLT57IkN1c3RvbVRvSlNPYmplY3QifSBvciAkZGF0YU5vZGUtPmV4dGVu
ZGVkQXR0cmlidXRlcy0+eyJKU0N1c3RvbVRvSlNPYmplY3QifSkpOworICAgIHJldHVybiAwOwor
fQorCiBzdWIgR2V0RnVuY3Rpb25OYW1lCiB7CiAgICAgbXkgKCRjbGFzc05hbWUsICRmdW5jdGlv
bikgPSBAXzsKQEAgLTk5NCw4ICsxMDEwLDcgQEAgc3ViIEdlbmVyYXRlSGVhZGVyCiAgICAgICAg
IHB1c2goQGhlYWRlckNvbnRlbnQsICJ9XG4iKTsKICAgICAgICAgcHVzaChAaGVhZGVyQ29udGVu
dCwgIlxuIik7CiAgICAgfQotCi0gICAgaWYgKCEkaGFzUGFyZW50IHx8ICRkYXRhTm9kZS0+ZXh0
ZW5kZWRBdHRyaWJ1dGVzLT57IkpTR2VuZXJhdGVUb0pTT2JqZWN0In0gfHwgKCRkYXRhTm9kZS0+
ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkN1c3RvbVRvSlNPYmplY3QifSB8fCAkZGF0YU5vZGUtPmV4
dGVuZGVkQXR0cmlidXRlcy0+eyJKU0N1c3RvbVRvSlNPYmplY3QifSkpIHsKKyAgICBpZiAoU2hv
dWxkR2VuZXJhdGVUb0pTRGVjbGFyYXRpb24oJGhhc1BhcmVudCwgJGRhdGFOb2RlKSkgewogICAg
ICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAiSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3Rh
dGUqLCBKU0RPTUdsb2JhbE9iamVjdCosICRpbXBsVHlwZSopO1xuIik7CiAgICAgfQogICAgIGlm
ICghJGhhc1BhcmVudCB8fCAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJKU0dlbmVy
YXRlVG9OYXRpdmVPYmplY3QifSkgewpAQCAtMjM0MCw3ICsyMzU1LDcgQEAgc3ViIEdlbmVyYXRl
SW1wbGVtZW50YXRpb24KICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJ9XG5cbiIpOwogICAg
IH0KIAotICAgIGlmICgoISRoYXNQYXJlbnQgb3IgJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0
ZXMtPnsiSlNHZW5lcmF0ZVRvSlNPYmplY3QifSkgYW5kICEoJGRhdGFOb2RlLT5leHRlbmRlZEF0
dHJpYnV0ZXMtPnsiQ3VzdG9tVG9KU09iamVjdCJ9IG9yICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRy
aWJ1dGVzLT57IkpTQ3VzdG9tVG9KU09iamVjdCJ9KSkgeworICAgIGlmIChTaG91bGRHZW5lcmF0
ZVRvSlNJbXBsZW1lbnRhdGlvbigkaGFzUGFyZW50LCAkZGF0YU5vZGUpKSB7CiAgICAgICAgIHB1
c2goQGltcGxDb250ZW50LCAiSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqIGV4ZWMs
IEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsICRpbXBsVHlwZSogaW1wbClcbiIpOwog
ICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIntcbiIpOwogICAgICAgICBpZiAoJHN2Z1Byb3Bl
cnR5VHlwZSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9D
b2RlR2VuZXJhdG9yVjgucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVH
ZW5lcmF0b3JWOC5wbQppbmRleCBhZDE1ZTYwNmYyOTk5NDcyYWYyZTQyYjMyNGY0MWMyNmExODhk
N2E3Li43Nzg5MzA4MTY1OTU4ODcxYThmOTdiNzFjOTg3OTQ3YWMzNzIzN2EyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbQpAQCAt
NDQ3LDcgKzQ0Nyw3IEBAIEVORAogfQogRU5ECiAKLSAgICBpZiAoJGludGVyZmFjZU5hbWUgZXEg
J0VsZW1lbnQnKSB7CisgICAgaWYgKCRpbnRlcmZhY2VOYW1lIGVxICdFbGVtZW50Jykgb3IgJGRh
dGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiU3VwcHJlc3NUb0pTT2JqZWN0In0pIHsKICAg
ICAgICAgIyBEbyBub3QgZ2VuZXJhdGUgdG9WOCgpIGZvciBwZXJmb3JtYW5jZSBvcHRpbWl6YXRp
b24uCiAgICAgfSBlbHNpZiAoISgkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDdXN0
b21Ub0pTT2JqZWN0In0gb3IgJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiVjhDdXN0
b21Ub0pTT2JqZWN0In0pKSB7CiAgICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsIDw8RU5EKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvSURMQXR0cmlidXRl
cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0lETEF0dHJpYnV0ZXMudHh0
CmluZGV4IDg0ODk0OTMyN2I4MDIzYmQwZjFkYmYzYjkwM2JlYjAyN2M5YzUxMWYuLjU3ZjUwYTVh
Y2QyNGM5NGQ4NWI5ZTY1NWM1MjM5M2VmM2EwYjJmYTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvSURMQXR0cmlidXRlcy50eHQKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy9JRExBdHRyaWJ1dGVzLnR4dApAQCAtOTgsNiArOTgsNyBAQCBS
ZXBsYWNlYWJsZUNvbnN0cnVjdG9yCiBSZXR1cm5OZXdPYmplY3QKIFN0cmljdFR5cGVDaGVja2lu
ZwogU3VwcGxlbWVudGFsPSoKK1N1cHByZXNzVG9KU09iamVjdAogVHJhbnNmZXJMaXN0PSoKIFRy
ZWF0TnVsbEFzPU51bGxTdHJpbmcKIFRyZWF0UmV0dXJuZWROdWxsU3RyaW5nQXM9RmFsc2V8TnVs
bHxVbmRlZmluZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2d5cC9XZWJDb3JlLmd5cCBi
L1NvdXJjZS9XZWJDb3JlL2d5cC9XZWJDb3JlLmd5cAppbmRleCA2MWZiM2NjZjdlOTYxODg2OWIx
ZDRlMmI5Y2Q2ODc5NjZiMzZjOWU2Li5jMGQ0YTdjOGQ3ZmMxZTcyNWFlYTczYjlhYTNlZmIwZDBi
MGQwMGJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9neXAvV2ViQ29yZS5neXAKKysrIGIv
U291cmNlL1dlYkNvcmUvZ3lwL1dlYkNvcmUuZ3lwCkBAIC0xMjMsNyArMTIzLDYgQEAKICAgICAg
ICAgWydleGNsdWRlJywgJ0pTU1ZHVGVzdHNcXC4oY3BwfGgpJ10sCiAgICAgICAgIFsnZXhjbHVk
ZScsICdKU1NWR1RyYW5zZm9ybWFibGVcXC4oY3BwfGgpJ10sCiAgICAgICAgIFsnZXhjbHVkZScs
ICdKU1NWR1VSSVJlZmVyZW5jZVxcLihjcHB8aCknXSwKLSAgICAgICAgWydleGNsdWRlJywgJ0pT
U1ZHWm9vbUFuZFBhblxcLihjcHB8aCknXSwKICAgICAgICAgWydleGNsdWRlJywgJ3Rva2VuaXpl
clxcLmNwcCddLAogCiAgICAgICAgIFsnZXhjbHVkZScsICdBbGxJbk9uZVxcLmNwcCQnXSwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRE9NV2luZG93LmlkbAppbmRleCA1OTdkMDdkOTQxYTdhZTE1MGEyYzE1OGI0NThh
MzVlMzJhMWVhZGZlLi45NGNlZDAxYzVhOTliMjg2NTVlMWYwNGNlZjhjYWZkODE3MzQ5N2UxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCkBAIC03MDksNiArNzA5LDcgQEAgbW9kdWxlIHdp
bmRvdyB7CiAgICAgICAgIGF0dHJpYnV0ZSBTVkdVc2VFbGVtZW50Q29uc3RydWN0b3IgU1ZHVXNl
RWxlbWVudDsKICAgICAgICAgYXR0cmlidXRlIFNWR1ZpZXdFbGVtZW50Q29uc3RydWN0b3IgU1ZH
Vmlld0VsZW1lbnQ7CiAvLyAgICAgIGF0dHJpYnV0ZSBTVkdWaWV3U3BlY0NvbnN0cnVjdG9yIFNW
R1ZpZXdTcGVjOworICAgICAgICBhdHRyaWJ1dGUgU1ZHWm9vbUFuZFBhbkNvbnN0cnVjdG9yIFNW
R1pvb21BbmRQYW47CiAKICAgICAgICAgYXR0cmlidXRlIFNWR0FuaW1hdGVDb2xvckVsZW1lbnRD
b25zdHJ1Y3RvciBTVkdBbmltYXRlQ29sb3JFbGVtZW50OwogICAgICAgICBhdHRyaWJ1dGUgU1ZH
QW5pbWF0ZUVsZW1lbnRDb25zdHJ1Y3RvciBTVkdBbmltYXRlRWxlbWVudDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdEb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHRG9jdW1lbnQuY3BwCmluZGV4IGMyOWVkZTM2OTIxYmQyY2U3NTk1NWM0N2Q5MzdmZGViNzQ0
MzIzM2YuLmZmNzc0ZDJlYTk4OGRmZGYzMDlmYzQ2M2IwYjgzODYwODdiOGZjMzYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdEb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0RvY3VtZW50LmNwcApAQCAtNzMsOSArNzMsOSBAQCBib29sIFNWR0RvY3VtZW50
Ojp6b29tQW5kUGFuRW5hYmxlZCgpIGNvbnN0CiAgICAgaWYgKHJvb3RFbGVtZW50KCkpIHsKICAg
ICAgICAgaWYgKHJvb3RFbGVtZW50KCktPnVzZUN1cnJlbnRWaWV3KCkpIHsKICAgICAgICAgICAg
IGlmIChyb290RWxlbWVudCgpLT5jdXJyZW50VmlldygpKQotICAgICAgICAgICAgICAgIHJldHVy
biByb290RWxlbWVudCgpLT5jdXJyZW50VmlldygpLT56b29tQW5kUGFuKCkgPT0gU1ZHWm9vbUFu
ZFBhbjo6U1ZHX1pPT01BTkRQQU5fTUFHTklGWTsKKyAgICAgICAgICAgICAgICByZXR1cm4gcm9v
dEVsZW1lbnQoKS0+Y3VycmVudFZpZXcoKS0+em9vbUFuZFBhbigpID09IFNWR1pvb21BbmRQYW5N
YWduaWZ5OwogICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIHJldHVybiByb290RWxlbWVudCgp
LT56b29tQW5kUGFuKCkgPT0gU1ZHWm9vbUFuZFBhbjo6U1ZHX1pPT01BTkRQQU5fTUFHTklGWTsK
KyAgICAgICAgICAgIHJldHVybiByb290RWxlbWVudCgpLT56b29tQW5kUGFuKCkgPT0gU1ZHWm9v
bUFuZFBhbk1hZ25pZnk7CiAgICAgfQogCiAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQuaWRsIGIvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQuaWRsCmluZGV4IGVm
MGQ3MjA3NjBjZjQ1OWFlMTQ5OTY0OWJlOTEwYzVhZTM3OGRhY2MuLmE2NTBjOGY4ZGEzNjRjZmM5
MGYyZGIwMjIwZTM1NTNmNTZhODU3YmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5pZGwKQEAgLTI5LDYgKzI5LDcgQEAgbW9kdWxl
IHN2ZyB7CiAgICAgaW50ZXJmYWNlIFsKICAgICAgICAgQ29uZGl0aW9uYWw9U1ZHLAogICAgICAg
ICBPYmpDUHJvdG9jb2wsCisgICAgICAgIFN1cHByZXNzVG9KU09iamVjdCwKICAgICAgICAgT21p
dENvbnN0cnVjdG9yCiAgICAgXSBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkIHsgCiAgICAg
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBTVkdBbmltYXRlZEJvb2xlYW4gZXh0ZXJuYWxSZXNvdXJj
ZXNSZXF1aXJlZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGaXRUb1ZpZXdC
b3guaWRsIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZpdFRvVmlld0JveC5pZGwKaW5kZXggMWVk
MzIyN2Y3YzBjY2MxM2JkNWYzZWE3MzEyYjA1Yzc1YTY1NDVmZi4uYTU3YThkZGYxZDgyNDhhNDQ4
N2VkZDUwZTljYzA5Yjc1ZDhlMmZmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0ZpdFRvVmlld0JveC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZpdFRvVmlld0Jv
eC5pZGwKQEAgLTI5LDYgKzI5LDcgQEAgbW9kdWxlIHN2ZyB7CiAgICAgaW50ZXJmYWNlIFsKICAg
ICAgICAgQ29uZGl0aW9uYWw9U1ZHLAogICAgICAgICBPYmpDUHJvdG9jb2wsCisgICAgICAgIFN1
cHByZXNzVG9KU09iamVjdCwKICAgICAgICAgT21pdENvbnN0cnVjdG9yCiAgICAgXSBTVkdGaXRU
b1ZpZXdCb3ggewogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgU1ZHQW5pbWF0ZWRSZWN0ICAg
ICAgICAgICAgICAgIHZpZXdCb3g7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
TGFuZ1NwYWNlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdMYW5nU3BhY2UuaWRsCmluZGV4
IGQzYTI2NzQ3ZDU4MGM5NmMxN2E2YjBkMzA0ZjYyNTIzZjNkNTRjYmUuLjIxMmM4NWE4MWZjNjVi
ZmVhZWFlYjMzZmNiMzkxMDUyODQ3NGQ2NTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdMYW5nU3BhY2UuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdMYW5nU3BhY2Uu
aWRsCkBAIC0yOSw2ICsyOSw3IEBAIG1vZHVsZSBzdmcgewogICAgIGludGVyZmFjZSBbCiAgICAg
ICAgIENvbmRpdGlvbmFsPVNWRywKICAgICAgICAgT2JqQ1Byb3RvY29sLAorICAgICAgICBTdXBw
cmVzc1RvSlNPYmplY3QsCiAgICAgICAgIE9taXRDb25zdHJ1Y3RvcgogICAgIF0gU1ZHTGFuZ1Nw
YWNlIHsKICAgICAgICAgICAgICAgICAgYXR0cmlidXRlIERPTVN0cmluZyB4bWxsYW5nCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTG9jYXRhYmxlLmlkbCBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdMb2NhdGFibGUuaWRsCmluZGV4IGY2MjY5NzZkZGQ5NzYwNmY2YzljMjMxNzg4
NjYxOTk3ODQ0NGZlNjYuLjNiMzhhMzlmMTlkOWM5MDBiMDZkMDEyMWU4Y2E5NmMxOGFjZTc2ODAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdMb2NhdGFibGUuaWRsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdMb2NhdGFibGUuaWRsCkBAIC0yOSw2ICsyOSw3IEBAIG1vZHVs
ZSBzdmcgewogICAgIGludGVyZmFjZSBbCiAgICAgICAgIENvbmRpdGlvbmFsPVNWRywKICAgICAg
ICAgT2JqQ1Byb3RvY29sLAorICAgICAgICBTdXBwcmVzc1RvSlNPYmplY3QsCiAgICAgICAgIE9t
aXRDb25zdHJ1Y3RvcgogICAgIF0gU1ZHTG9jYXRhYmxlIHsKICAgICAgICAgcmVhZG9ubHkgYXR0
cmlidXRlIFNWR0VsZW1lbnQgbmVhcmVzdFZpZXdwb3J0RWxlbWVudDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdSZW5kZXJpbmdJbnRlbnQuaWRsIGIvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR1JlbmRlcmluZ0ludGVudC5pZGwKaW5kZXggYTVmNzFmMzI0YzNkMDgxMWYwOWM5NDAx
NDhhNGQ1YmI5Yzk2MjEzNS4uYzY2ZDY0OGM2ZDZlNGI5MDM4MDJkOTRmYjAyOTk3OGJlZmYyMjU0
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1JlbmRlcmluZ0ludGVudC5pZGwK
KysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1JlbmRlcmluZ0ludGVudC5pZGwKQEAgLTI2LDcg
KzI2LDggQEAKIG1vZHVsZSBzdmcgewogCiAgICAgaW50ZXJmYWNlIFsKLSAgICAgICAgQ29uZGl0
aW9uYWw9U1ZHCisgICAgICAgIENvbmRpdGlvbmFsPVNWRywKKyAgICAgICAgU3VwcHJlc3NUb0pT
T2JqZWN0CiAgICAgXSBTVkdSZW5kZXJpbmdJbnRlbnQgewogICAgICAgICAvLyBSZW5kZXJpbmcg
SW50ZW50IFR5cGVzCiAgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFJFTkRFUklOR19JTlRF
TlRfVU5LTk9XTiAgICAgICAgICAgICAgID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdTVkdFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50
LmNwcAppbmRleCA4ZTBmMjEwZmY3MzFjOTg4ODJlZjA3YzZhZWIzY2I0YjIwZmRkODRhLi43ZjFi
NmM3ZmM4YzI1ODhkNjc1Mzc4MjVmNjA4MTMwZGVhNTk0NzU2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHU1ZHRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R1NWR0VsZW1lbnQuY3BwCkBAIC01Miw2ICs1Miw3IEBACiAjaW5jbHVkZSAiU1ZHVHJhbnNmb3Jt
TGlzdC5oIgogI2luY2x1ZGUgIlNWR1ZpZXdFbGVtZW50LmgiCiAjaW5jbHVkZSAiU1ZHVmlld1Nw
ZWMuaCIKKyNpbmNsdWRlICJTVkdab29tQW5kUGFuLmgiCiAjaW5jbHVkZSAiU1ZHWm9vbUV2ZW50
LmgiCiAjaW5jbHVkZSAiU2NyaXB0RXZlbnRMaXN0ZW5lci5oIgogI2luY2x1ZGUgIlN0YXRpY05v
ZGVMaXN0LmgiCkBAIC04Nyw2ICs4OCw3IEBAIGlubGluZSBTVkdTVkdFbGVtZW50OjpTVkdTVkdF
bGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2MpCiAgICAg
LCBtX3dpZHRoKExlbmd0aE1vZGVXaWR0aCwgIjEwMCUiKQogICAgICwgbV9oZWlnaHQoTGVuZ3Ro
TW9kZUhlaWdodCwgIjEwMCUiKSAKICAgICAsIG1fdXNlQ3VycmVudFZpZXcoZmFsc2UpCisgICAg
LCBtX3pvb21BbmRQYW4oU1ZHWm9vbUFuZFBhbk1hZ25pZnkpCiAgICAgLCBtX3RpbWVDb250YWlu
ZXIoU01JTFRpbWVDb250YWluZXI6OmNyZWF0ZSh0aGlzKSkKIHsKICAgICBBU1NFUlQoaGFzVGFn
TmFtZShTVkdOYW1lczo6c3ZnVGFnKSk7CkBAIC0xNjgsMTYgKzE3MCw2IEBAIGZsb2F0IFNWR1NW
R0VsZW1lbnQ6OnNjcmVlblBpeGVsVG9NaWxsaW1ldGVyWSgpIGNvbnN0CiAgICAgcmV0dXJuIHBp
eGVsVW5pdFRvTWlsbGltZXRlclkoKTsKIH0KIAotYm9vbCBTVkdTVkdFbGVtZW50Ojp1c2VDdXJy
ZW50VmlldygpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fdXNlQ3VycmVudFZpZXc7Ci19Ci0KLXZv
aWQgU1ZHU1ZHRWxlbWVudDo6c2V0VXNlQ3VycmVudFZpZXcoYm9vbCBjdXJyZW50VmlldykKLXsK
LSAgICBtX3VzZUN1cnJlbnRWaWV3ID0gY3VycmVudFZpZXc7Ci19Ci0KIFNWR1ZpZXdTcGVjKiBT
VkdTVkdFbGVtZW50OjpjdXJyZW50VmlldygpIGNvbnN0CiB7CiAgICAgaWYgKCFtX3ZpZXdTcGVj
KQpAQCAtMjc4LDcgKzI3MCw3IEBAIHZvaWQgU1ZHU1ZHRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUo
Y29uc3QgQXR0cmlidXRlJiBhdHRyaWJ1dGUpCiAgICAgICAgICAgICAgICB8fCBTVkdMYW5nU3Bh
Y2U6OnBhcnNlQXR0cmlidXRlKGF0dHJpYnV0ZSkKICAgICAgICAgICAgICAgIHx8IFNWR0V4dGVy
bmFsUmVzb3VyY2VzUmVxdWlyZWQ6OnBhcnNlQXR0cmlidXRlKGF0dHJpYnV0ZSkKICAgICAgICAg
ICAgICAgIHx8IFNWR0ZpdFRvVmlld0JveDo6cGFyc2VBdHRyaWJ1dGUoZG9jdW1lbnQoKSwgYXR0
cmlidXRlKQotICAgICAgICAgICAgICAgfHwgU1ZHWm9vbUFuZFBhbjo6cGFyc2VBdHRyaWJ1dGUo
YXR0cmlidXRlKSkgeworICAgICAgICAgICAgICAgfHwgU1ZHWm9vbUFuZFBhbjo6cGFyc2VBdHRy
aWJ1dGUodGhpcywgYXR0cmlidXRlKSkgewogICAgIH0gZWxzZQogICAgICAgICBTVkdTdHlsZWRM
b2NhdGFibGVFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZShhdHRyaWJ1dGUpOwogCkBAIC02NTcsNyAr
NjQ5LDcgQEAgQWZmaW5lVHJhbnNmb3JtIFNWR1NWR0VsZW1lbnQ6OnZpZXdCb3hUb1ZpZXdUcmFu
c2Zvcm0oZmxvYXQgdmlld1dpZHRoLCBmbG9hdCB2aWUKICAgICBBZmZpbmVUcmFuc2Zvcm0gY3Rt
ID0gU1ZHRml0VG9WaWV3Qm94Ojp2aWV3Qm94VG9WaWV3VHJhbnNmb3JtKGN1cnJlbnRWaWV3Qm94
UmVjdCgpLCBwcmVzZXJ2ZUFzcGVjdFJhdGlvKCksIHZpZXdXaWR0aCwgdmlld0hlaWdodCk7CiAg
ICAgaWYgKHVzZUN1cnJlbnRWaWV3KCkgJiYgY3VycmVudFZpZXcoKSkgewogICAgICAgICBBZmZp
bmVUcmFuc2Zvcm0gdHJhbnNmb3JtOwotICAgICAgICBpZiAoY3VycmVudFZpZXcoKS0+dHJhbnNm
b3JtKCkuY29uY2F0ZW5hdGUodHJhbnNmb3JtKSkKKyAgICAgICAgaWYgKGN1cnJlbnRWaWV3KCkt
PnRyYW5zZm9ybUJhc2VWYWx1ZSgpLmNvbmNhdGVuYXRlKHRyYW5zZm9ybSkpCiAgICAgICAgICAg
ICBjdG0gKj0gdHJhbnNmb3JtOwogICAgIH0KIApAQCAtNjg4LDcgKzY4MCw3IEBAIHZvaWQgU1ZH
U1ZHRWxlbWVudDo6c2V0dXBJbml0aWFsVmlldyhjb25zdCBTdHJpbmcmIGZyYWdtZW50SWRlbnRp
ZmllciwgRWxlbWVudCoKICAgICAgICAgaWYgKCFtX3VzZUN1cnJlbnRWaWV3KQogICAgICAgICAg
ICAgcmV0dXJuOwogICAgIH0gZWxzZSBpZiAoIW1fdXNlQ3VycmVudFZpZXcpCi0gICAgICAgIGN1
cnJlbnRWaWV3KCktPnNldFRyYW5zZm9ybShlbXB0eVN0cmluZygpKTsKKyAgICAgICAgY3VycmVu
dFZpZXcoKS0+c2V0VHJhbnNmb3JtU3RyaW5nKGVtcHR5U3RyaW5nKCkpOwogCiAgICAgLy8gRm9y
Y2UgYSBsYXlvdXQsIG90aGVyd2lzZSBSZW5kZXJTVkdSb290cyBsb2NhbFRvQm9yZGVyQm94VHJh
bnNmb3JtIHdvbid0IGJlIHJlYnVpbGQuCiAgICAgaWYgKFJlbmRlck9iamVjdCogb2JqZWN0ID0g
cmVuZGVyZXIoKSkKQEAgLTcxMyw3ICs3MDUsNyBAQCB2b2lkIFNWR1NWR0VsZW1lbnQ6OmluaGVy
aXRWaWV3QXR0cmlidXRlcyhTVkdWaWV3RWxlbWVudCogdmlld0VsZW1lbnQpCiAgICAgY3VycmVu
dFZpZXcoKS0+c2V0UHJlc2VydmVBc3BlY3RSYXRpb0Jhc2VWYWx1ZShhc3BlY3RSYXRpbyk7CiAK
ICAgICBpZiAodmlld0VsZW1lbnQtPmhhc0F0dHJpYnV0ZShTVkdOYW1lczo6em9vbUFuZFBhbkF0
dHIpKQotICAgICAgICBjdXJyZW50VmlldygpLT5zZXRab29tQW5kUGFuKHZpZXdFbGVtZW50LT56
b29tQW5kUGFuKCkpOworICAgICAgICBjdXJyZW50VmlldygpLT5zZXRab29tQW5kUGFuQmFzZVZh
bHVlKHZpZXdFbGVtZW50LT56b29tQW5kUGFuKCkpOwogICAgIAogICAgIGlmIChSZW5kZXJPYmpl
Y3QqIG9iamVjdCA9IHJlbmRlcmVyKCkpCiAgICAgICAgIFJlbmRlclNWR1Jlc291cmNlOjptYXJr
Rm9yTGF5b3V0QW5kUGFyZW50UmVzb3VyY2VJbnZhbGlkYXRpb24ob2JqZWN0KTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHU1ZHRWxlbWVudC5oCmluZGV4IDZlYWQ3OGJkMjg0MGQ1ODk4NjE5NjY1ZjhkMmNhMjJi
MWM4YzdjNDMuLjFmYWU3N2RjZDFlODVjNmM0YTY3Zjc1YTdjNmMwNWJhYjUxMDliMjcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR1NWR0VsZW1lbnQuaApAQCAtNTEsNiArNTEsOSBAQCBjbGFzcyBTVkdTVkdF
bGVtZW50IDogcHVibGljIFNWR1N0eWxlZExvY2F0YWJsZUVsZW1lbnQsCiBwdWJsaWM6CiAgICAg
c3RhdGljIFBhc3NSZWZQdHI8U1ZHU1ZHRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5h
bWUmLCBEb2N1bWVudCopOwogCisgICAgdXNpbmcgU1ZHU3R5bGVkTG9jYXRhYmxlRWxlbWVudDo6
cmVmOworICAgIHVzaW5nIFNWR1N0eWxlZExvY2F0YWJsZUVsZW1lbnQ6OmRlcmVmOworCiAgICAg
dmlydHVhbCBib29sIGlzVmFsaWQoKSBjb25zdCB7IHJldHVybiBTVkdUZXN0czo6aXNWYWxpZCgp
OyB9CiAgICAgdmlydHVhbCBib29sIHN1cHBvcnRzRm9jdXMoKSBjb25zdCB7IHJldHVybiB0cnVl
OyB9CiAKQEAgLTY4LDggKzcxLDggQEAgcHVibGljOgogICAgIGZsb2F0IHNjcmVlblBpeGVsVG9N
aWxsaW1ldGVyWCgpIGNvbnN0OwogICAgIGZsb2F0IHNjcmVlblBpeGVsVG9NaWxsaW1ldGVyWSgp
IGNvbnN0OwogCi0gICAgYm9vbCB1c2VDdXJyZW50VmlldygpIGNvbnN0OwotICAgIHZvaWQgc2V0
VXNlQ3VycmVudFZpZXcoYm9vbCBjdXJyZW50Vmlldyk7CisgICAgYm9vbCB1c2VDdXJyZW50Vmll
dygpIGNvbnN0IHsgcmV0dXJuIG1fdXNlQ3VycmVudFZpZXc7IH0KKyAgICB2b2lkIHNldFVzZUN1
cnJlbnRWaWV3KGJvb2wgY3VycmVudFZpZXcpIHsgbV91c2VDdXJyZW50VmlldyA9IGN1cnJlbnRW
aWV3OyB9CiAKICAgICBTVkdWaWV3U3BlYyogY3VycmVudFZpZXcoKSBjb25zdDsKIApAQCAtMTMx
LDYgKzEzNCw5IEBAIHB1YmxpYzoKICAgICBib29sIHdpZHRoQXR0cmlidXRlRXN0YWJsaXNoZXNW
aWV3cG9ydCgpIGNvbnN0OwogICAgIGJvb2wgaGVpZ2h0QXR0cmlidXRlRXN0YWJsaXNoZXNWaWV3
cG9ydCgpIGNvbnN0OwogCisgICAgU1ZHWm9vbUFuZFBhblR5cGUgem9vbUFuZFBhbigpIGNvbnN0
IHsgcmV0dXJuIG1fem9vbUFuZFBhbjsgfQorICAgIHZvaWQgc2V0Wm9vbUFuZFBhbih1bnNpZ25l
ZCBzaG9ydCB6b29tQW5kUGFuKSB7IG1fem9vbUFuZFBhbiA9IFNWR1pvb21BbmRQYW46OnBhcnNl
RnJvbU51bWJlcih6b29tQW5kUGFuKTsgfQorCiBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lk
IGRpZE1vdmVUb05ld0RvY3VtZW50KERvY3VtZW50KiBvbGREb2N1bWVudCkgT1ZFUlJJREU7CiAK
QEAgLTE4Miw2ICsxODgsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgQWZmaW5lVHJhbnNmb3Jt
IGxvY2FsQ29vcmRpbmF0ZVNwYWNlVHJhbnNmb3JtKFNWR0xvY2F0YWJsZTo6Q1RNU2NvcGUpIGNv
bnN0OwogCiAgICAgYm9vbCBtX3VzZUN1cnJlbnRWaWV3OworICAgIFNWR1pvb21BbmRQYW5UeXBl
IG1fem9vbUFuZFBhbjsKICAgICBSZWZQdHI8U01JTFRpbWVDb250YWluZXI+IG1fdGltZUNvbnRh
aW5lcjsKICAgICBGbG9hdFBvaW50IG1fdHJhbnNsYXRpb247CiAgICAgbXV0YWJsZSBPd25QdHI8
U1ZHVmlld1NwZWM+IG1fdmlld1NwZWM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHU3R5bGFibGUuaWRsIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1N0eWxhYmxlLmlkbAppbmRl
eCAzZTA2NTYzZjA0MmVjYWQ2MjRhYWEyZmY4NTljZjhhMDk3NDkzNjU3Li41MzI2OWM5OGVhODhi
MjgwZDU1ZGI0ZWFjYTM5ZjE5MGZhOGRiOThhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHU3R5bGFibGUuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTdHlsYWJsZS5p
ZGwKQEAgLTMwLDYgKzMwLDcgQEAgbW9kdWxlIHN2ZyB7CiAgICAgaW50ZXJmYWNlIFsKICAgICAg
ICAgQ29uZGl0aW9uYWw9U1ZHLAogICAgICAgICBPYmpDUHJvdG9jb2wsCisgICAgICAgIFN1cHBy
ZXNzVG9KU09iamVjdCwKICAgICAgICAgT21pdENvbnN0cnVjdG9yCiAgICAgXSBTVkdTdHlsYWJs
ZSB7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBTVkdBbmltYXRlZFN0cmluZyBjbGFzc05h
bWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGVzdHMuaWRsIGIvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR1Rlc3RzLmlkbAppbmRleCAxMWQ5ODU2YTY2OWY0YjhhNjcwMjdiZTA2
ZjRjYTIzMjg1ZDczNGMwLi5kOWY3OWNjYmYyYTljN2Y4NWY2ZTVjNWI2ODM1ODNlOGMzNWI1MGI0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGVzdHMuaWRsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdUZXN0cy5pZGwKQEAgLTI5LDYgKzI5LDcgQEAgbW9kdWxlIHN2ZyB7
CiAgICAgaW50ZXJmYWNlIFsKICAgICAgICAgQ29uZGl0aW9uYWw9U1ZHLAogICAgICAgICBPYmpD
UHJvdG9jb2wsCisgICAgICAgIFN1cHByZXNzVG9KU09iamVjdCwKICAgICAgICAgT21pdENvbnN0
cnVjdG9yCiAgICAgXSBTVkdUZXN0cyB7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBTVkdT
dHJpbmdMaXN0IHJlcXVpcmVkRmVhdHVyZXM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHVVJJUmVmZXJlbmNlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdVUklSZWZlcmVu
Y2UuaWRsCmluZGV4IDU2ZTMxODViNmRhNDJhNDQ3YjU0MDExNzQ4MjM4NjM1ZDVhZTZiYzkuLjk2
MDg3M2U5Y2Q2MGFhNjk3NmY3MTNmODc1OGZlODhjNzVhZjdmYzMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdVUklSZWZlcmVuY2UuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdVUklSZWZlcmVuY2UuaWRsCkBAIC0yOSw2ICsyOSw3IEBAIG1vZHVsZSBzdmcgewogICAg
IGludGVyZmFjZSBbCiAgICAgICAgIENvbmRpdGlvbmFsPVNWRywKICAgICAgICAgT2JqQ1Byb3Rv
Y29sLAorICAgICAgICBTdXBwcmVzc1RvSlNPYmplY3QsCiAgICAgICAgIE9taXRDb25zdHJ1Y3Rv
cgogICAgIF0gU1ZHVVJJUmVmZXJlbmNlIHsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFNW
R0FuaW1hdGVkU3RyaW5nIGhyZWY7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
VW5pdFR5cGVzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdVbml0VHlwZXMuaWRsCmluZGV4
IGVmNWQ2NDJkYTQ2ZjU2M2ZkMmFiZGFlZTJkOWI5ODM3YTI0MzkyMGMuLjdlZDhiMGJhNmFhMTdj
ZTFhODUzMTcyYWVhZWJkYzIzYzg1MjVmYmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdVbml0VHlwZXMuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdVbml0VHlwZXMu
aWRsCkBAIC0yNiw3ICsyNiw4IEBACiBtb2R1bGUgc3ZnIHsKIAogICAgIGludGVyZmFjZSBbCi0g
ICAgICAgIENvbmRpdGlvbmFsPVNWRworICAgICAgICBDb25kaXRpb25hbD1TVkcsCisgICAgICAg
IFN1cHByZXNzVG9KU09iamVjdAogICAgIF0gU1ZHVW5pdFR5cGVzIHsKICAgICAgICAgLy8gVW5p
dCBUeXBlcwogICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBTVkdfVU5JVF9UWVBFX1VOS05P
V04gICAgICAgICAgID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdWaWV3
RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVmlld0VsZW1lbnQuY3BwCmluZGV4
IDJhMmZlZjE3MTM3YmNjZWYzZDgwNDA4MWRiZTBkOGRiODczZDNmMGQuLmRhYmU5ZGI1Y2YzZWRl
OWY2NzExNmNlMjE2ZDc1MjE1NDJiMDkzN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdWaWV3RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ZpZXdFbGVt
ZW50LmNwcApAQCAtNDUsNiArNDUsNyBAQCBFTkRfUkVHSVNURVJfQU5JTUFURURfUFJPUEVSVElF
UwogCiBpbmxpbmUgU1ZHVmlld0VsZW1lbnQ6OlNWR1ZpZXdFbGVtZW50KGNvbnN0IFF1YWxpZmll
ZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKICAgICA6IFNWR1N0eWxlZEVsZW1l
bnQodGFnTmFtZSwgZG9jdW1lbnQpCisgICAgLCBtX3pvb21BbmRQYW4oU1ZHWm9vbUFuZFBhbk1h
Z25pZnkpCiAgICAgLCBtX3ZpZXdUYXJnZXQoU1ZHTmFtZXM6OnZpZXdUYXJnZXRBdHRyKQogewog
ICAgIEFTU0VSVChoYXNUYWdOYW1lKFNWR05hbWVzOjp2aWV3VGFnKSk7CkBAIC04NCw3ICs4NSw3
IEBAIHZvaWQgU1ZHVmlld0VsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKGNvbnN0IEF0dHJpYnV0ZSYg
YXR0cmlidXRlKQogICAgICAgICByZXR1cm47CiAgICAgaWYgKFNWR0ZpdFRvVmlld0JveDo6cGFy
c2VBdHRyaWJ1dGUoZG9jdW1lbnQoKSwgYXR0cmlidXRlKSkKICAgICAgICAgcmV0dXJuOwotICAg
IGlmIChTVkdab29tQW5kUGFuOjpwYXJzZUF0dHJpYnV0ZShhdHRyaWJ1dGUpKQorICAgIGlmIChT
Vkdab29tQW5kUGFuOjpwYXJzZUF0dHJpYnV0ZSh0aGlzLCBhdHRyaWJ1dGUpKQogICAgICAgICBy
ZXR1cm47CiAKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdWaWV3RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ZpZXdF
bGVtZW50LmgKaW5kZXggNmQ4MDg5ZWEyZWZhOGI3YzgyOGU5YTZkMmQwMmZmOGRiOWYxYzY4MS4u
MTFmNTgzODhhN2UwNWRhMWNhNDA3N2UzYjQwMTdiODYwMjY3NjFmZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR1ZpZXdFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR1ZpZXdFbGVtZW50LmgKQEAgLTQwLDggKzQwLDE0IEBAIGNsYXNzIFNWR1ZpZXdFbGVtZW50
IDogcHVibGljIFNWR1N0eWxlZEVsZW1lbnQsCiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQ
dHI8U1ZHVmlld0VsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQq
KTsKIAorICAgIHVzaW5nIFNWR1N0eWxlZEVsZW1lbnQ6OnJlZjsKKyAgICB1c2luZyBTVkdTdHls
ZWRFbGVtZW50OjpkZXJlZjsKKwogICAgIFNWR1N0cmluZ0xpc3QmIHZpZXdUYXJnZXQoKSB7IHJl
dHVybiBtX3ZpZXdUYXJnZXQ7IH0KIAorICAgIFNWR1pvb21BbmRQYW5UeXBlIHpvb21BbmRQYW4o
KSBjb25zdCB7IHJldHVybiBtX3pvb21BbmRQYW47IH0KKyAgICB2b2lkIHNldFpvb21BbmRQYW4o
dW5zaWduZWQgc2hvcnQgem9vbUFuZFBhbikgeyBtX3pvb21BbmRQYW4gPSBTVkdab29tQW5kUGFu
OjpwYXJzZUZyb21OdW1iZXIoem9vbUFuZFBhbik7IH0KKwogcHJpdmF0ZToKICAgICBTVkdWaWV3
RWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqKTsKIApAQCAtNTcsNiArNjMs
NyBAQCBwcml2YXRlOgogICAgICAgICBERUNMQVJFX0FOSU1BVEVEX1BSRVNFUlZFQVNQRUNUUkFU
SU8oUHJlc2VydmVBc3BlY3RSYXRpbywgcHJlc2VydmVBc3BlY3RSYXRpbykKICAgICBFTkRfREVD
TEFSRV9BTklNQVRFRF9QUk9QRVJUSUVTCiAKKyAgICBTVkdab29tQW5kUGFuVHlwZSBtX3pvb21B
bmRQYW47CiAgICAgU1ZHU3RyaW5nTGlzdCBtX3ZpZXdUYXJnZXQ7CiB9OwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVmlld1NwZWMuY3BwIGIvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR1ZpZXdTcGVjLmNwcAppbmRleCA0MTViMTllNWI5OWQ1MGNlNjY1ZDg5ZTQ5NmNiZGNhZTNj
NzI4YWUyLi44YmIwNDAwNTVkN2MwYTAyZjNhNmEzZWRmODIzMmE3MjM3MDliOWZlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVmlld1NwZWMuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdWaWV3U3BlYy5jcHAKQEAgLTQxLDEyICs0MSwxMyBAQCBFTkRfUkVHSVNURVJf
QU5JTUFURURfUFJPUEVSVElFUwogCiBTVkdWaWV3U3BlYzo6U1ZHVmlld1NwZWMoU1ZHRWxlbWVu
dCogY29udGV4dEVsZW1lbnQpCiAgICAgOiBtX2NvbnRleHRFbGVtZW50KGNvbnRleHRFbGVtZW50
KQorICAgICwgbV96b29tQW5kUGFuKFNWR1pvb21BbmRQYW5NYWduaWZ5KQogewogICAgIEFTU0VS
VChtX2NvbnRleHRFbGVtZW50KTsKICAgICByZWdpc3RlckFuaW1hdGVkUHJvcGVydGllc0ZvclNW
R1ZpZXdTcGVjKCk7CiB9CiAKLXZvaWQgU1ZHVmlld1NwZWM6OnNldFRyYW5zZm9ybShjb25zdCBT
dHJpbmcmIHRyYW5zZm9ybSkKK3ZvaWQgU1ZHVmlld1NwZWM6OnNldFRyYW5zZm9ybVN0cmluZyhj
b25zdCBTdHJpbmcmIHRyYW5zZm9ybSkKIHsKICAgICBtX3RyYW5zZm9ybS5wYXJzZSh0cmFuc2Zv
cm0pOwogfQpAQCAtMTMxLDcgKzEzMiw3IEBAIGJvb2wgU1ZHVmlld1NwZWM6OnBhcnNlVmlld1Nw
ZWMoY29uc3QgU3RyaW5nJiB2aWV3U3BlYykKICAgICAgICAgICAgIGlmIChjdXJyVmlld1NwZWMg
Pj0gZW5kIHx8ICpjdXJyVmlld1NwZWMgIT0gJygnKQogICAgICAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKICAgICAgICAgICAgIGN1cnJWaWV3U3BlYysrOwotICAgICAgICAgICAgaWYgKCFwYXJz
ZVpvb21BbmRQYW4oY3VyclZpZXdTcGVjLCBlbmQpKQorICAgICAgICAgICAgaWYgKCFwYXJzZVpv
b21BbmRQYW4oY3VyclZpZXdTcGVjLCBlbmQsIG1fem9vbUFuZFBhbikpCiAgICAgICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgaWYgKGN1cnJWaWV3U3BlYyA+PSBlbmQgfHwg
KmN1cnJWaWV3U3BlYyAhPSAnKScpCiAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ZpZXdTcGVjLmggYi9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHVmlld1NwZWMuaAppbmRleCBjMjFhMGM5NTkwNTgwMjhmNDhkYzE4NTllMDZlZTUy
OTYxZDM0MThiLi4xZTRjMjcxNTg0NGY2Yjk5ZDFhN2FiNjkxYTdkYmE0OWM2NGVmNzM2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVmlld1NwZWMuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHVmlld1NwZWMuaApAQCAtMzEsMTYgKzMxLDE3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogY2xhc3MgU1ZHRWxlbWVudDsKIAotY2xhc3MgU1ZHVmlld1NwZWMgOiBwdWJsaWMg
U1ZHRml0VG9WaWV3Qm94LAotICAgICAgICAgICAgICAgICAgICBwdWJsaWMgU1ZHWm9vbUFuZFBh
biB7CitjbGFzcyBTVkdWaWV3U3BlYyA6IHB1YmxpYyBTVkdab29tQW5kUGFuLAorICAgICAgICAg
ICAgICAgICAgICBwdWJsaWMgU1ZHRml0VG9WaWV3Qm94IHsKICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShTVkdWaWV3U3BlYyk7CiBwdWJsaWM6CiAgICAgU1ZHVmlld1NwZWMoU1ZHRWxlbWVudCop
OwogCiAgICAgYm9vbCBwYXJzZVZpZXdTcGVjKGNvbnN0IFN0cmluZyYpOwogCi0gICAgdm9pZCBz
ZXRUcmFuc2Zvcm0oY29uc3QgU3RyaW5nJik7CisgICAgdm9pZCBzZXRUcmFuc2Zvcm1TdHJpbmco
Y29uc3QgU3RyaW5nJik7CiAgICAgU1ZHVHJhbnNmb3JtTGlzdCB0cmFuc2Zvcm0oKSBjb25zdCB7
IHJldHVybiBtX3RyYW5zZm9ybTsgfQorICAgIFNWR1RyYW5zZm9ybUxpc3QgdHJhbnNmb3JtQmFz
ZVZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV90cmFuc2Zvcm07IH0KIAogICAgIHZvaWQgc2V0Vmll
d0JveFN0cmluZyhjb25zdCBTdHJpbmcmKTsKIApAQCAtNTAsNiArNTEsMTAgQEAgcHVibGljOgog
ICAgIFN0cmluZyB2aWV3VGFyZ2V0U3RyaW5nKCkgY29uc3QgeyByZXR1cm4gbV92aWV3VGFyZ2V0
U3RyaW5nOyB9CiAgICAgU1ZHRWxlbWVudCogdmlld1RhcmdldCgpIGNvbnN0OwogCisgICAgU1ZH
Wm9vbUFuZFBhblR5cGUgem9vbUFuZFBhbigpIGNvbnN0IHsgcmV0dXJuIG1fem9vbUFuZFBhbjsg
fQorICAgIHZvaWQgc2V0Wm9vbUFuZFBhbih1bnNpZ25lZCBzaG9ydCwgRXhjZXB0aW9uQ29kZSYp
OworICAgIHZvaWQgc2V0Wm9vbUFuZFBhbkJhc2VWYWx1ZSh1bnNpZ25lZCBzaG9ydCB6b29tQW5k
UGFuKSB7IG1fem9vbUFuZFBhbiA9IFNWR1pvb21BbmRQYW46OnBhcnNlRnJvbU51bWJlcih6b29t
QW5kUGFuKTsgfQorCiBwcml2YXRlOgogICAgIFNWR0VsZW1lbnQqIG1fY29udGV4dEVsZW1lbnQ7
CiAKQEAgLTYwLDYgKzY1LDcgQEAgcHJpdmF0ZToKIAogICAgIFNWR1RyYW5zZm9ybUxpc3QgbV90
cmFuc2Zvcm07CiAgICAgU3RyaW5nIG1fdmlld1RhcmdldFN0cmluZzsKKyAgICBTVkdab29tQW5k
UGFuVHlwZSBtX3pvb21BbmRQYW47CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHWm9vbUFuZFBhbi5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHWm9vbUFuZFBhbi5jcHAKaW5kZXggZTcwNmFmZmRhMzAxM2VjNDhhMzYxZWVm
ZDExNzQxY2JjY2Y1OGVlNC4uODEzZWJlNzZhNWUyYmU5OWQ3NjA3Y2M1ZTZlNDJiN2M0ZDlkNDE5
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1pvb21BbmRQYW4uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdab29tQW5kUGFuLmNwcApAQCAtMjMsNTIgKzIzLDQ5IEBA
CiAjaWYgRU5BQkxFKFNWRykKICNpbmNsdWRlICJTVkdab29tQW5kUGFuLmgiCiAKLSNpbmNsdWRl
ICJBdHRyaWJ1dGUuaCIKLSNpbmNsdWRlICJTVkdOYW1lcy5oIgogI2luY2x1ZGUgIlNWR1BhcnNl
clV0aWxpdGllcy5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXZvaWQgU1ZHWm9vbUFuZFBh
bjo6c2V0Wm9vbUFuZFBhbih1bnNpZ25lZCBzaG9ydCB6b29tQW5kUGFuKQorYm9vbCBTVkdab29t
QW5kUGFuOjppc0tub3duQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lKQog
ewotICAgIG1fem9vbUFuZFBhbiA9IHpvb21BbmRQYW47CisgICAgcmV0dXJuIGF0dHJOYW1lID09
IFNWR05hbWVzOjp6b29tQW5kUGFuQXR0cjsKIH0KIAotYm9vbCBTVkdab29tQW5kUGFuOjpwYXJz
ZUF0dHJpYnV0ZShjb25zdCBBdHRyaWJ1dGUmIGF0dHJpYnV0ZSkKK3ZvaWQgU1ZHWm9vbUFuZFBh
bjo6YWRkU3VwcG9ydGVkQXR0cmlidXRlcyhIYXNoU2V0PFF1YWxpZmllZE5hbWU+JiBzdXBwb3J0
ZWRBdHRyaWJ1dGVzKQogewotICAgIGlmIChhdHRyaWJ1dGUubmFtZSgpID09IFNWR05hbWVzOjp6
b29tQW5kUGFuQXR0cikgewotICAgICAgICBjb25zdCBVQ2hhciogc3RhcnQgPSBhdHRyaWJ1dGUu
dmFsdWUoKS5jaGFyYWN0ZXJzKCk7Ci0gICAgICAgIGNvbnN0IFVDaGFyKiBlbmQgPSBzdGFydCAr
IGF0dHJpYnV0ZS52YWx1ZSgpLmxlbmd0aCgpOwotICAgICAgICBwYXJzZVpvb21BbmRQYW4oc3Rh
cnQsIGVuZCk7CisgICAgc3VwcG9ydGVkQXR0cmlidXRlcy5hZGQoU1ZHTmFtZXM6Onpvb21BbmRQ
YW5BdHRyKTsKK30KKworc3RhdGljIGNvbnN0IFVDaGFyIGRpc2FibGVbXSA9ICB7J2QnLCAnaScs
ICdzJywgJ2EnLCAnYicsICdsJywgJ2UnfTsKK3N0YXRpYyBjb25zdCBVQ2hhciBtYWduaWZ5W10g
PSAgeydtJywgJ2EnLCAnZycsICduJywgJ2knLCAnZicsICd5J307CisKK2Jvb2wgU1ZHWm9vbUFu
ZFBhbjo6cGFyc2Vab29tQW5kUGFuKGNvbnN0IFVDaGFyKiYgc3RhcnQsIGNvbnN0IFVDaGFyKiBl
bmQsIFNWR1pvb21BbmRQYW5UeXBlJiB6b29tQW5kUGFuKQoreworICAgIGlmIChza2lwU3RyaW5n
KHN0YXJ0LCBlbmQsIGRpc2FibGUsIFdURl9BUlJBWV9MRU5HVEgoZGlzYWJsZSkpKSB7CisgICAg
ICAgIHpvb21BbmRQYW4gPSBTVkdab29tQW5kUGFuRGlzYWJsZTsKKyAgICAgICAgcmV0dXJuIHRy
dWU7CisgICAgfQorICAgIGlmIChza2lwU3RyaW5nKHN0YXJ0LCBlbmQsIG1hZ25pZnksIFdURl9B
UlJBWV9MRU5HVEgobWFnbmlmeSkpKSB7CisgICAgICAgIHpvb21BbmRQYW4gPSBTVkdab29tQW5k
UGFuTWFnbmlmeTsKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQotCiAgICAgcmV0dXJuIGZh
bHNlOwogfQogCi1ib29sIFNWR1pvb21BbmRQYW46OmlzS25vd25BdHRyaWJ1dGUoY29uc3QgUXVh
bGlmaWVkTmFtZSYgYXR0ck5hbWUpCitOT19SRVRVUk5fRFVFX1RPX0FTU0VSVCB2b2lkIFNWR1pv
b21BbmRQYW46OnJlZigpCiB7Ci0gICAgcmV0dXJuIGF0dHJOYW1lID09IFNWR05hbWVzOjp6b29t
QW5kUGFuQXR0cjsKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKIH0KIAotdm9pZCBTVkdab29t
QW5kUGFuOjphZGRTdXBwb3J0ZWRBdHRyaWJ1dGVzKEhhc2hTZXQ8UXVhbGlmaWVkTmFtZT4mIHN1
cHBvcnRlZEF0dHJpYnV0ZXMpCitOT19SRVRVUk5fRFVFX1RPX0FTU0VSVCB2b2lkIFNWR1pvb21B
bmRQYW46OmRlcmVmKCkKIHsKLSAgICBzdXBwb3J0ZWRBdHRyaWJ1dGVzLmFkZChTVkdOYW1lczo6
em9vbUFuZFBhbkF0dHIpOworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogfQogCi1zdGF0aWMg
Y29uc3QgVUNoYXIgZGlzYWJsZVtdID0gIHsnZCcsICdpJywgJ3MnLCAnYScsICdiJywgJ2wnLCAn
ZSd9Owotc3RhdGljIGNvbnN0IFVDaGFyIG1hZ25pZnlbXSA9ICB7J20nLCAnYScsICdnJywgJ24n
LCAnaScsICdmJywgJ3knfTsKLQotYm9vbCBTVkdab29tQW5kUGFuOjpwYXJzZVpvb21BbmRQYW4o
Y29uc3QgVUNoYXIqJiBzdGFydCwgY29uc3QgVUNoYXIqIGVuZCkKK05PX1JFVFVSTl9EVUVfVE9f
QVNTRVJUIHZvaWQgU1ZHWm9vbUFuZFBhbjo6c2V0Wm9vbUFuZFBhbih1bnNpZ25lZCBzaG9ydCkK
IHsKLSAgICBpZiAoc2tpcFN0cmluZyhzdGFydCwgZW5kLCBkaXNhYmxlLCBXVEZfQVJSQVlfTEVO
R1RIKGRpc2FibGUpKSkKLSAgICAgICAgc2V0Wm9vbUFuZFBhbihTVkdfWk9PTUFORFBBTl9ESVNB
QkxFKTsKLSAgICBlbHNlIGlmIChza2lwU3RyaW5nKHN0YXJ0LCBlbmQsIG1hZ25pZnksIFdURl9B
UlJBWV9MRU5HVEgobWFnbmlmeSkpKQotICAgICAgICBzZXRab29tQW5kUGFuKFNWR19aT09NQU5E
UEFOX01BR05JRlkpOwotICAgIGVsc2UKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgcmV0
dXJuIHRydWU7CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9CiAKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdab29tQW5kUGFuLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHWm9vbUFuZFBhbi5oCmluZGV4IGUyZDUyZjY0ZGMzZDQwZWYxNGNkNzM5YTVkY2ZhYmVmYTA0
YjI3NzIuLmI1MTQ3YWI4ZmQ1ODI3M2NkMjFlY2I4MzZhZjBjMmJlODE0NzY5MTYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdab29tQW5kUGFuLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR1pvb21BbmRQYW4uaApAQCAtMjIsNDAgKzIyLDY5IEBACiAjZGVmaW5lIFNWR1pv
b21BbmRQYW5faAogCiAjaWYgRU5BQkxFKFNWRykKKyNpbmNsdWRlICJBdHRyaWJ1dGUuaCIKICNp
bmNsdWRlICJRdWFsaWZpZWROYW1lLmgiCisjaW5jbHVkZSAiU1ZHTmFtZXMuaCIKICNpbmNsdWRl
IDx3dGYvSGFzaFNldC5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8
d3RmL3VuaWNvZGUvVW5pY29kZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIEF0
dHJpYnV0ZTsKK2VudW0gU1ZHWm9vbUFuZFBhblR5cGUgeworICAgIFNWR1pvb21BbmRQYW5Vbmtu
b3duID0gMCwKKyAgICBTVkdab29tQW5kUGFuRGlzYWJsZSwKKyAgICBTVkdab29tQW5kUGFuTWFn
bmlmeQorfTsKIAogY2xhc3MgU1ZHWm9vbUFuZFBhbiB7CiBwdWJsaWM6Ci0gICAgZW51bSBTVkda
b29tQW5kUGFuVHlwZSB7Ci0gICAgICAgIFNWR19aT09NQU5EUEFOX1VOS05PV04gPSAwLAotICAg
ICAgICBTVkdfWk9PTUFORFBBTl9ESVNBQkxFID0gMSwKLSAgICAgICAgU1ZHX1pPT01BTkRQQU5f
TUFHTklGWSA9IDIKKyAgICAvLyBGb3J3YXJkIGRlY2xhcmUgZW51bWVyYXRpb25zIGluIHRoZSBX
M0MgbmFtaW5nIHNjaGVtZSwgZm9yIElETCBnZW5lcmF0aW9uLgorICAgIGVudW0geworICAgICAg
ICBTVkdfWk9PTUFORFBBTl9VTktOT1dOID0gU1ZHWm9vbUFuZFBhblVua25vd24sCisgICAgICAg
IFNWR19aT09NQU5EUEFOX0RJU0FCTEUgPSBTVkdab29tQW5kUGFuRGlzYWJsZSwKKyAgICAgICAg
U1ZHX1pPT01BTkRQQU5fTUFHTklGWSA9IFNWR1pvb21BbmRQYW5NYWduaWZ5CiAgICAgfTsKIAot
ICAgIFNWR1pvb21BbmRQYW4oKSA6IG1fem9vbUFuZFBhbihTVkdfWk9PTUFORFBBTl9NQUdOSUZZ
KSB7IH0KLSAgICB2aXJ0dWFsIH5TVkdab29tQW5kUGFuKCkgeyB9CisgICAgc3RhdGljIGJvb2wg
aXNLbm93bkF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJik7CisgICAgc3RhdGljIHZvaWQg
YWRkU3VwcG9ydGVkQXR0cmlidXRlcyhIYXNoU2V0PFF1YWxpZmllZE5hbWU+Jik7CisKKyAgICBz
dGF0aWMgU1ZHWm9vbUFuZFBhblR5cGUgcGFyc2VGcm9tTnVtYmVyKHVuc2lnbmVkIHNob3J0IG51
bWJlcikKKyAgICB7CisgICAgICAgIGlmICghbnVtYmVyIHx8IG51bWJlciA+IFNWR1pvb21BbmRQ
YW5NYWduaWZ5KQorICAgICAgICAgICAgcmV0dXJuIFNWR1pvb21BbmRQYW5Vbmtub3duOworICAg
ICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8U1ZHWm9vbUFuZFBhblR5cGU+KG51bWJlcik7CisgICAg
fQogCi0gICAgdW5zaWduZWQgc2hvcnQgem9vbUFuZFBhbigpIGNvbnN0IHsgcmV0dXJuIG1fem9v
bUFuZFBhbjsgfQotICAgIHZpcnR1YWwgdm9pZCBzZXRab29tQW5kUGFuKHVuc2lnbmVkIHNob3J0
IHpvb21BbmRQYW4pOworICAgIHN0YXRpYyBib29sIHBhcnNlWm9vbUFuZFBhbihjb25zdCBVQ2hh
ciomIHN0YXJ0LCBjb25zdCBVQ2hhciogZW5kLCBTVkdab29tQW5kUGFuVHlwZSYpOwogCi0gICAg
Ym9vbCBwYXJzZUF0dHJpYnV0ZShjb25zdCBBdHRyaWJ1dGUmKTsKLSAgICBib29sIGlzS25vd25B
dHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYpOwotICAgIHZvaWQgYWRkU3VwcG9ydGVkQXR0
cmlidXRlcyhIYXNoU2V0PFF1YWxpZmllZE5hbWU+Jik7CisgICAgdGVtcGxhdGU8Y2xhc3MgU1ZH
RWxlbWVudFRhcmdldD4KKyAgICBzdGF0aWMgYm9vbCBwYXJzZUF0dHJpYnV0ZShTVkdFbGVtZW50
VGFyZ2V0KiB0YXJnZXQsIGNvbnN0IEF0dHJpYnV0ZSYgYXR0cmlidXRlKQorICAgIHsKKyAgICAg
ICAgQVNTRVJUKHRhcmdldCk7CisgICAgICAgIEFTU0VSVCh0YXJnZXQtPmRvY3VtZW50KCkpOwor
ICAgICAgICBpZiAoYXR0cmlidXRlLm5hbWUoKSA9PSBTVkdOYW1lczo6em9vbUFuZFBhbkF0dHIp
IHsKKyAgICAgICAgICAgIGNvbnN0IFVDaGFyKiBzdGFydCA9IGF0dHJpYnV0ZS52YWx1ZSgpLmNo
YXJhY3RlcnMoKTsKKyAgICAgICAgICAgIGNvbnN0IFVDaGFyKiBlbmQgPSBzdGFydCArIGF0dHJp
YnV0ZS52YWx1ZSgpLmxlbmd0aCgpOworICAgICAgICAgICAgU1ZHWm9vbUFuZFBhblR5cGUgem9v
bUFuZFBhbiA9IFNWR1pvb21BbmRQYW5Vbmtub3duOworICAgICAgICAgICAgcGFyc2Vab29tQW5k
UGFuKHN0YXJ0LCBlbmQsIHpvb21BbmRQYW4pOworICAgICAgICAgICAgdGFyZ2V0LT5zZXRab29t
QW5kUGFuKHpvb21BbmRQYW4pOworICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIH0K
IAotICAgIGJvb2wgcGFyc2Vab29tQW5kUGFuKGNvbnN0IFVDaGFyKiYgc3RhcnQsIGNvbnN0IFVD
aGFyKiBlbmQpOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQogCi1wcml2YXRlOgotICAg
IHVuc2lnbmVkIHNob3J0IG1fem9vbUFuZFBhbjsKKyAgICBTVkdab29tQW5kUGFuVHlwZSB6b29t
QW5kUGFuKCkgY29uc3QgeyByZXR1cm4gU1ZHWm9vbUFuZFBhblVua25vd247IH0KKworICAgIC8v
IFRoZXNlIG1ldGhvZHMgb25seSBleGlzdCB0byBhbGxvdyB1cyB0byBjb21waWxlIFY4L0pTU1ZH
Wm9vbUFuZFBhbi4qLgorICAgIC8vIFRoZXNlIGFyZSBuZXZlciBjYWxsZWQsIGFuZCB0aHVzIEFT
U0VSVF9OT1RfUkVBQ0hFRC4KKyAgICB2b2lkIHJlZigpOworICAgIHZvaWQgZGVyZWYoKTsKKyAg
ICB2b2lkIHNldFpvb21BbmRQYW4odW5zaWduZWQgc2hvcnQpOwogfTsKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKFNWRykKLQogI2VuZGlmIC8vIFNWR1pvb21B
bmRQYW5faApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1pvb21BbmRQYW4uaWRs
IGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1pvb21BbmRQYW4uaWRsCmluZGV4IGQ2MGFlMGNlZDIw
NmE2NDViNWE1MzdiYTZlOTJlNTU2NTFiN2U5YTkuLjM3NjIxYmI4Y2I2YjI2ZTRhMzdmYTkwYjI3
NDVhYjc2NmZjNzQ2ZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdab29tQW5k
UGFuLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHWm9vbUFuZFBhbi5pZGwKQEAgLTI4
LDE1ICsyOCwxNCBAQCBtb2R1bGUgc3ZnIHsKIAogICAgIGludGVyZmFjZSBbCiAgICAgICAgIENv
bmRpdGlvbmFsPVNWRywKLSAgICAgICAgT2JqQ1Byb3RvY29sCisgICAgICAgIE9iakNQcm90b2Nv
bCwKKyAgICAgICAgU3VwcHJlc3NUb0pTT2JqZWN0CiAgICAgXSBTVkdab29tQW5kUGFuIHsKLSAg
ICAgICAgLy8gWm9vbSBhbmQgUGFuIFR5cGVzCiAgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0
IFNWR19aT09NQU5EUEFOX1VOS05PV04gPSAwOwogICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9y
dCBTVkdfWk9PTUFORFBBTl9ESVNBQkxFID0gMTsKICAgICAgICAgY29uc3QgdW5zaWduZWQgc2hv
cnQgU1ZHX1pPT01BTkRQQU5fTUFHTklGWSA9IDI7CiAKLSAgICAgICAgICAgICAgICAgYXR0cmli
dXRlIHVuc2lnbmVkIHNob3J0IHpvb21BbmRQYW4KLSAgICAgICAgICAgICAgICAgICAgIC8qc2V0
dGVyIHJhaXNlcyhET01FeGNlcHRpb24pKi87CisgICAgICAgIGF0dHJpYnV0ZSB1bnNpZ25lZCBz
aG9ydCB6b29tQW5kUGFuOwogICAgIH07CiAKIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0No
YW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA2ODQ2ZTIyNWEwYjFhOGNhMjQy
NGVlMjNiYTIzMzFiZDA2OTMyMzRhLi4xMmUxNmJlNDg4ZjJhZGQ1MGQyYzkwMWRlNWY0ZjFhYzQ5
ZjhjZTdlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMDUtMjMgIE5pa29sYXMgWmltbWVy
bWFubiAgPG56aW1tZXJtYW5uQHJpbS5jb20+CisKKyAgICAgICAgU1ZHWm9vbUFuZFBhbiBjb25z
dGFudHMgYXJlIG1pc3NpbmcgZnJvbSB3aW5kb3cgb2JqZWN0CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTQ5NAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNWR1pvb21BbmRQYW4gaXMgbm93IGF2YWlsYWJs
ZSBhcyBnbG9iYWwgY29uc3RydWN0b3IsIHJlYmFzZWxpbmUgcmVzdWx0cy4KKworICAgICAgICAq
IHN2Zy9jdXN0b20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQ6CisgICAgICAgICog
c3ZnL2N1c3RvbS9qcy1zdmctY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBz
dmcvY3VzdG9tL2pzLXN2Zy1jb25zdHJ1Y3RvcnMuc3ZnOgorCiAyMDEyLTA1LTIzICBDaHJpc3Rv
cGhlIER1bWV6ICA8Y2hyaXN0b3BoZS5kdW1lekBpbnRlbC5jb20+CiAKICAgICAgICAgW0VGTF0g
RUZMJ3MgRFJUIG5lZWRzIHRvIGNhbGwgU2V0dGluZ3M6OnNldFZhbGlkYXRpb25NZXNzYWdlVGlt
ZXJNYWduaWZpY2F0aW9uKC0xKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9n
bG9iYWwtY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20v
Z2xvYmFsLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQKaW5kZXggYjBiZmM2ODEzNTFlYThmNzll
MzhhODA3NzQzMDZiYjA5ZjM1MTU0Yy4uNzJkZWZmNTkyODQwZWFhZTdjNmJhMDkyNDBiMmE0ZWQ5
YTEyNTNiNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9nbG9iYWwtY29uc3Ry
dWN0b3JzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2dsb2JhbC1j
b25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0CkBAIC0zMSw3ICszMSw3IEBAIEZBSUwgU1ZHVGVzdHMu
dG9TdHJpbmcoKSBzaG91bGQgYmUgW29iamVjdCBTVkdUZXN0c0NvbnN0cnVjdG9yXS4gVGhyZXcg
ZXhjZXB0aW9uCiBGQUlMIFNWR0xhbmdTcGFjZS50b1N0cmluZygpIHNob3VsZCBiZSBbb2JqZWN0
IFNWR0xhbmdTcGFjZUNvbnN0cnVjdG9yXS4gVGhyZXcgZXhjZXB0aW9uIFJlZmVyZW5jZUVycm9y
OiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTVkdMYW5nU3BhY2UKIEZBSUwgU1ZHRXh0ZXJuYWxSZXNv
dXJjZXNSZXF1aXJlZC50b1N0cmluZygpIHNob3VsZCBiZSBbb2JqZWN0IFNWR0V4dGVybmFsUmVz
b3VyY2VzUmVxdWlyZWRDb25zdHJ1Y3Rvcl0uIFRocmV3IGV4Y2VwdGlvbiBSZWZlcmVuY2VFcnJv
cjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZAogRkFJ
TCBTVkdGaXRUb1ZpZXdCb3gudG9TdHJpbmcoKSBzaG91bGQgYmUgW29iamVjdCBTVkdGaXRUb1Zp
ZXdCb3hDb25zdHJ1Y3Rvcl0uIFRocmV3IGV4Y2VwdGlvbiBSZWZlcmVuY2VFcnJvcjogQ2FuJ3Qg
ZmluZCB2YXJpYWJsZTogU1ZHRml0VG9WaWV3Qm94Ci1GQUlMIFNWR1pvb21BbmRQYW4udG9TdHJp
bmcoKSBzaG91bGQgYmUgW29iamVjdCBTVkdab29tQW5kUGFuQ29uc3RydWN0b3JdLiBUaHJldyBl
eGNlcHRpb24gUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFNWR1pvb21BbmRQ
YW4KK1BBU1MgU1ZHWm9vbUFuZFBhbi50b1N0cmluZygpIGlzICdbb2JqZWN0IFNWR1pvb21BbmRQ
YW5Db25zdHJ1Y3Rvcl0nCiBGQUlMIFNWR1ZpZXdTcGVjLnRvU3RyaW5nKCkgc2hvdWxkIGJlIFtv
YmplY3QgU1ZHVmlld1NwZWNDb25zdHJ1Y3Rvcl0uIFRocmV3IGV4Y2VwdGlvbiBSZWZlcmVuY2VF
cnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU1ZHVmlld1NwZWMKIEZBSUwgU1ZHVVJJUmVmZXJl
bmNlLnRvU3RyaW5nKCkgc2hvdWxkIGJlIFtvYmplY3QgU1ZHVVJJUmVmZXJlbmNlQ29uc3RydWN0
b3JdLiBUaHJldyBleGNlcHRpb24gUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6
IFNWR1VSSVJlZmVyZW5jZQogRkFJTCBTVkdDU1NSdWxlLnRvU3RyaW5nKCkgc2hvdWxkIGJlIFtv
YmplY3QgU1ZHQ1NTUnVsZUNvbnN0cnVjdG9yXS4gVGhyZXcgZXhjZXB0aW9uIFJlZmVyZW5jZUVy
cm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTVkdDU1NSdWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9zdmcvY3VzdG9tL2pzLXN2Zy1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvc3ZnL2N1c3RvbS9qcy1zdmctY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dAppbmRleCBh
YjdlNjM4ZWIwZDA3YjA2NTJlYzU5NTE2NmMwNTIwZDQ1ZmQ2NmQ2Li4xYjcyMjgzZWNmMWYzYjdi
NzU4ZjE0MTZmMTIyNzRlZGYzNzkwNjE1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvY3Vz
dG9tL2pzLXN2Zy1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N2
Zy9jdXN0b20vanMtc3ZnLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQKQEAgLTQ0LDkgKzQ0LDkg
QEAgU1ZHRkVEaXNwbGFjZW1lbnRNYXBFbGVtZW50LlNWR19DSEFOTkVMX1IgUEFTU0VECiBTVkdG
RURpc3BsYWNlbWVudE1hcEVsZW1lbnQuU1ZHX0NIQU5ORUxfRyBQQVNTRUQKIFNWR0ZFRGlzcGxh
Y2VtZW50TWFwRWxlbWVudC5TVkdfQ0hBTk5FTF9CIFBBU1NFRAogU1ZHRkVEaXNwbGFjZW1lbnRN
YXBFbGVtZW50LlNWR19DSEFOTkVMX0EgUEFTU0VECi1TVkdGRU1vcnBob2xvZ3lFbGVtZW50LlNW
R19NT1JQSE9MT0dZX09QRVJBVE9SX1VOS05PV04gRVhQRUNURUQgRkFJTFVSRSAoYWN0dWFsOiAn
MCcgZXhwZWN0ZWQ6ICcwJykKLVNWR0ZFTW9ycGhvbG9neUVsZW1lbnQuU1ZHX01PUlBIT0xPR1lf
T1BFUkFUT1JfRVJPREUgRVhQRUNURUQgRkFJTFVSRSAoYWN0dWFsOiAnMScgZXhwZWN0ZWQ6ICcx
JykKLVNWR0ZFTW9ycGhvbG9neUVsZW1lbnQuU1ZHX01PUlBIT0xPR1lfT1BFUkFUT1JfRElMQVRF
IEVYUEVDVEVEIEZBSUxVUkUgKGFjdHVhbDogJzInIGV4cGVjdGVkOiAnMicpCitTVkdGRU1vcnBo
b2xvZ3lFbGVtZW50LlNWR19NT1JQSE9MT0dZX09QRVJBVE9SX1VOS05PV04gUEFTU0VECitTVkdG
RU1vcnBob2xvZ3lFbGVtZW50LlNWR19NT1JQSE9MT0dZX09QRVJBVE9SX0VST0RFIFBBU1NFRAor
U1ZHRkVNb3JwaG9sb2d5RWxlbWVudC5TVkdfTU9SUEhPTE9HWV9PUEVSQVRPUl9ESUxBVEUgUEFT
U0VECiBTVkdGRVR1cmJ1bGVuY2VFbGVtZW50LlNWR19UVVJCVUxFTkNFX1RZUEVfVU5LTk9XTiBQ
QVNTRUQKIFNWR0ZFVHVyYnVsZW5jZUVsZW1lbnQuU1ZHX1RVUkJVTEVOQ0VfVFlQRV9GUkFDVEFM
Tk9JU0UgUEFTU0VECiBTVkdGRVR1cmJ1bGVuY2VFbGVtZW50LlNWR19UVVJCVUxFTkNFX1RZUEVf
VFVSQlVMRU5DRSBQQVNTRUQKQEAgLTE0Myw2ICsxNDMsNiBAQCBTVkdUcmFuc2Zvcm0uU1ZHX1RS
QU5TRk9STV9TS0VXWSBQQVNTRUQKIFNWR1VuaXRUeXBlcy5TVkdfVU5JVF9UWVBFX1VOS05PV04g
UEFTU0VECiBTVkdVbml0VHlwZXMuU1ZHX1VOSVRfVFlQRV9VU0VSU1BBQ0VPTlVTRSBQQVNTRUQK
IFNWR1VuaXRUeXBlcy5TVkdfVU5JVF9UWVBFX09CSkVDVEJPVU5ESU5HQk9YIFBBU1NFRAotU1ZH
Wm9vbUFuZFBhbi5TVkdfWk9PTUFORFBBTl9VTktOT1dOIEVYUEVDVEVEIEZBSUxVUkUgKGFjdHVh
bDogJ3VuZGVmaW5lZCcgZXhwZWN0ZWQ6ICcwJykKLVNWR1pvb21BbmRQYW4uU1ZHX1pPT01BTkRQ
QU5fRElTQUJMRSBFWFBFQ1RFRCBGQUlMVVJFIChhY3R1YWw6ICd1bmRlZmluZWQnIGV4cGVjdGVk
OiAnMScpCi1TVkdab29tQW5kUGFuLlNWR19aT09NQU5EUEFOX01BR05JRlkgRVhQRUNURUQgRkFJ
TFVSRSAoYWN0dWFsOiAndW5kZWZpbmVkJyBleHBlY3RlZDogJzInKQorU1ZHWm9vbUFuZFBhbi5T
VkdfWk9PTUFORFBBTl9VTktOT1dOIFBBU1NFRAorU1ZHWm9vbUFuZFBhbi5TVkdfWk9PTUFORFBB
Tl9ESVNBQkxFIFBBU1NFRAorU1ZHWm9vbUFuZFBhbi5TVkdfWk9PTUFORFBBTl9NQUdOSUZZIFBB
U1NFRApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9qcy1zdmctY29uc3RydWN0
b3JzLnN2ZyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vanMtc3ZnLWNvbnN0cnVjdG9ycy5zdmcK
aW5kZXggMzU2MzFjZGNlYTA3OWM2ZTZhMTUwMjQxYzMyZWUwMzNjNTBjMmZjMS4uODU4NzEzNzFi
YWMwOTc0ODRhN2E3ZTEzZTZmOWI1OGYyNWUwYmI3YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
c3ZnL2N1c3RvbS9qcy1zdmctY29uc3RydWN0b3JzLnN2ZworKysgYi9MYXlvdXRUZXN0cy9zdmcv
Y3VzdG9tL2pzLXN2Zy1jb25zdHJ1Y3RvcnMuc3ZnCkBAIC05Myw5ICs5Myw5IEBACiAgICAgICB9
CiAKICAgICAgIGlmICh3aW5kb3cuU1ZHRkVNb3JwaG9sb2d5RWxlbWVudCkgewotICAgICAgICAg
IGV4cGVjdF9mYWlsdXJlKCJTVkdGRU1vcnBob2xvZ3lFbGVtZW50LlNWR19NT1JQSE9MT0dZX09Q
RVJBVE9SX1VOS05PV04iLCAwKTsKLSAgICAgICAgICBleHBlY3RfZmFpbHVyZSgiU1ZHRkVNb3Jw
aG9sb2d5RWxlbWVudC5TVkdfTU9SUEhPTE9HWV9PUEVSQVRPUl9FUk9ERSIsIDEpOwotICAgICAg
ICAgIGV4cGVjdF9mYWlsdXJlKCJTVkdGRU1vcnBob2xvZ3lFbGVtZW50LlNWR19NT1JQSE9MT0dZ
X09QRVJBVE9SX0RJTEFURSIsIDIpOworICAgICAgICAgIGV4cGVjdCgiU1ZHRkVNb3JwaG9sb2d5
RWxlbWVudC5TVkdfTU9SUEhPTE9HWV9PUEVSQVRPUl9VTktOT1dOIiwgMCk7CisgICAgICAgICAg
ZXhwZWN0KCJTVkdGRU1vcnBob2xvZ3lFbGVtZW50LlNWR19NT1JQSE9MT0dZX09QRVJBVE9SX0VS
T0RFIiwgMSk7CisgICAgICAgICAgZXhwZWN0KCJTVkdGRU1vcnBob2xvZ3lFbGVtZW50LlNWR19N
T1JQSE9MT0dZX09QRVJBVE9SX0RJTEFURSIsIDIpOwogICAgICAgfQogCiAgICAgICBpZiAod2lu
ZG93LlNWR0ZFVHVyYnVsZW5jZUVsZW1lbnQpIHsKQEAgLTIwOCw5ICsyMDgsOSBAQAogICAgICAg
ZXhwZWN0KCJTVkdVbml0VHlwZXMuU1ZHX1VOSVRfVFlQRV9VU0VSU1BBQ0VPTlVTRSIsIDEpOwog
ICAgICAgZXhwZWN0KCJTVkdVbml0VHlwZXMuU1ZHX1VOSVRfVFlQRV9PQkpFQ1RCT1VORElOR0JP
WCIsIDIpOwogCi0gICAgICBleHBlY3RfZmFpbHVyZSgiU1ZHWm9vbUFuZFBhbi5TVkdfWk9PTUFO
RFBBTl9VTktOT1dOIiwgMCk7Ci0gICAgICBleHBlY3RfZmFpbHVyZSgiU1ZHWm9vbUFuZFBhbi5T
VkdfWk9PTUFORFBBTl9ESVNBQkxFIiwgMSk7Ci0gICAgICBleHBlY3RfZmFpbHVyZSgiU1ZHWm9v
bUFuZFBhbi5TVkdfWk9PTUFORFBBTl9NQUdOSUZZIiwgMik7CisgICAgICBleHBlY3QoIlNWR1pv
b21BbmRQYW4uU1ZHX1pPT01BTkRQQU5fVU5LTk9XTiIsIDApOworICAgICAgZXhwZWN0KCJTVkda
b29tQW5kUGFuLlNWR19aT09NQU5EUEFOX0RJU0FCTEUiLCAxKTsKKyAgICAgIGV4cGVjdCgiU1ZH
Wm9vbUFuZFBhbi5TVkdfWk9PTUFORFBBTl9NQUdOSUZZIiwgMik7CiAgICAgfQogICBdXT48L3Nj
cmlwdD4gIAogPC9zdmc+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>143499</attachid>
            <date>2012-05-23 01:40:48 -0700</date>
            <delta_ts>2012-05-23 10:02:44 -0700</delta_ts>
            <desc>Patch v7</desc>
            <filename>bug-15494-20120523104131.patch</filename>
            <type>text/plain</type>
            <size>46528</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE4MTQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWMyMGZhY2JhNTUxOTNh
NWJlMTgxYzlkMmYzNTYyYjZhNDdhNjg0Ny4uZDliNjNlMmFhMDFmNmRmZjkxZmQ4ZWEwODllNDcy
NjJhMzY0MGI2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEwMCBAQAorMjAxMi0wNS0yMyAgTmlr
b2xhcyBaaW1tZXJtYW5uICA8bnppbW1lcm1hbm5AcmltLmNvbT4KKworICAgICAgICBTVkdab29t
QW5kUGFuIGNvbnN0YW50cyBhcmUgbWlzc2luZyBmcm9tIHdpbmRvdyBvYmplY3QKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NDk0CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgR2VuZXJhdGUgdGhlIFNWR1pv
b21BbmRQYW5Db25zdHJ1Y3Rvciwgc28gdGhhdCB0aGUgY29uc3RhbnRzIGRlZmluZWQgaW4gdGhl
IElETAorICAgICAgICBjYW4gYmUgcmVhY2hlZCBmcm9tIHRoZSBiaW5kaW5ncy4gUHJvdmlkZSBh
IHN0dWItaW1wbGVtZW50YXRpb24gb2YgcmVmL2RlcmVmCisgICAgICAgIHRoYXQncyBuZXZlciB1
c2VkLCBhcyB3ZSBkb24ndCBhY3R1YWxseSB1c2UgSlNTVkdab29tQW5kUGFuIHdoaWNoIG5lZWRz
IHRoaXMsIGJ1dAorICAgICAgICBvbmx5IHRoZSBKU1NWR1pvb21BbmRQYW5Db25zdHJ1Y3Rvci4K
KworICAgICAgICBBZGQgYSBuZXcgSURMIGZsYWcgIlN1cHByZXNzVG9KU09iamVjdCIgd2hpY2gg
ZGlzYWJsZXMgZ2VuZXJhdGlvbiBvZiB0b0pTL3RvVjgKKyAgICAgICAgbWV0aG9kcyBmb3IgY2xh
c3NlcyB0aGF0IGFyZSBvbmx5IHVzZWQgaW4gU1ZHcyBpbnRlcmZhY2VzIHZpYSBtdWx0aXBsZSBp
bmhlcml0YW5jZS4KKyAgICAgICAgVGhpcyBhZmZlY3RzOiBTVkdGaXRUb1ZpZXdCb3gsIFNWR1Rl
c3RzLCBTVkdMYW5nU2FwY2UsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV0Yy4KKwor
ICAgICAgICBVbmxpa2UgdGhvc2UgY2xhc3NlcyBTVkdab29tQW5kUGFuIGRlZmluZXMgY29uc3Rh
bnRzLCBhbmQgdGh1cyBuZWVkcyBhIGdlbmVyYXRlZCBDb25zdHJ1Y3Rvci4KKyAgICAgICAgVGhh
dCByZXF1aXJlcyB1cyB0byBidWlsZCBKU1NWR1pvb21BbmRQYW4uKiAoSlNTVkdGaXRUb1ZpZXdC
b3gvZXRjLiBpcyBnZW5lcmF0ZWQsIGJ1dCBub3QgYnVpbHQhKS4KKyAgICAgICAgVW5mb3J0dW5h
dGVseSB0aGlzIGNhdXNlcyBjb21waWxhdGlvbiBwcm9ibGVtcyBvbiBXaW5kb3dzLCBhcyBpdCBi
dWlsZHMgYWxsIHNvdXJjZXMgaW4gYSBzaW5nbGUtZmlsZS4KKyAgICAgICAgTVNWQyBjYW4ndCBk
ZWNpZGUgd2hldGVoZXIgaXQgc2hvdWxkIGNhbGwgdG9KUyhOb2RlKikgb3IgdG9KUyhTVkdab29t
QW5kUGFuKikgZm9yIGEgU1ZHU1ZHRWxlbWVudC4KKyAgICAgICAgVG8gYXZvaWQgdGhlc2UgcHJv
YmxlbXMgc3RvcCBnZW5lcmF0aW5nIHRvSlMvdG9WOCBjb21wbGV0ZWx5IGZvciBhbGwgU1ZHIE1J
IHR5cGVzLiBUaGV5IHdlcmUKKyAgICAgICAgbmV2ZXIgdXNlZCBiZWZvcmUsIHNvIHRoZXJlJ3Mg
bm8gcG9pbnQgaW4gYWN0dWFsbHkgZ2VuZXJhdGluZyB0aGVtLCBhcyBpdCdzIG5vdyBjYXVzaW5n
IHByb2JsZW1zLgorCisgICAgICAgIFRoaXMgaXMgYSBwcmVwYXJhdGlvbiB0b3dhcmRzIGJ1ZyAx
NTQ5NSwgd2hpY2ggY292ZXJzIGltcGxlbWVudGluZworICAgICAgICBTVkdTVkdFbGVtZW50LmN1
cnJlbnRWaWV3IGFuZCB0aGUgU1ZHVmlld1NwZWMgaW50ZXJmYWNlLgorCisgICAgICAgICogQ01h
a2VMaXN0cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMuY3BwOgorICAgICAgICAqIERl
cml2ZWRTb3VyY2VzLnByaToKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAg
ICAqIFdlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dl
YkNvcmUudmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbToKKyAgICAg
ICAgKFNob3VsZEdlbmVyYXRlVG9KU0RlY2xhcmF0aW9uKToKKyAgICAgICAgKFNob3VsZEdlbmVy
YXRlVG9KU0ltcGxlbWVudGF0aW9uKToKKyAgICAgICAgKEdlbmVyYXRlSGVhZGVyKToKKyAgICAg
ICAgKEdlbmVyYXRlSW1wbGVtZW50YXRpb24pOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMv
Q29kZUdlbmVyYXRvclY4LnBtOgorICAgICAgICAoR2VuZXJhdGVIZWFkZXIpOgorICAgICAgICAq
IGJpbmRpbmdzL3NjcmlwdHMvSURMQXR0cmlidXRlcy50eHQ6CisgICAgICAgICogZ3lwL1dlYkNv
cmUuZ3lwOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmlkbDoKKyAgICAgICAgKiBzdmcvU1ZH
RG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRG9jdW1lbnQ6Onpvb21BbmRQYW5F
bmFibGVkKToKKyAgICAgICAgKiBzdmcvU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5pZGw6
CisgICAgICAgICogc3ZnL1NWR0ZpdFRvVmlld0JveC5pZGw6CisgICAgICAgICogc3ZnL1NWR0xh
bmdTcGFjZS5pZGw6CisgICAgICAgICogc3ZnL1NWR0xvY2F0YWJsZS5pZGw6CisgICAgICAgICog
c3ZnL1NWR1JlbmRlcmluZ0ludGVudC5pZGw6CisgICAgICAgICogc3ZnL1NWR1NWR0VsZW1lbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHU1ZHRWxlbWVudDo6U1ZHU1ZHRWxlbWVudCk6Cisg
ICAgICAgIChXZWJDb3JlOjpTVkdTVkdFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZSk6CisgICAgICAg
IChXZWJDb3JlOjpTVkdTVkdFbGVtZW50Ojp2aWV3Qm94VG9WaWV3VHJhbnNmb3JtKToKKyAgICAg
ICAgKFdlYkNvcmU6OlNWR1NWR0VsZW1lbnQ6OnNldHVwSW5pdGlhbFZpZXcpOgorICAgICAgICAo
V2ViQ29yZTo6U1ZHU1ZHRWxlbWVudDo6aW5oZXJpdFZpZXdBdHRyaWJ1dGVzKToKKyAgICAgICAg
KiBzdmcvU1ZHU1ZHRWxlbWVudC5oOgorICAgICAgICAoU1ZHU1ZHRWxlbWVudCk6CisgICAgICAg
IChXZWJDb3JlOjpTVkdTVkdFbGVtZW50Ojp1c2VDdXJyZW50Vmlldyk6CisgICAgICAgIChXZWJD
b3JlOjpTVkdTVkdFbGVtZW50OjpzZXRVc2VDdXJyZW50Vmlldyk6CisgICAgICAgIChXZWJDb3Jl
OjpTVkdTVkdFbGVtZW50Ojp6b29tQW5kUGFuKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1NWR0Vs
ZW1lbnQ6OnNldFpvb21BbmRQYW4pOgorICAgICAgICAqIHN2Zy9TVkdTdHlsYWJsZS5pZGw6Cisg
ICAgICAgICogc3ZnL1NWR1Rlc3RzLmlkbDoKKyAgICAgICAgKiBzdmcvU1ZHVVJJUmVmZXJlbmNl
LmlkbDoKKyAgICAgICAgKiBzdmcvU1ZHVW5pdFR5cGVzLmlkbDoKKyAgICAgICAgKiBzdmcvU1ZH
Vmlld0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVmlld0VsZW1lbnQ6OlNWR1Zp
ZXdFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1ZpZXdFbGVtZW50OjpwYXJzZUF0dHJp
YnV0ZSk6CisgICAgICAgICogc3ZnL1NWR1ZpZXdFbGVtZW50Lmg6CisgICAgICAgIChTVkdWaWV3
RWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdWaWV3RWxlbWVudDo6em9vbUFuZFBhbik6
CisgICAgICAgIChXZWJDb3JlOjpTVkdWaWV3RWxlbWVudDo6c2V0Wm9vbUFuZFBhbik6CisgICAg
ICAgICogc3ZnL1NWR1ZpZXdTcGVjLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1ZpZXdTcGVj
OjpTVkdWaWV3U3BlYyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdWaWV3U3BlYzo6c2V0VHJhbnNm
b3JtU3RyaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1ZpZXdTcGVjOjpwYXJzZVZpZXdTcGVj
KToKKyAgICAgICAgKiBzdmcvU1ZHVmlld1NwZWMuaDoKKyAgICAgICAgKFNWR1ZpZXdTcGVjKToK
KyAgICAgICAgKFdlYkNvcmU6OlNWR1ZpZXdTcGVjOjp0cmFuc2Zvcm1CYXNlVmFsdWUpOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHVmlld1NwZWM6Onpvb21BbmRQYW4pOgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHVmlld1NwZWM6OnNldFpvb21BbmRQYW5CYXNlVmFsdWUpOgorICAgICAgICAqIHN2Zy9T
Vkdab29tQW5kUGFuLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1pvb21BbmRQYW46OmlzS25v
d25BdHRyaWJ1dGUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHWm9vbUFuZFBhbjo6YWRkU3VwcG9y
dGVkQXR0cmlidXRlcyk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlNW
R1pvb21BbmRQYW46OnBhcnNlWm9vbUFuZFBhbik6CisgICAgICAgIChXZWJDb3JlOjpTVkdab29t
QW5kUGFuOjpyZWYpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHWm9vbUFuZFBhbjo6ZGVyZWYpOgor
ICAgICAgICAoV2ViQ29yZTo6U1ZHWm9vbUFuZFBhbjo6c2V0Wm9vbUFuZFBhbik6CisgICAgICAg
ICogc3ZnL1NWR1pvb21BbmRQYW4uaDoKKyAgICAgICAgKFNWR1pvb21BbmRQYW4pOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHWm9vbUFuZFBhbjo6cGFyc2VGcm9tTnVtYmVyKToKKyAgICAgICAgKFdl
YkNvcmU6OlNWR1pvb21BbmRQYW46OnBhcnNlQXR0cmlidXRlKToKKyAgICAgICAgKFdlYkNvcmU6
OlNWR1pvb21BbmRQYW46Onpvb21BbmRQYW4pOgorICAgICAgICAqIHN2Zy9TVkdab29tQW5kUGFu
LmlkbDoKKwogMjAxMi0wNS0yMyAgQWxpY2UgQm94aGFsbCAgPGFib3hoYWxsQGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBBWDogQ29udGVudGVkaXRhYmxlIHRhYmxlcyBzaG91bGQgYWx3YXlzIGJl
IGV4cG9zZWQgYXMgZGF0YSB0YWJsZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtl
TGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggMzQ0ODRlOGM1
MmYzZTAwYTA2YzVhMmFmMjkyMTM1NWY0YWU5YmFjNS4uZjk5OTE0MDdmM2RhYWM2ODNhZTA3YWQ4
Mzk2MzFhNmEyMDY0ZWE4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50
eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTIxMzEsNiArMjEzMSw3
IEBAIElGIChFTkFCTEVfU1ZHKQogICAgICAgICBzdmcvU1ZHVXNlRWxlbWVudC5pZGwKICAgICAg
ICAgc3ZnL1NWR1ZpZXdFbGVtZW50LmlkbAogICAgICAgICBzdmcvU1ZHVktlcm5FbGVtZW50Lmlk
bAorICAgICAgICBzdmcvU1ZHWm9vbUFuZFBhbi5pZGwKICAgICAgICAgc3ZnL1NWR1pvb21FdmVu
dC5pZGwKICAgICApCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAppbmRleCA5ODhkNTgyNjdk
N2U5MzVlZjZiMDI3YzQ5MTI5ZmFkODFiOGIxMGRjLi5mZjM0MzQ0MGQ5YzQ3MjBiNzY5NzhjOTZm
YWNlOTI1NGIxNjhhNDQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCkBAIC00MzgsNiAr
NDM4LDcgQEAKICNpbmNsdWRlICJKU1NWR1VzZUVsZW1lbnQuY3BwIgogI2luY2x1ZGUgIkpTU1ZH
Vmlld0VsZW1lbnQuY3BwIgogI2luY2x1ZGUgIkpTU1ZHVktlcm5FbGVtZW50LmNwcCIKKyNpbmNs
dWRlICJKU1NWR1pvb21BbmRQYW4uY3BwIgogI2luY2x1ZGUgIkpTU1ZHWm9vbUV2ZW50LmNwcCIK
ICNpbmNsdWRlICJKU1RleHQuY3BwIgogI2luY2x1ZGUgIkpTVGV4dEV2ZW50LmNwcCIKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaSBiL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLnByaQppbmRleCBhZDA3ODNmMGVhMjUzMDM3YTgwMDNiYjRmZWM5ZjM5
NDVmN2NkMTY5Li5kYzM1MjEyODQ2MGUxM2Y2MDMxNmUwMWI1Y2M1YmMzOGM0YjNlMDkzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkKKysrIGIvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpCkBAIC00NjUsNyArNDY1LDYgQEAgdjggewogCiBjb250
YWlucyhERUZJTkVTLCBFTkFCTEVfU1ZHPTEpIHsKICAgSURMX0JJTkRJTkdTICs9IFwKLSAgICAk
JFBXRC9zdmcvU1ZHWm9vbUV2ZW50LmlkbCBcCiAgICAgJCRQV0Qvc3ZnL1NWR0FFbGVtZW50Lmlk
bCBcCiAgICAgJCRQV0Qvc3ZnL1NWR0FsdEdseXBoRGVmRWxlbWVudC5pZGwgXAogICAgICQkUFdE
L3N2Zy9TVkdBbHRHbHlwaEVsZW1lbnQuaWRsIFwKQEAgLTYwNSw3ICs2MDQsOSBAQCBjb250YWlu
cyhERUZJTkVTLCBFTkFCTEVfU1ZHPTEpIHsKICAgICAkJFBXRC9zdmcvU1ZHVW5pdFR5cGVzLmlk
bCBcCiAgICAgJCRQV0Qvc3ZnL1NWR1VzZUVsZW1lbnQuaWRsIFwKICAgICAkJFBXRC9zdmcvU1ZH
Vmlld0VsZW1lbnQuaWRsIFwKLSAgICAkJFBXRC9zdmcvU1ZHVktlcm5FbGVtZW50LmlkbAorICAg
ICQkUFdEL3N2Zy9TVkdWS2VybkVsZW1lbnQuaWRsIFwKKyAgICAkJFBXRC9zdmcvU1ZHWm9vbUFu
ZFBhbi5pZGwgXAorICAgICQkUFdEL3N2Zy9TVkdab29tRXZlbnQuaWRsCiB9CiAKIGNvbnRhaW5z
KERFRklORVMsIEVOQUJMRV9WSURFT19UUkFDSz0xKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlz
dC5hbQppbmRleCA2YTA2YzBkZjdhNjhmZmRlMGQwNzc0YjZlNjVkNjk0NDg0NDZlNmZlLi5iZDBk
MDRhNDY2NzM5ZTM4MjE3MDRlMDY1OTFjM2E1ZTVmYzg0YmE5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmxpc3QuYW0KQEAgLTUzODUsNiArNTM4NSw3IEBAIHdlYmNvcmVfYnVpbHRfc291cmNlcyAr
PSBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1NWR1ZpZXdTcGVjLmggXAogCURlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNTVkdWS2VybkVsZW1lbnQuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTU1ZHVktlcm5FbGVtZW50LmggXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNT
Vkdab29tQW5kUGFuLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1NWR1pvb21BbmRQ
YW4uaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1NWR1pvb21FdmVudC5jcHAgXAogCURl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNTVkdab29tRXZlbnQuaApAQCAtNTUzMCw2ICs1NTMxLDcg
QEAgZG9tX2JpbmRpbmdfaWRscyArPSBcCiAJJChXZWJDb3JlKS9zdmcvU1ZHVXNlRWxlbWVudC5p
ZGwgXAogCSQoV2ViQ29yZSkvc3ZnL1NWR1ZLZXJuRWxlbWVudC5pZGwgXAogCSQoV2ViQ29yZSkv
c3ZnL1NWR1ZpZXdFbGVtZW50LmlkbCBcCisJJChXZWJDb3JlKS9zdmcvU1ZHWm9vbUFuZFBhbi5p
ZGwgXAogCSQoV2ViQ29yZSkvc3ZnL1NWR1pvb21FdmVudC5pZGwKIGVuZGlmICMgRU5EIEVOQUJM
RV9TVkcKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5n
eXAgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cAppbmRleCBlZTFjYTAw
OWI5NDcyODc4OTc0YjBjZTRjODA4NjRkMmQ2NTFiYzA4Li4zMDllMzM1ODRiMjExZDgzNTcyMDYz
ODkzNDVkMmRhOTU1NThjZTAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5
cC9XZWJDb3JlLmd5cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5
cApAQCAtMTc0LDcgKzE3NCw2IEBACiAgICAgICAnLi4vc3ZnL1NWR1Rlc3RzLmlkbCcsCiAgICAg
ICAnLi4vc3ZnL1NWR1RyYW5zZm9ybWFibGUuaWRsJywKICAgICAgICcuLi9zdmcvU1ZHVmlld1Nw
ZWMuaWRsJywKLSAgICAgICcuLi9zdmcvU1ZHWm9vbUFuZFBhbi5pZGwnLAogCiAgICAgICAjIEZJ
WE1FOiBJIGRvbid0IGtub3cgd2h5IHRoZXNlIGFyZSBleGNsdWRlZCwgZWl0aGVyLgogICAgICAg
IyBTb21lb25lIChtZT8pIHNob3VsZCBmaWd1cmUgaXQgb3V0IGFuZCBhZGQgYXBwcm9wcmlhdGUg
Y29tbWVudHMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJD
b3JlLnZjcHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9q
CmluZGV4IDg0NmU2MzFmMDEzNzc4OTlhNWE3MGE0M2U1YjUzOWI1NjEyMTFmYTUuLmVkNTBjNzVm
YjQ1OTg2MWEzNTE5NTEzNWUyMWFlZDA4NjRjMTE5M2UgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC0yMTgzNCw2ICsyMTgzNCw2MyBAQAogCQkJ
CT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRp
b25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTU1ZHWm9vbUFu
ZFBhbi5jcHAiCisJCQkJPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1
Z3xXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRv
b2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29u
ZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZXxX
aW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wK
KwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmln
dXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdfQ2Fpcm9f
Q0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJ
CQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0Zp
bGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxl
YXNlX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJ
CQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+
CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJ
TmFtZT0iRGVidWdfQWxsfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJ
CQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4K
KwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlO
YW1lPSJQcm9kdWN0aW9ufFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJ
CQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4K
KwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxh
dGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVy
aXZlZFNvdXJjZXNcSlNTVkdab29tQW5kUGFuLmgiCisJCQkJPgorCQkJPC9GaWxlPgorCisJCQk8
RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFBy
b2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU1NWR1pvb21FdmVudC5jcHAiCiAJCQkJPgogCQkJ
CTxGaWxlQ29uZmlndXJhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDViZjJlNzU3ZmE3MGUzMzBlODgzYmQ5YzJiZGVkODJi
NmQzYmE0MjAuLjBjZGRlNmZiMDk2ZTAwYjg3M2MxNjhmOWE2MzdiODAzZDllYWY0YjYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagor
KysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAg
LTE4MTAsNiArMTgxMCw4IEBACiAJCTcxQTU3REYxMTU0QkUyNUMwMDA5RDEyMCAvKiBTVkdQYXRo
VXRpbGl0aWVzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDcxQTU3REVGMTU0QkUyNUMwMDA5RDEyMCAvKiBTVkdQYXRoVXRpbGl0aWVzLmNwcCAqLzsg
fTsKIAkJNzFBNTdERjIxNTRCRTI1QzAwMDlEMTIwIC8qIFNWR1BhdGhVdGlsaXRpZXMuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcxQTU3REYwMTU0QkUy
NUMwMDA5RDEyMCAvKiBTVkdQYXRoVXRpbGl0aWVzLmggKi87IH07CiAJCTcxQ0M3QTIwMTUyQTBC
RkUwMDlFRUFGOSAvKiBTVkdBbmltYXRlZEVudW1lcmF0aW9uLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcxQ0M3QTFGMTUyQTBCRkUwMDlFRUFGOSAv
KiBTVkdBbmltYXRlZEVudW1lcmF0aW9uLmNwcCAqLzsgfTsKKwkJNzFEQ0I3MDExNTY4MTk3NjAw
ODYyMjcxIC8qIEpTU1ZHWm9vbUFuZFBhbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA3MURDQjZGRjE1NjgxOTc2MDA4NjIyNzEgLyogSlNTVkdab29t
QW5kUGFuLmNwcCAqLzsgfTsKKwkJNzFEQ0I3MDIxNTY4MTk3NjAwODYyMjcxIC8qIEpTU1ZHWm9v
bUFuZFBhbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NzFEQ0I3MDAxNTY4MTk3NjAwODYyMjcxIC8qIEpTU1ZHWm9vbUFuZFBhbi5oICovOyB9OwogCQk3
MUU2MjNEMTE1MUY3MkE2MDAzNkUyRjQgLyogU1ZHQW5pbWF0ZWRJbnRlZ2VyT3B0aW9uYWxJbnRl
Z2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3MUU2
MjNDRjE1MUY3MkE2MDAzNkUyRjQgLyogU1ZHQW5pbWF0ZWRJbnRlZ2VyT3B0aW9uYWxJbnRlZ2Vy
LmggKi87IH07CiAJCTcxRkI5NjdCMTM4M0Q2NDYwMEFDOEE0QyAvKiBTVkdBbmltYXRlZEVudW1l
cmF0aW9uUHJvcGVydHlUZWFyT2ZmLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA3MUZCOTY3QTEzODNENjQ2MDBBQzhBNEMgLyogU1ZHQW5pbWF0ZWRFbnVt
ZXJhdGlvblByb3BlcnR5VGVhck9mZi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCTcyNjI2RTAyMEVGMDIyRkUwMEEwN0UyMCAvKiBGb250RmFzdFBh
dGguY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzI2
MjZFMDEwRUYwMjJGRTAwQTA3RTIwIC8qIEZvbnRGYXN0UGF0aC5jcHAgKi87IH07CkBAIC04ODUy
LDYgKzg4NTQsOCBAQAogCQk3MUE1N0RFRjE1NEJFMjVDMDAwOUQxMjAgLyogU1ZHUGF0aFV0aWxp
dGllcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTVkdQYXRoVXRp
bGl0aWVzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzFBNTdERjAxNTRCRTI1
QzAwMDlEMTIwIC8qIFNWR1BhdGhVdGlsaXRpZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gU1ZHUGF0aFV0aWxpdGllcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk3MUNDN0ExRjE1MkEwQkZFMDA5RUVBRjkgLyogU1ZHQW5pbWF0ZWRFbnVtZXJhdGlvbi5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTVkdBbmltYXRlZEVudW1lcmF0
aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzFEQ0I2RkYxNTY4MTk3NjAw
ODYyMjcxIC8qIEpTU1ZHWm9vbUFuZFBhbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBKU1NWR1pvb21BbmRQYW4uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk3MURDQjcwMDE1NjgxOTc2MDA4NjIyNzEgLyogSlNTVkdab29tQW5kUGFuLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTU1ZHWm9vbUFuZFBhbi5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk3MUU2MjNDRTE1MUY3MkE2MDAzNkUyRjQgLyogU1ZHQW5pbWF0
ZWRJbnRlZ2VyT3B0aW9uYWxJbnRlZ2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFNWR0FuaW1hdGVkSW50ZWdlck9wdGlvbmFsSW50ZWdlci5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTcxRTYyM0NGMTUxRjcyQTYwMDM2RTJGNCAvKiBTVkdBbmlt
YXRlZEludGVnZXJPcHRpb25hbEludGVnZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gU1ZHQW5pbWF0ZWRJbnRlZ2VyT3B0aW9uYWxJbnRlZ2VyLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTcxRkI5NjdBMTM4M0Q2NDYwMEFDOEE0QyAvKiBTVkdBbmltYXRlZEVu
dW1lcmF0aW9uUHJvcGVydHlUZWFyT2ZmLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFNWR0FuaW1hdGVkRW51bWVyYXRpb25Qcm9wZXJ0eVRlYXJPZmYuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTE4MzY1LDYgKzE4MzY5LDggQEAKIAkJCQlCMkZBM0QyRjBBQjc1
QTZGMDAwRTVBQzQgLyogSlNTVkdWaWV3RWxlbWVudC5oICovLAogCQkJCTg0ODUyMjc5MTE5MDE2
MkMwMDZFREM3RiAvKiBKU1NWR1ZLZXJuRWxlbWVudC5jcHAgKi8sCiAJCQkJODQ4NTIyN0ExMTkw
MTYyQzAwNkVEQzdGIC8qIEpTU1ZHVktlcm5FbGVtZW50LmggKi8sCisJCQkJNzFEQ0I2RkYxNTY4
MTk3NjAwODYyMjcxIC8qIEpTU1ZHWm9vbUFuZFBhbi5jcHAgKi8sCisJCQkJNzFEQ0I3MDAxNTY4
MTk3NjAwODYyMjcxIC8qIEpTU1ZHWm9vbUFuZFBhbi5oICovLAogCQkJCUIyRkEzRDMwMEFCNzVB
NkYwMDBFNUFDNCAvKiBKU1NWR1pvb21FdmVudC5jcHAgKi8sCiAJCQkJQjJGQTNEMzEwQUI3NUE2
RjAwMEU1QUM0IC8qIEpTU1ZHWm9vbUV2ZW50LmggKi8sCiAJCQkpOwpAQCAtMjQ5MjQsNiArMjQ5
MzAsNyBAQAogCQkJCUZEQjA1MkUwMTU2MUE0MkMwMEI1MDBENiAvKiBBdWRpb1N1bW1pbmdKdW5j
dGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzcxOTQxOTcxNTY2QjM3MjAwQTI3NkQ4IC8qIFdl
YkNvcmVOU0NlbGxFeHRyYXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTE0ODJFMEM3MTU2QzM2REUw
MDk2NTA2NSAvKiBGcmFjdGlvbmFsTGF5b3V0Qm94RXh0ZW50LmggaW4gSGVhZGVycyAqLywKKwkJ
CQk3MURDQjcwMjE1NjgxOTc2MDA4NjIyNzEgLyogSlNTVkdab29tQW5kUGFuLmggaW4gSGVhZGVy
cyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsK
IAkJfTsKQEAgLTI3OTUxLDYgKzI3OTU4LDcgQEAKIAkJCQkzNzE5NDE5NjE1NjZCMzcyMDBBMjc2
RDggLyogV2ViQ29yZU5TQ2VsbEV4dHJhcy5tIGluIFNvdXJjZXMgKi8sCiAJCQkJMTQ2Q0MxMTUx
NTY5ODhFNDAwMTA5RTM3IC8qIExlbmd0aEJveC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxNDgy
RTBDNjE1NkMzNkRFMDA5NjUwNjUgLyogRnJhY3Rpb25hbExheW91dEJveEV4dGVudC5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQk3MURDQjcwMTE1NjgxOTc2MDA4NjIyNzEgLyogSlNTVkdab29tQW5k
UGFuLmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9z
dHByb2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQppbmRleCAxNWY1ZDk0MWQ1NzQzNjc1YmYzOTNlMWM1
MjM0MTliY2FmZjE2Y2EwLi4zYTc1MmZmMTk3NGE2YTE2ZWZlOWNhYWVmMDY0NmRhZmI5YTUzNmUw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0
b3JKUy5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0
b3JKUy5wbQpAQCAtNjA2LDYgKzYwNiwyMiBAQCBteSAldXNlc1RvSlNOZXdseUNyZWF0ZWQgPSAo
CiAgICAgIlRvdWNoTGlzdCIgPT4gMQogKTsKIAorc3ViIFNob3VsZEdlbmVyYXRlVG9KU0RlY2xh
cmF0aW9uCit7CisgICAgbXkgKCRoYXNQYXJlbnQsICRkYXRhTm9kZSkgPSBAXzsKKyAgICByZXR1
cm4gMCBpZiAoJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiU3VwcHJlc3NUb0pTT2Jq
ZWN0In0pOworICAgIHJldHVybiAxIGlmICghJGhhc1BhcmVudCBvciAkZGF0YU5vZGUtPmV4dGVu
ZGVkQXR0cmlidXRlcy0+eyJKU0dlbmVyYXRlVG9KU09iamVjdCJ9IG9yICgkZGF0YU5vZGUtPmV4
dGVuZGVkQXR0cmlidXRlcy0+eyJDdXN0b21Ub0pTT2JqZWN0In0gb3IgJGRhdGFOb2RlLT5leHRl
bmRlZEF0dHJpYnV0ZXMtPnsiSlNDdXN0b21Ub0pTT2JqZWN0In0pKTsKKyAgICByZXR1cm4gMDsK
K30KKworc3ViIFNob3VsZEdlbmVyYXRlVG9KU0ltcGxlbWVudGF0aW9uCit7CisgICAgbXkgKCRo
YXNQYXJlbnQsICRkYXRhTm9kZSkgPSBAXzsKKyAgICByZXR1cm4gMCBpZiAoJGRhdGFOb2RlLT5l
eHRlbmRlZEF0dHJpYnV0ZXMtPnsiU3VwcHJlc3NUb0pTT2JqZWN0In0pOworICAgIHJldHVybiAx
IGlmICgoISRoYXNQYXJlbnQgb3IgJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSlNH
ZW5lcmF0ZVRvSlNPYmplY3QifSkgYW5kICEoJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMt
PnsiQ3VzdG9tVG9KU09iamVjdCJ9IG9yICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57
IkpTQ3VzdG9tVG9KU09iamVjdCJ9KSk7CisgICAgcmV0dXJuIDA7Cit9CisKIHN1YiBHZXRGdW5j
dGlvbk5hbWUKIHsKICAgICBteSAoJGNsYXNzTmFtZSwgJGZ1bmN0aW9uKSA9IEBfOwpAQCAtOTk0
LDggKzEwMTAsNyBAQCBzdWIgR2VuZXJhdGVIZWFkZXIKICAgICAgICAgcHVzaChAaGVhZGVyQ29u
dGVudCwgIn1cbiIpOwogICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAiXG4iKTsKICAgICB9
Ci0KLSAgICBpZiAoISRoYXNQYXJlbnQgfHwgJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMt
PnsiSlNHZW5lcmF0ZVRvSlNPYmplY3QifSB8fCAoJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0
ZXMtPnsiQ3VzdG9tVG9KU09iamVjdCJ9IHx8ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVz
LT57IkpTQ3VzdG9tVG9KU09iamVjdCJ9KSkgeworICAgIGlmIChTaG91bGRHZW5lcmF0ZVRvSlNE
ZWNsYXJhdGlvbigkaGFzUGFyZW50LCAkZGF0YU5vZGUpKSB7CiAgICAgICAgIHB1c2goQGhlYWRl
ckNvbnRlbnQsICJKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFs
T2JqZWN0KiwgJGltcGxUeXBlKik7XG4iKTsKICAgICB9CiAgICAgaWYgKCEkaGFzUGFyZW50IHx8
ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkpTR2VuZXJhdGVUb05hdGl2ZU9iamVj
dCJ9KSB7CkBAIC0yMzQwLDcgKzIzNTUsNyBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbgog
ICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIn1cblxuIik7CiAgICAgfQogCi0gICAgaWYgKCgh
JGhhc1BhcmVudCBvciAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJKU0dlbmVyYXRl
VG9KU09iamVjdCJ9KSBhbmQgISgkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDdXN0
b21Ub0pTT2JqZWN0In0gb3IgJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSlNDdXN0
b21Ub0pTT2JqZWN0In0pKSB7CisgICAgaWYgKFNob3VsZEdlbmVyYXRlVG9KU0ltcGxlbWVudGF0
aW9uKCRoYXNQYXJlbnQsICRkYXRhTm9kZSkpIHsKICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQs
ICJKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgJGltcGxUeXBlKiBpbXBsKVxuIik7CiAgICAgICAgIHB1c2goQGlt
cGxDb250ZW50LCAie1xuIik7CiAgICAgICAgIGlmICgkc3ZnUHJvcGVydHlUeXBlKSB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5w
bSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtCmlu
ZGV4IGFkMTVlNjA2ZjI5OTk0NzJhZjJlNDJiMzI0ZjQxYzI2YTE4OGQ3YTcuLjAyOWZlOGEyNmE2
NzBlNDg4ODljMThkZmVkZjA3NTJmYjlmYTc4MjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtCkBAIC00NDcsNyArNDQ3LDcgQEAg
RU5ECiB9CiBFTkQKIAotICAgIGlmICgkaW50ZXJmYWNlTmFtZSBlcSAnRWxlbWVudCcpIHsKKyAg
ICBpZiAoJGludGVyZmFjZU5hbWUgZXEgJ0VsZW1lbnQnIG9yICRkYXRhTm9kZS0+ZXh0ZW5kZWRB
dHRyaWJ1dGVzLT57IlN1cHByZXNzVG9KU09iamVjdCJ9KSB7CiAgICAgICAgICMgRG8gbm90IGdl
bmVyYXRlIHRvVjgoKSBmb3IgcGVyZm9ybWFuY2Ugb3B0aW1pemF0aW9uLgogICAgIH0gZWxzaWYg
KCEoJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ3VzdG9tVG9KU09iamVjdCJ9IG9y
ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlY4Q3VzdG9tVG9KU09iamVjdCJ9KSkg
ewogICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCA8PEVORCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0lETEF0dHJpYnV0ZXMudHh0IGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9JRExBdHRyaWJ1dGVzLnR4dAppbmRleCA4NDg5NDkzMjdi
ODAyM2JkMGYxZGJmM2I5MDNiZWIwMjdjOWM1MTFmLi41N2Y1MGE1YWNkMjRjOTRkODViOWU2NTVj
NTIzOTNlZjNhMGIyZmE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL0lETEF0dHJpYnV0ZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvSURMQXR0cmlidXRlcy50eHQKQEAgLTk4LDYgKzk4LDcgQEAgUmVwbGFjZWFibGVDb25zdHJ1
Y3RvcgogUmV0dXJuTmV3T2JqZWN0CiBTdHJpY3RUeXBlQ2hlY2tpbmcKIFN1cHBsZW1lbnRhbD0q
CitTdXBwcmVzc1RvSlNPYmplY3QKIFRyYW5zZmVyTGlzdD0qCiBUcmVhdE51bGxBcz1OdWxsU3Ry
aW5nCiBUcmVhdFJldHVybmVkTnVsbFN0cmluZ0FzPUZhbHNlfE51bGx8VW5kZWZpbmVkCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9neXAvV2ViQ29yZS5neXAgYi9Tb3VyY2UvV2ViQ29yZS9n
eXAvV2ViQ29yZS5neXAKaW5kZXggNjFmYjNjY2Y3ZTk2MTg4NjliMWQ0ZTJiOWNkNjg3OTY2YjM2
YzllNi4uYzBkNGE3YzhkN2ZjMWU3MjVhZWE3M2I5YWEzZWZiMGQwYjBkMDBiZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZ3lwL1dlYkNvcmUuZ3lwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2d5
cC9XZWJDb3JlLmd5cApAQCAtMTIzLDcgKzEyMyw2IEBACiAgICAgICAgIFsnZXhjbHVkZScsICdK
U1NWR1Rlc3RzXFwuKGNwcHxoKSddLAogICAgICAgICBbJ2V4Y2x1ZGUnLCAnSlNTVkdUcmFuc2Zv
cm1hYmxlXFwuKGNwcHxoKSddLAogICAgICAgICBbJ2V4Y2x1ZGUnLCAnSlNTVkdVUklSZWZlcmVu
Y2VcXC4oY3BwfGgpJ10sCi0gICAgICAgIFsnZXhjbHVkZScsICdKU1NWR1pvb21BbmRQYW5cXC4o
Y3BwfGgpJ10sCiAgICAgICAgIFsnZXhjbHVkZScsICd0b2tlbml6ZXJcXC5jcHAnXSwKIAogICAg
ICAgICBbJ2V4Y2x1ZGUnLCAnQWxsSW5PbmVcXC5jcHAkJ10sCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRv
dy5pZGwKaW5kZXggNTk3ZDA3ZDk0MWE3YWUxNTBhMmMxNThiNDU4YTM1ZTMyYTFlYWRmZS4uOTRj
ZWQwMWM1YTk5YjI4NjU1ZTFmMDRjZWY4Y2FmZDgxNzM0OTdlMSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9N
V2luZG93LmlkbApAQCAtNzA5LDYgKzcwOSw3IEBAIG1vZHVsZSB3aW5kb3cgewogICAgICAgICBh
dHRyaWJ1dGUgU1ZHVXNlRWxlbWVudENvbnN0cnVjdG9yIFNWR1VzZUVsZW1lbnQ7CiAgICAgICAg
IGF0dHJpYnV0ZSBTVkdWaWV3RWxlbWVudENvbnN0cnVjdG9yIFNWR1ZpZXdFbGVtZW50OwogLy8g
ICAgICBhdHRyaWJ1dGUgU1ZHVmlld1NwZWNDb25zdHJ1Y3RvciBTVkdWaWV3U3BlYzsKKyAgICAg
ICAgYXR0cmlidXRlIFNWR1pvb21BbmRQYW5Db25zdHJ1Y3RvciBTVkdab29tQW5kUGFuOwogCiAg
ICAgICAgIGF0dHJpYnV0ZSBTVkdBbmltYXRlQ29sb3JFbGVtZW50Q29uc3RydWN0b3IgU1ZHQW5p
bWF0ZUNvbG9yRWxlbWVudDsKICAgICAgICAgYXR0cmlidXRlIFNWR0FuaW1hdGVFbGVtZW50Q29u
c3RydWN0b3IgU1ZHQW5pbWF0ZUVsZW1lbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0RvY3VtZW50LmNwcApp
bmRleCBjMjllZGUzNjkyMWJkMmNlNzU5NTVjNDdkOTM3ZmRlYjc0NDMyMzNmLi5mZjc3NGQyZWE5
ODhkZmRmMzA5ZmM0NjNiMGI4Mzg2MDg3YjhmYzM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdEb2N1bWVu
dC5jcHAKQEAgLTczLDkgKzczLDkgQEAgYm9vbCBTVkdEb2N1bWVudDo6em9vbUFuZFBhbkVuYWJs
ZWQoKSBjb25zdAogICAgIGlmIChyb290RWxlbWVudCgpKSB7CiAgICAgICAgIGlmIChyb290RWxl
bWVudCgpLT51c2VDdXJyZW50VmlldygpKSB7CiAgICAgICAgICAgICBpZiAocm9vdEVsZW1lbnQo
KS0+Y3VycmVudFZpZXcoKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gcm9vdEVsZW1lbnQoKS0+
Y3VycmVudFZpZXcoKS0+em9vbUFuZFBhbigpID09IFNWR1pvb21BbmRQYW46OlNWR19aT09NQU5E
UEFOX01BR05JRlk7CisgICAgICAgICAgICAgICAgcmV0dXJuIHJvb3RFbGVtZW50KCktPmN1cnJl
bnRWaWV3KCktPnpvb21BbmRQYW4oKSA9PSBTVkdab29tQW5kUGFuTWFnbmlmeTsKICAgICAgICAg
fSBlbHNlCi0gICAgICAgICAgICByZXR1cm4gcm9vdEVsZW1lbnQoKS0+em9vbUFuZFBhbigpID09
IFNWR1pvb21BbmRQYW46OlNWR19aT09NQU5EUEFOX01BR05JRlk7CisgICAgICAgICAgICByZXR1
cm4gcm9vdEVsZW1lbnQoKS0+em9vbUFuZFBhbigpID09IFNWR1pvb21BbmRQYW5NYWduaWZ5Owog
ICAgIH0KIAogICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLmlkbAppbmRleCBlZjBkNzIwNzYwY2Y0NTlhZTE0
OTk2NDliZTkxMGM1YWUzNzhkYWNjLi5hNjUwYzhmOGRhMzY0Y2ZjOTBmMmRiMDIyMGUzNTUzZjU2
YTg1N2JiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRXh0ZXJuYWxSZXNvdXJj
ZXNSZXF1aXJlZC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0V4dGVybmFsUmVzb3Vy
Y2VzUmVxdWlyZWQuaWRsCkBAIC0yOSw2ICsyOSw3IEBAIG1vZHVsZSBzdmcgewogICAgIGludGVy
ZmFjZSBbCiAgICAgICAgIENvbmRpdGlvbmFsPVNWRywKICAgICAgICAgT2JqQ1Byb3RvY29sLAor
ICAgICAgICBTdXBwcmVzc1RvSlNPYmplY3QsCiAgICAgICAgIE9taXRDb25zdHJ1Y3RvcgogICAg
IF0gU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCB7IAogICAgICAgICByZWFkb25seSBhdHRy
aWJ1dGUgU1ZHQW5pbWF0ZWRCb29sZWFuIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQ7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRml0VG9WaWV3Qm94LmlkbCBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdGaXRUb1ZpZXdCb3guaWRsCmluZGV4IDFlZDMyMjdmN2MwY2NjMTNiZDVm
M2VhNzMxMmIwNWM3NWE2NTQ1ZmYuLmE1N2E4ZGRmMWQ4MjQ4YTQ0ODdlZGQ1MGU5Y2MwOWI3NWQ4
ZTJmZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGaXRUb1ZpZXdCb3guaWRs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGaXRUb1ZpZXdCb3guaWRsCkBAIC0yOSw2ICsy
OSw3IEBAIG1vZHVsZSBzdmcgewogICAgIGludGVyZmFjZSBbCiAgICAgICAgIENvbmRpdGlvbmFs
PVNWRywKICAgICAgICAgT2JqQ1Byb3RvY29sLAorICAgICAgICBTdXBwcmVzc1RvSlNPYmplY3Qs
CiAgICAgICAgIE9taXRDb25zdHJ1Y3RvcgogICAgIF0gU1ZHRml0VG9WaWV3Qm94IHsKICAgICAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIFNWR0FuaW1hdGVkUmVjdCAgICAgICAgICAgICAgICB2aWV3
Qm94OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0xhbmdTcGFjZS5pZGwgYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHTGFuZ1NwYWNlLmlkbAppbmRleCBkM2EyNjc0N2Q1ODBjOTZj
MTdhNmIwZDMwNGY2MjUyM2YzZDU0Y2JlLi4yMTJjODVhODFmYzY1YmZlYWVhZWIzM2ZjYjM5MTA1
Mjg0NzRkNjU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTGFuZ1NwYWNlLmlk
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTGFuZ1NwYWNlLmlkbApAQCAtMjksNiArMjks
NyBAQCBtb2R1bGUgc3ZnIHsKICAgICBpbnRlcmZhY2UgWwogICAgICAgICBDb25kaXRpb25hbD1T
VkcsCiAgICAgICAgIE9iakNQcm90b2NvbCwKKyAgICAgICAgU3VwcHJlc3NUb0pTT2JqZWN0LAog
ICAgICAgICBPbWl0Q29uc3RydWN0b3IKICAgICBdIFNWR0xhbmdTcGFjZSB7CiAgICAgICAgICAg
ICAgICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgeG1sbGFuZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0xvY2F0YWJsZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTG9jYXRh
YmxlLmlkbAppbmRleCBmNjI2OTc2ZGRkOTc2MDZmNmM5YzIzMTc4ODY2MTk5Nzg0NDRmZTY2Li4z
YjM4YTM5ZjE5ZDljOTAwYjA2ZDAxMjFlOGNhOTZjMThhY2U3NjgwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHTG9jYXRhYmxlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHTG9jYXRhYmxlLmlkbApAQCAtMjksNiArMjksNyBAQCBtb2R1bGUgc3ZnIHsKICAgICBpbnRl
cmZhY2UgWwogICAgICAgICBDb25kaXRpb25hbD1TVkcsCiAgICAgICAgIE9iakNQcm90b2NvbCwK
KyAgICAgICAgU3VwcHJlc3NUb0pTT2JqZWN0LAogICAgICAgICBPbWl0Q29uc3RydWN0b3IKICAg
ICBdIFNWR0xvY2F0YWJsZSB7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBTVkdFbGVtZW50
IG5lYXJlc3RWaWV3cG9ydEVsZW1lbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHUmVuZGVyaW5nSW50ZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdSZW5kZXJpbmdJ
bnRlbnQuaWRsCmluZGV4IGE1ZjcxZjMyNGMzZDA4MTFmMDljOTQwMTQ4YTRkNWJiOWM5NjIxMzUu
LmM2NmQ2NDhjNmQ2ZTRiOTAzODAyZDk0ZmIwMjk5NzhiZWZmMjI1NDggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdSZW5kZXJpbmdJbnRlbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdSZW5kZXJpbmdJbnRlbnQuaWRsCkBAIC0yNiw3ICsyNiw4IEBACiBtb2R1bGUg
c3ZnIHsKIAogICAgIGludGVyZmFjZSBbCi0gICAgICAgIENvbmRpdGlvbmFsPVNWRworICAgICAg
ICBDb25kaXRpb25hbD1TVkcsCisgICAgICAgIFN1cHByZXNzVG9KU09iamVjdAogICAgIF0gU1ZH
UmVuZGVyaW5nSW50ZW50IHsKICAgICAgICAgLy8gUmVuZGVyaW5nIEludGVudCBUeXBlcwogICAg
ICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBSRU5ERVJJTkdfSU5URU5UX1VOS05PV04gICAgICAg
ICAgICAgICA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU1ZHRWxlbWVu
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU1ZHRWxlbWVudC5jcHAKaW5kZXggOGUwZjIx
MGZmNzMxYzk4ODgyZWYwN2M2YWViM2NiNGIyMGZkZDg0YS4uN2YxYjZjN2ZjOGMyNTg4ZDY3NTM3
ODI1ZjYwODEzMGRlYTU5NDc1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1NW
R0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50LmNwcApA
QCAtNTIsNiArNTIsNyBAQAogI2luY2x1ZGUgIlNWR1RyYW5zZm9ybUxpc3QuaCIKICNpbmNsdWRl
ICJTVkdWaWV3RWxlbWVudC5oIgogI2luY2x1ZGUgIlNWR1ZpZXdTcGVjLmgiCisjaW5jbHVkZSAi
U1ZHWm9vbUFuZFBhbi5oIgogI2luY2x1ZGUgIlNWR1pvb21FdmVudC5oIgogI2luY2x1ZGUgIlNj
cmlwdEV2ZW50TGlzdGVuZXIuaCIKICNpbmNsdWRlICJTdGF0aWNOb2RlTGlzdC5oIgpAQCAtODcs
NiArODgsNyBAQCBpbmxpbmUgU1ZHU1ZHRWxlbWVudDo6U1ZHU1ZHRWxlbWVudChjb25zdCBRdWFs
aWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jKQogICAgICwgbV93aWR0aChMZW5ndGhN
b2RlV2lkdGgsICIxMDAlIikKICAgICAsIG1faGVpZ2h0KExlbmd0aE1vZGVIZWlnaHQsICIxMDAl
IikgCiAgICAgLCBtX3VzZUN1cnJlbnRWaWV3KGZhbHNlKQorICAgICwgbV96b29tQW5kUGFuKFNW
R1pvb21BbmRQYW5NYWduaWZ5KQogICAgICwgbV90aW1lQ29udGFpbmVyKFNNSUxUaW1lQ29udGFp
bmVyOjpjcmVhdGUodGhpcykpCiB7CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUoU1ZHTmFtZXM6OnN2
Z1RhZykpOwpAQCAtMTY4LDE2ICsxNzAsNiBAQCBmbG9hdCBTVkdTVkdFbGVtZW50OjpzY3JlZW5Q
aXhlbFRvTWlsbGltZXRlclkoKSBjb25zdAogICAgIHJldHVybiBwaXhlbFVuaXRUb01pbGxpbWV0
ZXJZKCk7CiB9CiAKLWJvb2wgU1ZHU1ZHRWxlbWVudDo6dXNlQ3VycmVudFZpZXcoKSBjb25zdAot
ewotICAgIHJldHVybiBtX3VzZUN1cnJlbnRWaWV3OwotfQotCi12b2lkIFNWR1NWR0VsZW1lbnQ6
OnNldFVzZUN1cnJlbnRWaWV3KGJvb2wgY3VycmVudFZpZXcpCi17Ci0gICAgbV91c2VDdXJyZW50
VmlldyA9IGN1cnJlbnRWaWV3OwotfQotCiBTVkdWaWV3U3BlYyogU1ZHU1ZHRWxlbWVudDo6Y3Vy
cmVudFZpZXcoKSBjb25zdAogewogICAgIGlmICghbV92aWV3U3BlYykKQEAgLTI3OCw3ICsyNzAs
NyBAQCB2b2lkIFNWR1NWR0VsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKGNvbnN0IEF0dHJpYnV0ZSYg
YXR0cmlidXRlKQogICAgICAgICAgICAgICAgfHwgU1ZHTGFuZ1NwYWNlOjpwYXJzZUF0dHJpYnV0
ZShhdHRyaWJ1dGUpCiAgICAgICAgICAgICAgICB8fCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVp
cmVkOjpwYXJzZUF0dHJpYnV0ZShhdHRyaWJ1dGUpCiAgICAgICAgICAgICAgICB8fCBTVkdGaXRU
b1ZpZXdCb3g6OnBhcnNlQXR0cmlidXRlKGRvY3VtZW50KCksIGF0dHJpYnV0ZSkKLSAgICAgICAg
ICAgICAgIHx8IFNWR1pvb21BbmRQYW46OnBhcnNlQXR0cmlidXRlKGF0dHJpYnV0ZSkpIHsKKyAg
ICAgICAgICAgICAgIHx8IFNWR1pvb21BbmRQYW46OnBhcnNlQXR0cmlidXRlKHRoaXMsIGF0dHJp
YnV0ZSkpIHsKICAgICB9IGVsc2UKICAgICAgICAgU1ZHU3R5bGVkTG9jYXRhYmxlRWxlbWVudDo6
cGFyc2VBdHRyaWJ1dGUoYXR0cmlidXRlKTsKIApAQCAtNjU3LDcgKzY0OSw3IEBAIEFmZmluZVRy
YW5zZm9ybSBTVkdTVkdFbGVtZW50Ojp2aWV3Qm94VG9WaWV3VHJhbnNmb3JtKGZsb2F0IHZpZXdX
aWR0aCwgZmxvYXQgdmllCiAgICAgQWZmaW5lVHJhbnNmb3JtIGN0bSA9IFNWR0ZpdFRvVmlld0Jv
eDo6dmlld0JveFRvVmlld1RyYW5zZm9ybShjdXJyZW50Vmlld0JveFJlY3QoKSwgcHJlc2VydmVB
c3BlY3RSYXRpbygpLCB2aWV3V2lkdGgsIHZpZXdIZWlnaHQpOwogICAgIGlmICh1c2VDdXJyZW50
VmlldygpICYmIGN1cnJlbnRWaWV3KCkpIHsKICAgICAgICAgQWZmaW5lVHJhbnNmb3JtIHRyYW5z
Zm9ybTsKLSAgICAgICAgaWYgKGN1cnJlbnRWaWV3KCktPnRyYW5zZm9ybSgpLmNvbmNhdGVuYXRl
KHRyYW5zZm9ybSkpCisgICAgICAgIGlmIChjdXJyZW50VmlldygpLT50cmFuc2Zvcm1CYXNlVmFs
dWUoKS5jb25jYXRlbmF0ZSh0cmFuc2Zvcm0pKQogICAgICAgICAgICAgY3RtICo9IHRyYW5zZm9y
bTsKICAgICB9CiAKQEAgLTY4OCw3ICs2ODAsNyBAQCB2b2lkIFNWR1NWR0VsZW1lbnQ6OnNldHVw
SW5pdGlhbFZpZXcoY29uc3QgU3RyaW5nJiBmcmFnbWVudElkZW50aWZpZXIsIEVsZW1lbnQqCiAg
ICAgICAgIGlmICghbV91c2VDdXJyZW50VmlldykKICAgICAgICAgICAgIHJldHVybjsKICAgICB9
IGVsc2UgaWYgKCFtX3VzZUN1cnJlbnRWaWV3KQotICAgICAgICBjdXJyZW50VmlldygpLT5zZXRU
cmFuc2Zvcm0oZW1wdHlTdHJpbmcoKSk7CisgICAgICAgIGN1cnJlbnRWaWV3KCktPnNldFRyYW5z
Zm9ybVN0cmluZyhlbXB0eVN0cmluZygpKTsKIAogICAgIC8vIEZvcmNlIGEgbGF5b3V0LCBvdGhl
cndpc2UgUmVuZGVyU1ZHUm9vdHMgbG9jYWxUb0JvcmRlckJveFRyYW5zZm9ybSB3b24ndCBiZSBy
ZWJ1aWxkLgogICAgIGlmIChSZW5kZXJPYmplY3QqIG9iamVjdCA9IHJlbmRlcmVyKCkpCkBAIC03
MTMsNyArNzA1LDcgQEAgdm9pZCBTVkdTVkdFbGVtZW50Ojppbmhlcml0Vmlld0F0dHJpYnV0ZXMo
U1ZHVmlld0VsZW1lbnQqIHZpZXdFbGVtZW50KQogICAgIGN1cnJlbnRWaWV3KCktPnNldFByZXNl
cnZlQXNwZWN0UmF0aW9CYXNlVmFsdWUoYXNwZWN0UmF0aW8pOwogCiAgICAgaWYgKHZpZXdFbGVt
ZW50LT5oYXNBdHRyaWJ1dGUoU1ZHTmFtZXM6Onpvb21BbmRQYW5BdHRyKSkKLSAgICAgICAgY3Vy
cmVudFZpZXcoKS0+c2V0Wm9vbUFuZFBhbih2aWV3RWxlbWVudC0+em9vbUFuZFBhbigpKTsKKyAg
ICAgICAgY3VycmVudFZpZXcoKS0+c2V0Wm9vbUFuZFBhbkJhc2VWYWx1ZSh2aWV3RWxlbWVudC0+
em9vbUFuZFBhbigpKTsKICAgICAKICAgICBpZiAoUmVuZGVyT2JqZWN0KiBvYmplY3QgPSByZW5k
ZXJlcigpKQogICAgICAgICBSZW5kZXJTVkdSZXNvdXJjZTo6bWFya0ZvckxheW91dEFuZFBhcmVu
dFJlc291cmNlSW52YWxpZGF0aW9uKG9iamVjdCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHU1ZHRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1NWR0VsZW1lbnQu
aAppbmRleCA2ZWFkNzhiZDI4NDBkNTg5ODYxOTY2NWY4ZDJjYTIyYjFjOGM3YzQzLi4xZmFlNzdk
Y2QxZTg1YzZjNGE2N2Y3NWE3YzZjMDViYWI1MTA5YjI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHU1ZHRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTVkdF
bGVtZW50LmgKQEAgLTUxLDYgKzUxLDkgQEAgY2xhc3MgU1ZHU1ZHRWxlbWVudCA6IHB1YmxpYyBT
VkdTdHlsZWRMb2NhdGFibGVFbGVtZW50LAogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRy
PFNWR1NWR0VsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqKTsK
IAorICAgIHVzaW5nIFNWR1N0eWxlZExvY2F0YWJsZUVsZW1lbnQ6OnJlZjsKKyAgICB1c2luZyBT
VkdTdHlsZWRMb2NhdGFibGVFbGVtZW50OjpkZXJlZjsKKwogICAgIHZpcnR1YWwgYm9vbCBpc1Zh
bGlkKCkgY29uc3QgeyByZXR1cm4gU1ZHVGVzdHM6OmlzVmFsaWQoKTsgfQogICAgIHZpcnR1YWwg
Ym9vbCBzdXBwb3J0c0ZvY3VzKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogCkBAIC02OCw4ICs3
MSw4IEBAIHB1YmxpYzoKICAgICBmbG9hdCBzY3JlZW5QaXhlbFRvTWlsbGltZXRlclgoKSBjb25z
dDsKICAgICBmbG9hdCBzY3JlZW5QaXhlbFRvTWlsbGltZXRlclkoKSBjb25zdDsKIAotICAgIGJv
b2wgdXNlQ3VycmVudFZpZXcoKSBjb25zdDsKLSAgICB2b2lkIHNldFVzZUN1cnJlbnRWaWV3KGJv
b2wgY3VycmVudFZpZXcpOworICAgIGJvb2wgdXNlQ3VycmVudFZpZXcoKSBjb25zdCB7IHJldHVy
biBtX3VzZUN1cnJlbnRWaWV3OyB9CisgICAgdm9pZCBzZXRVc2VDdXJyZW50Vmlldyhib29sIGN1
cnJlbnRWaWV3KSB7IG1fdXNlQ3VycmVudFZpZXcgPSBjdXJyZW50VmlldzsgfQogCiAgICAgU1ZH
Vmlld1NwZWMqIGN1cnJlbnRWaWV3KCkgY29uc3Q7CiAKQEAgLTEzMSw2ICsxMzQsOSBAQCBwdWJs
aWM6CiAgICAgYm9vbCB3aWR0aEF0dHJpYnV0ZUVzdGFibGlzaGVzVmlld3BvcnQoKSBjb25zdDsK
ICAgICBib29sIGhlaWdodEF0dHJpYnV0ZUVzdGFibGlzaGVzVmlld3BvcnQoKSBjb25zdDsKIAor
ICAgIFNWR1pvb21BbmRQYW5UeXBlIHpvb21BbmRQYW4oKSBjb25zdCB7IHJldHVybiBtX3pvb21B
bmRQYW47IH0KKyAgICB2b2lkIHNldFpvb21BbmRQYW4odW5zaWduZWQgc2hvcnQgem9vbUFuZFBh
bikgeyBtX3pvb21BbmRQYW4gPSBTVkdab29tQW5kUGFuOjpwYXJzZUZyb21OdW1iZXIoem9vbUFu
ZFBhbik7IH0KKwogcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCBkaWRNb3ZlVG9OZXdEb2N1
bWVudChEb2N1bWVudCogb2xkRG9jdW1lbnQpIE9WRVJSSURFOwogCkBAIC0xODIsNiArMTg4LDcg
QEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIEFmZmluZVRyYW5zZm9ybSBsb2NhbENvb3JkaW5hdGVT
cGFjZVRyYW5zZm9ybShTVkdMb2NhdGFibGU6OkNUTVNjb3BlKSBjb25zdDsKIAogICAgIGJvb2wg
bV91c2VDdXJyZW50VmlldzsKKyAgICBTVkdab29tQW5kUGFuVHlwZSBtX3pvb21BbmRQYW47CiAg
ICAgUmVmUHRyPFNNSUxUaW1lQ29udGFpbmVyPiBtX3RpbWVDb250YWluZXI7CiAgICAgRmxvYXRQ
b2ludCBtX3RyYW5zbGF0aW9uOwogICAgIG11dGFibGUgT3duUHRyPFNWR1ZpZXdTcGVjPiBtX3Zp
ZXdTcGVjOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1N0eWxhYmxlLmlkbCBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTdHlsYWJsZS5pZGwKaW5kZXggM2UwNjU2M2YwNDJlY2Fk
NjI0YWFhMmZmODU5Y2Y4YTA5NzQ5MzY1Ny4uNTMyNjljOThlYTg4YjI4MGQ1NWRiNGVhY2EzOWYx
OTBmYThkYjk4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1N0eWxhYmxlLmlk
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU3R5bGFibGUuaWRsCkBAIC0zMCw2ICszMCw3
IEBAIG1vZHVsZSBzdmcgewogICAgIGludGVyZmFjZSBbCiAgICAgICAgIENvbmRpdGlvbmFsPVNW
RywKICAgICAgICAgT2JqQ1Byb3RvY29sLAorICAgICAgICBTdXBwcmVzc1RvSlNPYmplY3QsCiAg
ICAgICAgIE9taXRDb25zdHJ1Y3RvcgogICAgIF0gU1ZHU3R5bGFibGUgewogICAgICAgICByZWFk
b25seSBhdHRyaWJ1dGUgU1ZHQW5pbWF0ZWRTdHJpbmcgY2xhc3NOYW1lOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR1Rlc3RzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdU
ZXN0cy5pZGwKaW5kZXggMTFkOTg1NmE2NjlmNGI4YTY3MDI3YmUwNmY0Y2EyMzI4NWQ3MzRjMC4u
ZDlmNzljY2JmMmE5YzdmODVmNmU1YzViNjgzNTgzZThjMzViNTBiNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR1Rlc3RzLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
VGVzdHMuaWRsCkBAIC0yOSw2ICsyOSw3IEBAIG1vZHVsZSBzdmcgewogICAgIGludGVyZmFjZSBb
CiAgICAgICAgIENvbmRpdGlvbmFsPVNWRywKICAgICAgICAgT2JqQ1Byb3RvY29sLAorICAgICAg
ICBTdXBwcmVzc1RvSlNPYmplY3QsCiAgICAgICAgIE9taXRDb25zdHJ1Y3RvcgogICAgIF0gU1ZH
VGVzdHMgewogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgU1ZHU3RyaW5nTGlzdCByZXF1aXJl
ZEZlYXR1cmVzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1VSSVJlZmVyZW5j
ZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVVJJUmVmZXJlbmNlLmlkbAppbmRleCA1NmUz
MTg1YjZkYTQyYTQ0N2I1NDAxMTc0ODIzODYzNWQ1YWU2YmM5Li45NjA4NzNlOWNkNjBhYTY5NzZm
NzEzZjg3NThmZTg4Yzc1YWY3ZmMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
VVJJUmVmZXJlbmNlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVVJJUmVmZXJlbmNl
LmlkbApAQCAtMjksNiArMjksNyBAQCBtb2R1bGUgc3ZnIHsKICAgICBpbnRlcmZhY2UgWwogICAg
ICAgICBDb25kaXRpb25hbD1TVkcsCiAgICAgICAgIE9iakNQcm90b2NvbCwKKyAgICAgICAgU3Vw
cHJlc3NUb0pTT2JqZWN0LAogICAgICAgICBPbWl0Q29uc3RydWN0b3IKICAgICBdIFNWR1VSSVJl
ZmVyZW5jZSB7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBTVkdBbmltYXRlZFN0cmluZyBo
cmVmOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1VuaXRUeXBlcy5pZGwgYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHVW5pdFR5cGVzLmlkbAppbmRleCBlZjVkNjQyZGE0NmY1NjNm
ZDJhYmRhZWUyZDliOTgzN2EyNDM5MjBjLi43ZWQ4YjBiYTZhYTE3Y2UxYTg1MzE3MmFlYWViZGMy
M2M4NTI1ZmJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVW5pdFR5cGVzLmlk
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVW5pdFR5cGVzLmlkbApAQCAtMjYsNyArMjYs
OCBAQAogbW9kdWxlIHN2ZyB7CiAKICAgICBpbnRlcmZhY2UgWwotICAgICAgICBDb25kaXRpb25h
bD1TVkcKKyAgICAgICAgQ29uZGl0aW9uYWw9U1ZHLAorICAgICAgICBTdXBwcmVzc1RvSlNPYmpl
Y3QKICAgICBdIFNWR1VuaXRUeXBlcyB7CiAgICAgICAgIC8vIFVuaXQgVHlwZXMKICAgICAgICAg
Y29uc3QgdW5zaWduZWQgc2hvcnQgU1ZHX1VOSVRfVFlQRV9VTktOT1dOICAgICAgICAgICA9IDA7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVmlld0VsZW1lbnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR1ZpZXdFbGVtZW50LmNwcAppbmRleCAyYTJmZWYxNzEzN2JjY2Vm
M2Q4MDQwODFkYmUwZDhkYjg3M2QzZjBkLi5kYWJlOWRiNWNmM2VkZTlmNjcxMTZjZTIxNmQ3NTIx
NTQyYjA5MzdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVmlld0VsZW1lbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdWaWV3RWxlbWVudC5jcHAKQEAgLTQ1LDYg
KzQ1LDcgQEAgRU5EX1JFR0lTVEVSX0FOSU1BVEVEX1BST1BFUlRJRVMKIAogaW5saW5lIFNWR1Zp
ZXdFbGVtZW50OjpTVkdWaWV3RWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBE
b2N1bWVudCogZG9jdW1lbnQpCiAgICAgOiBTVkdTdHlsZWRFbGVtZW50KHRhZ05hbWUsIGRvY3Vt
ZW50KQorICAgICwgbV96b29tQW5kUGFuKFNWR1pvb21BbmRQYW5NYWduaWZ5KQogICAgICwgbV92
aWV3VGFyZ2V0KFNWR05hbWVzOjp2aWV3VGFyZ2V0QXR0cikKIHsKICAgICBBU1NFUlQoaGFzVGFn
TmFtZShTVkdOYW1lczo6dmlld1RhZykpOwpAQCAtODQsNyArODUsNyBAQCB2b2lkIFNWR1ZpZXdF
bGVtZW50OjpwYXJzZUF0dHJpYnV0ZShjb25zdCBBdHRyaWJ1dGUmIGF0dHJpYnV0ZSkKICAgICAg
ICAgcmV0dXJuOwogICAgIGlmIChTVkdGaXRUb1ZpZXdCb3g6OnBhcnNlQXR0cmlidXRlKGRvY3Vt
ZW50KCksIGF0dHJpYnV0ZSkpCiAgICAgICAgIHJldHVybjsKLSAgICBpZiAoU1ZHWm9vbUFuZFBh
bjo6cGFyc2VBdHRyaWJ1dGUoYXR0cmlidXRlKSkKKyAgICBpZiAoU1ZHWm9vbUFuZFBhbjo6cGFy
c2VBdHRyaWJ1dGUodGhpcywgYXR0cmlidXRlKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgQVNT
RVJUX05PVF9SRUFDSEVEKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVmll
d0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdWaWV3RWxlbWVudC5oCmluZGV4IDZk
ODA4OWVhMmVmYThiN2M4MjhlOWE2ZDJkMDJmZjhkYjlmMWM2ODEuLjExZjU4Mzg4YTdlMDVkYTFj
YTQwNzdlM2I0MDE3Yjg2MDI2NzYxZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdWaWV3RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdWaWV3RWxlbWVudC5o
CkBAIC00MCw4ICs0MCwxNCBAQCBjbGFzcyBTVkdWaWV3RWxlbWVudCA6IHB1YmxpYyBTVkdTdHls
ZWRFbGVtZW50LAogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNWR1ZpZXdFbGVtZW50
PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Kik7CiAKKyAgICB1c2luZyBT
VkdTdHlsZWRFbGVtZW50OjpyZWY7CisgICAgdXNpbmcgU1ZHU3R5bGVkRWxlbWVudDo6ZGVyZWY7
CisKICAgICBTVkdTdHJpbmdMaXN0JiB2aWV3VGFyZ2V0KCkgeyByZXR1cm4gbV92aWV3VGFyZ2V0
OyB9CiAKKyAgICBTVkdab29tQW5kUGFuVHlwZSB6b29tQW5kUGFuKCkgY29uc3QgeyByZXR1cm4g
bV96b29tQW5kUGFuOyB9CisgICAgdm9pZCBzZXRab29tQW5kUGFuKHVuc2lnbmVkIHNob3J0IHpv
b21BbmRQYW4pIHsgbV96b29tQW5kUGFuID0gU1ZHWm9vbUFuZFBhbjo6cGFyc2VGcm9tTnVtYmVy
KHpvb21BbmRQYW4pOyB9CisKIHByaXZhdGU6CiAgICAgU1ZHVmlld0VsZW1lbnQoY29uc3QgUXVh
bGlmaWVkTmFtZSYsIERvY3VtZW50Kik7CiAKQEAgLTU3LDYgKzYzLDcgQEAgcHJpdmF0ZToKICAg
ICAgICAgREVDTEFSRV9BTklNQVRFRF9QUkVTRVJWRUFTUEVDVFJBVElPKFByZXNlcnZlQXNwZWN0
UmF0aW8sIHByZXNlcnZlQXNwZWN0UmF0aW8pCiAgICAgRU5EX0RFQ0xBUkVfQU5JTUFURURfUFJP
UEVSVElFUwogCisgICAgU1ZHWm9vbUFuZFBhblR5cGUgbV96b29tQW5kUGFuOwogICAgIFNWR1N0
cmluZ0xpc3QgbV92aWV3VGFyZ2V0OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR1ZpZXdTcGVjLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdWaWV3U3BlYy5jcHAK
aW5kZXggNDE1YjE5ZTViOTlkNTBjZTY2NWQ4OWU0OTZjYmRjYWUzYzcyOGFlMi4uOGJiMDQwMDU1
ZDdjMGEwMmYzYTZhM2VkZjgyMzJhNzIzNzA5YjlmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR1ZpZXdTcGVjLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVmlld1Nw
ZWMuY3BwCkBAIC00MSwxMiArNDEsMTMgQEAgRU5EX1JFR0lTVEVSX0FOSU1BVEVEX1BST1BFUlRJ
RVMKIAogU1ZHVmlld1NwZWM6OlNWR1ZpZXdTcGVjKFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50
KQogICAgIDogbV9jb250ZXh0RWxlbWVudChjb250ZXh0RWxlbWVudCkKKyAgICAsIG1fem9vbUFu
ZFBhbihTVkdab29tQW5kUGFuTWFnbmlmeSkKIHsKICAgICBBU1NFUlQobV9jb250ZXh0RWxlbWVu
dCk7CiAgICAgcmVnaXN0ZXJBbmltYXRlZFByb3BlcnRpZXNGb3JTVkdWaWV3U3BlYygpOwogfQog
Ci12b2lkIFNWR1ZpZXdTcGVjOjpzZXRUcmFuc2Zvcm0oY29uc3QgU3RyaW5nJiB0cmFuc2Zvcm0p
Cit2b2lkIFNWR1ZpZXdTcGVjOjpzZXRUcmFuc2Zvcm1TdHJpbmcoY29uc3QgU3RyaW5nJiB0cmFu
c2Zvcm0pCiB7CiAgICAgbV90cmFuc2Zvcm0ucGFyc2UodHJhbnNmb3JtKTsKIH0KQEAgLTEzMSw3
ICsxMzIsNyBAQCBib29sIFNWR1ZpZXdTcGVjOjpwYXJzZVZpZXdTcGVjKGNvbnN0IFN0cmluZyYg
dmlld1NwZWMpCiAgICAgICAgICAgICBpZiAoY3VyclZpZXdTcGVjID49IGVuZCB8fCAqY3VyclZp
ZXdTcGVjICE9ICcoJykKICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAg
ICBjdXJyVmlld1NwZWMrKzsKLSAgICAgICAgICAgIGlmICghcGFyc2Vab29tQW5kUGFuKGN1cnJW
aWV3U3BlYywgZW5kKSkKKyAgICAgICAgICAgIGlmICghcGFyc2Vab29tQW5kUGFuKGN1cnJWaWV3
U3BlYywgZW5kLCBtX3pvb21BbmRQYW4pKQogICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
ICAgICAgICAgICAgIGlmIChjdXJyVmlld1NwZWMgPj0gZW5kIHx8ICpjdXJyVmlld1NwZWMgIT0g
JyknKQogICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdWaWV3U3BlYy5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ZpZXdTcGVj
LmgKaW5kZXggYzIxYTBjOTU5MDU4MDI4ZjQ4ZGMxODU5ZTA2ZWU1Mjk2MWQzNDE4Yi4uMWU0YzI3
MTU4NDRmNmI5OWQxYTdhYjY5MWE3ZGJhNDljNjRlZjczNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR1ZpZXdTcGVjLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ZpZXdT
cGVjLmgKQEAgLTMxLDE2ICszMSwxNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNW
R0VsZW1lbnQ7CiAKLWNsYXNzIFNWR1ZpZXdTcGVjIDogcHVibGljIFNWR0ZpdFRvVmlld0JveCwK
LSAgICAgICAgICAgICAgICAgICAgcHVibGljIFNWR1pvb21BbmRQYW4geworY2xhc3MgU1ZHVmll
d1NwZWMgOiBwdWJsaWMgU1ZHWm9vbUFuZFBhbiwKKyAgICAgICAgICAgICAgICAgICAgcHVibGlj
IFNWR0ZpdFRvVmlld0JveCB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHVmlld1NwZWMp
OwogcHVibGljOgogICAgIFNWR1ZpZXdTcGVjKFNWR0VsZW1lbnQqKTsKIAogICAgIGJvb2wgcGFy
c2VWaWV3U3BlYyhjb25zdCBTdHJpbmcmKTsKIAotICAgIHZvaWQgc2V0VHJhbnNmb3JtKGNvbnN0
IFN0cmluZyYpOworICAgIHZvaWQgc2V0VHJhbnNmb3JtU3RyaW5nKGNvbnN0IFN0cmluZyYpOwog
ICAgIFNWR1RyYW5zZm9ybUxpc3QgdHJhbnNmb3JtKCkgY29uc3QgeyByZXR1cm4gbV90cmFuc2Zv
cm07IH0KKyAgICBTVkdUcmFuc2Zvcm1MaXN0IHRyYW5zZm9ybUJhc2VWYWx1ZSgpIGNvbnN0IHsg
cmV0dXJuIG1fdHJhbnNmb3JtOyB9CiAKICAgICB2b2lkIHNldFZpZXdCb3hTdHJpbmcoY29uc3Qg
U3RyaW5nJik7CiAKQEAgLTUwLDYgKzUxLDEwIEBAIHB1YmxpYzoKICAgICBTdHJpbmcgdmlld1Rh
cmdldFN0cmluZygpIGNvbnN0IHsgcmV0dXJuIG1fdmlld1RhcmdldFN0cmluZzsgfQogICAgIFNW
R0VsZW1lbnQqIHZpZXdUYXJnZXQoKSBjb25zdDsKIAorICAgIFNWR1pvb21BbmRQYW5UeXBlIHpv
b21BbmRQYW4oKSBjb25zdCB7IHJldHVybiBtX3pvb21BbmRQYW47IH0KKyAgICB2b2lkIHNldFpv
b21BbmRQYW4odW5zaWduZWQgc2hvcnQsIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICB2b2lkIHNldFpv
b21BbmRQYW5CYXNlVmFsdWUodW5zaWduZWQgc2hvcnQgem9vbUFuZFBhbikgeyBtX3pvb21BbmRQ
YW4gPSBTVkdab29tQW5kUGFuOjpwYXJzZUZyb21OdW1iZXIoem9vbUFuZFBhbik7IH0KKwogcHJp
dmF0ZToKICAgICBTVkdFbGVtZW50KiBtX2NvbnRleHRFbGVtZW50OwogCkBAIC02MCw2ICs2NSw3
IEBAIHByaXZhdGU6CiAKICAgICBTVkdUcmFuc2Zvcm1MaXN0IG1fdHJhbnNmb3JtOwogICAgIFN0
cmluZyBtX3ZpZXdUYXJnZXRTdHJpbmc7CisgICAgU1ZHWm9vbUFuZFBhblR5cGUgbV96b29tQW5k
UGFuOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR1pvb21BbmRQYW4uY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1pvb21B
bmRQYW4uY3BwCmluZGV4IGU3MDZhZmZkYTMwMTNlYzQ4YTM2MWVlZmQxMTc0MWNiY2NmNThlZTQu
LjgxM2ViZTc2YTVlMmJlOTlkNzYwN2NjNWU2ZTQyYjdjNGQ5ZDQxOTYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdab29tQW5kUGFuLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHWm9vbUFuZFBhbi5jcHAKQEAgLTIzLDUyICsyMyw0OSBAQAogI2lmIEVOQUJMRShTVkcp
CiAjaW5jbHVkZSAiU1ZHWm9vbUFuZFBhbi5oIgogCi0jaW5jbHVkZSAiQXR0cmlidXRlLmgiCi0j
aW5jbHVkZSAiU1ZHTmFtZXMuaCIKICNpbmNsdWRlICJTVkdQYXJzZXJVdGlsaXRpZXMuaCIKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCi12b2lkIFNWR1pvb21BbmRQYW46OnNldFpvb21BbmRQYW4o
dW5zaWduZWQgc2hvcnQgem9vbUFuZFBhbikKK2Jvb2wgU1ZHWm9vbUFuZFBhbjo6aXNLbm93bkF0
dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyTmFtZSkKIHsKLSAgICBtX3pvb21BbmRQ
YW4gPSB6b29tQW5kUGFuOworICAgIHJldHVybiBhdHRyTmFtZSA9PSBTVkdOYW1lczo6em9vbUFu
ZFBhbkF0dHI7CiB9CiAKLWJvb2wgU1ZHWm9vbUFuZFBhbjo6cGFyc2VBdHRyaWJ1dGUoY29uc3Qg
QXR0cmlidXRlJiBhdHRyaWJ1dGUpCit2b2lkIFNWR1pvb21BbmRQYW46OmFkZFN1cHBvcnRlZEF0
dHJpYnV0ZXMoSGFzaFNldDxRdWFsaWZpZWROYW1lPiYgc3VwcG9ydGVkQXR0cmlidXRlcykKIHsK
LSAgICBpZiAoYXR0cmlidXRlLm5hbWUoKSA9PSBTVkdOYW1lczo6em9vbUFuZFBhbkF0dHIpIHsK
LSAgICAgICAgY29uc3QgVUNoYXIqIHN0YXJ0ID0gYXR0cmlidXRlLnZhbHVlKCkuY2hhcmFjdGVy
cygpOwotICAgICAgICBjb25zdCBVQ2hhciogZW5kID0gc3RhcnQgKyBhdHRyaWJ1dGUudmFsdWUo
KS5sZW5ndGgoKTsKLSAgICAgICAgcGFyc2Vab29tQW5kUGFuKHN0YXJ0LCBlbmQpOworICAgIHN1
cHBvcnRlZEF0dHJpYnV0ZXMuYWRkKFNWR05hbWVzOjp6b29tQW5kUGFuQXR0cik7Cit9CisKK3N0
YXRpYyBjb25zdCBVQ2hhciBkaXNhYmxlW10gPSAgeydkJywgJ2knLCAncycsICdhJywgJ2InLCAn
bCcsICdlJ307CitzdGF0aWMgY29uc3QgVUNoYXIgbWFnbmlmeVtdID0gIHsnbScsICdhJywgJ2cn
LCAnbicsICdpJywgJ2YnLCAneSd9OworCitib29sIFNWR1pvb21BbmRQYW46OnBhcnNlWm9vbUFu
ZFBhbihjb25zdCBVQ2hhciomIHN0YXJ0LCBjb25zdCBVQ2hhciogZW5kLCBTVkdab29tQW5kUGFu
VHlwZSYgem9vbUFuZFBhbikKK3sKKyAgICBpZiAoc2tpcFN0cmluZyhzdGFydCwgZW5kLCBkaXNh
YmxlLCBXVEZfQVJSQVlfTEVOR1RIKGRpc2FibGUpKSkgeworICAgICAgICB6b29tQW5kUGFuID0g
U1ZHWm9vbUFuZFBhbkRpc2FibGU7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICBp
ZiAoc2tpcFN0cmluZyhzdGFydCwgZW5kLCBtYWduaWZ5LCBXVEZfQVJSQVlfTEVOR1RIKG1hZ25p
ZnkpKSkgeworICAgICAgICB6b29tQW5kUGFuID0gU1ZHWm9vbUFuZFBhbk1hZ25pZnk7CiAgICAg
ICAgIHJldHVybiB0cnVlOwogICAgIH0KLQogICAgIHJldHVybiBmYWxzZTsKIH0KIAotYm9vbCBT
Vkdab29tQW5kUGFuOjppc0tub3duQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJO
YW1lKQorTk9fUkVUVVJOX0RVRV9UT19BU1NFUlQgdm9pZCBTVkdab29tQW5kUGFuOjpyZWYoKQog
ewotICAgIHJldHVybiBhdHRyTmFtZSA9PSBTVkdOYW1lczo6em9vbUFuZFBhbkF0dHI7CisgICAg
QVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9CiAKLXZvaWQgU1ZHWm9vbUFuZFBhbjo6YWRkU3VwcG9y
dGVkQXR0cmlidXRlcyhIYXNoU2V0PFF1YWxpZmllZE5hbWU+JiBzdXBwb3J0ZWRBdHRyaWJ1dGVz
KQorTk9fUkVUVVJOX0RVRV9UT19BU1NFUlQgdm9pZCBTVkdab29tQW5kUGFuOjpkZXJlZigpCiB7
Ci0gICAgc3VwcG9ydGVkQXR0cmlidXRlcy5hZGQoU1ZHTmFtZXM6Onpvb21BbmRQYW5BdHRyKTsK
KyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKIH0KIAotc3RhdGljIGNvbnN0IFVDaGFyIGRpc2Fi
bGVbXSA9ICB7J2QnLCAnaScsICdzJywgJ2EnLCAnYicsICdsJywgJ2UnfTsKLXN0YXRpYyBjb25z
dCBVQ2hhciBtYWduaWZ5W10gPSAgeydtJywgJ2EnLCAnZycsICduJywgJ2knLCAnZicsICd5J307
Ci0KLWJvb2wgU1ZHWm9vbUFuZFBhbjo6cGFyc2Vab29tQW5kUGFuKGNvbnN0IFVDaGFyKiYgc3Rh
cnQsIGNvbnN0IFVDaGFyKiBlbmQpCitOT19SRVRVUk5fRFVFX1RPX0FTU0VSVCB2b2lkIFNWR1pv
b21BbmRQYW46OnNldFpvb21BbmRQYW4odW5zaWduZWQgc2hvcnQpCiB7Ci0gICAgaWYgKHNraXBT
dHJpbmcoc3RhcnQsIGVuZCwgZGlzYWJsZSwgV1RGX0FSUkFZX0xFTkdUSChkaXNhYmxlKSkpCi0g
ICAgICAgIHNldFpvb21BbmRQYW4oU1ZHX1pPT01BTkRQQU5fRElTQUJMRSk7Ci0gICAgZWxzZSBp
ZiAoc2tpcFN0cmluZyhzdGFydCwgZW5kLCBtYWduaWZ5LCBXVEZfQVJSQVlfTEVOR1RIKG1hZ25p
ZnkpKSkKLSAgICAgICAgc2V0Wm9vbUFuZFBhbihTVkdfWk9PTUFORFBBTl9NQUdOSUZZKTsKLSAg
ICBlbHNlCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIHJldHVybiB0cnVlOworICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOwogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHWm9vbUFuZFBhbi5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1pvb21BbmRQYW4uaApp
bmRleCBlMmQ1MmY2NGRjM2Q0MGVmMTRjZDczOWE1ZGNmYWJlZmEwNGIyNzcyLi5iNTE0N2FiOGZk
NTgyNzNjZDIxZWNiODM2YWYwYzJiZTgxNDc2OTE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHWm9vbUFuZFBhbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdab29tQW5k
UGFuLmgKQEAgLTIyLDQwICsyMiw2OSBAQAogI2RlZmluZSBTVkdab29tQW5kUGFuX2gKIAogI2lm
IEVOQUJMRShTVkcpCisjaW5jbHVkZSAiQXR0cmlidXRlLmgiCiAjaW5jbHVkZSAiUXVhbGlmaWVk
TmFtZS5oIgorI2luY2x1ZGUgIlNWR05hbWVzLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4K
KyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi91bmljb2RlL1VuaWNv
ZGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBBdHRyaWJ1dGU7CitlbnVtIFNW
R1pvb21BbmRQYW5UeXBlIHsKKyAgICBTVkdab29tQW5kUGFuVW5rbm93biA9IDAsCisgICAgU1ZH
Wm9vbUFuZFBhbkRpc2FibGUsCisgICAgU1ZHWm9vbUFuZFBhbk1hZ25pZnkKK307CiAKIGNsYXNz
IFNWR1pvb21BbmRQYW4gewogcHVibGljOgotICAgIGVudW0gU1ZHWm9vbUFuZFBhblR5cGUgewot
ICAgICAgICBTVkdfWk9PTUFORFBBTl9VTktOT1dOID0gMCwKLSAgICAgICAgU1ZHX1pPT01BTkRQ
QU5fRElTQUJMRSA9IDEsCi0gICAgICAgIFNWR19aT09NQU5EUEFOX01BR05JRlkgPSAyCisgICAg
Ly8gRm9yd2FyZCBkZWNsYXJlIGVudW1lcmF0aW9ucyBpbiB0aGUgVzNDIG5hbWluZyBzY2hlbWUs
IGZvciBJREwgZ2VuZXJhdGlvbi4KKyAgICBlbnVtIHsKKyAgICAgICAgU1ZHX1pPT01BTkRQQU5f
VU5LTk9XTiA9IFNWR1pvb21BbmRQYW5Vbmtub3duLAorICAgICAgICBTVkdfWk9PTUFORFBBTl9E
SVNBQkxFID0gU1ZHWm9vbUFuZFBhbkRpc2FibGUsCisgICAgICAgIFNWR19aT09NQU5EUEFOX01B
R05JRlkgPSBTVkdab29tQW5kUGFuTWFnbmlmeQogICAgIH07CiAKLSAgICBTVkdab29tQW5kUGFu
KCkgOiBtX3pvb21BbmRQYW4oU1ZHX1pPT01BTkRQQU5fTUFHTklGWSkgeyB9Ci0gICAgdmlydHVh
bCB+U1ZHWm9vbUFuZFBhbigpIHsgfQorICAgIHN0YXRpYyBib29sIGlzS25vd25BdHRyaWJ1dGUo
Y29uc3QgUXVhbGlmaWVkTmFtZSYpOworICAgIHN0YXRpYyB2b2lkIGFkZFN1cHBvcnRlZEF0dHJp
YnV0ZXMoSGFzaFNldDxRdWFsaWZpZWROYW1lPiYpOworCisgICAgc3RhdGljIFNWR1pvb21BbmRQ
YW5UeXBlIHBhcnNlRnJvbU51bWJlcih1bnNpZ25lZCBzaG9ydCBudW1iZXIpCisgICAgeworICAg
ICAgICBpZiAoIW51bWJlciB8fCBudW1iZXIgPiBTVkdab29tQW5kUGFuTWFnbmlmeSkKKyAgICAg
ICAgICAgIHJldHVybiBTVkdab29tQW5kUGFuVW5rbm93bjsKKyAgICAgICAgcmV0dXJuIHN0YXRp
Y19jYXN0PFNWR1pvb21BbmRQYW5UeXBlPihudW1iZXIpOworICAgIH0KIAotICAgIHVuc2lnbmVk
IHNob3J0IHpvb21BbmRQYW4oKSBjb25zdCB7IHJldHVybiBtX3pvb21BbmRQYW47IH0KLSAgICB2
aXJ0dWFsIHZvaWQgc2V0Wm9vbUFuZFBhbih1bnNpZ25lZCBzaG9ydCB6b29tQW5kUGFuKTsKKyAg
ICBzdGF0aWMgYm9vbCBwYXJzZVpvb21BbmRQYW4oY29uc3QgVUNoYXIqJiBzdGFydCwgY29uc3Qg
VUNoYXIqIGVuZCwgU1ZHWm9vbUFuZFBhblR5cGUmKTsKIAotICAgIGJvb2wgcGFyc2VBdHRyaWJ1
dGUoY29uc3QgQXR0cmlidXRlJik7Ci0gICAgYm9vbCBpc0tub3duQXR0cmlidXRlKGNvbnN0IFF1
YWxpZmllZE5hbWUmKTsKLSAgICB2b2lkIGFkZFN1cHBvcnRlZEF0dHJpYnV0ZXMoSGFzaFNldDxR
dWFsaWZpZWROYW1lPiYpOworICAgIHRlbXBsYXRlPGNsYXNzIFNWR0VsZW1lbnRUYXJnZXQ+Cisg
ICAgc3RhdGljIGJvb2wgcGFyc2VBdHRyaWJ1dGUoU1ZHRWxlbWVudFRhcmdldCogdGFyZ2V0LCBj
b25zdCBBdHRyaWJ1dGUmIGF0dHJpYnV0ZSkKKyAgICB7CisgICAgICAgIEFTU0VSVCh0YXJnZXQp
OworICAgICAgICBBU1NFUlQodGFyZ2V0LT5kb2N1bWVudCgpKTsKKyAgICAgICAgaWYgKGF0dHJp
YnV0ZS5uYW1lKCkgPT0gU1ZHTmFtZXM6Onpvb21BbmRQYW5BdHRyKSB7CisgICAgICAgICAgICBj
b25zdCBVQ2hhciogc3RhcnQgPSBhdHRyaWJ1dGUudmFsdWUoKS5jaGFyYWN0ZXJzKCk7CisgICAg
ICAgICAgICBjb25zdCBVQ2hhciogZW5kID0gc3RhcnQgKyBhdHRyaWJ1dGUudmFsdWUoKS5sZW5n
dGgoKTsKKyAgICAgICAgICAgIFNWR1pvb21BbmRQYW5UeXBlIHpvb21BbmRQYW4gPSBTVkdab29t
QW5kUGFuVW5rbm93bjsKKyAgICAgICAgICAgIHBhcnNlWm9vbUFuZFBhbihzdGFydCwgZW5kLCB6
b29tQW5kUGFuKTsKKyAgICAgICAgICAgIHRhcmdldC0+c2V0Wm9vbUFuZFBhbih6b29tQW5kUGFu
KTsKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICB9CiAKLSAgICBib29sIHBhcnNl
Wm9vbUFuZFBhbihjb25zdCBVQ2hhciomIHN0YXJ0LCBjb25zdCBVQ2hhciogZW5kKTsKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworICAgIH0KIAotcHJpdmF0ZToKLSAgICB1bnNpZ25lZCBzaG9ydCBt
X3pvb21BbmRQYW47CisgICAgU1ZHWm9vbUFuZFBhblR5cGUgem9vbUFuZFBhbigpIGNvbnN0IHsg
cmV0dXJuIFNWR1pvb21BbmRQYW5Vbmtub3duOyB9CisKKyAgICAvLyBUaGVzZSBtZXRob2RzIG9u
bHkgZXhpc3QgdG8gYWxsb3cgdXMgdG8gY29tcGlsZSBWOC9KU1NWR1pvb21BbmRQYW4uKi4KKyAg
ICAvLyBUaGVzZSBhcmUgbmV2ZXIgY2FsbGVkLCBhbmQgdGh1cyBBU1NFUlRfTk9UX1JFQUNIRUQu
CisgICAgdm9pZCByZWYoKTsKKyAgICB2b2lkIGRlcmVmKCk7CisgICAgdm9pZCBzZXRab29tQW5k
UGFuKHVuc2lnbmVkIHNob3J0KTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2Vu
ZGlmIC8vIEVOQUJMRShTVkcpCi0KICNlbmRpZiAvLyBTVkdab29tQW5kUGFuX2gKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdab29tQW5kUGFuLmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdab29tQW5kUGFuLmlkbAppbmRleCBkNjBhZTBjZWQyMDZhNjQ1YjVhNTM3YmE2ZTky
ZTU1NjUxYjdlOWE5Li4zNzYyMWJiOGNiNmIyNmU0YTM3ZmE5MGIyNzQ1YWI3NjZmYzc0NmRkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHWm9vbUFuZFBhbi5pZGwKKysrIGIvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR1pvb21BbmRQYW4uaWRsCkBAIC0yOCwxNSArMjgsMTQgQEAgbW9k
dWxlIHN2ZyB7CiAKICAgICBpbnRlcmZhY2UgWwogICAgICAgICBDb25kaXRpb25hbD1TVkcsCi0g
ICAgICAgIE9iakNQcm90b2NvbAorICAgICAgICBPYmpDUHJvdG9jb2wsCisgICAgICAgIFN1cHBy
ZXNzVG9KU09iamVjdAogICAgIF0gU1ZHWm9vbUFuZFBhbiB7Ci0gICAgICAgIC8vIFpvb20gYW5k
IFBhbiBUeXBlcwogICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBTVkdfWk9PTUFORFBBTl9V
TktOT1dOID0gMDsKICAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgU1ZHX1pPT01BTkRQQU5f
RElTQUJMRSA9IDE7CiAgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFNWR19aT09NQU5EUEFO
X01BR05JRlkgPSAyOwogCi0gICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9y
dCB6b29tQW5kUGFuCi0gICAgICAgICAgICAgICAgICAgICAvKnNldHRlciByYWlzZXMoRE9NRXhj
ZXB0aW9uKSovOworICAgICAgICBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnQgem9vbUFuZFBhbjsK
ICAgICB9OwogCiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggYjVlNTViY2E4YjllN2RmNzJjNzAxNzY2ZDY5NjA5ZWY4ZDAz
OWJlZC4uNTZhOWFiOGVkYzZhMDFlMWYwNzdmZGM3YzUzM2Q4YTAwY2MxZDE4MiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE2IEBACisyMDEyLTA1LTIzICBOaWtvbGFzIFppbW1lcm1hbm4gIDxuemltbWVybWFu
bkByaW0uY29tPgorCisgICAgICAgIFNWR1pvb21BbmRQYW4gY29uc3RhbnRzIGFyZSBtaXNzaW5n
IGZyb20gd2luZG93IG9iamVjdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTU0OTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBTVkdab29tQW5kUGFuIGlzIG5vdyBhdmFpbGFibGUgYXMgZ2xvYmFsIGNvbnN0
cnVjdG9yLCByZWJhc2VsaW5lIHJlc3VsdHMuCisKKyAgICAgICAgKiBzdmcvY3VzdG9tL2dsb2Jh
bC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN2Zy9jdXN0b20vanMtc3Zn
LWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3ZnL2N1c3RvbS9qcy1zdmct
Y29uc3RydWN0b3JzLnN2ZzoKKwogMjAxMi0wNS0yMyAgTWlraGFpbCBQb3pkbnlha292ICA8bWlr
aGFpbC5wb3pkbnlha292QGludGVsLmNvbT4KIAogICAgICAgICBbRUZMXVtEUlRdIFdlYmFyY2hp
dmVzIHRlc3RzIGdhcmRlbmluZwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9n
bG9iYWwtY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20v
Z2xvYmFsLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQKaW5kZXggYjBiZmM2ODEzNTFlYThmNzll
MzhhODA3NzQzMDZiYjA5ZjM1MTU0Yy4uNzJkZWZmNTkyODQwZWFhZTdjNmJhMDkyNDBiMmE0ZWQ5
YTEyNTNiNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9nbG9iYWwtY29uc3Ry
dWN0b3JzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2dsb2JhbC1j
b25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0CkBAIC0zMSw3ICszMSw3IEBAIEZBSUwgU1ZHVGVzdHMu
dG9TdHJpbmcoKSBzaG91bGQgYmUgW29iamVjdCBTVkdUZXN0c0NvbnN0cnVjdG9yXS4gVGhyZXcg
ZXhjZXB0aW9uCiBGQUlMIFNWR0xhbmdTcGFjZS50b1N0cmluZygpIHNob3VsZCBiZSBbb2JqZWN0
IFNWR0xhbmdTcGFjZUNvbnN0cnVjdG9yXS4gVGhyZXcgZXhjZXB0aW9uIFJlZmVyZW5jZUVycm9y
OiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTVkdMYW5nU3BhY2UKIEZBSUwgU1ZHRXh0ZXJuYWxSZXNv
dXJjZXNSZXF1aXJlZC50b1N0cmluZygpIHNob3VsZCBiZSBbb2JqZWN0IFNWR0V4dGVybmFsUmVz
b3VyY2VzUmVxdWlyZWRDb25zdHJ1Y3Rvcl0uIFRocmV3IGV4Y2VwdGlvbiBSZWZlcmVuY2VFcnJv
cjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZAogRkFJ
TCBTVkdGaXRUb1ZpZXdCb3gudG9TdHJpbmcoKSBzaG91bGQgYmUgW29iamVjdCBTVkdGaXRUb1Zp
ZXdCb3hDb25zdHJ1Y3Rvcl0uIFRocmV3IGV4Y2VwdGlvbiBSZWZlcmVuY2VFcnJvcjogQ2FuJ3Qg
ZmluZCB2YXJpYWJsZTogU1ZHRml0VG9WaWV3Qm94Ci1GQUlMIFNWR1pvb21BbmRQYW4udG9TdHJp
bmcoKSBzaG91bGQgYmUgW29iamVjdCBTVkdab29tQW5kUGFuQ29uc3RydWN0b3JdLiBUaHJldyBl
eGNlcHRpb24gUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFNWR1pvb21BbmRQ
YW4KK1BBU1MgU1ZHWm9vbUFuZFBhbi50b1N0cmluZygpIGlzICdbb2JqZWN0IFNWR1pvb21BbmRQ
YW5Db25zdHJ1Y3Rvcl0nCiBGQUlMIFNWR1ZpZXdTcGVjLnRvU3RyaW5nKCkgc2hvdWxkIGJlIFtv
YmplY3QgU1ZHVmlld1NwZWNDb25zdHJ1Y3Rvcl0uIFRocmV3IGV4Y2VwdGlvbiBSZWZlcmVuY2VF
cnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU1ZHVmlld1NwZWMKIEZBSUwgU1ZHVVJJUmVmZXJl
bmNlLnRvU3RyaW5nKCkgc2hvdWxkIGJlIFtvYmplY3QgU1ZHVVJJUmVmZXJlbmNlQ29uc3RydWN0
b3JdLiBUaHJldyBleGNlcHRpb24gUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6
IFNWR1VSSVJlZmVyZW5jZQogRkFJTCBTVkdDU1NSdWxlLnRvU3RyaW5nKCkgc2hvdWxkIGJlIFtv
YmplY3QgU1ZHQ1NTUnVsZUNvbnN0cnVjdG9yXS4gVGhyZXcgZXhjZXB0aW9uIFJlZmVyZW5jZUVy
cm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTVkdDU1NSdWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9zdmcvY3VzdG9tL2pzLXN2Zy1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvc3ZnL2N1c3RvbS9qcy1zdmctY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dAppbmRleCBh
YjdlNjM4ZWIwZDA3YjA2NTJlYzU5NTE2NmMwNTIwZDQ1ZmQ2NmQ2Li4xYjcyMjgzZWNmMWYzYjdi
NzU4ZjE0MTZmMTIyNzRlZGYzNzkwNjE1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvY3Vz
dG9tL2pzLXN2Zy1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N2
Zy9jdXN0b20vanMtc3ZnLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQKQEAgLTQ0LDkgKzQ0LDkg
QEAgU1ZHRkVEaXNwbGFjZW1lbnRNYXBFbGVtZW50LlNWR19DSEFOTkVMX1IgUEFTU0VECiBTVkdG
RURpc3BsYWNlbWVudE1hcEVsZW1lbnQuU1ZHX0NIQU5ORUxfRyBQQVNTRUQKIFNWR0ZFRGlzcGxh
Y2VtZW50TWFwRWxlbWVudC5TVkdfQ0hBTk5FTF9CIFBBU1NFRAogU1ZHRkVEaXNwbGFjZW1lbnRN
YXBFbGVtZW50LlNWR19DSEFOTkVMX0EgUEFTU0VECi1TVkdGRU1vcnBob2xvZ3lFbGVtZW50LlNW
R19NT1JQSE9MT0dZX09QRVJBVE9SX1VOS05PV04gRVhQRUNURUQgRkFJTFVSRSAoYWN0dWFsOiAn
MCcgZXhwZWN0ZWQ6ICcwJykKLVNWR0ZFTW9ycGhvbG9neUVsZW1lbnQuU1ZHX01PUlBIT0xPR1lf
T1BFUkFUT1JfRVJPREUgRVhQRUNURUQgRkFJTFVSRSAoYWN0dWFsOiAnMScgZXhwZWN0ZWQ6ICcx
JykKLVNWR0ZFTW9ycGhvbG9neUVsZW1lbnQuU1ZHX01PUlBIT0xPR1lfT1BFUkFUT1JfRElMQVRF
IEVYUEVDVEVEIEZBSUxVUkUgKGFjdHVhbDogJzInIGV4cGVjdGVkOiAnMicpCitTVkdGRU1vcnBo
b2xvZ3lFbGVtZW50LlNWR19NT1JQSE9MT0dZX09QRVJBVE9SX1VOS05PV04gUEFTU0VECitTVkdG
RU1vcnBob2xvZ3lFbGVtZW50LlNWR19NT1JQSE9MT0dZX09QRVJBVE9SX0VST0RFIFBBU1NFRAor
U1ZHRkVNb3JwaG9sb2d5RWxlbWVudC5TVkdfTU9SUEhPTE9HWV9PUEVSQVRPUl9ESUxBVEUgUEFT
U0VECiBTVkdGRVR1cmJ1bGVuY2VFbGVtZW50LlNWR19UVVJCVUxFTkNFX1RZUEVfVU5LTk9XTiBQ
QVNTRUQKIFNWR0ZFVHVyYnVsZW5jZUVsZW1lbnQuU1ZHX1RVUkJVTEVOQ0VfVFlQRV9GUkFDVEFM
Tk9JU0UgUEFTU0VECiBTVkdGRVR1cmJ1bGVuY2VFbGVtZW50LlNWR19UVVJCVUxFTkNFX1RZUEVf
VFVSQlVMRU5DRSBQQVNTRUQKQEAgLTE0Myw2ICsxNDMsNiBAQCBTVkdUcmFuc2Zvcm0uU1ZHX1RS
QU5TRk9STV9TS0VXWSBQQVNTRUQKIFNWR1VuaXRUeXBlcy5TVkdfVU5JVF9UWVBFX1VOS05PV04g
UEFTU0VECiBTVkdVbml0VHlwZXMuU1ZHX1VOSVRfVFlQRV9VU0VSU1BBQ0VPTlVTRSBQQVNTRUQK
IFNWR1VuaXRUeXBlcy5TVkdfVU5JVF9UWVBFX09CSkVDVEJPVU5ESU5HQk9YIFBBU1NFRAotU1ZH
Wm9vbUFuZFBhbi5TVkdfWk9PTUFORFBBTl9VTktOT1dOIEVYUEVDVEVEIEZBSUxVUkUgKGFjdHVh
bDogJ3VuZGVmaW5lZCcgZXhwZWN0ZWQ6ICcwJykKLVNWR1pvb21BbmRQYW4uU1ZHX1pPT01BTkRQ
QU5fRElTQUJMRSBFWFBFQ1RFRCBGQUlMVVJFIChhY3R1YWw6ICd1bmRlZmluZWQnIGV4cGVjdGVk
OiAnMScpCi1TVkdab29tQW5kUGFuLlNWR19aT09NQU5EUEFOX01BR05JRlkgRVhQRUNURUQgRkFJ
TFVSRSAoYWN0dWFsOiAndW5kZWZpbmVkJyBleHBlY3RlZDogJzInKQorU1ZHWm9vbUFuZFBhbi5T
VkdfWk9PTUFORFBBTl9VTktOT1dOIFBBU1NFRAorU1ZHWm9vbUFuZFBhbi5TVkdfWk9PTUFORFBB
Tl9ESVNBQkxFIFBBU1NFRAorU1ZHWm9vbUFuZFBhbi5TVkdfWk9PTUFORFBBTl9NQUdOSUZZIFBB
U1NFRApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9qcy1zdmctY29uc3RydWN0
b3JzLnN2ZyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vanMtc3ZnLWNvbnN0cnVjdG9ycy5zdmcK
aW5kZXggMzU2MzFjZGNlYTA3OWM2ZTZhMTUwMjQxYzMyZWUwMzNjNTBjMmZjMS4uODU4NzEzNzFi
YWMwOTc0ODRhN2E3ZTEzZTZmOWI1OGYyNWUwYmI3YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
c3ZnL2N1c3RvbS9qcy1zdmctY29uc3RydWN0b3JzLnN2ZworKysgYi9MYXlvdXRUZXN0cy9zdmcv
Y3VzdG9tL2pzLXN2Zy1jb25zdHJ1Y3RvcnMuc3ZnCkBAIC05Myw5ICs5Myw5IEBACiAgICAgICB9
CiAKICAgICAgIGlmICh3aW5kb3cuU1ZHRkVNb3JwaG9sb2d5RWxlbWVudCkgewotICAgICAgICAg
IGV4cGVjdF9mYWlsdXJlKCJTVkdGRU1vcnBob2xvZ3lFbGVtZW50LlNWR19NT1JQSE9MT0dZX09Q
RVJBVE9SX1VOS05PV04iLCAwKTsKLSAgICAgICAgICBleHBlY3RfZmFpbHVyZSgiU1ZHRkVNb3Jw
aG9sb2d5RWxlbWVudC5TVkdfTU9SUEhPTE9HWV9PUEVSQVRPUl9FUk9ERSIsIDEpOwotICAgICAg
ICAgIGV4cGVjdF9mYWlsdXJlKCJTVkdGRU1vcnBob2xvZ3lFbGVtZW50LlNWR19NT1JQSE9MT0dZ
X09QRVJBVE9SX0RJTEFURSIsIDIpOworICAgICAgICAgIGV4cGVjdCgiU1ZHRkVNb3JwaG9sb2d5
RWxlbWVudC5TVkdfTU9SUEhPTE9HWV9PUEVSQVRPUl9VTktOT1dOIiwgMCk7CisgICAgICAgICAg
ZXhwZWN0KCJTVkdGRU1vcnBob2xvZ3lFbGVtZW50LlNWR19NT1JQSE9MT0dZX09QRVJBVE9SX0VS
T0RFIiwgMSk7CisgICAgICAgICAgZXhwZWN0KCJTVkdGRU1vcnBob2xvZ3lFbGVtZW50LlNWR19N
T1JQSE9MT0dZX09QRVJBVE9SX0RJTEFURSIsIDIpOwogICAgICAgfQogCiAgICAgICBpZiAod2lu
ZG93LlNWR0ZFVHVyYnVsZW5jZUVsZW1lbnQpIHsKQEAgLTIwOCw5ICsyMDgsOSBAQAogICAgICAg
ZXhwZWN0KCJTVkdVbml0VHlwZXMuU1ZHX1VOSVRfVFlQRV9VU0VSU1BBQ0VPTlVTRSIsIDEpOwog
ICAgICAgZXhwZWN0KCJTVkdVbml0VHlwZXMuU1ZHX1VOSVRfVFlQRV9PQkpFQ1RCT1VORElOR0JP
WCIsIDIpOwogCi0gICAgICBleHBlY3RfZmFpbHVyZSgiU1ZHWm9vbUFuZFBhbi5TVkdfWk9PTUFO
RFBBTl9VTktOT1dOIiwgMCk7Ci0gICAgICBleHBlY3RfZmFpbHVyZSgiU1ZHWm9vbUFuZFBhbi5T
VkdfWk9PTUFORFBBTl9ESVNBQkxFIiwgMSk7Ci0gICAgICBleHBlY3RfZmFpbHVyZSgiU1ZHWm9v
bUFuZFBhbi5TVkdfWk9PTUFORFBBTl9NQUdOSUZZIiwgMik7CisgICAgICBleHBlY3QoIlNWR1pv
b21BbmRQYW4uU1ZHX1pPT01BTkRQQU5fVU5LTk9XTiIsIDApOworICAgICAgZXhwZWN0KCJTVkda
b29tQW5kUGFuLlNWR19aT09NQU5EUEFOX0RJU0FCTEUiLCAxKTsKKyAgICAgIGV4cGVjdCgiU1ZH
Wm9vbUFuZFBhbi5TVkdfWk9PTUFORFBBTl9NQUdOSUZZIiwgMik7CiAgICAgfQogICBdXT48L3Nj
cmlwdD4gIAogPC9zdmc+Cg==
</data>
<flag name="review"
          id="150079"
          type_id="1"
          status="+"
          setter="rwlbuis"
    />
          </attachment>
      

    </bug>

</bugzilla>