<?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>84883</bug_id>
          
          <creation_ts>2012-04-25 12:34:21 -0700</creation_ts>
          <short_desc>[Resource Timing] Expose timing information</short_desc>
          <delta_ts>2017-02-10 11:45:45 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Platform</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>CONFIGURATION CHANGED</resolution>
          
          
          <bug_file_loc>http://dvcs.w3.org/hg/webperf/raw-file/tip/specs/ResourceTiming/Overview.html</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>61152</dependson>
    
    <dependson>101300</dependson>
    
    <dependson>102151</dependson>
    
    <dependson>102862</dependson>
    
    <dependson>102995</dependson>
    
    <dependson>103777</dependson>
    
    <dependson>103927</dependson>
          <blocked>61138</blocked>
    
    <blocked>84885</blocked>
    
    <blocked>84886</blocked>
    
    <blocked>85026</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="James Simonsen">simonjam</reporter>
          <assigned_to name="James Simonsen">simonjam</assigned_to>
          <cc>abarth</cc>
    
    <cc>ap</cc>
    
    <cc>beidson</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>fmalita</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>japhet</cc>
    
    <cc>jochen</cc>
    
    <cc>joepeck</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>mjs</cc>
    
    <cc>pdr</cc>
    
    <cc>rakuco</cc>
    
    <cc>schenney</cc>
    
    <cc>sullivan</cc>
    
    <cc>syoichi</cc>
    
    <cc>tonyg</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>609971</commentid>
    <comment_count>0</comment_count>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2012-04-25 12:34:21 -0700</bug_when>
    <thetext>This is the main work to plumb the resource timing information to the Performance Timeline.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>669533</commentid>
    <comment_count>1</comment_count>
      <attachid>152361</attachid>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2012-07-13 16:02:20 -0700</bug_when>
    <thetext>Created attachment 152361
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>669662</commentid>
    <comment_count>2</comment_count>
      <attachid>152361</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-13 18:47:53 -0700</bug_when>
    <thetext>Comment on attachment 152361
Patch

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

New failing tests:
http/tests/w3c/webperf/submission/resource-timing/html/test_resource_dynamic_insertion.html
http/tests/w3c/webperf/submission/resource-timing/html/test_resource_initiator_types.html
http/tests/w3c/webperf/submission/resource-timing/html/test_resource_redirects.html
http/tests/w3c/webperf/submission/resource-timing/html/test_resource_script_types.html
http/tests/w3c/webperf/submission/resource-timing/html/test_resource_attribute_order.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>669663</commentid>
    <comment_count>3</comment_count>
      <attachid>152397</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-13 18:47:58 -0700</bug_when>
    <thetext>Created attachment 152397
Archive of layout-test-results from gce-cr-linux-04

The attached test failures were seen while running run-webkit-tests on the chromium-ews.
Bot: gce-cr-linux-04  Port: &lt;class &apos;webkitpy.common.config.ports.ChromiumXVFBPort&apos;&gt;  Platform: Linux-2.6.39-gcg-201203291735-x86_64-with-Ubuntu-10.04-lucid</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>669693</commentid>
    <comment_count>4</comment_count>
      <attachid>152361</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-13 19:50:11 -0700</bug_when>
    <thetext>Comment on attachment 152361
Patch

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

New failing tests:
http/tests/w3c/webperf/submission/resource-timing/html/test_resource_dynamic_insertion.html
http/tests/w3c/webperf/submission/resource-timing/html/test_resource_initiator_types.html
http/tests/w3c/webperf/submission/resource-timing/html/test_resource_redirects.html
http/tests/w3c/webperf/submission/resource-timing/html/test_resource_script_types.html
http/tests/w3c/webperf/submission/resource-timing/html/test_resource_attribute_order.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>669694</commentid>
    <comment_count>5</comment_count>
      <attachid>152401</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-13 19:50:15 -0700</bug_when>
    <thetext>Created attachment 152401
Archive of layout-test-results from gce-cr-linux-01

The attached test failures were seen while running run-webkit-tests on the chromium-ews.
Bot: gce-cr-linux-01  Port: &lt;class &apos;webkitpy.common.config.ports.ChromiumXVFBPort&apos;&gt;  Platform: Linux-2.6.39-gcg-201203291735-x86_64-with-Ubuntu-10.04-lucid</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>670553</commentid>
    <comment_count>6</comment_count>
      <attachid>152584</attachid>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2012-07-16 12:21:13 -0700</bug_when>
    <thetext>Created attachment 152584
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732240</commentid>
    <comment_count>7</comment_count>
      <attachid>166597</attachid>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2012-10-01 20:54:55 -0700</bug_when>
    <thetext>Created attachment 166597
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732245</commentid>
    <comment_count>8</comment_count>
      <attachid>166597</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-10-01 21:17:45 -0700</bug_when>
    <thetext>Comment on attachment 166597
Patch

Attachment 166597 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/14132058</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732249</commentid>
    <comment_count>9</comment_count>
      <attachid>166597</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-10-01 21:25:39 -0700</bug_when>
    <thetext>Comment on attachment 166597
Patch

Attachment 166597 did not pass win-ews (win):
Output: http://queues.webkit.org/results/14137019</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732830</commentid>
    <comment_count>10</comment_count>
      <attachid>166714</attachid>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2012-10-02 11:07:34 -0700</bug_when>
    <thetext>Created attachment 166714
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732882</commentid>
    <comment_count>11</comment_count>
      <attachid>166714</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-10-02 11:40:46 -0700</bug_when>
    <thetext>Comment on attachment 166714
Patch

Attachment 166714 did not pass win-ews (win):
Output: http://queues.webkit.org/results/14130381</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732899</commentid>
    <comment_count>12</comment_count>
      <attachid>166714</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-10-02 11:49:33 -0700</bug_when>
    <thetext>Comment on attachment 166714
Patch

Attachment 166714 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/14126421</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732919</commentid>
    <comment_count>13</comment_count>
      <attachid>166726</attachid>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2012-10-02 12:03:46 -0700</bug_when>
    <thetext>Created attachment 166726
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732949</commentid>
    <comment_count>14</comment_count>
      <attachid>166726</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-10-02 12:30:46 -0700</bug_when>
    <thetext>Comment on attachment 166726
Patch

Attachment 166726 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/14131346</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>733163</commentid>
    <comment_count>15</comment_count>
      <attachid>166768</attachid>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2012-10-02 15:53:55 -0700</bug_when>
    <thetext>Created attachment 166768
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>733254</commentid>
    <comment_count>16</comment_count>
      <attachid>166768</attachid>
    <who name="Tony Gentilcore">tonyg</who>
    <bug_when>2012-10-02 17:23:19 -0700</bug_when>
    <thetext>Comment on attachment 166768
Patch

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

Overall this patch looks good to me. Just a couple of nits and test suggestions.

I feel comfortable approving the tests and performance code, but the loader changes are fundamental enough that I&apos;d prefer it if Nate, Adam or someone would take a look.

&gt; Source/WebCore/css/CSSLoadInitiator.h:40
&gt; +namespace WebCore {

Line break after namespace

&gt; Source/WebCore/loader/ThreadableLoader.h:-44
&gt; -    class ResourceError;

In such a large patch, I recommend resisting the urge to do unrelated style fixes.

&gt; LayoutTests/ChangeLog:34
&gt; +        * http/tests/w3c/webperf/submission/resource-timing/html/test_resource_script_types.html: Added.

Please add a test for reparenting nodes across documents.

&gt; LayoutTests/http/tests/w3c/webperf/resources/all_resource_types.htm:39
&gt; +        &lt;/ol&gt;

Some more resource types to consider testing:
&lt;applet archive&gt;
&lt;audio src&gt;
&lt;body background&gt;
&lt;embed src&gt;
&lt;input type=image src&gt;
&lt;object data&gt;
&lt;track src&gt;
&lt;video poster&gt;
&lt;video src&gt;

Some things that might need a new test:
&lt;frame src&gt;
&lt;html manifest&gt;

&gt; LayoutTests/http/tests/w3c/webperf/submission/resource-timing/html/test_resource_attribute_order-expected.txt:10
&gt; +FAIL fetchStart should be non-zero assert_true: fetchStart should be non-zero expected true got false

Is this really expected right now?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>733479</commentid>
    <comment_count>17</comment_count>
      <attachid>166768</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-10-03 02:25:04 -0700</bug_when>
    <thetext>Comment on attachment 166768
Patch

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

&gt; Source/WebCore/css/CSSLoadInitiator.h:51
&gt; +    Document* m_document;

What ensures that this doesn&apos;t point to garbage memory?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>733482</commentid>
    <comment_count>18</comment_count>
      <attachid>166768</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-10-03 02:26:38 -0700</bug_when>
    <thetext>Comment on attachment 166768
Patch

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

&gt; Source/WebCore/loader/LoadInitiator.h:43
&gt; +    virtual ~LoadInitiator() { }

You&apos;ve added this class as a base class to Node, which means you&apos;ve added a new vtable to Node, growing its size by a pointer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>738362</commentid>
    <comment_count>19</comment_count>
      <attachid>166768</attachid>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2012-10-09 17:35:45 -0700</bug_when>
    <thetext>Comment on attachment 166768
Patch

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

&gt;&gt; Source/WebCore/css/CSSLoadInitiator.h:40
&gt;&gt; +namespace WebCore {
&gt; 
&gt; Line break after namespace

Done.

&gt;&gt; Source/WebCore/css/CSSLoadInitiator.h:51
&gt;&gt; +    Document* m_document;
&gt; 
&gt; What ensures that this doesn&apos;t point to garbage memory?

Switched to a RefPtr.

Since LoadInitiators are temporaries, I figured it&apos;d never point to garbage. But, there&apos;s probably some code path where requesting a resource destroys the document, so better safe than sorry.

&gt;&gt; Source/WebCore/loader/LoadInitiator.h:43
&gt;&gt; +    virtual ~LoadInitiator() { }
&gt; 
&gt; You&apos;ve added this class as a base class to Node, which means you&apos;ve added a new vtable to Node, growing its size by a pointer.

Good point. Changed the design so it no longer uses inheritance.

&gt;&gt; LayoutTests/ChangeLog:34
&gt;&gt; +        * http/tests/w3c/webperf/submission/resource-timing/html/test_resource_script_types.html: Added.
&gt; 
&gt; Please add a test for reparenting nodes across documents.

Good idea. Done.

&gt;&gt; LayoutTests/http/tests/w3c/webperf/resources/all_resource_types.htm:39
&gt;&gt; +        &lt;/ol&gt;
&gt; 
&gt; Some more resource types to consider testing:
&gt; &lt;applet archive&gt;
&gt; &lt;audio src&gt;
&gt; &lt;body background&gt;
&gt; &lt;embed src&gt;
&gt; &lt;input type=image src&gt;
&gt; &lt;object data&gt;
&gt; &lt;track src&gt;
&gt; &lt;video poster&gt;
&gt; &lt;video src&gt;
&gt; 
&gt; Some things that might need a new test:
&gt; &lt;frame src&gt;
&gt; &lt;html manifest&gt;

&lt;body background&gt;
&lt;embed src&gt;
&lt;input type=image src&gt;
&lt;object data&gt;
&lt;video poster&gt;
&lt;frame src&gt;

Done.

&lt;applet archive&gt;

This parameter is passed to the plugin to be loaded. WebKit has no visibility.

&lt;audio src&gt;
&lt;track src&gt;
&lt;video src&gt;

The spec intentionally omits media types until we resolve how to handle streaming, etc.

&lt;html manifest&gt;

This is passed to the embedder to be loaded. WebKit has no visibility. We might want to add hooks back into WebKit later to fix this. I think it should be a separate bug though.

&gt;&gt; LayoutTests/http/tests/w3c/webperf/submission/resource-timing/html/test_resource_attribute_order-expected.txt:10
&gt;&gt; +FAIL fetchStart should be non-zero assert_true: fetchStart should be non-zero expected true got false
&gt; 
&gt; Is this really expected right now?

Nope, fixed. But do note that DRT doesn&apos;t populate these so this test isn&apos;t especially useful anyway. It passes in Chrome too though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>738363</commentid>
    <comment_count>20</comment_count>
      <attachid>167880</attachid>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2012-10-09 17:36:07 -0700</bug_when>
    <thetext>Created attachment 167880
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>742578</commentid>
    <comment_count>21</comment_count>
      <attachid>167880</attachid>
    <who name="Tony Gentilcore">tonyg</who>
    <bug_when>2012-10-15 16:28:45 -0700</bug_when>
    <thetext>Comment on attachment 167880
Patch

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

lgtm!

However, I&apos;d feel better if abarth@ or japhet@ reviewed since this still touches stuff in loader.

&gt; Source/WebCore/loader/DocumentLoadTiming.h:74
&gt; +    double rawNavigationStart() const { return m_navigationStart; }

Too bad about this method. Is there a more descriptive term than &quot;raw&quot;? Better yet, is there a way to avoid exposing it here altogether?

&gt; Source/WebCore/page/PerformanceResourceTiming.cpp:50
&gt; +    if (!seconds)

Is this test necessary?

&gt; LayoutTests/platform/chromium/TestExpectations:3794
&gt; +# webkit.org/b/61138 http/tests/w3c/webperf/submission/resource-timing [ Skip ]

Don&apos;t forget to uncomment this line. Also, is it necessary for other platforms?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>742613</commentid>
    <comment_count>22</comment_count>
      <attachid>168811</attachid>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2012-10-15 17:21:41 -0700</bug_when>
    <thetext>Created attachment 168811
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>742618</commentid>
    <comment_count>23</comment_count>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2012-10-15 17:24:21 -0700</bug_when>
    <thetext>(In reply to comment #21)
&gt; (From update of attachment 167880 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=167880&amp;action=review
&gt; 
&gt; lgtm!
&gt; 
&gt; However, I&apos;d feel better if abarth@ or japhet@ reviewed since this still touches stuff in loader.

Nate or Adam, any chance you could take a look at this (again)?

&gt; 
&gt; &gt; Source/WebCore/loader/DocumentLoadTiming.h:74
&gt; &gt; +    double rawNavigationStart() const { return m_navigationStart; }
&gt; 
&gt; Too bad about this method. Is there a more descriptive term than &quot;raw&quot;? Better yet, is there a way to avoid exposing it here altogether?

Renamed to monotonicNavigationStart. Do you like that better? I don&apos;t think I can get rid of it entirely, but I&apos;m open to other names.

&gt; 
&gt; &gt; Source/WebCore/page/PerformanceResourceTiming.cpp:50
&gt; &gt; +    if (!seconds)
&gt; 
&gt; Is this test necessary?

Good point. Not anymore. The new monotonicTimeToZeroBasedDocumentTime will behave correctly.
&gt; 
&gt; &gt; LayoutTests/platform/chromium/TestExpectations:3794
&gt; &gt; +# webkit.org/b/61138 http/tests/w3c/webperf/submission/resource-timing [ Skip ]
&gt; 
&gt; Don&apos;t forget to uncomment this line. Also, is it necessary for other platforms?

Done and done. The Apple ports skip the entire w3c directory, so no need to update those.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>742623</commentid>
    <comment_count>24</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-10-15 17:25:25 -0700</bug_when>
    <thetext>Attachment 168811 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/http...&quot; exit_code: 1
LayoutTests/http/tests/w3c/webperf/resources/blank_image.png:0:  Have to enable auto props in the subversion config file (/Users/eseidel/.subversion/config &quot;enable-auto-props = yes&quot;). Have to set the svn:mime-type in the subversion config file (/Users/eseidel/.subversion/config &quot;*.png = svn:mime-type=image/png&quot;).  [image/png] [5]
Total errors found: 1 in 94 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>743350</commentid>
    <comment_count>25</comment_count>
      <attachid>168811</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-10-16 11:33:49 -0700</bug_when>
    <thetext>Comment on attachment 168811
Patch

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

&gt; Source/WebCore/css/CSSLoadInitiator.h:47
&gt; +    CSSLoadInitiator(Document*);

Please mark these sort of one-argument constructors with the &quot;explicit&quot; keyword.

&gt; Source/WebCore/css/CSSLoadInitiator.h:50
&gt; +    virtual const WTF::AtomicString&amp; initiatorName() const;

The &quot;WTF::&quot; prefix isn&apos;t needed here.

&gt; Source/WebCore/dom/NodeLoadInitiator.h:51
&gt; +    NodeLoadInitiator(Node*);
&gt; +    virtual ~NodeLoadInitiator();
&gt; +
&gt; +    virtual const WTF::AtomicString&amp; initiatorName() const;
&gt; +    virtual Document* initiatorDocument() const;

Similar nits here.

&gt; Source/WebCore/html/HTMLBodyElement.cpp:79
&gt; +            style-&gt;setProperty(CSSProperty(CSSPropertyBackgroundImage, imageValue));

imageValue -&gt; imageValue.release()

&gt; Source/WebCore/html/parser/CSSPreloadScanner.h:38
&gt; +class CSSPreloadScanner : private LoadInitiator {

We don&apos;t usually use private inheritance, but I guess it makes sense here...

&gt; Source/WebCore/html/parser/CSSPreloadScanner.h:41
&gt;      CSSPreloadScanner(Document*);

Unrelated: This constructor should be marked explicit.

&gt; Source/WebCore/html/parser/HTMLPreloadScanner.cpp:149
&gt; +    Document* m_document;

How do we know this document will alive as long as this task is alive?

&gt; Source/WebCore/loader/LoadInitiatorHandle.cpp:46
&gt; +    , m_time(monotonicallyIncreasingTime())

So, the copy constructor gets a new time value?  That&apos;s confusing.  Can we make this operation explicit rather than implicit?

&gt; Source/WebCore/loader/MainResourceLoader.cpp:534
&gt; +        m_frame-&gt;ownerElement()-&gt;document()-&gt;domWindow()-&gt;performance()-&gt;addResourceTiming(NodeLoadInitiator(m_frame-&gt;ownerElement()), originalRequest(), m_response, documentLoader()-&gt;timing()-&gt;monotonicNavigationStart(), finishTime);

Why does this get added to the parent document&apos;s performance object?  It seems entirely possible that the navigation was initiated from within this frame.

&gt; Source/WebCore/loader/TextTrackLoader.cpp:45
&gt; -    
&gt; +

I ran out of steam reviewing this CL around here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>743360</commentid>
    <comment_count>26</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-10-16 11:39:01 -0700</bug_when>
    <thetext>&gt; 203.61 KB

This patch is a bit big.  :(

There are a bunch of reasons we&apos;d like to know how a load was initiated.  We already have this concept in FrameLoadRequest, for example.

It&apos;s not clear to me that it makes sense to store this information in CachedResource, however, since CachedResources are shared by multiple requestors.  Consider an image that is being loaded by two different documents at the same time.  Which one of them is the anointed requestor?

The underlying issue seems to be that the CachedResourceLoader doesn&apos;t have a notion of a &quot;request&quot; object to wrap the lower level ResourceRequest object in the same way that FrameLoadRequests wraps ResourceRequest.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>743382</commentid>
    <comment_count>27</comment_count>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2012-10-16 11:52:19 -0700</bug_when>
    <thetext>(In reply to comment #26)
&gt; &gt; 203.61 KB
&gt; 
&gt; This patch is a bit big.  :(

Yeah, sorry. I broke up this feature as best I could. This one, unfortunately, is the biggest single chunk.

&gt; There are a bunch of reasons we&apos;d like to know how a load was initiated.  We already have this concept in FrameLoadRequest, for example.
&gt; 
&gt; It&apos;s not clear to me that it makes sense to store this information in CachedResource, however, since CachedResources are shared by multiple requestors.  Consider an image that is being loaded by two different documents at the same time.  Which one of them is the anointed requestor?

In the Resource Timing spec, it&apos;s the first one to request to it, even if the first document cancels the request or the document itself goes away.

&gt; The underlying issue seems to be that the CachedResourceLoader doesn&apos;t have a notion of a &quot;request&quot; object to wrap the lower level ResourceRequest object in the same way that FrameLoadRequests wraps ResourceRequest.

That&apos;s fine with me too. I&apos;d be happy to create a CachedResourceRequest to wrap this state. Is that what you want?

Should we try to merge it with FrameLoadRequest too?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>743458</commentid>
    <comment_count>28</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-10-16 13:08:38 -0700</bug_when>
    <thetext>&gt; In the Resource Timing spec, it&apos;s the first one to request to it, even if the first document cancels the request or the document itself goes away.

Does that make sense for other (future) uses of this information?  Having the initiator around is going to tempt future code into use it.  We should be sure we&apos;re doing something sensible.

&gt; That&apos;s fine with me too. I&apos;d be happy to create a CachedResourceRequest to wrap this state. Is that what you want?

I haven&apos;t thought through the design enough to know what the best approach is.  I&apos;m just sharing what I was thinking when reviewing your patch.

&gt; Should we try to merge it with FrameLoadRequest too?

I don&apos;t think that makes sense.  FrameLoadRequest&apos;s primary job is to hold m_frameName, which doesn&apos;t make sense for subresource loads.

I think the underlying issue here is that CachedResourceLoader::requestResource takes a lot of arguments instead of a CachedResourceRequest object.  I would probably start by creating the request object to hold that information and see where that approach leads.

I would also try to avoid adding a LoadInitiatorHandle member variable to CachedResource because the cached resource is shared between many initiators.  It&apos;s going to confuse future code if people think that there&apos;s a unique initiator for each CachedResource.

(Also, all the spurious whitespace changes in your patch make it harder to see what&apos;s going on.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>743521</commentid>
    <comment_count>29</comment_count>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2012-10-16 13:58:23 -0700</bug_when>
    <thetext>(In reply to comment #28)
&gt; I think the underlying issue here is that CachedResourceLoader::requestResource takes a lot of arguments instead of a CachedResourceRequest object.  I would probably start by creating the request object to hold that information and see where that approach leads.

Okay, I can do that and post a patch. It seems like a pretty straightforward refactoring. It shouldn&apos;t affect the behavior at all.

&gt; I would also try to avoid adding a LoadInitiatorHandle member variable to CachedResource because the cached resource is shared between many initiators.  It&apos;s going to confuse future code if people think that there&apos;s a unique initiator for each CachedResource.

Well there is a unique initiator for the purposes of Resource Timing: it&apos;s always the first one. Are you implying that Resource Timing&apos;s definition doesn&apos;t belong in loader/? Or is &quot;initiator&quot; not a clear enough term to describe the first element making the request? Maybe I should call the argument passed in to requestResource() &quot;requester&quot; and the first requester becomes the &quot;initiator.&quot;

Another ideas is to make PerformanceResourceTiming into an observer and have it store the LoadInitiatorHandles itself. Then we don&apos;t need CachedResource to hang on to its initiator.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>744393</commentid>
    <comment_count>30</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-10-17 10:45:06 -0700</bug_when>
    <thetext>See bug 92761 for another use case for figuring out who initiated a load.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1275449</commentid>
    <comment_count>31</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-02-10 11:45:45 -0800</bug_when>
    <thetext>This bug seems stale. Initiator information is working in the current implementation of Resource Timing, so this bug seems stale. Lets close.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>152361</attachid>
            <date>2012-07-13 16:02:20 -0700</date>
            <delta_ts>2012-07-16 12:21:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-84883-20120713160219.patch</filename>
            <type>text/plain</type>
            <size>67678</size>
            <attacher name="James Simonsen">simonjam</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA5NTBkNmY1YzY1YTcwZGQ1YTZkYjhjZmUyNDcxYjgwMzkzY2JlZTRlLi5h
NWI1MWIyODdkYjBmY2RlZTBhNDhmY2YyNzM4MjRhMzIxN2E5MjIzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsODcgQEAKKzIwMTItMDctMTMgIEphbWVzIFNpbW9uc2VuICA8c2ltb25qYW1AY2hyb21p
dW0ub3JnPgorCisgICAgICAgIFtSZXNvdXJjZSBUaW1pbmddIEV4cG9zZSB0aW1pbmcgaW5mb3Jt
YXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg0
ODgzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWFr
ZXMgYWxsIG9mIHRoZSByZWxldmFudCBlbGVtZW50cyBwb3B1bGF0ZSB0aGUgUmVzb3VyY2UgVGlt
aW5nIGJ1ZmZlci4KKworICAgICAgICBUaGUgYnVmZmVyIHdpbGwgc3RpbGwgYmUgcG9wdWxhdGVk
IGV2ZW4gaWYgdGhlIG5ldHdvcmsgbGF5ZXIgcHJvdmlkZXMKKyAgICAgICAgbm8gdGltaW5nLiBU
aGlzIGFsbG93cyB1cyB0byB0ZXN0IHdpdGggRFJULgorCisgICAgICAgIFRoZSB0ZXN0cyBhcmUg
d3JpdHRlbiBpbiBXM0Mgc3R5bGUgYW5kIHdpbGwgYmUgdXBzdHJlYW1lZCBzb29uLgorCisgICAg
ICAgIFRlc3RzOiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGlt
aW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9hdHRyaWJ1dGVfb3JkZXIuaHRtbAorICAgICAgICAgICAg
ICAgaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1s
L3Rlc3RfcmVzb3VyY2VfZHluYW1pY19pbnNlcnRpb24uaHRtbAorICAgICAgICAgICAgICAgaHR0
cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3Rf
cmVzb3VyY2VfaW5pdGlhdG9yX3R5cGVzLmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMv
dzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNl
X3JlZGlyZWN0cy5odG1sCisgICAgICAgICAgICAgICBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1
Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9zY3JpcHRfdHlwZXMu
aHRtbAorCisgICAgICAgICogY3NzL0NTU0ZvbnRGYWNlU291cmNlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkNTU0ZvbnRGYWNlU291cmNlOjpDU1NGb250RmFjZVNvdXJjZSk6IEtlZXAgdHJhY2sg
b2YgdGhlIGRvY3VtZW50LCBzbyB3ZSBrbm93IHdoZXJlIHRvIHJlcG9ydCBSZXNvdXJjZSBUaW1p
bmcuCisgICAgICAgIChXZWJDb3JlOjpDU1NGb250RmFjZVNvdXJjZTo6Zm9udExvYWRlZCk6Cisg
ICAgICAgICogY3NzL0NTU0ZvbnRGYWNlU291cmNlLmg6CisgICAgICAgIChDU1NGb250RmFjZVNv
dXJjZSk6CisgICAgICAgICogY3NzL0NTU0ZvbnRTZWxlY3Rvci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpDU1NGb250U2VsZWN0b3I6OmFkZEZvbnRGYWNlUnVsZSk6CisgICAgICAgICogY3NzL0NT
U0ltYWdlVmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTSW1hZ2VWYWx1ZTo6Y2FjaGVk
SW1hZ2UpOgorICAgICAgICAqIGNzcy9TdHlsZVJ1bGVJbXBvcnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U3R5bGVSdWxlSW1wb3J0OjpzZXRDU1NTdHlsZVNoZWV0KToKKyAgICAgICAgKiBkb20v
U2NyaXB0RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRFbGVtZW50Ojpub3Rp
ZnlGaW5pc2hlZCk6CisgICAgICAgICogaHRtbC9IVE1MTGlua0VsZW1lbnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTExpbmtFbGVtZW50OjpzZXRDU1NTdHlsZVNoZWV0KToKKyAgICAgICAg
KiBodG1sL3BhcnNlci9IVE1MU2NyaXB0UnVubmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhU
TUxTY3JpcHRSdW5uZXI6OmV4ZWN1dGVQZW5kaW5nU2NyaXB0QW5kRGlzcGF0Y2hFdmVudCk6Cisg
ICAgICAgICogbG9hZGVyL0ltYWdlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkltYWdl
TG9hZGVyOjpub3RpZnlGaW5pc2hlZCk6CisgICAgICAgICogbG9hZGVyL01haW5SZXNvdXJjZUxv
YWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNYWluUmVzb3VyY2VMb2FkZXI6OmRpZEZpbmlz
aExvYWRpbmcpOgorICAgICAgICAqIGxvYWRlci9SZXNvdXJjZUxvYWROb3RpZmllci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUxvYWROb3RpZmllcjo6ZGlzcGF0Y2hXaWxsU2VuZFJl
cXVlc3QpOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oOgorICAgICAg
ICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OnJlc291cmNlUmVxdWVzdCk6CisgICAgICAgIChX
ZWJDb3JlOjpDYWNoZWRSZXNvdXJjZTo6dXJsKToKKyAgICAgICAgKENhY2hlZFJlc291cmNlKToK
KyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZv
cm1hbmNlOjphZGRSZXNvdXJjZVRpbWluZyk6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZS5o
OgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChQZXJmb3JtYW5jZSk6CisgICAgICAgICog
cGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBl
cmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcpOiBIYW5k
bGUgaW5pdGlhdG9yIGFuZCBudWxsIHRpbWluZy4KKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1h
bmNlUmVzb3VyY2VUaW1pbmc6OmluaXRpYXRvclR5cGUpOiBSZXR1cm4gdGhlIHByb3BlciB2YWx1
ZS4KKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmZldGNoU3Rh
cnQpOiBIYW5kbGUgbnVsbCB0aW1pbmcgZm9yIHRoZSByZXN0IG9mIHRoZXNlLi4uCisgICAgICAg
IChXZWJDb3JlOjpQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpkb21haW5Mb29rdXBTdGFydCk6
CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpkb21haW5Mb29r
dXBFbmQpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6Y29u
bmVjdFN0YXJ0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6
OmNvbm5lY3RFbmQpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWlu
Zzo6c2VjdXJlQ29ubmVjdGlvblN0YXJ0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNl
UmVzb3VyY2VUaW1pbmc6OnJlcXVlc3RTdGFydCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3Jt
YW5jZVJlc291cmNlVGltaW5nOjpyZXNwb25zZVN0YXJ0KToKKyAgICAgICAgKFdlYkNvcmU6OlBl
cmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnJlc3BvbnNlRW5kKToKKyAgICAgICAgKFdlYkNvcmU6
OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6Om1vbm90b25pY1RpbWVUb0RvY3VtZW50TWlsbGlz
ZWNvbmRzKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnJl
c291cmNlVGltZVRvRG9jdW1lbnRNaWxsaXNlY29uZHMpOgorICAgICAgICAqIHBhZ2UvUGVyZm9y
bWFuY2VSZXNvdXJjZVRpbWluZy5oOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VSZXNv
dXJjZVRpbWluZzo6Y3JlYXRlKToKKyAgICAgICAgKFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcp
OgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9TdHlsZUNhY2hlZEltYWdlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlN0eWxlQ2FjaGVkSW1hZ2U6OlN0eWxlQ2FjaGVkSW1hZ2UpOiBLZWVwIHRy
YWNrIG9mIHRoZSBkb2N1bWVudCwgc28gd2Uga25vdyB3aGVyZSB0byByZXBvcnQgUmVzb3VyY2Ug
VGltaW5nLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZUNhY2hl
ZEltYWdlOjpub3RpZnlGaW5pc2hlZCk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0eWxl
Q2FjaGVkSW1hZ2UuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6U3R5
bGVDYWNoZWRJbWFnZTo6Y3JlYXRlKToKKyAgICAgICAgKFN0eWxlQ2FjaGVkSW1hZ2UpOgorICAg
ICAgICAqIHhtbC9YTUxIdHRwUmVxdWVzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpYTUxIdHRw
UmVxdWVzdDo6Y3JlYXRlUmVxdWVzdCk6IFJlbWVtYmVyIHRoZSBvcmlnaW5hbCByZXF1ZXN0LCBz
byB3ZSBjYW4gcG9wdWxhdGUgUmVzb3VyY2UgVGltaW5nLgorICAgICAgICAoV2ViQ29yZTo6WE1M
SHR0cFJlcXVlc3Q6OmRpZEZpbmlzaExvYWRpbmcpOgorICAgICAgICAqIHhtbC9YTUxIdHRwUmVx
dWVzdC5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChYTUxIdHRwUmVxdWVzdCk6CisK
IDIwMTItMDctMTMgIFJheW1vbmQgVG95ICA8cnRveUBnb29nbGUuY29tPgogCiAgICAgICAgIERl
bGF5Tm9kZSBkb2Vzbid0IHdvcmsgaWYgZGVsYXlUaW1lLnZhbHVlID09IGRlbGF5VGltZS5tYXhW
YWx1ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlU291cmNlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZVNvdXJjZS5jcHAKaW5kZXggZGQ5MDRk
MzdmYjk1NGU0NGRiYTY1Mzg3NjczNTgzMTE5OGZhZDNkNy4uZDljZTA2M2Y3ZGYzNjg3Zjg3ZGM4
ZmI5N2YyNjMyNTQzZWE0OTQwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0Zv
bnRGYWNlU291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VTb3Vy
Y2UuY3BwCkBAIC0zNSw2ICszNSwxMiBAQAogI2luY2x1ZGUgIkZvbnREZXNjcmlwdGlvbi5oIgog
I2luY2x1ZGUgIkdseXBoUGFnZVRyZWVOb2RlLmgiCiAjaW5jbHVkZSAiU2ltcGxlRm9udERhdGEu
aCIKKyNpbmNsdWRlIDx3dGYvVW51c2VkUGFyYW0uaD4KKworI2lmIEVOQUJMRShSRVNPVVJDRV9U
SU1JTkcpCisjaW5jbHVkZSAiRE9NV2luZG93LmgiCisjaW5jbHVkZSAiUGVyZm9ybWFuY2UuaCIK
KyNlbmRpZgogCiAjaWYgRU5BQkxFKFNWR19GT05UUykKICNpbmNsdWRlICJGb250Q3VzdG9tUGxh
dGZvcm1EYXRhLmgiCkBAIC00Nyw5ICs1MywxMCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
LUNTU0ZvbnRGYWNlU291cmNlOjpDU1NGb250RmFjZVNvdXJjZShjb25zdCBTdHJpbmcmIHN0ciwg
Q2FjaGVkRm9udCogZm9udCkKK0NTU0ZvbnRGYWNlU291cmNlOjpDU1NGb250RmFjZVNvdXJjZShj
b25zdCBTdHJpbmcmIHN0ciwgQ2FjaGVkRm9udCogZm9udCwgRG9jdW1lbnQqIGRvY3VtZW50KQog
ICAgIDogbV9zdHJpbmcoc3RyKQogICAgICwgbV9mb250KGZvbnQpCisgICAgLCBtX2RvY3VtZW50
KGRvY3VtZW50KQogICAgICwgbV9mYWNlKDApCiAjaWYgRU5BQkxFKFNWR19GT05UUykKICAgICAs
IG1faGFzRXh0ZXJuYWxTVkdGb250KGZhbHNlKQpAQCAtODgsOCArOTUsMTQgQEAgYm9vbCBDU1NG
b250RmFjZVNvdXJjZTo6aXNWYWxpZCgpIGNvbnN0CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLXZv
aWQgQ1NTRm9udEZhY2VTb3VyY2U6OmZvbnRMb2FkZWQoQ2FjaGVkRm9udCopCit2b2lkIENTU0Zv
bnRGYWNlU291cmNlOjpmb250TG9hZGVkKENhY2hlZEZvbnQqIGZvbnQpCiB7CisjaWYgRU5BQkxF
KFJFU09VUkNFX1RJTUlORykKKyAgICBpZiAobV9kb2N1bWVudCkKKyAgICAgICAgbV9kb2N1bWVu
dC0+ZG9tV2luZG93KCktPnBlcmZvcm1hbmNlKCktPmFkZFJlc291cmNlVGltaW5nKCJjc3MiLCBm
b250LT5yZXNvdXJjZVJlcXVlc3QoKSwgZm9udC0+cmVzcG9uc2UoKSwgZm9udC0+bG9hZEZpbmlz
aFRpbWUoKSwgbV9kb2N1bWVudCk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShmb250KTsKKyNl
bmRpZgogICAgIHBydW5lVGFibGUoKTsKICAgICBpZiAobV9mYWNlKQogICAgICAgICBtX2ZhY2Ut
PmZvbnRMb2FkZWQodGhpcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9u
dEZhY2VTb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZVNvdXJjZS5oCmlu
ZGV4IGUzNmZlNDU0MjlhODg2ZmRmNjc4YjYzZjQwYTBmMzA1ODNkZWU0NDkuLmJlZGQ1MzA5ZTEw
NmM2NTg2ZjhmOThkMmU2NTBhYzVjZTRhOGQ2ZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NGb250RmFjZVNvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250
RmFjZVNvdXJjZS5oCkBAIC00Nyw3ICs0Nyw3IEBAIGNsYXNzIFNWR0ZvbnRGYWNlRWxlbWVudDsK
IAogY2xhc3MgQ1NTRm9udEZhY2VTb3VyY2UgOiBwdWJsaWMgQ2FjaGVkRm9udENsaWVudCB7CiBw
dWJsaWM6Ci0gICAgQ1NTRm9udEZhY2VTb3VyY2UoY29uc3QgU3RyaW5nJiwgQ2FjaGVkRm9udCog
PSAwKTsKKyAgICBDU1NGb250RmFjZVNvdXJjZShjb25zdCBTdHJpbmcmLCBDYWNoZWRGb250KiA9
IDAsIERvY3VtZW50KiA9IDApOwogICAgIHZpcnR1YWwgfkNTU0ZvbnRGYWNlU291cmNlKCk7CiAK
ICAgICBib29sIGlzTG9hZGVkKCkgY29uc3Q7CkBAIC03NSw2ICs3NSw3IEBAIHByaXZhdGU6CiAK
ICAgICBBdG9taWNTdHJpbmcgbV9zdHJpbmc7IC8vIFVSSSBmb3IgcmVtb3RlLCBidWlsdC1pbiBm
b250IG5hbWUgZm9yIGxvY2FsLgogICAgIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZEZvbnQ+
IG1fZm9udDsgLy8gRm9yIHJlbW90ZSBmb250cywgYSBwb2ludGVyIHRvIG91ciBjYWNoZWQgcmVz
b3VyY2UuCisgICAgRG9jdW1lbnQqIG1fZG9jdW1lbnQ7CiAgICAgQ1NTRm9udEZhY2UqIG1fZmFj
ZTsgLy8gT3VyIG93bmluZyBmb250IGZhY2UuCiAgICAgSGFzaE1hcDx1bnNpZ25lZCwgU2ltcGxl
Rm9udERhdGEqPiBtX2ZvbnREYXRhVGFibGU7IC8vIFRoZSBoYXNoIGtleSBpcyBjb21wb3NlZCBv
ZiBzaXplIHN5bnRoZXRpYyBzdHlsZXMuCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NGb250U2VsZWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRTZWxlY3Rv
ci5jcHAKaW5kZXggMGE5YTNhMDc4ZTQ0ZTNlOGVkMzUwMWMwYzgxM2FlMDdjMDUzNmE1Ni4uNDcy
OTc0MjUxODE5MzY4OWNmNTdiNTliMTZhM2M5YTA3ZWEwNTlkZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0ZvbnRTZWxlY3Rvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0ZvbnRTZWxlY3Rvci5jcHAKQEAgLTIxMyw3ICsyMTMsNyBAQCB2b2lkIENTU0ZvbnRTZWxl
Y3Rvcjo6YWRkRm9udEZhY2VSdWxlKGNvbnN0IFN0eWxlUnVsZUZvbnRGYWNlKiBmb250RmFjZVJ1
bGUpCiAgICAgICAgICAgICBpZiAoYWxsb3dEb3dubG9hZGluZyAmJiBpdGVtLT5pc1N1cHBvcnRl
ZEZvcm1hdCgpICYmIG1fZG9jdW1lbnQpIHsKICAgICAgICAgICAgICAgICBDYWNoZWRGb250KiBj
YWNoZWRGb250ID0gaXRlbS0+Y2FjaGVkRm9udChtX2RvY3VtZW50KTsKICAgICAgICAgICAgICAg
ICBpZiAoY2FjaGVkRm9udCkgewotICAgICAgICAgICAgICAgICAgICBzb3VyY2UgPSBhZG9wdFB0
cihuZXcgQ1NTRm9udEZhY2VTb3VyY2UoaXRlbS0+cmVzb3VyY2UoKSwgY2FjaGVkRm9udCkpOwor
ICAgICAgICAgICAgICAgICAgICBzb3VyY2UgPSBhZG9wdFB0cihuZXcgQ1NTRm9udEZhY2VTb3Vy
Y2UoaXRlbS0+cmVzb3VyY2UoKSwgY2FjaGVkRm9udCwgbV9kb2N1bWVudCkpOwogI2lmIEVOQUJM
RShTVkdfRk9OVFMpCiAgICAgICAgICAgICAgICAgICAgIGlmIChmb3VuZFNWR0ZvbnQpCiAgICAg
ICAgICAgICAgICAgICAgICAgICBzb3VyY2UtPnNldEhhc0V4dGVybmFsU1ZHRm9udCh0cnVlKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZVZhbHVlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZVZhbHVlLmNwcAppbmRleCA2MTk2NDYzMGM2ZGVjZGFmOTE5
MTI4NWQwODZmOGIzZjAxZTE3ZTkzLi5lYWY5Y2FjNDQzMWM4ZmY5ZDc1YjU3Mzk3ODdlNGNhYjI2
MzM2MDMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VWYWx1ZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlVmFsdWUuY3BwCkBAIC04Myw3ICs4Myw3
IEBAIFN0eWxlQ2FjaGVkSW1hZ2UqIENTU0ltYWdlVmFsdWU6OmNhY2hlZEltYWdlKENhY2hlZFJl
c291cmNlTG9hZGVyKiBsb2FkZXIsIGNvbnN0CiAKICAgICAgICAgUmVzb3VyY2VSZXF1ZXN0IHJl
cXVlc3QobG9hZGVyLT5kb2N1bWVudCgpLT5jb21wbGV0ZVVSTCh1cmwpKTsKICAgICAgICAgaWYg
KENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZEltYWdlPiBjYWNoZWRJbWFnZSA9IGxvYWRlci0+
cmVxdWVzdEltYWdlKHJlcXVlc3QpKQotICAgICAgICAgICAgbV9pbWFnZSA9IFN0eWxlQ2FjaGVk
SW1hZ2U6OmNyZWF0ZShjYWNoZWRJbWFnZS5nZXQoKSk7CisgICAgICAgICAgICBtX2ltYWdlID0g
U3R5bGVDYWNoZWRJbWFnZTo6Y3JlYXRlKGNhY2hlZEltYWdlLmdldCgpLCBsb2FkZXItPmRvY3Vt
ZW50KCkpOwogICAgIH0KIAogICAgIHJldHVybiAobV9pbWFnZSAmJiBtX2ltYWdlLT5pc0NhY2hl
ZEltYWdlKCkpID8gc3RhdGljX2Nhc3Q8U3R5bGVDYWNoZWRJbWFnZSo+KG1faW1hZ2UuZ2V0KCkp
IDogMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGVJbXBvcnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZUltcG9ydC5jcHAKaW5kZXggZGY4ZmEwNzc0
OWUzYWRlNmQ3Yjk2YzhjODRmZWZmMTY4MDNlMGQ0Ny4uMDAxYTc5MDBjNjBmOWU5MTIyYTc1YTU0
ZjJiYjQ4ZTBiOWQwOGNlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVs
ZUltcG9ydC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZUltcG9ydC5jcHAK
QEAgLTMwLDYgKzMwLDExIEBACiAjaW5jbHVkZSAiU3R5bGVTaGVldENvbnRlbnRzLmgiCiAjaW5j
bHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogCisjaWYgRU5BQkxFKFJFU09VUkNFX1RJTUlORykK
KyNpbmNsdWRlICJET01XaW5kb3cuaCIKKyNpbmNsdWRlICJQZXJmb3JtYW5jZS5oIgorI2VuZGlm
CisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogUGFzc1JlZlB0cjxTdHlsZVJ1bGVJbXBvcnQ+IFN0
eWxlUnVsZUltcG9ydDo6Y3JlYXRlKGNvbnN0IFN0cmluZyYgaHJlZiwgUGFzc1JlZlB0cjxNZWRp
YVF1ZXJ5U2V0PiBtZWRpYSkKQEAgLTczLDYgKzc4LDExIEBAIHZvaWQgU3R5bGVSdWxlSW1wb3J0
OjpzZXRDU1NTdHlsZVNoZWV0KGNvbnN0IFN0cmluZyYgaHJlZiwgY29uc3QgS1VSTCYgYmFzZVVS
TCwKICAgICBEb2N1bWVudCogZG9jdW1lbnQgPSBtX3BhcmVudFN0eWxlU2hlZXQgPyBtX3BhcmVu
dFN0eWxlU2hlZXQtPnNpbmdsZU93bmVyRG9jdW1lbnQoKSA6IDA7CiAgICAgbV9zdHlsZVNoZWV0
LT5wYXJzZUF1dGhvclN0eWxlU2hlZXQoY2FjaGVkU3R5bGVTaGVldCwgZG9jdW1lbnQgPyBkb2N1
bWVudC0+c2VjdXJpdHlPcmlnaW4oKSA6IDApOwogCisjaWYgRU5BQkxFKFJFU09VUkNFX1RJTUlO
RykKKyAgICBpZiAoZG9jdW1lbnQpCisgICAgICAgIGRvY3VtZW50LT5kb21XaW5kb3coKS0+cGVy
Zm9ybWFuY2UoKS0+YWRkUmVzb3VyY2VUaW1pbmcoImNzcyIsIGNhY2hlZFN0eWxlU2hlZXQtPnJl
c291cmNlUmVxdWVzdCgpLCBjYWNoZWRTdHlsZVNoZWV0LT5yZXNwb25zZSgpLCBjYWNoZWRTdHls
ZVNoZWV0LT5sb2FkRmluaXNoVGltZSgpLCBkb2N1bWVudCk7CisjZW5kaWYKKwogICAgIG1fbG9h
ZGluZyA9IGZhbHNlOwogCiAgICAgaWYgKG1fcGFyZW50U3R5bGVTaGVldCkgewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
ZG9tL1NjcmlwdEVsZW1lbnQuY3BwCmluZGV4IDljMTY1NGUxZmMxODlmODIyMTY4MzYzM2YyM2I4
NTZjNmU4NTZlYjAuLmM1MGJkYjJlZThhMzRkODUxOTk3NGFjNGJkMjcwMzg4NjkzODgzMTEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5jcHAKQEAgLTUwLDYgKzUwLDEwIEBACiAjaW5j
bHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1RleHRQb3Np
dGlvbi5oPgogCisjaWYgRU5BQkxFKFJFU09VUkNFX1RJTUlORykKKyNpbmNsdWRlICJET01XaW5k
b3cuaCIKKyNpbmNsdWRlICJQZXJmb3JtYW5jZS5oIgorI2VuZGlmCiAjaWYgRU5BQkxFKFNWRykK
ICNpbmNsdWRlICJTVkdOYW1lcy5oIgogI2luY2x1ZGUgIlNWR1NjcmlwdEVsZW1lbnQuaCIKQEAg
LTMzOSw2ICszNDMsMTAgQEAgdm9pZCBTY3JpcHRFbGVtZW50Ojpub3RpZnlGaW5pc2hlZChDYWNo
ZWRSZXNvdXJjZSogcmVzb3VyY2UpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKKyNpZiBFTkFC
TEUoUkVTT1VSQ0VfVElNSU5HKQorICAgIG1fZWxlbWVudC0+ZG9jdW1lbnQoKS0+ZG9tV2luZG93
KCktPnBlcmZvcm1hbmNlKCktPmFkZFJlc291cmNlVGltaW5nKG1fZWxlbWVudCwgcmVzb3VyY2Ut
PnJlc291cmNlUmVxdWVzdCgpLCByZXNvdXJjZS0+cmVzcG9uc2UoKSwgcmVzb3VyY2UtPmxvYWRG
aW5pc2hUaW1lKCkpOworI2VuZGlmCisKICAgICBpZiAobV93aWxsRXhlY3V0ZUluT3JkZXIpCiAg
ICAgICAgIG1fZWxlbWVudC0+ZG9jdW1lbnQoKS0+c2NyaXB0UnVubmVyKCktPm5vdGlmeVNjcmlw
dFJlYWR5KHRoaXMsIFNjcmlwdFJ1bm5lcjo6SU5fT1JERVJfRVhFQ1VUSU9OKTsKICAgICBlbHNl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMaW5rRWxlbWVudC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMaW5rRWxlbWVudC5jcHAKaW5kZXggZjM3OGRlNWRjYzM0
YThhNGVjYjM4OGZhYzQ3Y2JlMWM4ODczMTU1Yi4uZGE1MGVkYzc5MDlhOWFkOTg4MWY5MmJmNGVk
ZjU3ZTMwMDA3ZTdiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGlua0Vs
ZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExpbmtFbGVtZW50LmNwcApA
QCAtNDgsNiArNDgsMTEgQEAKICNpbmNsdWRlICJTdHlsZVNoZWV0Q29udGVudHMuaCIKICNpbmNs
dWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAKKyNpZiBFTkFCTEUoUkVTT1VSQ0VfVElNSU5HKQor
I2luY2x1ZGUgIkRPTVdpbmRvdy5oIgorI2luY2x1ZGUgIlBlcmZvcm1hbmNlLmgiCisjZW5kaWYK
KwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwpAQCAt
MzI1LDYgKzMzMCwxMCBAQCB2b2lkIEhUTUxMaW5rRWxlbWVudDo6c2V0Q1NTU3R5bGVTaGVldChj
b25zdCBTdHJpbmcmIGhyZWYsIGNvbnN0IEtVUkwmIGJhc2VVUkwsCiAKICAgICBzdHlsZVNoZWV0
LT5wYXJzZUF1dGhvclN0eWxlU2hlZXQoY2FjaGVkU3R5bGVTaGVldCwgZG9jdW1lbnQoKS0+c2Vj
dXJpdHlPcmlnaW4oKSk7CiAKKyNpZiBFTkFCTEUoUkVTT1VSQ0VfVElNSU5HKQorICAgIGRvY3Vt
ZW50KCktPmRvbVdpbmRvdygpLT5wZXJmb3JtYW5jZSgpLT5hZGRSZXNvdXJjZVRpbWluZyh0aGlz
LCBjYWNoZWRTdHlsZVNoZWV0LT5yZXNvdXJjZVJlcXVlc3QoKSwgY2FjaGVkU3R5bGVTaGVldC0+
cmVzcG9uc2UoKSwgY2FjaGVkU3R5bGVTaGVldC0+bG9hZEZpbmlzaFRpbWUoKSk7CisjZW5kaWYK
KwogICAgIG1fbG9hZGluZyA9IGZhbHNlOwogICAgIHN0eWxlU2hlZXQtPm5vdGlmeUxvYWRlZFNo
ZWV0KGNhY2hlZFN0eWxlU2hlZXQpOwogICAgIHN0eWxlU2hlZXQtPmNoZWNrTG9hZGVkKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MU2NyaXB0UnVubmVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxTY3JpcHRSdW5uZXIuY3BwCmluZGV4
IDA0MjQ0YTY1OGY2ZTFjYzQwOGExNTViZDcyMGUxNGYwNzVlOWY1YjkuLjA3MDI5OTRlZWRiOWFk
OTU1YzQ1NmRlMzkyYTE3ZjJkZDM1YmFhZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvcGFyc2VyL0hUTUxTY3JpcHRSdW5uZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
cGFyc2VyL0hUTUxTY3JpcHRSdW5uZXIuY3BwCkBAIC00MSw2ICs0MSwxMSBAQAogI2luY2x1ZGUg
IlNjcmlwdEVsZW1lbnQuaCIKICNpbmNsdWRlICJTY3JpcHRTb3VyY2VDb2RlLmgiCiAKKyNpZiBF
TkFCTEUoUkVTT1VSQ0VfVElNSU5HKQorI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgorI2luY2x1ZGUg
IlBlcmZvcm1hbmNlLmgiCisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiB1c2luZyBu
YW1lc3BhY2UgSFRNTE5hbWVzOwpAQCAtMTM2LDYgKzE0MSwxMSBAQCB2b2lkIEhUTUxTY3JpcHRS
dW5uZXI6OmV4ZWN1dGVQZW5kaW5nU2NyaXB0QW5kRGlzcGF0Y2hFdmVudChQZW5kaW5nU2NyaXB0
JiBwZW5kaQogICAgICAgICAgICAgc2NyaXB0RWxlbWVudC0+ZGlzcGF0Y2hFcnJvckV2ZW50KCk7
CiAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgQVNTRVJUKGlzRXhlY3V0aW5nU2NyaXB0KCkp
OworI2lmIEVOQUJMRShSRVNPVVJDRV9USU1JTkcpCisgICAgICAgICAgICBDYWNoZWRSZXNvdXJj
ZUhhbmRsZTxDYWNoZWRTY3JpcHQ+IGNhY2hlZFNjcmlwdCA9IHNjcmlwdEVsZW1lbnQtPmNhY2hl
ZFNjcmlwdCgpOworICAgICAgICAgICAgaWYgKGNhY2hlZFNjcmlwdCkKKyAgICAgICAgICAgICAg
ICBtX2RvY3VtZW50LT5kb21XaW5kb3coKS0+cGVyZm9ybWFuY2UoKS0+YWRkUmVzb3VyY2VUaW1p
bmcoc2NyaXB0RWxlbWVudC0+ZWxlbWVudCgpLCBjYWNoZWRTY3JpcHQtPnJlc291cmNlUmVxdWVz
dCgpLCBjYWNoZWRTY3JpcHQtPnJlc3BvbnNlKCksIGNhY2hlZFNjcmlwdC0+bG9hZEZpbmlzaFRp
bWUoKSk7CisjZW5kaWYKICAgICAgICAgICAgIHNjcmlwdEVsZW1lbnQtPmV4ZWN1dGVTY3JpcHQo
c291cmNlQ29kZSk7CiAgICAgICAgICAgICBlbGVtZW50LT5kaXNwYXRjaEV2ZW50KGNyZWF0ZVNj
cmlwdExvYWRFdmVudCgpKTsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL0ltYWdlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRl
ci5jcHAKaW5kZXggMGUzNzgxY2RiMzEyZTUxYzVjYTVhMDQyZmZmYjZiN2ZhMDNkZTQzNC4uYzZk
MTNiMTRmNzA1MzMwYTRmZTQzNDY1OGY4MmJmOWFhZjk1ZmY5MCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvSW1hZ2VMb2FkZXIuY3BwCkBAIC0zNiw2ICszNiwxMCBAQAogI2luY2x1ZGUgIlNjcmlwdENh
bGxTdGFjay5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAKKyNpZiBFTkFCTEUoUkVT
T1VSQ0VfVElNSU5HKQorI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgorI2luY2x1ZGUgIlBlcmZvcm1h
bmNlLmgiCisjZW5kaWYKICNpZiBFTkFCTEUoU1ZHKQogI2luY2x1ZGUgIlJlbmRlclNWR0ltYWdl
LmgiCiAjZW5kaWYKQEAgLTI3Nyw2ICsyODEsMTAgQEAgdm9pZCBJbWFnZUxvYWRlcjo6bm90aWZ5
RmluaXNoZWQoQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlKQogICAgICAgICByZXR1cm47CiAgICAg
fQogCisjaWYgRU5BQkxFKFJFU09VUkNFX1RJTUlORykKKyAgICBtX2VsZW1lbnQtPmRvY3VtZW50
KCktPmRvbVdpbmRvdygpLT5wZXJmb3JtYW5jZSgpLT5hZGRSZXNvdXJjZVRpbWluZyhtX2VsZW1l
bnQsIHJlc291cmNlLT5yZXNvdXJjZVJlcXVlc3QoKSwgcmVzb3VyY2UtPnJlc3BvbnNlKCksIHJl
c291cmNlLT5sb2FkRmluaXNoVGltZSgpKTsKKyNlbmRpZgorCiAgICAgbG9hZEV2ZW50U2VuZGVy
KCkuZGlzcGF0Y2hFdmVudFNvb24odGhpcyk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9NYWluUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L01haW5SZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggZDBmZjIzYzA4NTA3ODA3Zjc3YzJhYTMxZjE2
OWY2ODBhNTVlZmQ3Ni4uZDQwOTcwMTQ2NmQ0NjU5ODdmNmVkM2ZhZDE1NThjMDUyZTFiOWI4ZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL01haW5SZXNvdXJjZUxvYWRlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL01haW5SZXNvdXJjZUxvYWRlci5jcHAKQEAgLTUz
LDYgKzUzLDExIEBACiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKICNpbmNsdWRlIDx3dGYvQ3VycmVu
dFRpbWUuaD4KIAorI2lmIEVOQUJMRShSRVNPVVJDRV9USU1JTkcpCisjaW5jbHVkZSAiSFRNTEZy
YW1lT3duZXJFbGVtZW50LmgiCisjaW5jbHVkZSAiUGVyZm9ybWFuY2UuaCIKKyNlbmRpZgorCiAj
aWYgUExBVEZPUk0oUVQpCiAjaW5jbHVkZSAiUGx1Z2luRGF0YWJhc2UuaCIKICNlbmRpZgpAQCAt
NTEzLDYgKzUxOCwxMiBAQCB2b2lkIE1haW5SZXNvdXJjZUxvYWRlcjo6ZGlkRmluaXNoTG9hZGlu
Zyhkb3VibGUgZmluaXNoVGltZSkKICAgICAgICAgZGwtPm1heWJlRmluaXNoTG9hZGluZ011bHRp
cGFydENvbnRlbnQoKTsKIAogICAgIGRvY3VtZW50TG9hZGVyKCktPnRpbWluZygpLT5zZXRSZXNw
b25zZUVuZChmaW5pc2hUaW1lID8gZmluaXNoVGltZSA6IChtX3RpbWVPZkxhc3REYXRhUmVjZWl2
ZWQgPyBtX3RpbWVPZkxhc3REYXRhUmVjZWl2ZWQgOiBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1Rp
bWUoKSkpOworI2lmIEVOQUJMRShSRVNPVVJDRV9USU1JTkcpCisgICAgaWYgKG1fZnJhbWUgJiYg
bV9mcmFtZS0+b3duZXJFbGVtZW50KCkgJiYgbV9oYW5kbGUpIHsKKyAgICAgICAgSFRNTEZyYW1l
T3duZXJFbGVtZW50KiBvd25lciA9IG1fZnJhbWUtPm93bmVyRWxlbWVudCgpOworICAgICAgICBv
d25lci0+ZG9jdW1lbnQoKS0+ZG9tV2luZG93KCktPnBlcmZvcm1hbmNlKCktPmFkZFJlc291cmNl
VGltaW5nKG93bmVyLCBtX2hhbmRsZS0+Zmlyc3RSZXF1ZXN0KCksIHJlc3BvbnNlKCksIGZpbmlz
aFRpbWUpOworICAgIH0KKyNlbmRpZgogICAgIGRvY3VtZW50TG9hZGVyKCktPmZpbmlzaGVkTG9h
ZGluZygpOwogICAgIFJlc291cmNlTG9hZGVyOjpkaWRGaW5pc2hMb2FkaW5nKGZpbmlzaFRpbWUp
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkTm90aWZp
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZE5vdGlmaWVyLmNwcApp
bmRleCBiN2Q1Njg2Njg1MzFhMzkyNWE3YTlhNWRkMTY1MTZjOWUyNWUzZjZmLi41NmQ5M2E4YjAz
Njg1NjQ5M2QyNzM1ZjRiZDVmMDc4YTIwYmJkNTk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvUmVzb3VyY2VMb2FkTm90aWZpZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9SZXNvdXJjZUxvYWROb3RpZmllci5jcHAKQEAgLTEyMSw2ICsxMjEsMTAgQEAgdm9pZCBS
ZXNvdXJjZUxvYWROb3RpZmllcjo6ZGlzcGF0Y2hXaWxsU2VuZFJlcXVlc3QoRG9jdW1lbnRMb2Fk
ZXIqIGxvYWRlciwgdW5zaWcKICAgICAvLyBSZXBvcnQgV2ViVGltaW5nIGZvciBhbGwgZnJhbWVz
LgogICAgIGlmIChsb2FkZXIgJiYgIXJlcXVlc3QuaXNOdWxsKCkgJiYgcmVxdWVzdC51cmwoKSA9
PSBsb2FkZXItPnJlcXVlc3RVUkwoKSkKICAgICAgICAgcmVxdWVzdC5zZXRSZXBvcnRMb2FkVGlt
aW5nKHRydWUpOworCisjaWYgRU5BQkxFKFJFU09VUkNFX1RJTUlORykKKyAgICByZXF1ZXN0LnNl
dFJlcG9ydExvYWRUaW1pbmcodHJ1ZSk7CisjZW5kaWYKIH0KIAogdm9pZCBSZXNvdXJjZUxvYWRO
b3RpZmllcjo6ZGlzcGF0Y2hEaWRSZWNlaXZlUmVzcG9uc2UoRG9jdW1lbnRMb2FkZXIqIGxvYWRl
ciwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuaAppbmRleCA3ZmJm
NzMzNjU4NTViMzhhNzA1M2M1OTJkYjYwNmY4ZjFlZDJhODRhLi4wYTQxYzJhNmE0NzUzMDliMjMy
M2QyNWZlMmIyZjQ5Njg3NDgzMDM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
Y2FjaGUvQ2FjaGVkUmVzb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUv
Q2FjaGVkUmVzb3VyY2UuaApAQCAtMTA2LDkgKzEwNiwxMCBAQCBwdWJsaWM6CiAgICAgdmlydHVh
bCBib29sIHNob3VsZElnbm9yZUhUVFBTdGF0dXNDb2RlRXJyb3JzKCkgY29uc3QgeyByZXR1cm4g
ZmFsc2U7IH0KIAogICAgIFJlc291cmNlUmVxdWVzdCYgcmVzb3VyY2VSZXF1ZXN0KCkgeyByZXR1
cm4gbV9yZXNvdXJjZVJlcXVlc3Q7IH0KLSAgICBjb25zdCBLVVJMJiB1cmwoKSBjb25zdCB7IHJl
dHVybiBtX3Jlc291cmNlUmVxdWVzdC51cmwoKTt9CisgICAgY29uc3QgUmVzb3VyY2VSZXF1ZXN0
JiByZXNvdXJjZVJlcXVlc3QoKSBjb25zdCB7IHJldHVybiBtX3Jlc291cmNlUmVxdWVzdDsgfQor
ICAgIGNvbnN0IEtVUkwmIHVybCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVzb3VyY2VSZXF1ZXN0LnVy
bCgpOyB9CiAgICAgVHlwZSB0eXBlKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8VHlwZT4o
bV90eXBlKTsgfQotICAgIAorCiAgICAgUmVzb3VyY2VMb2FkUHJpb3JpdHkgbG9hZFByaW9yaXR5
KCkgY29uc3QgeyByZXR1cm4gbV9sb2FkUHJpb3JpdHk7IH0KICAgICB2b2lkIHNldExvYWRQcmlv
cml0eShSZXNvdXJjZUxvYWRQcmlvcml0eSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGVyZm9ybWFuY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5j
cHAKaW5kZXggOTAzMzkzMDIxOWU2MDQxMTUxNGNjZGU1NmY2NmJlNmI4NTg4ZDUxOS4uNTQ1ODUy
N2M5MTY5ZmJlYTEwNGY3NzQ2MDYzYzY4MjkxOTcyYTE4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJm
b3JtYW5jZS5jcHAKQEAgLTMzLDYgKzMzLDcgQEAKIAogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAj
aW5jbHVkZSAiRG9jdW1lbnRMb2FkZXIuaCIKKyNpbmNsdWRlICJFbGVtZW50LmgiCiAjaW5jbHVk
ZSAiTWVtb3J5SW5mby5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlRW50cnkuaCIKICNpbmNsdWRl
ICJQZXJmb3JtYW5jZU5hdmlnYXRpb24uaCIKQEAgLTE0MywxMiArMTQ0LDE0IEBAIHZvaWQgUGVy
Zm9ybWFuY2U6OndlYmtpdFNldFJlc291cmNlVGltaW5nQnVmZmVyU2l6ZSh1bnNpZ25lZCBpbnQp
CiAgICAgLy8gRklYTUU6IEltcGxlbWVudCB0aGlzLgogfQogCi12b2lkIFBlcmZvcm1hbmNlOjph
ZGRSZXNvdXJjZVRpbWluZyhjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFJl
c291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBkb3VibGUgZmluaXNoVGltZSwgRG9jdW1lbnQqIHJl
cXVlc3RpbmdEb2N1bWVudCkKK3ZvaWQgUGVyZm9ybWFuY2U6OmFkZFJlc291cmNlVGltaW5nKGNv
bnN0IEVsZW1lbnQqIGVsZW1lbnQsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29u
c3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIGRvdWJsZSBmaW5pc2hUaW1lKQogewotICAg
IGlmICghcmVzcG9uc2UucmVzb3VyY2VMb2FkVGltaW5nKCkpCi0gICAgICAgIHJldHVybjsKKyAg
ICBhZGRSZXNvdXJjZVRpbWluZyhlbGVtZW50LT50YWdOYW1lKCkubG93ZXIoKSwgcmVxdWVzdCwg
cmVzcG9uc2UsIGZpbmlzaFRpbWUsIGVsZW1lbnQtPmRvY3VtZW50KCkpOworfQogCi0gICAgUmVm
UHRyPFBlcmZvcm1hbmNlRW50cnk+IGVudHJ5ID0gUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6
Y3JlYXRlKHJlcXVlc3QsIHJlc3BvbnNlLCBmaW5pc2hUaW1lLCByZXF1ZXN0aW5nRG9jdW1lbnQp
Owordm9pZCBQZXJmb3JtYW5jZTo6YWRkUmVzb3VyY2VUaW1pbmcoY29uc3QgU3RyaW5nJiBpbml0
aWF0b3JUeXBlLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFJlc291cmNl
UmVzcG9uc2UmIHJlc3BvbnNlLCBkb3VibGUgZmluaXNoVGltZSwgRG9jdW1lbnQqIGRvY3VtZW50
KQoreworICAgIFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5PiBlbnRyeSA9IFBlcmZvcm1hbmNlUmVz
b3VyY2VUaW1pbmc6OmNyZWF0ZShpbml0aWF0b3JUeXBlLCByZXF1ZXN0LCByZXNwb25zZSwgZmlu
aXNoVGltZSwgZG9jdW1lbnQpOwogICAgIC8vIEZJWE1FOiBOZWVkIHRvIGVuZm9yY2UgYnVmZmVy
IGxpbWl0cy4KICAgICBtX3Jlc291cmNlVGltaW5nQnVmZmVyLmFwcGVuZChlbnRyeSk7CiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BlcmZvcm1hbmNlLmgKaW5kZXggOGJhOGM1ZWVhOTVlZTVkNDNkOGNiZGU0Njcw
ZWQ5MmIyMTk2MWU2OC4uNDZlOGUwZTU5Y2RjMjI0ZDdhNjQ1ODBmYzhiMThiZWMzNzQ2MGUyZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuaApAQCAtNDcsNiArNDcsNyBAQAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBjbGFzcyBEb2N1bWVudDsKK2NsYXNzIEVsZW1lbnQ7CiBjbGFzcyBSZXNv
dXJjZVJlcXVlc3Q7CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogCkBAIC03NSw3ICs3Niw4IEBA
IHB1YmxpYzoKIAogICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIod2Via2l0cmVz
b3VyY2V0aW1pbmdidWZmZXJmdWxsKTsKIAotICAgIHZvaWQgYWRkUmVzb3VyY2VUaW1pbmcoY29u
c3QgUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYsIGRvdWJsZSBmaW5p
c2hUaW1lLCBEb2N1bWVudCopOworICAgIHZvaWQgYWRkUmVzb3VyY2VUaW1pbmcoY29uc3QgRWxl
bWVudCosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmLCBk
b3VibGUgZmluaXNoVGltZSk7CisgICAgdm9pZCBhZGRSZXNvdXJjZVRpbWluZyhjb25zdCBTdHJp
bmcmIGluaXRpYXRvclR5cGUsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFJlc291cmNl
UmVzcG9uc2UmLCBkb3VibGUgZmluaXNoVGltZSwgRG9jdW1lbnQqKTsKICNlbmRpZgogCiAgICAg
dXNpbmcgUmVmQ291bnRlZDxQZXJmb3JtYW5jZT46OnJlZjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuY3BwCmluZGV4IDA5NzZhZGQ3ODAzMjg4
M2MzZjRhNWExN2JmZmJlYWM2ZGVmNGRkMWMuLmU2Mzk0ZDQwZDUyNTVlOTczYmZkYzg1YjMxZmFm
ZTc1NTM0ODBmNzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VS
ZXNvdXJjZVRpbWluZy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVJl
c291cmNlVGltaW5nLmNwcApAQCAtNDQsOCArNDQsOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLVBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmco
Y29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiBy
ZXNwb25zZSwgZG91YmxlIGZpbmlzaFRpbWUsIERvY3VtZW50KiByZXF1ZXN0aW5nRG9jdW1lbnQp
Ci0gICAgOiBQZXJmb3JtYW5jZUVudHJ5KHJlcXVlc3QudXJsKCkuc3RyaW5nKCksICJyZXNvdXJj
ZSIsIHJlc3BvbnNlLnJlc291cmNlTG9hZFRpbWluZygpLT5yZXF1ZXN0VGltZSwgZmluaXNoVGlt
ZSkKK1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmco
Y29uc3QgU3RyaW5nJiBpbml0aWF0b3JUeXBlLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVl
c3QsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBkb3VibGUgZmluaXNoVGltZSwg
RG9jdW1lbnQqIHJlcXVlc3RpbmdEb2N1bWVudCkKKyAgICA6IFBlcmZvcm1hbmNlRW50cnkocmVx
dWVzdC51cmwoKS5zdHJpbmcoKSwgInJlc291cmNlIiwgcmVzcG9uc2UucmVzb3VyY2VMb2FkVGlt
aW5nKCkgPyByZXNwb25zZS5yZXNvdXJjZUxvYWRUaW1pbmcoKS0+cmVxdWVzdFRpbWUgOiAwLCBm
aW5pc2hUaW1lKQorICAgICwgbV9pbml0aWF0b3JUeXBlKGluaXRpYXRvclR5cGUpCiAgICAgLCBt
X3RpbWluZyhyZXNwb25zZS5yZXNvdXJjZUxvYWRUaW1pbmcoKSkKICAgICAsIG1fZmluaXNoVGlt
ZShmaW5pc2hUaW1lKQogICAgICwgbV9yZXF1ZXN0aW5nRG9jdW1lbnQocmVxdWVzdGluZ0RvY3Vt
ZW50KQpAQCAtNTgsOCArNTksNyBAQCBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjp+UGVyZm9y
bWFuY2VSZXNvdXJjZVRpbWluZygpCiAKIFN0cmluZyBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5n
Ojppbml0aWF0b3JUeXBlKCkgY29uc3QKIHsKLSAgICAvLyBGSVhNRTogVGhpcyBzaG91bGQgYmUg
ZGVjaWRlZCBieSB0aGUgcmVzb3VyY2UgdHlwZS4KLSAgICByZXR1cm4gIm90aGVyIjsKKyAgICBy
ZXR1cm4gbV9pbml0aWF0b3JUeXBlOwogfQogCiAvLyBGSVhNRTogTmVlZCB0byBlbmZvcmNlIHNh
bWUtb3JpZ2luIHBvbGljeSBvbiB0aGVzZS4KQEAgLTc3LDExICs3NywxNSBAQCBkb3VibGUgUGVy
Zm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6cmVkaXJlY3RFbmQoKSBjb25zdAogCiBkb3VibGUgUGVy
Zm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6ZmV0Y2hTdGFydCgpIGNvbnN0CiB7CisgICAgaWYgKCFt
X3RpbWluZykKKyAgICAgICAgcmV0dXJuIDAuMDsKICAgICByZXR1cm4gbW9ub3RvbmljVGltZVRv
RG9jdW1lbnRNaWxsaXNlY29uZHMobV90aW1pbmctPnJlcXVlc3RUaW1lKTsKIH0KIAogZG91Ymxl
IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmRvbWFpbkxvb2t1cFN0YXJ0KCkgY29uc3QKIHsK
KyAgICBpZiAoIW1fdGltaW5nKQorICAgICAgICByZXR1cm4gMC4wOwogICAgIGlmIChtX3RpbWlu
Zy0+ZG5zU3RhcnQgPCAwKQogICAgICAgICByZXR1cm4gZmV0Y2hTdGFydCgpOwogCkBAIC05MCw2
ICs5NCw4IEBAIGRvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpkb21haW5Mb29rdXBT
dGFydCgpIGNvbnN0CiAKIGRvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpkb21haW5M
b29rdXBFbmQoKSBjb25zdAogeworICAgIGlmICghbV90aW1pbmcpCisgICAgICAgIHJldHVybiAw
LjA7CiAgICAgaWYgKG1fdGltaW5nLT5kbnNFbmQgPCAwKQogICAgICAgICByZXR1cm4gZG9tYWlu
TG9va3VwU3RhcnQoKTsKIApAQCAtOTgsNiArMTA0LDggQEAgZG91YmxlIFBlcmZvcm1hbmNlUmVz
b3VyY2VUaW1pbmc6OmRvbWFpbkxvb2t1cEVuZCgpIGNvbnN0CiAKIGRvdWJsZSBQZXJmb3JtYW5j
ZVJlc291cmNlVGltaW5nOjpjb25uZWN0U3RhcnQoKSBjb25zdAogeworICAgIGlmICghbV90aW1p
bmcpCisgICAgICAgIHJldHVybiAwLjA7CiAgICAgaWYgKG1fdGltaW5nLT5jb25uZWN0U3RhcnQg
PCAwKSAvLyBDb25uZWN0aW9uIHdhcyByZXVzZWQuCiAgICAgICAgIHJldHVybiBkb21haW5Mb29r
dXBFbmQoKTsKIApAQCAtMTExLDYgKzExOSw4IEBAIGRvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNl
VGltaW5nOjpjb25uZWN0U3RhcnQoKSBjb25zdAogCiBkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJj
ZVRpbWluZzo6Y29ubmVjdEVuZCgpIGNvbnN0CiB7CisgICAgaWYgKCFtX3RpbWluZykKKyAgICAg
ICAgcmV0dXJuIDAuMDsKICAgICBpZiAobV90aW1pbmctPmNvbm5lY3RFbmQgPCAwKSAvLyBDb25u
ZWN0aW9uIHdhcyByZXVzZWQuCiAgICAgICAgIHJldHVybiBjb25uZWN0U3RhcnQoKTsKIApAQCAt
MTE5LDYgKzEyOSw4IEBAIGRvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpjb25uZWN0
RW5kKCkgY29uc3QKIAogZG91YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnNlY3VyZUNv
bm5lY3Rpb25TdGFydCgpIGNvbnN0CiB7CisgICAgaWYgKCFtX3RpbWluZykKKyAgICAgICAgcmV0
dXJuIDAuMDsKICAgICBpZiAobV90aW1pbmctPnNzbFN0YXJ0IDwgMCkgLy8gU2VjdXJlIGNvbm5l
Y3Rpb24gbm90IG5lZ290aWF0ZWQuCiAgICAgICAgIHJldHVybiAwOwogCkBAIC0xMjcsMjggKzEz
OSwzOCBAQCBkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6c2VjdXJlQ29ubmVjdGlv
blN0YXJ0KCkgY29uc3QKIAogZG91YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnJlcXVl
c3RTdGFydCgpIGNvbnN0CiB7CisgICAgaWYgKCFtX3RpbWluZykKKyAgICAgICAgcmV0dXJuIDAu
MDsKICAgICByZXR1cm4gcmVzb3VyY2VUaW1lVG9Eb2N1bWVudE1pbGxpc2Vjb25kcyhtX3RpbWlu
Zy0+c2VuZFN0YXJ0KTsKIH0KIAogZG91YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnJl
c3BvbnNlU3RhcnQoKSBjb25zdAogeworICAgIGlmICghbV90aW1pbmcpCisgICAgICAgIHJldHVy
biAwLjA7CiAgICAgLy8gRklYTUU6IFRoaXMgbnVtYmVyIGlzbid0IGV4YWN0bHkgY29ycmVjdC4g
U2VlIHRoZSBub3RlcyBpbiBQZXJmb3JtYW5jZVRpbWluZzo6cmVzcG9uc2VTdGFydCgpLgogICAg
IHJldHVybiByZXNvdXJjZVRpbWVUb0RvY3VtZW50TWlsbGlzZWNvbmRzKG1fdGltaW5nLT5yZWNl
aXZlSGVhZGVyc0VuZCk7CiB9CiAKIGRvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpy
ZXNwb25zZUVuZCgpIGNvbnN0CiB7CisgICAgaWYgKCFtX3RpbWluZykKKyAgICAgICAgcmV0dXJu
IDAuMDsKICAgICByZXR1cm4gbW9ub3RvbmljVGltZVRvRG9jdW1lbnRNaWxsaXNlY29uZHMobV9m
aW5pc2hUaW1lKTsKIH0KIAogZG91YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6Om1vbm90
b25pY1RpbWVUb0RvY3VtZW50TWlsbGlzZWNvbmRzKGRvdWJsZSBzZWNvbmRzKSBjb25zdAogewog
ICAgIEFTU0VSVChzZWNvbmRzID49IDAuMCk7CisgICAgaWYgKCFzZWNvbmRzKQorICAgICAgICBy
ZXR1cm4gMC4wOwogICAgIHJldHVybiBtX3JlcXVlc3RpbmdEb2N1bWVudC0+bG9hZGVyKCktPnRp
bWluZygpLT5jb252ZXJ0TW9ub3RvbmljVGltZVRvRG9jdW1lbnRUaW1lKHNlY29uZHMpICogMTAw
MC4wOwogfQogCiBkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6cmVzb3VyY2VUaW1l
VG9Eb2N1bWVudE1pbGxpc2Vjb25kcyhpbnQgZGVsdGFNaWxsaXNlY29uZHMpIGNvbnN0CiB7Cisg
ICAgaWYgKCFkZWx0YU1pbGxpc2Vjb25kcykKKyAgICAgICAgcmV0dXJuIDAuMDsKICAgICByZXR1
cm4gbW9ub3RvbmljVGltZVRvRG9jdW1lbnRNaWxsaXNlY29uZHMobV90aW1pbmctPnJlcXVlc3RU
aW1lKSArIGRlbHRhTWlsbGlzZWNvbmRzOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oCmluZGV4IDA4MmI4OTI1MTQ5NjI5ZTg4ZDNkNzFh
YTY4YmIxMWI3NTI2NjBhOTIuLjI0OGRkMmY0Yzg2NDQxYzQ4OTJkNjJjMDcyMTdkYWY0ZDQ0ZWY3
YzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRp
bWluZy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWlu
Zy5oCkBAIC00OCw5ICs0OCw5IEBAIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CiAKIGNsYXNzIFBl
cmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcgOiBwdWJsaWMgUGVyZm9ybWFuY2VFbnRyeSB7CiBwdWJs
aWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZz4gY3Jl
YXRlKGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgUmVzb3VyY2VSZXNwb25z
ZSYgcmVzcG9uc2UsIGRvdWJsZSBmaW5pc2hUaW1lLCBEb2N1bWVudCogcmVxdWVzdGluZ0RvY3Vt
ZW50KQorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc+IGNy
ZWF0ZShjb25zdCBTdHJpbmcmIGluaXRpYXRvclR5cGUsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYg
cmVxdWVzdCwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIGRvdWJsZSBmaW5pc2hU
aW1lLCBEb2N1bWVudCogcmVxdWVzdGluZ0RvY3VtZW50KQogICAgIHsKLSAgICAgICAgcmV0dXJu
IGFkb3B0UmVmKG5ldyBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nKHJlcXVlc3QsIHJlc3BvbnNl
LCBmaW5pc2hUaW1lLCByZXF1ZXN0aW5nRG9jdW1lbnQpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0
UmVmKG5ldyBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nKGluaXRpYXRvclR5cGUsIHJlcXVlc3Qs
IHJlc3BvbnNlLCBmaW5pc2hUaW1lLCByZXF1ZXN0aW5nRG9jdW1lbnQpKTsKICAgICB9CiAKICAg
ICBTdHJpbmcgaW5pdGlhdG9yVHlwZSgpIGNvbnN0OwpAQCAtNzAsMTIgKzcwLDEzIEBAIHB1Ymxp
YzoKICAgICB2aXJ0dWFsIGJvb2wgaXNSZXNvdXJjZSgpIHsgcmV0dXJuIHRydWU7IH0KIAogcHJp
dmF0ZToKLSAgICBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nKGNvbnN0IFJlc291cmNlUmVxdWVz
dCYsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmLCBkb3VibGUgZmluaXNoVGltZSwgRG9jdW1lbnQq
KTsKKyAgICBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nKGNvbnN0IFN0cmluZyYgaW5pdGF0b3JU
eXBlLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiwgZG91
YmxlIGZpbmlzaFRpbWUsIERvY3VtZW50Kik7CiAgICAgflBlcmZvcm1hbmNlUmVzb3VyY2VUaW1p
bmcoKTsKIAogICAgIGRvdWJsZSBtb25vdG9uaWNUaW1lVG9Eb2N1bWVudE1pbGxpc2Vjb25kcyhk
b3VibGUgc2Vjb25kcykgY29uc3Q7CiAgICAgZG91YmxlIHJlc291cmNlVGltZVRvRG9jdW1lbnRN
aWxsaXNlY29uZHMoaW50IGRlbHRhTWlsbGlzZWNvbmRzKSBjb25zdDsKIAorICAgIFN0cmluZyBt
X2luaXRpYXRvclR5cGU7CiAgICAgUmVmUHRyPFJlc291cmNlTG9hZFRpbWluZz4gbV90aW1pbmc7
CiAgICAgZG91YmxlIG1fZmluaXNoVGltZTsKICAgICBSZWZQdHI8RG9jdW1lbnQ+IG1fcmVxdWVz
dGluZ0RvY3VtZW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1N0eWxlQ2FjaGVkSW1hZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0
eWxlQ2FjaGVkSW1hZ2UuY3BwCmluZGV4IDJlM2FiYjk0Mzc0NzAzMTU4ZGZhMTliZjFiNzE1MmU1
ZDE2YTczZmEuLmRjZDVmNzU5MzQwNTkxN2Y1NWM4Zjg2ZmYyOWY1NTI5MTAyNzFjYmUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUNhY2hlZEltYWdlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVDYWNoZWRJbWFnZS5j
cHAKQEAgLTI2LDEwICsyNiwxNyBAQAogCiAjaW5jbHVkZSAiUmVuZGVyT2JqZWN0LmgiCiAKKyNp
ZiBFTkFCTEUoUkVTT1VSQ0VfVElNSU5HKQorI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgorI2luY2x1
ZGUgIkRvY3VtZW50LmgiCisjaW5jbHVkZSAiUGVyZm9ybWFuY2UuaCIKKyNlbmRpZgorCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLVN0eWxlQ2FjaGVkSW1hZ2U6OlN0eWxlQ2FjaGVkSW1hZ2UoQ2Fj
aGVkSW1hZ2UqIGltYWdlKQorU3R5bGVDYWNoZWRJbWFnZTo6U3R5bGVDYWNoZWRJbWFnZShDYWNo
ZWRJbWFnZSogaW1hZ2UsIERvY3VtZW50KiBkb2N1bWVudCkKICAgICA6IG1faW1hZ2UoaW1hZ2Up
CisgICAgLCBtX2RvY3VtZW50KGRvY3VtZW50KQogewogICAgIG1faXNDYWNoZWRJbWFnZSA9IHRy
dWU7CiAgICAgbV9pbWFnZS0+YWRkQ2xpZW50KHRoaXMpOwpAQCAtMTA1LDQgKzExMiwxMCBAQCBQ
YXNzUmVmUHRyPEltYWdlPiBTdHlsZUNhY2hlZEltYWdlOjppbWFnZShSZW5kZXJPYmplY3QqIHJl
bmRlcmVyLCBjb25zdCBJbnRTaXplJgogICAgIHJldHVybiBtX2ltYWdlLT5pbWFnZUZvclJlbmRl
cmVyKHJlbmRlcmVyKTsKIH0KIAorI2lmIEVOQUJMRShSRVNPVVJDRV9USU1JTkcpCit2b2lkIFN0
eWxlQ2FjaGVkSW1hZ2U6Om5vdGlmeUZpbmlzaGVkKENhY2hlZFJlc291cmNlKiByZXNvdXJjZSkK
K3sKKyAgICBtX2RvY3VtZW50LT5kb21XaW5kb3coKS0+cGVyZm9ybWFuY2UoKS0+YWRkUmVzb3Vy
Y2VUaW1pbmcoImNzcyIsIHJlc291cmNlLT5yZXNvdXJjZVJlcXVlc3QoKSwgcmVzb3VyY2UtPnJl
c3BvbnNlKCksIHJlc291cmNlLT5sb2FkRmluaXNoVGltZSgpLCBtX2RvY3VtZW50KTsKK30KKyNl
bmRpZgogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxl
Q2FjaGVkSW1hZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUNhY2hl
ZEltYWdlLmgKaW5kZXggYzk5MTNmZDgyNWIzZTBhN2RkNDQyODFlMDM5YzhiNmM0MzdlY2MzNC4u
M2E2NmEyY2EwY2ViMTE3OGNjOGYzOWUwYzU2NDk4ZTg3Mzk4MzEyOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlQ2FjaGVkSW1hZ2UuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVDYWNoZWRJbWFnZS5oCkBAIC0zMCwxNiAr
MzAsMTggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitjbGFzcyBEb2N1bWVudDsKKwogY2xh
c3MgU3R5bGVDYWNoZWRJbWFnZSA6IHB1YmxpYyBTdHlsZUltYWdlLCBwcml2YXRlIENhY2hlZElt
YWdlQ2xpZW50IHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAgICBz
dGF0aWMgUGFzc1JlZlB0cjxTdHlsZUNhY2hlZEltYWdlPiBjcmVhdGUoQ2FjaGVkSW1hZ2UqIGlt
YWdlKSB7IHJldHVybiBhZG9wdFJlZihuZXcgU3R5bGVDYWNoZWRJbWFnZShpbWFnZSkpOyB9Cisg
ICAgc3RhdGljIFBhc3NSZWZQdHI8U3R5bGVDYWNoZWRJbWFnZT4gY3JlYXRlKENhY2hlZEltYWdl
KiBpbWFnZSwgRG9jdW1lbnQqIGRvY3VtZW50KSB7IHJldHVybiBhZG9wdFJlZihuZXcgU3R5bGVD
YWNoZWRJbWFnZShpbWFnZSwgZG9jdW1lbnQpKTsgfQogICAgIHZpcnR1YWwgflN0eWxlQ2FjaGVk
SW1hZ2UoKTsKIAogICAgIHZpcnR1YWwgV3JhcHBlZEltYWdlUHRyIGRhdGEoKSBjb25zdCB7IHJl
dHVybiBtX2ltYWdlLmdldCgpOyB9CiAKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8Q1NTVmFsdWU+
IGNzc1ZhbHVlKCkgY29uc3Q7Ci0gICAgCisKICAgICBDYWNoZWRJbWFnZSogY2FjaGVkSW1hZ2Uo
KSBjb25zdCB7IHJldHVybiBtX2ltYWdlLmdldCgpOyB9CiAKICAgICB2aXJ0dWFsIGJvb2wgY2Fu
UmVuZGVyKGNvbnN0IFJlbmRlck9iamVjdCosIGZsb2F0IG11bHRpcGxpZXIpIGNvbnN0OwpAQCAt
NTQsMTEgKzU2LDE1IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgYWRkQ2xpZW50KFJlbmRl
ck9iamVjdCopOwogICAgIHZpcnR1YWwgdm9pZCByZW1vdmVDbGllbnQoUmVuZGVyT2JqZWN0Kik7
CiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPEltYWdlPiBpbWFnZShSZW5kZXJPYmplY3QqLCBjb25z
dCBJbnRTaXplJikgY29uc3Q7Ci0gICAgCisjaWYgRU5BQkxFKFJFU09VUkNFX1RJTUlORykKKyAg
ICB2aXJ0dWFsIHZvaWQgbm90aWZ5RmluaXNoZWQoQ2FjaGVkUmVzb3VyY2UqKTsKKyNlbmRpZgor
CiBwcml2YXRlOgotICAgIGV4cGxpY2l0IFN0eWxlQ2FjaGVkSW1hZ2UoQ2FjaGVkSW1hZ2UqKTsK
LSAgICAKKyAgICBTdHlsZUNhY2hlZEltYWdlKENhY2hlZEltYWdlKiwgRG9jdW1lbnQqKTsKKwog
ICAgIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZEltYWdlPiBtX2ltYWdlOworICAgIERvY3Vt
ZW50KiBtX2RvY3VtZW50OwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1s
L1hNTEh0dHBSZXF1ZXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5j
cHAKaW5kZXggZjE2Yjg2NTNiODQxZmMzNjhiNjlkYzljMTFhODVhYTJhZWIzOTA1MS4uNGRmM2Mx
MDQ0NmQ1ZjcxZTYxMzgyMzcxMWEyOGY3YjJiNTc4NmNhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1M
SHR0cFJlcXVlc3QuY3BwCkBAIC02MSw2ICs2MSwxMCBAQAogI2luY2x1ZGUgPHd0Zi9VbnVzZWRQ
YXJhbS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KIAorI2lmIEVOQUJMRShSRVNP
VVJDRV9USU1JTkcpCisjaW5jbHVkZSAiRE9NV2luZG93LmgiCisjaW5jbHVkZSAiUGVyZm9ybWFu
Y2UuaCIKKyNlbmRpZgogI2lmIFVTRShKU0MpCiAjaW5jbHVkZSAiSlNET01CaW5kaW5nLmgiCiAj
aW5jbHVkZSAiSlNET01XaW5kb3cuaCIKQEAgLTcyNiw2ICs3MzAsNyBAQCB2b2lkIFhNTEh0dHBS
ZXF1ZXN0OjpjcmVhdGVSZXF1ZXN0KEV4Y2VwdGlvbkNvZGUmIGVjKQogCiAgICAgaWYgKG1fcmVx
dWVzdEhlYWRlcnMuc2l6ZSgpID4gMCkKICAgICAgICAgcmVxdWVzdC5hZGRIVFRQSGVhZGVyRmll
bGRzKG1fcmVxdWVzdEhlYWRlcnMpOworICAgIG1fb3JpZ2luYWxSZXF1ZXN0ID0gcmVxdWVzdDsK
IAogICAgIFRocmVhZGFibGVMb2FkZXJPcHRpb25zIG9wdGlvbnM7CiAgICAgb3B0aW9ucy5zZW5k
TG9hZENhbGxiYWNrcyA9IFNlbmRDYWxsYmFja3M7CkBAIC0xMDYyLDcgKzEwNjcsNyBAQCB2b2lk
IFhNTEh0dHBSZXF1ZXN0OjpkaWRGYWlsUmVkaXJlY3RDaGVjaygpCiAgICAgbmV0d29ya0Vycm9y
KCk7CiB9CiAKLXZvaWQgWE1MSHR0cFJlcXVlc3Q6OmRpZEZpbmlzaExvYWRpbmcodW5zaWduZWQg
bG9uZyBpZGVudGlmaWVyLCBkb3VibGUpCit2b2lkIFhNTEh0dHBSZXF1ZXN0OjpkaWRGaW5pc2hM
b2FkaW5nKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgZG91YmxlIGZpbmlzaFRpbWUpCiB7CiAg
ICAgaWYgKG1fZXJyb3IpCiAgICAgICAgIHJldHVybjsKQEAgLTEwNzcsNiArMTA4MiwxMiBAQCB2
b2lkIFhNTEh0dHBSZXF1ZXN0OjpkaWRGaW5pc2hMb2FkaW5nKHVuc2lnbmVkIGxvbmcgaWRlbnRp
ZmllciwgZG91YmxlKQogCiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpyZXNvdXJjZVJl
dHJpZXZlZEJ5WE1MSHR0cFJlcXVlc3Qoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBpZGVudGlm
aWVyLCBtX3Jlc3BvbnNlQnVpbGRlci50b1N0cmluZ1ByZXNlcnZlQ2FwYWNpdHkoKSwgbV91cmws
IG1fbGFzdFNlbmRVUkwsIG1fbGFzdFNlbmRMaW5lTnVtYmVyKTsKIAorI2lmIEVOQUJMRShSRVNP
VVJDRV9USU1JTkcpCisgICAgZG9jdW1lbnQoKS0+ZG9tV2luZG93KCktPnBlcmZvcm1hbmNlKCkt
PmFkZFJlc291cmNlVGltaW5nKCJYTUxIdHRwUmVxdWVzdCIsIG1fb3JpZ2luYWxSZXF1ZXN0LCBt
X3Jlc3BvbnNlLCBmaW5pc2hUaW1lLCBkb2N1bWVudCgpKTsKKyNlbHNlCisgICAgVU5VU0VEX1BB
UkFNKGZpbmlzaFRpbWUpOworI2VuZGlmCisKICAgICBib29sIGhhZExvYWRlciA9IG1fbG9hZGVy
OwogICAgIG1fbG9hZGVyID0gMDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hN
TEh0dHBSZXF1ZXN0LmggYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuaAppbmRl
eCA2MDY0MjhiNzZjNzE2NDBjZDBjODE3YzMxOGU5ODVjYWIyZmY0ODJjLi4zNWM0ZGM1MWFkODE2
YmE0ZTI2NTgwY2UxNGUyY2ExOGYzMjYxOGQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94
bWwvWE1MSHR0cFJlcXVlc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVl
c3QuaApAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNpbmNsdWRl
ICJFdmVudFRhcmdldC5oIgogI2luY2x1ZGUgIkZvcm1EYXRhLmgiCisjaW5jbHVkZSAiUmVzb3Vy
Y2VSZXF1ZXN0LmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VSZXNwb25zZS5oIgogI2luY2x1ZGUgIlNl
Y3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVkZSAiVGhyZWFkYWJsZUxvYWRlckNsaWVudC5oIgpAQCAt
MzksNyArNDAsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBCbG9iOwogY2xhc3MgRG9j
dW1lbnQ7CiBjbGFzcyBET01Gb3JtRGF0YTsKLWNsYXNzIFJlc291cmNlUmVxdWVzdDsKIGNsYXNz
IFNlY3VyaXR5T3JpZ2luOwogY2xhc3MgU2hhcmVkQnVmZmVyOwogY2xhc3MgVGV4dFJlc291cmNl
RGVjb2RlcjsKQEAgLTE5NCw2ICsxOTQsNyBAQCBwcml2YXRlOgogICAgIFJlZlB0cjxUaHJlYWRh
YmxlTG9hZGVyPiBtX2xvYWRlcjsKICAgICBTdGF0ZSBtX3N0YXRlOwogCisgICAgUmVzb3VyY2VS
ZXF1ZXN0IG1fb3JpZ2luYWxSZXF1ZXN0OwogICAgIFJlc291cmNlUmVzcG9uc2UgbV9yZXNwb25z
ZTsKICAgICBTdHJpbmcgbV9yZXNwb25zZUVuY29kaW5nOwogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNTAwNWY2Y2M5YmEx
YjdjYTBjYTNkNDhiM2UwNDQ3ODM4MWUyMTM1OS4uMDdjNjBhYzkwMDM1YmZkZTk5ODAzNDBmOTAw
MGFmZWM2OGI3ZDllNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDEyLTA3LTEzICBKYW1lcyBT
aW1vbnNlbiAgPHNpbW9uamFtQGNocm9taXVtLm9yZz4KKworICAgICAgICBbUmVzb3VyY2UgVGlt
aW5nXSBFeHBvc2UgdGltaW5nIGluZm9ybWF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NDg4MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIE1ha2VzIGFsbCBvZiB0aGUgcmVsZXZhbnQgZWxlbWVudHMg
cG9wdWxhdGUgdGhlIFJlc291cmNlIFRpbWluZyBidWZmZXIuCisKKyAgICAgICAgVGhlIGJ1ZmZl
ciB3aWxsIHN0aWxsIGJlIHBvcHVsYXRlZCBldmVuIGlmIHRoZSBuZXR3b3JrIGxheWVyIHByb3Zp
ZGVzCisgICAgICAgIG5vIHRpbWluZy4gVGhpcyBhbGxvd3MgdXMgdG8gdGVzdCB3aXRoIERSVC4K
KworICAgICAgICBUaGUgdGVzdHMgYXJlIHdyaXR0ZW4gaW4gVzNDIHN0eWxlIGFuZCB3aWxsIGJl
IHVwc3RyZWFtZWQgc29vbi4KKworICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVz
b3VyY2VzL0FoZW0udHRmOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJm
L3Jlc291cmNlcy9hbGxfcmVzb3VyY2VfdHlwZXMuaHRtOiBBZGRlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9ibGFua19pbWFnZS5wbmc6IEFkZGVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2VtcHR5X3NjcmlwdC5qczog
QWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJh
dGVfcmVzb3VyY2UucGhwOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJm
L3Jlc291cmNlcy9ncmF5X2JnLmNzczogQWRkZWQuCisgICAgICAgIChib2R5KToKKyAgICAgICAg
KiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9pbmplY3RfcmVzb3VyY2VfdGVzdC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9u
ZXN0ZWQuY3NzOiBBZGRlZC4KKyAgICAgICAgKEBmb250LWZhY2UpOgorICAgICAgICAob2wpOgor
ICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFy
bmVzcy5qczoKKyAgICAgICAgKHRlc3RfZ3JlYXRlcl9vcl9lcXVhbHMpOgorICAgICAgICAodGVz
dF9mYWlsKToKKyAgICAgICAgKHRlc3RfcmVzb3VyY2VfZW50cmllcyk6CisgICAgICAgICogaHR0
cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3Rf
cmVzb3VyY2VfYXR0cmlidXRlX29yZGVyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
aHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rl
c3RfcmVzb3VyY2VfYXR0cmlidXRlX29yZGVyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAv
dGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jl
c291cmNlX2R5bmFtaWNfaW5zZXJ0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
aHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rl
c3RfcmVzb3VyY2VfZHluYW1pY19pbnNlcnRpb24uaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0
cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3Rf
cmVzb3VyY2VfaW5pdGlhdG9yX3R5cGVzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
aHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rl
c3RfcmVzb3VyY2VfaW5pdGlhdG9yX3R5cGVzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAv
dGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jl
c291cmNlX3JlZGlyZWN0cy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVz
dHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291
cmNlX3JlZGlyZWN0cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJw
ZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9zY3JpcHRf
dHlwZXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJw
ZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9zY3JpcHRf
dHlwZXMuaHRtbDogQWRkZWQuCisKIDIwMTItMDctMTMgIFJheW1vbmQgVG95ICA8cnRveUBnb29n
bGUuY29tPgogCiAgICAgICAgIERlbGF5Tm9kZSBkb2Vzbid0IHdvcmsgaWYgZGVsYXlUaW1lLnZh
bHVlID09IGRlbGF5VGltZS5tYXhWYWx1ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvQWhlbS50dGYgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9BaGVtLnR0ZgpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hYzgxY2IwMzE2
NWFiODMxYTM2YWJiNTkxNDVmZjdhMmY1Njc1ZmI5CkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAx
MjQ4MAp6Y21lSE5aRm0mYjZAS1NxWEZxYD9WI0o4X1d7WigzMjc7QyVyTn5GNU5EK31CcU5VMHZK
SU15S3lLIzQ4ZiZ4V3IKeilrZ1UhVDgmQzZCNyVZPDNSKG44NWZLNFZzaXRUVm1vIT5VWkImWTJl
R3BqUkozQTIrK2RxQiRWTFArVz8ze2I8Cnp5PVR0Nz1iZH1jP3p+VXtfJVJiMmBkKDdqcihlVV5R
TF9NTDBKVzFWcU1fT0B5WWZjPnR7VDhkUkUzaFlJMGFzeQp6P0BIRl5STWt3YXlsN1F3SHgwQV4x
PnVNcDNoIURwcmFTQV9eWHdtPyF0Sy1aREllaDNHWklaVEpSPmxqX0x+NSQKenhoN3JfNV9NKz1m
dWQ2QytNfVV7VDZgKylFOFc7JCM2blNYTSVPI20wS05NMXsqbF52R0JzPUc+NVZgIWA+V2pgCnpl
T0U5bkAwM2ZjdUlAN0VBaVA9fEhDUHFEYFUtajdjK1Q+UmZYbzFgTyVwNj9QXkZkIWApTUxHZlp0
WW9lb0lUbwp6OXx0WVhMM3Ijd1UjO2l1d0tpb2dUb2wlO15heWpaU0xKIzFRIzVMIWF+JCVSMnxT
KHlHMTRtVj4rKkFsMTRBSjgKenNrUlJTVExxTmRBKnxEYzwqQmVkPDIrP09sd0xaZ0dZMVheelRG
cyprOH0zYU44MmstY1dTdHtzNntZVHBNMmd+CnpgMDg0dGE1MmRxOWFwPH0hWD97TmdVKXJ5ZlNh
cUFUIVZhRS12ajdgJmdnPDE8UlQ5enAoez5DS0cqVllJMjhwcgp6NGMmMSVkZis8e0NgMXQ3TU5n
YzhCQWtne18jViF9KzMxYVBQPmVxNGl4VHcxeGl9QnNNfVBiUDE4X2JEOylmVzcKekE3TDtxO0pQ
KnghIVI3QnhEWEBvVn5vVF83PUBvO0clbSYlVCFPSzw2eXMyYUB3Zn5WYTUqTzgzUzVid1ZpSkNh
Cnp0OGdfWSk4NyF2UUdxWl9SSDZ6SVJBVU9SS0BGbWFBJnkjSGl2KkhMcCReeGY5dTFnXj52MDM3
YWJLQiVwTDRsPQp6NkYxQH1gfm8tUUUmTEw8Ozh4cyp4QTd9OTsoZ3FYSko1eiVfeV5pQzgqfWd1
LW9AWTBqSzU8cGV2UXtLNHxuMSYKenswNFg5Sl5UcUQ7OG9tJUNacmpxYCoxKHo8N0s+cEtWdWko
eitkb05FV3EjWkFyQGpNVEpab3tASy1BJGQkMCh2CnpWPmtCVktgaDJZU2MwV143Pns1WG1nNy04
I3heVlBJOUIyYkpjKDZVamk+TjVldmRWSDI1WWc3SkV1LUdmVWBBKAp6UVM4aHAlc0BzZFFPY0FD
V3VFJGl4PW5wY3lHd2dTVGQhPnRJaWptNTVJc2F0NnA2bEtwZVFYMjc4Vjg3cGJfajYKeiVuS0Yt
ZGohdThqdG91P24hKXtOWX5RRDVHUEVsZyh9bEQqJmEkX0tfVEQoby1idGRIPXFgazFAQkE7PiVN
RzZUCnpnfXR6NDUxQ0JuP015M28qYyZzYEc3fmN3MDd1JCs0bkFfJDtuJDlJLUo1Q0kxaGxNZ1M9
WHxyPD8pdUtFZXJOTwp6eVo1bmxZa0VnfG16PH5jX1ZrQUlMK1FyIXQjNXR5WDN3MERZfX04TWJA
R3M0bWdqTkQoY3xSZiNkYiNGI04lR1oKelFSM2hNTSowcyNMbkNvOG0rYHpDbn45MDFoPn1AJjBi
N1pUSW1GMiMmaUB1LXBiNld0NEtFU31fYzMtNEdVXmhLCnp3LWI+fGlPSSFgPTVqbGw4O0g7cVJ6
Jjkkc21+S3hQZ3JyUyFiV1QmP3k4QzFEYTdxSE1EOUZkeDBkTFkqaTh8PQp6NjEjc1NkWiFZPCpB
dSVwNUpgNzMoJGcmakthMXl4cyNVfjc3OCZiXmxDPjd6VU1GNVIpN1NTTGx3PD8kcHlXVEkKekw/
KXVsQmVpUVohOE9iY29TUiNpZHEhYnk7ZEolR0JYZzdrTSsySFQrJWxhajRreXlpbCh8US1RSzht
JHhFbXtGCnpDaHBZOVVsN2lgSUdBdnIyV0tzQykmZ2dMYVE0UDtJNEB3PCFUcStSQE1MU3grM01z
Vio/JSRyWExBc1NgXjBzJQp6I21QT0xvWlFLfm8hP140P0A7R0FffUE8WS0qNjcle057SzUyWGcp
Y2I4O3t6MlhrXlRDa0p6S0ZlZUI1SCNyIXsKekMmKyQrV0MjckEreHsjMD8oO2duYkRoV2NtQER7
KFlDR1NVemwjSGtzXmxtPWwtfGxmV3UhN2UyYGRSQHJaUVdaCnp1UGpzNkN8aV9mckImSWQ5OTA4
cWYhYSYkdWE+SWcpWDhkMG91KVJiUDNqVkx3WW97JnNpeEktXl5vUyNeMGw1Pwp6S1cmSU1Nd19I
ZihIZ1d7XyNTKGF3bz09bT9hKzQ5KEAlNj0mKG5vb3RQaiNoPUBhI15wM3JDTnYtU0Q8R0pURHsK
ek1RXyR5Xj9td0xTSE0tXj5nRFMxRHNfIT5PP0pneChfRD9OQ2Y1P3pZUyQqJFBGTEYxP21BPzZq
Q2BZfihhI3VTCnpqND50fFE7WWBWN1VNMnNrK0lVKVZDKm48OCpSb1hacno+ZDdWY3ZBQW9uUXVN
MGNlLTwtVzsxKlMpfn5zQyV0QAp6dDl6SUc5cnUwQEplQHQ9SiFnM2FASDRfUS1jIzxXXn5+X3g7
a25RQXU7KiNkWDN3amg3U0QmQyEoTn1hbzQzZSYKem9fQ21jdG9KSCFqclYlKlpRaUBSaUBpXkpI
K288OD8oeDN3e25UZ3B5ODQyP3pQYGJ9KFlgQnY1I00jYm58PD9xCnozdzxrbT53VmpPWn17SHo5
cV9DRTlEZmdnWn5zOTVOZEUrWCpxYHZ2XncwTHNfYj5DV0BvKGByYCY8M3t7Nl88VQp6S3RaNWFw
bnNxPUZmSzRUNURRRVRHek9YaU85SEN7bip1dW49fEZxblAkeTVQezd5WVBePHlAMG5zViROe1F7
UD0KemhYUmslUUJ1KWFTel94bzJ4WVlgPnVsMyglUCE8QWR1LVhEZSFxT1d0bTc1c2tTIX5HJWV+
RShSaytvY1kqfEImCnorSEFgQCtxYDRURjhJfEJFfXVkRCRGQEYpXjFwMDNtdiVuMDx2aSRgJURx
aklUcz51aFg0bz52cUEjeyhqenhkZQp6bU5eIUV0dTFwYmBmZ2sxU29Cc349Mi1Na1o4LS1YbTs0
YDcrUnNJMm0mY2Ejc0x2LU9DVHtVcTFpMXdmdko0VkQKekU2NUhvRXE7cnpHJHNUITUkWGliRDhH
fkI1WSpYcXkpQTc2ZHpvWXhxKnk4PD9gOX49YihTNHpCU3pNT0FnOEM2CnpyKSp6T1l0X35yckw3
MmtzSFprV1N6M3YpVW11SG1iRjNgTFpiLTE1eW5CWik8eUhAcT8xcE9nRzA2PVFXYmBCewp6UnIy
MDdFTEV+YyFzPW1DcFIoRmp2MFB6VWwzYSkrYnk2UnYxP2tJRnREUEtXKHl9KyF4QCh5QnEtU3l6
PCFtRiEKejlnNEZnJU9tSlRnc3IzcEA/T1g4blZxcldXRXohR1UmZU0oK0wxRntPOyVIcXhebH5V
Sj5fZylJcSUyKEVhb2dxCno4JlJeQU90TyZWbX1HPHxTZ29iIVMrN2d6WCRoQCR3Qz1jbWVMSzdN
Vik5cjtNSUA5NlJpdztCUWlLd3dOSlVJeAp6TW4mQDRJK2w3MXYhVE1RT15Lb2xoZ1FfM09jOUVP
TVgpeTVUaHZGWUQ8VUVwaVB3dXp2Y2ltfGBoLXBFRGs+QjQKenNBWikqbHIoRnFWYGowcUVOTkVP
KXJpVj9MWnItT3N5YkZCRCZrU0hYc2M3ekB0ODxYT3tVQ2Z2Ukk1dyNLVXpKCnpXPn1PQDczMVVL
dW93fUZCd31WRittbnRCRkRueWVwPWV6cVJERVZybHFjZiNOIUhwbmktJChjPXMyXmd0fHBZMgp6
en5NO0tDQi1FfHNeeGl7dTB2KEZtUE98Jl88d3kwekliTjd7RGdIcEwyN24wJGxTb3A7c2hjWEgz
ejl3JCFfXkYKeit3dDRQYm9fNjVqeUdCeU42QiEhalUyV3thQDF5Iz1fWXhNY2FyMEZrSHJeVE5j
UCh6aS0jIXJobXc2THhyYlIrCnoqOz15VnAwZ05tK25BcmRoI2gjejt5M09qXllKeHVBfD1vOWIm
S2hebzFEciRXSypXZVhfUEYtSHU1Rmt3PlhwXgp6a2FfbkpfVGl0e2tCYGFuS1pzQVB4Smg+N0km
JFM2Q2E+KiZpfDRyNlZtZHhnTSYyZn1AME9FbXd9QXx9Xjw+UjgKemshZzE/eHB3byZ1YmdBQ0ZQ
RDt3X2JPUiomeXE+NkQhTS1BdmVCY31rPmo8fTNyRXdzWDBoXmZwcGVnfmVHVSFICkJjQGg4cwoK
bGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvYWxsX3Jlc291cmNlX3R5cGVzLmh0bSBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2FsbF9yZXNvdXJjZV90eXBlcy5o
dG0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZTBjZjBiNjM0YjgxNmFjYmRhNjcyNTZhNjQwYzQxYjEzM2VlZDhhMgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVz
b3VyY2VzL2FsbF9yZXNvdXJjZV90eXBlcy5odG0KQEAgLTAsMCArMSw0MSBAQAorPCFET0NUWVBF
IEhUTUw+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgY29udGVudD0idGV4dC9o
dG1sOyBjaGFyc2V0PXV0Zi04IiBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIC8+CisgICAgICAg
IDx0aXRsZT5BbGwgUmVzb3VyY2UgVHlwZXMgVGVzdCBQYWdlPC90aXRsZT4KKyAgICA8L2hlYWQ+
CisgICAgPGJvZHk+CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICBpZiAod2luZG93LnBh
cmVudC5oYXNPd25Qcm9wZXJ0eSgnb25fdGVzdF9ib2R5X2NyZWF0ZWQnKSkKKyAgICAgICAgICAg
ICAgICB3aW5kb3cucGFyZW50Lm9uX3Rlc3RfYm9keV9jcmVhdGVkKCk7CisgICAgICAgIDwvc2Ny
aXB0PgorICAgICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Im5lc3RlZC5jc3MiPjwv
bGluaz4KKyAgICAgICAgPGltZyBzcmM9ImJsYW5rX2ltYWdlLnBuZyI+PC9pbWc+CisgICAgICAg
IDxpZnJhbWUgc3JjPSJibGFua19wYWdlX2dyZWVuLmh0bSIgd2lkdGg9IjEwMHB4IiBoZWlnaHQ9
IjEwMHB4Ij48L2lmcmFtZT4KKyAgICAgICAgPHNjcmlwdCBzcmM9ImVtcHR5X3NjcmlwdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICB2YXIgeGhyID0gbmV3IFhN
TEh0dHBSZXF1ZXN0OworICAgICAgICAgICAgeGhyLm9wZW4oIkdFVCIsICJibGFua19wYWdlX3ll
bGxvdy5odG0iLCBmYWxzZSk7CisgICAgICAgICAgICB4aHIuc2VuZCgpOworICAgICAgICA8L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgQGZvbnQtZmFjZSB7CisgICAgICAg
ICAgICAgICAgZm9udC1mYW1pbHk6IHJlbW90ZUZvbnQ7CisgICAgICAgICAgICAgICAgc3JjOiB1
cmwoJ0FoZW0udHRmJyk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZnJhbWUgeworICAg
ICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9
aW1hZ2UmaWQ9MScpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgdWwgeworICAgICAgICAg
ICAgICAgIGZvbnQtZmFtaWx5OiByZW1vdGVGb250OworICAgICAgICAgICAgICAgIGxpc3Qtc3R5
bGUtaW1hZ2U6IHVybCgnZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9aW1hZ2UmaWQ9MicpOwor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgICAgICA8dWw+CisgICAgICAgICAg
ICA8bGk+VGVzdDwvbGk+CisgICAgICAgIDwvdWw+CisgICAgICAgIDxvbD4KKyAgICAgICAgICAg
IDxsaT5UZXN0PC9saT4KKyAgICAgICAgPC9vbD4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9ibGFu
a19pbWFnZS5wbmcgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNl
cy9ibGFua19pbWFnZS5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2NmN2E2Y2EwNWJmZmM5MzA1YzhkZWJjYmMy
OWVmMGQxYTVjN2I3NApHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMTAzCnpjbWVBU0BOPyhvbEh5
YHVWQnEhaWEwdnBeajNDVXgxU0JWdjJqMnM2aWk2eXA3fWxNV2M/c2xqN0k7SiFHY2ElcQp1Z0RA
ayp0VF9AdUteeypSI31KT3wkdl4pOHdgWEFlJE1vO2NuYUpscmFSeUlVS2JMaCoyfjdZU2g4Y19p
CgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9lbXB0eV9zY3JpcHQuanMgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9lbXB0eV9zY3JpcHQuanMKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMDkyYmMyYjA0MTI2MTAwODc4NTMwODg4ZTZiMWIzMDYwMmRjZTIxMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2VtcHR5
X3NjcmlwdC5qcwpAQCAtMCwwICsxIEBACis7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHAgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJj
ZS5waHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTI5Mzg3MjFjMWY4ZTZjODk3YWY0M2U2NWJlZGQyNWE0ZDY3MjBm
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYv
cmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocApAQCAtMCwwICsxLDQzIEBACis8P3BocAor
ICAkdHlwZSA9ICRfR0VUWyJ0eXBlIl07CisKKyAgJHJlc3BvbnNlX2NvZGUgPSAyMDA7CisgICRi
b2R5ID0gIiI7CisgICRjb250ZW50X3R5cGUgPSAidGV4dC9wbGFpbiI7CisKKyAgc3dpdGNoICgk
dHlwZSkgeworICBjYXNlICJjc3MiOgorICAgICAgJGJvZHkgPSBmaWxlX2dldF9jb250ZW50cygi
Z3JheV9iZy5jc3MiKTsKKyAgICAgICRjb250ZW50X3R5cGUgPSAidGV4dC9jc3MiOworICAgICAg
YnJlYWs7CisKKyAgY2FzZSAiZm9udCI6CisgICAgICAkYm9keSA9IGZpbGVfZ2V0X2NvbnRlbnRz
KCJBaGVtLnR0ZiIpOworICAgICAgJGNvbnRlbnRfdHlwZSA9ICJhcHBsaWNhdGlvbi9vY3RldC1z
dHJlYW0iOworICAgICAgYnJlYWs7CisKKyAgY2FzZSAiaWZyYW1lIjoKKyAgICAgICRib2R5ID0g
ZmlsZV9nZXRfY29udGVudHMoImJsYW5rX3BhZ2VfZ3JlZW4uaHRtIik7CisgICAgICAkY29udGVu
dF90eXBlID0gInRleHQvaHRtbCI7CisgICAgICBicmVhazsKKworICBjYXNlICJpbWFnZSI6Cisg
ICAgICAkYm9keSA9IGZpbGVfZ2V0X2NvbnRlbnRzKCJibGFua19pbWFnZS5wbmciKTsKKyAgICAg
ICRjb250ZW50X3R5cGUgPSAiaW1hZ2UvcG5nIjsKKyAgICAgIGJyZWFrOworCisgIGNhc2UgInNj
cmlwdCI6CisgICAgICAkYm9keSA9IGZpbGVfZ2V0X2NvbnRlbnRzKCJlbXB0eV9zY3JpcHQuanMi
KTsKKyAgICAgICRjb250ZW50X3R5cGUgPSAidGV4dC9qYXZhc2NyaXB0IjsKKyAgICAgIGJyZWFr
OworCisgIGRlZmF1bHQ6CisgICAgICAkcmVzcG9uc2VfY29kZSA9IDQwNDsKKyAgICAgIGJyZWFr
OworICB9CisKKyAgaGVhZGVyKCJIVFRQLzEuMSAkcmVzcG9uc2VfY29kZSIpOworICBoZWFkZXIo
IkNvbnRlbnQtdHlwZTogJGNvbnRlbnRfdHlwZSIpOworICBwcmludCgkYm9keSk7CisgIGV4aXQ7
Cis/PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNv
dXJjZXMvZ3JheV9iZy5jc3MgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jl
c291cmNlcy9ncmF5X2JnLmNzcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNzA1MTQ1ZmI4NzczNTU4YTc5NTJkYzE0
ZjE4ZmRiNDFlNGI4MjMyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ3JheV9iZy5jc3MKQEAgLTAsMCArMSBAQAorYm9keSB7
IGJhY2tncm91bmQtY29sb3I6ICNiYmJiYmI7IH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2luamVjdF9yZXNvdXJjZV90ZXN0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9pbmplY3RfcmVz
b3VyY2VfdGVzdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFmMTAwNjFjZWM4ODExMTc3ZWZlNTk4ZWI3ZjU4
MzEzODRhZTE2MzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3cz
Yy93ZWJwZXJmL3Jlc291cmNlcy9pbmplY3RfcmVzb3VyY2VfdGVzdC5odG1sCkBAIC0wLDAgKzEs
MyBAQAorPHNjcmlwdD4KK3dpbmRvdy5wYXJlbnQuc2V0dXBfaWZyYW1lKCk7Cis8L3NjcmlwdD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVzb3VyY2Vz
L25lc3RlZC5jc3MgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNl
cy9uZXN0ZWQuY3NzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJmNTA2NWY4NmVhY2FhYzQwZTRlZTIwZDVhYTBmM2Zh
NzhjMjMzNzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93
ZWJwZXJmL3Jlc291cmNlcy9uZXN0ZWQuY3NzCkBAIC0wLDAgKzEsMTAgQEAKK0BpbXBvcnQgImdl
bmVyYXRlX3Jlc291cmNlLnBocD90eXBlPWNzcyZpZD1uMSI7CisKK0Bmb250LWZhY2UgeworICAg
IGZvbnQtZmFtaWx5OiByZW1vdGVGb250OworICAgIHNyYzogdXJsKCdnZW5lcmF0ZV9yZXNvdXJj
ZS5waHA/dHlwZT1mb250JmlkPW4xJyk7Cit9CitvbCB7CisgICAgZm9udC1mYW1pbHk6IHJlbW90
ZUZvbnQ7CisgICAgbGlzdC1zdHlsZS1pbWFnZTogdXJsKCdnZW5lcmF0ZV9yZXNvdXJjZS5waHA/
dHlwZT1pbWFnZSZpZD1uMScpOworfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpzIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpz
CmluZGV4IGE2MzhlZWRkYjMyNjRhYmU1ZWUyYjBlZDNmZGU4OTY5ZGI2MWFiNjEuLjY2YTA0OWM3
MDExOGI2MGEyMGNjNDFhNzhiOTM2N2VhOWE1YWVlZWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVzcy5qcwor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy93ZWJwZXJm
dGVzdGhhcm5lc3MuanMKQEAgLTE1MCw3ICsxNTAsNjMgQEAgZnVuY3Rpb24gdGVzdF9ncmVhdGVy
X3RoYW4odmFsdWUsIGdyZWF0ZXJfdGhhbiwgbXNnLCBwcm9wZXJ0aWVzKQogICAgIHdwX3Rlc3Qo
ZnVuY3Rpb24gKCkgeyBhc3NlcnRfdHJ1ZSh2YWx1ZSA+IGdyZWF0ZXJfdGhhbiwgbXNnKTsgfSwg
bXNnLCBwcm9wZXJ0aWVzKTsKIH0KIAorZnVuY3Rpb24gdGVzdF9ncmVhdGVyX29yX2VxdWFscyh2
YWx1ZSwgZ3JlYXRlcl90aGFuLCBtc2csIHByb3BlcnRpZXMpCit7CisgICAgd3BfdGVzdChmdW5j
dGlvbiAoKSB7IGFzc2VydF90cnVlKHZhbHVlID49IGdyZWF0ZXJfdGhhbiwgbXNnKTsgfSwgbXNn
LCBwcm9wZXJ0aWVzKTsKK30KKwogZnVuY3Rpb24gdGVzdF9ub3RfZXF1YWxzKHZhbHVlLCBub3Rl
cXVhbHMsIG1zZywgcHJvcGVydGllcykKIHsKICAgICB3cF90ZXN0KGZ1bmN0aW9uKCkgeyBhc3Nl
cnRfdHJ1ZSh2YWx1ZSAhPT0gbm90ZXF1YWxzLCBtc2cpOyB9LCBtc2csIHByb3BlcnRpZXMpOwog
fQorCitmdW5jdGlvbiB0ZXN0X2NvbnRhaW5zKG5lZWRsZSwgaGF5c3RhY2ssIG1zZywgcHJvcGVy
dGllcykKK3sKKyAgICB3cF90ZXN0KGZ1bmN0aW9uKCkgeyBhc3NlcnRfdHJ1ZShuZWVkbGUgaW4g
aGF5c3RhY2ssIG1zZyk7IH0sIG1zZywgcHJvcGVydGllcyk7Cit9CisKK2Z1bmN0aW9uIHRlc3Rf
ZmFpbChtc2csIHByb3BlcnRpZXMpCit7CisgICAgd3BfdGVzdChmdW5jdGlvbigpIHsgYXNzZXJ0
X3VucmVhY2hlZCgpOyB9LCBtc2csIHByb3BlcnRpZXMpOworfQorCitmdW5jdGlvbiB0ZXN0X3Jl
c291cmNlX2VudHJpZXMoZW50cmllcywgZXhwZWN0ZWRfZW50cmllcykKK3sKKyAgICAvLyBUaGlz
IGlzIHNsaWdodGx5IGNvbnZvbHV0ZWQgc28gdGhhdCB3ZSBjYW4gc29ydCB0aGUgb3V0cHV0Lgor
ICAgIHZhciBhY3R1YWxfZW50cmllcyA9IHt9OworCisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBl
bnRyaWVzLmxlbmd0aDsgKytpKSB7CisgICAgICAgIHZhciBlbnRyeSA9IGVudHJpZXNbaV07Cisg
ICAgICAgIHZhciBmb3VuZCA9IGZhbHNlOworICAgICAgICBmb3IgKHZhciBleHBlY3RlZF9lbnRy
eSBpbiBleHBlY3RlZF9lbnRyaWVzKSB7CisgICAgICAgICAgICBpZiAoZW50cnkubmFtZSA9PSB3
aW5kb3cubG9jYXRpb24ub3JpZ2luICsgZXhwZWN0ZWRfZW50cnkpIHsKKyAgICAgICAgICAgICAg
ICBmb3VuZCA9IHRydWU7CisgICAgICAgICAgICAgICAgaWYgKGV4cGVjdGVkX2VudHJ5IGluIGFj
dHVhbF9lbnRyaWVzKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RfZmFpbChleHBlY3RlZF9l
bnRyeSArICcgaXMgbm90IGV4cGVjdGVkIHRvIGhhdmUgZHVwbGljYXRlIGVudHJpZXMnKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgYWN0dWFsX2VudHJpZXNbZXhwZWN0ZWRf
ZW50cnldID0gZW50cnk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9Cisg
ICAgICAgIH0KKyAgICAgICAgaWYgKCFmb3VuZCkgeworICAgICAgICAgICAgdGVzdF9mYWlsKGVu
dHJpZXNbaV0ubmFtZSArICcgaXMgbm90IGV4cGVjdGVkIHRvIGJlIGluIHRoZSBSZXNvdXJjZSBU
aW1pbmcgYnVmZmVyJyk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBzb3J0ZWRfdXJscyA9IFtd
OworICAgIGZvciAodmFyIGkgaW4gYWN0dWFsX2VudHJpZXMpIHsKKyAgICAgICAgc29ydGVkX3Vy
bHMucHVzaChpKTsKKyAgICB9CisgICAgc29ydGVkX3VybHMuc29ydCgpOworICAgIGZvciAodmFy
IGkgaW4gc29ydGVkX3VybHMpIHsKKyAgICAgICAgdmFyIHVybCA9IHNvcnRlZF91cmxzW2ldOwor
ICAgICAgICB0ZXN0X2VxdWFscyhhY3R1YWxfZW50cmllc1t1cmxdLmluaXRpYXRvclR5cGUsCisg
ICAgICAgICAgICAgICAgICAgIGV4cGVjdGVkX2VudHJpZXNbdXJsXSwKKyAgICAgICAgICAgICAg
ICAgICAgdXJsICsgJyBpcyBleHBlY3RlZCB0byBoYXZlIGluaXRpYXRvclR5cGUgJyArIGV4cGVj
dGVkX2VudHJpZXNbdXJsXSk7CisgICAgfQorICAgIGZvciAodmFyIGogaW4gZXhwZWN0ZWRfZW50
cmllcykgeworICAgICAgICBpZiAoIShqIGluIGFjdHVhbF9lbnRyaWVzKSkgeworICAgICAgICAg
ICAgdGVzdF9mYWlsKGogKyAnIGlzIGV4cGVjdGVkIHRvIGJlIGluIHRoZSBSZXNvdXJjZSBUaW1p
bmcgYnVmZmVyJyk7CisgICAgICAgIH0KKyAgICB9Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwv
dGVzdF9yZXNvdXJjZV9hdHRyaWJ1dGVfb3JkZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rl
c3RfcmVzb3VyY2VfYXR0cmlidXRlX29yZGVyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40OGE2
ZjQyYzYyMzJkOWQ3OWFiMzNiZmNjMGJlOTk2OWFlYzc2NjFkCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRp
bWluZy9odG1sL3Rlc3RfcmVzb3VyY2VfYXR0cmlidXRlX29yZGVyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDE4IEBACitEZXNjcmlwdGlvbgorCitUaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQgYWxs
IG9mIHRoZSBpbml0aWF0b3IgdHlwZXMgYXJlIHJlcHJlc2VudGVkLgorCisKKworUEFTUyBPbmx5
IDEgUGVyZm9ybWFuY2VFbnRyeSBzaG91bGQgbWF0Y2ggCitQQVNTIHJlZGlyZWN0U3RhcnQgc2hv
dWxkIGJlIDAgCitQQVNTIHJlZGlyZWN0RW5kIHNob3VsZCBiZSAwIAorRkFJTCBmZXRjaFN0YXJ0
IHNob3VsZCBiZSBub24temVybyBhc3NlcnRfdHJ1ZTogZmV0Y2hTdGFydCBzaG91bGQgYmUgbm9u
LXplcm8gZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK1BBU1MgZG9tYWluTG9va3VwU3RhcnQgc2hv
dWxkIGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byBmZXRjaFN0YXJ0IAorUEFTUyBkb21haW5M
b29rdXBFbmQgc2hvdWxkIGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byBkb21haW5Mb29rdXBT
dGFydCAKK1BBU1MgY29ubmVjdFN0YXJ0IHNob3VsZCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwg
dG8gZG9tYWluTG9va3VwRW5kIAorUEFTUyBjb25uZWN0RW5kIHNob3VsZCBiZSBncmVhdGVyIHRo
YW4gb3IgZXF1YWwgdG8gY29ubmVjdFN0YXJ0IAorUEFTUyByZXF1ZXN0U3RhcnQgc2hvdWxkIGJl
IGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byBjb25uZWN0RW5kIAorUEFTUyByZXNwb25zZVN0YXJ0
IHNob3VsZCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gcmVxdWVzdFN0YXJ0IAorUEFTUyBy
ZXNwb25zZUVuZCBzaG91bGQgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIHJlc3BvbnNlU3Rh
cnQgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3Vi
bWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX2F0dHJpYnV0ZV9vcmRl
ci5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jl
c291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2VfYXR0cmlidXRlX29yZGVyLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODMwZDMyM2YyNzNlMTk2Njg5YmQ0ZWNlMTYxMjEzOGE5MDEyYTNiNwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lv
bi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX2F0dHJpYnV0ZV9vcmRlci5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IGNoYXJzZXQ9InV0Zi04IiAvPgorPHRpdGxlPlJlc291cmNlIFRpbWluZyBhdHRyaWJ1dGUgb3Jk
ZXI8L3RpdGxlPgorPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJHb29nbGUiIGhyZWY9Imh0dHA6
Ly93d3cuZ29vZ2xlLmNvbS8iIC8+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6Ly93d3cu
dzMub3JnL1RSL3Jlc291cmNlLXRpbWluZy8jcGVyZm9ybWFuY2VyZXNvdXJjZXRpbWluZyIvPgor
PHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHNldHVwX2lmcmFtZSgpIHsKKyAgICBp
ZnJhbWUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZnJhbWVDb250ZXh0Jyk7CisgICAgdmFy
IGQgPSBpZnJhbWUuY29udGVudFdpbmRvdy5kb2N1bWVudDsKKyAgICB2YXIgYm9keSA9IGQuY3Jl
YXRlRWxlbWVudCgnYm9keScpOworICAgIGQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2h0bWwnKVsw
XS5hcHBlbmRDaGlsZChib2R5KTsKKworICAgIHZhciBpbWFnZSA9IGQuY3JlYXRlRWxlbWVudCgn
aW1nJyk7CisgICAgaW1hZ2Uuc3JjID0gJy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVf
cmVzb3VyY2UucGhwP3R5cGU9aW1hZ2UnOworICAgIGJvZHkuYXBwZW5kQ2hpbGQoaW1hZ2UpOwor
fQorZnVuY3Rpb24gb25sb2FkX3Rlc3QoKSB7CisgICAgdmFyIGVudHJpZXMgPSBpZnJhbWUuY29u
dGVudFdpbmRvdy5wZXJmb3JtYW5jZS53ZWJraXRHZXRFbnRyaWVzQnlOYW1lKHdpbmRvdy5sb2Nh
dGlvbi5vcmlnaW4gKyAnL3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5w
aHA/dHlwZT1pbWFnZScpOworICAgIHRlc3RfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAxLCAnT25s
eSAxIFBlcmZvcm1hbmNlRW50cnkgc2hvdWxkIG1hdGNoJyk7CisgICAgdmFyIGVudHJ5ID0gZW50
cmllc1swXTsKKworICAgIHRlc3RfZXF1YWxzKGVudHJ5LnJlZGlyZWN0U3RhcnQsIDAsICJyZWRp
cmVjdFN0YXJ0IHNob3VsZCBiZSAwIik7CisgICAgdGVzdF9lcXVhbHMoZW50cnkucmVkaXJlY3RF
bmQsIDAsICJyZWRpcmVjdEVuZCBzaG91bGQgYmUgMCIpOworICAgIHRlc3RfZ3JlYXRlcl90aGFu
KGVudHJ5LmZldGNoU3RhcnQsIDAsICJmZXRjaFN0YXJ0IHNob3VsZCBiZSBub24temVybyIpOwor
ICAgIHRlc3RfZ3JlYXRlcl9vcl9lcXVhbHMoZW50cnkuZG9tYWluTG9va3VwU3RhcnQsIGVudHJ5
LmZldGNoU3RhcnQsICJkb21haW5Mb29rdXBTdGFydCBzaG91bGQgYmUgZ3JlYXRlciB0aGFuIG9y
IGVxdWFsIHRvIGZldGNoU3RhcnQiKTsKKyAgICB0ZXN0X2dyZWF0ZXJfb3JfZXF1YWxzKGVudHJ5
LmRvbWFpbkxvb2t1cEVuZCwgZW50cnkuZG9tYWluTG9va3VwU3RhcnQsICJkb21haW5Mb29rdXBF
bmQgc2hvdWxkIGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byBkb21haW5Mb29rdXBTdGFydCIp
OworICAgIHRlc3RfZ3JlYXRlcl9vcl9lcXVhbHMoZW50cnkuY29ubmVjdFN0YXJ0LCBlbnRyeS5k
b21haW5Mb29rdXBFbmQsICJjb25uZWN0U3RhcnQgc2hvdWxkIGJlIGdyZWF0ZXIgdGhhbiBvciBl
cXVhbCB0byBkb21haW5Mb29rdXBFbmQiKTsKKyAgICB0ZXN0X2dyZWF0ZXJfb3JfZXF1YWxzKGVu
dHJ5LmNvbm5lY3RFbmQsIGVudHJ5LmNvbm5lY3RTdGFydCwgImNvbm5lY3RFbmQgc2hvdWxkIGJl
IGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byBjb25uZWN0U3RhcnQiKTsKKyAgICB0ZXN0X2dyZWF0
ZXJfb3JfZXF1YWxzKGVudHJ5LnJlcXVlc3RTdGFydCwgZW50cnkuY29ubmVjdEVuZCwgInJlcXVl
c3RTdGFydCBzaG91bGQgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIGNvbm5lY3RFbmQiKTsK
KyAgICB0ZXN0X2dyZWF0ZXJfb3JfZXF1YWxzKGVudHJ5LnJlc3BvbnNlU3RhcnQsIGVudHJ5LnJl
cXVlc3RTdGFydCwgInJlc3BvbnNlU3RhcnQgc2hvdWxkIGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVh
bCB0byByZXF1ZXN0U3RhcnQiKTsKKyAgICB0ZXN0X2dyZWF0ZXJfb3JfZXF1YWxzKGVudHJ5LnJl
c3BvbnNlRW5kLCBlbnRyeS5yZXNwb25zZVN0YXJ0LCAicmVzcG9uc2VFbmQgc2hvdWxkIGJlIGdy
ZWF0ZXIgdGhhbiBvciBlcXVhbCB0byByZXNwb25zZVN0YXJ0Iik7Cit9Cis8L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPGgxPkRlc2NyaXB0aW9uPC9oMT4KKzxwPlRoaXMgdGVzdCB2YWxpZGF0
ZXMgdGhhdCBhbGwgb2YgdGhlIGluaXRpYXRvciB0eXBlcyBhcmUgcmVwcmVzZW50ZWQuPC9wPgor
PGRpdiBpZD0ibG9nIj48L2Rpdj4KKzxpZnJhbWUgaWQ9ImZyYW1lQ29udGV4dCIgb25sb2FkPSJv
bmxvYWRfdGVzdCgpOyIgc3JjPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2luamVjdF9yZXNvdXJj
ZV90ZXN0Lmh0bWwiPjwvaWZyYW1lPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWlu
Zy9odG1sL3Rlc3RfcmVzb3VyY2VfZHluYW1pY19pbnNlcnRpb24tZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWlu
Zy9odG1sL3Rlc3RfcmVzb3VyY2VfZHluYW1pY19pbnNlcnRpb24tZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjU5YzQwMGRkZGMyOTg4YTEzMTU2M2FkNDc5MjJjMjI5YTUxMjRjN2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24v
cmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9keW5hbWljX2luc2VydGlvbi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMCBAQAorRGVzY3JpcHRpb24KKworVGhpcyB0ZXN0IHZhbGlk
YXRlcyB0aGF0IGFsbCBvZiB0aGUgaW5pdGlhdG9yIHR5cGVzIGFyZSByZXByZXNlbnRlZCBldmVu
IHdoZW4gZHluYW1pY2FsbHkgaW5zZXJ0ZWQuCisKKworCitQQVNTIC93M2Mvd2VicGVyZi9yZXNv
dXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9Y3NzIGlzIGV4cGVjdGVkIHRvIGhhdmUg
aW5pdGlhdG9yVHlwZSBsaW5rIAorUEFTUyAvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRl
X3Jlc291cmNlLnBocD90eXBlPWlmcmFtZSBpcyBleHBlY3RlZCB0byBoYXZlIGluaXRpYXRvclR5
cGUgaWZyYW1lIAorUEFTUyAvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNl
LnBocD90eXBlPWltYWdlIGlzIGV4cGVjdGVkIHRvIGhhdmUgaW5pdGlhdG9yVHlwZSBpbWcgCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lv
bi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX2R5bmFtaWNfaW5zZXJ0aW9uLmh0
bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3Vy
Y2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9keW5hbWljX2luc2VydGlvbi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmJmNzMxMDg0NzFmMWUxYmZhODAzNDBkM2QyMTczNmIzZWVjYTE0ZjkKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24v
cmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9keW5hbWljX2luc2VydGlvbi5odG1s
CkBAIC0wLDAgKzEsNTIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IGNoYXJzZXQ9InV0Zi04IiAvPgorPHRpdGxlPlJlc291cmNlIFRpbWluZyBpbml0aWF0b3IgdHlw
ZXMgd2l0aCBkeW5hbWljIGluc2VydGlvbjwvdGl0bGU+Cis8bGluayByZWw9ImF1dGhvciIgdGl0
bGU9Ikdvb2dsZSIgaHJlZj0iaHR0cDovL3d3dy5nb29nbGUuY29tLyIgLz4KKzxsaW5rIHJlbD0i
aGVscCIgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvcmVzb3VyY2UtdGltaW5nLyNkb20tcGVy
Zm9ybWFuY2VyZXNvdXJjZXRpbWluZy1pbml0aWF0b3J0eXBlIi8+Cis8c2NyaXB0IHNyYz0iL3cz
Yy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii93M2Mv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
dzNjL3dlYnBlcmYvcmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0PgordmFyIGlmcmFtZTsKK2Z1bmN0aW9uIHNldHVwX2lmcmFtZSgpIHsKKyAgICBpZnJh
bWUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZnJhbWVDb250ZXh0Jyk7CisgICAgdmFyIGQg
PSBpZnJhbWUuY29udGVudFdpbmRvdy5kb2N1bWVudDsKKyAgICB2YXIgYm9keSA9IGQuY3JlYXRl
RWxlbWVudCgnYm9keScpOworICAgIGQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2h0bWwnKVswXS5h
cHBlbmRDaGlsZChib2R5KTsKKworICAgIHZhciBzdHlsZSA9IGQuY3JlYXRlRWxlbWVudCgnbGlu
aycpOworICAgIHN0eWxlLnJlbCA9ICdzdHlsZXNoZWV0JzsKKyAgICBzdHlsZS5ocmVmID0gJy93
M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9Y3NzJzsKKyAg
ICBib2R5LmFwcGVuZENoaWxkKHN0eWxlKTsKKworICAgIHZhciBpbWFnZSA9IGQuY3JlYXRlRWxl
bWVudCgnaW1nJyk7CisgICAgaW1hZ2Uuc3JjID0gJy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2Vu
ZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9aW1hZ2UnOworICAgIGJvZHkuYXBwZW5kQ2hpbGQoaW1h
Z2UpOworCisgICAgdmFyIHN1YmZyYW1lID0gZC5jcmVhdGVFbGVtZW50KCdpZnJhbWUnKTsKKyAg
ICBzdWJmcmFtZS5zcmMgPSAnL3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJj
ZS5waHA/dHlwZT1pZnJhbWUnOworICAgIGJvZHkuYXBwZW5kQ2hpbGQoc3ViZnJhbWUpOworfQor
ZnVuY3Rpb24gb25sb2FkX3Rlc3QoKSB7CisgICAgdmFyIGVudHJpZXMgPSBpZnJhbWUuY29udGVu
dFdpbmRvdy5wZXJmb3JtYW5jZS53ZWJraXRHZXRFbnRyaWVzKCk7CisKKyAgICB2YXIgZXhwZWN0
ZWRfZW50cmllcyA9IHsKKyAgICAgICAgJy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVf
cmVzb3VyY2UucGhwP3R5cGU9Y3NzJzogJ2xpbmsnLAorICAgICAgICAnL3czYy93ZWJwZXJmL3Jl
c291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1pbWFnZSc6ICdpbWcnLAorICAgICAg
ICAnL3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1pZnJh
bWUnOiAnaWZyYW1lJywKKyAgICB9OworCisgICAgdGVzdF9yZXNvdXJjZV9lbnRyaWVzKGVudHJp
ZXMsIGV4cGVjdGVkX2VudHJpZXMpOworfQord2luZG93LnNldHVwX2lmcmFtZSA9IHNldHVwX2lm
cmFtZTsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8aDE+RGVzY3JpcHRpb248L2gxPgor
PHA+VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IGFsbCBvZiB0aGUgaW5pdGlhdG9yIHR5cGVzIGFy
ZSByZXByZXNlbnRlZCBldmVuIHdoZW4gZHluYW1pY2FsbHkgaW5zZXJ0ZWQuPC9wPgorPGRpdiBp
ZD0ibG9nIj48L2Rpdj4KKzxpZnJhbWUgaWQ9ImZyYW1lQ29udGV4dCIgb25sb2FkPSJvbmxvYWRf
dGVzdCgpOyIgc3JjPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2luamVjdF9yZXNvdXJjZV90ZXN0
Lmh0bWwiPjwvaWZyYW1lPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1s
L3Rlc3RfcmVzb3VyY2VfaW5pdGlhdG9yX3R5cGVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90
ZXN0X3Jlc291cmNlX2luaXRpYXRvcl90eXBlcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjlm
OGQ2OGQzOTNiOTQ2MGRlMjhjMWZjYmYyZDY3ZThmOTAyNzc5NgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10
aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX2luaXRpYXRvcl90eXBlcy1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxOCBAQAorRGVzY3JpcHRpb24KKworVGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IGFs
bCBvZiB0aGUgaW5pdGlhdG9yIHR5cGVzIGFyZSByZXByZXNlbnRlZC4KKworCisKK1BBU1MgL3cz
Yy93ZWJwZXJmL3Jlc291cmNlcy9BaGVtLnR0ZiBpcyBleHBlY3RlZCB0byBoYXZlIGluaXRpYXRv
clR5cGUgY3NzIAorUEFTUyAvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2JsYW5rX2ltYWdlLnBuZyBp
cyBleHBlY3RlZCB0byBoYXZlIGluaXRpYXRvclR5cGUgaW1nIAorUEFTUyAvdzNjL3dlYnBlcmYv
cmVzb3VyY2VzL2JsYW5rX3BhZ2VfZ3JlZW4uaHRtIGlzIGV4cGVjdGVkIHRvIGhhdmUgaW5pdGlh
dG9yVHlwZSBpZnJhbWUgCitQQVNTIC93M2Mvd2VicGVyZi9yZXNvdXJjZXMvYmxhbmtfcGFnZV95
ZWxsb3cuaHRtIGlzIGV4cGVjdGVkIHRvIGhhdmUgaW5pdGlhdG9yVHlwZSBYTUxIdHRwUmVxdWVz
dCAKK1BBU1MgL3czYy93ZWJwZXJmL3Jlc291cmNlcy9lbXB0eV9zY3JpcHQuanMgaXMgZXhwZWN0
ZWQgdG8gaGF2ZSBpbml0aWF0b3JUeXBlIHNjcmlwdCAKK1BBU1MgL3czYy93ZWJwZXJmL3Jlc291
cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1jc3MmaWQ9bjEgaXMgZXhwZWN0ZWQgdG8g
aGF2ZSBpbml0aWF0b3JUeXBlIGNzcyAKK1BBU1MgL3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5l
cmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1mb250JmlkPW4xIGlzIGV4cGVjdGVkIHRvIGhhdmUgaW5p
dGlhdG9yVHlwZSBjc3MgCitQQVNTIC93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVz
b3VyY2UucGhwP3R5cGU9aW1hZ2UmaWQ9MSBpcyBleHBlY3RlZCB0byBoYXZlIGluaXRpYXRvclR5
cGUgY3NzIAorUEFTUyAvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBo
cD90eXBlPWltYWdlJmlkPTIgaXMgZXhwZWN0ZWQgdG8gaGF2ZSBpbml0aWF0b3JUeXBlIGNzcyAK
K1BBU1MgL3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1p
bWFnZSZpZD1uMSBpcyBleHBlY3RlZCB0byBoYXZlIGluaXRpYXRvclR5cGUgY3NzIAorUEFTUyAv
dzNjL3dlYnBlcmYvcmVzb3VyY2VzL25lc3RlZC5jc3MgaXMgZXhwZWN0ZWQgdG8gaGF2ZSBpbml0
aWF0b3JUeXBlIGxpbmsgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNj
L3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX2lu
aXRpYXRvcl90eXBlcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9z
dWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2VfaW5pdGlhdG9yX3R5
cGVzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMGE2ZTVjZmRiMWUyZTQ2ZDAxMmEwNzJmNzE1NDNmMWQ3N2Uy
OTU0MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBl
cmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX2luaXRpYXRv
cl90eXBlcy5odG1sCkBAIC0wLDAgKzEsODUgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPgorPHRpdGxlPlJlc291cmNlIFRpbWluZyBp
bml0aWF0b3IgdHlwZXM8L3RpdGxlPgorPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJHb29nbGUi
IGhyZWY9Imh0dHA6Ly93d3cuZ29vZ2xlLmNvbS8iIC8+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9
Imh0dHA6Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRpbWluZy8jZG9tLXBlcmZvcm1hbmNlcmVz
b3VyY2V0aW1pbmctaW5pdGlhdG9ydHlwZSIvPgorPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3czYy93ZWJwZXJm
L3Jlc291cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK3Nl
dHVwKHtleHBsaWNpdF9kb25lOiB0cnVlfSk7CisKK3ZhciBiYWNrZ3JvdW5kX2xvYWRlZCA9IGZh
bHNlOwordmFyIGZvbnRfbG9hZGVkID0gZmFsc2U7Cit2YXIgcGFnZV9sb2FkZWQgPSBmYWxzZTsK
KworZnVuY3Rpb24gY2hlY2tfZmluaXNoZWQoKSB7CisgICAgaWYgKCFmb250X2xvYWRlZCkgewor
ICAgICAgICBjaGVja19mb250X2xvYWRlZCgpOworICAgIH0KKyAgICBpZiAocGFnZV9sb2FkZWQg
JiYgZm9udF9sb2FkZWQgJiYgYmFja2dyb3VuZF9sb2FkZWQpIHsKKyAgICAgICAgcGVyZm9ybV90
ZXN0KCk7CisgICAgfQorfQorCitmdW5jdGlvbiBjaGVja19mb250X2xvYWRlZCgpIHsKKyAgICBp
ZiAoIXRoaXMuaGFzT3duUHJvcGVydHkoJ29yaWdpbmFsX3dpZHRoJykpIHsKKyAgICAgICAgdmFy
IGQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZnJhbWVDb250ZXh0JykuY29udGVudFdpbmRv
dy5kb2N1bWVudDsKKyAgICAgICAgdGhpcy5vbCA9IGQuY3JlYXRlRWxlbWVudCgnb2wnKTsKKyAg
ICAgICAgdGhpcy5saSA9IGQuY3JlYXRlRWxlbWVudCgnbGknKTsKKyAgICAgICAgdGhpcy5saS5p
bm5lckhUTUwgPSAnd2lkdGhfdGVzdCc7CisgICAgICAgIHRoaXMub2wuYXBwZW5kQ2hpbGQodGhp
cy5saSk7CisgICAgICAgIGQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2JvZHknKVswXS5hcHBlbmRD
aGlsZCh0aGlzLm9sKTsKKyAgICAgICAgdGhpcy5vcmlnaW5hbF93aWR0aCA9IHRoaXMubGkub2Zm
c2V0SGVpZ2h0OworICAgIH0KKyAgICBmb250X2xvYWRlZCA9IHRoaXMub3JpZ2luYWxfd2lkdGgg
IT0gdGhpcy5saS5vZmZzZXRIZWlnaHQ7Cit9CisKK2Z1bmN0aW9uIG9ubG9hZF90ZXN0KCkgewor
ICAgIHBhZ2VfbG9hZGVkID0gdHJ1ZTsKKworICAgIHZhciBpbWFnZSA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoJ2ltZycpOworICAgIGltYWdlLnNyYyA9ICcvdzNjL3dlYnBlcmYvcmVzb3VyY2Vz
L2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPWltYWdlJmlkPW4xJzsKKyAgICBiYWNrZ3JvdW5k
X2xvYWRlZCA9IGltYWdlLmNvbXBsZXRlZDsKKyAgICBpZiAoIWJhY2tncm91bmRfbG9hZGVkKSB7
CisgICAgICAgIGltYWdlLm9ubG9hZCA9IGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgYmFja2dy
b3VuZF9sb2FkZWQgPSB0cnVlOworICAgICAgICB9CisgICAgfQorCisgICAgc2V0SW50ZXJ2YWwo
Y2hlY2tfZmluaXNoZWQsIDEwMCk7Cit9CisKK2Z1bmN0aW9uIHBlcmZvcm1fdGVzdCgpIHsKKyAg
ICB2YXIgZW50cmllcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmcmFtZUNvbnRleHQnKS5j
b250ZW50V2luZG93LnBlcmZvcm1hbmNlLndlYmtpdEdldEVudHJpZXMoKTsKKworICAgIHZhciBl
eHBlY3RlZF9lbnRyaWVzID0geworICAgICAgICAnL3czYy93ZWJwZXJmL3Jlc291cmNlcy9uZXN0
ZWQuY3NzJzogJ2xpbmsnLAorICAgICAgICAnL3czYy93ZWJwZXJmL3Jlc291cmNlcy9ibGFua19p
bWFnZS5wbmcnOiAnaW1nJywKKyAgICAgICAgJy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvYmxhbmtf
cGFnZV9ncmVlbi5odG0nOiAnaWZyYW1lJywKKyAgICAgICAgJy93M2Mvd2VicGVyZi9yZXNvdXJj
ZXMvZW1wdHlfc2NyaXB0LmpzJzogJ3NjcmlwdCcsCisgICAgICAgICcvdzNjL3dlYnBlcmYvcmVz
b3VyY2VzL2JsYW5rX3BhZ2VfeWVsbG93Lmh0bSc6ICdYTUxIdHRwUmVxdWVzdCcsCisgICAgICAg
ICcvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPWltYWdl
JmlkPTEnOiAnY3NzJywKKyAgICAgICAgJy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVf
cmVzb3VyY2UucGhwP3R5cGU9aW1hZ2UmaWQ9Mic6ICdjc3MnLAorICAgICAgICAnL3czYy93ZWJw
ZXJmL3Jlc291cmNlcy9BaGVtLnR0Zic6ICdjc3MnLAorICAgICAgICAnL3czYy93ZWJwZXJmL3Jl
c291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1jc3MmaWQ9bjEnOiAnY3NzJywKKyAg
ICAgICAgJy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9
Zm9udCZpZD1uMSc6ICdjc3MnLAorICAgICAgICAnL3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5l
cmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1pbWFnZSZpZD1uMSc6ICdjc3MnLAorICAgIH07CisKKyAg
ICB0ZXN0X3Jlc291cmNlX2VudHJpZXMoZW50cmllcywgZXhwZWN0ZWRfZW50cmllcyk7CisgICAg
ZG9uZSgpOworfQorCit3aW5kb3cub25fdGVzdF9ib2R5X2NyZWF0ZWQgPSBjaGVja19mb250X2xv
YWRlZDsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8aDE+RGVzY3JpcHRpb248L2gxPgor
PHA+VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IGFsbCBvZiB0aGUgaW5pdGlhdG9yIHR5cGVzIGFy
ZSByZXByZXNlbnRlZC48L3A+Cis8ZGl2IGlkPSJsb2ciPjwvZGl2PgorPGlmcmFtZSBpZD0iZnJh
bWVDb250ZXh0IiBvbmxvYWQ9Im9ubG9hZF90ZXN0KCk7IiBzcmM9Ii93M2Mvd2VicGVyZi9yZXNv
dXJjZXMvYWxsX3Jlc291cmNlX3R5cGVzLmh0bSIgc3R5bGU9IndpZHRoOiAyNTBweDsgaGVpZ2h0
OiAyNTBweDsiPjwvaWZyYW1lPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9o
dG1sL3Rlc3RfcmVzb3VyY2VfcmVkaXJlY3RzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0
X3Jlc291cmNlX3JlZGlyZWN0cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjZjYzkwNzBmYzI5
Mzk3NWFkOWY2ODVlNTE2ZTU4ZmU0M2I0MGE5NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRt
bC90ZXN0X3Jlc291cmNlX3JlZGlyZWN0cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMiBAQAor
RGVzY3JpcHRpb24KKworVGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IHJlZGlyZWN0cyBkbyBub3Qg
YWx0ZXIgdGhlIFVSTC4KKworCisKK1BBU1MgL3czYy93ZWJwZXJmL3Jlc291cmNlcy9yZWRpcmVj
dC5waHA/bG9jYXRpb249L3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5w
aHAlM0Z0eXBlPWNzcyBpcyBleHBlY3RlZCB0byBoYXZlIGluaXRpYXRvclR5cGUgbGluayAKK1BB
U1MgL3czYy93ZWJwZXJmL3Jlc291cmNlcy9yZWRpcmVjdC5waHA/bG9jYXRpb249L3czYy93ZWJw
ZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHAlM0Z0eXBlPWlmcmFtZSBpcyBleHBl
Y3RlZCB0byBoYXZlIGluaXRpYXRvclR5cGUgaWZyYW1lIAorUEFTUyAvdzNjL3dlYnBlcmYvcmVz
b3VyY2VzL3JlZGlyZWN0LnBocD9sb2NhdGlvbj0vdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVy
YXRlX3Jlc291cmNlLnBocCUzRnR5cGU9aWZyYW1lJTI2aWQ9eGhyIGlzIGV4cGVjdGVkIHRvIGhh
dmUgaW5pdGlhdG9yVHlwZSBYTUxIdHRwUmVxdWVzdCAKK1BBU1MgL3czYy93ZWJwZXJmL3Jlc291
cmNlcy9yZWRpcmVjdC5waHA/bG9jYXRpb249L3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0
ZV9yZXNvdXJjZS5waHAlM0Z0eXBlPWltYWdlIGlzIGV4cGVjdGVkIHRvIGhhdmUgaW5pdGlhdG9y
VHlwZSBpbWcgCitQQVNTIC93M2Mvd2VicGVyZi9yZXNvdXJjZXMvcmVkaXJlY3QucGhwP2xvY2F0
aW9uPS93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwJTNGdHlwZT1z
Y3JpcHQgaXMgZXhwZWN0ZWQgdG8gaGF2ZSBpbml0aWF0b3JUeXBlIHNjcmlwdCAKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291
cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2VfcmVkaXJlY3RzLmh0bWwgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwv
dGVzdF9yZXNvdXJjZV9yZWRpcmVjdHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mYTgzMjNkMmNhOTZmMTQ1
ZGFiNWRjZGMzZmZlZjkxOGNlNDhiNzBhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rl
c3RfcmVzb3VyY2VfcmVkaXJlY3RzLmh0bWwKQEAgLTAsMCArMSw0OSBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+Cis8dGl0bGU+UmVz
b3VyY2UgVGltaW5nIHJlZGlyZWN0IG5hbWVzPC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0
aXRsZT0iR29vZ2xlIiBocmVmPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20vIiAvPgorPGxpbmsgcmVs
PSJoZWxwIiBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9yZXNvdXJjZS10aW1pbmcvI3BlcmZv
cm1hbmNlcmVzb3VyY2V0aW1pbmciLz4KKzxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii93M2Mvd2VicGVyZi9yZXNv
dXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+Cit2YXIgaWZy
YW1lOworZnVuY3Rpb24gc2V0dXBfaWZyYW1lKCkgeworICAgIHZhciBpZnJhbWVfY29udGVudCA9
CisgICAgICAgICc8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii93M2Mvd2VicGVyZi9yZXNv
dXJjZXMvcmVkaXJlY3QucGhwP2xvY2F0aW9uPS93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJh
dGVfcmVzb3VyY2UucGhwJTNGdHlwZT1jc3MiPjwvbGluaz4nICsKKyAgICAgICAgJzxpbWcgc3Jj
PSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL3JlZGlyZWN0LnBocD9sb2NhdGlvbj0vdzNjL3dlYnBl
cmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocCUzRnR5cGU9aW1hZ2UiPjwvaW1nPicg
KworICAgICAgICAnPGlmcmFtZSBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMvcmVkaXJlY3Qu
cGhwP2xvY2F0aW9uPS93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhw
JTNGdHlwZT1pZnJhbWUiPjwvaWZyYW1lPicgKworICAgICAgICAnPHNjcmlwdCBzcmM9Ii93M2Mv
d2VicGVyZi9yZXNvdXJjZXMvcmVkaXJlY3QucGhwP2xvY2F0aW9uPS93M2Mvd2VicGVyZi9yZXNv
dXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwJTNGdHlwZT1zY3JpcHQiPjwvc2NyJyArICdpcHQ+
JyArCisgICAgICAgICc8c2NyaXB0PicgKworICAgICAgICAndmFyIHhociA9IG5ldyBYTUxIdHRw
UmVxdWVzdDsnICsKKyAgICAgICAgJ3hoci5vcGVuKCJHRVQiLCAiL3czYy93ZWJwZXJmL3Jlc291
cmNlcy9yZWRpcmVjdC5waHA/bG9jYXRpb249L3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0
ZV9yZXNvdXJjZS5waHAlM0Z0eXBlPWlmcmFtZSUyNmlkPXhociIsIGZhbHNlKTsnICsKKyAgICAg
ICAgJ3hoci5zZW5kKCk7JyArCisgICAgICAgICc8L3NjcicgKyAnaXB0Pic7CisgICAgaWZyYW1l
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ZyYW1lQ29udGV4dCcpOworICAgIGlmcmFtZS5j
b250ZW50V2luZG93LmRvY3VtZW50LndyaXRlKGlmcmFtZV9jb250ZW50KTsKK30KK2Z1bmN0aW9u
IG9ubG9hZF90ZXN0KCkgeworICAgIHZhciBlbnRyaWVzID0gaWZyYW1lLmNvbnRlbnRXaW5kb3cu
cGVyZm9ybWFuY2Uud2Via2l0R2V0RW50cmllcygpOworCisgICAgdmFyIGV4cGVjdGVkX2VudHJp
ZXMgPSB7CisgICAgICAgICcvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL3JlZGlyZWN0LnBocD9sb2Nh
dGlvbj0vdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocCUzRnR5cGU9
Y3NzJzogJ2xpbmsnLAorICAgICAgICAnL3czYy93ZWJwZXJmL3Jlc291cmNlcy9yZWRpcmVjdC5w
aHA/bG9jYXRpb249L3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHAl
M0Z0eXBlPWltYWdlJzogJ2ltZycsCisgICAgICAgICcvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL3Jl
ZGlyZWN0LnBocD9sb2NhdGlvbj0vdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291
cmNlLnBocCUzRnR5cGU9aWZyYW1lJzogJ2lmcmFtZScsCisgICAgICAgICcvdzNjL3dlYnBlcmYv
cmVzb3VyY2VzL3JlZGlyZWN0LnBocD9sb2NhdGlvbj0vdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dl
bmVyYXRlX3Jlc291cmNlLnBocCUzRnR5cGU9c2NyaXB0JzogJ3NjcmlwdCcsCisgICAgICAgICcv
dzNjL3dlYnBlcmYvcmVzb3VyY2VzL3JlZGlyZWN0LnBocD9sb2NhdGlvbj0vdzNjL3dlYnBlcmYv
cmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocCUzRnR5cGU9aWZyYW1lJTI2aWQ9eGhyJzog
J1hNTEh0dHBSZXF1ZXN0JywKKyAgICB9OworCisgICAgdGVzdF9yZXNvdXJjZV9lbnRyaWVzKGVu
dHJpZXMsIGV4cGVjdGVkX2VudHJpZXMpOworfQord2luZG93LnNldHVwX2lmcmFtZSA9IHNldHVw
X2lmcmFtZTsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8aDE+RGVzY3JpcHRpb248L2gx
PgorPHA+VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IHJlZGlyZWN0cyBkbyBub3QgYWx0ZXIgdGhl
IFVSTC48L3A+Cis8ZGl2IGlkPSJsb2ciPjwvZGl2PgorPGlmcmFtZSBpZD0iZnJhbWVDb250ZXh0
IiBvbmxvYWQ9Im9ubG9hZF90ZXN0KCk7IiBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMvaW5q
ZWN0X3Jlc291cmNlX3Rlc3QuaHRtbCI+PC9pZnJhbWU+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVz
b3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9zY3JpcHRfdHlwZXMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNl
LXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2Vfc2NyaXB0X3R5cGVzLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5hNmM2ZjkzODVmNDE5Y2FiNGQ4OWVkMTA3YTZmOTUxYjhiNjlkNzIwCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9u
L3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2Vfc2NyaXB0X3R5cGVzLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDE2IEBACitEZXNjcmlwdGlvbgorCitUaGlzIHRlc3QgdmFsaWRhdGVz
IHRoYXQgYWxsIG9mIHRoZSBkaWZmZXJlbnQgdHlwZXMgb2Ygc2NyaXB0IGxvYWRzIGFyZSByZXBv
cnRlZCB3aXRoIHRoZSBjb3JyZWN0IGluaXRpYXRvci4KKworCisKK1BBU1MgL3czYy93ZWJwZXJm
L3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1zY3JpcHQmaWQ9MSBpcyBleHBl
Y3RlZCB0byBoYXZlIGluaXRpYXRvclR5cGUgc2NyaXB0IAorUEFTUyAvdzNjL3dlYnBlcmYvcmVz
b3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPXNjcmlwdCZpZD0yIGlzIGV4cGVjdGVk
IHRvIGhhdmUgaW5pdGlhdG9yVHlwZSBzY3JpcHQgCitQQVNTIC93M2Mvd2VicGVyZi9yZXNvdXJj
ZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9c2NyaXB0JmlkPTMgaXMgZXhwZWN0ZWQgdG8g
aGF2ZSBpbml0aWF0b3JUeXBlIHNjcmlwdCAKK1BBU1MgL3czYy93ZWJwZXJmL3Jlc291cmNlcy9n
ZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1zY3JpcHQmaWQ9NCBpcyBleHBlY3RlZCB0byBoYXZl
IGluaXRpYXRvclR5cGUgc2NyaXB0IAorUEFTUyAvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVy
YXRlX3Jlc291cmNlLnBocD90eXBlPXNjcmlwdCZpZD01IGlzIGV4cGVjdGVkIHRvIGhhdmUgaW5p
dGlhdG9yVHlwZSBzY3JpcHQgCitQQVNTIC93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVf
cmVzb3VyY2UucGhwP3R5cGU9c2NyaXB0JmlkPTYgaXMgZXhwZWN0ZWQgdG8gaGF2ZSBpbml0aWF0
b3JUeXBlIHNjcmlwdCAKK1BBU1MgL3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNv
dXJjZS5waHA/dHlwZT1zY3JpcHQmaWQ9NyBpcyBleHBlY3RlZCB0byBoYXZlIGluaXRpYXRvclR5
cGUgc2NyaXB0IAorUEFTUyAvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNl
LnBocD90eXBlPXNjcmlwdCZpZD04IGlzIGV4cGVjdGVkIHRvIGhhdmUgaW5pdGlhdG9yVHlwZSBz
Y3JpcHQgCitQQVNTIC93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhw
P3R5cGU9c2NyaXB0JmlkPTkgaXMgZXhwZWN0ZWQgdG8gaGF2ZSBpbml0aWF0b3JUeXBlIHNjcmlw
dCAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJt
aXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2Vfc2NyaXB0X3R5cGVzLmh0
bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3Vy
Y2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9zY3JpcHRfdHlwZXMuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li41MDAzOWJiM2UyN2VhNjBiOTNiYTA4MTBiNjY4YzY1YmI3YWJmMDMxCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291
cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2Vfc2NyaXB0X3R5cGVzLmh0bWwKQEAgLTAsMCAr
MSw2NiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0i
dXRmLTgiIC8+Cis8dGl0bGU+UmVzb3VyY2UgVGltaW5nIHNjcmlwdCBpbml0aWF0b3IgdHlwZXM8
L3RpdGxlPgorPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJHb29nbGUiIGhyZWY9Imh0dHA6Ly93
d3cuZ29vZ2xlLmNvbS8iIC8+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6Ly93d3cudzMu
b3JnL1RSL3Jlc291cmNlLXRpbWluZy8jZG9tLXBlcmZvcm1hbmNlcmVzb3VyY2V0aW1pbmctaW5p
dGlhdG9ydHlwZSIvPgorPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNlcy93ZWJw
ZXJmdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK3ZhciBpZnJhbWU7CitmdW5j
dGlvbiBzZXR1cF9pZnJhbWUoKSB7CisgICAgdmFyIGlmcmFtZV9jb250ZW50ID0KKyAgICAgICAg
JzxzY3JpcHQgc3JjPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBo
cD90eXBlPXNjcmlwdCZpZD0xIj48L3NjcicgKyAnaXB0PicgKworICAgICAgICAnPHNjcmlwdCBz
cmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9c2Ny
aXB0JmlkPTIiIGFzeW5jPjwvc2NyJyArICdpcHQ+JyArCisgICAgICAgICc8c2NyaXB0IHNyYz0i
L3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1zY3JpcHQm
aWQ9MyIgYXN5bmM9ZmFsc2U+PC9zY3InICsgJ2lwdD4nICsKKyAgICAgICAgJzxzY3JpcHQgc3Jj
PSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPXNjcmlw
dCZpZD00IiBkZWZlcj48L3NjcicgKyAnaXB0PicgKworICAgICAgICAnPHNjcmlwdD4nICsKKyAg
ICAgICAgJ2RvY3VtZW50LndyaXRlKCI8c2NyaXB0IHNyYz1cXCIvdzNjL3dlYnBlcmYvcmVzb3Vy
Y2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPXNjcmlwdCZpZD01XFwiPjwvc2NyIiArICJp
cHQ+Iik7JyArCisgICAgICAgICd2YXIgczEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3Jp
cHQiKTsnICsKKyAgICAgICAgJ3MxLnNyYyA9ICIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVy
YXRlX3Jlc291cmNlLnBocD90eXBlPXNjcmlwdCZpZD02IjsnICsKKyAgICAgICAgJ2RvY3VtZW50
LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF0uYXBwZW5kQ2hpbGQoczEpOycgKworICAg
ICAgICAndmFyIHMyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7JyArCisgICAg
ICAgICdzMi5zcmMgPSAiL3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5w
aHA/dHlwZT1zY3JpcHQmaWQ9NyI7JyArCisgICAgICAgICdzMi5hc3luYyA9IHRydWU7JyArCisg
ICAgICAgICdkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVhZCIpWzBdLmFwcGVuZENo
aWxkKHMyKTsnICsKKyAgICAgICAgJ3ZhciBzMyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNj
cmlwdCIpOycgKworICAgICAgICAnczMuc3JjID0gIi93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2Vu
ZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9c2NyaXB0JmlkPTgiOycgKworICAgICAgICAnczMuYXN5
bmMgPSBmYWxzZTsnICsKKyAgICAgICAgJ2RvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJo
ZWFkIilbMF0uYXBwZW5kQ2hpbGQoczMpOycgKworICAgICAgICAndmFyIHM0ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgic2NyaXB0Iik7JyArCisgICAgICAgICdzNC5zcmMgPSAiL3czYy93ZWJw
ZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1zY3JpcHQmaWQ9OSI7JyAr
CisgICAgICAgICdzNC5kZWZlciA9IHRydWU7JyArCisgICAgICAgICdkb2N1bWVudC5nZXRFbGVt
ZW50c0J5VGFnTmFtZSgiaGVhZCIpWzBdLmFwcGVuZENoaWxkKHM0KTsnICsKKyAgICAgICAgJzwv
c2NyJyArICdpcHQ+JzsKKyAgICBpZnJhbWUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZnJh
bWVDb250ZXh0Jyk7CisgICAgaWZyYW1lLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQud3JpdGUoaWZy
YW1lX2NvbnRlbnQpOworfQorZnVuY3Rpb24gb25sb2FkX3Rlc3QoKSB7CisgICAgdmFyIGVudHJp
ZXMgPSBpZnJhbWUuY29udGVudFdpbmRvdy5wZXJmb3JtYW5jZS53ZWJraXRHZXRFbnRyaWVzKCk7
CisKKyAgICB2YXIgZXhwZWN0ZWRfZW50cmllcyA9IHsKKyAgICAgICAgJy93M2Mvd2VicGVyZi9y
ZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9c2NyaXB0JmlkPTEnOiAnc2NyaXB0
JywKKyAgICAgICAgJy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhw
P3R5cGU9c2NyaXB0JmlkPTInOiAnc2NyaXB0JywKKyAgICAgICAgJy93M2Mvd2VicGVyZi9yZXNv
dXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9c2NyaXB0JmlkPTMnOiAnc2NyaXB0JywK
KyAgICAgICAgJy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5
cGU9c2NyaXB0JmlkPTQnOiAnc2NyaXB0JywKKyAgICAgICAgJy93M2Mvd2VicGVyZi9yZXNvdXJj
ZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9c2NyaXB0JmlkPTUnOiAnc2NyaXB0JywKKyAg
ICAgICAgJy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9
c2NyaXB0JmlkPTYnOiAnc2NyaXB0JywKKyAgICAgICAgJy93M2Mvd2VicGVyZi9yZXNvdXJjZXMv
Z2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9c2NyaXB0JmlkPTcnOiAnc2NyaXB0JywKKyAgICAg
ICAgJy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9c2Ny
aXB0JmlkPTgnOiAnc2NyaXB0JywKKyAgICAgICAgJy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2Vu
ZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9c2NyaXB0JmlkPTknOiAnc2NyaXB0JywKKyAgICB9Owor
CisgICAgdGVzdF9yZXNvdXJjZV9lbnRyaWVzKGVudHJpZXMsIGV4cGVjdGVkX2VudHJpZXMpOwor
fQord2luZG93LnNldHVwX2lmcmFtZSA9IHNldHVwX2lmcmFtZTsKKzwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8aDE+RGVzY3JpcHRpb248L2gxPgorPHA+VGhpcyB0ZXN0IHZhbGlkYXRlcyB0
aGF0IGFsbCBvZiB0aGUgZGlmZmVyZW50IHR5cGVzIG9mIHNjcmlwdCBsb2FkcyBhcmUgcmVwb3J0
ZWQgd2l0aCB0aGUgY29ycmVjdCBpbml0aWF0b3IuPC9wCis8ZGl2IGlkPSJsb2ciPjwvZGl2Pgor
PGlmcmFtZSBpZD0iZnJhbWVDb250ZXh0IiBvbmxvYWQ9Im9ubG9hZF90ZXN0KCk7IiBzcmM9Ii93
M2Mvd2VicGVyZi9yZXNvdXJjZXMvaW5qZWN0X3Jlc291cmNlX3Rlc3QuaHRtbCI+PC9pZnJhbWU+
Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>152397</attachid>
            <date>2012-07-13 18:47:58 -0700</date>
            <delta_ts>2012-07-13 18:47:58 -0700</delta_ts>
            <desc>Archive of layout-test-results from gce-cr-linux-04</desc>
            <filename>layout-test-results.zip</filename>
            <type>application/zip</type>
            <size>337185</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">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
Wu22dg7W5davWu9WqyfrV62fN0+JdSw36+3T1lr6lDxvd9aad+un1erR3m5Vbm337vlxu7P19/Yx
2a5Wtj7bp4fX5poeRJS+VXkWXWtxEBBjKWrAmdpCdaiKIr02Ino/560g+tVm9yS5OTrmHxYq/CGB
28fdWn4OD7jeMIFyYP3AJykJnjjA3ePjbrXmADeyzhUHuN3sNpwan5Pd6pHz1c+b5/WWUeP6cbWT
E4cDlBNgxfiY9FBXTRNBMawo0aEqW1G20b7qyiytc9FYmZlfQ3J3DStPDcdW1JHk3jJ6b6LHxzgM
noTBfY0piqgVH22Ul/TvEWJhRmnTiHpIs22lLrPoUIi07K5+oOyfyoNqo6u+6TfuUH8fWQmTWwlX
txKubyXc3Eq4vZXw6VbC3a2EzzcSxo+3Evo5p2nTuo2qOhJl5gbvxbGq5T9FdXiNcgjo5ZM3Book
gAJFjAePQCWFGFNlgU8C8atA/JqDv4j6JIK/YkGV3ES1uonqtu/a3ES1vYnq6Saq3U1Uz7dQ+Wa1
heom3ohv4o34Jt6Ib+KN+CbeiG/ijfgm3ohv4o34Jt5IbuKN5CbeSG7ijeQm3khu4o2ExRvc5eIv
iAgQFSm8ozoeG9E2HqqaIZJrhgCuGeK2ZgjXmiFKa4bgrBlismYIxZohAmuGwKsZ4q1mCLOaIbpq
0PmLtGkjtZMRReEhwePTCDbvpxqULKXSlFXpY7vP6L2qMwYX9UDPJ0Jr+wnigZ6laniAbZH39VBh
fuqqrmHtzcTl2n5ypt0xr2U/w9FylLfi4gafa3c5dbq3cRqW8GArHswzM/MSNo4NcBftRIln3ETI
hDBKuAv192ZB8bhZQ1TkJzzIDkImbOTKhyxZby5Zby35b1yzUBsWastCPbFQOxbqmYPyCVOFYvV9
zOr7mNX3MavvY1bfx6y+jzl9v69F+qq3l1J2ixoeZ1qGBtTQvgtRDvttKSrz9hw16UU4rbfjquRW
mzl7x2DvIDUtSFdOtT3SU+cl/5B9tLD2ed9QVpm2xf3w71//Jf/6XVyqN+GxMDQY0gStct5XTLBJ
AHbFweZyofc3AU0nqFN6gF1dV1Joimuae1Y32dH+FxMo4YBWHNDaCyqCVI62Qq6tjsM08RKoMWKs
f22d5gV3AZyCPV2Gutexri5SQuBczqIsf/PQNGC5767+poyQCRu5YiOdgwg9MJJi11pIReVNNIMo
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
EC/K0Gn7/K8uzSDP2LW/cjUv3EsFzl4qP/+nWvzVifLw+btoZMc3lpec5dbXXg+UNmcIlmcsLqp3
O60sdJCWVat3L/Oiq0hfe3VhVkhSFtnRxPeSRd8ggRsoHhfJj/gfI+YNpoRov8epRgllpzC5ZUk/
8UWX9ENnio3wqRNZViUb7AY0h7PIumLZFT1k/jzXUb2HqWaD5CVIUmsNNO3mpRS2oYF9idxdN5VZ
+JzSfM7zf6Zvqdzi5dd2ECdyk1te8o9dlCgBJNsktzsMyu4q6ZJoF0qHCgqCbZLdQDVDXESWpyrW
KT4hMY31nw588Bwp17PFOMs5grl9pd4k+fm65JUpoM0vyzqq5gC2EdDeKIabvbxJ31upnp0diN7L
01iKIeHs5XKjkpanYo64ppheV0qrtLhW77alagEzl8Mu9yL7d874tUjlin4RaZkWn5AT7XjEpJHL
HmtSDBVEe9vWMQ2pmQnKGWDmyDiIuD8yTZPuqghIUm1id7mxUwYMFS9reZcaE6YtVf31/wNQSwME
CgAAAAAAiAnuQAAAAAAAAAAAAAAAAEMAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9weXdlYnNv
Y2tldC53cy5sb2ctMTRKdWwyMDEyLTAxMTIxNS1lcnIudHh0VVQJAANvxwBQb8cAUHV4CwABBOgD
AAAE6AMAAFBLAwQKAAAAAAADCe5AAAAAAAAAAAAAAAAAHQAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1
bHRzL2Zhc3QvVVQJAAN2xgBQiMcAUHV4CwABBOgDAAAE6AMAAFBLAwQKAAAAAADUCO5AAAAAAAAA
AAAAAAAAIwAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvZm9ybXMvVVQJAAMfxgBQiMcA
UHV4CwABBOgDAAAE6AMAAFBLAwQKAAAAAADUCO5AAAAAAAAAAAAAAAAAKQAcAHRtcC9sYXlvdXQt
dGVzdC1yZXN1bHRzL2Zhc3QvZm9ybXMvcmFuZ2UvVVQJAAMgxgBQiMcAUHV4CwABBOgDAAAE6AMA
AFBLAwQUAAIACADUCO5AiHaJ43QAAADhAAAARwAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zh
c3QvZm9ybXMvcmFuZ2Uvc2xpZGVyLW9uY2hhbmdlLWV2ZW50LWRpZmYudHh0VVQJAAMgxgBQIMYA
UHV4CwABBOgDAAAE6AMAAKXMMQrDMAxA0d2n0K6oWgxdfRXjKG3AsY0ll/T2JRgKnTs++HwiAraj
cY7vOoxM1KiLjmzKW1TjrfZDucfyENa8r9KplvS8TPKSYiRnk2Sy3uw0cIj49zEmGzHPXwhAfvGA
frlDCA5m6WAvbdiXOIm/BPcBUEsDBBQAAgAIANQI7kBuOEBfygAAAEgBAABWABwAdG1wL2xheW91
dC10ZXN0LXJlc3VsdHMvZmFzdC9mb3Jtcy9yYW5nZS9zbGlkZXItZGVsZXRlLXdoaWxlLWRyYWdn
aW5nLXRodW1iLXdkaWZmLmh0bWxVVAkAAx/GAFAfxgBQdXgLAAEE6AMAAAToAwAAXY9NTsQwDIX3
OcVDLNi1ewg5BRdwEzeNJk2qxJnRCHF30paRgI3/PvvZ1guTM7rKPbIZHEd8YiJ78SW35F7xPBO9
4QsDOfcf0bwjPZ7DejyltsLmYwkVwlW6XUjAV049djm9CGxOElJjSIZQ8Swg1Bgcl97d1glhRhB0
iX4PCzvclhAZrpD3IfkBCuqR/EyqNbfKa76y0nWjBBup1vcuYA7i8i31Szsxfxr6WyakrckDqmPn
L2FlY7CXvTA1kZzU6XCUn5TS4/7xN1BLAwQUAAIACADUCO5AoVKKc3cAAADaAAAASQAcAHRtcC9s
YXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvZm9ybXMvcmFuZ2Uvc2xpZGVyLW1vdXNlLWV2ZW50cy1l
eHBlY3RlZC50eHRVVAkAAx/GAFAgxgBQdXgLAAEE6AMAAAToAwAAdcxBCgIxDEDRfU6RAxQpojeZ
CxQbnEInKU1a8fZWK4MLZxPCJ3nLmhSN1MZcg6HmFKniTdiqZMU7GW7SlKI82M11k04OE5dmDgPH
WVtB6sQDeqdSpVDNT9QBpBF7yI1OALsAOwv+p35Y+Ipw8X8f5tH18O3sAV5QSwMEFAACAAgA1Aju
QDZVGeVdAAAAlAAAAEkAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2Zvcm1zL3Jhbmdl
L3NsaWRlci1vbmNoYW5nZS1ldmVudC1hY3R1YWwudHh0VVQJAAMgxgBQIMYAUHV4CwABBOgDAAAE
6AMAAIWMwQ2AMAhF70zBBE7hxYPx4gJNi5akoaag80vtACaE5P3/YM+saKTmOwdDLZyoYaxirRbF
k8wLwioxBzkJ6SExDJKGzz6K+mWH+WWX521d5LptyBMAd4Lx4RfgBVBLAwQUAAIACADUCO5A46VF
HKMAAAAHAQAASQAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvZm9ybXMvcmFuZ2Uvc2xp
ZGVyLW9uY2hhbmdlLWV2ZW50LXdkaWZmLmh0bWxVVAkAAyDGAFAgxgBQdXgLAAEE6AMAAAToAwAA
ZY7BCgIxDETv/YqA99271p68eBAv/kBss9tiaZcmK4j477b2pEIIJPNmGO0JndEsj0hmcBThCVe0
t7nkNbktbCbEHbxgQOd+JZyapMdu1mOPWgqZiw8MQix1exTgGBwVsDlJyZFhJqkCQU7WY5oJ6E5J
AJPrfKjDwJ/fJNXZ4MP5dEzLKh0elArtUj3h+9C8YAIbkXlfi5t/srauiFFKj63wG1BLAwQUAAIA
CADUCO5A+A2NoXAAAACoAAAARwAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvZm9ybXMv
cmFuZ2Uvc2xpZGVyLW1vdXNlLWV2ZW50cy1hY3R1YWwudHh0VVQJAAMfxgBQIMYAUHV4CwABBOgD
AAAE6AMAAGWMQQrDMAwE73qFHmCCKelP8gFTi8TgSMaSXfr7OE3opZfdZRZm2ZKikdrILRhqTpEq
voStSlZcyXCXphTlze6au3RymLg0cxg4XrQVpE48RCcqVQrV/EEdgjRgD7nRBPAzwFcA/u7Z/13P
ux8e4ABQSwMEFAACAAgA1AjuQLTbQH92AAAAtAAAAFYAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0
cy9mYXN0L2Zvcm1zL3JhbmdlL3NsaWRlci1kZWxldGUtd2hpbGUtZHJhZ2dpbmctdGh1bWItYWN0
dWFsLnR4dFVUCQADH8YAUB/GAFB1eAsAAQToAwAABOgDAABNTEkOwjAQu88rzIkbr+EDaTMkI9IJ
SpzyfUIBiYs32b5m66B2TsyB0F196lj9TKzVaT4UrGBoSYmAXixqm+2xLbAbjJgXUYtSI57ZiiK2
kJJ5ukAgP/NdylZH163uKuaPQZFj+1eQtdh6fwfLIKvLh3DEJ5EXUEsDBBQAAgAIANQI7kBoCb0Z
dwAAALgAAABYABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9mb3Jtcy9yYW5nZS9zbGlk
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
Wv+VsF8k2ZRm2RSUD6TOw8gQiWN+B4zAZtQUoHM2BmcYLhTh6hKTdj+2Kt+rm6iC0foUK0CrSzV5
oIlsBi0lH5ynYGbgDBhzcUKTqBZiIwjJHi10BplPeR21xeQ5s6J+GfJS6pm4iu3r/oW8Wp7+17bk
V9OhfWekgvz4p+x9K4RsljM8AFBLAwQUAAIACADUCO5AfIA5bY4AAAASAQAAVAAcAHRtcC9sYXlv
dXQtdGVzdC1yZXN1bHRzL2Zhc3QvZm9ybXMvcmFuZ2Uvc2xpZGVyLWRlbGV0ZS13aGlsZS1kcmFn
Z2luZy10aHVtYi1kaWZmLnR4dFVUCQADH8YAUB/GAFB1eAsAAQToAwAABOgDAACtjUsOwjAMBfc+
hffBRGLDNlcJjZtGyqeKHVpuj0qFxAHYPM1iNI+I0GpZbfavNpSURamzjKxiZy9q59aL2O5rZCs5
Be4UOLMybUvKTKH7GFONpMsoD+J95Uk5XHVXBGPMf/N+0uHzGXcO6Xa5oznGOUAE/Op4tgBLG8Kl
PRnog6FtFUyq61A4/OPr14c3UEsDBBQAAgAIANQI7kBLMaLR0AAAALEBAABFABwAdG1wL2xheW91
dC10ZXN0LXJlc3VsdHMvZmFzdC9mb3Jtcy9yYW5nZS9zbGlkZXItbW91c2UtZXZlbnRzLWRpZmYu
dHh0VVQJAAMfxgBQIMYAUHV4CwABBOgDAAAE6AMAAKXNTW4CMQwF4L1P4X3GBFqQWM4heoFoxsBI
mSSKnSncvumkpT9ix8aynJfvERFanZP17haLkrIoZZbiVezJidpTzLPY7MKZrfhp5ExzLMLECwcV
4mviQXnc6FURjDFPem7Q4nzT+h5p1+2OaOp8xb4HfLtMgp9qnRen2AgcYtAcveCZFVdvjO+ha+sc
F+5wCqlohy6M7VoStsr1lHJMnP0NpQJTPS7OF94Awo8BdJfBrBzg9nsz++3vaKv7+lESUH2mx9Lh
Hj78ifwT8KUWwAdQSwMEFAACAAgA1AjuQEhfPwNkCAAAsSYAAE0AHAB0bXAvbGF5b3V0LXRlc3Qt
cmVzdWx0cy9mYXN0L2Zvcm1zL3JhbmdlL3NsaWRlci1tb3VzZS1ldmVudHMtcHJldHR5LWRpZmYu
aHRtbFVUCQADIMYAUCDGAFB1eAsAAQToAwAABOgDAADdWl1v2zgWfc+vEBJ0Agwi2YrtNLZTD3aS
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
nBJYulUMRSQdIWA9zwCBEILVX2379QDbr/ttPy2YyQAwk34wlWfbqNRPHVutaKUNanjfgmFZqM/R
R7OwNu+gD6YDfPBTHvBieSAqcKgHb4BJ8KtuTPaZJ8fc0zQQqPq4dWbSQdMOwKYDfKBNA9Gxgrq5
G8kLdVcKc/M9o34q7pkNcMes3x3j72r098+Em37TFXm+in9OC+1tP7Tp+IfMxZsBVt/+Bfr9OlRv
B6CavzJNfqSGcHuChmDUxeuqZSC++Qnw7RfMSaD541P57tVpPRiifyqIur//zTt7T0SUFbMfkjT9
IQra9/+PCcqfnCCFZ9+muqZ/fwKYnQDiX9BCQ+HdfLv282PU9xD94R84Il+PT6uH/CGCwJ8MP7O/
JgytH/X16G6k/6Xa/wBQSwMEFAACAAgA1AjuQA0k4BtcAAAAgQAAAEsAHAB0bXAvbGF5b3V0LXRl
c3QtcmVzdWx0cy9mYXN0L2Zvcm1zL3JhbmdlL3NsaWRlci1vbmNoYW5nZS1ldmVudC1leHBlY3Rl
ZC50eHRVVAkAAyDGAFAgxgBQdXgLAAEE6AMAAAToAwAAVYzBDYAwCEXvTMEETuHFg/HiAk2LlqSh
pqDzS+3JhJC8/x/smRWN1HznYKiFEzWMVazVoniSeUFYJeYgJyE9JIZB0vDZR1G/7DC/7PK8rYtc
tw15AuBOMD78AV5QSwMECgAAAAAA5gjuQAAAAAAAAAAAAAAAACQAHAB0bXAvbGF5b3V0LXRlc3Qt
cmVzdWx0cy9mYXN0L2xvYWRlci9VVAkAA0DGAFCIxwBQdXgLAAEE6AMAAAToAwAAUEsDBBQAAgAI
AOYI7kBBOn/TmgcAAPgXAABDABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9sb2FkZXIv
bG9hZEluUHJvZ3Jlc3MtcHJldHR5LWRpZmYuaHRtbFVUCQADQMYAUEDGAFB1eAsAAQToAwAABOgD
AAClWG1v2zYQ/p5fQSToAhSVbMd2F9uthy5x1gHtNizZp2EoKImy2FCiRlJJnG3/fcc3WZKlJMNa
tJL5cryX55476l2mcrY+epcRnMBDqh0j66Mlo8XtG7S8o5IqkqC/jhD8UeRBBQmJucCK8mKJCl6Q
lZmKuEiICCKuFM+XaFI+oATeSbI6+ufIinNCYs64WKKT8XRh5sIrysglTVM3H+H4dit4VSSBX5qe
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
ZXN1bHRzL2Zhc3QvbG9hZGVyL2xvYWRJblByb2dyZXNzLWV4cGVjdGVkLnR4dFVUCQADQMYAUEDG
AFB1eAsAAQToAwAABOgDAABBTEVSVDogVGVzdCBwYXNzZWQ6IFtvYmplY3QgSFRNTEZvcm1FbGVt
ZW50XQoKUEsDBBQAAgAIAOYI7kBsoyryvgAAAPAAAAA9ABwAdG1wL2xheW91dC10ZXN0LXJlc3Vs
dHMvZmFzdC9sb2FkZXIvbG9hZEluUHJvZ3Jlc3Mtd2RpZmYuaHRtbFVUCQADQMYAUEDGAFB1eAsA
AQToAwAABOgDAABdjjFPwzAUhPf8ipMYujUzxkSqKheGlEokTIjh1X5pAde2np0hQvx3XHVjO+nu
uzt9ZnKdzmXx3K0de/zgSPb7JHEOTuFuInrAL9bk3H+Lpqul2xus21tVkqpzogDrKefHCnbbw8tw
6A32Zhg2T0bBfwbGvcJbsDSfzgXjktiIRFHYUgixIHNBkphYyoJVFrtCnBBm7+tire+aTW9eR4WR
c03WKa6n3uPxi23B87jvd1EuxvOFQ/loGt1en/0BUEsDBBQAAgAIAOYI7kApJndpdAAAAH0AAAA9
ABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9sb2FkZXIvbG9hZEluUHJvZ3Jlc3MtYWN0
dWFsLnR4dFVUCQADQMYAUEDGAFB1eAsAAQToAwAABOgDAAANyjsOwjAQBcA+p3hdzoC7KDJQOETC
pkIUxiw/OV5rvSlye5h6xvnkZ2cxWe+HgzXIn0LYGVxKiuvrrQhbJSvCYjDGUljRSFGFK4lu6Juk
HvxEWXPuBmfPwSBQ+5fYGj0Mrnz/UlIcw+T2LIvNtFDRW9f9AFBLAwQUAAIACADmCO5ANF0G5sUA
AAAaAQAAOwAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvbG9hZGVyL2xvYWRJblByb2dy
ZXNzLWRpZmYudHh0VVQJAANAxgBQQMYAUHV4CwABBOgDAAAE6AMAAJ2PvU7DMBRGdz/Ft3VITVSY
8JSqMj9SShEJE2Iwye0Pcmzr+lpq3p4I3oDpDJ909B2tNWqZUu3dHItooSyaKRcvuT66LLWPbiT+
xXN45Xha1qzpmmgQGm/kKlBVVf3L4gYpzv85mgZ6s75FtVnfoWlUtTu8dIfWYm+7bvtoDfwlEO4N
3sPgyuks6OdEljmywc6FEAWZBIljIpYZq8zDCvGIULxX2Lb2rTfol29ILmcaDT7i1/fSgad+3z5E
nqyniYJ8KqgfUEsDBAoAAAAAAAQJ7kAAAAAAAAAAAAAAAAAhABwAdG1wL2xheW91dC10ZXN0LXJl
c3VsdHMvZmFzdC94c2wvVVQJAAN3xgBQiMcAUHV4CwABBOgDAAAE6AMAAFBLAwQUAAIACAAECe5A
gUp3rUsAAACsAAAATAAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QveHNsL3hzbHQtdHJh
bnNmb3JtLXRvLWZyYWdtZW50LWNyYXNoLXN0ZGVyci50eHRVVAkAA3fGAFB3xgBQdXgLAAEE6AMA
AAToAwAAtcyxDYAwDETRPlPcCrRs48AFWXJsZCzmR6JgA+qv97eYp5qUhoOZkSuGGgFTJxbQOOmF
W1KlG1ty51DXV8TAYdHFvo7iVW375foAUEsDBBQAAgAIAAMJ7kBQXUg3jAAAAPgAAAA/ABwAdG1w
L2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC94c2wveHNsdC1iYWQtaW1wb3J0LXVyaS1zdGRlcnIu
dHh0VVQJAAN2xgBQdsYAUHV4CwABBOgDAAAE6AMAAK2OwQ3DMAwD/51CC7h69JcZ+uwCiqM0QmUr
kGWk3b5Js0I/BMkDCGYrqyiFWAV2Nx9gFuWfDIhYauBTAjceXxIpL25Fekm8NbzTx3o8uEXDmVrg
uyk6N+ueuR0p0khTkrKaR+ou170DlcpwA1YuXANOetnJcFoYoFca9xNhoEbTP85Uaz0vxxAFqV6+
UEsDBBQAAgAIAAMJ7kBtR9RehQAAAPEAAAA9ABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFz
dC94c2wvdHJhbnNmb3JtLXhoci1kb2Mtc3RkZXJyLnR4dFVUCQADdsYAUHbGAFB1eAsAAQToAwAA
BOgDAACtjrENwzAMBHtPwQUUFuk0Q8osIMt0TEQSDZKCne3txCukeTz+i7ssdeWSnKUBqYpGmLnQ
LyIi1ub4YseNxjd7yItK5V4DbYaP9JHuTzI3nJM57lZQyaRrJsN90TBJvp0rFG4Ed6BClZoD11XU
h/OJV4UIvaXxBLtAkTT9USBcCJq+JsMBUEsDBAoAAAAAALcI7kAAAAAAAAAAAAAAAAAkABwAdG1w
L2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9jYW52YXMvVVQJAAPqxQBQiMcAUHV4CwABBOgDAAAE
6AMAAFBLAwQKAAAAAAC8CO5AAAAAAAAAAAAAAAAAKgAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRz
L2Zhc3QvY2FudmFzL3dlYmdsL1VUCQAD88UAUIjHAFB1eAsAAQToAwAABOgDAABQSwMEFAACAAgA
uAjuQLyV8mKqAAAA1QIAAFEAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2NhbnZhcy93
ZWJnbC9nbC12ZXJ0ZXgtYXR0cmliLXplcm8taXNzdWVzLXN0ZGVyci50eHRVVAkAA+zFAFDsxQBQ
dXgLAAEE6AMAAAToAwAAzdC9DoIwHATw3af4j7qQUtpS2IhB4yCYxsTBGFLaAk34MLQOvr3E1QeQ
5XK3/XJ3TmOSfiNEIecs4jghIU5zIUqRtr1xuFKDrrRRkzZzoNSWooTsHnDJxaEU56zY53DLRHEq
jilk3s+2fnkDCKwDbZ2se6MDuHbL7KQDZ9uxsUqOHp5mbqZ5kKMySx9l79+b+y+IYMbpmkCU4GRV
DzFKEV8TKGY0iv8G+gBQSwMEFAACAAgAvAjuQL324O2KAAAAkQAAAFIAHAB0bXAvbGF5b3V0LXRl
c3QtcmVzdWx0cy9mYXN0L2NhbnZhcy93ZWJnbC93ZWJnbC1jb21wb3NpdGUtbW9kZXMtcmVwYWlu
dC1zdGRlcnIudHh0VVQJAAPzxQBQ88UAUHV4CwABBOgDAAAE6AMAAB3HvQ6CMBRA4d2nuKMupCC/
3RqCxsFiGhMHY0hpL9AEimnr4NtLXE6+8yyzIqX/xCQuy7wqjnmVJ7QRohV0nNEnnVp0p1GtGl2k
1D4jVXp4wa0Rp1ZcGa8beDDBL/xMgYXgTP8JCASMB2287GfUEdynbSfpwZvRDkZJG+CNbljdIq3C
zVbO4bv7AVBLAwQUAAIACAC5CO5AbR8/yNsAAAA0AQAARQAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1
bHRzL2Zhc3QvY2FudmFzL3dlYmdsL2luZGV4LXZhbGlkYXRpb24tc3RkZXJyLnR4dFVUCQAD7cUA
UO3FAFB1eAsAAQToAwAABOgDAACNj0Frg0AUhO/5FXNsL0FTNWZv0lgRrJYltIdQZLM+zYKuYfel
pf++NtBbD70MM8Mcvjmm8TYSNwmDME2TaLeNt5tU5FI2Ugwj+U2rp67tSM8dubXWd3Gwi+7f8ZLL
p0Y+Z/VjjrdM1mVdCGTMzpyuTAhgPDrj1Wmkbo3DeYln5eHNYHujlWVcyPWzm5TVtHirRv5aHf8A
SsLk4R9ARYXbCKKo2rJ+zapy3zYLZnYomxoCw7h36jMfaSLLXkAx03Rh8AylNXmP+cqYezhlB8IH
OTZLDWN/pr+/Vt9QSwMEFAACAAgAtwjuQKp/9+HHAAAASgYAAE4AHAB0bXAvbGF5b3V0LXRlc3Qt
cmVzdWx0cy9mYXN0L2NhbnZhcy93ZWJnbC9kcmF3LWFycmF5cy1vdXQtb2YtYm91bmRzLXN0ZGVy
ci50eHRVVAkAA+rFAFDqxQBQdXgLAAEE6AMAAAToAwAAzdO9CsIwFAXg3ae4oy7SpE2aZCu0lEKx
UsRFpMQ0lkJ/JI2Kb+/P7APc5Q6XM3xwOCfB4kj9DgmIEJwyQSTjKqvrqlbdYBfamLFtWmvm1rqt
MWsWyGhzhryEXwhUXjbF7piURdpU+6xODkW1AwXdkDr9TJzTr0WB9t6ONw9+Bm2MXRaY7x7mKzg9
dRYe1vn+84Z++kZdf7l7C8Hq9AdIY0pRA0PCA9RARiPkQB4K3EDJUY9ECkpi3EDOUFcsJY0lbiBn
eFb8BlBLAwQUAAIACAC4CO5A5Je94owAAAD9AAAARAAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRz
L2Zhc3QvY2FudmFzL3dlYmdsL2Vycm9yLXJlcG9ydGluZy1zdGRlcnIudHh0VVQJAAPrxQBQ68UA
UHV4CwABBOgDAAAE6AMAAIu2MDU3sQIThgaGFhZmRuZmZoYmxlauQUH+QVbpOanFRvHJuSnxKanJ
+SmpRXrJyRqmBpYmmrEK7j4KYEUKVu4+8Z5+YY4+ni7xQDLUVcFKIT3HPbXEMbkksyzVsaSkKDPJ
SiEzLyW1QiG/tEQhP02hKDEvPZUrGtN2S3MLCwsq2h6al5mWX5SL1XoAUEsDBBQAAgAIALkI7kAM
PPh4zQAAAKIBAABPABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9jYW52YXMvd2ViZ2wv
c2hhZGVyLWRlbGV0ZWQtYnktYWNjZXNzb3Itc3RkZXJyLnR4dFVUCQAD7sUAUO7FAFB1eAsAAQTo
AwAABOgDAADNzr1uwjAUBeCdp7hjuyDnD4K3QEMUKQ2VRdsBVdHl2iSWjINst1LfvhGsDIxdjs6R
zvAd8myZ8mtELMrzxSKOk4SteCnETvDeKB93dJadVDRK5eZETxlbpc9f8FaK7U68Fu2mhM9CtHVb
cShCcPr4HRQw0B6k9ng0Ss5hP0xzQA9e9/akCW2Ai3Kn0Z3Rkpq6RRN+Z4d7oHTJ/hMoiZLsEVDV
wPUEvGq6uv0omvqlm/K9BA69WWsrb7xmJAx6tBxq+4NGS6ABHVJQbvYHUEsDBBQAAgAIALcI7kB/
FjaYBAEAALMJAABQABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9jYW52YXMvd2ViZ2wv
ZHJhdy1lbGVtZW50cy1vdXQtb2YtYm91bmRzLXN0ZGVyci50eHRVVAkAA+rFAFDqxQBQdXgLAAEE
6AMAAAToAwAAzdXBaoQwEAbge59iju2lJDExMbeFlUWQtUjpZSmiMYqgpsTYvn7tlt72uNK5BBLm
8DEZ/rkoIbm+HpRQpWIWc05VotOyLErdj3ZhlZnaqrXGtdY/G/MoSMKf3uGUw7UI9CmvsvPbIc+O
VfGSlofXrDiDhn48+vorHe1k57Bo8PXcW3BrANdB49a5XaBzHpq166x/uNyiKCmRUETEIiyUJMLy
QVIlDAlFMSawUBRHMiuCcCKxUNR2w0GhO+VKHYKdPgIEB7Uxdln+WL/GT+vDsD3DMP+U+qFZgwVy
ixhHMkLSrS1wiELerW3OKXai2Get3pEY030i9J5ElSBJ+Vhumn+gfANQSwMEFAACAAgAuwjuQG+A
Ljc6AQAAcwwAAEkAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2NhbnZhcy93ZWJnbC90
eXBlLWNvbnZlcnNpb24tdGVzdC1zdGRlcnIudHh0VVQJAAPxxQBQ8cUAUHV4CwABBOgDAAAE6AMA
AM2UQUvEMBCF7/6KOeplSSZJk/ZWtJaFtSvF1cMipZtmu4FuKm1W9N9b16ugB7G5DDMQeN8w72Wr
hOTJuVBClYqUJBHGLMnKcl0mbWdGrPSxqRqj+8YMC60vBYn51TPcZ+XturxLi+sMntKyWBZ5Aqn3
g92dvAECdoTGjvWuM80CHg7TeKhHGG3r9lbXzsOLGfb9cKydNlPv6s6/X2y/AxIUAwNicWBA0/Qz
UL6C8yNI8lW1LB7T1fKmmuomgwTaLjc+1d6+mi/GBKxrzBv0Jw/9HobateZ7dUXIH6pvnP1c+rfy
FFGpkK5BkcUYFhDnIjCgSM7mV4oRivn8ihRJUPZAyjgJC4gzGhQQk4KHBaR4FBiQxNkSjZwwOV+i
GWIclD3Y9OGzsIAEYmBAPLCTiYjNFiCGUsT/FKAPUEsDBBQAAgAIALkI7kBZm4CGqQAAAIwCAABU
ABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9jYW52YXMvd2ViZ2wvaW5kZXgtdmFsaWRh
dGlvbi1jb3BpZXMtaW5kaWNlcy1zdGRlcnIudHh0VVQJAAPtxQBQ7cUAUHV4CwABBOgDAAAE6AMA
AM3OsQqDMBSF4b1Pccd2KakaTbIJigiiJZQuUiSNtyKoKTG2r9/WuQ/gcobDP3w1o1Eg1jmRE2Nh
EIU08JhIpayk6AacvUaPbdOiNi3ao9Z7SnhwuEFWwBqByIomL69xkSdNdU5lfMmrEgR0Q2LVOx1w
xMnNApRzOD4dOANKa5xnMIsD8wCrpg7hhdb13xv66Zfa/r44BLKr/xBDz+dbJ3JCN06MfL4l4gdQ
SwMEFAACAAgAuQjuQM23UPaeAAAARgEAAF8AHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0
L2NhbnZhcy93ZWJnbC9pbmRleC12YWxpZGF0aW9uLXZlcmlmaWVzLXRvby1tYW55LWluZGljZXMt
c3RkZXJyLnR4dFVUCQAD7cUAUO3FAFB1eAsAAQToAwAABOgDAADNjsEKgkAUAO99xTvWJdTWXPcm
KCKIhkQXiWVbXyKoG7vP+v3Kcx/QZQ7DHKblYcTECt/zOT8yzqMwZiJrmroR/YgukHrqZIfadGj3
Wm9DL2a7K+QlrBGIvJRFdUnKIpX1KWuSc1FXIKAfU6te2YgTzuQEKCKcHgRkQGmNzoFZCMwdrJp7
hCdaGj4ahvmb2uG2EIK3aX8s8iA4/NHiG1BLAwQUAAIACAC4CO5AQz3vO5cAAAD6AQAARAAcAHRt
cC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvY2FudmFzL3dlYmdsL2dldC1hY3RpdmUtdGVzdC1z
dGRlcnIudHh0VVQJAAPrxQBQ68UAUHV4CwABBOgDAAAE6AMAAMXNQQuCMBiA4Xu/4jvWJdycOncb
JCJIgWAXiVHbpwzUwVrRzy88d+gQdXlPLzwdTzImlpCIcJ7SnMeUJaJomkMjhhGvVOnJKIPaGfRb
rddJlLPNCcoalglEWatqf5R1tVOvtgUIGMYSg9TB3rGdbe/8JMDOBh/gbgFcD/48D7jq3vE8zf7I
8ywmX+RlCN5ePtZzSthv9CdQSwMEFAACAAgAuAjuQDWwnYKWAAAAIgEAAFEAHAB0bXAvbGF5b3V0
LXRlc3QtcmVzdWx0cy9mYXN0L2NhbnZhcy93ZWJnbC9nbC1iaW5kLWF0dHJpYi1sb2NhdGlvbi10
ZXN0LXN0ZGVyci50eHRVVAkAA+vFAFDrxQBQdXgLAAEE6AMAAAToAwAAxY69DoIwGAB3n+IbdSHl
p1i6NQaNg2AaEwdiSGkLNIFi2jr49hJXH8DlcrddQ/A+o1/EKCYkTxEuMMlpyXnN6TBpn7RyVq3S
clHaRVJuMSqy3QOuJT/W/MKqQwl3xqtzdaLAQnCmewUNCIwHZbzoJq0iuI1rjsKDN4PtjRQ2wFO7
fnGzsFKvbsUU3pvmdyhPU5z8begDUEsDBBQAAgAIALkI7kD1vOIjWQAAAF8AAABKABwAdG1wL2xh
eW91dC10ZXN0LXJlc3VsdHMvZmFzdC9jYW52YXMvd2ViZ2wvbnVsbC1vYmplY3QtYmVoYXZpb3Vy
LXN0ZGVyci50eHRVVAkAA+3FAFDtxQBQdXgLAAEE6AMAAAToAwAAi7YwNTexAhOGBoYWFmamRgYm
RhZmVq5BQf5BVuk5qcVG8cm5KfEpqcn5KalFesnJGqYGliaasQruPgpgRQpW7j7xnn5hjj6eLvH+
Aa5BjiGe/n4KVkDIBQBQSwMECgAAAAAAzwjuQAAAAAAAAAAAAAAAACgAHAB0bXAvbGF5b3V0LXRl
c3QtcmVzdWx0cy9mYXN0L2ZpbGVzeXN0ZW0vVVQJAAMVxgBQiMcAUHV4CwABBOgDAAAE6AMAAFBL
AwQUAAIACADPCO5ADxRHjWYAAABvAAAAOgAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3Qv
ZmlsZXN5c3RlbS9vcC1jb3B5LXN0ZGVyci50eHRVVAkAAxXGAFAVxgBQdXgLAAEE6AMAAAToAwAA
i7YwNTOzAhOGBoYWlgYmlqbmpgaWVq5BQf5BVmmZOanxxZXFJam58SmZRanJJflFlfEpiSWJSYnF
qXrJyRoWpqaasQrOiXnqJQpFqbn5ZakKiQpwpQrlmSUZCskZmTkpRal5elwAUEsDBBQAAgAIAM8I
7kDV3gptZgAAAG8AAAA6ABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9maWxlc3lzdGVt
L29wLW1vdmUtc3RkZXJyLnR4dFVUCQADFcYAUBXGAFB1eAsAAQToAwAABOgDAACLtjA1M7MCE4YG
hhaWBqZGBubmlkZWrkFB/kFWaZk5qfHFlcUlqbnxKZlFqckl+UWV8SmJJYlJicWpesnJGhamppqx
Cs6JeeolCkWpufllqQqJCnClCuWZJRkKyRmZOSlFqXl6XABQSwMEFAACAAgAzwjuQNGkAZ1mAAAA
bwAAADwAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2ZpbGVzeXN0ZW0vb3AtcmVtb3Zl
LXN0ZGVyci50eHRVVAkAAxXGAFAVxgBQdXgLAAEE6AMAAAToAwAAi7YwNTOzAhOGBoYWlgamRuaG
ZgYWVq5BQf5BVmmZOanxxZXFJam58SmZRanJJflFlfEpiSWJSYnFqXrJyRoWpqaasQrOiXnqJQpF
qbn5ZakKiQpwpQrlmSUZCskZmTkpRal5elwAUEsDBBQAAgAIAIwJ7kBDsoGyPKMAAN+/BwAmABwA
dG1wL2xheW91dC10ZXN0LXJlc3VsdHMvYWNjZXNzX2xvZy50eHRVVAkAA3fHAFBmxQBQdXgLAAEE
6AMAAAToAwAA7F1tb9u4lv6+v6K4QPpll434orcBgmKm07m3F3dvi012scBiUSgSbauVJY0kJ/H+
+iUlObEtUqZFSo5bTwGPYxt6zhvJw3MODyFy31nsH3wD2L//geT676vkGlkQ/WLBXyz8C3bf/KvF
/vvfN3/568e7N9dBnodBuKDXQRjSsgQPcQAKGsUFDat3+SJ/87e7uy/X8B38yxtsuW/Av8DBCAUt
s1XBUIRYi2qZbIEhy3oDoYNHw1sGaTyjZbWPaU+JiC2iJdKwCMoFeFzQFKTBQzwPqjidg+AxWIOK
f3gfhN9FknVdYoTNofhkSnyJpm33pCToqv70FITMsmlaxUECVkUiNDMHGeGQLvNqPfKIlWJoi2ld
xEkSh0xIsUhICGNDg2EbSCIsTFzjWGCWFUsRZ55lGQGL04qyN3l1XX8TgavfrSv/j6vf4ZVn8fe/
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
4DtmRzLbGjAbGzBbG/Cayx043JHDHTrcscMdPNzRwx0+3PGTc9Q667hwIGBKmD0kGGNiT+dNjjza
0A8LN/TDwg3dO7Ohu1w2dJfLhu5y2dBdLhu6y2VDd2Js6E6MDd2JsaE7MTZ0J8aG7sTY0C3vDd3y
3tAt7w3d8gYoo1kHTsOOjHWixwdMPLlLdvSq7Oi12HEqENGhMR26oUO3dOiO0a8vDCxDCD5DClR/
2Zau9bd0rb+la/0t3Se/pS8QW/oCsaUvEFv6ArGlLxBbuk9+S/fJb+nLzpa+7Gzpy86Wvuxs6cvO
lr7sbOnLzpa+7Gzpy86Wvuxs6QH9W/oKteWsUFvmCrVlrlBb5gq1pa9QW/oKtaWvUFv6CrWlr1Bb
+gq1pa9QW/oKtWWsUFvGCrVlrFBbxgq1o69QO/oKtaOvUDv6CrWjr1A7+gq1o69QO/oKtaOvUDv6
CrWjLzs7+rKzoy87O/qys6MvOzv6srOjLzs7+rKzoy87O/qys6MvOzvOWrJjriU75lqyo68NO/ra
sKOvDTv62rCjrw07+tqwo68NO/rasKOfj+wYy8iOsYzsGMvInr407OlLw56+NOzpS8OevjTs6UvD
nr407OlLw56+NOzpS8OevjTs6UvDnr407OlLw56+NOzpS8OeHs2zp0fz7OnKcE9Xhnu6MtzTleGe
rgz3dGW455z0AZizNvX4gIdnfGDPgQZ0aEiH0uQXvJA1bvBC1rgCGtG5RhyuIR0a0aExHbqhQ7d0
6I4Kjen9GtP7Nab3a0zv15jerzG9Xzf0HtjQe2BD74ENvQc29B7YcHpgS4eSR9ae3q97er/u6f3K
0Fl7er/u6f1Kv7mOYMaaM+ADHp7xAf+FhQ0Y2JCBJcrQp687Pn3d8enrjk9fd3z6uuPT1x2fvu74
9HXHp687Pn3d8enrjk9fd3z6uuPT1x2fvu749HXHJ1v6CCX365ber1t6v27p/bql9+uW3q9ber9u
6f265fTrngoF697ngAMOmCyIPb0Se3oV9pwKRHRoTIdu6NADpw+OPDB9LfWZi3WPD5l4cn/7jMXS
Z6yW9LXdZ63t/gt9gPgv9BHiv9CVhcAStUVAt0UCui0S0G2RgG6LBHRbJKDbIgHdFgnotkhAt0UC
ui0S0G2RgG6LBHRbJKDbIgHdFgnotkhAt0UCui0S0G2RgG6LBHRbJKDbIgHdFgnotkhAt0UCui0S
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
b21pdW0vVVQJAAP5xgBQiMcAUHV4CwABBOgDAAAE6AMAAFBLAwQKAAAAAABJCe5AAAAAAAAAAAAA
AAAAMgAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwv
VVQJAAP5xgBQiMcAUHV4CwABBOgDAAAE6AMAAFBLAwQKAAAAAABJCe5AAAAAAAAAAAAAAAAANgAc
AHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvZ3B1L1VU
CQAD+cYAUIjHAFB1eAsAAQToAwAABOgDAABQSwMECgAAAAAASQnuQAAAAAAAAAAAAAAAADsAHAB0
bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9mYXN0
L1VUCQAD+cYAUIjHAFB1eAsAAQToAwAABOgDAABQSwMECgAAAAAASQnuQAAAAAAAAAAAAAAAAEIA
HAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9m
YXN0L2NhbnZhcy9VVAkAA/nGAFCIxwBQdXgLAAEE6AMAAAToAwAAUEsDBAoAAAAAAEwJ7kAAAAAA
AAAAAAAAAABIABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vdmly
dHVhbC9ncHUvZmFzdC9jYW52YXMvd2ViZ2wvVVQJAAP/xgBQiMcAUHV4CwABBOgDAAAE6AMAAFBL
AwQUAAIACABMCe5AylTQNooAAACTAAAAcAAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRm
b3JtL2Nocm9taXVtL3ZpcnR1YWwvZ3B1L2Zhc3QvY2FudmFzL3dlYmdsL3VuaWZvcm0tYXJyYXkt
bGVuZ3RoLW92ZXJmbG93LXN0ZGVyci50eHRVVAkAA//GAFD/xgBQdXgLAAEE6AMAAAToAwAALcex
DoIwFEDR3a94oy6EFjS2GyFoHCymMXEwhpT2AU1KMW0d/HsZXG7OfRJKScH/zQkjxZFRVpIDb6Rs
JR8dRtrp2XQG9WIwZFpv9zkrdy+4NfLUymsl6gYelRQXceZQpRRs/0kIOdgIxkbVOzQZ3Kd1JxUh
2tEPViuf4I1hWMKsvMbVXrn03fwAUEsDBBQAAgAIAEkJ7kBdg+kOqAAAAN8CAABvABwAdG1wL2xh
eW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9ncHUvZmFzdC9jYW52
YXMvd2ViZ2wvZ2wtdmVydGV4LWF0dHJpYi16ZXJvLWlzc3Vlcy1zdGRlcnIudHh0VVQJAAP6xgBQ
+sYAUHV4CwABBOgDAAAE6AMAAM3OvQ6CMBiF4d2r+EZdSL8C4WcjBo2DYBoTB2JMaQs0gWLaOnj3
Mji6y3Lynu1pkFIM8+8SzDCMMIsowbxkrGZ5PypHH2KSD6nELJUNhNjGJIt2d7iU7FCzc1HtS7gV
rDpVxxwK761uX14BAe1AasfbUckArsNyB+7A6d50WnDj4alsN9uJG6GWNnz0703zg0RJElOyLhKm
GK+MRNMEo3WRwiwkyd9IH1BLAwQUAAIACABKCe5AdQt24doAAAA4AQAAYwAcAHRtcC9sYXlvdXQt
dGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvZ3B1L2Zhc3QvY2FudmFzL3dl
YmdsL2luZGV4LXZhbGlkYXRpb24tc3RkZXJyLnR4dFVUCQAD+8YAUPvGAFB1eAsAAQToAwAABOgD
AACNj0FPg0AUhO/9FXPUS8NS0bI3YpGQIJhNo4fGkO3yoJvA0uy+avz3otGbBy+TmckcvjmIOBYb
+aORSMUmEcldvL2VuVKNksNIIW7N1LUdmbkjvzbmKonSm+tXPOXqoVGPWX2f4yVTdVkXEhmzt8cL
EyLYgM4GfRypW2N/WuJJBwQ7uN4a7Rhn8v3sJ+0MLd7pkT9Wh7+R0mj7D6SiwvcIsqjasn7OqnLX
Ngtoti+bGhLDuPP6PR9pIsdBQjPTdGbwDG0MhYD5wph7eO0Gwht5tksN676mv89Wn1BLAwQUAAIA
CABJCe5AEu2C/MgAAABeBgAAbAAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2No
cm9taXVtL3ZpcnR1YWwvZ3B1L2Zhc3QvY2FudmFzL3dlYmdsL2RyYXctYXJyYXlzLW91dC1vZi1i
b3VuZHMtc3RkZXJyLnR4dFVUCQAD+cYAUPnGAFB1eAsAAQToAwAABOgDAADN0bEKwjAUBdDdr3ij
LpI0SdNkKyilUKwUcREpMY2loK2kUfHvreLoBzx43OFxhwP3QKOIMv1LQhVljEolqdDrqior3V7c
GNX22tSNs0Pj/NLauSCKL46QFfAtgc6KOt/s0yJf1eV2XaW7vNyAhvay8uaZem9eowYTgrveAoQB
jLVuHGG4BxjO4E3fOng4H7rpDV3/qfrudA8OyOzwj5gQEUfIiZRJjpzIBMM+NEsU9qE5VciHVjGR
AjuRJww7MeESOVFOh4b4BlBLAwQUAAIACABJCe5A9rZITYsAAAABAQAAYgAcAHRtcC9sYXlvdXQt
dGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvZ3B1L2Zhc3QvY2FudmFzL3dl
YmdsL2Vycm9yLXJlcG9ydGluZy1zdGRlcnIudHh0VVQJAAP5xgBQ+cYAUHV4CwABBOgDAAAE6AMA
AIs2NDIyNLaCkgaGlobGxsbmFsbGRlauQUH+QVbpOanFRvHJuSnxKanJ+SmpRXrJyRqmBpYmmrEK
7j4KYEUKVu4+8Z5+YY4+ni7xQDLUVcFKIT3HPbXEMbkksyzVsaSkKDPJSiEzLyW1QiG/tEQhP02h
KDEvPZUrGqv9lkZG5lS0PzQvMy2/KBerAwBQSwMEFAACAAgASgnuQHiGDRTNAAAAqAEAAG0AHAB0
bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9mYXN0
L2NhbnZhcy93ZWJnbC9zaGFkZXItZGVsZXRlZC1ieS1hY2Nlc3Nvci1zdGRlcnIudHh0VVQJAAP8
xgBQ/MYAUHV4CwABBOgDAAAE6AMAAM3OO2vDMBQF4D2/4o7JYvyInVib27jG4DhF9DGEYm6uFFsg
y0VSCv33NUnHDh2zHM6BM3zHKI6jhP1mGOVRkiVpmmxzVnJ+4KzX0sUdjaITkiYhbUC0TMN8vfqA
55I/Hfi+aB9LeC94W7cVg8J7q04XLyEE5UAohyctRQAvwzwHdOBUb86K0Hj4lPY82RENybkb1P57
cfybtFnfG2m7ybJ/kKoGridgVdPV7VvR1LtuztcSGPT6QRlxAzYToVeTYVCbL9RKAA1okby0ix9Q
SwMEFAACAAgASQnuQHW+HagBAQAA1QkAAG4AHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0
Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9mYXN0L2NhbnZhcy93ZWJnbC9kcmF3LWVsZW1lbnRz
LW91dC1vZi1ib3VuZHMtc3RkZXJyLnR4dFVUCQAD+cYAUPnGAFB1eAsAAQToAwAABOgDAADN1jtr
xDAMAOC9v0Jjbyl+x/Z2cOEIhEsJpctRQuI4IZBHcZz27zd9bbeWahFYaPiwZOQrZYxy+xMJNZRz
JhQnxqZlWZS2H/3KKje1Vevd0vrw4Ny9JEYcXuCcw1cR2HNeZZfnY56dquIxLY9PWXEBC/14CvV7
OvrJz3G1EOq597BsEZYOmmWb2xW6JUCzdZ0Pd9ebmIRoigcjuUaD0TRhWDCScCLxYJSieDDG4GnT
/rgVHoxWAg2GK5n8BaaO0U+vEeICtXN+XX9h38o3H+Kwp2GYP0vD0GzRA7mNVNIINIOtlKAU/Y0p
zQh6ZMIYw49U+wk7UjOJZg0pbcR//KM+AFBLAwQUAAIACABMCe5AMUX+9T4BAAChDAAAZwAcAHRt
cC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvZ3B1L2Zhc3Qv
Y2FudmFzL3dlYmdsL3R5cGUtY29udmVyc2lvbi10ZXN0LXN0ZGVyci50eHRVVAkAA//GAFD/xgBQ
dXgLAAEE6AMAAAToAwAAzdNPS8MwFADwu5/iHfUymj8vaXMrWstgdlKcHoaUrk27QJdKm4l+ezv1
qLCD2BzyyINAfsl7b0soJUx9x4BEhIUyEFKgSvJ8nau20yMtqkNd1Lrqaz0squoSg4hfPcN9kt+u
87s4u07gKc6zZZYqiJ0bzO7oNARgRqjNWO46XS/gYT+l+3KE0bS2MVVpHbzooemHQ2krPe1t2bn3
i+2PJElF5BuJB6FvJGTyDFK6gs9DoNJVscwe49XyppjiJgEFbZdqF1fOvOovpQJja/0G/dFB38BQ
2lb/dv+0/vD+jTWnh58PIPyUeVUTwrkMfSMJSn0jSRbN2LkEA8Ln7FyKiJ7VhOL0L56RRIDCNxKl
oW8kxiPfSFywGeebCok453wzJJL7VROGnIW+kQRD30hSMN9IocQZh4kJIug/DdMHUEsDBBQAAgAI
AEoJ7kBXQ02hqwAAAJQCAAByABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hy
b21pdW0vdmlydHVhbC9ncHUvZmFzdC9jYW52YXMvd2ViZ2wvaW5kZXgtdmFsaWRhdGlvbi1jb3Bp
ZXMtaW5kaWNlcy1zdGRlcnIudHh0VVQJAAP7xgBQ+8YAUHV4CwABBOgDAAAE6AMAAM3OuwqDMBiG
4b1X8Y/tUnLQqtkERQTREkoXKSGNf0XwUGJsb78HOvYCXL7h4x2emjJGufgtoRHlXhTxgBORSllJ
0fY4M2WGRjVopgbt3pitTyJvd4GsgG8EIitUXp7jIk9UdUxlfMqrEgS0fWL1M+1xwNHNArRzONwd
uAm0MTjPMC0OphtYPbYID7Sue9/QjZ/UdtfFIZBN/RfpsTBYPzII+OqRPjmEK0K+AFBLAwQUAAIA
CABKCe5AW8iBl54AAABKAQAAfQAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2No
cm9taXVtL3ZpcnR1YWwvZ3B1L2Zhc3QvY2FudmFzL3dlYmdsL2luZGV4LXZhbGlkYXRpb24tdmVy
aWZpZXMtdG9vLW1hbnktaW5kaWNlcy1zdGRlcnIudHh0VVQJAAP7xgBQ+8YAUHV4CwABBOgDAAAE
6AMAAM2OuwrCMBRAd7/ijrpIklq02QotpVBaCeIiEmJ6LYW2keRWf98Hjn6AyxkOZzgnLgSP5JeM
JzyK2ZYLJmSuVKNkN2AQ2o6tbtG6Fv3a2mXMks3qDEUFnwhkUemyPqZVmelmn6v0UDY1SOiGzJtH
PuCIEwUJhgjHGwE5MNZiCOBmAncFb6YO4Y6e+peGfnqnvr/MhMAWp9+TSbz7o8knUEsDBBQAAgAI
AEkJ7kCfU6/WmAAAAAICAABiABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hy
b21pdW0vdmlydHVhbC9ncHUvZmFzdC9jYW52YXMvd2ViZ2wvZ2V0LWFjdGl2ZS10ZXN0LXN0ZGVy
ci50eHRVVAkAA/nGAFD5xgBQdXgLAAEE6AMAAAToAwAAxY6xCsIwFAB3v+KNukiTNLTJFrCUQlEo
1KVI0OS1BNoGYhQ/XxFHF0F0uengriOUEiZfTIggjHHOuMhl0TS7Rg4jnqk2k9UWjbcY1sYseSLS
1QHKGp4SyLLW1Xav6mqjH2wLkDCMJUZlortiO7veh0mCmy3ewF8i+B7CcR5w0b0dSCnN/jqQZzz5
4oCKMbjTB31BSf6b/h1QSwMEFAACAAgASQnuQKdmUyuVAAAAJgEAAG8AHAB0bXAvbGF5b3V0LXRl
c3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9mYXN0L2NhbnZhcy93ZWJn
bC9nbC1iaW5kLWF0dHJpYi1sb2NhdGlvbi10ZXN0LXN0ZGVyci50eHRVVAkAA/nGAFD5xgBQdXgL
AAEE6AMAAAToAwAAxY6xDoIwFAB3v+KNupC2ILHdiEHjIJjGxIEYU9oHNIFi2jr49zI4urtc7rZr
KGM0FV8Symma5iTnGRWllLUU/YiBPfRkHgb1bNAnWq+3hGebO1xKeajluaj2JdwKWZ2qo4AiRm/b
V0QgYAMYG1Q7okngOiw5qADB9q6zWrkIT/Td7CflNC7u1Bjfq+bXEiVsx/+29AFQSwMEFAACAAgA
SgnuQBul2F5XAAAAYQAAAGgAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJv
bWl1bS92aXJ0dWFsL2dwdS9mYXN0L2NhbnZhcy93ZWJnbC9udWxsLW9iamVjdC1iZWhhdmlvdXIt
c3RkZXJyLnR4dFVUCQAD+8YAUPvGAFB1eAsAAQToAwAABOgDAACLNjQyMjS2gpIGhpaGxqYmxsYg
nmtQkH+QVXpOarFRfHJuSnxKanJ+SmqRXnKyhqmBpYlmrIK7jwJYkYKVu0+8p1+Yo4+nS7x/gGuQ
Y4inv5+CFRByAQBQSwMECgAAAAAAGQnuQAAAAAAAAAAAAAAAAC8AHAB0bXAvbGF5b3V0LXRlc3Qt
cmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS9odHRwL1VUCQADocYAUIjHAFB1eAsAAQToAwAABOgD
AABQSwMECgAAAAAAGQnuQAAAAAAAAAAAAAAAADUAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9odHRwL3Rlc3RzL1VUCQADocYAUIjHAFB1eAsAAQToAwAABOgDAABQ
SwMECgAAAAAAGQnuQAAAAAAAAAAAAAAAAD4AHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0
Zm9ybS9jaHJvbWl1bS9odHRwL3Rlc3RzL3NlY3VyaXR5L1VUCQADocYAUIjHAFB1eAsAAQToAwAA
BOgDAABQSwMECgAAAAAAGQnuQAAAAAAAAAAAAAAAAEsAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0
cy9wbGF0Zm9ybS9jaHJvbWl1bS9odHRwL3Rlc3RzL3NlY3VyaXR5L21peGVkQ29udGVudC9VVAkA
A6HGAFCIxwBQdXgLAAEE6AMAAAToAwAAUEsDBBQAAgAIABkJ7kC5c2PBagAAAHIAAAB7ABwAdG1w
L2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vaHR0cC90ZXN0cy9zZWN1cml0
eS9taXhlZENvbnRlbnQvaW5zZWN1cmUtaWZyYW1lLWluLW1haW4tZnJhbWUtYWxsb3dlZC1zdGRl
cnIudHh0VVQJAAOhxgBQocYAUHV4CwABBOgDAAAE6AMAAIs2NDAxNbMCkuamQNLQEsg1NTMztTSz
cg0K8g+ySk4tKokvSy3KTKuMLyjKT47PKy7WS07WMDcx0YxVcHYNCokP8PaMCAOrcAYqVkjLL1Iw
NDLXMwBCQ4W0xMyc1BSF1KIiW10LQwtDLgBQSwMEFAACAAgAdAnuQInBXAMZWQAAjvICACYAHAB0
bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy90ZXN0c19ydW4wLnR4dFVUCQADS8cAUGjFAFB1eAsAAQTo
AwAABOgDAAC9vVubqzYSNnq//8p+WG1juw+XyUpmJvMlk3xZmZnM1XpkkG3SGIgE3e38+l1VEicb
kATyvkiW2673RehYVSqVTmVZPJRclvKBFUXEohN/YFHEpQzeEhYIHieCR+Wn4lT8P6cB2UgweQre
TzwLMvaWHFmZZMeAvbNLUOKXexa9fjqV53QEzWOelQlLg0qkE3IXkaRpEoFUMi4V8wMXwBjwNyCV
QcxTXnIoXJLyQLBEYtHK5MzFMg5r9JSgLEV+AcmDYGc+JVjiv3GQmASTAzwbnhrkIjkmWXBmWXIA
GRuIhD+nySXbpzyekMij6oxU7yKB+kK5AKqOvgpnwcZB/FyUF4v3O7AkDfIsqIqYAXloKzkll6bT
PfqQC54cs8AsmWSSi7JfU+9JeWpebKrARvA4NM0jGG5RnpWTlXxm0IcEl3klImgYGOVTsrrEyAo4
HGdJKXl6sMAUTEwPqkaynoymKuZG2EKUKk51qgMM83HE9QynZgX6LWBliRQB1Foh8iPU3MTwzw+H
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
AsX4ICfOMX3tDnrL4X4VAsajBK5dYabIoqx6VS3BJBNn8vRcBpXTe6uhVFlKBkvYvgG0+ZWBtiay
6HZNWatUdqoxqAkQiOIBe+byu04A/Lko2U9zeMgQDWYR4uB1jkkhAdQNZe9YtxAXyyeyMy76zQ4D
DyKYfHOkiRC4SBA4weMsBpxDQn6aYoopdHNwOgGUb1LSA1BF9kDIBTRtJSdbb0vsyEpmW5uZ8Atd
X0J0gjnPqhFy3tLZFSe7edubX5GDDnFbroykdBvx2pDhFTYzm98x2XEsARDleEoeRZ0PzMJg18so
cR4tYTuFXuWgzGeGzM21zsy2HOJjQ6D7R2j8YI67Y1YqZVF4LTPh7Q/t36hqUYj5CkIBBbrDjsWG
SWUapPWzhGhtJew4JzN4R2SQK8e+bVoRkxJbpyLxN5VkjeABajiziN5YlkfHweQpzUN3F/b5ySyt
rflOp69tleXAD19SMUo1ODpp/m2kqs8B/P2Rd4La2Nixlcvd9bBV9h3aZdV2vj15neONHSj7WB2S
SeEZ6rTGP0UUbt9BT5jQw73Bk06HvTp9/rdjVMMLOk28lqOl15q6n3IRkkPJJ8dtWKURxvAwDNmD
geJmc7XIy/S0eXfvXFxjTTF8ZxkL0YSfxTOOIgxOaVQhfkGPZeS0fOiyTgewEuixPBud7EPVdJWB
QOmVS03gRZkD1TgoZUK6QOxO9u09HNajpJN7/wtQSwMECgAAAAAATQnuQAAAAAAAAAAAAAAAACAA
HAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbHVnaW5zL1VUCQADAscAUIjHAFB1eAsAAQToAwAA
BOgDAABQSwMEFAACAAgATQnuQP4X/EfvAAAAVQEAAEQAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0
cy9wbHVnaW5zL251bGwtbnBwLWdldHZhbHVlLXBvaW50ZXItc3RkZXJyLnR4dFVUCQADAscAUALH
AFB1eAsAAQToAwAABOgDAABtULFOwzAU3PsV3mgHYuK2obGEGAoDC6AyMFQoSuyn5Km2n9W8KIiv
x0m7wfJOOr073d1xty0KPZ/8Li/zjcq36l5t9PPh8HbQIzTRDS2GyoKDtmao0EdXtXzKjFnmqlx9
iVdiMbHgITBYcYbadAkxiIbIiWRyQtY6xDqi1p/QvM+eT1fLl6RNNAZLI9h9kjNcPpYrMV5pcckh
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
6RVl+GagBtvsbdEDbg5rNSoih1zgjh25pfQrjgcffMPxN4JWLh2PMAkTHjdwElaPGTiSt08JJj7T
Ik3c3Pglb7VhVcTum7wlACvgUgaS6CvvnUp3YeeVpsqh9aQN2QpcSG9lKWpJ5mBVZ7L73QPSTzzQ
DzdkYWd871Y7Z/Ks+xMFjmV1kxc2u6noK/3cAdNFzN9RV+Qu5esxXiHLRdTWw8OczvLZ/1we//un
46vrmw/H1z9eHP3d/Of15cHhcXvgJYAHz83I/HTyS2/xVk+Cec4vvpGFN15S4h+uzhpsvh93Gib+
H1BLAwQKAAAAAAB2CO5AAAAAAAAAAAAAAAAAHQAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0
dHAvVVQJAANvxQBQiMcAUHV4CwABBOgDAAAE6AMAAFBLAwQKAAAAAADyCO5AAAAAAAAAAAAAAAAA
IwAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvVVQJAANYxgBQiMcAUHV4CwAB
BOgDAAAE6AMAAFBLAwQKAAAAAADyCO5AAAAAAAAAAAAAAAAAJwAcAHRtcC9sYXlvdXQtdGVzdC1y
ZXN1bHRzL2h0dHAvdGVzdHMvdzNjL1VUCQADWMYAUIjHAFB1eAsAAQToAwAABOgDAABQSwMECgAA
AAAA8gjuQAAAAAAAAAAAAAAAAC8AHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3Rz
L3czYy93ZWJwZXJmL1VUCQADWMYAUIjHAFB1eAsAAQToAwAABOgDAABQSwMECgAAAAAA8gjuQAAA
AAAAAAAAAAAAADoAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL3czYy93ZWJw
ZXJmL3N1Ym1pc3Npb24vVVQJAANYxgBQiMcAUHV4CwABBOgDAAAE6AMAAFBLAwQKAAAAAADyCO5A
AAAAAAAAAAAAAAAASgAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvdzNjL3dl
YnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvVVQJAANYxgBQiMcAUHV4CwABBOgDAAAE
6AMAAFBLAwQKAAAAAAD1CO5AAAAAAAAAAAAAAAAATwAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRz
L2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC9V
VAkAA17GAFCIxwBQdXgLAAEE6AMAAAToAwAAUEsDBBQAAgAIAIkJ7kAhy89xwAEAAJIEAAB1ABwA
dG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9u
L3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2VfYXR0cmlidXRlX29yZGVyLWRpZmYu
dHh0VVQJAANyxwBQcscAUHV4CwABBOgDAAAE6AMAAL1Sz2/TMBS+96/4JA47dF4ou0wVQi0QJqSy
Tso4V07y2pg5dvb8zBb+epyxTm03RE8oFyv+3vfLTymFTNous7r3UZRQEMUUopWQNSJdNvwJ2f15
ld1T2RGvsxDL1oRgvMsS0keuSIlpjdukidY+Tqy2NystwqaMQivPNbGih44qofpMHgSj8Xj8n/V1
JVHbP+qzGdTkdHKB8eT0ArPZaPxpeVUsFzm+5UUxv8ynsMYR3p1P8d1VOm4awU3fUc7seYpl+SNl
wZv318mX51a7ij6g0QHOoyVpfI2TZPvWyCVJ7pITCh/7K93SyQifKVRsOklBRhjhpjEBg3f81NbU
Oh0hjRZoa+HX6UwwzojR4hmSXARoJjB1KSy5odOBJ33qel4UWDrbY4Idb4ODHqHx0dZotVTNFstU
G05ZCtEsW0RJeHsIyF19cP1l/nWBNSWyw2HnnfpF7KFDIJaVcKTpP6Db9cAAxsYL1toGenJR+1Yb
t/D+NnaHFBum1BkPnTmkhuguvTPE7wq+QrMf6K8kL5WfuCrv3CvFHUU0aO/THOlmT/T5he5i2p6j
jewoPjOEzrtAR1PsSR6QHJlkXzPt7m9QSwMEFAACAAgAjAnuQAlCjiKACAAAGR8AAH8AHAB0bXAv
bGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVz
b3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9keW5hbWljX2luc2VydGlvbi1wcmV0dHkt
ZGlmZi5odG1sVVQJAAN3xwBQWMYAUHV4CwABBOgDAAAE6AMAANVZW2/bRhp9968Y2EgMFCEpWZJj
SY6L1JfuQ9sEcPbZGJJDcWKSw50Zyla6+9/3mxtFUqSkYpsW26CRxLmd73bON8x1KvPs5uQ6JTiG
DyE3Gbk5WWS0eH6HFmsqqCQx+v0EwX+SvEovJhHjWFJWLFDBCrLUQyHjMeFeyKRk+QKNy1cUw3cS
L0/+c2K2s5tELGN8gc5Gk7ke8x9oRu5oktjxEEfPK86qIvbc1ORK/WkeZE4QLKMxOovj2IwlrJBe
gnOabRYoZwUTJY4swBzzFQXIY5KjkXlUMjBO28FJBhatiQaUjjtIJ5NJz/4CF8IThNOkMSjoN6LP
aB7qZSSRCzTyZ+55TEWZYdhE4jAjXkSyzAy80FimsMFo9MZixHFMi1W92uCz4VHf2hGykGmRAjBZ
T0/ZmvCOVbPZbDnkcEKMK3wVl1/gLGEXJxnDYAqnq1S2o6dm3YILMC3qoxi4n0owc3TAbGulp/dt
eeolBes8HUeVbi8cl1tkjyRS8RtMHL24nTbdlLF56/wOSTUqX80J968lhBj2B9PIO+Srj66Fg/AE
jUm4UX8jDfWnjEXPnzGXPpi6SCgX0otSmsWDjlXHPcL6d/s24ySH0L47cJ49w7mfFpA+xAvVlFba
zVzWQbZIGuHMwxldQX1I1mMWJyrb/4GLOCPOHXYf5UL1OyUmoNt8jiouVGgU7G4V4hCiU7mIwZl1
4pgC0vD2oWjl+W46rDjZLDuJ6c8Oxcu4GPmSHXSzn3CWd5xtOVKdobz+W5WHhEM2kWZ2macO+C6V
2qydz1sk6MqljwpdJU+n007t7Ua/5hi10cyUgCmDmvRtHtj07EsRA7eVThNLWA3DtYm9hGOEYtAt
+0hKIbS+c0RiE8bZ0CrTkhPPFKoeAlfqn2ACJ/jZUw/MvjTHK9IKygJd1L4OM6wcqCZGwAqAAaJq
v6GuyduAXE3ng7SbkGRb+yqjYMdaHRuF3LM0TuL2UoizGJ4+J/PlPkmvd7IE08RhC2JYreN4ZwMU
k2x4BZkfRBP8gB6rsmRcgtBym8Tg1DwnhRTohwDOw5VMmfG3EWPVy0DCS0jRyEVKL9BzBuS/nqPA
YEgJPdkx2aXLacU0OMtuHYLe2RdGxnL86rWUve8Y8PHePesCrit3Z8vuep+VxKij90LCZyo9yVV1
GasNSORfiGUD8tQaeCYklpX4qQpBqmvZ81Wl9MKBJSGLN3rMtj2OwaZOUs8kY1mIeXsDhy1kulq3
z3P2zT2sKWpiStp2VOqr6xnU9+HmcIg/9jZ12wxJ6KtlKGeDj4sIss12Xs7UUdtOH+sGxRTirsS/
UGAL3klGexRC3zxaxOQVaGyPxVuVbEDoM9fSVUv7rizPFQqmLele3YLzIBAHgV5ugY6N4DuFMr80
WPu9ljf7swZct22to2nCcW4Qdnrkdo/RqKzbAS7e9c0GGlH2YhsBkkFXCWE9QrUu5w/brLPpPjCo
HdEeq3vMeLd3bnfOdg/jvt3UHuwXYsfE5piPjkrcXWjUHP3iVLRzabl87yhvF+ae2mlch0SOTaPf
ZOWCcXi8HOAma7/qz0Tf4dhWnSn3Ue+UBU5cdWlZLsCcU/RvdLo8qeW4IeLd1RmGFp0lntyUpHer
U7MuJZlmxLrJxKrJHBCgs5wI4bqKQRf1ebSR2I+amY/ROdAU6HbWlFXitn4CTeo3Utw2lLBPxF0/
0dWUpppAYXpJpip/rANpCbv5zCaT5YGJu1sdhcpGFxoZIlVat4TA9nYDnV1TYMMKCqNoUocT8Ziu
FwmLrC9ZJVXJNysozCqtEXYI0iEBLCBNY2dIUyX1LtCofEmJOSmwErsC/MoGyZCEsdDMtpkk0Jpi
RavyV5sbADbk7AUCDy1AimGt7Xyo9FWnU9sxndkuve437G9X4KpbVf+P2vLoXtt0e/icxnCLshES
pIrZk7lePZE1IH1qkPCWdd+0WpE3bd1sXuk0fXnjsWVplQHC3d57VAe6OSbwGoILLiYd7WnuuyOH
3tifmMZr+/bENQ49QT67u7trUMLZ1cPdw+yhl8OgRe0vl/v7+z7UC5KXctPOLtsMdWb68BWQWoqx
m86vRleW26KMYP6kWwh3oVBP9L0rVVOuA/vq7lpEnJaQNDz6cJpKWYpFEOCv+NVfMbaCRSUVqjb0
syCjoQi+/qsifBOM/al/YX/4OS38r+L0BvbV+92g9s4Ri4mnYkheYN6PkEoqmB+mk8YSAGVfK6rW
ED6g4AA3FuLDubtPnKt3j+ObQOZlABkAbvIkAeaFxKsyKQJlQaCeiOBlEgXAPCXhSSCqMKdCHRnA
TFbxiHiSAuhVoF5o6hVPbuQp3hRAqdGTohKuMsiDjqfCmS9B8wDkuI2t8W7pfHdE3/mHnqt3AQiy
rjOurkKo/QLJTgLqKtws/fpg23ac37wtQlEuwZ8w6aY1FaikOXHcOwcU/fzm9tNvj59+uUe/3j8+
fvz5fqHXoclkgf5ZRLhS/PQFJO6ec5V0n8KvYDg6e5vJ5WdwtFLpIiJvV3KJUiygPlFO4JoVo3Mj
Aj8TeV9ITok4txgg6mC5+2h6oZHE5zd22M79wz4WKdyMDrv5oIvHR3j3Yti7d8TkOqRK1/z/DdfF
Ebgmw7j+XDCTI8BMh8F8Sam6zAqJ1qA0MdCdFTbgVMQSLYq0AGrHEu7vquESCKIL93JQdAHKA+24
UiBQe/jLFjOs3SBT0CT2/1x7p0fYO/urnD87AszlXwXm8ggw748H810pwrx6OszE23l7TX9/hOl7
CFvb//nj4yNqCZnTKBGsCICB2qhlyy/T8kdVDR8iIRCUEHktzd0UTk2hddgWjWJwpP+R7Q+F+1jT
r/4+023Pedh6O/G72D//G+3XL6GPMD9fof9PAR4d4dyr70MpnQ/dpV4H5l/E/wtQSwMEFAACAAgA
jAnuQPEWm7dQAQAAmwIAAHkAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL3cz
Yy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9k
eW5hbWljX2luc2VydGlvbi13ZGlmZi5odG1sVVQJAAN3xwBQWMYAUHV4CwABBOgDAAAE6AMAAJ1S
PW/CMBDd8ytOQoKNDGwhpEJtxNIWpNC5OuxL4pLYkX1Ao6r/vZdSJNQJ4cE6+fzufdhpTaizNHDf
UDbV1MAX7FDtK+8OVicwKhHn8A1T1Pp/C8uhlcZncBqfR3Ve6tChBdVgCAsBZo/r12L9nMNLXhTL
VZ5AYyzBbJbAm1V4qGqGbd9R7r3zCax3H6QYRuOG5xvypfMtWkXjiudQYwDroCWunYbJiXZ7wyvi
3LI3FCaiRqiz6ImC8qZj42wUbWsTgCkwHLExGqUErpEBmwZcKTWBsYYNsvPAoiQAegJPYiaQZdJA
R7JwqmXTvcXWKMH2ggrkpT2NZF27liSzzbIoID7NVCwyOzESyzR38IpCXJElL0LeL0fTru4eBuqF
CgFEL312koIwsxPXxyuFQ1RDgnuI7qQwpceWbmD5u3g3T4vVTTRtdXm43yDj4RP9AFBLAwQUAAIA
CACMCe5AKrAZltgAAABFAwAAcwAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMv
dzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNl
X3JlZGlyZWN0cy1leHBlY3RlZC50eHRVVAkAA3fHAFB3xwBQdXgLAAEE6AMAAAToAwAAvZM9awMx
DIZ3/wotWXPQQLejFErpkEJJUuhWXPvNWeTOdmXlo/++PpqMhZtOk5BeSQ9CekJxwlk5RWN2gQsp
itLJ9uxtdUmDVRJ4Fjgt5BPFpGR7hdQc6H2zXppqb4/bLTXnlWvO+MqQfSMo6SgOpbmVL3PID31y
dhzX/iPuECF19OctNFYtVs/6k9G6Uqgy4pJrO3jSRMGeQBxZ2WqSXVVRz/FAMxHxXuyACVBX4axY
i7t79u0lyAS+j9f1i2re4Ps4XsBcnIPtJm1v6OZC+nuICUxXoTG/UEsDBBQAAgAIAIwJ7kBL2AOb
gQEAABIFAABxABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVy
Zi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2VfcmVkaXJlY3Rz
LXdkaWZmLmh0bWxVVAkAA3fHAFBdxgBQdXgLAAEE6AMAAAToAwAAxZRNaxsxEIbv+ysGQpKbFxwa
gj+2mHabHpw6ZBPIrYyl8a7qXUkZjfNByX/PbF1DKBR8KO6exM7H++iVRpOG0BaTJC8tFQNLLfyE
JZp1zWHj7QiOVohjeIUBWvtnCFd9aJJviyf5tlVkXaeIHkyLKU21sPi0+FYt5iVclVU1uyxH0DpP
8OF8BHfe4KZuBG5fIpXMgUewWP4gI3B00sr4mngVuENv6KSWMTSYwAfoSJpg4fSJlmsnlySlF3aU
TrP/LjW8+PdS6rEaWmSfKRl2UVzwWXbbuARCSeARW2dRlyANCjBZx6qVwAZtK4CtEGuM4O5mPsj0
e39AeujF9ayqIH86M7lqR6XLmVLYsKGU79oNYhM/tsFgLz/9S3JNnlhRvu9+9VXHZ19EjZialECZ
6TlqO7IgQXf+SOC8E4cSuLerd3EN2WGI3Iqxoz2gficeFOt4eO7s9LnhPfjur+ZfReINPWz6G3Eo
zg7rvdzr6kMhbQdkD6Zt4m6yfg1F3r9db1BLAwQUAAIACACMCe5A7HhuJaAAAAB5AQAAcQAcAHRt
cC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9y
ZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX3JlZGlyZWN0cy1hY3R1YWwudHh0VVQJ
AAN3xwBQd8cAUHV4CwABBOgDAAAE6AMAAMWNwQqCQBRF937FhRbuWgRFSARhgxvLSP2AUV/NlM7I
m1fR32f/EHRXBy6ckxbHssgVDqosd5lK0FtHWK4S1K7Vj6sRVO+RFLPnBEVzo1Yw25yIL54H7Vra
wugA5zGQGN8hflFzt5KRKCdsKcRR+r/IYv3TyJ5Cy3YU610UVcYGCAXBU/e20xNCjBYwdZYnfUDn
J59A90I8fYT6nM+j7z5QSwMEFAACAAgAjAnuQFeBY+PfAAAA+hEAAHcAHAB0bXAvbGF5b3V0LXRl
c3QtcmVzdWx0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGlt
aW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9pbml0aWF0b3JfdHlwZXMtYWN0dWFsLnR4dFVUCQADd8cA
UHfHAFB1eAsAAQToAwAABOgDAADtzrFOw0AMBuA9T/FLDF1QByQYIkBCJSoDEKSUGbmJ2xxc7iLb
AfH2nMrGIyB78W/9w+dN+9y1jw2emq672zY1YkiMy6sar6mn5Tgadt8zNyJZarT7d+4NZ9cvLIcs
E6WebzGSImVMbGMesPri/UewLVuTTALrqto44ogjjjjiiCOOOOKII4444ogjjvxP5J61lzBbyKmq
dmNQGKvhk2IYqETYSAaKEflQMiOkYIEsC6zgChKG8CysnIyHdVXmgSSxKk6vrcsTp/NNjWzR9e/C
DS5w/rebSqYjlzItMVY/UEsDBBQAAgAIAIkJ7kCGpKpvoQAAAMEAAAB3ABwAdG1wL2xheW91dC10
ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRp
bWluZy9odG1sL3Rlc3RfcmVzb3VyY2VfYXR0cmlidXRlX29yZGVyLWFjdHVhbC50eHRVVAkAA3LH
AFByxwBQdXgLAAEE6AMAAAToAwAAFc6xbsJAEEXR3l/xpBR0FElnoUgkWbkBjGT4gMF+ZAfsXWt2
koi/j7nVKe9ne+jaXcA+dN22CTVGTcTrW41z6uXnOzpOj5nBLFuN9nJj73jZHGnXbJOknu+IUpAy
JnrMA1Z/vNzVG3pIbsry8TjIxFX1xdKbzq45VdUpaoGzOH5l1EEWwqM4ZByRr4sJTeoqng2+LBSI
EcbZWJicw7p69g9QSwMEFAACAAgAjAnuQDel6a+0AAAApAEAAHsAHAB0bXAvbGF5b3V0LXRlc3Qt
cmVzdWx0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5n
L2h0bWwvdGVzdF9yZXNvdXJjZV9keW5hbWljX2luc2VydGlvbi1leHBlY3RlZC50eHRVVAkAA3fH
AFB3xwBQdXgLAAEE6AMAAAToAwAAnY7BisMwDETv/gp9QXPY87IU+gGF9r5onUksNrGNrCbN31eF
Fnos1UEIzQxvDmhRpZqUHMI5SSNDM1p4kp79JEtsxNNEZfAbJFlM2IqSbdV1VpCiKhqyoScsyLQm
X/2WeZbo2c1TDeryLvgc96cTdetX7Fb8VejQebpcNKJ1IzLUwb/P166m+nNHfcfWyPvhWhHvJCuU
eHlpdHYXTZL/6VOEDMoz3qA8jB9zZh7fwswjhXADUEsDBBQAAgAIAIwJ7kBw2BuaAQIAAFoXAAB1
ABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNz
aW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2VfaW5pdGlhdG9yX3R5cGVzLWRp
ZmYudHh0VVQJAAN3xwBQd8cAUHV4CwABBOgDAAAE6AMAAO2YPW/bMBCGd/2KAwo0gyIJTpGiMOrW
RmskQ1IHdQp0E2j5LDHmV8lTHP/7nGw4aDvEGgJPhAZR4t37kLoThzfLMihIu0KJrW0pIwyUeQyt
olA0RK7o3oRi86EqNrhw6FdFaBdahiCtKTjStr7CjKSWpuYMrXYZ5WGmlEaSFGR9SVuHIcMnhxXh
MqcngiRN0xPzRUWtUHv6eAzZ4HzwCdLB+eUAxuMk/Tb7MZ/dTOF2Op9PrqZDUNIgXH4cwi9TibZu
CO5ZZ+q99UOYLR54M/Du8x0vzHotTIVfoBEBjAWN1NglnPG615KukKaGvMRwFimREimREimREimR
EimREimREimREimREikJfMdQeelIWpNAAveNDNAZO/AolFwKHgI1gkAoBXbFY4QXpwd2Tg8Ij+DR
eQxoOsOp0+Eru5vM5/CPo3Qwi0IxaVDnRCtg3MGpArK84Me/AN3+oArhiNhCCbMupRY15s7UPTSl
rntpOpYsa49o8oZ0H+GVFxr7a29RKbvpKf779uaayP3EP21XodchqB1ty31x84fQQ34fe0S2RoOe
2+LF+Mtd4752jTDiQr2Xy5EZvElRXwGtrKHTkHY91aFOR7o4GemNPp/hXuS/vgs8Lsdn2Jr1kvRa
eE4MsDu+cg7dPZaBBLUh399gBBdw/v+c5jHvgCdNq1TyDFBLAwQUAAIACACMCe5ArBT7VMYAAABT
BAAAdgAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3Vi
bWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX3NjcmlwdF90eXBlcy1l
eHBlY3RlZC50eHRVVAkAA3fHAFB3xwBQdXgLAAEE6AMAAAToAwAAvc7PagJBDAbw+z5FTj26WOuf
HkQEH0DQu4wz33YCy86QiW59e9OK9FyEySlkJvl9OxQvnJXT0DTHyIUURenqeg7OWtLolFzfU+qs
BwXuOggGJb1le7fx4wL1yYVCTkCCnEQRaGSNv1s+icAr8cDKTpNMGqv99nCgdpz5dsQ5Q7pWUNJF
PEr7hQFiCU7P0STHvPkx1w/vjcN6ShYY39lOm6aJorviDzna72e617H3mtisJvZRE5vXxBY1sWVN
bFUT+/wH1twBUEsDBBQAAgAIAIwJ7kAYLpmi3QkAAIhSAAB9ABwAdG1wL2xheW91dC10ZXN0LXJl
c3VsdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9o
dG1sL3Rlc3RfcmVzb3VyY2VfaW5pdGlhdG9yX3R5cGVzLXByZXR0eS1kaWZmLmh0bWxVVAkAA3fH
AFBdxgBQdXgLAAEE6AMAAAToAwAA5Vxbb9s4Fn7PryAatAEGlWxZdhrbTQadJJ0+tNNi0wX2zaAk
ymIjiRqSzqW7+9/38CZLvg920hTQFFPL4u185/pRFf02k0V+cfQ2IziBDyEfc3JxNMlpefsaTe6o
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
CM/koFKg08KMJNPExtXhy3hb7f8GFKXUQMYwntWcEy7i+S8V1Wy9J1VcyNXuu1U3UEsDBBQAAgAI
AIwJ7kBFLFMHhgEAAIcFAABvABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy93
M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2Vf
cmVkaXJlY3RzLWRpZmYudHh0VVQJAAN3xwBQd8cAUHV4CwABBOgDAAAE6AMAAMWT30vDMBDH3/dX
HIj4ULPoRJHhdKJVHzYnVsE3ydKzjTZJTa46/3uv6gQfhD1IJdCE5u6+n9wPIQRIsrWs1JtvSBBG
EgFjU1GUJVEt2z9Rvu5o+YrzGsODjM3cmhiNd5ItfRM0CjLWuII9bPXhcb+84UNuAmqKAhc175j3
aUHQS5KkM2WlqVHVp+54DGJ7c3sACX+3YDzuJSezy2w2SWGaZtnxeTqEyjiE3b0h3DqtmqIkuHmr
MQ3BhyHM5o8cFNYOrhjJB6ucxkMoVQTnwSKVPocNJn4ydI6UOgoG48b/qgz2/1QFTjHqYGriSvSg
BzelidAmH15UZXLFR6BSEXyXAHLPIQlURRj4DuH2etJvfXmJq+Msgx+VXhYxymWIfl3WR5XXqhUd
/WJcoMPA8t9N0Hqt75wRP3mkYwTmXLYhkOeXviAYZ8go8qFNTJuvp86QzENQFleg+jLslmt9sGfy
0aIMKwDeTScXPLTX+Ny0fdAZqFXFSvmzRWdMn6OxAtSXIU/AO1BLAwQUAAIACACMCe5AK8PDGGUB
AAAnAwAAdwAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYv
c3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX2R5bmFtaWNfaW5z
ZXJ0aW9uLWRpZmYudHh0VVQJAAN3xwBQd8cAUHV4CwABBOgDAAAE6AMAAL2RS08bMRSF9/MrjtQF
i8G4UTZV1EcQjNhAgzR0HTnOzYxh/JB9JyH/vncKqegOsagsWVe2j75zjpVS0OyTHswxjqyYCqtM
ZRy46J456emk6MPc6gNtEuWdLuPGu1JcDFpexjFbUuy8C50o/PBHsT7drLfHYLyzaxcKZRaRoudE
lml7wc+Mqq7r/+7AWB7N8MJfLqFm57PPqGfnX7BcVvXV6me7um1w17Tt5U2zwOACYT5f4FewZux6
xsMxUZNzzAusNo+SBp++3ouzmL0Jlr6jNwUhwhP3cYszMf7k+Ia4CZwdlbMK11RsdmnyU6HCQ+8K
Jt/Ym8FtjYzg3jDMMCDuZCa44NgZjhks/AKTCZmSBKUgfYL2FHDoZXuNLNojXmJL3RNGlrq/bFv8
0+epqqI7CpQF/re9i9SnHxPumy0F4vH0e+AoKfdvXE2lTF09fZzhdtl4egfm9eHHQd507+L4burs
N1BLAwQUAAIACACJCe5At0ZQDqMBAAACBAAAdwAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0
dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0
X3Jlc291cmNlX2F0dHJpYnV0ZV9vcmRlci13ZGlmZi5odG1sVVQJAANyxwBQWMYAUHV4CwABBOgD
AAAE6AMAAI2TT2/bMAzF7/4UDyjQnpbszy3JDGSbVwzImgJuzwNj0bYWWXIleps37LtPbhAgTlvM
OhEg+XuPlLSqmVS6CtIbTmeKDf5gR8W+8q6zaoGLkmiJv5iRUucpKofUan5oXs0PqNbHOLRkURgK
4X1sTD9ub/LtJsPXLM/X19kCRlvG23cL3NuCuqoW3PUtZ947v8B2950LwcWlkeUt+9L5hmzBl5Us
UVOAdWhYaqdw9ZN3ey3XLJkVrzl86G+o4avoKRpIk08cCq9b0c4myV2tA4SD4AcZrSiGkJoEZAxc
GWOGtlo0ifOQ6CeAPMNzHCmwFVazJJ7T4eLC0tt1nmNrTY83OLE7OOoRatcZhYakqJE8lnpW2scB
cyEvx4Id4/VZPrNqnP28/rJByZF03mqdffWbvUP0xF6+ie948Z9S/tVGEVYYilE5QUkm8MGDcg1p
u3Fu37XnhMpz3J0fdmcRN8UPHRmIO9V7ShlP8yLjqfABVThrn9nZJM4gPaJM9DLSPN7NQxdf0GQb
J4JHQGidDTyZMFIcMyaOMZI8/ozHhzwf/uo/UEsDBBQAAgAIAIwJ7kAD+xi2CAEAAGYEAAB5ABwA
dG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9u
L3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2VfaW5pdGlhdG9yX3R5cGVzLWV4cGVj
dGVkLnR4dFVUCQADd8cAUHfHAFB1eAsAAQToAwAABOgDAAC9kz1PwzAQhvf8ipsYHQFzhSoxMICE
aAe2yE0u8VF/YV8b8u+5UCExBQ9VPJ189vNIfs+PmNtEkSn4qtobysCYGc7aUqelBDaaQVsLoZca
gTwxaQ4JeIrS1wkhYUyY0TN2qpL1ut3toB7v23rEQ8TU19IOp9RirrcGnWLuQVT4FbGVS8ABjD7/
ge+FDW3OsMg6WO2PDTk9oIp+KECSG0qQUYjNkBC9MuxKuH3SDovRE1obxkL2+8vzE3N8w8/THM2i
A13kqblEqj5yAf1ydpk6oMck09D8bqlo4sOc/0YyuqFu42+vkeeCpw+eVxH9TNNsWk10t5boOm/n
ZQjln8/n/qdZ8keoqm9QSwMEFAACAAgAjAnuQGdBUutlAQAAbgUAAHQAHAB0bXAvbGF5b3V0LXRl
c3QtcmVzdWx0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGlt
aW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9zY3JpcHRfdHlwZXMtd2RpZmYuaHRtbFVUCQADd8cAUF7G
AFB1eAsAAQToAwAABOgDAAC9lEtPwzAMgO/9FZaQttsq3rBH0QQVF2CTCmfkJe4ayJLI8RgI8d9J
mSYQJw6oOVmx7O+zDx43hLoYR3mzVAw0WXiHBarnJfu100PYqxFH8AED1Pp3Cus2Nc63xeN82ypw
imNAB8pijJNUWFzO7qrZTQm3ZVVNr8shWOMIjvaH8OAUrpeNwP1boJLZ8xBmiydSAns9K6M5ce15
hU5RbykjaDCC87AiabyG/oYWz0auSUonbCj2k01CF9kVRcUmiPEuy+4bE0EoCrygNRpTCNKgAFoL
vk4xgTZ1TUxOQJJJbL+3HcB61BGQCZiCZyENGyPNV5XyzK2rcUYMiudBlt7P8dNKi/m0qiDfHKo8
+YY0Uc4U/ZoVxXxJjjgZPe6+BqEJF63DZMvv4SqMjJ7sQxqCXkPCJQPxaRUv9A1u97czzv4FeNA1
8LBr4FHXwOOugSddA0+7Bp51DTz/M3B3i75OQt7exU9QSwMEFAACAAgAjAnuQA6al2avCAAAfSUA
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
FAACAAgAjAnuQKBx+464CAAA5SMAAHcAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rl
c3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNv
dXJjZV9yZWRpcmVjdHMtcHJldHR5LWRpZmYuaHRtbFVUCQADd8cAUF3GAFB1eAsAAQToAwAABOgD
AADlWltv20YaffevGNhwDBQhKVmSY0m2i9SX9iFpgjoF9s0YkkNxYpLDnRnZcnb3v+83N4qkSEtB
6wBGWzSSOLfz3c53hulZKvPsYu8sJTiGDyGfMnKxN8tocf8WzR6ooJLE6D97CP6RZCW9mESMY0lZ
MUMFK8hcD4WMx4R7IZOS5TM0LFcohu8knu/9b89sZzeJWMb4DB0MRlM95t/QjFzRJLHjIY7uF5wt
i9hzU5NT9W/9IHOCYBmN0UEcx2YsYYX0EpzT7GmGclYwUeLIAswxX1CAPCQ5GphHJQPjtB2cZGDR
A9GA0mEL6Wg06thf4EJ4gnCa1AYF/Ub0GfVDvYwkcoYG/sQ9j6koMwybSBxmxItIlpmBRxrLFDYY
DA4tRhzHtFhUqw0+Gx71rRkhC5kWKQCT1fSUPRDesmoymcz7HE6IcYWv4vIBzhJ2cZIxDKZwukhl
M3pq1iW4ANOiOoqB+6kEMwdbzLZWenrfhqceU7DO03FU6fbIcblGdksiFb/exNGLm2nTThmbt87v
kFSDcmVOuF6VEGLYH0wjb5GvPtoW9sITNCbhk/oTaai/ZCy6/4y59MHUWUK5kF6U0izudaw67hbW
v31uM05yCO3bLefZM5z7aQHpQ7xQTWmk3cRlHWSLpBHOPJzRBdSHZB1mcaKy/TdcxBlx7rD7KBeq
3ykxAV3nc7TkQoVGwW5XIQ4hOksXMTizShxTQBrecygaeb6ZDgtOnuatxPQn2+JlXIx8yba62U84
y1vOthypzlBe/32Zh4RDNpF6dpmnDvgmldqsnU4bJOjKpYsKXSWPx+NW7W1Gv+IYtdHElIApg4r0
bR7Y9OxKEQO3kU4jS1g1w7WJnYRjGkWvW54jKYXQ+s4RiU0YZ0OjTEtOPFOoeghcqX+CCZzge089
MPvSHC9IIygzdFz5OsywcqCaGAErAAaIqv2G2iavA3I6nvbSbkKSde2rjIIdq+5YK+SOpXESN5dC
nEX/9CmZzp9r6dVOlmDqOGxB9HfrON7YAMUk619BplvRBD+h22VZMi6h0XKbxODUPCeFFOinAM7D
S5ky42/TjJWWgYSXkKKRi5ReoOf0tP9qjgKDISX0ZMdkJy6nFdPgLLt0CDpnH5s2luOV1+jsXceA
j5/dsyrgqnI3tmyv91lJTHf0Hkl4T6UnuaouY7UBifxjMa9BHlsDD4TEcil+WYbQqqu256tK6YQD
S0IWP+kxK3scg41dSz2QjGUh5s0NHLaQ6WpdP8/ZN/ewoqiRKWmrqNRXpxnU935x2Mcfz4q6dYYk
dGUZytng4yKCbLPKy5k6aNrpYy1QTCFutvhHCmzBW8loj0Lom0eLmKyAxp6xeN0laxC6zLV01eh9
p5bnCgXTlnRn34LzIBBbgZ6sgQ5Nw3cdyvzSYO33qr3ZnxXgSrY1jqYJx7lB2NLITY1Rq6zLHi7e
9M0TCFH2aIUAyUBVQlh36Fon05t11tl07xnUjmiOVRoz3tTOTeVs9zDu20ztXr0QOyY2x7x3VOLu
QoP66BfXRVuXlpN3jvI2YT5TO7XrkMixEfp1Vi4Yh8fzHm6y9it9JroOx7bqTLkPOqfMcOKqS7fl
AszZR/9F+/O9qh3Xmnh7dYZBorPEk08l6dxq36xLSaYZsRKZWInMngZ0kBMhnKrodVGXR2uJfauZ
eZc+Bz0F1M4DZUtxWT0BkfqNFJe1TtjVxJ2eaPeUejeBwvSSTFX+UAfSEnb9mU0mywMjd7faCZWN
LggZIlVaNxqB1XY9yq7eYMMlFEZRpw7XxGP6MEtYZH3JllKVfL2Cwmype4QdgnRIAAu0pqEzpN4l
9S4gVL6kxJwU2Ba7APzKBsmQhLHQzLaZJNADxYpW5UebGwA25OwRAg8SIMWw1iofKn2ldCo7xhOr
0iu9YX+7AldqVf03aLZH99qmreFzGsMtykZIkGXM7sz16o48ANK7GgmvWfewIUUOm32zfqXT9OUN
h5alVQYId3vv6Dqg5pjADxBccDFp9Z76vhvt0Bv6IyO81m9PnHDoCPLB1dVVjRIOTm+ubiY3nRwG
ErW7XK6vr7tQz0heyqdmdlkx1Jrpw1dAainGbjo9HZxabosygvmdlhDuQqGe6HtXqqacBfbV3ZmI
OC0haXh0vp9KWYpZEOCveOUvGFvAopIKVRv6WZDRUARf/70k/CkY+mP/2P7wc1r4X8X+Beyr97tA
zZ0jFhNPxZA8wryfIZVUMM/Ho9oSAGVfKyppCB9QcIAbC3F+5O4TR+rd4/AikHkZQAaAmzxJgHkh
8ZaZFIGyIFBPRPA4igJgnpLwJBDLMKdCHRnATLbkEfEkBdCLQL3Q1Cvu3Ah8iSmHti48UDpLnPkS
eh2AGzYx1d4pHW2O6Lt+33P1DgBBtrXG1RUINV8c2UlAWYWbpV8brOXG0cWbIhTlHPwIky4aU4FC
6hOHnXOgkx9dXH76/fbTh2v08fr29v2v1zO9Dk1OZujPIsJLxUtfoLVdc66S7VP4FQxHB28yOf8M
DlbduYjIm4WcoxQLqEuUE7hexejIkP+vRF4XklMijiwGiDZY/mPtP/6H2z/6XvuPT1/efv1R90KN
vI4u7PCmr3arMZHCjXh7mW118XAH7477vXtFDMcBVXxX+LfiOt4B16Qf198LZrQDmJN+MF9Sql5i
CIkeQGHE0OasoKn4GMUMUguYM1P6WomjP//44P+9Rox3MOLdj/LoZAcwpz8KzMkOYKa7g3nRujfv
Ebe31/W8Z01/t4Ppz7Cwtv/z+9tb1FAlTnCIwGW4X6blz2CEfp953jN5QQA5VEclWNSqw9GNunqe
R0IgKCOyKs17CQCZgmyEaxFoYSwZVyyO9F+wfl8j2tFTp6/GU/Z6st1ZduKLuGv6ytx1eHxC4/NV
ynfw278+fvgN5PgfBK4IQr6M/4aD1+NA/fdDO6RbvnghXw1fja/s1XG7s+zE16kpdxFvPQn+lztq
60PfuM8C83/3/B9QSwMEFAACAAgAjAnuQAZcVGtzAQAA0gUAAHIAHAB0bXAvbGF5b3V0LXRlc3Qt
cmVzdWx0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5n
L2h0bWwvdGVzdF9yZXNvdXJjZV9zY3JpcHRfdHlwZXMtZGlmZi50eHRVVAkAA3fHAFB3xwBQdXgL
AAEE6AMAAAToAwAAvZHRTtswFIbv8xS/hAQXwbUyoEA1RtEWcbOtSGHXlZucNmaObdknFN4ep1VB
u0SaIt8c2T7+vvNbCAHJnZdGvbqeBVNkESj2hqNsmb0cdqLcntVySytPYS1jv+p0jNpZmW66PtQk
WHfablJHZ3Ydy8PJMtZBe17yq6co6MVTzdRM+IWR5Xk+JlzV3CuzR8/nEMVpMUVenF5hPs/y74vf
1eJniV9lVd3dlzMYbQnnxQx/bK36Tct4TM+UIbgww2L1lAbB0deHJOVCp2xN39CqCOvQEbeuwUly
/qv5nri0HDTFkww/aK+U/DNkeGx1xKCMZ2V0o1IJbhVDGQO3TjWh0es1BbKM3RjD9v4NGKeaCBUI
gbwLKVdsNbe7rtqFMBhqq1krdmEy8NISD3dVhX8yPcQV5YYshWTxnuDEt/524N7smce6uSmQpA8/
CXZp7Gf6AA0pHQz/A+3LqLSzUWnno9IuRqVNR6Vdjkq7GpV2/QkasjdQSwMEFAACAAgAiQnuQAHQ
4a8JCQAARiUAAH0AHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL3czYy93ZWJw
ZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9hdHRyaWJ1
dGVfb3JkZXItcHJldHR5LWRpZmYuaHRtbFVUCQADcscAUFjGAFB1eAsAAQToAwAABOgDAADVWmtv
2zgW/Z5fQTRoAwwq2Y7tNLHTLNrEmV2g0xZI53NASZTFRhI1JJXE2d3/vpcvWZIlx4OxB9gpprbF
17mvcy6FXiYyS6+OLhOCI/gQcpWSq6NZSvOH92j2SAWVJEL/PkLwnyTP0otIyDiWlOUzlLOczPVQ
wHhEuBcwKVk2Q6PiGUXwnUTzo/8eme3sJiFLGZ+h4+H4Qo/5tzQlNzSO7XiAw4clZ2UeeW5qfK7+
1A8yJwiW0ggdR1FkxmKWSy/GGU1XM5SxnIkChxZghvmSAuQRydDQPCoYGKft4CQFix6JBpSMWkjH
43HH/gLnwhOE07g2KOgL0WfUD/VSEssZGvpT9zyiokgxbCJxkBIvJGlqBp5oJBPYYDh8azHiKKL5
slpt8NnwqG/NCFnINE8AmKymJ+yR8JZV0+l03udwQowrfBWXL3CWsIvjlGEwhdNlIpvRU7OuwQWY
5tVRDNxPJZg5fMVsa6Wn92146ikB6zwdR5VuTxwXa2R3JFTx600cvbiZNu2UsXnr/A5JNSyezQmL
5wJCDPuDaeQ98tVH28JeeIJGJFipv5GG+jll4cN3zKUPps5iyoX0woSmUa9j1XF3sP79ts04ySC0
7185z57h3E9zSB/iBWpKI+2mLusgWyQNcerhlC6hPiTrMIsTle3/xHmUEucOu49yofqdEBPQdT6H
JRcqNAp2uwpxANEpXcTgzCpxTAFpeNtQNPJ8Mx2WnKzmrcT0p6/Fy7gY+ZK96mY/5ixrOdtypDpD
ef1rmQWEQzaRenaZpw74JpXarL24aJCgK5cuKnSVPJlMWrW3Gf2KY9RGU1MCpgwq0rd5YNOzK0UM
3EY6jS1h1QzXJnYSjhGKXrdsIymF0PrOEYlNGGdDo0wLTjxTqHoIXKl/ggmc4AdPPTD70gwvSSMo
M3Ra+TpIsXKgmhgCKwAGiKr9htomrwNyPrnopd2YxOvaVxkFO1bqWCvkjqVRHDWXQpxF//QLcjHf
JunVTpZg6jhsQfSrdRRtbIAikvavIBevohn8gu7KomBcgtBym8Tg1CwjuRTolwGch0uZMONvI8aq
l4GEl5CioYuUXqDn9Mh/NUeBwZASerJjsjOX04ppcJpeOwSds0+NjGX42Wsoe9cx4OOte1YFXFXu
xpbt9T4riFFH74kED1R6kqvqMlYbkMg/FfMa5Ik18FhILEvxuQxAqivZ81WldMKBJQGLVnrMtj2O
wSZOUo8lY2mAeXMDhy1gulrXzzP24h5WFDU2JW07KvXV9Qzqe39z2McfW5u6dYbE9NkylLPBx3kI
2WY7L2fqsGmnj3WDYgpxU+KfKLAFbyWjPQqhF4/mEXkGGtti8VolaxC6zLV01dC+c8tzuYJpS7pT
t+A8CMSrQM/WQEdG8J1CmV8arP1eyZv9WQGu2rbG0TTmODMIWz1ys8eoVdZ1Dxdv+mYFjSh7so0A
SaGrhLDuoFpnF7frrLPp3jOoHdEcq3rMaLN3bnbOdg/jvs3U7u0XIsfE5phPjkrcXWhYH/3hVLR1
aTn74ChvE+aW2qldh0SGTaNfZ+WccXg87+Ema7/qz0TX4dhWnSn3YeeUGY5ddWlZzsGcN+g/6M38
qJLjmoi3V6cYWnQWe3JVkM6t3ph1CUk1I1ZNJlZNZo8AHWdECNdV9Lqoy6O1xL7TzLyLzoGmQLfz
SFkprqsn0KS+kPy6poRdIu76ibam1NUECtOLU1X5Ix1IS9j1ZzaZLA+M3d1qJ1Q2utDIEKnSuiEE
trfr6ezqAhuUUBh5nTqciEf0cRaz0PqSlVKVfL2CgrTUGmGHIB1iwALSNHKG1FVS7wKNyo+EmJMG
VmKXgF/ZIBmSMBaY2TaTBHqkWNGq/M3mBoANOHuCwEMLkGBYazsfKn3V6VR2TKa2S6/6DfvbFbjq
VtX/w6Y8utc27R4+oxHcomyEBCkjdm+uV/fkEZDe10h4zbpvG63I26Zu1q90mr680ciytMoA4W7v
HaoD3RwT+BGCCy4mLe2p77shh97IH5vGa/32xDUOHUE+vrm5qVHC8fntze30tpPDoEXtLpfFYtGF
ekayQq6a2WWbodZMH74CUksxdtOL8+G55bYwJZjf6xbCXSjUE33vStSUy4F9dXcpQk4LSBoefnyT
SFmI2WCAf+Jnf8nYEhYVVKja0M8GKQ3E4OcfJeGrwcif+Kf2h5/R3P8p3lzBvnq/K9TcOWQR8VQM
yRPM+wekkgrmx8m4tgRA2deKqjWEDyg4wI2F+Hji7hMn6t3j6Gogs2IAGQBu8iQB5oXEK1MpBsqC
gXoiBk/jcADMUxAeD0QZZFSoIwcwk5U8JJ6kAHo5UC809Yp7N3KPpeQUeIDcG62EfqfEqS9B8QDi
qIms9mbpZHNE3/j7nqs3AQhyrjWuLkKo+frITgLiyt0s/fJg3XScXL3LA1HMwZsw6aoxFYikPnHU
OQf0/OTq+tvXu29fFui3xd3dp18XM70OnY5n6Pc8xKVipx8gcAvOVcp9C36C4ej4XSrn38HNSqPz
kLxbyjlKsIDqRBmBS1aETowE/ErkIgffEvF59RW44cQigciD/e6j7otaIp9c2WE79097WiRwO3rd
2a86erSDj0/7fXxDTL5DwrTN/2u4TnfANe7HtV8w4x3ATPrB/EioutAKiR5BbSKgPCtuwKuIxVoY
aQ70jiXc4VXTJRBEF+7moOoC1IdE/n4Nmuxg0PTv8u50BzBnfxeYsx3AfNgdzEE5wLxfep1w1/O2
mv5hB9O38LK2//unuzv0LU9XaIRqLKqIcgWcxco0gg5Nhgn6U2Hb1YTzfZkA3Eo56AHcNzTZauAB
gWbqILgv9o17kUeHRz0a7gH27ad/fUExgZRo+xr6Ye+FcIZgNnTr95KX0ENun0qeC/MKQ01GSyZR
jFNBDmP+aF9Ri1gGJ39h7KEs2qYtOcHqAg6CkSOQB/IHtG/qOlVzxGHMOz2Eec3E7DVu0yOHsXG8
LxvhRpt38MVOBiqfHMa8yZ7N2zF6DWccxrLp/hgTLn1i98DVPHEYy872Z5koWC7IzqY1XHEY4z7s
27gdM7Lpi//Pm9ouzc35YVrT1od+pXE5MP986n9QSwMEFAACAAgAiQnuQEsKj48DAQAABQMAAHkA
HAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Np
b24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9hdHRyaWJ1dGVfb3JkZXItZXhw
ZWN0ZWQudHh0VVQJAANyxwBQcscAUHV4CwABBOgDAAAE6AMAAI2SwUrEQAyG732KvICiV28LriAs
uFDvEjvpdnCazGZSsT69U0php6vYOQXyz/cn/8wjpUZ9NC9cVa+dT2CUDD4xeIe5BOvQAEMAaXNN
4NmbRxMFG2PuoxIoRaVEbORuq3yOu7qGFw4j3MORtBXtkRvas+kIqZMhOOjRmg5mqZLzSo3VhmqL
4J3gbtXfsyu7T7vnA7SUSeurLHzzTSqAKZHam+lAD/9I6StmE3IwieEkBi2GRPMMTnr0fBD5GOKa
cFLKWemUFUNOhs4DBjC59LumlNv8ybg2nlGNMP+S2SbOZF1QNs5SeC5vcx7yj9k8xoXhAkhRONFm
QuFYMjauUVpW1Q9QSwMEFAACAAgAjAnuQE5vyfb6AQAAyRcAAHcAHAB0bXAvbGF5b3V0LXRlc3Qt
cmVzdWx0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5n
L2h0bWwvdGVzdF9yZXNvdXJjZV9pbml0aWF0b3JfdHlwZXMtd2RpZmYuaHRtbFVUCQADd8cAUF3G
AFB1eAsAAQToAwAABOgDAADtmMFu2zAMhu9+CgIF0stgYx22Q+JkCLagPbRLsXTAbgFj07YaWdIk
pl0w7N1LJwhQ5JD5UOQwyBdTpvR/oknwwLwhLCd54K2mSVqShj+wwmJde7sx5RAuKsQR/IUUy/LY
hVXnyrP94TzbSzkvdnBooNAYwlgOTr7Mvy3mtzO4my0W0+vZELQyBB8/DeGHKXBTNwwPW0cz760f
wnz1SAXDxUDz6J58ZX2LpqBBzSNoMICx0BI3toTLZ1qtFV8Tzwx7ReEyiaiIiqiIiqiIiqiIiqiI
iqiIiqiIiqiIiqj/E5Vn3cxpknylUHjlWFmTJA+NCsAUGJ5QqxLFBG6QAbUGW4lNoIxihWw9sNwk
AHoCT85TIMNUpok8r+dZJenJ/XSxgOz5Q5HJPZzcNJPtduMLCtm0oTZlrkDQ9NtJQFQCWwng6RWs
ixqKECA5pbXSaNZL1WJNqTN1D0nV1n0knSgua09k0obbPrqVx5Z6S29Ja/vcU/vn3e0Ns/tOvzZd
qk4yqHW8Xe5TnD6GHur7vadVazLkpTqWh0+pa9znrh7GkqMBtm6kyrF5/xY5PcGqrOGzwXZVdaCd
FXZ1Ttjb/EcjhSm9oNv3bzXpcetDOzpqHt0w/Aa9yAXYNb1UBHbLZWDkTUj3LxjDFbw79rViS2ji
NButD4g860buL1BLAwQKAAAAAAB2CO5AAAAAAAAAAAAAAAAAKQAcAHRtcC9sYXlvdXQtdGVzdC1y
ZXN1bHRzL2h0dHAvdGVzdHMvY2FjaGUvVVQJAANvxQBQiMcAUHV4CwABBOgDAAAE6AMAAFBLAwQU
AAIACAB2CO5A/sGlHUABAABaAgAARQAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVz
dHMvY2FjaGUvcG9zdC1yZWRpcmVjdC1nZXQtYWN0dWFsLnR4dFVUCQADb8UAUG/FAFB1eAsAAQTo
AwAABOgDAACN0V1LwzAUBuD7/YrDvJjC6LKPfjAQYTpQUQY6FK8kTU7XuJiMJF1bh//dzFmHwmBX
IYfnPTlJJK3RAHVwSrrkDKz4QEgIqSJCWgAPqDiaJ4HlASKPiE+kZkvYXM/v7z4P0l+seQ2byezq
ZWeTbvJj42RUhcno2zZ6jpWDzYnzy//WcRxV/bjhAFsDplB7Vgru8q0bQ/vGdSystLUilQiZ9ncC
WzCG1maFBINrKgWnTmgFTgOjhUXANSpnt/tMGARbK5YbrXRhZR3As6/kupBcdRwwQ20OIgOtEHQG
Ltf7BtbplW+TY/vQtP0wbOYdRsTPKzXlATwiQu7cyo57vbRY2KDEdClcoM2i588uX30xYAtxIfh5
PIijQQDtY9+PVOQPnb6nyDnyWfqGzIdmk9vp5XyX8jN1B01w6P+0H5LWF1BLAwQKAAIAAAB2CO5A
nOmndQYAAAAGAAAARwAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvY2FjaGUv
cG9zdC1yZWRpcmVjdC1nZXQtZXhwZWN0ZWQudHh0VVQJAANvxQBQb8UAUHV4CwABBOgDAAAE6AMA
AFBBU1MKClBLAwQUAAIACAB2CO5AVzVCW5kBAAAXAwAAQwAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1
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
JVK5RihsOBNQLQQSFbUGhw9cK8m9sga8BcFrQsAHNJ66daEcArVGlM4aW5NuI7gLldLWWpoTD8Jx
KkEVYA2CLcCX9sWAvK2CTYm9Q2kHo9E+79mYhbzachnBAhFK7yuaxHFeryjaYL5WPrJuFYe9N79D
MRIr9UnJi2SYjIcR9N57f6xhr9CrPzlKiXKe36MIovns29Xn5U4VMvWHe+FZeNPBiD39t6Ms7n7k
P1BLAwQKAAIAAAB2CO5AnOmndQYAAAAGAAAAUwAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0
dHAvdGVzdHMvY2FjaGUvcG9zdC13aXRoLWNhY2hlZC1zdWJyZXNvdXJjZXMtZXhwZWN0ZWQudHh0
VVQJAANvxQBQb8UAUHV4CwABBOgDAAAE6AMAAFBBU1MKClBLAwQUAAIACAB2CO5A1fYdYpAIAAAb
HwAAVwAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvY2FjaGUvcG9zdC13aXRo
LWNhY2hlZC1zdWJyZXNvdXJjZXMtcHJldHR5LWRpZmYuaHRtbFVUCQADb8UAUG/FAFB1eAsAAQTo
AwAABOgDAADVWWtv20YW/e5fMbCRui1MirIkW4/EReMHukW7KdbBLvaTMSSH4sQkR50Z2lKy/e97
50WRFCm52ADuNmhEzuPOue8zzNtU5tnV0duU4Bh+hNxk5OpontHi8QzNn6igksToyxGC/yRZSy8m
EeNYUlbMUcEKstBTIeMx4V7IpGT5HA1XaxTDM4kXR38cGXFWSMQyxufoJBjN9Jx/RzNyQ5PEzoc4
elxyVhax55YmU/WnfpA5QbCMxugkjmMzl7BCegnOabaZo5wVTKxwZAHmmC8pQB6SHAVmaMVAOa0H
Jxlo9EQ0oHTYQjoajTrkC1wITxBOk9qkoJ+JPqN+qJeRRM5R4E/ceEzFKsMgROIwI15EssxMPNNY
piAgCN5YjDiOabGsdht81j3qqekhC5kWKQCT1fKUPRHe0moymSz6DE6IMYWv/PILnCXs5iRjGFTh
dJnKpvfUqmswAaZFdRQD81MJagYH1LZaelpuw1LPKWjnaT+qcHvmeLVFdk8i5b/ewNGbm2HTDhkb
t87uEFTBam1OuF2vwMUgH1QjZ8hXP20Ne+EJGpNwo/5GGur7jEWPv2EufVB1nlAupBelNIt7DauO
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
DJZXNOb0TxtzOJk4c44uAmdOoE2xj+4JQY4QheVS+OYa4zO+HIBpnh9g0I+W9Acav7s8v7w499Gr
W2D2P6dEsH7NmjQMXqbALSyPYxJ/CD8BWUNfPrz/+fb6o9EFHHl27tQZQZkdToKDNKNGmBUp0dP1
tdsfzU2BOOp/B/8vUEsDBBQAAgAIAHYI7kDbKJQDoQEAAC8DAABPABwAdG1wL2xheW91dC10ZXN0
LXJlc3VsdHMvaHR0cC90ZXN0cy9jYWNoZS9wb3N0LXdpdGgtY2FjaGVkLXN1YnJlc291cmNlcy1k
aWZmLnR4dFVUCQADb8UAUG/FAFB1eAsAAQToAwAABOgDAACtklFv0zAQx9/zKU7lYaDEidOtTTQJ
UQqTADEV0QrEE0rsS2OWxZF9XlKqfXccSjeBVGkPPFl3/t3//nc2YwwSuu2SpthpR4zQEjNoXUM2
qYm6ZMzYRBSixqTT/rZXVLPfsWTWlR7Wzgi0DIcOBaGMaSAIwjD8b8qFIFc0B93FAlgaTSFMo5TD
YhGwT6/X64AFoW+EBgqC5zziL8Cqnwg558Oc8yAE+IytRPNFYX+KeZLAstHiBvbvNtcf70+zD7SW
O9gvV2+/HeA8yv/AWX4xzPKLA3zEN+hH3D8jf/wrnmXzIc0eeIARAuPaR65XkuoRvITJezqz4Ldq
VdkgVNrPBdYJv01buQYM3hWNkgUp3QJpEIWzCHiHLdkxrpRBsLtW1Ea32tlmF8NXn6m1a2R7RiBM
YWtQFegWQVdAtX4UsKQ7L1Pj5KTddDY7Gj6fc2+40YWMYY0I4+ewl0lSuq2NeyxvFMXabBPfvP/u
k7HYqldKvsym2Xwaw+TJK+QD/5u9ui1RSpSr8of/ubBfLT9cvdkcyryraHqsPPcvm8548AtQSwME
FAACAAgAdgjuQP7BpR1AAQAAWgIAAFEAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rl
c3RzL2NhY2hlL3Bvc3Qtd2l0aC1jYWNoZWQtc3VicmVzb3VyY2VzLWFjdHVhbC50eHRVVAkAA2/F
AFBvxQBQdXgLAAEE6AMAAAToAwAAjdFdS8MwFAbg+/2Kw7yYwuiyj34wEGE6UFEGOhSvJE1O17iY
jCRdW4f/3cxZh8JgVyGH5z05SSSt0QB1cEq65Ays+EBICKkiQloAD6g4mieB5QEij4hPpGZL2FzP
7+8+D9JfrHkNm8ns6mVnk27yY+NkVIXJ6Ns2eo6Vg82J88v/1nEcVf244QBbA6ZQe1YK7vKtG0P7
xnUsrLS1IpUImfZ3AlswhtZmhQSDayoFp05oBU4Do4VFwDUqZ7f7TBgEWyuWG610YWUdwLOv5LqQ
XHUcMENtDiIDrRB0Bi7X+wbW6ZVvk2P70LT9MGzmHUbEzys15QE8IkLu3MqOe720WNigxHQpXKDN
oufPLl99MWALcSH4eTyIo0EA7WPfj1TkD52+p8g58ln6hsyHZpPb6eV8l/IzdQdNcOj/tB+S1hdQ
SwMECgAAAAAAxQjuQAAAAAAAAAAAAAAAACgAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRw
L3Rlc3RzL21pc2MvVVQJAAMCxgBQiMcAUHV4CwABBOgDAAAE6AMAAFBLAwQUAAIACADFCO5AFTU1
knoAAAC8AAAAQgAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvbWlzYy94c2x0
LWJhZC1pbXBvcnQtc3RkZXJyLnR4dFVUCQADAsYAUALGAFB1eAsAAQToAwAABOgDAACNjkEOwyAM
BO95hT9AIO2hFb8hxFUsGYyMkfr8EuUD1V5WO4fZLKURJyOpgKqiET7ECKdZi95vj9caZrb4DiH4
Qj17xS5DM3b/7WxuT4ej0kTNDaV1bsBUEZ6AjAWrwU2XSeJdIcKoaZ8aE2BJx3+6Kn3k87qXLDEv
P1BLAwQUAAIACAC5CO5Ago5xdGsAAABwAAAARwAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0
dHAvdGVzdHMvbWlzYy9kbnMtcHJlZmV0Y2gtY29udHJvbC1zdGRlcnIudHh0VVQJAAPtxQBQ7cUA
UHV4CwABBOgDAAAE6AMAAIu2MDUzsLKwNDKxMjQwtLAwMzExMzIBCrkGBfkHWSWnFpXEl6UWZaZV
xhcU5SfH5xUX6yUna5ibmGjGKji7BoXEB3h7RoSBVTgDFSuk5RcpGBqZ6xkAoaFCWmJmTmqKQmpR
ka2uhaGFIRcAUEsDBAoAAAAAAOQI7kAAAAAAAAAAAAAAAAAsABwAdG1wL2xheW91dC10ZXN0LXJl
c3VsdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9VVAkAAzzGAFCIxwBQdXgLAAEE6AMAAAToAwAAUEsD
BBQAAgAIANoI7kA8m99MRQAAAEkAAABbABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90
ZXN0cy9zZWN1cml0eS9zY3JpcHQtY3Jvc3NvcmlnaW4tbG9hZHMtY29ycmVjdGx5LWV4cGVjdGVk
LnR4dFVUCQADLMYAUCzGAFB1eAsAAQToAwAABOgDAABz9HENCrFSKE4uyiwoUShKzNPjCsnILFYo
SS0uUShILC5OLVbITFMoyUiFqcnJT0wpVkjOLypKTS7JqdTj4gpwDA7mAgBQSwMEFAACAAgA3Qju
QFZwUmliAAAAjgAAAFUAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL3NlY3Vy
aXR5L3hzcy1ERU5JRUQteG1sLWV4dGVybmFsLWVudGl0eS1zdGRlcnIudHh0VVQJAAMxxgBQMcYA
UHV4CwABBOgDAAAE6AMAAI3MMQrDMAwF0N2n+FuWguhqOvYG3QvC+Q4B2zKKAuntS2/QA7xX98Ys
IowiV29SNLTZlu8ZU/2gg+7myHhaOTtHYD/APuOT0jvVv/kr1AOhG3hNluB6w/JYMCxQ7Rzrr/sC
UEsDBBQAAgAIAN0I7kBgS2YQkQAAAPsBAABdABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0
cC90ZXN0cy9zZWN1cml0eS94c3MtREVOSUVELXhzbC1kb2N1bWVudC1zZWN1cml0eU9yaWdpbi1z
dGRlcnIudHh0VVQJAAMxxgBQMcYAUHV4CwABBOgDAAAE6AMAAO2OMQ6DMAxFd07hC4QEllaZYejS
ngEFUyKZJLKdCm5fOvQGHau/vq/3Qt5KpEljToDMmT0skRBW1eKt7fpL6851/uqcs4KhctTD7iJm
GO+3cTC7kJlzqBsmNV/gwfEZU7tvBBQTQg9I+CFA9CCUFVGb8+lfyHK6PeREB3StgwUnrYwCEyNI
LSWz4tyEf+iPQ99QSwMEFAACAAgA2wjuQOOz/wHyBwAA9hkAAF8AHAB0bXAvbGF5b3V0LXRlc3Qt
cmVzdWx0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3NjcmlwdC1jcm9zc29yaWdpbi1sb2Fkcy1jb3Jy
ZWN0bHktcHJldHR5LWRpZmYuaHRtbFVUCQADLcYAUC3GAFB1eAsAAQToAwAABOgDAAC9WVtv2zYU
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
xBt8bwOGldJA1PxDC8ggnU8YFYC4tblnoTjDBRCPvlnZFN9SlaHffv2AtPsBP5OLN+EYfibLy/F4
3IgENA7A+CQJLDcEICLXjUqoXysjY/A/kwhx55WIiTwiO3QeAYxBHP7faFwMR6Orlflo6tZIZL3a
TB9a8Dwcygxuh8eheNTwyTNsng7b/P7D7a+fgCIt2KCL+2exOarexTPUmw2r9ymj+iotFZQDKYmE
u4Qpw05fwxyoZo5/WffpM3Sf/zdw6nwYCgYuNH/u+RtQSwMEFAACAAgA2gjuQADzZ0LJAAAAQwEA
AFkAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3NjcmlwdC1j
cm9zc29yaWdpbi1sb2Fkcy1jb3JyZWN0bHktYWN0dWFsLnR4dFVUCQADLMYAUCzGAFB1eAsAAQTo
AwAABOgDAACVz01Ow0AMBeB9TuEL5KdsQNlFKEJCgaJOewAzcTqWMuNo7BZ6e0Yg1gh58TbvfZIf
969uP43wMjo3PI09nJLiQvCMV3Q+82aAZhRLmgAnNkYjQEh45TMaSwIfMJ0JFsmwZIwEH2wBTocJ
gtnWt+3u7r7pyu36h67rWiV/yWy3VjHN7/JJc83fw7oQsTbZmmBxLZjEf4qZVC7Zk/5hN1U1TOPh
2IP+PJkxNdUxsIKRGmyoSgq8gAX67ayCs4KXnMnbeivG2+Bc9QVQSwMEFAACAAgA2gjuQGKCjwYW
AQAAFQIAAFcAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3Nj
cmlwdC1jcm9zc29yaWdpbi1sb2Fkcy1jb3JyZWN0bHktZGlmZi50eHRVVAkAAyzGAFAtxgBQdXgL
AAEE6AMAAAToAwAArZDBasMwDEDv+QrdU8fJxtjIKaWEwehWaNoP0BylMSR2sJSu/fu5LRu7jcHQ
QUJIT+IppUDLOOkBz34WJcSiAvE8COteZNKXDmsmMwcrZ80m2EmUCZ7ZB3uwTg0eW1bGh0BGhrOi
0xQLajM5CSRpmv77BTQy43DjVxWoYnEPabF4gKpK0tXmrdmsa3itm2b5XJewd4wdwQsesbmyAUVo
jFk8WGfFohAgODzaA4r1DkyP7kDQ+QBdwJHgw0oP++0aLh+XWhd3j1keoyif8jz/8Ty69t2fqFX2
uqgiYlTip6yXcYgwP/6RGFX5ORjiX9hZkiawXNfbXQk3hRDQZQnsestwcQwTMhOD7UB6+hq6uoVv
t3Eh+QRQSwMEFAACAAgA2gjuQMyMSI4OAQAAtgEAAFkAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0
cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3NjcmlwdC1jcm9zc29yaWdpbi1sb2Fkcy1jb3JyZWN0bHkt
d2RpZmYuaHRtbFVUCQADLMYAUCzGAFB1eAsAAQToAwAABOgDAACVkMFKA0EMhu/7FAHPndl6UdZ1
ocgiSLXSrQ+QzmQ7g7szyyStFvHdnVq8eBHJIYHk/yBf7QhtU7McB2qUpQE+YIvmdZfiPtgKLnrE
G/gEhdb+XmF/WtX6HK71GTWlPPOEAcyAzLc52NytnrrVsoXHtusW920FL4GxJ3jAA3Ym+UkARWjM
XSL44MWjECAEPPgdio+Z5jDsCPqYoE84Erx5cfCyXoITmSqt55dXqsw1r67LstRMZp+8HDVjsNv4
Tnbmv4OzjBhnEiflZBwyLI7/JCbiuE+G+A+2ym6yiKYoFst2vamAz78mDKrYOM8gxAJT1kQMvgdx
9HMzRLQMJqZERoajKornRdcVtT75/QJQSwMECgAAAAAA5AjuQAAAAAAAAAAAAAAAAEIAHAB0bXAv
bGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBv
bGljeS9VVAkAAzzGAFCIxwBQdXgLAAEE6AMAAAToAwAAUEsDBBQAAgAIAOQI7kBjqqxsggAAAKgA
AABqABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50
U2VjdXJpdHlQb2xpY3kveHNsLXVuYWZmZWN0ZWQtYnktc3R5bGUtc3JjLTItc3RkZXJyLnR4dFVU
CQADPMYAUDzGAFB1eAsAAQToAwAABOgDAAAtjUEKwzAMBO95hV4QO72k+BWFviC4G2JQLCMppf59
TSl7WobZzXK2wpsXqQRV0UR7YdDh3lIIy22d48iS7jHGYMiXFu8hS3VUf/77Q7jkHhQml2ZYMO+M
+WNMXCpoJTDOIdAP2AH4NGh6Q21cJ5LKnZY50o7NrzFEm4Lsak3U8Zq+UEsDBBQAAgAIAOQI7kBj
qqxsggAAAKgAAABYABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS9jb250ZW50U2VjdXJpdHlQb2xpY3kveHNsLWFsbG93ZWQtc3RkZXJyLnR4dFVUCQADPMYAUDzG
AFB1eAsAAQToAwAABOgDAAAtjUEKwzAMBO95hV4QO72k+BWFviC4G2JQLCMppf59TSl7WobZzXK2
wpsXqQRV0UR7YdDh3lIIy22d48iS7jHGYMiXFu8hS3VUf/77Q7jkHhQml2ZYMO+M+WNMXCpoJTDO
IdAP2AH4NGh6Q21cJ5LKnZY50o7NrzFEm4Lsak3U8Zq+UEsDBAoAAAAAAIgJ7kAAAAAAAAAAAAAA
AAAgABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcmV0cmllcy9VVAkAA3DHAFCIxwBQdXgLAAEE
6AMAAAToAwAAUEsDBBQAAgAIAJMJ7kB53eckIwEAAFwDAAAuABwAdG1wL2xheW91dC10ZXN0LXJl
c3VsdHMvcmV0cmllcy90ZXN0c19ydW4wLnR4dFVUCQADhscAUHDHAFB1eAsAAQToAwAABOgDAACt
UktOxDAM3XMXkwWnYMcNqjTxJBZJXGyHoZyetNWIkRCz6ip58vtYtrPZ4gzV1CmGLmSr0yC0GARh
VRZK1KCwjwqBRTBYWZ+z1fKUf7XXl+CuOC8oF6d9rqRK3JygcpeAYFSpJbfJdsV0q0zeTGjuhhNL
RDnRmRoZeWOZbF1QT3QWjLQN4kzPuDZfKYyuFcWG6ETvY6H/jOGrlg0JfvSB3TcKQ8GWLMMwWHj0
c2gufpTxE9sQRdLFW8hQUdUnBB1bbAmiN3/HvrBUdeJbQqeFxn6hcleEw+YxM2JBQ7hmKghRfEpb
guVe58dCbiFv+Ei554of/brgQ8YIOxo33Zvd7m5nbbeOsj+v7U04jTHo33pv2we2fFhYDfzM3WAu
vr0f7B9QSwECHgMKAAAAAACUCe5AAAAAAAAAAAAAAAAAGAAYAAAAAAAAABAA7UEAAAAAdG1wL2xh
eW91dC10ZXN0LXJlc3VsdHMvVVQFAAOHxwBQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAbAju
QFmNQt98MwAAoHQCADQAGAAAAAAAAQAAAKSBUgAAAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3dl
YmtpdF91bml0X3Rlc3RzX291dHB1dC54bWxVVAUAA1vFAFB1eAsAAQToAwAABOgDAABQSwECHgMU
AAIACACHCe5A+YfGVe2ZAAA9CgQAJgAYAAAAAAABAAAApIE8NAAAdG1wL2xheW91dC10ZXN0LXJl
c3VsdHMvdGVzdHNfcnVuMS50eHRVVAUAA23HAFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACAB2
Ce5AVhTqBLKoAAA2VAQAJgAYAAAAAAABAAAApIGJzgAAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMv
dGVzdHNfcnVuMi50eHRVVAUAA0/HAFB1eAsAAQToAwAABOgDAABQSwECHgMKAAAAAACICe5AAAAA
AAAAAAAAAAAAQwAYAAAAAAAAAAAApIGbdwEAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcHl3ZWJz
b2NrZXQud3MubG9nLTE0SnVsMjAxMi0wMTEyMTUtZXJyLnR4dFVUBQADb8cAUHV4CwABBOgDAAAE
6AMAAFBLAQIeAwoAAAAAAAMJ7kAAAAAAAAAAAAAAAAAdABgAAAAAAAAAEADtQRh4AQB0bXAvbGF5
b3V0LXRlc3QtcmVzdWx0cy9mYXN0L1VUBQADdsYAUHV4CwABBOgDAAAE6AMAAFBLAQIeAwoAAAAA
ANQI7kAAAAAAAAAAAAAAAAAjABgAAAAAAAAAEADtQW94AQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0
cy9mYXN0L2Zvcm1zL1VUBQADH8YAUHV4CwABBOgDAAAE6AMAAFBLAQIeAwoAAAAAANQI7kAAAAAA
AAAAAAAAAAApABgAAAAAAAAAEADtQcx4AQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2Zv
cm1zL3JhbmdlL1VUBQADIMYAUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIANQI7kCIdonjdAAA
AOEAAABHABgAAAAAAAEAAACkgS95AQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2Zvcm1z
L3JhbmdlL3NsaWRlci1vbmNoYW5nZS1ldmVudC1kaWZmLnR4dFVUBQADIMYAUHV4CwABBOgDAAAE
6AMAAFBLAQIeAxQAAgAIANQI7kBuOEBfygAAAEgBAABWABgAAAAAAAEAAACkgSR6AQB0bXAvbGF5
b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2Zvcm1zL3JhbmdlL3NsaWRlci1kZWxldGUtd2hpbGUtZHJh
Z2dpbmctdGh1bWItd2RpZmYuaHRtbFVUBQADH8YAUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAI
ANQI7kChUopzdwAAANoAAABJABgAAAAAAAEAAACkgX57AQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0
cy9mYXN0L2Zvcm1zL3JhbmdlL3NsaWRlci1tb3VzZS1ldmVudHMtZXhwZWN0ZWQudHh0VVQFAAMf
xgBQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgA1AjuQDZVGeVdAAAAlAAAAEkAGAAAAAAAAQAA
AKSBeHwBAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvZm9ybXMvcmFuZ2Uvc2xpZGVyLW9u
Y2hhbmdlLWV2ZW50LWFjdHVhbC50eHRVVAUAAyDGAFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIA
CADUCO5A46VFHKMAAAAHAQAASQAYAAAAAAABAAAApIFYfQEAdG1wL2xheW91dC10ZXN0LXJlc3Vs
dHMvZmFzdC9mb3Jtcy9yYW5nZS9zbGlkZXItb25jaGFuZ2UtZXZlbnQtd2RpZmYuaHRtbFVUBQAD
IMYAUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIANQI7kD4DY2hcAAAAKgAAABHABgAAAAAAAEA
AACkgX5+AQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2Zvcm1zL3JhbmdlL3NsaWRlci1t
b3VzZS1ldmVudHMtYWN0dWFsLnR4dFVUBQADH8YAUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAI
ANQI7kC020B/dgAAALQAAABWABgAAAAAAAEAAACkgW9/AQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0
cy9mYXN0L2Zvcm1zL3JhbmdlL3NsaWRlci1kZWxldGUtd2hpbGUtZHJhZ2dpbmctdGh1bWItYWN0
dWFsLnR4dFVUBQADH8YAUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIANQI7kBoCb0ZdwAAALgA
AABYABgAAAAAAAEAAACkgXWAAQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2Zvcm1zL3Jh
bmdlL3NsaWRlci1kZWxldGUtd2hpbGUtZHJhZ2dpbmctdGh1bWItZXhwZWN0ZWQudHh0VVQFAAMf
xgBQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgA1AjuQFVQae5sBwAAWRoAAE8AGAAAAAAAAQAA
AKSBfoEBAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvZm9ybXMvcmFuZ2Uvc2xpZGVyLW9u
Y2hhbmdlLWV2ZW50LXByZXR0eS1kaWZmLmh0bWxVVAUAAyDGAFB1eAsAAQToAwAABOgDAABQSwEC
HgMUAAIACADUCO5AgMWnuboHAABWGwAAXAAYAAAAAAABAAAApIFziQEAdG1wL2xheW91dC10ZXN0
LXJlc3VsdHMvZmFzdC9mb3Jtcy9yYW5nZS9zbGlkZXItZGVsZXRlLXdoaWxlLWRyYWdnaW5nLXRo
dW1iLXByZXR0eS1kaWZmLmh0bWxVVAUAAx/GAFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACADU
CO5AIuTriNEAAADdAQAARwAYAAAAAAABAAAApIHDkQEAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMv
ZmFzdC9mb3Jtcy9yYW5nZS9zbGlkZXItbW91c2UtZXZlbnRzLXdkaWZmLmh0bWxVVAUAAyDGAFB1
eAsAAQToAwAABOgDAABQSwECHgMUAAIACADUCO5AfIA5bY4AAAASAQAAVAAYAAAAAAABAAAApIEV
kwEAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9mb3Jtcy9yYW5nZS9zbGlkZXItZGVsZXRl
LXdoaWxlLWRyYWdnaW5nLXRodW1iLWRpZmYudHh0VVQFAAMfxgBQdXgLAAEE6AMAAAToAwAAUEsB
Ah4DFAACAAgA1AjuQEsxotHQAAAAsQEAAEUAGAAAAAAAAQAAAKSBMZQBAHRtcC9sYXlvdXQtdGVz
dC1yZXN1bHRzL2Zhc3QvZm9ybXMvcmFuZ2Uvc2xpZGVyLW1vdXNlLWV2ZW50cy1kaWZmLnR4dFVU
BQADH8YAUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIANQI7kBIXz8DZAgAALEmAABNABgAAAAA
AAEAAACkgYCVAQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2Zvcm1zL3JhbmdlL3NsaWRl
ci1tb3VzZS1ldmVudHMtcHJldHR5LWRpZmYuaHRtbFVUBQADIMYAUHV4CwABBOgDAAAE6AMAAFBL
AQIeAxQAAgAIANQI7kANJOAbXAAAAIEAAABLABgAAAAAAAEAAACkgWueAQB0bXAvbGF5b3V0LXRl
c3QtcmVzdWx0cy9mYXN0L2Zvcm1zL3JhbmdlL3NsaWRlci1vbmNoYW5nZS1ldmVudC1leHBlY3Rl
ZC50eHRVVAUAAyDGAFB1eAsAAQToAwAABOgDAABQSwECHgMKAAAAAADmCO5AAAAAAAAAAAAAAAAA
JAAYAAAAAAAAABAA7UFMnwEAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9sb2FkZXIvVVQF
AANAxgBQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgA5gjuQEE6f9OaBwAA+BcAAEMAGAAAAAAA
AQAAAKSBqp8BAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvbG9hZGVyL2xvYWRJblByb2dy
ZXNzLXByZXR0eS1kaWZmLmh0bWxVVAUAA0DGAFB1eAsAAQToAwAABOgDAABQSwECHgMKAAIAAADm
CO5A1tHaeS4AAAAuAAAAPwAYAAAAAAABAAAApIHBpwEAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMv
ZmFzdC9sb2FkZXIvbG9hZEluUHJvZ3Jlc3MtZXhwZWN0ZWQudHh0VVQFAANAxgBQdXgLAAEE6AMA
AAToAwAAUEsBAh4DFAACAAgA5gjuQGyjKvK+AAAA8AAAAD0AGAAAAAAAAQAAAKSBaKgBAHRtcC9s
YXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvbG9hZGVyL2xvYWRJblByb2dyZXNzLXdkaWZmLmh0bWxV
VAUAA0DGAFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACADmCO5AKSZ3aXQAAAB9AAAAPQAYAAAA
AAABAAAApIGdqQEAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9sb2FkZXIvbG9hZEluUHJv
Z3Jlc3MtYWN0dWFsLnR4dFVUBQADQMYAUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAOYI7kA0
XQbmxQAAABoBAAA7ABgAAAAAAAEAAACkgYiqAQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0
L2xvYWRlci9sb2FkSW5Qcm9ncmVzcy1kaWZmLnR4dFVUBQADQMYAUHV4CwABBOgDAAAE6AMAAFBL
AQIeAwoAAAAAAAQJ7kAAAAAAAAAAAAAAAAAhABgAAAAAAAAAEADtQcKrAQB0bXAvbGF5b3V0LXRl
c3QtcmVzdWx0cy9mYXN0L3hzbC9VVAUAA3fGAFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACAAE
Ce5AgUp3rUsAAACsAAAATAAYAAAAAAABAAAApIEdrAEAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMv
ZmFzdC94c2wveHNsdC10cmFuc2Zvcm0tdG8tZnJhZ21lbnQtY3Jhc2gtc3RkZXJyLnR4dFVUBQAD
d8YAUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAAMJ7kBQXUg3jAAAAPgAAAA/ABgAAAAAAAEA
AACkge6sAQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L3hzbC94c2x0LWJhZC1pbXBvcnQt
dXJpLXN0ZGVyci50eHRVVAUAA3bGAFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACAADCe5AbUfU
XoUAAADxAAAAPQAYAAAAAAABAAAApIHzrQEAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC94
c2wvdHJhbnNmb3JtLXhoci1kb2Mtc3RkZXJyLnR4dFVUBQADdsYAUHV4CwABBOgDAAAE6AMAAFBL
AQIeAwoAAAAAALcI7kAAAAAAAAAAAAAAAAAkABgAAAAAAAAAEADtQe+uAQB0bXAvbGF5b3V0LXRl
c3QtcmVzdWx0cy9mYXN0L2NhbnZhcy9VVAUAA+rFAFB1eAsAAQToAwAABOgDAABQSwECHgMKAAAA
AAC8CO5AAAAAAAAAAAAAAAAAKgAYAAAAAAAAABAA7UFNrwEAdG1wL2xheW91dC10ZXN0LXJlc3Vs
dHMvZmFzdC9jYW52YXMvd2ViZ2wvVVQFAAPzxQBQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgA
uAjuQLyV8mKqAAAA1QIAAFEAGAAAAAAAAQAAAKSBsa8BAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRz
L2Zhc3QvY2FudmFzL3dlYmdsL2dsLXZlcnRleC1hdHRyaWItemVyby1pc3N1ZXMtc3RkZXJyLnR4
dFVUBQAD7MUAUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIALwI7kC99uDtigAAAJEAAABSABgA
AAAAAAEAAACkgeawAQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2NhbnZhcy93ZWJnbC93
ZWJnbC1jb21wb3NpdGUtbW9kZXMtcmVwYWludC1zdGRlcnIudHh0VVQFAAPzxQBQdXgLAAEE6AMA
AAToAwAAUEsBAh4DFAACAAgAuQjuQG0fP8jbAAAANAEAAEUAGAAAAAAAAQAAAKSB/LEBAHRtcC9s
YXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvY2FudmFzL3dlYmdsL2luZGV4LXZhbGlkYXRpb24tc3Rk
ZXJyLnR4dFVUBQAD7cUAUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIALcI7kCqf/fhxwAAAEoG
AABOABgAAAAAAAEAAACkgVazAQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2NhbnZhcy93
ZWJnbC9kcmF3LWFycmF5cy1vdXQtb2YtYm91bmRzLXN0ZGVyci50eHRVVAUAA+rFAFB1eAsAAQTo
AwAABOgDAABQSwECHgMUAAIACAC4CO5A5Je94owAAAD9AAAARAAYAAAAAAABAAAApIGltAEAdG1w
L2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9jYW52YXMvd2ViZ2wvZXJyb3ItcmVwb3J0aW5nLXN0
ZGVyci50eHRVVAUAA+vFAFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACAC5CO5ADDz4eM0AAACi
AQAATwAYAAAAAAABAAAApIGvtQEAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9jYW52YXMv
d2ViZ2wvc2hhZGVyLWRlbGV0ZWQtYnktYWNjZXNzb3Itc3RkZXJyLnR4dFVUBQAD7sUAUHV4CwAB
BOgDAAAE6AMAAFBLAQIeAxQAAgAIALcI7kB/FjaYBAEAALMJAABQABgAAAAAAAEAAACkgQW3AQB0
bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2NhbnZhcy93ZWJnbC9kcmF3LWVsZW1lbnRzLW91
dC1vZi1ib3VuZHMtc3RkZXJyLnR4dFVUBQAD6sUAUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAI
ALsI7kBvgC43OgEAAHMMAABJABgAAAAAAAEAAACkgZO4AQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0
cy9mYXN0L2NhbnZhcy93ZWJnbC90eXBlLWNvbnZlcnNpb24tdGVzdC1zdGRlcnIudHh0VVQFAAPx
xQBQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAuQjuQFmbgIapAAAAjAIAAFQAGAAAAAAAAQAA
AKSBULoBAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvY2FudmFzL3dlYmdsL2luZGV4LXZh
bGlkYXRpb24tY29waWVzLWluZGljZXMtc3RkZXJyLnR4dFVUBQAD7cUAUHV4CwABBOgDAAAE6AMA
AFBLAQIeAxQAAgAIALkI7kDNt1D2ngAAAEYBAABfABgAAAAAAAEAAACkgYe7AQB0bXAvbGF5b3V0
LXRlc3QtcmVzdWx0cy9mYXN0L2NhbnZhcy93ZWJnbC9pbmRleC12YWxpZGF0aW9uLXZlcmlmaWVz
LXRvby1tYW55LWluZGljZXMtc3RkZXJyLnR4dFVUBQAD7cUAUHV4CwABBOgDAAAE6AMAAFBLAQIe
AxQAAgAIALgI7kBDPe87lwAAAPoBAABEABgAAAAAAAEAAACkgb68AQB0bXAvbGF5b3V0LXRlc3Qt
cmVzdWx0cy9mYXN0L2NhbnZhcy93ZWJnbC9nZXQtYWN0aXZlLXRlc3Qtc3RkZXJyLnR4dFVUBQAD
68UAUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIALgI7kA1sJ2ClgAAACIBAABRABgAAAAAAAEA
AACkgdO9AQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2NhbnZhcy93ZWJnbC9nbC1iaW5k
LWF0dHJpYi1sb2NhdGlvbi10ZXN0LXN0ZGVyci50eHRVVAUAA+vFAFB1eAsAAQToAwAABOgDAABQ
SwECHgMUAAIACAC5CO5A9bziI1kAAABfAAAASgAYAAAAAAABAAAApIH0vgEAdG1wL2xheW91dC10
ZXN0LXJlc3VsdHMvZmFzdC9jYW52YXMvd2ViZ2wvbnVsbC1vYmplY3QtYmVoYXZpb3VyLXN0ZGVy
ci50eHRVVAUAA+3FAFB1eAsAAQToAwAABOgDAABQSwECHgMKAAAAAADPCO5AAAAAAAAAAAAAAAAA
KAAYAAAAAAAAABAA7UHRvwEAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9maWxlc3lzdGVt
L1VUBQADFcYAUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAM8I7kAPFEeNZgAAAG8AAAA6ABgA
AAAAAAEAAACkgTPAAQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2ZpbGVzeXN0ZW0vb3At
Y29weS1zdGRlcnIudHh0VVQFAAMVxgBQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAzwjuQNXe
Cm1mAAAAbwAAADoAGAAAAAAAAQAAAKSBDcEBAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3Qv
ZmlsZXN5c3RlbS9vcC1tb3ZlLXN0ZGVyci50eHRVVAUAAxXGAFB1eAsAAQToAwAABOgDAABQSwEC
HgMUAAIACADPCO5A0aQBnWYAAABvAAAAPAAYAAAAAAABAAAApIHnwQEAdG1wL2xheW91dC10ZXN0
LXJlc3VsdHMvZmFzdC9maWxlc3lzdGVtL29wLXJlbW92ZS1zdGRlcnIudHh0VVQFAAMVxgBQdXgL
AAEE6AMAAAToAwAAUEsBAh4DFAACAAgAjAnuQEOygbI8owAA378HACYAGAAAAAAAAQAAAKSBw8IB
AHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2FjY2Vzc19sb2cudHh0VVQFAAN3xwBQdXgLAAEE6AMA
AAToAwAAUEsBAh4DFAACAAgAgAnuQNAQT5b6vwAA7ZQFACYAGAAAAAAAAQAAAKSBX2YCAHRtcC9s
YXlvdXQtdGVzdC1yZXN1bHRzL3Rlc3RzX3J1bjMudHh0VVQFAANfxwBQdXgLAAEE6AMAAAToAwAA
UEsBAh4DFAACAAgAjAnuQLywn3LrGQAAkXICACUAGAAAAAAAAQAAAKSBuSYDAHRtcC9sYXlvdXQt
dGVzdC1yZXN1bHRzL2Vycm9yX2xvZy50eHRVVAUAA3jHAFB1eAsAAQToAwAABOgDAABQSwECHgMK
AAAAAAAZCe5AAAAAAAAAAAAAAAAAIQAYAAAAAAAAABAA7UEDQQMAdG1wL2xheW91dC10ZXN0LXJl
c3VsdHMvcGxhdGZvcm0vVVQFAAOhxgBQdXgLAAEE6AMAAAToAwAAUEsBAh4DCgAAAAAASQnuQAAA
AAAAAAAAAAAAACoAGAAAAAAAAAAQAO1BXkEDAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRm
b3JtL2Nocm9taXVtL1VUBQAD+cYAUHV4CwABBOgDAAAE6AMAAFBLAQIeAwoAAAAAAEkJ7kAAAAAA
AAAAAAAAAAAyABgAAAAAAAAAEADtQcJBAwB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9y
bS9jaHJvbWl1bS92aXJ0dWFsL1VUBQAD+cYAUHV4CwABBOgDAAAE6AMAAFBLAQIeAwoAAAAAAEkJ
7kAAAAAAAAAAAAAAAAA2ABgAAAAAAAAAEADtQS5CAwB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9w
bGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9VVAUAA/nGAFB1eAsAAQToAwAABOgDAABQSwEC
HgMKAAAAAABJCe5AAAAAAAAAAAAAAAAAOwAYAAAAAAAAABAA7UGeQgMAdG1wL2xheW91dC10ZXN0
LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9ncHUvZmFzdC9VVAUAA/nGAFB1eAsA
AQToAwAABOgDAABQSwECHgMKAAAAAABJCe5AAAAAAAAAAAAAAAAAQgAYAAAAAAAAABAA7UETQwMA
dG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9ncHUvZmFz
dC9jYW52YXMvVVQFAAP5xgBQdXgLAAEE6AMAAAToAwAAUEsBAh4DCgAAAAAATAnuQAAAAAAAAAAA
AAAAAEgAGAAAAAAAAAAQAO1Bj0MDAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2No
cm9taXVtL3ZpcnR1YWwvZ3B1L2Zhc3QvY2FudmFzL3dlYmdsL1VUBQAD/8YAUHV4CwABBOgDAAAE
6AMAAFBLAQIeAxQAAgAIAEwJ7kDKVNA2igAAAJMAAABwABgAAAAAAAEAAACkgRFEAwB0bXAvbGF5
b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9mYXN0L2NhbnZh
cy93ZWJnbC91bmlmb3JtLWFycmF5LWxlbmd0aC1vdmVyZmxvdy1zdGRlcnIudHh0VVQFAAP/xgBQ
dXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgASQnuQF2D6Q6oAAAA3wIAAG8AGAAAAAAAAQAAAKSB
RUUDAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvZ3B1
L2Zhc3QvY2FudmFzL3dlYmdsL2dsLXZlcnRleC1hdHRyaWItemVyby1pc3N1ZXMtc3RkZXJyLnR4
dFVUBQAD+sYAUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAEoJ7kB1C3bh2gAAADgBAABjABgA
AAAAAAEAAACkgZZGAwB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS92
aXJ0dWFsL2dwdS9mYXN0L2NhbnZhcy93ZWJnbC9pbmRleC12YWxpZGF0aW9uLXN0ZGVyci50eHRV
VAUAA/vGAFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACABJCe5AEu2C/MgAAABeBgAAbAAYAAAA
AAABAAAApIENSAMAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vdmly
dHVhbC9ncHUvZmFzdC9jYW52YXMvd2ViZ2wvZHJhdy1hcnJheXMtb3V0LW9mLWJvdW5kcy1zdGRl
cnIudHh0VVQFAAP5xgBQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgASQnuQPa2SE2LAAAAAQEA
AGIAGAAAAAAAAQAAAKSBe0kDAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9t
aXVtL3ZpcnR1YWwvZ3B1L2Zhc3QvY2FudmFzL3dlYmdsL2Vycm9yLXJlcG9ydGluZy1zdGRlcnIu
dHh0VVQFAAP5xgBQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgASgnuQHiGDRTNAAAAqAEAAG0A
GAAAAAAAAQAAAKSBokoDAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVt
L3ZpcnR1YWwvZ3B1L2Zhc3QvY2FudmFzL3dlYmdsL3NoYWRlci1kZWxldGVkLWJ5LWFjY2Vzc29y
LXN0ZGVyci50eHRVVAUAA/zGAFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACABJCe5Adb4dqAEB
AADVCQAAbgAYAAAAAAABAAAApIEWTAMAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0v
Y2hyb21pdW0vdmlydHVhbC9ncHUvZmFzdC9jYW52YXMvd2ViZ2wvZHJhdy1lbGVtZW50cy1vdXQt
b2YtYm91bmRzLXN0ZGVyci50eHRVVAUAA/nGAFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACABM
Ce5AMUX+9T4BAAChDAAAZwAYAAAAAAABAAAApIG/TQMAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMv
cGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9ncHUvZmFzdC9jYW52YXMvd2ViZ2wvdHlwZS1jb252
ZXJzaW9uLXRlc3Qtc3RkZXJyLnR4dFVUBQAD/8YAUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAI
AEoJ7kBXQ02hqwAAAJQCAAByABgAAAAAAAEAAACkgZ5PAwB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0
cy9wbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9mYXN0L2NhbnZhcy93ZWJnbC9pbmRleC12
YWxpZGF0aW9uLWNvcGllcy1pbmRpY2VzLXN0ZGVyci50eHRVVAUAA/vGAFB1eAsAAQToAwAABOgD
AABQSwECHgMUAAIACABKCe5AW8iBl54AAABKAQAAfQAYAAAAAAABAAAApIH1UAMAdG1wL2xheW91
dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9ncHUvZmFzdC9jYW52YXMv
d2ViZ2wvaW5kZXgtdmFsaWRhdGlvbi12ZXJpZmllcy10b28tbWFueS1pbmRpY2VzLXN0ZGVyci50
eHRVVAUAA/vGAFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACABJCe5An1Ov1pgAAAACAgAAYgAY
AAAAAAABAAAApIFKUgMAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0v
dmlydHVhbC9ncHUvZmFzdC9jYW52YXMvd2ViZ2wvZ2V0LWFjdGl2ZS10ZXN0LXN0ZGVyci50eHRV
VAUAA/nGAFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACABJCe5Ap2ZTK5UAAAAmAQAAbwAYAAAA
AAABAAAApIF+UwMAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vdmly
dHVhbC9ncHUvZmFzdC9jYW52YXMvd2ViZ2wvZ2wtYmluZC1hdHRyaWItbG9jYXRpb24tdGVzdC1z
dGRlcnIudHh0VVQFAAP5xgBQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgASgnuQBul2F5XAAAA
YQAAAGgAGAAAAAAAAQAAAKSBvFQDAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2No
cm9taXVtL3ZpcnR1YWwvZ3B1L2Zhc3QvY2FudmFzL3dlYmdsL251bGwtb2JqZWN0LWJlaGF2aW91
ci1zdGRlcnIudHh0VVQFAAP7xgBQdXgLAAEE6AMAAAToAwAAUEsBAh4DCgAAAAAAGQnuQAAAAAAA
AAAAAAAAAC8AGAAAAAAAAAAQAO1BtVUDAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3Jt
L2Nocm9taXVtL2h0dHAvVVQFAAOhxgBQdXgLAAEE6AMAAAToAwAAUEsBAh4DCgAAAAAAGQnuQAAA
AAAAAAAAAAAAADUAGAAAAAAAAAAQAO1BHlYDAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRm
b3JtL2Nocm9taXVtL2h0dHAvdGVzdHMvVVQFAAOhxgBQdXgLAAEE6AMAAAToAwAAUEsBAh4DCgAA
AAAAGQnuQAAAAAAAAAAAAAAAAD4AGAAAAAAAAAAQAO1BjVYDAHRtcC9sYXlvdXQtdGVzdC1yZXN1
bHRzL3BsYXRmb3JtL2Nocm9taXVtL2h0dHAvdGVzdHMvc2VjdXJpdHkvVVQFAAOhxgBQdXgLAAEE
6AMAAAToAwAAUEsBAh4DCgAAAAAAGQnuQAAAAAAAAAAAAAAAAEsAGAAAAAAAAAAQAO1BBVcDAHRt
cC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL2h0dHAvdGVzdHMvc2VjdXJp
dHkvbWl4ZWRDb250ZW50L1VUBQADocYAUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIABkJ7kC5
c2PBagAAAHIAAAB7ABgAAAAAAAEAAACkgYpXAwB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0
Zm9ybS9jaHJvbWl1bS9odHRwL3Rlc3RzL3NlY3VyaXR5L21peGVkQ29udGVudC9pbnNlY3VyZS1p
ZnJhbWUtaW4tbWFpbi1mcmFtZS1hbGxvd2VkLXN0ZGVyci50eHRVVAUAA6HGAFB1eAsAAQToAwAA
BOgDAABQSwECHgMUAAIACAB0Ce5AicFcAxlZAACO8gIAJgAYAAAAAAABAAAApIGpWAMAdG1wL2xh
eW91dC10ZXN0LXJlc3VsdHMvdGVzdHNfcnVuMC50eHRVVAUAA0vHAFB1eAsAAQToAwAABOgDAABQ
SwECHgMUAAIACACUCe5AyGkBw04jAAA/lgAAJAAYAAAAAAABAAAApIEisgMAdG1wL2xheW91dC10
ZXN0LXJlc3VsdHMvcmVzdWx0cy5odG1sVVQFAAOHxwBQdXgLAAEE6AMAAAToAwAAUEsBAh4DCgAA
AAAATQnuQAAAAAAAAAAAAAAAACAAGAAAAAAAAAAQAO1BztUDAHRtcC9sYXlvdXQtdGVzdC1yZXN1
bHRzL3BsdWdpbnMvVVQFAAMCxwBQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgATQnuQP4X/Efv
AAAAVQEAAEQAGAAAAAAAAQAAAKSBKNYDAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsdWdpbnMv
bnVsbC1ucHAtZ2V0dmFsdWUtcG9pbnRlci1zdGRlcnIudHh0VVQFAAMCxwBQdXgLAAEE6AMAAATo
AwAAUEsBAh4DFAACAAgAlAnuQKc6v9lqAgAAsAYAACkAGAAAAAAAAQAAAKSBldcDAHRtcC9sYXlv
dXQtdGVzdC1yZXN1bHRzL2Z1bGxfcmVzdWx0cy5qc29uVVQFAAOHxwBQdXgLAAEE6AMAAAToAwAA
UEsBAh4DCgAAAAAAiAnuQAAAAAAAAAAAAAAAAEMAGAAAAAAAAAAAAKSBYtoDAHRtcC9sYXlvdXQt
dGVzdC1yZXN1bHRzL3B5d2Vic29ja2V0LndzLmxvZy0xNEp1bDIwMTItMDExMjE1LW91dC50eHRV
VAUAA2/HAFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACACHCe5AkexmgRokAABvYQAAIgAYAAAA
AAABAAAApIHf2gMAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cGQuY29uZlVUBQADbccAUHV4
CwABBOgDAAAE6AMAAFBLAQIeAwoAAAAAAHYI7kAAAAAAAAAAAAAAAAAdABgAAAAAAAAAEADtQVX/
AwB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL1VUBQADb8UAUHV4CwABBOgDAAAE6AMAAFBL
AQIeAwoAAAAAAPII7kAAAAAAAAAAAAAAAAAjABgAAAAAAAAAEADtQaz/AwB0bXAvbGF5b3V0LXRl
c3QtcmVzdWx0cy9odHRwL3Rlc3RzL1VUBQADWMYAUHV4CwABBOgDAAAE6AMAAFBLAQIeAwoAAAAA
APII7kAAAAAAAAAAAAAAAAAnABgAAAAAAAAAEADtQQkABAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0
cy9odHRwL3Rlc3RzL3czYy9VVAUAA1jGAFB1eAsAAQToAwAABOgDAABQSwECHgMKAAAAAADyCO5A
AAAAAAAAAAAAAAAALwAYAAAAAAAAABAA7UFqAAQAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0
cC90ZXN0cy93M2Mvd2VicGVyZi9VVAUAA1jGAFB1eAsAAQToAwAABOgDAABQSwECHgMKAAAAAADy
CO5AAAAAAAAAAAAAAAAAOgAYAAAAAAAAABAA7UHTAAQAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMv
aHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL1VUBQADWMYAUHV4CwABBOgDAAAE6AMA
AFBLAQIeAwoAAAAAAPII7kAAAAAAAAAAAAAAAABKABgAAAAAAAAAEADtQUcBBAB0bXAvbGF5b3V0
LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2Ut
dGltaW5nL1VUBQADWMYAUHV4CwABBOgDAAAE6AMAAFBLAQIeAwoAAAAAAPUI7kAAAAAAAAAAAAAA
AABPABgAAAAAAAAAEADtQcsBBAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL3cz
Yy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvVVQFAANexgBQdXgLAAEE
6AMAAAToAwAAUEsBAh4DFAACAAgAiQnuQCHLz3HAAQAAkgQAAHUAGAAAAAAAAQAAAKSBVAIEAHRt
cC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9y
ZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX2F0dHJpYnV0ZV9vcmRlci1kaWZmLnR4
dFVUBQADcscAUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAIwJ7kAJQo4igAgAABkfAAB/ABgA
AAAAAAEAAACkgcMEBAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL3czYy93ZWJw
ZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9keW5hbWlj
X2luc2VydGlvbi1wcmV0dHktZGlmZi5odG1sVVQFAAN3xwBQdXgLAAEE6AMAAAToAwAAUEsBAh4D
FAACAAgAjAnuQPEWm7dQAQAAmwIAAHkAGAAAAAAAAQAAAKSB/A0EAHRtcC9sYXlvdXQtdGVzdC1y
ZXN1bHRzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcv
aHRtbC90ZXN0X3Jlc291cmNlX2R5bmFtaWNfaW5zZXJ0aW9uLXdkaWZmLmh0bWxVVAUAA3fHAFB1
eAsAAQToAwAABOgDAABQSwECHgMUAAIACACMCe5AKrAZltgAAABFAwAAcwAYAAAAAAABAAAApIH/
DwQAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNz
aW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2VfcmVkaXJlY3RzLWV4cGVjdGVk
LnR4dFVUBQADd8cAUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAIwJ7kBL2AObgQEAABIFAABx
ABgAAAAAAAEAAACkgYQRBAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL3czYy93
ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9yZWRp
cmVjdHMtd2RpZmYuaHRtbFVUBQADd8cAUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAIwJ7kDs
eG4loAAAAHkBAABxABgAAAAAAAEAAACkgbATBAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRw
L3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9y
ZXNvdXJjZV9yZWRpcmVjdHMtYWN0dWFsLnR4dFVUBQADd8cAUHV4CwABBOgDAAAE6AMAAFBLAQIe
AxQAAgAIAIwJ7kBXgWPj3wAAAPoRAAB3ABgAAAAAAAEAAACkgfsUBAB0bXAvbGF5b3V0LXRlc3Qt
cmVzdWx0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5n
L2h0bWwvdGVzdF9yZXNvdXJjZV9pbml0aWF0b3JfdHlwZXMtYWN0dWFsLnR4dFVUBQADd8cAUHV4
CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAIkJ7kCGpKpvoQAAAMEAAAB3ABgAAAAAAAEAAACkgYsW
BAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Np
b24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9hdHRyaWJ1dGVfb3JkZXItYWN0
dWFsLnR4dFVUBQADcscAUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAIwJ7kA3pemvtAAAAKQB
AAB7ABgAAAAAAAEAAACkgd0XBAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL3cz
Yy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9k
eW5hbWljX2luc2VydGlvbi1leHBlY3RlZC50eHRVVAUAA3fHAFB1eAsAAQToAwAABOgDAABQSwEC
HgMUAAIACACMCe5AcNgbmgECAABaFwAAdQAYAAAAAAABAAAApIFGGQQAdG1wL2xheW91dC10ZXN0
LXJlc3VsdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWlu
Zy9odG1sL3Rlc3RfcmVzb3VyY2VfaW5pdGlhdG9yX3R5cGVzLWRpZmYudHh0VVQFAAN3xwBQdXgL
AAEE6AMAAAToAwAAUEsBAh4DFAACAAgAjAnuQKwU+1TGAAAAUwQAAHYAGAAAAAAAAQAAAKSB9hsE
AHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lv
bi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX3NjcmlwdF90eXBlcy1leHBlY3Rl
ZC50eHRVVAUAA3fHAFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACACMCe5AGC6Zot0JAACIUgAA
fQAYAAAAAAABAAAApIFsHQQAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy93M2Mv
d2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2VfaW5p
dGlhdG9yX3R5cGVzLXByZXR0eS1kaWZmLmh0bWxVVAUAA3fHAFB1eAsAAQToAwAABOgDAABQSwEC
HgMUAAIACACMCe5AbmNqwrIAAADjAAAAdAAYAAAAAAABAAAApIEAKAQAdG1wL2xheW91dC10ZXN0
LXJlc3VsdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWlu
Zy9odG1sL3Rlc3RfcmVzb3VyY2Vfc2NyaXB0X3R5cGVzLWFjdHVhbC50eHRVVAUAA3fHAFB1eAsA
AQToAwAABOgDAABQSwECHgMUAAIACACMCe5ARSxTB4YBAACHBQAAbwAYAAAAAAABAAAApIFgKQQA
dG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9u
L3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2VfcmVkaXJlY3RzLWRpZmYudHh0VVQF
AAN3xwBQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAjAnuQCvDwxhlAQAAJwMAAHcAGAAAAAAA
AQAAAKSBjysEAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYv
c3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX2R5bmFtaWNfaW5z
ZXJ0aW9uLWRpZmYudHh0VVQFAAN3xwBQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAiQnuQLdG
UA6jAQAAAgQAAHcAGAAAAAAAAQAAAKSBpS0EAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAv
dGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jl
c291cmNlX2F0dHJpYnV0ZV9vcmRlci13ZGlmZi5odG1sVVQFAANyxwBQdXgLAAEE6AMAAAToAwAA
UEsBAh4DFAACAAgAjAnuQAP7GLYIAQAAZgQAAHkAGAAAAAAAAQAAAKSB+S8EAHRtcC9sYXlvdXQt
dGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10
aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX2luaXRpYXRvcl90eXBlcy1leHBlY3RlZC50eHRVVAUA
A3fHAFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACACMCe5AZ0FS62UBAABuBQAAdAAYAAAAAAAB
AAAApIG0MQQAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9z
dWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2Vfc2NyaXB0X3R5cGVz
LXdkaWZmLmh0bWxVVAUAA3fHAFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACACMCe5ADpqXZq8I
AAB9JQAAegAYAAAAAAABAAAApIHHMwQAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0
cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3Vy
Y2Vfc2NyaXB0X3R5cGVzLXByZXR0eS1kaWZmLmh0bWxVVAUAA3fHAFB1eAsAAQToAwAABOgDAABQ
SwECHgMUAAIACACMCe5Au1LKu68AAADaAAAAeQAYAAAAAAABAAAApIEqPQQAdG1wL2xheW91dC10
ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRp
bWluZy9odG1sL3Rlc3RfcmVzb3VyY2VfZHluYW1pY19pbnNlcnRpb24tYWN0dWFsLnR4dFVUBQAD
d8cAUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAIwJ7kCgcfuOuAgAAOUjAAB3ABgAAAAAAAEA
AACkgYw+BAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1
Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9yZWRpcmVjdHMtcHJl
dHR5LWRpZmYuaHRtbFVUBQADd8cAUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAIwJ7kAGXFRr
cwEAANIFAAByABgAAAAAAAEAAACkgfVHBAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rl
c3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNv
dXJjZV9zY3JpcHRfdHlwZXMtZGlmZi50eHRVVAUAA3fHAFB1eAsAAQToAwAABOgDAABQSwECHgMU
AAIACACJCe5AAdDhrwkJAABGJQAAfQAYAAAAAAABAAAApIEUSgQAdG1wL2xheW91dC10ZXN0LXJl
c3VsdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9o
dG1sL3Rlc3RfcmVzb3VyY2VfYXR0cmlidXRlX29yZGVyLXByZXR0eS1kaWZmLmh0bWxVVAUAA3LH
AFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACACJCe5ASwqPjwMBAAAFAwAAeQAYAAAAAAABAAAA
pIHUUwQAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJt
aXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2VfYXR0cmlidXRlX29yZGVy
LWV4cGVjdGVkLnR4dFVUBQADcscAUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAIwJ7kBOb8n2
+gEAAMkXAAB3ABgAAAAAAAEAAACkgYpVBAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rl
c3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNv
dXJjZV9pbml0aWF0b3JfdHlwZXMtd2RpZmYuaHRtbFVUBQADd8cAUHV4CwABBOgDAAAE6AMAAFBL
AQIeAwoAAAAAAHYI7kAAAAAAAAAAAAAAAAApABgAAAAAAAAAEADtQTVYBAB0bXAvbGF5b3V0LXRl
c3QtcmVzdWx0cy9odHRwL3Rlc3RzL2NhY2hlL1VUBQADb8UAUHV4CwABBOgDAAAE6AMAAFBLAQIe
AxQAAgAIAHYI7kD+waUdQAEAAFoCAABFABgAAAAAAAEAAACkgZhYBAB0bXAvbGF5b3V0LXRlc3Qt
cmVzdWx0cy9odHRwL3Rlc3RzL2NhY2hlL3Bvc3QtcmVkaXJlY3QtZ2V0LWFjdHVhbC50eHRVVAUA
A2/FAFB1eAsAAQToAwAABOgDAABQSwECHgMKAAIAAAB2CO5AnOmndQYAAAAGAAAARwAYAAAAAAAB
AAAApIFXWgQAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9jYWNoZS9wb3N0LXJl
ZGlyZWN0LWdldC1leHBlY3RlZC50eHRVVAUAA2/FAFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIA
CAB2CO5AVzVCW5kBAAAXAwAAQwAYAAAAAAABAAAApIHeWgQAdG1wL2xheW91dC10ZXN0LXJlc3Vs
dHMvaHR0cC90ZXN0cy9jYWNoZS9wb3N0LXJlZGlyZWN0LWdldC1kaWZmLnR4dFVUBQADb8UAUHV4
CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAHYI7kC5x48m2x8AAKgrAABFABgAAAAAAAAAAACkgfRc
BAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL2NhY2hlL3Bvc3QtcmVkaXJlY3Qt
Z2V0LWFjdHVhbC5wbmdVVAUAA2/FAFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACAB2CO5AjaV8
io8BAADoAgAARQAYAAAAAAABAAAApIFOfQQAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90
ZXN0cy9jYWNoZS9wb3N0LXJlZGlyZWN0LWdldC13ZGlmZi5odG1sVVQFAANvxQBQdXgLAAEE6AMA
AAToAwAAUEsBAh4DCgACAAAAdgjuQJzpp3UGAAAABgAAAFMAGAAAAAAAAQAAAKSBXH8EAHRtcC9s
YXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvY2FjaGUvcG9zdC13aXRoLWNhY2hlZC1zdWJy
ZXNvdXJjZXMtZXhwZWN0ZWQudHh0VVQFAANvxQBQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgA
dgjuQNX2HWKQCAAAGx8AAFcAGAAAAAAAAQAAAKSB738EAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRz
L2h0dHAvdGVzdHMvY2FjaGUvcG9zdC13aXRoLWNhY2hlZC1zdWJyZXNvdXJjZXMtcHJldHR5LWRp
ZmYuaHRtbFVUBQADb8UAUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAHYI7kCNpXyKjwEAAOgC
AABRABgAAAAAAAEAAACkgRCJBAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL2Nh
Y2hlL3Bvc3Qtd2l0aC1jYWNoZWQtc3VicmVzb3VyY2VzLXdkaWZmLmh0bWxVVAUAA2/FAFB1eAsA
AQToAwAABOgDAABQSwECHgMUAAIACAB2CO5AucePJtsfAACoKwAAUQAYAAAAAAAAAAAApIEqiwQA
dG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9jYWNoZS9wb3N0LXdpdGgtY2FjaGVk
LXN1YnJlc291cmNlcy1hY3R1YWwucG5nVVQFAANvxQBQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAAC
AAgAdgjuQJxCjy2JCAAADx8AAEsAGAAAAAAAAQAAAKSBkKsEAHRtcC9sYXlvdXQtdGVzdC1yZXN1
bHRzL2h0dHAvdGVzdHMvY2FjaGUvcG9zdC1yZWRpcmVjdC1nZXQtcHJldHR5LWRpZmYuaHRtbFVU
BQADb8UAUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAHYI7kDbKJQDoQEAAC8DAABPABgAAAAA
AAEAAACkgZ60BAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL2NhY2hlL3Bvc3Qt
d2l0aC1jYWNoZWQtc3VicmVzb3VyY2VzLWRpZmYudHh0VVQFAANvxQBQdXgLAAEE6AMAAAToAwAA
UEsBAh4DFAACAAgAdgjuQP7BpR1AAQAAWgIAAFEAGAAAAAAAAQAAAKSByLYEAHRtcC9sYXlvdXQt
dGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvY2FjaGUvcG9zdC13aXRoLWNhY2hlZC1zdWJyZXNvdXJj
ZXMtYWN0dWFsLnR4dFVUBQADb8UAUHV4CwABBOgDAAAE6AMAAFBLAQIeAwoAAAAAAMUI7kAAAAAA
AAAAAAAAAAAoABgAAAAAAAAAEADtQZO4BAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rl
c3RzL21pc2MvVVQFAAMCxgBQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAxQjuQBU1NZJ6AAAA
vAAAAEIAGAAAAAAAAQAAAKSB9bgEAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMv
bWlzYy94c2x0LWJhZC1pbXBvcnQtc3RkZXJyLnR4dFVUBQADAsYAUHV4CwABBOgDAAAE6AMAAFBL
AQIeAxQAAgAIALkI7kCCjnF0awAAAHAAAABHABgAAAAAAAEAAACkgeu5BAB0bXAvbGF5b3V0LXRl
c3QtcmVzdWx0cy9odHRwL3Rlc3RzL21pc2MvZG5zLXByZWZldGNoLWNvbnRyb2wtc3RkZXJyLnR4
dFVUBQAD7cUAUHV4CwABBOgDAAAE6AMAAFBLAQIeAwoAAAAAAOQI7kAAAAAAAAAAAAAAAAAsABgA
AAAAAAAAEADtQde6BAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL3NlY3VyaXR5
L1VUBQADPMYAUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIANoI7kA8m99MRQAAAEkAAABbABgA
AAAAAAEAAACkgT27BAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL3NlY3VyaXR5
L3NjcmlwdC1jcm9zc29yaWdpbi1sb2Fkcy1jb3JyZWN0bHktZXhwZWN0ZWQudHh0VVQFAAMsxgBQ
dXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgA3QjuQFZwUmliAAAAjgAAAFUAGAAAAAAAAQAAAKSB
F7wEAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvc2VjdXJpdHkveHNzLURFTklF
RC14bWwtZXh0ZXJuYWwtZW50aXR5LXN0ZGVyci50eHRVVAUAAzHGAFB1eAsAAQToAwAABOgDAABQ
SwECHgMUAAIACADdCO5AYEtmEJEAAAD7AQAAXQAYAAAAAAABAAAApIEIvQQAdG1wL2xheW91dC10
ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3MtREVOSUVELXhzbC1kb2N1bWVudC1z
ZWN1cml0eU9yaWdpbi1zdGRlcnIudHh0VVQFAAMxxgBQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAAC
AAgA2wjuQOOz/wHyBwAA9hkAAF8AGAAAAAAAAQAAAKSBML4EAHRtcC9sYXlvdXQtdGVzdC1yZXN1
bHRzL2h0dHAvdGVzdHMvc2VjdXJpdHkvc2NyaXB0LWNyb3Nzb3JpZ2luLWxvYWRzLWNvcnJlY3Rs
eS1wcmV0dHktZGlmZi5odG1sVVQFAAMtxgBQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgA2gju
QADzZ0LJAAAAQwEAAFkAGAAAAAAAAQAAAKSBu8YEAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0
dHAvdGVzdHMvc2VjdXJpdHkvc2NyaXB0LWNyb3Nzb3JpZ2luLWxvYWRzLWNvcnJlY3RseS1hY3R1
YWwudHh0VVQFAAMsxgBQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgA2gjuQGKCjwYWAQAAFQIA
AFcAGAAAAAAAAQAAAKSBF8gEAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvc2Vj
dXJpdHkvc2NyaXB0LWNyb3Nzb3JpZ2luLWxvYWRzLWNvcnJlY3RseS1kaWZmLnR4dFVUBQADLMYA
UHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIANoI7kDMjEiODgEAALYBAABZABgAAAAAAAEAAACk
gb7JBAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3NjcmlwdC1j
cm9zc29yaWdpbi1sb2Fkcy1jb3JyZWN0bHktd2RpZmYuaHRtbFVUBQADLMYAUHV4CwABBOgDAAAE
6AMAAFBLAQIeAwoAAAAAAOQI7kAAAAAAAAAAAAAAAABCABgAAAAAAAAAEADtQV/LBAB0bXAvbGF5
b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGlj
eS9VVAUAAzzGAFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACADkCO5AY6qsbIIAAACoAAAAagAY
AAAAAAABAAAApIHbywQAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS9jb250ZW50U2VjdXJpdHlQb2xpY3kveHNsLXVuYWZmZWN0ZWQtYnktc3R5bGUtc3JjLTItc3Rk
ZXJyLnR4dFVUBQADPMYAUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAOQI7kBjqqxsggAAAKgA
AABYABgAAAAAAAEAAACkgQHNBAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL3Nl
Y3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS94c2wtYWxsb3dlZC1zdGRlcnIudHh0VVQFAAM8
xgBQdXgLAAEE6AMAAAToAwAAUEsBAh4DCgAAAAAAiAnuQAAAAAAAAAAAAAAAACAAGAAAAAAAAAAQ
AO1BFc4EAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3JldHJpZXMvVVQFAANwxwBQdXgLAAEE6AMA
AAToAwAAUEsBAh4DFAACAAgAkwnuQHnd5yQjAQAAXAMAAC4AGAAAAAAAAQAAAKSBb84EAHRtcC9s
YXlvdXQtdGVzdC1yZXN1bHRzL3JldHJpZXMvdGVzdHNfcnVuMC50eHRVVAUAA4bHAFB1eAsAAQTo
AwAABOgDAABQSwUGAAAAAJQAlAARVQAA+s8EAAAA
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>152401</attachid>
            <date>2012-07-13 19:50:15 -0700</date>
            <delta_ts>2012-07-13 19:50:15 -0700</delta_ts>
            <desc>Archive of layout-test-results from gce-cr-linux-01</desc>
            <filename>layout-test-results.zip</filename>
            <type>application/zip</type>
            <size>378392</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">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
jL0wyTQwlkV5BsiOD+dLjT2ncKbHUbEqxhyxVtHn6aknfedOv1T+UiLGW1JwwTMdoRhA1ry4aPeA
O9c5nicVa/3BgIvNxVegvLapz3NYK07EPEW7vYrMnKCqqRvKN9V2zosbakrZ0LuUUDyJi4m4hIhL
vTjZRc4W0IHWXAdHO8RPvFrZmYGRT5TjFHf2IBIvIvUidl7E3os4eBFHL+LkRTwbEAmKNY3G/nM2
iHUBiimgxAjiU9IujbpHHZ3Pb+ZhPkNVbhT/4M5d9P0GkLl+J16oXcQHtzzDNZZpDoopoIQCSk2g
BGTeDmgKtx5a8+TYnZy4k1N38s6dvHcnH9zJR3fyyZ387EyO3WKJ3WKJ3WKJ3WKJ3WKJV1dYejLz
NDjztDjzNDnztDnzNDrztDrzNDvztDvzNDzztDzzND3ztD3zND7ztD7zND+D9s+d6cel6rNIPxn6
DxyUP+qqLMzdR0uODV/XkhPDx3eRsgMwbOQW6ebsMdaFjSwTY+OXu7btl+onT4CJ/RBHdcV6cSVv
rjfCUgED83IqKrahdgJV3a/mJUfC9gIG67P9iwcBYn0trmOzqx9nUO/iHfy6T/n/gFmFYf8S4+3/
jvfLq7TUMZVqj7cEfBuEkbWEfYsZB+sz1wcQJ+zPjDAoPF97EfaSdWbQAUB7AXrtzZgjYA7ye3/T
MIazUwMqIaHS9Ul3DIfXHHUUKGORZoDYB0h8gNQH2PkAex/g4AMcfYCTD/DsAcTrOeKA/Xt3jKoG
QngYLyjWoPV0guYBXP0U4c0smh6C9rtD1L/1wtvD1LgHHAO7OHrlk1fEHrYyLVGxHZVEwj7Ll9sM
Z84PBh4f7bwGaHJoPrTnOBh7hyRC18Hps8sdWvy0432P3cDe8mybyGcoy5AwYGICJiFg1kewfFLk
zC/lO8jeNN+tELERwbtLxkobX6WuVj2ZWrI8e5TMTh8BsQ+wWpiXgNSXw84H2PtqcfDlcPQBThZA
pUZ27kqO3cmJOzl1J+/cyXt38sGdfHQnn9zJz87k2C212C212C212Cy1fZT1MHRsPXtKjz3piTW9
G+rSlb9Ijz3pvvxTT/rOkm43C5unx+702MwHC8Ij2H+jNa3tK0uU6VspDAuuKpdvfOFozLf7E+px
e2cjzorqylrL7GrA8V7DVxZpruvA8UHHdeqhq4SVjAnCRxZXzkfd1pLRwWm3mvIBOKWv7CifEpha
+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
/XdVvtqMcTX8aDIiH6aEQTqRoheei4WJBgDMkvillFXl29Ie5saVBdEE7tvHvWVgS5G3fGjLpy3g
F7gEGKtsIY8yuqHRB7DEe+Y+vNyeT5ocfsjHwn39Um8zAg0qmgmnPXAAwXvYPFaNkTKGg/AAcR5f
HNyYYeOCvH7gxsLA17GUQSpan3o4zGqfYgcvxtMAL5o0+W0mIfixKNVpZYRhVRZB8wFyg/7Em6Ps
0HQa3m1jfIm7L3FV0WTJ/HgAf3687BY/3bOqnt2Ewo+PDPr87HFY9fPiJwyHtPgNTnHxJJGPmjdb
2uts1dKTFj+z7JJ1FS43S9NZTDZVX14jMPniOZiJrWujQMuf+wy8iwoDg0+RL8LfzciUydqvMO88
2k6FE43AdeCKShV7RWNwNIhTNwjoeXEfg4qLbTKD4OTMlKf6Y6ZnrVMTZ2rqTN05U/fO1IMz9ehM
PTlTn93SeHInu6UVu8UVu+UVuwUWuyUWu0UWu2UWu4UWu6WWuKWWePqYW2qJW2qJW2qJW2qJW2qJ
W2qJW2qJW2qpW2qpW2qpZ2i6pZa6pZa6pZa6pZa6pZa6pZa6pbZzS23nltrOLbWdZ0ZzS23nltrO
LbWdW2o7t9R2bqnt3VLbu6W2d0tt75ba3rMQuKW2d0tt75ba3i21vVtqB7fUDm6pHdxSO7ildnBL
7eBZP91SO7ildnBL7eCW2tEttaNbake31I5uqR3dUju6pXb0qB1uqR3dUju6pXZyS+3kltrJLbWT
W2ont9RObqmd3FI7ebQ1j7rmFsuzRyF78uhzTz6+R6N78qh0Tx6d7smj1D15tLonj1r35NHrnjzq
sFcf9sjPpxH7VGKfTuxTin1asU8t9unFHsU49mjGceLbUHjk51GOY492HHvU49ijH8ceBTn2qMCx
RweOPUpwnPp2XB75ePRg2HDn7/i6/a2si0tXlU0xczqzcu7tuarL9tFX9+rvsvDspC2kdAOJQlHm
3J7d/xKdBKHTIPQuCL0PQh+C0Mcg9CkI/UxBo5He/RHd8YWfXJxNwqVvCNlgse/lSOdPvK4rigCm
E/qaYTAC5ulsIyyhwVIabEeD7WkwvSfBvQ+0KRy1fcK3h0TQZhZledcyZg41NGOBGe4VXcX014nP
PQGvhfgLQc+OJRdoVuVatvPz/TlU2IJrnhjt0tLOgK/Ll7IWr7fbBQJBOSej90fXPrKriPiFmcym
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
LnR4dFVUCQADxtUAUMTTAFB1eAsAAQToAwAABOgDAACsnVtz2zi2hd/PX5li2wB4fczFmXZVYufY
zpyZJxUtQjInFKEiqcTuX39AUrIkSyTXgruqq+1I39oEsTaATZCS0zJfpU1uyvoizbK8yX9pr6nS
sl6YauWlr+/+8dSsiv9JD+jdr57VefqXLpvay0vvKS2zQlcj/KOpMl155peuFoX5PULOTdlUprDh
vKxqvHSdj8F17VWbwjb/Za3H2pvllZ73LS8aXZVpo73KnkBVa0i1Zb1FXhTeymTannOV/U4rRzml
2h3KM+t0njcvTmJKVJrSTdjkq7xceotN2b1e/z1RGDHCjjF9znmrTdHka5tZP/XLokpX49k1mai6
3I4XL9O1ze8X29zSjojRQbMX1U/GHiK3mTs5Mrejcl5pm+Mj3FPeeI1ty37kA/AI8to4/jztjyp/
9kq9TLu5qJ6ntuM3Zf/6iLA9bFnkpbanm9ZPI2TXge005ZXWS6+bjSC8nbGqPLPpCOGVXllFhrBj
TJNau+l+/K2LubFnV6eLtDrNxsd86VWmSc+OgEeTvfStT4uB3pzbVi8PBkTXlZPUEGCsa+2rQ+/v
F6S6ebHpkG2qdk54BU91ZvVoDmTdqep/dMk0CXe/FaP8etPorG/M6duVsSvRIrXrwmM6/7mszMYm
g317Oc72q2LHebXZVPNRvMjtcO17YzL0b/340w7aVVr/tId55gTn4WyzLvJ52vbCRA5kL/blfN63
tX7SuvEKk54dRHq1bl5GsmW/4Fqf7EKSjSH7OWhuDWi6ZSwvG708M2z2qlVe191yUxmbCAZqDLA8
7OGhSeGQOL927YnhWXq4puje2ZS17f51Zda6avIz7VzqUlfWrO3pn7yfr9bt4nN+TujfPHl51ysn
K7nE0ZFTHtQMknZBNKtV6tV6nVZtCo+QebnIS5tKY+vtAU3k3F5lNo1nFgPr0B5ra9vht0/eaZfC
J50vn5qRebIw5bJbq9503gm4XZbPTtJvx8yrV/UUOvj+q6n7XLXjYm3LmHPzxphq8sSGtYOsXRY3
NvQir+wcvBNO0UU6Cu/mkP1r000/1Qwzw4nyWmplukhPrye21xnnLgpP2HW6qYfqr7UN3hYzdix1
WDZG1Jt6rcsx5OStOm/PNS212dTboqnQiwbhhieXvjVpsy+/T5G+qTY9683qwItt8Q3zgyDS8ZNz
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
AFBLAwQUAAIACAAmEe5ABbXtxd07AAC1SgAASAAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zh
c3QvdGV4dC9kZXNjZW50LWNsaXAtaW4tc2NhbGVkLXBhZ2UtYWN0dWFsLnBuZ1VUCQADyNQAUMjU
AFB1eAsAAQToAwAABOgDAADtvHdUVM22L4ooiiRbJSjRFgXJQYJkQUAlI5JDS84gmSaLJIkCEiQH
yaHJmW5FyVEyTZKMZJqcb7Xf3ufse87e9403xrt3vDfe7j8U7VVrVc2a8xeqavFBSeE5MQElAQ4O
DvHLF5KvcHAu38PBwdXAxwX/Q0ZKxgj+YnKU0nA0NDM2tHRwssYx4OHm0ed7LMDJycllws/Ly8+j
b2RkzGtoaPiEl0uA88nK1o+PODj3cF5Kir92TVqbhHuQDc1cXNyOShTBlcAvuHRdJlIq9xHB/TQG
SSnlkgA1bSXSokejCPJXRkclIYT3JcnJWL6ws2kVUd1rtmCxEycPw/cr+SEZ7XNFIirRnxMl1pO5
k9jT6LJRy7/EIA7rRdkr9iQJPDaNdVnskWsi+g4BHVYqge8s9ve/gqGsR4p1LSzyIfczbtZfwcF5
S97Z04M82x9XXfGzwyPEwfmK6E7k7yxQYebV9qvjB03FLpFME7kNP3hzCQfHTPoriEJfqA8eDg7k
y9qaFWLhCisOjs+bNscFXsObJeByXJNu1ZS7IX+uuNMracwyI5UJ/vvd9kmdcvF/vUfa3QPsfz3a
3htmUcTeCedhpnQYhrWwsLAixmqyLgaBD77mof9v7cZ6H70hphV2bfsIrWoipuIjouR5JChYZz1e
5TLppP7y5YdnhHA4vDOWTVZePiw4uH9KZMxVS0vL0bFiv8WbG5eS4+Ys1FKtwWYK/8WLg2+LtUx8
vXq8H8oNbvRXfsivcKhKisIVYeLJ/ppyn4iQUKXQ/I70r+TrReRsa+b2GxO14JPIZy3ouNzHVj1R
5ryO7hW7OF1FoPaHmkZLDWVlZCR4vKqn3FZviJ0qaWlRBrd4U+LS/PVIYX7bKxZd8VwPHz6Eoq8l
LmWPCrsPPegJFnlET5+Zm5s7M5dVlpdKlvPlngJBWAe+HyTD82SfznNXGYxD04Dvlarq3kb9ZpX1
OF+fSaKkgoKChsboCMybTWxjGoVyP9gY0XMv2nl9crB5w6CRicB8zrT+V0vnm6L7kGmvk/Ve62u2
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
jI5R4OPjQ/zJBKn6J67lg8eFKMmryZXIPn/zPwBQSwMEFAACAAgAJhHuQPkhCoeNAQAA8wIAAEsA
HAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L3RleHQvZGVzY2VudC1jbGlwLWluLXNjYWxl
ZC1wYWdlLWV4cGVjdGVkLmh0bWxVVAkAA8jUAFDI1ABQdXgLAAEE6AMAAAToAwAAnVLBbhshEL37
K6Y+OLaU2s2lkeyVL2kj5VRLyaVHFmazSCwgZjb2tuq/dwDXahoph6KVYHnDe4/HNB++fLt7+n74
Cj0Pbj9r/kyojEzEk8P9DGQY+wI/yyqPLnj+2KnBumkLqsdh9xoi+wO3cPM5nirwa9ZszmQN6WQj
V1bbwfJovQnHtVNTGPkJie+EIQXnMMFiAe/Aa0LZOfHj2EZ7QncIZNkGb/3z6uLn/84vOY242v1r
0nrG5JWjN/wXJJOyMJTFQT3jo1YO75XmkJY369tr+CSfUEsi5ySazTnvNpipBpONUlbmHqENzGGA
UP9YHIMlEIdeK0YDxx59gaLIZYiypIF2AgVdEmm5lHLQFRPrIvDQAY1aI9H1X6yVZh5eMHUuHLfQ
W2PQz8vzL2sdMWhFuALqw+hEBQWlKAGjKdS5jNSAoCgzKvAhDSJ/4UjYlX5bVStX8arcRxDdq2xX
Xj4flL4q7SQZcw/Bu6kUGSSNshtV4srQCPV+4VuKuyijrppN3pVwa6oScunt31BLAwQUAAIACAAm
Ee5A43UkdjYCAACuBQAASAAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvdGV4dC9kZXNj
ZW50LWNsaXAtaW4tc2NhbGVkLXBhZ2UtZGlmZnMuaHRtbFVUCQADyNQAUMjUAFB1eAsAAQToAwAA
BOgDAACdVE1v4jAQvedXeHtJECRBPZYQqaKVthKrXWm59GjsSbBknKw9oaCK/77jhI/Qoi5aHzDK
zHvzZjwz2benn7PF669n9n3xY54H2QrX2l/AJV2oUENecIcpwhZTCU6AwVhoVcfKxE5wDTKueQmJ
R2Zphwgyhzu6E82XoN+LijBvoMoVPiwrLfdZ2tmDLD1EWlZylwdPqijAghHAloBvAIapNZG7B5Zx
trJQTO++0BBLwie1Ke9y/y9LeZ4tLbFLtWFCc+emLd2CcsmzlL5+ts1IK1cGLJMceVxTTLX9Mupd
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
UdhSCLEgc0GSmFjKglUWu0KcEGbv62Kt75pNb15HhZFzTdYprqfe4/GLbcHzuO93US7G84VD+Wga
3V6f/QFQSwMEFAACAAgAEhHuQCkmd2l0AAAAfQAAAD0AHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0
cy9mYXN0L2xvYWRlci9sb2FkSW5Qcm9ncmVzcy1hY3R1YWwudHh0VVQJAAOj1ABQo9QAUHV4CwAB
BOgDAAAE6AMAAA3KOw7CMBAFwD6neF3OgLsoMlA4RMKmQhTGLD85Xmu9KXJ7mHrG+eRnZzFZ74eD
NcifQtgZXEqK6+utCFslK8JiMMZSWNFIUYUriW7om6Qe/ERZc+4GZ8/BIFD7l9gaPQyufP9SUhzD
5PYsi820UNFb1/0AUEsDBBQAAgAIABIR7kA0XQbmxQAAABoBAAA7ABwAdG1wL2xheW91dC10ZXN0
LXJlc3VsdHMvZmFzdC9sb2FkZXIvbG9hZEluUHJvZ3Jlc3MtZGlmZi50eHRVVAkAA6PUAFCk1ABQ
dXgLAAEE6AMAAAToAwAAnY+9TsMwFEZ3P8W3dUhNVJjwlKoyP1JKEQkTYjDJ7Q9ybOv6Wmrengje
gOkMn3T0Ha01aplS7d0ci2ihLJopFy+5ProstY9uJP7Fc3jleFrWrOmaaBAab+QqUFVV/cviBinO
/zmaBnqzvkW1Wd+haVS1O7x0h9Zib7tu+2gN/CUQ7g3ew+DK6Szo50SWObLBzoUQBZkEiWMilhmr
zMMK8YhQvFfYtvatN+iXb0guZxoNPuLX99KBp37fPkSerKeJgnwqqB9QSwMECgAAAAAAMBHuQAAA
AAAAAAAAAAAAACEAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L3hzbC9VVAkAA9vUAFDt
1QBQdXgLAAEE6AMAAAToAwAAUEsDBBQAAgAIADAR7kCBSnetSwAAAKwAAABMABwAdG1wL2xheW91
dC10ZXN0LXJlc3VsdHMvZmFzdC94c2wveHNsdC10cmFuc2Zvcm0tdG8tZnJhZ21lbnQtY3Jhc2gt
c3RkZXJyLnR4dFVUCQAD29QAUNvUAFB1eAsAAQToAwAABOgDAAC1zLENgDAMRNE+U9wKtGzjwAVZ
cmxkLOZHomAD6q/3t5inmpSGg5mRK4YaAVMnFtA46YVbUqUbW3LnUNdXxMBh0cW+juJVbfvl+gBQ
SwMEFAACAAgALxHuQFBdSDeMAAAA+AAAAD8AHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0
L3hzbC94c2x0LWJhZC1pbXBvcnQtdXJpLXN0ZGVyci50eHRVVAkAA9rUAFDa1ABQdXgLAAEE6AMA
AAToAwAArY7BDcMwDAP/nUILuHr0lxn67AKKozRCZSuQZaTdvkmzQj8EyQMIZiurKIVYBXY3H2AW
5Z8MiFhq4FMCNx5fEikvbkV6Sbw1vNPHejy4RcOZWuC7KTo36565HSnSSFOSsppH6i7XvQOVynAD
Vi5cA0562clwWhigVxr3E2GgRtM/zlRrPS/HEAWpXr5QSwMEFAACAAgALxHuQG1H1F6FAAAA8QAA
AD0AHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L3hzbC90cmFuc2Zvcm0teGhyLWRvYy1z
dGRlcnIudHh0VVQJAAPa1ABQ2tQAUHV4CwABBOgDAAAE6AMAAK2OsQ3DMAwEe0/BBRQW6TRDyiwg
y3RMRBINkoKd7e3EK6R5PP6Luyx15ZKcpQGpikaYudAvIiLW5vhix43GN3vIi0rlXgNtho/0ke5P
MjeckznuVlDJpGsmw33RMEm+nSsUbgR3oEKVmgPXVdSH84lXhQi9pfEEu0CRNP1RIFwImr4mwwFQ
SwMECgAAAAAA5BDuQAAAAAAAAAAAAAAAACQAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0
L2NhbnZhcy9VVAkAA0vUAFDt1QBQdXgLAAEE6AMAAAToAwAAUEsDBAoAAAAAAOcQ7kAAAAAAAAAA
AAAAAAAqABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9jYW52YXMvd2ViZ2wvVVQJAANS
1ABQ7dUAUHV4CwABBOgDAAAE6AMAAFBLAwQUAAIACADnEO5A2h3ysooAAACTAAAAUgAcAHRtcC9s
YXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvY2FudmFzL3dlYmdsL3VuaWZvcm0tYXJyYXktbGVuZ3Ro
LW92ZXJmbG93LXN0ZGVyci50eHRVVAkAA1LUAFBS1ABQdXgLAAEE6AMAAAToAwAAJcdBC4IwGIDh
e7/iO9ZF5mbUdhOx6JDGCDpEyNw+dTBnbOvQv0/o8vK8T0bJgYl/c1JQyjlnR5ITUUvZSjE6jLTT
s+kM6sVgyLTe7gkvdi+41fLUymvZVDU8StlcmrOAMqVg+09CIGAjGBtV79BkcJ/WnVSEaEc/WK18
gjeGYQmz8hpXe+XSd/MDUEsDBBQAAgAIAOUQ7kAK6swKqgAAAN8CAABRABwAdG1wL2xheW91dC10
ZXN0LXJlc3VsdHMvZmFzdC9jYW52YXMvd2ViZ2wvZ2wtdmVydGV4LWF0dHJpYi16ZXJvLWlzc3Vl
cy1zdGRlcnIudHh0VVQJAANN1ABQTdQAUHV4CwABBOgDAAAE6AMAAM3OOwvCMBiF4d1f8Y26lKRJ
L+lWpIqDrQTBQaSkSdoGepEkDv57C67udjm8Z3vuJEQJyb6LEQ1DRuM4onGaFZxXPOsG7cJajqpW
Ws5K20DKbYQY3T3gUvBDxc95uS/glvPyVB4zyL23pnl5DQiMA2WcaAatArj2y+2FA2e6qTVSTB6e
2razHcUk9dKTGPx7c/9FSjFK2bpIjCBMV0VKUEwJWRcJJxH7H+kDUEsDBBQAAgAIAOUQ7kAUOiLp
2gAAADgBAABFABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9jYW52YXMvd2ViZ2wvaW5k
ZXgtdmFsaWRhdGlvbi1zdGRlcnIudHh0VVQJAANO1ABQTtQAUHV4CwABBOgDAAAE6AMAAI2PMWvD
MBSE9/yKG9sluLZDEm2icY3BsYsI7RCKUeRnR2DLQXpp6b+v09KtQ5fj7rjhu2MSR+tE/OhDlMbx
drXZpLeUKVUr0Q8U4saMbdOSmVryS2PuVtE2vX/Dc6aearWX1WOGV6mqosoFJLO3pysTItiA1gZ9
Gqhd4nCe41kHBNu7zhrtGBfy3eRH7QzN3umBPxfHv5HSJP4HUl7iewSRl01Rvciy2DX1DCoPRV1B
oB92Xn9kA43kOAhoZhovDJ6gjaEQMF0ZUwevXU94J892rmHdbfr7bPEFUEsDBBQAAgAIAOUQ7kA+
GLtzlQAAACYBAABDABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9jYW52YXMvd2ViZ2wv
aW52YWxpZC1VVEYtMTYtc3RkZXJyLnR4dFVUCQADTtQAUE7UAFB1eAsAAQToAwAABOgDAADFjrEO
gjAUAHe/4o26kFpAoBshaBwE05g4EENK+4AmUExbB/9eEld3l8vddk1ISRKyL/ckojSLsyRMD4SV
nNecDRM62spZtQrlotAGUm5jkkW7B1xLfqz5Ja+KEu45r87ViUHuvdXdyyMQ0A6UdqKbUAVwG9cc
hQOnB9NrKYyHJ9p+sbMwElc3YvLvTfNzKSJJ+relD1BLAwQUAAIACADkEO5AzDtfrc4AAABeBgAA
TgAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvY2FudmFzL3dlYmdsL2RyYXctYXJyYXlz
LW91dC1vZi1ib3VuZHMtc3RkZXJyLnR4dFVUCQADS9QAUEvUAFB1eAsAAQToAwAABOgDAADN1L9q
wzAQBvC9T3Fjs4STdLIsbYaEYDBxMKVLKEaVVWNI4iArKX379M/aB7jlG45v+HHDd1QSjXJ/KZCk
tLKkkojctuvazo2nuMg+nId+iGEeYlqH8KzR0uoNdg38lsDtmr7ev1ZNvenbw7arXup2Dw7G0yb5
zyol/7U48DnH8zVDnsGHEJcF5luG+QOSv4wR7jHl6fsM0+Wnmqb3W46AT8d/idaQ5U3UqLVmTlSo
JHdiIZA5kYQoeBMLS6h4Ew2KouRONIL5LhohGX3xAVBLAwQUAAIACADkEO5AQD5BSIwAAAABAQAA
RAAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvY2FudmFzL3dlYmdsL2Vycm9yLXJlcG9y
dGluZy1zdGRlcnIudHh0VVQJAANL1ABQS9QAUHV4CwABBOgDAAAE6AMAAIs2NjIwN7aCkIYGJkZG
lsaGhiYWZmZWrkFB/kFW6TmpxUbxybkp8SmpyfkpqUV6yckapgaWJpqxCu4+CmBFClbuPvGefmGO
Pp4u8UAy1FXBSiE9xz21xDG5JLMs1bGkpCgzyUohMy8ltUIhv7REIT9NoSgxLz2VKxqr/abmFiZU
tD80LzMtvygXqwMAUEsDBBQAAgAIAOQQ7kB1RtZhAwEAANUJAABQABwAdG1wL2xheW91dC10ZXN0
LXJlc3VsdHMvZmFzdC9jYW52YXMvd2ViZ2wvZHJhdy1lbGVtZW50cy1vdXQtb2YtYm91bmRzLXN0
ZGVyci50eHRVVAkAA0vUAFBL1ABQdXgLAAEE6AMAAAToAwAAzdZNa4QwEAbge3/FHLuXEvNhPm4L
K4sga5HSy1JEYxRBTYmx/fu1XXrba+lcAhPm8PAOTHJllEhmbmdCOKWaapbQVJusqsrKDJNbaW3n
ru6c9Z0LT9Y+CqL54Q3OBfw0gTkXdX55PRb5qS6fs+r4kpcXMDBMp9B8ZpOb3RJXA6FZBgd+i+B7
aP22dCv0PkC79b0LD9e7GJqmBA2GcU3RYDhXCg1GJkTiwSiGJ5ndIrBgOGEUEUYLNGPilNA/WXpN
jG5+jxA9NNa6df2F3ZQfLsRxv4Zx+W4NY7tFB+Q+UnCVMCyJCSF0ij6xlBKFHymFRI+Ue40eqVSC
5usitEz+4038AlBLAwQUAAIACADnEO5ABcdHFj8BAAChDAAASQAcAHRtcC9sYXlvdXQtdGVzdC1y
ZXN1bHRzL2Zhc3QvY2FudmFzL3dlYmdsL3R5cGUtY29udmVyc2lvbi10ZXN0LXN0ZGVyci50eHRV
VAkAA1LUAFBS1ABQdXgLAAEE6AMAAAToAwAAzdXNS8MwFADwu3/FO+pl5Pujt6K1DGYnxelhSOnS
rAt0qbSZ6H9vdVcFD2JzeSQQyC957/G2lCBJk3PEiBGiteRSUpZkZbkuk7azI6nMsakaa/rGDgtj
LjnS7OoZ7rPydl3epcV1Bk9pWSyLPIE0hMHtTsECAjdC48Z619lmAQ+HaXuoRxhd6/fO1D7Aix32
/XCsvbHT2tddeL/YfktSHOHYSEKh2EjTN/2ClK/g6xAk+apaFo/panlTTXGTQQJtl9uQmuBe7VmZ
gPONfYP+FKDfw1D71v5wv6YK/+H9G+8+H/57gJBIk7hyIiTnLDaSJDIykiJUzli5Qgkya+VKLjiP
KydSYBxZmagp4thIEovYSEpENpkURWjOyaQoxWTO/taEYR1XTjRRKDYSRUzERsIqOhJFYsZm0lSw
/xqWH1BLAwQUAAIACADlEO5Ak8OjO6oAAACUAgAAVAAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRz
L2Zhc3QvY2FudmFzL3dlYmdsL2luZGV4LXZhbGlkYXRpb24tY29waWVzLWluZGljZXMtc3RkZXJy
LnR4dFVUCQADTtQAUE7UAFB1eAsAAQToAwAABOgDAADNzs0KgkAUBeB9T3GXtYlxdPyZnaCIIBoS
bSRkGm8i+BPjtV4/q20P4OYcOJzFV9mcebb8pcUczgPhssDyXRmXZVHKtseZ13po6gb11KA5ar0X
LHAOV0gy+J5AJlmd5pcwS6O6OMVleE6LHCS0fWTUK+5xwJFmCYoIhwcBTaC0xnmGaSGY7mDU2CI8
0VC3ztCNn6vpbgshsF31H+mLzSPXdq3tI71AbAj5BlBLAwQUAAIACADlEO5Al84+pZ8AAABKAQAA
XwAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvY2FudmFzL3dlYmdsL2luZGV4LXZhbGlk
YXRpb24tdmVyaWZpZXMtdG9vLW1hbnktaW5kaWNlcy1zdGRlcnIudHh0VVQJAANO1ABQTtQAUHV4
CwABBOgDAAAE6AMAAM2OvQqDMBgA9z7FN7ZLidFgk01QRBAtoXQpJaTxqwhqShLb1+/f2gfocsNx
w51iStJYfBmRhFLO0l3COReFlK0U/YieKjN1qkNjO3RbY9aM8GRzhrKGTwSirFXVHLO6ylW7L2R2
qNoGBPRj7vSjGHHCOXgBOgScbgGCBW0Meg92CWCv4PTcI9zRheGlYZjfqRsuS0Agq9PPSZay6I8m
n1BLAwQUAAIACADkEO5ALR+HA5kAAAACAgAARAAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zh
c3QvY2FudmFzL3dlYmdsL2dldC1hY3RpdmUtdGVzdC1zdGRlcnIudHh0VVQJAANM1ABQTNQAUHV4
CwABBOgDAAAE6AMAAMWOQQuCMBhA7/2K71iX0G1q222QiCAFgl0kRm6fMlAHa0U/v6hrlyDq8k4P
3mspiTIqXowjRginnKacJSKv630thhHPROnJKIPaGfRrrZdJxNnqCEUFTwlEUalyd5BVuVUPNjkI
GMYCg9TBXrGZbe/8JMDOBm/gLgFcD/40D7ho3w5sEpr+c4CxmGRfHJAheNt90k8p/03/DlBLAwQU
AAIACADkEO5AgAieNJYAAAAmAQAAUQAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvY2Fu
dmFzL3dlYmdsL2dsLWJpbmQtYXR0cmliLWxvY2F0aW9uLXRlc3Qtc3RkZXJyLnR4dFVUCQADTNQA
UEzUAFB1eAsAAQToAwAABOgDAADFjrEOgjAURXe/4o26kFJQ0m6EoHEQTGPiQAwp7QOaQDFtHfx7
SVzdXU7uyV1Ok1CSJfzLmKSUsoQxuieMl0LUgg8TetqqWbca1aLRRUpt1zvdPeBaimMtLnlVlHDP
RXWuThzyEJzpXgGBgPGgjZfdhDqC27jqKD14M9jeKGkDPNH1i5ulVbhuK6fw3jQ/kw5ZGv8t6QNQ
SwMEFAACAAgA5RDuQC8HkgeTAAAA4wAAAEoAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0
L2NhbnZhcy93ZWJnbC9udWxsLW9iamVjdC1iZWhhdmlvdXItc3RkZXJyLnR4dFVUCQADTtQAUE7U
AFB1eAsAAQToAwAABOgDAACdzrEKwjAUQNG9X/FGXSRNm2rfVrGUQGglqEuREJNQA7WFGPx+i65O
Lne6w+kzSrYZfpuSnNKySBlLywJrKTuJw+ieVJmHVdaZ2bqwMWbFSJmvr9AI+EyAjVC8vVSCH9TS
cw0Iw7j3k61iDP4mZqOjnycEPr306C2Yuw7aRBeS/oeAkl3G6L+C7ljL6sS7dlEgJG9QSwMECgAA
AAAA+hDuQAAAAAAAAAAAAAAAACgAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2ZpbGVz
eXN0ZW0vVVQJAAN41ABQ7dUAUHV4CwABBOgDAAAE6AMAAFBLAwQUAAIACAD6EO5Arnca7GcAAABx
AAAAOgAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvZmlsZXN5c3RlbS9vcC1jb3B5LXN0
ZGVyci50eHRVVAkAA3fUAFB31ABQdXgLAAEE6AMAAAToAwAAizY2MrCwtIKQhgYmRsbG5kYmBoZG
FlauQUH+QVZpmTmp8cWVxSWpufEpmUWpySX5RZXxKYkliUmJxal6yckaFqammrEKzol56iUKRam5
+WWpCokKcKUK5ZklGQrJGZk5KUWpeXpcAFBLAwQUAAIACAD6EO5AhHqh42cAAABxAAAAOgAcAHRt
cC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvZmlsZXN5c3RlbS9vcC1tb3ZlLXN0ZGVyci50eHRV
VAkAA3jUAFB41ABQdXgLAAEE6AMAAAToAwAAizY2MrCwtIKQhgYmRsbG5iaWhmZm5lauQUH+QVZp
mTmp8cWVxSWpufEpmUWpySX5RZXxKYkliUmJxal6yckaFqammrEKzol56iUKRam5+WWpCokKcKUK
5ZklGQrJGZk5KUWpeXpcAFBLAwQUAAIACAD6EO5AWagfx2cAAABxAAAAPAAcAHRtcC9sYXlvdXQt
dGVzdC1yZXN1bHRzL2Zhc3QvZmlsZXN5c3RlbS9vcC1yZW1vdmUtc3RkZXJyLnR4dFVUCQADeNQA
UHjUAFB1eAsAAQToAwAABOgDAACLNjYysLC0gpCGBiZGxsbmpqYWxuYGVq5BQf5BVmmZOanxxZXF
Jam58SmZRanJJflFlfEpiSWJSYnFqXrJyRoWpqaasQrOiXnqJQpFqbn5ZakKiQpwpQrlmSUZCskZ
mTkpRal5elwAUEsDBAoAAAAAALQR7kAAAAAAAAAAAAAAAABDABwAdG1wL2xheW91dC10ZXN0LXJl
c3VsdHMvcHl3ZWJzb2NrZXQud3MubG9nLTE0SnVsMjAxMi0wMjEzNDAtZXJyLnR4dFVUCQAD1NUA
UNTVAFB1eAsAAQToAwAABOgDAABQSwMEFAACAAgAuBHuQPHTbjjNowAAkL4HACYAHAB0bXAvbGF5
b3V0LXRlc3QtcmVzdWx0cy9hY2Nlc3NfbG9nLnR4dFVUCQAD3NUAUMLTAFB1eAsAAQToAwAABOgD
AADsXW1v4ziS/n6/orFA+ssdOyL1PkAQzPT07PZib7txyR0OOBwaikXb6pYljSQn8f36IyXZka2i
RUmUHKc9M/A4tqGn3kgWq4pFTOwPGvsXv0Ps3//BxvXf1+E10TD5RWP/Gb+Y+rt/1dg///vuL3/9
dP/u2kuSmTdb0mtvNqNZhh4DD6XUD1I6yz8ky+Td3+7vv17jD/gv73TNfof+BfdGSGkWr1OGAmIt
81VYAyOa9g5jSx8Nb+VFwZxm+SGmOSWirhmDRDpLvWyJnpY0QpH3GCy8PIgWyHvyNijnHz54sx+Q
ZG3bUMJmX3xjSnyBpk37pCQMVf3pKZgxy6ZRHnghWqchaGYWUcIhXSX5ZuQRK8QYLKZNGoRhMGNC
CiAhEV1XNBjqQAJh6YYaqw+inLI3SX5dfOOjq9+1K/ePq9/xlaPx9799Kl5J8WrWPv+1eNUO6HJM
5SJA8zhdQQJ3NG1EsNvgZqgsFNH3oqO5F4Z8FhispXGMhwymy5pkAKmbsl8kENH8KU67awZ9/fXu
7kAMLn77xPkxzVAU54g+B1k+xHAMpk3dNc7McsSTzh+MUXL1kQnDvvpoFu9/u/qIJ5j8XhnHiJwp
zz6d05Q5VYg+Mr8qQz4NaU6ZZxeEFKVekHG/Lg9WNIWWNdNV42zJU4Ew6NsTNWPq/m+f77798fkf
n779/uXT3bd/frn/9um/P9/dQ5Ivx7I1Lu73rIGoTS1xAnqQWLtIXNH4AuMQ2qCh1Vmsg9yZDsJ0
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
uaPpAju+I7gKxsG2Mt2QwDqQEuOdVCp279fciw8JPh3T/bUbwt2DcWC5q42hyPE21lpjH92i/P07
vMiHPlAa5g7rW0+sUl9zZSAb9kpEpRM8VEZ5JEZJtAKEe0PIO+ZzOVW/zya2M5ld24NP9tj4V85V
+Cd341i2dN3iSrKsdJZatZ2lu8b2AuteeMx9IRDQKPbe0Pv6GdUCHst37M7YU4nsaERVJ45aBjAM
bRllYvGEHgjgMMpFQKiNfsrmboaJIpybzxN7/OUNk36WpnhnL6J78ciC2TfL+Jp7NxFTdgOzqc8c
GCScHEMX9iQW5CRh0JbBCm6gBfvhBwKrObfbmqri9KD9ooWDGOu22lpbg1qvvv3MRJq9ZutoMZMy
LMq/xp4A8y1d62ndO3yWaXU0U2tzI1N/sDTjiqFkL3MyP4JR4CM3nfu7jeQchkRmKMIK7U9gMWRR
7CVq2ssnmmqRmCLBIBgEg2CcCKNXbzf6DVBLAwQKAAAAAABIEe5AAAAAAAAAAAAAAAAAIQAcAHRt
cC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL1VUCQADCNUAUO3VAFB1eAsAAQToAwAABOgD
AABQSwMECgAAAAAAdBHuQAAAAAAAAAAAAAAAACoAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9VVAkAA1vVAFDt1QBQdXgLAAEE6AMAAAToAwAAUEsDBAoAAAAAAHQR
7kAAAAAAAAAAAAAAAAAyABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21p
dW0vdmlydHVhbC9VVAkAA1vVAFDt1QBQdXgLAAEE6AMAAAToAwAAUEsDBAoAAAAAAHQR7kAAAAAA
AAAAAAAAAAA2ABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vdmly
dHVhbC9ncHUvVVQJAANb1QBQ7dUAUHV4CwABBOgDAAAE6AMAAFBLAwQKAAAAAAB0Ee5AAAAAAAAA
AAAAAAAAOwAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL3ZpcnR1
YWwvZ3B1L2Zhc3QvVVQJAANb1QBQ7dUAUHV4CwABBOgDAAAE6AMAAFBLAwQKAAAAAAB0Ee5AAAAA
AAAAAAAAAAAAQgAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL3Zp
cnR1YWwvZ3B1L2Zhc3QvY2FudmFzL1VUCQADW9UAUO3VAFB1eAsAAQToAwAABOgDAABQSwMECgAA
AAAAdxHuQAAAAAAAAAAAAAAAAEgAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9j
aHJvbWl1bS92aXJ0dWFsL2dwdS9mYXN0L2NhbnZhcy93ZWJnbC9VVAkAA2HVAFDt1QBQdXgLAAEE
6AMAAAToAwAAUEsDBBQAAgAIAHQR7kDy+ycPqgAAANUCAABvABwAdG1wL2xheW91dC10ZXN0LXJl
c3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9ncHUvZmFzdC9jYW52YXMvd2ViZ2wvZ2wt
dmVydGV4LWF0dHJpYi16ZXJvLWlzc3Vlcy1zdGRlcnIudHh0VVQJAANc1QBQXNUAUHV4CwABBOgD
AAAE6AMAAM3QvQ6CMBQF4N2nuKMupKWUn27EoHEQTGPiYAwpbYEm/Ji2Dr69xNUHkOWec7Yv904i
Qtn3YBSFNKZxnGJMWMF5xVk3aBfWclS10nJW2gZSbinKot0DLgU/VPycl/sCbjkvT+WRQe69Nc3L
a0BgHCjjRDNoFcC1X2YvHDjTTa2RYvLw1Lad7SgmqZc+icG/N/dfUBousSZQRsIkWxEoQSRLkzWB
MEV//NAHUEsDBBQAAgAIAHUR7kBh4eBs2gAAADQBAABjABwAdG1wL2xheW91dC10ZXN0LXJlc3Vs
dHMvcGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9ncHUvZmFzdC9jYW52YXMvd2ViZ2wvaW5kZXgt
dmFsaWRhdGlvbi1zdGRlcnIudHh0VVQJAANd1QBQXdUAUHV4CwABBOgDAAAE6AMAAI2PTUvDQBiE
7/0Vc9RLSfOJews2hkBMZCl6KBK2mzfpQrIpu28V/72x4M2Dl2FmmMMzxyiOEnGTXRCHSZpmQZpF
oSikbKUYJ/Jhp+e+60kvPbmt1ndJ8BDfv+OlkE+tfM6bxwJvuWyqphTImZ05XZkQwHj0xqvTRP0W
h/Maz8rDm9EORivLuJAbFjcrq2n1Vk38tTn+AZTFu/gfQGWN2wiirLuqec3rat+1K2Z+qNoGAuO0
d+qzmGgmy15AMdN8YfACpTV5j+XKWAY4ZUfCBzk2aw1jf6a/vzbfUEsDBBQAAgAIAHQR7kDSEd4B
yQAAAEoGAABsABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vdmly
dHVhbC9ncHUvZmFzdC9jYW52YXMvd2ViZ2wvZHJhdy1hcnJheXMtb3V0LW9mLWJvdW5kcy1zdGRl
cnIudHh0VVQJAANb1QBQW9UAUHV4CwABBOgDAAAE6AMAAM3SvwrCMBAG8N2nuFEXSe1darIVLFIo
Voq4iJSYxlKoVtKo+Pb+mX2AW244vuHHd3eIMSb9G5HABUkkJCWEzqqqrHTbu3FR20tTN84OjfNz
a6ckFM6OsC7gFwK9Lup8s0+LfFWX26xKd3m5AQ1tv/LmmXpvXqMGE4K73AKEAYy1bhxhuAcYzuDN
tXXwcD50nzV012/Ud6d7cCAmhz9AqWTEGphQsmQNVEtMOANJSImsgVGExBkoYxUr1sBviayBnydE
3kCSfE78BlBLAwQUAAIACAB3Ee5Ar9BXkokAAACRAAAAcQAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1
bHRzL3BsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvZ3B1L2Zhc3QvY2FudmFzL3dlYmdsL3VuaWZv
cm0tbG9jYXRpb24tbGVuZ3RoLWxpbWl0cy1zdGRlcnIudHh0VVQJAANh1QBQYdUAUHV4CwABBOgD
AAAE6AMAAB3HvQrCMBRA4d2nuKMuJeanYrZSqjjYShAcREqa3LaBNpUkDr69xeXwnSfjTMh/9oRT
cSA55SynslKqUXKYMNLWzLa1aBaLITNmK8iR715wq9SpUdeiLit4FKq+1GcJRUrBdZ+EQMBFsC7q
bkKbwX1cd9QRoht874z2Cd4Y+iXM2htc7fWUvpsfUEsDBBQAAgAIAHQR7kCeUTU2iwAAAP0AAABi
ABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9ncHUv
ZmFzdC9jYW52YXMvd2ViZ2wvZXJyb3ItcmVwb3J0aW5nLXN0ZGVyci50eHRVVAkAA1vVAFBb1QBQ
dXgLAAEE6AMAAAToAwAAizY2MTa1AhOGBiZGpmYm5qYWZmbGVq5BQf5BVuk5qcVG8cm5KfEpqcn5
KalFesnJGqYGliaasQruPgpgRQpW7j7xnn5hjj6eLvFAMtRVwUohPcc9tcQxuSSzLNWxpKQoM8lK
ITMvJbVCIb+0RCE/TaEoMS89lSsai+2WlsYWVLQ9NC8zLb8oF6v1AFBLAwQUAAIACAB1Ee5A7nMu
N8wAAACiAQAAbQAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL3Zp
cnR1YWwvZ3B1L2Zhc3QvY2FudmFzL3dlYmdsL3NoYWRlci1kZWxldGVkLWJ5LWFjY2Vzc29yLXN0
ZGVyci50eHRVVAkAA17VAFBe1QBQdXgLAAEE6AMAAAToAwAAzc4xT8MwFATgvb/ijbBUJrEp8ZaW
EEUKKbKADlUVvT67iSXXQbaLxL8nKisDI8vpTrrh2+c8F/Iad4xn4v6BZUJkXFZKbZUcnIlZT2fd
a0OTNmFJdCNYwW8P8FKpp616LrtNBbtSdU1XSyhTCvZ4SQYY2AjaRjw6o5fwOs5zxAjRDv5kCX2C
DxNOUzijJzN3jy59Lfa/gVa8+FegIhfsD6C6hesJZN32Tfdets1jP+dbBRIGt7Ze//DaiTDZyUto
/Cc6q4FGDEjJhMU3UEsDBBQAAgAIAHQR7kDhi+WGAAEAALMJAABuABwAdG1wL2xheW91dC10ZXN0
LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9ncHUvZmFzdC9jYW52YXMvd2ViZ2wv
ZHJhdy1lbGVtZW50cy1vdXQtb2YtYm91bmRzLXN0ZGVyci50eHRVVAkAA1vVAFBb1QBQdXgLAAEE
6AMAAAToAwAAzda9asNADADgvU+hsV3C/Z99WyAmGExcTOkSirHPZ2OwfeV8Tl+/SUq3rKVaJBAa
PgQSOnPBpbkHSgSTSiiqKE9NVlVlZYbJray2c1d3zvrOhZ21z5Kk4uUDjgXcm8Acizo/ve+L/FCX
r1m1f8vLExgYpkNovrLJzW6Jq4HQLIMDv0XwPbR+W7oVeh+g3frehafzA4rWRCGhJJwJJJSUMo6D
wqjSWCiMaoKFoniChHJNFAtFayQbxKSmf0JpYnTzZ4ToobHWresv68d4cSGO1zKMy601jO0WHZBH
RK5ShuT0cS0VQT6thFKJnag4R05MpUROFFRJJM+JuB20f6B8A1BLAwQUAAIACAB3Ee5A0t1lyT4B
AABzDAAAZwAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL3ZpcnR1
YWwvZ3B1L2Zhc3QvY2FudmFzL3dlYmdsL3R5cGUtY29udmVyc2lvbi10ZXN0LXN0ZGVyci50eHRV
VAkAA2HVAFBh1QBQdXgLAAEE6AMAAAToAwAAzZS9TsMwFIV3nuKOsFT+jWNvEYSoUklRRGGoUJQ6
bmopdVDiInh7QlkZMkDj5dqWLN3v+pzjLWWUq3PBiBEuEKV4XFRaFOtCNa0ZSKmPdVkb3dWmX2h9
zZFkN6/wmBb36+IhyW9TeEmKfJlnChLve7s7eQMI7AC1Hapda+oFPB3G46EaYLCN21tdOQ9vpt93
/bFy2ox7V7X+82r7G5CQgQFJRoMCIhiRCUDZCs6XQGWrcpk/J6vlXTnWTQoKmjYzPtHevpsfRgXW
1eYDupOHbg995Rrze3fGxB923zj7PfTk9rHEUVBqSEIDA6IxCguIST6fX6WI2Xx+5ZgIHJIaHEdC
hAUUTxLockAExWFJRggJ7IXGf3i2RHMyzcH/lOiIICRDUiMimNOwgAhHgQEJHhYQRWi2AEWjPPxC
AfoCUEsDBBQAAgAIAHUR7kDqOWciqQAAAIwCAAByABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMv
cGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9ncHUvZmFzdC9jYW52YXMvd2ViZ2wvaW5kZXgtdmFs
aWRhdGlvbi1jb3BpZXMtaW5kaWNlcy1zdGRlcnIudHh0VVQJAANd1QBQXdUAUHV4CwABBOgDAAAE
6AMAAM3OsQqDMBSF4b1Pccd2KVGTaLMJigiiRUoXKSGNtyKoKTG2r9/WuQ/gcobDP3xNQAMm1vEI
9RnnLKB+yERa11UtugFnX+qxlS1q06I9ar1n5EQPN8gKWCMQWSHz8hoXeSKrc1rHl7wqQUA3JFa9
0wFHnNwsQDmH49OBM6C0xnkGszgwD7Bq6hBeaF3/vaGffqnt74tDILvmD5F5Idk6MSJ840TuR8GG
iB9QSwMEFAACAAgAdRHuQL5aAeWfAAAARgEAAH0AHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9w
bGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9mYXN0L2NhbnZhcy93ZWJnbC9pbmRleC12YWxp
ZGF0aW9uLXZlcmlmaWVzLXRvby1tYW55LWluZGljZXMtc3RkZXJyLnR4dFVUCQADXdUAUF3VAFB1
eAsAAQToAwAABOgDAADNjrsKwjAUQHe/4o66SB9JxWyFllIorQRxKRJiei2FtpHkVn9f7ewHuJzh
cIbTxizmYkUYsIgnSRKymB1FLmUjRT+ij5SZOtWhsR26vTFbHhzZ7gpFBWsEoqhUWV/SqsxUc8pl
ei6bGgT0Y+b0Kx9xwpm8AE2E04OALGhj0HuwC4G9g9Nzj/BER8NHwzB/UzfcFkIINu2PRR6Fhz9a
fANQSwMEFAACAAgAdBHuQDZs0QiYAAAA+gEAAGIAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9w
bGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9mYXN0L2NhbnZhcy93ZWJnbC9nZXQtYWN0aXZl
LXRlc3Qtc3RkZXJyLnR4dFVUCQADW9UAUFvVAFB1eAsAAQToAwAABOgDAADFzT8LgkAYgPG9T/GO
tYTeP/M2IRFBCgRbJI68e5UD9eC6oo9fODc0RC3P9MCvpYxyuSSOGOGCpZzvGJV5XR9rOYx4JUpP
RhnUzqDfar3mUco2ZygqWCaQRaXKwymryr16tclBwjAWGDId7B2b2fbOTxLsbPAB7hbA9eAv84Cr
9g0vUkr+xwsikviLfBaCt93HOmVx8hv9CVBLAwQUAAIACAB0Ee5A76eGRZQAAAAiAQAAbwAcAHRt
cC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvZ3B1L2Zhc3Qv
Y2FudmFzL3dlYmdsL2dsLWJpbmQtYXR0cmliLWxvY2F0aW9uLXRlc3Qtc3RkZXJyLnR4dFVUCQAD
W9UAUFvVAFB1eAsAAQToAwAABOgDAADFjrEOgjAUAHe/4o26kEIphm7EoHEQTGPiQAwp7QOaQDFt
Hfx7ibO7y+Vuu4amlPEvYpImLGMkpjlJeClELfgwoU9aNetWo1o0ukipLSN5unvAtRTHWlyK6lDC
vRDVuTpxKEJwpnsFBALGgzZedhPqCG7jmqP04M1ge6OkDfBE1y9ullbh6lZO4b1pfgztaZb9begD
UEsDBBQAAgAIAHUR7kCgLsplWQAAAF8AAABoABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxh
dGZvcm0vY2hyb21pdW0vdmlydHVhbC9ncHUvZmFzdC9jYW52YXMvd2ViZ2wvbnVsbC1vYmplY3Qt
YmVoYXZpb3VyLXN0ZGVyci50eHRVVAkAA13VAFBd1QBQdXgLAAEE6AMAAAToAwAAizY2MTa1AhOG
BiZGpmbmBgamhpZGVq5BQf5BVuk5qcVG8cm5KfEpqcn5KalFesnJGqYGliaasQruPgpgRQpW7j7x
nn5hjj6eLvH+Aa5BjiGe/n4KVkDIBQBQSwMECgAAAAAASBHuQAAAAAAAAAAAAAAAAC8AHAB0bXAv
bGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS9odHRwL1VUCQADCNUAUO3VAFB1
eAsAAQToAwAABOgDAABQSwMECgAAAAAASBHuQAAAAAAAAAAAAAAAADUAHAB0bXAvbGF5b3V0LXRl
c3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS9odHRwL3Rlc3RzL1VUCQADCNUAUO3VAFB1eAsA
AQToAwAABOgDAABQSwMECgAAAAAASBHuQAAAAAAAAAAAAAAAAD4AHAB0bXAvbGF5b3V0LXRlc3Qt
cmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS9odHRwL3Rlc3RzL3NlY3VyaXR5L1VUCQADCNUAUO3V
AFB1eAsAAQToAwAABOgDAABQSwMECgAAAAAASBHuQAAAAAAAAAAAAAAAAEsAHAB0bXAvbGF5b3V0
LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS9odHRwL3Rlc3RzL3NlY3VyaXR5L21peGVk
Q29udGVudC9VVAkAAwjVAFDt1QBQdXgLAAEE6AMAAAToAwAAUEsDBBQAAgAIAEgR7kBAJRjcawAA
AHAAAAB7ABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vaHR0cC90
ZXN0cy9zZWN1cml0eS9taXhlZENvbnRlbnQvaW5zZWN1cmUtaWZyYW1lLWluLW1haW4tZnJhbWUt
YWxsb3dlZC1zdGRlcnIudHh0VVQJAAMI1QBQCNUAUHV4CwABBOgDAAAE6AMAAIs2NDU0tzI0NQYS
BiZGJhaGpiaGFubmVq5BQf5BVsmpRSXxZalFmWmV8QVF+cnxecXFesnJGuYmJpqxCs6uQSHxAd6e
EWFgFc5AxQpp+UUKhkbmegZAaKiQlpiZk5qikFpUZKtrYWhhyAUAUEsDBBQAAgAIAKUR7kBVRcMS
iVMAAAdsAgAmABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvdGVzdHNfcnVuMC50eHRVVAkAA7bV
AFDE0wBQdXgLAAEE6AMAAAToAwAAvX1Zm+M2zu79+S/qsmW7lsusM/lOMsnT3bN9N/XIEm0rJUuK
lio7v/4AIKnNpLjIOReTqbbwvqK4AiAInpqmfGhY3dQPUVnGUXxiD1Ecs7oO3tMoqFiSVixuPpWn
8v+cFLJxFdWn4OPE8iCP3tNj1KT5MYg+omvQ4I/7KH77dGrOmQbNEpY3aZQFbZXNyF2rNMvSGKRS
vVTCDqwCxoC9A2kdJCxjDYPCpRkLqiitsWhNembVMg5r9Jxg3VTFFSQPVXRmc4IN/n8SpCbB9ADv
hrcGRZUe0zw4R3l6ABkbSA3/nCevo33GkhmJIm7PSPVRpVBfKBdA1dFPoRdMD2LnsrlafN8hSrOg
yIO2TCIgD20l5+SybL5HH4qKpcc8MEumec2qZlxTH2lz6j5srsBGsB6aFTEMt7jIm9lKPkfQhypW
F20VQ8PAKJ+TFSVGVsDhOEubmmUHC0wZVfODqpOUk9FcxdwIW4hSxfFOdYBhrkdMZzg+K9CzIGoa
pAig1sqqOELNzQz/4nDI0hxANNPOyOUkJjtTkEVXVs1WlkBAyRqWpXP9QJYSGq2FvjAzJ1YsK6Jk
7vm5eBf1MCcl+pJNM94I60Xr9FzONVpTlHySDdZ6ITFFGD7hPU1YoX/cVTr0qCyJo2qmzj6qAnpR
DVNF1LTV7OQ0EdULXk5VIOcfWYE30mJBjfKYZUHSYm8KcPrDQtBiboWo2HuUpVBnKcyadQvdGBby
RAMti+HgPbIbbWIgRmMx5kte3e7lZ9RqSA2NW4LksDiaQgzIAnYp04qXfe0mHlqIY23CeKiCpghy
1nwU1ZsNqoqONI2npBEdUsWIvEWd26xJofvDtFM32EK1BoR9Y18k15nH71F1DU4sSrRv/pNVRZCx
/AhtBAiFVP4e1Q8lTIup/K1mMXSZ5vopqaKPn87RkX3iYr7olP7rBC5xcq5y+WKY5LMvzTVbxoIK
3BtbzgMKqWpGt6OomEpfscQWde0H5U2wsBo5iXctwhBgjQ7ywfbH7EEownHGohxVE5gbzzhGblFF
8ZayGrTRFrTc4I+2aGBSgSmlZXxCqtk5BYZMNbsI7O81zmxBlMO8xVAza0rQKLNrwAW0uG4Eix+0
gnydk2J8UlJNuWrxc3QJlOOmE8+Pk0+/la3hf9hrYIpLcGlWqgUkBTLw/qICC6qb+ONrnKlJD6A2
AifMZ3UVB8iqHBEgCcrNW4Ds0iIZtVJWfEh0UJ8YI20MDLKiugeZkqM+RWjv1diB+SvPbcPXihK+
uoBpuWpjV+yNOLcnac4f/g3mdRKcwaINmmvJrFFC+SdQEEMpVENJB2bFwV6WG9HRAUY8jMOiti8j
mgWCAGoI5rmzNZTqPccuJ7QVobfrFBwjjzUC1uCmRY064X8rhrMO2lYZ2hBVum8bQy1dQMXEalG8
mTq78BVYfG0O3fSOdKjqsKoeV4laPUdDKyrTB76CBfus2FMVHKriHIAiFykdQoiqr1DcMxRdGF79
byYIak3ZO1M6kU5QCUV1fSAzS3QbmL5h/AfQJscjw5G6v6r9WSMwzR6dNgejK4dpd6K9SgCfTcU6
VbEywzlQPAyK/e+qviexUkwapTDV0MpTcR9UpQWWRUl9E2oOaoSXt2R5wvX6P1oU1oJ74221wlcB
wylYwYthqCSgpduDQlvQZrU2F2ezCm2ENjZCT2YhWO071xU6VGjC76vBDx8uxO8ZWn+BclVWMaA+
hEbWOW0cyz5Eht5I1/J6VrRn/XawqEbb2/elAr3s3d415Q08wTD1/WTChguw3qWWU6hnwSU8XAZ3
Kv6ZNZFiInXD2RSYysYnfvK0NAUZLKEz5AaQ5rCK41QUZQ9cVTjA3FTP1sMQQ6p22xyeURm3lESp
ycKhFmzYpZkTLDOYiU7sEqDXpUEDbCpcl1DfRfXAl3KpDYGloihqJ1ucS1A8qqCOq7SE1orKUmXT
qBDCs8MRQcL27TwuB60GtLMkQIqMkSZgBbARGioo4suz4ng0fQtH9x401CNtCoV+KMEPc981j90w
M9LQDVhek5bEfVy1nbDw4Okd0UpUWzPQAFUbLL14mqN+hwYg7yMwWERNz4LoL9kWXF3u9vGSArdt
ZuDnAoSvolm5dFC1Cv28h8gKAHP2kKXHUxMUpamPDfaNKrQ236G6VWatBmFuoE4czESoh2Ze+oPt
YVjFbzDd8WpT+wQ6AMwF5A/ohwEYK1UQVUfSuGrcKuREvfJ9Dza+keLABN1ezrJ+5UHD74twqf1W
ZGl8RVMsfiNT4ifcFnqPsjtQfU3PrGgbCya0/fYRmP4F2CQ28qMdZCsAKKDwAwxP23dMR2qS1srd
nb7H9bEU4g85YOWmY+0EHm9VdlY77d2ks6P3lqv+iMoZwMBe5hMe2phNxZgdRhiQQY/V7TTPwg+0
seqLFO6AqigcwahUYQecnYATdmFJsu97qjsih65Qu0G4H1G1/6eCdftmMEHmLDNP7w+02tJa+nsN
/UvvVLyFyhWCb9v1r+Z+VOz1bZXVLkTCPyk0UBreqv2mGQYZMOQGE45g4Vk6w3RcXb3h8OraGYxD
GsDxG4xyUYAAlos3ByIeyeD24Z1qFyW0hcHDnlwIcDcn2K62LpgcFO4IJ1pSY8Si5kAAKsl7yj6o
xzrA5GhHNKolFhPNlKJOQS+HRfwjTZqTAw7Hl0mvVWHkKAJwMIrMceWxe7XBVpFisiJ7JQw6Tlwk
dmixmMIXoY2m3fa5BV6EsiP0UHhnfrXRFXEVG/9LGCa6rSxLDnWsnx2Yf0mUJIvwcoPDkyTNKXyi
n/RpV8w8KuY4kcuwfszBYfYzzJ/z6Dxo8xR6p3JPwI7E2ClqUOPj02Ct5T/AAG3gv7QYm9ECk9Is
FEMb5lGvabrAR1qhxfRwQ7AEU7uA3L8NfVDp3MTF91DF/3W2OtSj2qM0MAy5XXhjIt6AxPT0sFk9
if3MzWoj/kLnmBaAW7Q8vhb93vPkJAs2F7qBzLK1okrkU64EGElwC0js8vGtVo6DdVzXSlqkmM5x
X26wvazFk6rxe/QeyWWAahIMnat64Pc46SnGwHM+RjWhBRKSw79Y8gqV+8r31G6iyaSk2PF7x+iF
M3Qi9HwKH+vELSgRZXJAvxtuZ/CSiFBN/QeUosxgkDEMFomjXFccKZqej0HDZvqYFBwGLehJRdzn
AfSvGuPsYl2ssoQMnc6nIqnNgsJO7X3j6s1jiRPBKsbuSt8nAoYtpMlzzZs8kIFDMEfGrFR6SCgy
+iGCKSFrG65ugdWVljyati6jmGkwSRUdA4r5QxdOozdduThZt0SPwySq+Z6tYsuWi1OcyiBKpBRb
vIlGnkRFbLF0Dw3gWD3zWC5HoUx8cFLnKqoEPhARvlgaUlD8VFszJgoNDMMHYLlAwwVDB/CfRsnT
dV+BzmMlW4MpyczkMqiB2jeL0KGA/tYUoHx605hVJrQBwD8cuuARz5OkGbORl59kASuqM345/cHr
gIZ3m7/lxUfOfTWd79tEQi/vmboIKToKA1YgPnLkEPFa9D023zGGm6TbkrqfRsunLs3/2+3Ia4Rw
qaDFPcEhD//SyMn1gfeYNMqKo1aSAu/5MQSd/cRFycTq3067YmpJCnIP9i3tKSRBRZte4mAHGAVt
hTsN6M+dxYtwcaUGPZJTR0cORbiSEe2Lar7IPFjnI43n6cosuqJCmWVybqStVGVXGOLAmKiuSnNi
KKWbyYcyDs3QnKqiaTA0kb5O658cYvR7T8POKkK2OGT402xNm7CajT5LMOmRXRCciqauI9znexht
YPGfJT5JYaUGA8wVjbPCLQb6+YMIipWBkhO9ikQw+D6JqgSnbAbMYITkhVi4BmsazVQ0FKEXwrtx
jUNTWz97LmC34UKK+oZDfKlf8WYp/Qm4YTJrWlhzUR3hh+EHSueHnrIFTb2K0Qmv94qf0zp++PbX
X0gLBL2C6eynG8GJYUHPv//1l+/4l/5Myhrv2mquL//6248YPw26RXQVE4VaMorTJAzK9KLYEOgF
NI9oe4C7hg9dXMOcrNDd+BqVmCXVEmgRd90xSxXHRrhYu0fHO+nhupUa5eTJInqjVgbPEATinALX
SgYhI4H6AAqH4u41y7kLFB0XpzRJWN59AShzGdVg1GbNEgrqxt+mx91ikh/++V3wP78tpvnpy69B
uArDe3B9OaWH5vV/fvqymAltoLKZmXzc6DBeipvAi6kKPNaJ/7Rk4lPWLY/6pIaCA6WLdsKhB6JI
nVNgSUDmAv6tVC8JUZTXQIRX1+rdPi5H2QK6Iy+H6Jxm1wCPfxxUxrXAYIT4D/yQ8z9w4xQN8fWn
i7Vs+OniwLzRFAOXC96d0EelXwRQsGLkc5CC3IVZpTGZdBpcAto1WfboPMZ1rio00zTNclIBwNQA
+gmpd0yIHT652smTIEq3DEHZeS+5hQHeNlmK7XuM+96EeG23IIrvUESlEXMJvqqrjYBegmxMaZLN
Cer7HqmmuEGpWG8P0XsKVS7UBRpY9OH90SA1Z39wCRVJ2a1rRrH/aI1GKte4gIL9yaMqYWjrFDYU
5DtE3JsjTibo13guLVYYHP3m6DANjrYc5yBgYoChQZqx0MrAQETNp8Ea02DOmGkhqil7gahwtSTv
r6oN5cFjqcMrnaNDOftun8pQrDLCSqPpF78wy1KNBowgGiUU7oTaRRXLcx+W0ug0NwIoLIAi6MVE
NCesjnAbCKR52YoTYO4De9GsgDlUEnYxDGcpJT3JNF4oEgZDxNWYwXYCd94WJZ8jK80gHPvodJko
uCg6YSuW9XM0OSj7s9gamHSAayI7x0IygpwM1Lmx1yHwt+BSZ9zGEQcVL3MI7i0jZ/aNJQtyo7hy
WLTQWTI4G6ouDvyHu+QHhVALdnMkHQFRC+G+waz7k6SEX5/WGH5I8/3YGUF1+icLcnYsMMAEh+1l
jmMwZKR2pp+YbjEWcp5DRexHCT/f8BxeoLHT0FKl3Tg8NgIzIw0bri/mqr0SDuLhmuid5sckowxd
ThpfGkdA+8hjPG3T6CbGbrCUbVWqjn+SVLdt1BTofYJq2WdR/mYWRsdElWuyR42lqV2pC9fKfq/L
dCUeas7Uyac0WmTYsoaBZGh48TmNfWCqFjWlmMV2q9Xsc24/c//0hcW4a5Xmmp2SG9ysBLfyuQ+a
dt16H4oZNysBoxvDb3UfTj6aPIE3YnCuyKLRZprmFVMTWixRTFvx6bCk6lHPdxHl1jE5qjXsvIMf
+UHytjmsH/fMWjSzFd2Ee3tRAysNTMvCjmTteY3FHcna8L6x65FpZhCc1RfNoWQ5y018pUSbk1uI
Qjc7r1WJtmGiA2BZBvIaMdBBTE0xlMmMMvqqH8roeMT+B9Q42oNL6vSD7XnaEvJjzE6dvWgXnGCS
qzODRPNRdC9VT7cfaUa768kg2LNpKzzPA3NJQKqW5jyPwNMUlBQNaZGzQjhP8WSH6iMIXJby2/Hj
OngAYabbcFG+qfcRpY22FS78EJzi80EBbIo3loMWVMH7yFnAbR6F8QvaY0OJJHjGjtt3kc4WVc2D
tKJ436G9V+5uzwrVQtbhqJeRSodBapS0jkduTMveIbq/OpW4Q8rQCgss1p7c5AO1AvcFrjPFFGoQ
aE5FlwxL+xYyLtR2ZH8I5wEWlxMolepYrVs5qpV6dOrOHkUGuyPIQvBYKGODbgVlPI5SdR6IU5YE
MTY1atVUGnQAmj3U8T430qi39jMZRWfNgcj0prM0pF+fUlZh4OGVdKnc9Dm35/Bj6EZvlGhUdeTJ
DHWDnIu2Zujic4P5fJhm1hpirmBlpLE0VeQ/hfEOtQJ8ijE4YJBuOvOY6STNXbkTte2jXcZF0bcr
M6KoPnDbkfZM1TqlQho6dpcqhKfjMLfLsQjkoOAma6ly/w4AMlMI/yCRwanLw1DTEYhBQeaoBloD
+rRFbQZcIQpgHCXZfEccE9jjetcOOWKMnWMib57EJgDbjjLN1BAlSd1lcIF1/GwFpqwHtMXpBZdr
pB/a+b1ow3Z2tbElRtLmoToSNzfbSNy20TovFI0IORZxakrnC9f/Cb0XtOiqLRueF8hm8AzQfZFx
P7rNmFmVyNmHtIw7tGixWVjRLbOBOmeeRpjUCf5Ca4guIlcjD02Hpq3a2TPACDfYsPb5vBN6oSxW
Zh12DkMZy5IFSx/le9Dshd2IDRMzkFmBwrUTzihsqVGSDb9ZrbF/lUVeMwvh0EV44yL8ZC9snLtI
SqjXfC5aW4obxWzpuFxoKdcdFDTJ28/fI2m3unCY9kfirvSWddTJm7W5sq1P/PgAzwxdW9kq8gXY
vY31OhQ2189Q2rwqDqWHK6QtxnYhNeT2VEnyeVXs58FIxUwMytMYKjCtnMQgm8VWZ+koSlwEq3fr
Fs3gj3dma8dP5G3adQSwaVoe9ilVb+OyNAWkzghNIsIRYpAqijZp0wz3kjI3kBvEbWTyJSFUxBOM
xRpKpkLWEb3FuKyC0VBkGRfm+yWU+5f90abv3UaqIrv3vPLiy7qU0w0/sEBMUwX6b9wMB0TQbS0O
kJbCZDDNpIusWNUo+scwNm5QlsLmgT0QdiyIReX3wrZTu9DNB2mmzLaAY2uNxc3VOZY31+hY3vbD
++MTE9/vQGbo+b8xnWfH9SzyBlhmLejetcyS+/4s96fkOVY9gJw8g+lbd9eIRGBjq/TGwXN4nBcN
5g+j/pCXZSDuMdIkaJbYoa1sek9eRmXaqfDaVGBSvDmlFUXudGGEMkqTe/NvgPIc6APfF+CeKBFY
kaU864xGWZqBikPbZiiGVqBphRnR2u441Zx8jps3UL10FANztdVWr7mFzUpjxHuMqTD4AYmPIjgV
qixVU4w470ovkmmbNQGpVtBuu9cJPowJEb/7kPTAAJqp+GAiyLq/pqxezOhPIAMGMVgQh7fGMHfm
o63LxaXrdgs0YWvWRFade47BCWjT3wZzqQjD/f7XX37CE+t0IkRpvcyhcQ5wBnAX0qWESS2VlRx8
8/PPv/77PlTf//CP/7oxndIsmdK4MbSw9J2dIJoD1LOQrmOautUtluUArdxb+JBWGNitOiQ7C8N/
6K6/MwJrJwiuw7wB8L6yktECSqejnGm6k2yOQCd5qSd5v3BA4IWDWmoK5bEPK3Tr9tbOsvL+3iGD
H9Dvi3u44ydjfCoWVnUX3RxO6LeA/E0W+NeDD4Pf9/JzAosmQgy7WUzgBsBPjYts2VsFiRvIsVfU
MB/GNhOwvO0Jrx7Kg8s5m4bB6+XLKj2n6IWzf4elJHTKX/AwOku++/LlM2rhoTfSEigsRGlo5jxG
oE+JtYTGEovnEb79+dfv/u8P3zsgOiXeCO0NDbrt8tNse6Dw1yrKazq2DLMpoWUKnhmcvHm3jvJk
X1zkXb06Q7oHSoVjVs2jk3kJrLzB9OZeGwzf5uEZ7qxQiuREOk9wB2R1HJVskGilP0cw8/kHBjWF
x/C4l4C/c0a8z9c7zGluhHX5SsmaHmRf0URhdki0aylVfoRBfuSrzmtMbzA/AWAOroHZJTMLzOyQ
jqD8VqAozei4XFWLJK/4S41Wq9Ir1TPkUYzFG3xknxOhy2xlKge/+RemE7sq5uL/E71HX0SCentU
+qN9UwoEGX8DQH+H7dycpQGbAOjkc62JUfi0M6675tMVV8X2IFu1LS+CLlc0ZxeT3CykLMq2HIkH
qtjoecisuHYrpxMSqloGXaOadcfwN0s3zv7aFTmtBzO67py1G40H/MPK6cLh0lHD82NFb0yTDmQO
NvA7z+CkVug+PU4Xbz6nQTf+5+ef51AiEkiEXkfZR3St7eV1mTS0ANrNc34NR3m+LGfvcx1aDTJN
5VOU40tc6fvd+1QRqWWEuSCyAKPvTdNANwrzE4MfsLfxbOJZv0SGi+BG8CDUS75RE7ulR5JqNTuH
CjX8VvMAJQKrNrt6YK20ls4AWKK4gL79PRmWn1kWXWh9+rGo9pQWBf6AyeELpcadYahiqF8MqR4b
3EYE2jCimcVuiCue+kYfX0An77HFanfsDKLPTUVRwOYxQwfamgqduFb7ACLR3viqyShR7p4OQOxD
6iywMI9P1lvDdEEFnTxd1HzPXRg7Qm+86x6MWHbFPbj84h+Tp0WFmXfwjBFlNGedClk04hKuKlrK
UqahOcfaxOPQ5dkN0txoagqs8ETjhdVOdXWDs6qvAWq+zi645fPDP34CtUaE+Y+yUPsBVTnDbYH5
bGXOgXGK6QezF0eOKVt5kr3fxM6BF08ZNSfvDzH7HmfAmoAZGyjPSW8FFW6Wf8vBGdkVFtTMNGdO
NSsvgbCsyyNrvvzrb99LrcU0NvVITWCgDik9uTKlXufTOGtCi1REKANEWe8FEbqUYS4bUPQ3OGpS
CipB4uyr2C7VpOtRIQdrZ597xe6lPNmc52f2t3nI3BBRze/NtEHjedv6FEGz0Dl3nCsb2iT0K4zM
1mLa3BxAKnZsM5zLF756qnXbga55fKqKvGhrdUpqI6i/UAm6i63+NCAbRopNEhu5diM9lTPcpDwP
YJdz1idoodtVr7cJOZTAemDFdfrwxREoBX7lKpoj3FZ+8oHOxb2poBnY/BLyH3K5/srvRFLekcST
zzQRJZTcF8n1PmRiA3RgVHI1+y9jV9735EO+hMQXe+/acq4fSrD0LR65637jqsqlMS2Hc9BjBdMs
xQRV5Nm8E1HGLmk81+3tqXhejXsTZvcsox+FlW93ngDWEzqBMTsoZinmN92M0Myv6Fag4fpVs+ww
m2NMRTBUi8RNazI7le2uox2b7eKsZsPNbU40s+uepeW+ANOt/4vvhZt2tZU3/D6QPwQ0zcsgC+gp
TfDyz6jKVZlrDIRxcd6D+dMnUyXHcMpqd6I8p7B/0PK5Y0TcbmAMdHWiEw6hJXTdJWT3KFtPdoeS
gTKCQJlC6Q7FmzB6llGmqUVGHgLiWzYFk2+ZSO1De1beT7Va34EjvAPHZjlHNxx15zFMjC2GmeFM
13G7UqD269vMhJW+W9S4+gXAaBSaGb2w4gqC4T3ri75OxXen8onL2+9VPEnnWbqB82bQioMtduM+
rSdvbdipMtL6VV9P4Fthbc7dbt1dW5hB2rMwKi7PcnWpuSlpeFyXzgSW52pmwL5F5/FGmEqQwsk+
QH2PKfvTksLchyr/nd98KpYzmfH1rmy+1TZl4xcV3qloROZdsrtUlqKOgmNRHK73obI1Dxw4fUmW
tdyQQ173dWe2u3xfxyaSTy5i8yzRxPfrWUsTFs+yiOva/BeznsCzBBRTOH+wVw2U18Dy2xYW1OQt
keenjIj8TZgpjWdpZESdvFwuOhwosQt6ply5KnZMKUp2f8WNdUol5aU8VYyOxmBORZYfCtUtC3YM
cgaFR/MpsJzpPBmKPBPH6LlFNU02YM/iWQCsCXo/P8fpZQT1VK5IGZlFfb4zDvDGLMxIwqvEHJzr
z30fTm2+Ox82XxLDTe8uLL7g+7bbwpbqr4zubnI64uzoScQ9Q55eggEHzc1CHzCEb1txLYDL46Rd
SPPC6rE4sW+iILe8nFXdHWdapvBuTJuFTEvgTVSJVctvGRW+ajxLs8A7qWQJ78KyuQvL9i4su7uw
PN6D5RxlGHvC+MXPzow8Fhk1urwRqljQdytnuiUm3yIL6KOo3viy0u0jeBZDwbSsTP7VicEf8ivc
dD9EylK7I3E19Ee3ObcLhEeUX/cFtbi+I1foyLX+tBazJayL/jt8U5p9lNAfi3n8OtiUhhS0uxRI
6Jt2fR8PtNQPIgq22+w2eJ84iAIKrLbaR4jZEISBZBqbxURGsObEDiLKYeAHga+xZQBNsipgQhbB
n/x6V4ZnA2rcadD3VwsSM5onfzMfTJKArpnmI0KkOE9WM06hRoYJXgyjT6Ig0IoEbNSt+PpFyakN
irOZh07rRqYsEBZES7/I/PbxBvd8VoJ/fv55HMVdnAc51OjuPsaHHVWk2cTzILWKHTLyQtFEWFoY
ZGDdZHfhagrFr/dgXsAxKJM7y00Yr1/dD+tlVDpvFn1nG1xNY4h4937FHSnvUaPL+rKaqS3xXs6o
Zsu5vBms6oZe8Y/B1UgiRg+PPk6uOllIorzF14nCD+1XDcPDk6YQuym4O+jSbZ4DCT+i38X/Gdzs
U0p00LsWw1UeuxHlF4R+JIKMB9dhmGaDOTaeWpgNMowvJBa9neeEHZB5sXSlo3uAbMjSusjwssh/
F1WWPIDuFNwcMPQD8zQe1mAM6fd4p4SZkoaMUfySM4MncwIRw1AkDbaGjRJFnSpbXJLWJWbQ+sGl
jJa6swbkXvlDqFsD8ChUW+ljVuwxp0xUpXieyxrHI1Pcv6vDuX3U8Hyn4xtd8t+MkXl73rPKHWef
NnCMsz+QNsHhXRlerTFAOha1qdBucsbh5ZjuxUQ7728g0FbsB6fe7T3fCuAgKlEu0v4MvM6s8fjf
oGLtnHLYGw6o4I3+JQ53ipg8ruaMFXdkTeby7Pqwo/sIlslvuggZSg9w/3f8ZYWvB4X/a9n/8eUv
5i8S9te/4X5fkf7/6EHpX9aF0r+2D6V/dSdK//pelN6/G6Fezz6MC+aYYmh0qBwwDqa+L3FTaJ/d
/WX3IuRltgk0deO1Mr31lLdVKV+yrKgzTbSkX9y55W/pPKtzxiHp46Nb+IJlH3FbKXf9BBt6qw+g
LKY5q4j8f758JRcDTodBkXNDOkoSUnl/FpJLuOpTUTXxXJ7tEcd/fvn57yDzWZ7y8yvJhMWxDJ2P
LM6KGtR/S1iXcmpRJU5YzEWn867f8c3Wh9uzZNhLbLa+RjR7MNBlF0tdgL073P/lvZuZd3XXMvAY
RCQQPjjH9w+SQPtUAWYohd9ZELVJWojEuT710BGJLPLpErD/2/uWTBfiF5SBHDj+RZBw/xL0Xcmv
CJ59ucNfTpXXB/S3c2MUK6whPKXrgkbRMHp+4IitlnR3K1/PaF8+7tz9OwX8in/IYGLcs8HpyRts
iGw2oGcvTzFg1VeH2qLL2QSB+PQXVtcwygazN8uTOsjxWKLpeMMIzzJYeitMCzwbcD3EyHRootzN
qSo+6j7nox3JQLkqcbqomzSTX+HyAaIQ44AyczCRkcL6TrMhk7g405hel0VnWPTq7g/Lcym3OBk3
z+M9Z1NzfQPrY1NUD+K2YewzCSYH55lxhMMwXE4xCnTnHTI+RdWdie9AN+iBs4nKbQmtGKhnUiZO
cVLCvnJ6qCnkXglya4keV0cHFnpgNh4YVwhFxAfyHm03tJW0iAHj541t2ziuovqEV1hk/S0lmM6M
ghDLaNbbP6CRUzsYKUX1ZgfpOqVtj+4RaQ420d+//uKK8x+e9xmTngORnfd4/yU0S4z2c3/cN1wE
dwY7TgI91CGZ4y3YbTLocFbSh6i9CP1v7QoIXQF2swzl2o/sRzBld+D5rdzmiwGQ36BdnG0yjyrg
QiX3aOVbErryhbLSawOO1fjB2+dvf1DDKYpGuFZcsWKD3brT9UhUyJbUvPjgbsbmp3P8WayQPr2l
s9pcFidlvwrOBRi9LIe5bHb72sjTfKQx3a3GySwVBzuuzR25FlD1JIk/iwuyyCmT8N++/b/2M/YY
ip7w96N1X+y38GxtCjxYJHP/u5VzAMQshDlaX15ozFn9zZfvfvqJ4GF3vNWtU+sJF+LvXR5nOOgn
8dvVDjY04FAj5AmKU0PGaQmfLBpjBneNZ56O7qe4B4+TQjTL5cUQnUtWoTXvhR5WariYwYtgWQXi
Afkya+tg9nT7DIG19TgFuk7nPirRUA9ybOkR1LmRRmin/jlCurWts9bHASXLa4rzsLgQQiL7Q9LW
hmsPuYhrjMXFFKaUE0MOmaCcXN3ioiOfFV5NNEnzbcWEuZH6b3FUPnFpuVH4eZCFrS4q73jwt2xv
GNx63RTuAuJ5Pn639an1polPmzsaNpS5epDabDZ1/xTHl/ATTDYZq1xMC0L3eqA9xuZQ/ADjZauJ
UN9rIC4pjovz2dbnNMWKqxd8oFlhqcVNgXnxRwtDtYY+sA/qDJ2F2M3rRWReYIL6IN0wDmNrYHx/
mx53DhqNCnlj9wXrx33a4O3Z1lagFa83kyswShLqMdB78BI/+nsBR1K0eMOPfT9Q07hN1WoOzHri
WxTnxWaMfS+ytrHU/wZIJ4VqgBNZb4VJHi6Db5bBXdHeLU2rgzlblBpc8nvb/RuZCLzLXpru61Ng
fD/VfrttAtr4gLY+IGfMIE+YFwG5YUczd7icYrOcYrucYrecIqjbqiroKHEZpdVyQi+GOMoyWpH8
0KDCRV7IQ5TH10Ull+EsGH4qtmoX8XRaga2XT73hsGi+G/LIfeTwHiSLOBYoG0Me33V3yAH28uJy
eK8nQxIZvGBM72emonvARCJ5+PWPllXXu/AtIWnxQopzmkceCpbr9tsU2pwqxoImPYN6OfDz3WG2
a6oozXCyELZneBeWzV1YtndhCf4ZrsLnu1A5kliJD+/1wpdiHD6FQcJfWcKzWNc1q+xejq7AQ5r1
aauDPRhonlD0CxgPAs8y1L+ntTV04Paby+9ZZw90IT28ZWN8vlE+f2dVergGNV5dmWMmgdv8Zfys
+UOnDAQRxsTDv/jdO3FRkRKovcHt/fjAk4AEqbj6FhqYAqgqxieCWglqMBwsSoqSn4ahCKwbQag+
mc0O75/m/BnjAVpqS1oFwa5mRuFBAAobmVQRPuM+lETnfEIR/Nzsvd+T1we5oXTbHJ6pgDdPPzYx
3mtfsurwEJXQV95Z8jBIuQKTI7A/IIwQrzLu9VV5qsmfrqIaY3X9yi6pYklxZpb5c16xTdL8VZsj
z5cZnr12jtd7FxvJpU30XQGL5KsysfMSeszZ8Iqj8FBUH1GV3J+c5e25vj+t5op2d97itazYe1q0
9R17B0oW1RnMDvYXdA8cJurrJJ2p+A9/QRlvidWHB3yJ4yzlM4bGg+LLe69+JehAu4AV8f7FvNyd
GDRdMAZGPZfvQs0P3rrdn1NY/Ir8Qa6+qg7Ln/TdwaI3uDEn1zw6p/Erns6qlIFu/txpDqZkBGrL
qzrdlj+zbL57cnIlWVdUtj8UeKBSKF8B/mschq7C8CtDxb9P1z0oPBlUM6pro+1DO+w+SghQn6I3
nR6mBeIheUo3FKPbY+D+qD051Oe/7LA5ZTuM09QSDyZudQ2UiZLUgKp4A+MFVTdLQHtA/Tz55oz6
QhAd0GJApxUd3Nu39XUpjx2eT89uCCzknuHxefVp+RkYj6/PMU9SVBdOUPVRhBlAkfdpGTEURXui
YJ6j5WGXWGi6uCg4xn4M3CLDxN1pLhIxehG5gNocbalOwAFqKVqcQSsD2zzphrh661+Nnjsop0Qk
7IApt0RMDb49QO9PkReHgw+DdPNCc8A/G9uJcUziCGbxqeDmal4EYDizvLbulZ245SQKBTyeeSCu
mNOoyO5oj9YdoB1fiknPWH5sTpaQwRp1QvcEuhwq+K0456qr0A0cFGLrCjpEaYYnTfsG0sWgWRKd
owuvA2+CtD5j1sx+EVxYIJzvMay7bO7BdKdSwRC6S5mAR1wmMhM+6MC1BNyWxwrev7AUMC+juw1G
H25t+LLwmw58qhie0914/NTlp9IMSXF3IWPRO58xaPKwHL3dth9MU2neOqzzEilCilzGnISeo/qt
m+R4ABy3+txoQGHt9WXQk6O4YVXtzWGJJAe3x+xOOPlal47R3UDfj7faEen+lTCqBiBLjNwRpIaw
w5SFrV0G1iTDncKoqqIr1+LdgJhnyBZB+qeD/QYqHXZgVBpsR2AHKUocSJYoTBExMn4ctVyOd61C
QtnXH4k7WJ8kj5mQ6B00lfoAHTAyDLkQaX7jE1OE6+vxlPXDXt5WEudAF9OyZk3gNkbr9EwTQlNZ
K3ocYik78CHYIZqi4HuGZXS178a63WuN8GjBsQVhOBGl6hfxRZTaig86F2NcQ3TmSVMsOfDSZu0h
ey0EJvFuN1q9V6eFis1UewAPZILvxG29KHME8jRq6piNeaQDpvtRuPZ4vhpXrNySpbR9qe0U9yer
CqErBcrNX/Vb6a69eokvaEyBl3jkouu5rG83LPwHN/ACdURSQI/uy48He695DAuoM4mzbiOx3lrI
lMB+wZJIv6V7hHZ/qbjt8R4Ogwmlbj/KAqpbkYQUZWLWxiBOuCaZrgIZaGLCQRGKqvmiucF6TvjX
/Ae1w2SC6QMqTaL6vbKxHP8/Xox/FM3XE1PkGx3f4/Ywzm76gzbN2QQW7fF+dPUMoxQVoUsx7s9l
gbJrzOHEzSoYKAMmRc2+qubYKQEY6XV/Jptf/Yf5UWu6eLjBWX4mPtfARvO02AQLIpyoljA4YumW
SPFFk0fjfHvayNb78C+h9aiyIR5kDll6PEEvjEC9l+OJbxLvr8sLaHrBmTWnIrnjCxp+zcb9GBcw
4QDxh3shQbNMQY2+xzdwKi8opapBXx/ukGoWIhueHr64v0+plpJA7Vx55fpVET/WOq6jQNzQq94i
tmH9OKUNo0vChZgYwfViNr5ieNL13ZEasJtXfXrYlIvPIPfhwpjgui1RD1nA1Rt4Xv1VSbSIRzTa
wtJIlkUk424Z4FXc6psvbQnv2J/u2J0W9ybcZolokxOmiPGEbqUuTtnE8CVNjW7082jFW5ZFBOxS
Ft4zyvSSNK9J/YZErJ4yhPsjzZJYFRbrRWtkaeGtVfpnNLdZOMGI7fcLvwM7YYc0N79IhBXBr3oD
cALhulU3j5BrXWObKpHFO6uqNDEO8/jU5m/U3YsjOl+FEwq6CmVd/lm9jzYlIf+LJkfMVLbfnuVJ
sGzGhbjN2yg2vJlSpIkVxx+coLTz260EUDXnsnEi6CcPlStPiawxW6oYDt2wpVktXEjgDzchE9ZA
Z0ODVNzO4wgwihfxzwWOgB8tpSc+E2PVi91iuUai+zZ0xxgRNKTkFSeqwDMlQOMInspK30dtlmyq
qI9yMsrLawsj6f/AZZHcG3ZIGXFn73NBKybBk0ZV0da26xTeWZdln0WX/bs1aIwwAdL8UPya/yZm
SfUVtjcQ2s07WfJDk4g7d8CKbYy9natNliqmFCbtL7BR/wTCJJazD8pLmOaDAZEaUbglj6vv9CDW
RK7IeedhNtUtkypaCmPfpA1hGmt8gbXq3GqoOtrMCmqzqKuRtDwIkdqOglyIlnVEWa74XgZoE1bF
5Msfu0BPDihszULVGbv+RusoTghWHdzAsZCCXAfRPUjcOejA97LqmFIsY/CtjBsOB4rOL0JbnFnm
Axt0Sh+4+vIYC2BaYkYliq6uxen5ds9VlMV8PviKnYv3yKsK7QveJQeyda6VXYqEfdHmSVQZTd2K
jiTjI6MkdMArLar8HLNZXuTFGY3f0A9m3dX1cD8kTdw8vYc/gRfSDIJeAc3XCL3SLE9n4M1iXAGR
JnboCrCVp9DQsijb0owQdhhFkNXpn8waYVuofv890GzAqwC0wfaesg8raTx1ZaMakTCMXu4Voa1C
ZdDyDawCOxsqJ9CeCL5BeBgK0uU/7OPC4CV9qLYfq3ZUy1nuUhYfgrE7yExxjijIts3f6t750Fjs
dtO0LNTZnDUYC2CnSyOwrV0U984zTI644eJk/r73I3qEInEPGd5ESO5PnkEjAdN2X1i4LduSLGJx
A4CVEj6CeNkrsww2Sv0sgZMJMmJysEQ63LhbWsIc+zLYr5TYJON3qGO61IjntFmttkvAuyXgxyXg
pyXg5yXglwXg9coExnFY5JpA86msg/N9/M9gtzpjVtYPPmyTtC5tjIgJyc9fRs6jYPwvES909iDm
LhLScb/QZMq5vhfFtHJV2VH+o2gWsU5ug4amk5XgyERx8WTK9qo93dG5XW27vSSb7TIlL6oTCmJX
Lr6+4PKiOXRgwFfZIVD5Nh15oPT7NIF5O5BOQGYbLTdh4lcI4x4rLQQJpqv9BP/zZ3AswDmFT8D6
pMturdyYNww1JeOiwxm+9dAFDCtPzc9j+flEUjxE2LX3IBhQ2RjYE3T/Wj7bigloEBDuSki57Slg
3i7EbIoXG5bLG5n7Hmz2GybAYZSmd++QJP/B22c8OcC8EX8K3xm0dW6xA2ZB8x5lrTMPj61wVaQ0
LBgvWHmB38Vuh8giiPoCBmu05nDh4TkH283ND7YPorKsH1aK1Hx62dAy/G4IcZDdOMhuHWR3DrJP
DrLP9rJmfW8g69Aka4f6XTvU79qhftcO9bs215kIoBe7Y3KW0WXX1KHvFEg6OoVjK+y0fTkB2Ypb
+g2l+FRxQh0BdZUDOqRVJOg/Y9UgmQc0YDojmLTn8psaVxfKRFk314zVJ8aaTxcLiOaYoFIW7IjT
ObOiRSXORu6CL6ZUsFbSdA+XlaT8kSeVgu4Xl+twt/YEU+omJ6iddJ25ttel5Q3AU8KRg7Zs6xM6
jnkj0oMuaAWHYb+zQs/EceA3dh3+il85OXXJfz8VH8EJr5FoMA9sUBUfQ1j/o1wI42iwPVtmUYOJ
6B7iU1Wc0/b8MPg+UJtj6OYsxtuO+AGQpq3yoTJhxtcs43Ff39S/RNWbdJ7PAktMU02Z2HiCqwdu
QfQ/1xYkXZJe0ii/4zrzAyaug99Z0N3YGlDU0CC4URood2ene73uwn4WJw7/kqIryO9WcpFa+i8q
upJ9VHYQxQhHfiMSTvXVQ1y2gfyH+EOetUJ/QodwJNCKg1JeBnUelTByG0qCFVVpDcsu3p5+rIq2
rIPhhqULBbuUEa1JGIooMjp8nNDOK+gEmTsjTS/d1rszMu/2AlyhGI6J6aMpMd7dvsYRSHPzWUTG
3qdme0rnqp1Anep2jL1n5Q6YnZDQ3fEqgqKq71W5A0bHup0iHap2Ar1fzQ6JnYBHnoeDFNmBP8SI
I+dcZSlcsXcWZbQN1pez31k24uv2fMaI+js1vaQDDQV6Y+dosMY59pcRzKGzDHH36ykdK0eBCcOy
pPYEA6DB8AxPvB2KS51ZkkYP/9589xC1SVo8xFH+WxZdv15LNvz7FezjLOXZP1+LuGHNK2aMic73
YaGk9a8Y3B3Xr+u/gDN049wXx7Z+7X27tjhuJfPE4rUbtNsifwXjAnO1i5J3QeOu9WIm1FVKW2Fm
1S9VPPjzlfzLr+kBmbrrTO2gmMqf0LRv/RolCeUL5zmcwRDKkgVsYJM1ROdWJnkZ52xbUTQE/+9r
H00zJyUioV/5HR/wT9GVhrf2zOHtikU+YP5/8KYc1PWrveTrOcrbKLMHYGqr9nhyBti/iG9JYWCU
k7DrC/B6aaeXSIDbiyi6wkXWnp5SyXcN6dw+Yzj+p1stLHCTOnFqtJ6Bf3E52nibhZZRWzP7KrIc
DG4jwb6qhKQDtUNNCFF7ctzwacukO9NiKTz7Apho8X+veM4OE5EMbjrIi0ZO6yxjg+SjRg5YVAYe
Lb04xU+/JgWr6WXw4uNx2LGm+Pc0YcWDiG6jgIrRP16TFrP9+eP5fQmZK8wwzXM4dfxE/N/rIcrq
rryqTq4CNVXbY/AnDYgfb5X/b1m8CajvD22jaU0DkC+VPshBlIc1RrcaGGC537f11xk5Qagy9a3d
xwkN/pQNrtEM7JGahcWCQL82WIPnm2eWQDNbzyFnx7EaYjVIlk2WGo75Lug3WTZVFL/x/wbiLGTc
slorkiT8NAuJzUnRXzMC/I+3NE90QnFB5nCjLQyUIDi3fJdFZr22ke2DpGfl5kSgXulMdVNAdeSd
60YtzCW4gY9BeHQTZxOdy9oKNSNU43+GDmuNFN4lUAXQYZtZMdzhYcmsCK0mAbm7DWQ1Y2+m0tc8
OFxciTIO87yFJOwQtdnNVpxKMGN4tJ6mBYzJkTtft6JzHTCDem1p86u7gEQvWh1Z37BaMQpCpzOz
/YwyK0wHX8Q84YTht42b5M/oBsMdd96JKNQeb3yZHb0EErNKPb5T6VaY110QR8MT87diYlL5o03j
t+yqk6KEjv0Qybp73GZFKSVgiy6xoU9WDaG/tKX8YPv3Bmjj1WoV3CgfGsn14HKjWcEw2BdnC7lN
IM6A25RzG5yjYxqPzsTPAnbdUdrhtbWzkEdqjZSydxzSzgM8i3kS8yjALKSfxW1gNSJOsHravOKl
AyHCDFivRLAcYizE18EepggYdHZNsd4EwmllI7wNoiw95nYtsN5hCGaKI2xmKA7kHzm7I+qJPrUD
WSCexXtoNLqCX6iL9Ef45oTDVSfMX2kBWWM0hZ1oOLltfVZ4A0Ouj7aYFd2a14yB9C6IM7wY2Zr+
MXgv0tim+p5EIPGMVjeQfg7avD/bNVscSq2X4hG1CNaYTq26DTXwDzy5QZZZSyfqut+tkSKKweel
IuuRzVupeDXlXunSl/OphCegCZ2QIt6FQ3kipW6RU1CAToRz0EPcQonPoNAdxbChYCsdDCqmwPsU
q/ohgc8MqoZSnQGusoAMpCcTwC3sPa2aNsoejmX7cIgou1b+HtUPYfIJowkQzT4ds2IfZd9k5Sn6
dEiz7Lfu0mcnQoRSgmC8NijtplonDrImoE4+iO3TObr8O02gNH8BZc6Og8uv70L5zqrrz9hz7sz5
5dzt6Npzfg9cP+Go/wIdNGO/pReWfWkq1tkE9lQi0pai0LHfUUIleODMA2r07HjSAfn/BWHCg7q+
x9Pf/Dwrxvke0PHAPDl/6gj37BThxc6VJ1OEA+iGzpsN6mrzuKKsdDNRjhYsMmMdWG+oNCxg4scQ
gKMpfFnqLiwP2g/1sYhSV0ap+9ieUHrChbkc17UvwbE/UTXKTeLD9GchjRYPtCcwzlhUfe4S3Xvg
i5rhmhHUNNPAouTfmnGRoWWZgQ7n3+s5iUzLEPkskB2TWCT56F7M4jdv3tDgErFw2PRkS0ZPXJRX
Wlm8v4lm8W7WXMQCfbBhVU61g/05qE9Rl9HTnZPHOXyHfcmTIpFLME53BZ5F8V6meqpFH8XtEmEM
8OryZJKKIh8Yy0rVcUk170504guXs1Fvul/hlndOyeILLygSGAzPtKkXqWRgJVH0+qWRNzX4E/W6
0x2puDN54SdO6P6BPp6GQYfIvk/Po5uQl7FLmyQYhjoto6zw9Jf/Ujrk8qWQ40aeRCg97EvBheeD
oPtGaApLn7ozCU1/X84F33b6IUdHSiIni/qupMvWaCWnL5e4+AhnjlnnhCUPXgz0xu7BRNuwvtXO
h3eydBRyGqqbJQy4SnsTgF1FJj9UTIOpHkWCIqrnBXN9x+uLL0CpT9/F5evdbq8zz7lI0sOVayC/
+c8A/RTZubKdOWQ62IFadT+mHwG5oLl6xs6ftpSoZs2PwLVEkx2RfVmiuYyZqHPfqWBLB8qUakHd
4won/Mn5IcijfPkMJXXZpV4qycOH40ISzIJZI9KXp12sXaByEWUD5bzEjfpfBilc3CkZ3/mi+ZfW
7051yaJrd1fYHXiXEeFRG1+KOnonggadX9RTF2hldRzhBVf3MVE5WWfD3YlrucnFuTjFt5n3+BOX
S2PUWyoTKmOuCtCG8CcMqYqbsz/514VDclkdYbfk0S8yQeOSAVO/pRGlB6nrhSs+z4Q2UqzuMPfw
dUI4VWjbZgnPvbwpA7Y4KoPfizRfznQf58eA8A48NKbvVmF39PEsVkV6BUTaWUsLBGbauPsv0OTJ
2zMJqPEj2Uc1W7An1RTLHOpNgYP/n59/pjRteGIUdTSyLmQat+XMCzxPPcvvJTveieqD7UtfErm2
iPC05rqciO/eLicSe3DLiUBbX84xWtCX0tUy+HaBikZkZYRxt1dKgdOHf/gRcusmy8Acz4KoOtaL
ePK4qCgP/wIm/71TDJWA+v0pb4ovLDv4kbxGVfxKXqAId0Hdv4KrTb5OFkr9CmoO7r8u0WxwjiEl
FfcI3NEUkyHNQzw1wQOifWau3p6gPjKMUlrGJB2PPn1tQjVx2FN0NCaR8Nhx9nZF3Xie6ND+Vznh
f1N/8dpMkE52maXVGY971EJDjrO05Oaq1xyGVNVIPeOhSE1ROjcgbX0Nj3PaQ4+s+W0wtH6L0upr
d32LA438CDzZUzOo3iQQyeTpr6JcwkjOtC9AMu7rsY+PbbRzQ43oykA7GHRZh8wPF7Sghj5TgAc8
wLRyzpxyB0JMUn6zC6qdUfU3+YVCD2GeuxFyxqOK8vaKCRYZ3QFzqTMDht78lPv41/9oI5hJmjT+
rq3e2deCJ/+zhnM/3L3qU3i4Pk6Y+4d8Vfw8nTPPcU9XRtYeO6BdErYakxLKnXPPrUdKDIljsPZA
0vbNZ5w+v0Hb7ccCpvPk8+ConAMbmZHBqT1iQrnWF18cDvhF62XwcBl8swy+XQbfLYM/LoM/OcN7
l4LMIu+j/+BNMo2P65rs/QU6XG/ARsvgeeGjF9OcnqFy66OdtzkFScq4afdxMyUIlxJslhI4j54u
elxGL0rvGHSph6Q4P3z5199Qe/2Bn898IIVPbBpXF7qoYSD5hSZnKSumapFdvWkqK3FhcWH+4yqP
8JoKUpTrz+yPNq0ohRkuP/JMphVlVuS4r1K1eH8zmJKOICt5eVPsvt3vM9uSVYwnwEXLxEYeJ5lT
xW6/AF2JUjZJazoEjrMC9zGK07U3LTuCcVE8EVyXkbRMSPiaR+c0Fvp5jcBvBIiyimKBePtaQ8RJ
HnsQPO9ehRs1TijxNiPuu7SKu/qgcsYXcxkVqKsPqvICiVHxI6ilbSVVOiu4qBz4RMeKkcCrJ7Dy
xTl9K9hFtKUBOi/ouphyMDilzVdyBRytoPL1mFZ95BtdyEeVJ377J8V6mht+QiGbYMRirtUJy6KP
aqu6qIafZDNUbkBXV5D4cptOq8JZ9NkfMqim2nkaUMGuXjCnfq7C+5W2ci+twxSiQV59kUsqSVJ4
F7uyKPaPP3ybgTE4rOE0D81VrMR5wSiJhStQfCEW1fUTO6gvkgpsgSVv2i9RU6UX92rSgOl2KH84
d6h4EjhVnB5Pn7CIQXyFFce5BI03F5EtbDSpR+cyS5s2sazQGSZ24c8WE+HJgApvtFnMJEz9pTR1
VpTL64eyOP3Loe/NcV0XFkh0or71l/QjQdZ1gDtw9X3gDmSiG9yBifeEOxANO8M96K4OxcI9a4+l
ToP1hr6t/aH+BX7b+EO33lC61RYzPvkQuC3zevgSNDTWEvSikkOTLUFvl6C7hrPiyN+L7J3dahz7
NLKc83UMSfqe1rb9R0fCkiP7pbBd6nUstkNeh39jVc4y/vs9mNCg/plfaLWIjZJDL6OQdzeQf96f
SvQ96jXe/U6QyI6zlKfrO0uJbOehGYpRD7oP2aATLSXk/Wgpy7grWbB9nx4Obc1+To8ndAiNJw96
9J3IYGrTMWfY7Mb/DEEmfhNZJpaR1W11iGL2hc4W+FOl+YlVaTMtG7oT/ev+rmTdeB635WJCu/E4
zzFqBCu2uswAgBy/RKWHMjrLsJCgtu9LWo7Ld6coh3nlC915aNvLtXTX+9G5aZMmkuUc9cJOI53M
0xpazHj1Y8RRScNk5GX5Mz23dgqKjgJK8R7xS379SKTJL4ri+TVSHehKY8MDIvzI62hVstL+NNir
P9ZyflBiRQiJ/cI1x1KUUZw2C76kbpLv2Xtq3ytuWOSicvFrRgm/LoKn+SL4qE3uQCSbZRHVsGUs
iH7MimK0H3DAH+z7mQbv0MNGDFIbGpTCBS4qYfgNrnUwonBokb9FbV2nUY7nS90HvQ7tOtCseOIu
JaUTj9OgoVBrpYVKt/J9xpLYfNCIZ2qhDKgsivQLo/w/iYcb8QbqVBe/FFV5gs54vHq8WYl18eqp
GTDYt6398As/3sPBpSURn2HRo38lV7y7GqDAXf1wdg0+xjktk2ro1Rtq18C/Ydz6jdJoVbdq6NUf
+qcf1D5cZAZ9XYT+0wb9Bea7Nosqf+fIHEMtnrl4a2z4fnDYnp3laysXf4uOapnDRcd6XzZxCwiR
Do+AORM5jWQDyU3/uB/lDw4buCbKQS+xYitup5EsPadIDV/KvqG8uFb9TcFEh3rqb5r/LGb472KG
//Vm8BvJheeqoERevZF/eiFFb7rtCT59SuqtXWe4A8l/70Hyv0tI/AZv4b/06sDXJWCrhfdrmnlY
DUOU00T8ta32bYaRtsOX5u3517iJ3u2ieNQcNWPJAnSTNvEJP2tBEWwjiG7Rog4H9eBVl7L7YlUs
IhjUxhIeyxCaNGvGoVgH+uWzVVtowJaB5bfwE8Oh5IMsK5pS35n3uz8o06YH8OIDurqCpAOpax2z
cTqL/49r35gS/HcRgeWpASWD6CV+4ElH8SPhfcUPe/HEXW1xv8kv/ALqdBJVyTfyQsfaY5CZ2CpW
y0sj78DmNAhNZJd7EV3vQeTVeS0IRQPcj9Cpc1vwXe7IZTMIigqqOP91/3t/dNSt3+sInI59aFls
u7gOf1mAvXpiXfvuDMfySnTspjMUl2Vwi874N+/+87cl9XazTWLb9++zv3LDsqzwliPmBnfxwFwd
MY4j4277Tioi/1p2G1Iq6MUPZjGEfk5z/740BV8sYvRvMKE75urxnqvje3xaXYG/rN3aQMJCL9jV
721Xy7f1+ZuGNSuzVnWZkO0qep7M0tDUE9n2RQ06XIK+Lnr31fvdojlvG8SzdSd8ljbdLJfteNAT
hAsJrktLYDNafomqt7FL4ky//N1SU9DhLYeFDv5vu7X+Fl5UqdUWwi2yYof/eOL+64qTh42HVe3Y
VCMKyw4/w/BvuzVfycDr3HIDY4bhq5WrUklAjecN/a8ntGbNr7zkBf96ozPOSNNS6mojS/3mo9ZP
cWf493c8iaf1eL1l8IR+2A7xMeziDrm6QRx1eQX0pl59SfzRH7bj+QZ58UJZaPDT/DNOGqsi84wr
HpN5+YwaBVTk43QbO3oeB4VUT+JfCsuRqEBevFBXZ5TjkFSjVY22jMpBb53lWVQWy5GuBl98gTbj
vciuxyL3H/JjvNeoB4psieNgSuBTiM+jBLiuOZ1m0Ncl6MOidx8WvdvDEDeTWc5/eqLKF+yQgmqe
4LqQ4LC0BIelJfCw6K34LGfIWS6LWPDPnntFn5dsEX322xn67L4h9Nl9H+iz//bP54W7Pp+9N3s+
e+3xfPba2qEEbZ4tP8D6VNDXz+zgngQVMz27HlS4wVzdMRmlIfgm+b2tG3e0W8VMwQXd8ub8Uszo
bJuC4wZrv7ZNoR4N4tgeDgc/VLCrF2zUAXwIvPuAxPNu4PPqQU/wgtsvhwq0XytZNNI/x9k3cf6w
2BBQoEJnlFNb/vMm+yUvqssHDoChD1Bf4MMwNuAh2tdF1mI3w7xLeCBSPA8KEgjiU5olw6tJbjnw
HoljVbQ53hOfU9qVU1QzrXgBI7LHdIm5x1L9LS23zzBdd5YVHyyhjN15kWDcZx0kadUVGUqiYT78
CoKYcuCK95uJC5AqlvELkKAeupuCrPB6qUN6wahaWbGzdQjidKtZ03HzrO61nn4i7/stChqjcHG4
89vVhDoYxV1pa3JU6xoK9FbqCMQNfGwyErRDKC940/LPxw4pvhoD3BEDM0jcnvXVUDF+OTPvvEVR
JXj1ln7M4isk5bTba14xglgWi266aFBJW4XBXiP0nrKPsqgaWVly1hj39VPawPc0D5O5RTEJSEks
MOOZhOkWQnFrMV3+8elyQzwUp8qwkdQ8FRflyI5IOSLnRedEyiihWxfUT+tTVNLdcpMvVAufYdbj
F49dZgSwSfbFRSFDV1dwvSbYt01D9+pq+IayfG63FK7/aGEkq6UvKXuII/jShD2sVutgjx+b0w1N
KoFw8oQu4MITAjWi5x6GN68Vq6YK2D0JtU822idb7ZOd9snj5Aldg6Eomfw91Py+0fyu43/S/P6s
+f1F/ft6pfldU/61pvxrTfnX2wB7le6h5ved5ndNZazVlZG05/KbGvVTRdsqRKZvzdL8TdU75e+h
5vdpVdCKAPOGgqpk1UH/c6j+eav+eaf+eVpnfJrCe91Oijc3vCo0P4fqnzefJgNU/h5p5PeT38U0
96AIRFQUZl66L6NYGx/2V9xpZ3jP7GA2lk9jumzj9ndx54y8iUcrkEP3Zon28UfV3Wd7+1TxO0z9
UQ2fBatwlGag7gclpm3Om+4WThQXasaDuMEQ1HTxS7f4SgmuYAnV3yCke0w3JnIfD9dkNRLdlYx8
tbgRyrGgpFTxW46wIb8tLqRjVVHcWCPsBH9DXUaqsDcQVBt5YcUFOf0ViVNR0p5IXlzSKQX665Af
ohzqoEFtlV+7wpUJ+Rx+x7YbrGQDqChyb6kXVXqEDhHXtRuABgR0iC6pDh1dUHOIXjUgEbciKqWp
ZuvR/c99O1si1HKqryYjGYbA1RLi8t3DJqF2pZu/pLP/kz1EbKD2iI80Th4qdFDX6Z+YMeFYpcmg
EPRcPDpk0RsM27qewHGtDIYc0ZSAJFC/pEuuBuY6DcG1m/hQtcKrqmFVOLLej4A3oyW9rQHGEUxb
BV42WfW2bI/rrMUJbhaEf92UK2jSbDinGsRrrSRZYDXNBtgvAtRTdYWQBs3UzlWLcZtJJwTzybdY
Pjxhn2HHQg+/srJJnNY14XDBVserQLKAVnodJD0flXH7dVuSDbfW1gnMapiiMcEbASqcqOKgIiiu
tABSYfiyNKz4sX+A7tDDK9zlBK17uQ2RCZyeR2uhWoibpSap7r1mzkNWRGDmilzE0hLUyzcn+L7j
SdrH9JmjkRWE+ta1IvCAY4yfsYpVSLqc1e+lxTvo2rgaer24134Mrx+M96kQqZ0es9osbhbkOhUS
yHLG6mX5tHEmJ9nQ8lOKWcwuPWS2w5OLBJZFfs0itBQuu9jKgPjgesHAZySkhXsBzSBcPjmYncvm
GrMsq82yGXtnNnJF22DYjFmwajKzUN1U3Sot5LLoSvXI7ToybwP5m5x2bUTDkei5+BNeGj3s22P9
sN09hmv94yg54HXLr7AGpPVrXJz1ovCfx3A3/3y7DtZGidAg8TT/fLeaff60epl/Hs7zvzxuDM/n
62C92u0MlbBePT7ZiMxX1Hr9uDGxrJ+f5wXCcGUS2BoEHg1lCJ9MAi+P8wKblaEmNmvDZ243hs/c
Phk+83m1MgmERoHaJPFiEFg/m1ocRUKzyMYssjWL7MwihqZ9DudbLlwZhnu4MozHcB3Of2wYPj4Z
BAwdNNw+vhgEnl4MDUcioVlkvlXCnaELhbu14Vt2z4b6fHw2lOFpZ6jPJ8MUGz49GQSenx9NlQUi
8wIvhoUmfNkZPvTl0VCGF9N3vDybFkwSMb3mZf5LNquNab0hkfnXbNarjUHgxfCS8HFlEjC8YrMy
DSQSMXzJ1tCym0dju5CI4TVPhmVp8/I033Db1ct8fWxDw2Dcbp5Dk8D8eN9uDQoTCMzPOdvdam0Q
MGghILAxCRgKuXuanw62TxvDVzwbuv/2eWvqeCgyK7AzKWy73cYg8GSYDEDAyGAo5PNmZxKYf8Xj
2tBtHzcrg8DWJPBo0Oie1uvQMMZJJDSIhKaZ4mmzNXBsDRry09N6/luga5q+hUTmy/G8Majy0KwG
ga3Y7NU9f97Nd4znF4O697Iy2CMvq6f5r3wBfdBQVyRiYAGrxsSCIgaWZ6NeuF6tTFbBarV5NEqY
OMJHc0lQJjTJvDyaeV4ejTw7o5n9uDEYMVhgg8QmNBnQm+ftH2YRg2G3ftmarGh0uhkM8UeTxObZ
9BaTcwRs8ZXRxCSZ0CSzXtnImOz61c4kYTL9N2uDcQYSRgfE1lSzm52pr23XO+MII5mNyZURmiRe
DArZehcabJ/1bmfqsbsX0/h7xBCfeYlwZ5B4Wm9WplojGTPPs0nCNL6edlujxLOhXkF1Mvl4tluT
p2lnWEXXz4+PJu/Ny84wsl5Wj6YVjssYav5lszOMjJedQeEMV6CTGiSeDfpgCNONgQPMV4MzKlyt
DRxhuDV6JrhMZCG0sZExEe3WBpqNSWUKN+udwUsBk9LOJGGq/83Li6ENt6HBCxuCrbkx+eoMpiJI
PJp8dc/PK5MfbmX01D0ZJUwurN3G5LrcPZp8bY/rJ0OvfwSj0+CvW21MLuUQrEqT3h0+b7YmiReT
w/jZtC6B+rJ7NnrdUMbEszY5Ol82a5MLcRMa3ZSG1XyzCg1uxs1qY7QPuYzBobXamjxaq93OVNrH
F9NbXgwuqQ1MxDtTWUlmYyFjetfWoCttwuetySW53hg4Ns+G9RhGhsGDtdmafEOwEhs81pvnF8P+
wOYlNNgQ25VpUwd60YvB4ReuDZrUFtrF4I/bmKxeUKVXRvfpbmsYOVzG4PiDdcnkZjX7OHFnOTTL
GCQ2O5OzdWtYd2AJfTTNoFwmtJDZWMjszDIGiY1FiTcWJd4+r4w8KGPieTR6obiMiefF4A8DCYMl
t32CcWByfYfG2iMZE8+zQffawepgip7gMqHBj74yzLi79dpgZ+3WplCRXWga1SgxP5ZAhXsx9Sgu
Y/hinLrnJXASMmwumLZRQGJr+OLdo0GL3+2eng0bDI+hYcdo97g11fzjzqD57p42BmsCJJ5MeyXP
xl5PMob9ku3KpJ/twI427HisVgZL7xFMjheDhMmORglDgNbqxaDhPUK1GgLJnp4NHozHJ1C/TcFm
MCRCk4RhN+zxxaSJPL5snk2tx2UM20Ah+oYucxtJJnf1E8438xLPa4MKCM37aNxMWr9sDDtSYLeY
NgK4jGlP6smgjDw/mmLYnh+fDM51MOc3ps7EZQylfd6ZtqfCtUFtfQkft0/G3adng8IDRrAxjnFj
aEOQMJXV6FZ9edo8GzieTe73F5hPNiYJk2t2tTJ97nq1Ni07IGLaVl6voIXNAaAkFNoIbWyETGXa
7EzO+tXj2ugVEUKhMXL1xbh397w2bVk+b0x+8NXLamvcAgST17gHaBz7Qii0ETKVaLM1RdSuX0xz
HnZUwyoMIhvTJkC4eX407dFBfzeJPJkCKNfhcxgaN+FWoXEXh4QsRF7TQxWdmUFy87Qz7lVzIVOx
NsbpZwPzoHF4caHQRsjQyzbPT6Fp5/QF1ipjiUgotBHa2AgZOuQWbIPQuLn5ZByuXMjAtNs+Gbz4
a7RUTCIv65V533BnnKJftqbIFlgmn58M2w5rMJ2Mu1yPZkc8FzLtY612hsCTMFw/PZs6mRAybppt
jC8Lt8ZI7vB5a2J5woDxy9x+yItpUYHeZzoqEz49rUzhw2A4Gl/0rInffGUXPMnJkldx+L9+KJoT
qx7ooNTr7UkpEw5PHMkOWrTxKaIUeHgU7WGfFfFbIE48qUXYOz8hnh6PrGJ4VDM5Mpk8aSpMaYiy
aM8y9fPR7D55xnMoYAadpPigHGCzcvSzWoIfsAuKw6FmjVqE/h2kOZ4S03yLOGVcp/HM80PUHKDq
ZPYqTUkSlrEjnUwXNcCPNZ6jNOf/VJV4cNS/rs8RtMAlCOnALqsOUSxPQSrlNrNyefHa/ev1lDav
4w4wPr//Xg9yEAyehclDXJxLOr4LxRoc8Z+THOQOeOfZxChzhRbUUpdornimj875KwWH9YPNohKq
h9kd6JhyI5PwjQV7oTCZfx7FcVtF8XVeih+e3Mvz0Doxnuasq5F5YZHzwJKakjrwVEoqQerI0F3b
LK1vO98meTgyKFCUwZ83iSJmpAfHu9/TOt2nWdpc+cnHWdyoFytbcyAsJGk40XdskjnxEt6NkySe
ym0xp/NAmNLLkTQNnaotaZrpHnWi70ACXFGcJht+nDOcPmOXmJUy++JHVCXD0SVkYNoOyKn60keg
3Tx8WT11Icajh+eWp7qoO/Wte4xTZ5DCJ0RNUckD/XMCoUnA+IqtSWBnEng0CkQmiSeTwLNJ4GVe
oKyKpsBhNBWjk/yUM61qb/pJ3URX6qAwYKuiaKbPm4rBehBlb0zZWOPH4fzjzfzj7fzj3fzjx7nH
InvQTfH5ufNRPXbZnExSoZXUxkpqayW1s5J6tJJ6spJ6tpJ6sZESadw+2D5qk7R4oP/u28MBMEVb
xYzyIuXdAfoZQUqZaS+OeRVxuv+CCY6tpSsLYdVzUawzq0DvGmpoc2KgM1asmJGrywzP/lcqEapo
WJpzzEhBa65OSvV7GYGOF4B2XuSgE6ZR9jk6l1+Lf+EK+k3zNT3PoDK6YM8BAGrOV0plZSvtJPdd
i5lmTMLt+Qzr3e9tHvfr5kCwKWDVTuOgbEHlVVTaPv2jjZIgyrIyqmv1wz0ocPqn8Pk/YsJklsfX
z6yGiq81Lzmlx5OeB5/WJ5Yd1I+z4kOPhYcz0LxopPUyfVQyTAt1VD7ksyx1R1W/hy76jnlKUPE4
Q3+k/yhl3nFIsOZbGmoBqH7ZRAxMluhKLzpHFzBgDhFe706/zkrmRW4tPC9QxyeWgE56UxWdyPR3
UF+jHCaYwVDTiaQ5zqRaBj7spk95vs8a7RJMCFKoJ59jlE77/O/Re8ST/fXTCRi5+Tm9PAehmICg
TGDuWCDbEnBh8OyKIwWFhHUzuwI1kTizJI0YT01Ov/BpmviPsb3wVBLWs5t2hjHCMCkb6E3Qn8vb
vjIWaNLzLUdRx+gbQe0tBqNcGhOq53X00YB6dpqR6FLKKJ9Snlz9czBUIrylcSJRRpS2EGarKCuL
D91SdSOmfo5WLqX2mTyuWAQr+plFeZRda9TXDk3A08tNJGtYa8Da5rZtMzMMeTFDmmewMwfKRiT7
SDVM2lIA+Ewlw9R1z5WV0svwx7csH6AxUbJTUV//D1BLAwQKAAAAAAC0Ee5AAAAAAAAAAAAAAAAA
QwAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3B5d2Vic29ja2V0LndzLmxvZy0xNEp1bDIwMTIt
MDIxMzQwLW91dC50eHRVVAkAA9TVAFDU1QBQdXgLAAEE6AMAAAToAwAAUEsDBBQAAgAIAMIR7kDI
aQHDTiMAAD+WAAAkABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcmVzdWx0cy5odG1sVVQJAAPs
1QBQ7NUAUHV4CwABBOgDAAAE6AMAAM09a3cbua3f/SsYb1tJtR52trt3a8nKcRNn4zavE3vb3evN
9RlLlDTxSKPOjCy7W//3C4Dk8DkjKUnvuXvaJOKQIAiCAAiC4ODJi3fPL395f8ZmxTwZ7g3y4iHh
w72bdPzAfttj8N88yqbx4pj9aXnfp4JJuig6k2geJw/H7BVP7ngRj6I2y6NF3sl5Fk+Menn8L37M
jo6WRX/vcU/AHbLl8STO8qKTTjrFw5JbPXWKdHnMDqn67Eh+MmH9CWG59Y+63/E5tVna0G7Sokjn
ALD7raxQZMeLtGh2M56vkiLvZOm6xYqxbLaexQXv5MtoBH0t0nUWLetaBQfiwMjmUSJgjAmG3aYl
GxX8vugUGRBxAi2OWZKueTaKci6bymrLaDyOF1MY8fJezAl+nR3z+bJ4aCNG9C+39qGsJ8s7a35z
GxedFcwXzFnCRwViuuCCsp15+q/QNwDRhRGocY7SJM2O2TSLHrwpz2HQCc9EG4NosulNNLqdZulq
Me5IKEQ0v3o8yaI5bzO7cD5VpI7HMHj2w+GhYs8Zj6czwPh7UeTAuxpHRdTh98toMebjk/1JlOR8
/6OENo7zZRI9GMP9pkjT5CbKFD3TPC7iFJbDJL7n475N5HKJEEs+Vb8ygVD5m2Y6SuIpgKFv/QqS
ZNObqPn0u+/aTP9x2P3hu5ZskGZjnglOyNMkHrM8htWYmV87WTSOV/lxySpdMfbOzQrWxWLTbBgk
hjXsUPioHJGPieaJkqbxIokXvHOTpKPbviVaDtm30PAQmdQmcsaTqIjvJCKjVZYjbmM+iWA+xXCg
MOOLwubIDKfG/BoetaCQ28aq2sHJ8iY/uoFRrhSBaLY7UsBgQcInBRFDACw4rHYY+213kkTTKR8f
R5OCZyXKiwJQPGYN9uvT7/981BCNcoC65ONOtlosgLk6PMqSh86c53k05dYAjol6guzfjA8PjaW4
ljN1kybjjbNRsvG39rrpIIYRVM7cVeLDqGMES5EEwTtr3fxSLnjVgxwmsDtqn0StJ6CaWLfpEqcq
30LcqKpA3MXK6aUcR0DjKOYv6fZUSWQB4b6Tz6JxuhYf1P+/+eGHH/qWDCaZLxkrBZ0Rg/TuPs19
WYFs1a/lRClpNBJbDzuJbnjizq+cWJyrWTwe84VJomUaA+NmHX4H3Jub2kMOQimdrglbEqsjlsi3
lk3hc6urT6pGpeQe9rYEwZx0/pWmc49xg9JbmRt64R5acu/P3//e5t+jQ2/mdVFJOzW7wAfuF1Su
ZXE1GauHGRDvTw+3kcUmU4K4Zd9BHVIyh6BYxP+6/4XqpZKQQ/ZHx4RAmJOE30OPhvHglfpo3SSR
qwhKxk1hnJME0RSMt5mdw+h2c5ANIEXjOUjNGn6wFU24d6UHDw9/b+vBP2lLo6K7oSHAarVIiA8F
MFBjQD/iNkV5XMBzWBzUURblQiN+I5VMB9VO7tqB3wlMBz1p6AuDn8VgCq0WoPnA2IOmVLg/LGtB
tVEWL4vh3h2YQtPrvIgQ7clqMcKhsGmS3kTJBZY2W3uiy3jCmk9kVWXj4n+yiJ0YZaQHYQSzS8T5
mF19bFvfYEi3DxXfZlH+qiiW8ivZc16FcyThyyhOVqBZqipdgqitrTOP8xyI+EFYkz4mmfrw26P9
IZ+lq2R8mU6nCSdUoE6RrRzwsPJf4jgRB+imYrg0q/+Ii9lFAfyQBSrEc56uiormepLfR3leVirr
PO7pPzNerLKFnm5grnLGT1+8uP5wdvHT68uLZrxYrgo17RYrKMsbJpsqSdaTvKS4iuXZCCzxVZJc
y/rdT3m6IP5zqg41BnkBBWf3YDvl8LOJdFE4IJPGsFzuoV8sBw2UF+dY8G7SbHQb0n6W46Ma+eoG
AS6mKAqpbcse8DwqRjOeX9B+KM2ai3QMlkouf5pMj1+6Yom+sRu19jSrUNfVVZsl5P6eDRmk61Zg
/XomTHNoywht5HeTS9iNVowL5CxICfoINCX4otVb+Ke5uhHNDaRqOYumRLnv895ilYits4Fuxucg
oAmqQs9BqCuqPAekx6KePWDYYJ9Foxl9eh3nRRuW/2IMu1UF7zQDldldZmmR4ha9Kxt0QbongVY2
dMHD52TLNoG1FdBej708//nN2TGDnTWLVuM4ZUU0zREddvrTi/N3YnE/K3kYzAW1ks8lOwO8bqw4
+bX+rngamy2g437JNB6QJyesc2TOGbZB+ZdFI7cHUCsjyaDdNJs2WqJ132q7zDjYU9BUAXnG3Ia9
brfbazDY5DR0W8QTWsnmB9SzXoce3gfMHHCv0U34YlrM5MAfGQeB7YwK1/0LUCsm9SxZ0IHOi+JB
UU/TzGpHBLO4djNgE6QcqDs+E8QBO1ID2SsnErjjrWja9DroLhc4HQI3pLjYPBGNwdhoGGJDgYGp
o096KACVHUDpM3Q5RcVJcV80LNnYGIzjOzaCnvMTd1M2NL6RiT9swDBorDBVgx58HQ6wSPUPpULU
N8RkYwEKeafOUDRt2KuqQO0JdCP92RQ8o1bWjsjuiw0J2VWo9PdljwM00kSVaAFfQUlSb4x8RqJL
Qr6kX8m6NA5oXoM7PyPFG9GmqwnCEPZSlsYSfofX8eIWJlx+18tYf+0SiuWM+u4KY4JtmBrEP1c8
eygFdKMbAmJwkNESvz0XLgtkvsaB15s9zrKlZG9cpWUDsOKTaJnz6iYmGTfVlrSsQhZx7RvUBhGu
rbkP6RpFkakJNZw2yDP0XDdaHuEM16Ja8YJgLnRNpdUS+AkHQS5IYSn59dvCAnVIEGqbYeU4V4Xl
okjX3ZwXpwWIG5hX3mxYrs+G1UZgLqATz1/K5XYJ1mTWdLCIlkvYjby6fPNa6nY8PPBMoHiR86w4
HX+KRkBUrK1pUFGh2bjhIIr42QLxI6gBrpGNYVVjGxRgWNNGsZ4VjVWXbZr4zFStot4lHWOcEIm1
1bEVb1HTbbhIA1uglkD2/XX19PDoW8nDlVwu6teyoqElt2VG3K4YGk1IXNNg09YHX4sBj9PRCmVY
d5Rx7ENItKZBUVHVkGcwSJMUfRPoc54kdVDHBlSs2wVxcQHDkvNkkfwUzDhqIW2Ivta5on+ka17Z
Uvkn0adrcgfaP6aaQgi0ipU3K2NN2ptA+WEf/hqY3SlcWHxw4JpniZDgRu2r+KNthYlvjh0Tktik
98BgdPbfIeRx1vuBPS5+svQxdTT1pY1QkI2WwTqP9mK2gFqmM8GcAQClifA/U/SIeW7LVq1+yYbS
hJLsJZrIzYBo01L+O70knVq4TGS3oSUiapTLYifpWV3PEEswG3+P8/gm4aeWKWIsgBoh4p5yIZr7
H1nXMmtMffWkoj+TSUYJj7JzdFbeRUnT3udb3KDqGJO+RW3cV66Ui9eXMYZPaYueDbQLw+3S3Bkl
0KDlkE1Ibfb08PCwNNkt7Zg/LEZN/NlmUTbN1bQCqEvhm2mquk1AlOEPZL/koYkEkI367LGNvkaH
ee7EJJ2V0j+3HG7pInm4mKXrn0o3j/JoNVuemyDMSUI24poQB94KUItVWImeft4MvgKSr8ChtqXD
w/YyiqoQYUJit81AzFrGsCF4QSDDv4UE1iKH5tM3KNrsygAC8vhjhb36/2cQIQt64zCE9/KnnOPe
3mY5OdNPgk6/rtjBX5NT43ocZ+zf/2ZPknRE/cKKuxAb4ZZ2N0zihB/3emJfe+hsogAM9u55+m6i
nL+PCsPkCWHsatSMI7FTpGIYe1VBSwzVEZops6JYAqaufyRQ+eBE9/WMNRs9oHaaFbTrVR9auGvv
3YDkBou4AkgDOlstbnuWD8T0fYTw3HJiYAPbczf+kdwKl6fXDHWx2LxrvGhaxAa4Yfwa9CJvEyzn
D33XgsH/Qqvfms+y9xwtN4GAfXSfLkZJPLoFneZvqotZnLdgJ17VmATN8GDQwwpD+ZdCW/NWyJ1X
fn1PFk2b5asJ/S2P73NvBJHtiXAoqEGhL4RgERU9X4NdU5JZdapIzRxax7kU+2dSeDeVFAftMipW
UWK5ynNVzTL5cCWJyuRnuPjb+fuGu4oUWHKYCoFEv7v5MonBKmemGwwbCICquvgVrBwylo3GVcay
3c/fo2TFy36ooWU3G/4NPYxSHBkwpKON/eEPVlv8r6Jx4+Xp+WvloAPJ57VjJnyi8Pmb0x/PGtAH
c79cnv18GfxATQ7oc8txrNPYzJk1diIVJz26unNAkKUjnuc/amHyEixOZMx3N5+gvslMJAHEsYv4
2LXd0cYHsDmvczrFalVZZfZhV3e5ymdmv9LythuZB4KeCLQ+gj6iw59yzlCqa+2zZzOTPSpR1re3
6sYy0jXLUuiu8f704qKhqRGWz6uc59fckGzXqBg1kQzg1gxvsewNp54aFbDRm/OLi/O3P1rLWx9X
zKNbDjIq46yYRQVuqzAqqQxfIVLmyxj+BK3CQPR25Lou7guGmONiNuGKJmuYVyZ7Vmen3QpGsI9e
A3ywYdMgESonmqmTDOtk2upSnzl/bndEWppwXLolGzxRpe65mVVDCgPgmTCPULiDVOF8EYHVOHbl
oN0wcPJbM7DHHYb4/MPpxSt/jKK4msD6wP+LCHx5/ubs3U+Xfv/qQzUG5lH51jiUK96GFTq9D8D0
jwXUztRUyMr/UreFCu7ly9Z4rrEJQlmxUbvJENiE9xeOORBLH4Vo4rmoKJbyxEDQqiG0w33hOaxK
CSeH6rC534Y1TgV/iAaOvseyLh4/SUzq/FZoYClphgdurhtrC1Qc7L8UmdLCctAJOCIQkQ/aY+gc
mpGXqZgnlltR1mmbHeGhYJvOmeg34rFne+6cllr6Yzvxa3OrcTyZqDb4b+sAKiwD0YAQB7jXS4w5
0BqSBnZQMTLRRHSIFbFHUcZ26HiNdbfscW31tbZ6kbaXf4RRoFD/kK5tQ8syOMThRWMgTqe+0KpA
YLjPVKekuNFohk2NZwY70KE+8eZ+I2jmxfk1qG8KCrkGiojtntepqiJrnOA+RG1JZZ3hoMiG6mBb
FQ6KsbWFC24vDUu0JfZM2Mqw8LDSdRnHEAgtMiH0fQScM5sag3FLY7FfaboIY3+T9eLEs3m+fIm9
KyIMOrQ8hRfChuJWQujIDpzd83VAvqyjO1O+iMgYcyu4EZRESgKSxLfA1JiC2vb1xmBMkRm3EuRv
NE+vqU8nvmlH5CksSNR2o1LCfeIUfl6XUtjanT06ywtXysBYLSESClt1G560AjFLpqwfpS05HI27
NZt1FKRSDEOVUuqQ+DXpvQsdURMbim6DjeCPsWJou60ic1ShwTx6SNiT48eofhY+qNryEhl11Oig
EiLLbqOVJNc2SX93YJtmz1gNphGLI7RlNo3yGsuvlzwblWE7OxFN4UHgm6jR6F+grH7farR8Q+//
RJ7RyFpfsijgL7ZZwDQ2Wlxh4wW3x9Vbe8/IULaC1BAHX9h7dQclod0ujFFnQ/gD7bah7XmHKsFo
VdxRNmXEaZuly+K6yDgX//Ite/wG06yqVfsRyINgBLgoG0iDJb+VGkC5RbzlDyxeUD/uLnDB1+8V
GAniGWvqWDk6+oD2eOoBf9mMqBaiAn4FNT6GPLyaY0mPyJp9L1jesNzwiFnh1neCH4iuFb4QP2Ih
OCclEm3dTfCEGBShPqClPt3jAyrr5umcl2fFYo3igbE6dRO+S+2zZY+t0JELoEjg2mzGozEhijuL
8zJSTHWWFc2WYRPLzWFjMDsiphatKYqzqSxu5RbA0tbxoAdVBwSdbpSIwE7qy90fPAnRwN9NNfQx
jhD08uaN+lwuLO2tjMZjVsy4XoMTYW7gcexqTsuJRUlCdchZncTojQSkdln7RnCtGB86KpaAKs87
VNQIDGZQIA2BQrMh9gzrf0Y/XFTFh56o7a0840DEnIKgQ8ZeJFg74JSpdtg72NMu016unycvQ1P8
+ftNmyNwk2jsycyPNZMFXdiHgNBN/YlliEKusRxiEnHi4TFJhQ8hdMsFtayAokx48cs0E8jC2pI/
za4rt6KVQMmNK04BvnRQAlSSTtW4qIBBwcahSVeujYejNbSMwDAZUDCjZDXm6sKUtAp6ZHape0sz
nlFfay4/Qzs86qCTDlUJV6YCIlZkBWntvXaICkEPfBWjBWyIxz23HlLCsTACrqaUDi/Lqy2ONnKv
w+RJPOL2ZRhX82TxvCkuOjiwRCFIimUSjXiz9z9Xv+a/3keHHw/+Xf7rd71pGxc5wYRZ++sKRFRE
VwsoqQZRfIR3kebRAixUcnDT1cRLHO4FaDJQVCfst0dYh0ZR9xoarqMMj2ql5yy/mzK65HiyL+53
0lVeebMT/70/HCzT5GGKx6B4VRcE1WH7kB3hH9+1jw73VXOQcMnxN6PRiO6t3U1JCFid4/XVr9H7
EXV/hP3v0j0qeD5+rkIHTlgZhabsgggRc+aLykjpkzbHeRXVTT93q6xA1WnerL5FzOMravhchfta
OIDFJD6bViyiLErrAh91LTOkUZe652wmVLII/Wo6NOI0yeDrwwd+x7Octk66uYhcRvbvyosmeRM2
4KKmu5XEnj1w/pF9ELq88lYJ27NPKyGBdRQGE9yUGyDsU43wh/7e1iPx5+yzCfDoxPyGx2x36PKn
PbqSKUm2UqCvMB5dK11+rgguvxKNPtokegwsS4ARXgwY3Kw4xY6xyAmIuSymvJDR8H95OKdZFvHA
UhkaYeoEmtxvUu5rgKGhzMr4bbUmnwtT+kSBKnffejGZIfVidNt1Ju7ZtPR+We5MStpEbXbjxCm8
Q3W+4LA6i5TlqyXG17GE38ejdJpFy1k8IqxJbSxguuyIpEtxKlnFD9ihHrMTznSzqfFNRWMrzEIo
JYEj/ye6Ju4wwidnNw/CPEfN1/VkmJwFDAsSaJwIfILxULhVlXcs6kZ66KxGOcjNbW/8tuSd0m1P
NCBf7MkVddgPXQ7WQAYGMs8wsKrML+F467DvLChkNUwg2UDO4DOGoMyLrYFLCsF2Jg6PrZq9GrGy
uVWzwnnkgjBvIWAD2K350spageW6EMLm7Wp+Y+vQcknuICsqpMCV2YfcRnqyzJIBDubCVfIcAzhN
1HkVvrxbRBngqrW6lu8YSJyUtyARvWDAxk74UYVaq2QLq8bqwD6u1UZESE9V2xBK7irLsQT0jNVY
mMes0vbtO8pS36Y7YTVGo6mYSnzMUQY1W1CdEe1xXO8xkOm/03SuTXajCM8l1u8WL3hCAaPivMj8
fo0ZX15GyKfw/fu+AHorNlr/QKMain/ArFhG+SuysLE+fhBfCN7YbmeB+SOr6LfvAyg7sDusAeEP
ik5hnpc5ZAyuXGVW/O7IqFN1PW4c3ylmKqvbF+8oc46TuMY6Io8Lsjeg8y6dmTV7v3aaV//za+fj
H1u/or+/17o6+uiwvLhqvRVeVNXGiYoa5mdTQDowUSDjPcwmYdryRms2JWDu8oxdgm+BtN3Gxj6c
DKgR6lVIBBEi1DRBy9ggILpViHu+7lpxqc+6sB1b3jf8JrOSLwPcWtVIpG7CETnJmxpBGph0FgdI
dTNhNzanRCrcshlJDGuViGkJLhFLpRTyvq59y1fqFn25u+/E1RShu7r2fWDC/kU8mdRfGI2uMK7l
dyf7uEz2P3p3fL/OCg5lwHK5TTn13XLr/pvMF+CNxRiIcdCrx0NOOReQ65IuT5i8mnWxb30jZ0CI
jTZIT+P0yT5Ebn1NyMbRZ8sPnwkZhTb/hM3Dz0PLhgx2pLhKqyzUksu8y68jZy1aHY2zaI0c3fIX
I34yV6CzsN3wVhXwqOWGw2qUqaTvL5G/YP633G8OzEOfgKPAwIShfQBAjiwlcYbJ1TCligNRitMe
e8o69qDlof7PoL59UduqFJtFugx1I0VwdT+/uP0I8aw7ClH+lC7H63uleypvssh0VBcGvEvivEar
7TOEzwzCzn+TrnL+blUE5TIFvHcp7x4fX5Ikpghuu6hr5q45f/nh9M1ZwM5XJ4DnE7c9i3MmLtWu
eeOOszmiNCbvfTqhI8CSMvXC2PU5BmWtIQb1KjKwJR+Wub6qyfYGqtp0Y5pu1gzMVXV5ubhlX9hW
V47r2xgREFVKsmLIFbPxVQjpJGUwFX2JmakCy/QRJij2TO/pZRvYGVWO0gdgHFq7eOCFVqcsKMZc
D3SAOyo4pOYehMgQhXi/lndqjR1zvTgMizei6ogq/wyyyYZNYrMFYsspJqlZDfUXE+ovPlQQkgGg
QkYaTPlE08QhZcVe0fWB1bK/uOcfupzv+anq7M8md6PH2pgbtBXyaQWdVlsDr7iRUqOqy/UXjcdn
mGoWPQ4c4TaIGsh4DVu2O9JIJyTaBAuIWA0K9IGGJM7syKF3F08jsYcXp3ZmIS5KbqkRNTV2NZnt
GwtVYjbl0rMryhSp6oog9vjo9ilw/ht/oCFasvjOyNxFegwLunNeRFAdhYIoyGfxpLBKRkWWQEGF
zMzXMYaiNsW9+O4kS+fPZ1H2HPe0sr38aQkUfCOANeLGscVm9mCu81GWJsll+hKfHqCwJYctb4Dd
bvsO0E/bAX0LO++tYd5uB/M93o0HhtkabrId3NfRDuPn9TDF5fLnmuu2AjqqB6pyNOwKtqgHKy6b
7Qp0siPQl2Jh1cB+9Feaz5whUxYXmtuOF+aADg1jpKIHZ/zVqCg2CWGiEjLVZ+zYjG9i7PlAMx59
RfTVityOkL7ctONnt5UlZWRO/bg3dH7wVSlhypH/KDVcwfJ1iPF12MIAK307n8nU0idHFa/qUf8Y
QsSTmCFUArn76sfTbIVH7UvSUHfBtJKf1aEnDkPdBfKWfJ3OpOytmtxCT761+dnUeU3yyzI1jOmo
KfRhsepSHC+hf75v3yYrK4QOwaSRZu+eAi1UbEhZX+ueMeBa8Brj70ph+7Eii3CgPwonCXS2TS9A
lCNrE2c3EgeKL42mwfXsV6uadAMLJP9Nel93Cmy9HGBtfH04rlvXqLHjEYpM8O+17sZ0UcVEyvNr
V7c1DjQbg9nToVodRK5BD0oGy0yEqVvD3lfJdc7GsQieHPSgohlOXO07DaFiZi/8CtNhbP6dXYwM
273lDyITksWC6oa/UVRG/JcnzBwEg9yEVSIFW7jOgq/x4R/ACXYkfHQrIrR/XVBsNmt4XcmxWpNi
YfIpjRfNsnuJ0lZ0MR010u8qH1px+5B2FiBKaOI7K42g4WDpZysaTKm23Q3BsikbsEOVd0YUDE+Y
aQh6Wfpk2h7tVQPkzsy0zlsq49L3ZLXX3VlKwa4k0+AGZK7sp7zMvnE/Xo5bNviS0eyEMUltF10V
x0dRBdU25AaNbjjixBg2qVRDsOp2NY7ULF1/kFc4yur1Dr5er2wU53iVSjjgQLal2ThnzbjLu+Wj
Nxg1dxfzNYbNtTCwA8PdP2HM9TqCNvAV79Rgfh880oCf6DdXL6sJGpWv2nTlUzmLMaaflvRrWr9/
btvff8FEeAJZOjPpsKeHIa1Xndvy+Sxa1Fg+vvVb6Y0OvxdnpboU7kgbZO2RRLqyUGA3fITmkXha
iLLX8sIkacnm3a3SeuKpibcSDNwM+y1kZekrtJ+537MiMWES0/ly5dlc7tC85Mb1InQr0SKkqIpE
dWdIA5LMByTIUzwOTKfNxgbgsIYa7Q0YtLR7o8ZBCtoZrIk898DZ7kbDRaovVdRxgR2YXK299RtP
MuRP6/C+c0cR8dFdydRbYqmV/b2jN+T+kcUUlxjdlcErZdJkB8+KdPbh0WwzDNL5jZYTn167YPSB
UEMnZ/vNefyTParnSgKKbaMoaur4NpNEyrttke0ar9Li0ZWTU60jH+hruA2QzlWyTj17WJv5Sb5/
gS8ymTs3DLiQGFZng5IdbJUOStTVjay7h9jblfgAlv7HspZmR326QbGeF4A+na7z4rzg86ZHxDb7
68W7t11xwyiePDSxC7l5tipTsuUqCuLTUyhNzC6nVV2aOgEb+qn1geCilSXMKo7z5AzQMECm57xJ
QN35GKNGp8G5+bdwSmus93jspBSRT3dZUdtYVNr1J2KeYILM+QgNzV/X5vft4xHsdyklk7aNuBJC
GdarQDRdjKRI8u8/Cxkmclr8lPO3ctuyWXptuSsPdiSSZ+wmJ+3E+2FqunXMa1JG7o66vZtwGXVU
Vg57pW1KB4KHpEah48kxP5lcucWE0y6bco1/I/NOiDD0FtNZyK+c9FAfW8yLqaNcvPge7GWqaPVK
XusvmUcmSnCTyMjMC1VpyeoSmjy27KS1/6HRxvPpVZ6NthuuFVnXqnogawtkq8L9jL7fpgu3e03H
HWnj5jSs70YnRlAPadq5mWtnWb4xYbcsUzGH5vdxt1ceYO19sCNDrBfrJDLipZzynS/K+/kj3UYP
PMoXCk5hx/LpPDvx/DaM8VJWd1DSdx+cp/1Q0qwyDDOrxpo+YMiyQItiDm2No8PH7UjM3zVawWCY
KjqGLoSbsHUs5u9sD7L5Sp7rC5d03sLfXX3tsQrhbgp8prxfwYlwb4RTsrlWfY7Hzevwc6a5jNGl
SdwqLHerYdsYNbdJ7ERZ8ita1WVwegykWpXWyBswLCz9SZZGjd40LRIFH/9thV833RJ8JUC/mk3L
Q7gezdKQHUFxMi/StRMt+aQqZu0bGz8RRinDwGKRC1fVEMzre7LrR2yHmXvob4oHgt32otF2B2ds
cXWqIyN5Ll0lUplr6EpHGyxfiyBm+hPPb9owL68s6MpaOvE3bBSLbbjxRM7NV3aY/Ha5V4xTIxMM
pn4wU3nKS32mUHyiyo2kJ7Y0rB7AwYG3jZip+3P0IuIOWXdkhp9g3p09p8ZQ5QUSF4PKtEA1pNZJ
gsxHFBtOxqB4LB9UVNlyMre6kT7H/UJQUDYr/0ZHoLw/lL+rW6l3tu1mIljdavzF6cIMKuJgZDoy
K/lPVVYgs/NYpD6hROUVCVicniQkexxmHZlSpEw8ZKUNUfmfbO7WWUbMty9NQwgkAdDnfWTsh8z8
WcHXBYKJqPAJT5ipIk2Tm8jlCuN9T7Ch+f4QdnzkVo3b7FOb3TIQPyzBhGPoxwb1T9s7ECrwvxGW
CJcvVVMhAW36NcGveJYkB2h1G8lHPT5Fd5F4o/r4Lo3Hzda+fqqk4i2j/aHqMknEKx47Q658Ymh/
qD7tDh1IbOoL98kVS4vuD2VVevHFmxADFClZMUGGBrHaiHbiLdmB8GU4D9PLFbbPMA/NCe1f8RBV
eSuUM+Bkf4P7cn9IOQM0ZL3Cy6dsN6Fl7aa3xSjkI9gfyq27ALUBBSFvT/aRvdVBLIsXoHGjMV5q
oAw5xOLyQJWrc1ChsvYt0hqnubsNwfKniMWmAA161IHDDuKJXSUiNkjQGN9cy1ZLSw+qtEb7g6Vk
pEZepMsl8sVqscCtNI+y5AEYK89xAzlE+QLF+CAnzjF97Q56y+F+FQLGowSuXWGmyKKselUtwSQT
Z/L0XAaV03uroVRZSgZL2L4BtPmVgbYmsuh2TVmrVHaqMagJEIjiAXvm8rtOAPy5KNlPc3jIEA1m
EeLgdY5JIQHUDWXvWLcQF8snsjMu+s0OAw8imHxzpIkQuEgQOMHjLAacQ0J+mmKKKXRzcDoBlG9S
0gNQRfZAyAU0bSUnW29L7MhKZlubmfALXV9CdII5z6oRct7S2RUnu3nbm1+Rgw5xW66MpHQb8dqQ
4RU2M5vfMdlxLAEQ5XhKHkWdD8zCYNfLKHEeLWE7hV7loMxnhszNtc7MthziY0Og+0do/GCOu2NW
KmVReC0z4e0P7d+oalGI+QpCAQW6w47FhkllGqT1s4RobSXsOCczeEdkkCvHvm1aEZMSW6ci8TeV
ZI3gAWo4s4jeWJZHx8HkKc1Ddxf2+cksra35TqevbZXlwA9fUjFKNTg6af5tpKrPAfz9kXeC2tjY
sZXL3fWwVfYd2mXVdr49eZ3jjR0o+1gdkknhGeq0xj9FFG7fQU+Y0MO9wZNOh706ff63Y1TDCzpN
vJajpdeaup9yEZJDySfHbVilEcbwMAzZg4HiZnO1yMv0tHl371xcY00xfGcZC9GEn8UzjiIMTmlU
IX5Bj2XktHzosk4HsBLosTwbnexD1XSVgUDplUtN4EWZA9U4KGVCukDsTvbtPRzWo6STe/8LUEsD
BAoAAAAAAHYR7kAAAAAAAAAAAAAAAAAgABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGx1Z2lu
cy9VVAkAA2DVAFDt1QBQdXgLAAEE6AMAAAToAwAAUEsDBBQAAgAIAHYR7kC0Fzxt7gAAAFEBAABE
ABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGx1Z2lucy9udWxsLW5wcC1nZXR2YWx1ZS1wb2lu
dGVyLXN0ZGVyci50eHRVVAkAA2DVAFBg1QBQdXgLAAEE6AMAAAToAwAAZY8xT8MwEIX3/gpvtANx
4hTaWEIMhYEFUBgYKhQl9ik51fZZzUVF/HqctluH05Oe7j29b1+WhZ6vyNfqYZOrdbVRuX6t649a
n6CLbuoxNBYc9C1Dgz66pudDZsyyUNXqR7wTi9kFD4HBiiO0ZkiKQXRETqSSA7LWIbYRtf6G7vPc
+XKtfEvZZGOwdAK7S3GGy8dyJU5XW1x2iG7i5PFASX/Bd2Az8QUgBuaopTRkIeuJegeZIS+jNMOR
PE5e4jhOMEoL3KJ7RvtUbpWqFvtb/mpb3vDPgDOyepyRdzQ5G+4Sd0DG1uEfnAfeY1j8A1BLAwQU
AAIACADCEe5AYqnPyKMCAAASBwAAKQAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Z1bGxfcmVz
dWx0cy5qc29uVVQJAAPs1QBQ7dUAUHV4CwABBOgDAAAE6AMAAK2V32/TMBDH/xXkJ5Dqla0aQ+Vp
0qqp0gYT7STeIie5JFYd2/jOa8u0/52z0yLgAdpCX+I69ufuvvcj1zc3xefZ4vFuuXj9LAiQUEyf
RYU4Sc9GG4KQt0oTgxz+S69akFgFZ4xEMM1ZR71Jh2DjoSKoxVQ8XC8WYiRURVHxOzG/v76dvdrt
6p4JRa2bpvAQKrAkpm9fXl5GoonGMBnAJt6TrsHJylliWyhJ92C0hUPsLef3s0+Py8FiIndEPt35
EeR6UuUHlOxDk5YYy14japeNB0AX2blkVts2be3tJkaxf1/UW6t6XRXaIgTi2wf5N/uyFOzWrygO
XXsqaOsBT6cooqDLSFC4UEM4HaStJq3IhX/1KECtA185ApF/I1GpqoN0wTskudbUybxVS87Wno9n
vvN/od7PF4v5x9tUfVjkNNu2yIUophQisK1sYu+qbIH+B5a5m96k6gvwNbIqCfgNgpMGbMvhcBDe
cemcVNUIVQyatrl8c/FI7ktEF3SrrTRO1cgNFFJEZnuo+nt+7kg1uNwE1cMwHQb98wazo6UDa+x3
5wk2GV0DphkgK6O9ZK+xUoYNpDHzBy7rHaChrGhS+shhMxLwxOscUa3RK6o6yRFiHm7cQLaVtSJ1
RGQ5qCQ5hHQhreb2IbiWU4xHaj8S0SaAbFzoZa5MVbpIsjTKrk6QO1fLSnufDl+eX46EjT0rmJ3j
ocVCvGOxUjJD9BnZKIMwnNtVtphecIRqy44UeZCyrhyrGPeWxq2mMU/TleZMdsH1OvYS1ji+y+eX
ee6OxBN/UPKEnQxkrxBTXV1MLq8Y7vUGzI4NVpUmOTKkt1NYcBMRbYucrf1+ozfpnJieT6520Mao
FffEe1aR4cWgkkqzGQv+iMHPyHUqjV2zvvnwHVBLAwQUAAIACACzEe5AkexmgRokAABvYQAAIgAc
AHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHBkLmNvbmZVVAkAA9LVAFDS1QBQdXgLAAEE6AMA
AAToAwAArVx7c9vIkf/fn2KOLpckFwlasr1xlD1fyXrsKpYlnyTHl+zu6UBgSGIFAjgMKEq+y332
6193D16kvdpKnNSKBGd6enr63T14+vTJ06dmXlVFHER5NjWjkTkowmhuzY/X1x+Ns+WdLQ1+SmbL
MqySPDPTJLU07ckTmmzehc7GZlnQ84pmnR9eHXx9ljN5mcySLEzTBzN5MJf5xHyIDvM8DRjY9Txx
hv4PSIswyTwuXwUYGHNa4XlFo3keQekOi5PSRlVyZ/FzWJkZfeQFFGhS0ZKZq8plhPGOMDFX1prv
P12e7YMy++OxEChkZIK8nI3jPHLjt2aalya2tHZKNEgy+rqQRcNJvqwIENZpEJBNHuXm/OLauGRR
EBVKG8Y8rI0DfTFzW1qzSqo5QTLLLLalq8IsTrIZwVhhJzTrwcQ50eCaPm3RcJ6TZwQ2dGaeZBUI
TkssEp4Pak3NQ740IY1bZm5ZKr3cMmV4mJxkhDPtLzB/pZHzkMg1sTYzq7DMbEwweBcH04qIV+HA
cBA4taLMI+uIHYZt+q6SNDVpnt8ytWgHfhwBGRdlchdWdmyraCzk3Ru7ciG8iLEEKNs8LIwAhEcS
pGVG3OV4b4xxTkuXSRxbZksnlDSX1uXLMrKHzCFYYJyX2AzD0qcthgE9PWfar/MVqDkr82XBXFDl
tGRJHDQJXRIRGeRM9wmK2Q3MUY8fwbxlngr1C6vQ8yk/6PK/Eg6HGwIa/VvNcyL+NsZuzdJ8EqbG
ZndJmWcLm1VbO+Bms7e+amynOGfMK8IyXFg6TedX3YLsbYF1tmhcSLyxpSgM62WTaE6M5UjuYwKZ
0+f/XlpXKXiiSLZV0VFkMUSDRD00hFW1JPzmuasChXPNZ9MmZepy7PMuia3Rxc1dmBJs5h9hrKoi
MXAKg5AmfdIBz0JsXgYkyDKU53ZGDHUPNDVfmc920tpBTgxPq2QkErkuEifTKTEDPTr9aMI4LsHo
LF2AlhEBHfMrMx8huWjvXdQS/jkauPlQhc0OOywGgGk+Y/niJfYhvyABHsmi4HhX2CiZPvAmF2H2
QID0JGWNLVdzmWjhiSUlLCIxGA/MNs0bxCRjdp++AcrnJHu5tzNUzNuSvHRWjtjeF2kSJRXxTzUX
zdLFLM7N8yyvnstqUFq6nqgHPlTgecXQL/O8EiViC0vaKoYpIl4YEAHceJrnAX0YeCitOcQNOLHB
eOnKcZpHYaoqYiAIT6BaibsJcNU+Dt0UydL61HFnURwN2TuYBRZls7tvfhBZO25krVYTLW5OMtGQ
qgNMSEwUqaKlxcG2HZEXzoCQuSV4UyxhtlxMCFP6nU4xWpbMhjW30glEYabsBoZcsRVIYH7wA8l5
zEZugzmWnbHB8/Tc5z1UeeFZSLaTl0Q3KDW2RCo7bQ7r292hIQWcl0PPxMp5UJW3tqiE3ckOHv9L
bZRwTFD5pADSMLJCOhYDc35yxVya05LlKiEezGy1ysvbHYKyyJcZjpZXeHAVCR+bjSK15Jw0FvYs
j25PIEtk3ZY4MkaUAGyHd2TCwwn9RIzdNvyr1WrN7C/yeBzlZBjm1SJ9Smxzi4Xf7vyJIGEbzHUO
eoC+lc6mpJ+IAhUTlKwELYPdt1iYGXDwpOagBlHPSuByp9qa2J9NjDV+bQhljHP3DhPBSXDgi4I9
ExYZm4B25tPV8c3J4fn12c3V8eXpwdnp346Pbg4OD48/Xhu2hTzg7OLw/fqAQBy0FlbknKSxyeD3
sEtHONkpqX8wH3iuo8ED3hz7dXQmDkxIRxoR55J+mIGR4f1NdWus3xvmo5/ABHrWQ3Kfssh2qfDh
09W1eXdsrq4vLo+PzMW5OTC0kYMzOF2nV+9l/Y+nR561GZWebaV1wmWVw4+LeE9hofqIbUFbxQXw
hOqzGoyrRTEmQ/I+qdRhBGZ6rB+TGKNEusRhytakyNOT9pyXIrSNr0QGMauSKWHF8qtKgQ+dKEe+
Yclm74mutAmfIokVnSsw8Ls8LBWrk5qLiLUcEVyVJnnqawRq3FxY2XPiX+ixsIzmSUWHRT6lY+1E
R8ciTLbhHbmwyVTkgaSPBmzT5y2adpuR9Z3YKKTFmbzen/S620TEK5Vnb8hXufRsviNyjofPF0tH
psayT8sGiqBlJCarnDC+y4VqrlGyROuw1EAARtmBIhNQRAILSGiHSJsI2kzy0pssLPnrcsyN3ib9
z37SxE5BWjpfK94OqTvyM+BB0URDM7GuAjEvX7wQqO+tLQ5SmGfzeW5ZjElwyLbitMSBISviElJ9
GTuUmfqcZnuRCzmg5vLMerOB8a2BO+wpsRm9mE4H+BDbEDJOpAdKNQbmIhOcPoT39cNLtUX7KuD3
yWK5aG2/7VkxupDsZQmhDzdjXuPzotkimQHy8pNFAm4IWRGAAT8zPfPFArYDrEBa/06Nh6IwT2bz
oXpHghstylxMOgTb27QZs7tG/vp0z9dOlrBchSSH3kfN7H1to820zBfe6wCvRWmC7WrILI+arbfJ
7Vlh93XbTo8KiphJA37B1mfLVITRmMuQeQPHTTu9BX1BkNkScjsnEqpz2JVodSIzC7WqwhE/kILz
CjAOCzk70bZhLM6FszRzRF4au4MJedS0/6pMLI+FbkVQTiKZL2fz9TVZnarXAsDescECQ7LdSxIP
M7Ur8m4hqDKfQftJZZi5hD0vwcoVyS1Uiw1mwdAsyO4k5AIg0KaPYUaEdA0r8pmEMCMzZDPMORnY
KCwoaivzFS22Ix7KaSX6itmJfEdinCSPlTJEqYip7GlbYwmMwQ8SrXPg65euXWUagmG0RX9mH5Ls
CpuVUxaCivqDAQjpiJQafRi1lEMsuyBcvrBq73Bm+A0WHM+mkjnoh1kASMc0IX/owVy8F7mhIIdo
VYnL2MPT7D7pLWuUXdtyUh8fmypSykQdpiJYSA0f6ftQfQP2xsjFTgnsLWgIz1LUMuY3S/NCZ1AL
LFB5RSYrW1uXjEZGh0EkDSwxR1qPr/W0BE0img5xNXvPbebBiYuYMs7sqRBXCCz6YO8YCuFPjEE8
XMNSUwanCn7Jp2scC1tt2TbSQfBbjq/N9cUFjfscCOvBH2KnmDQeBEoSOyHxaHgLJ51caVuAZMss
XIWe/VTfsAJQl0XdYnYEad2QwwaSFwpBYJBXWRCoHjxUpHdfv6gVvVeJH215OE/SeL8XltRChZ2T
VNCQlj8F1oUCF+fCP1dTyJLPE4gnnTKkPGCy2XsgClURivm4yxMGTuyxIFJwFoq+pnk2Qx4SmZ7G
DybPPgPlHiZWBSBNiHasowgujXY7sBe3ZmEX8DJ9iIHUBmeKgNJFpvzPRHRDPnZ2sZHjoOMGF0N9
4tAnpK1Fb237GO4qT2lJWinOJT9AlpvZGyszIOHDGrfAnIgZod1QKFTBVEGUxSRCogkDUjsp6TuY
KTJUT4G6y/8ElSY5DxzMC9oXKcnGbjZh17748hKFs4qDP0FOdbqMLfNVyPa+PttQE37Wi66mNMxX
fArZhL0PF6SEh5CWsMcaosddDYfETUHXIHF8uy8oGp44PCHzMED0yKgNatyGYpDk34pFipOgEXwE
nMBuDbDKV+StuZbkKt/3eVzo+sKrFzgo++YAfCzmEkkiRNbKaDgXzsIkUTdDVOcYi7xkTDMCRcbK
R9eiewNOOXPyC0+//4ukqn4ktntbh0G0526WCDGvuhaSw0fIt+CAG8k9TuSwu2rS8AFuRGU1N/aR
kDFvXr16CRVDjnA8inIoGVEM8JyYnWt3BsWAq14GgRgT4s8Oy1OhEFzWF0/08+7eH4IX9L/d/Tcv
3mx6SsuL/5bKTyApSR/R7+4Vnzx9+A6p42I0CaPbhqgiZcmM4k7LCrdxL98QAkIU8g5i+kMyXnIW
QRMGPr0PejmK8CfLmQtWdnJLnIAQn1Ty6oYeBtEs+bck/teXf9h98YrmnJz+xwcvNJMSgsuE+eH6
/ejI0nhG+HBOKyfLxegsyZb32I2UE2CxIJJLUtbCL9MwSZ0YIGbETDPUJL4P5DfdS/aEAyyLczFQ
7+yWI8byUfKCYGGqWxbMXiYpiGI+b84uf4oSgbovCZcPRN0g8xw6MJQezE/7+7u/7L9hZdJ79Gbt
EY5OihniKJorRFOxuZj8CvS2j64udsyVYCWBEedUWevRLiSJSFRYZqwrSJ6rB07kkqaNlwj/ODRe
ET9OlklaidkjqJA99hvvbJMooihMU9HY3n+dkTP4gcFsMWWd4WIJ6KxxoBE5a0uW81UkzuGzkYRz
FUEMYXbrDNGNWK4bKb9wIcWxYjUfe/kmjmO/WUGKXc5ZJPWxmJulnuSkhMRwsO2FRZ4kcQs+XYTA
/yUSP0q3aimFHEk6HDjA02fijWg/266qMxpEk1vwFLMJ3OyUmMs1W9zRQ+D8JWJ2US4Al2Rh+aBG
JK80nZGXSAnW+Qw/GaSBXw6CEqgFeCHM4P8e5TCcnPix6qAIjIlFoOeLXvaeLAqdQ3yXRKr5jsWc
oJbSnDLtP79RviEbau9thCTdDfK3cB1aI++Qrb8hdgudnyHJ32RSF5YUfwbRGt8HZbM7D8L/+yYo
Gt8HkeazG9GpNaRvgmjG9yEtKE68WYSzJHocpGY8IK0B6mzrNwH1QGR2lpMRh5w9isat8f1tgWmX
roPPN0HJ+D4UZKx+z54wvrcn9YtaUH4DAg/vI4LEIiqx9w2cb4Kpx/cBkdb6XbxH43sbIuv2uyDQ
+B6E0CXu91AV4/tUJQ60i7B4NFl1fB8TSXY9nk10whq3FZZU46wN59vcJuP7YOBx9A7om2B0fH9T
bR31mD15HdWCUdpVSV7/ozHR8X1MltX8yw0rwkfplmb8Bv6f/y6WwXiuoq9Byki5dMH9NiRMWpOk
yaIH5xGAaNK6RM5si0CPkEiM70OhyOj+4ZGHTs94eB9GZEvSu+REPJI09fg1A3dfkHPkHs09Or7H
PXPyRMgDfzQUHb9JqKqSooBH7qoev8nmwn/LXGMrf9Po+glrWGUJhR43SfxYrPz4NdVDbn12l0wf
y4Z+/Bobho93SugZDe8dl3Pp77ILNH6NiW2ZPlbKwcQ0vIdEMS9e/x4INLyPxHzqbsKCXMVHnkw9
vg9okme/kgv8aP7V8QDT6RnY2zdbH7itZlMz22OaB5D+oQCy7p1wUrCThgbt2amT+8MNLTpIUP9m
mw5B6GQfpFMo0QqD9Ov4RPGGXh3utEG2jtbqwvHhVSn5kwXFs9qEJIkETYL54ttTJFs0S9JtEcJM
FGVDzHFY+2sLDSW3JpRAtOuBacLbNxLVGdpW15jGVASh3TZEgxBiCuJxr33iHIWcsJMiwpmFMhMV
Y0WFDzUjYMhq0CifKBbSccTlmxOnFIluuVb7EWf5pVNP27fKfFaGC817zWjBbclxS0V1sFqtBv2s
ExDacpy6ZLx22iEduv6iMEM68NelQ07wDgvXm9BGp7ywEgJzVkUKntgids5hLJ8tlyhQm5XcPnFO
Epuj8ysZCyJLgAlvwfeBxBweNi2PWhcekst5K8M1l0Oh4YJ405GiryRZIhAEHmc1hb3vpK4wQw4D
aQqPwJCiuEp7QJusnW/7Y0owa/h0g/QcIjlAooJJfobWnDTY3917Gbx6HXz3h+DNH8c7Ig0UYg81
5E6U4RZI4hM6wtoo1/KmiGORxCXWRrqB5snh1Ikz3yB7ffhxTEhz39J6lmxIZ42EDbYZyyAh8l9B
H3TNaO5Io38U4rEz7ldhnZLU26tPBnkbXz6vyiSqUmk64woc0ECCkcu6tNHY3lE4X6DRZliLPCA0
O9EGJ2V27qmoO2NYmuqhmm3Sxp2mUalpEEHGgNhbJKzpwwEs5gnwpE6nDb178FpgyO0LTZobRQk6
mMynVuuGF1qEE4/QsQ+LSZ4mEadSRB7Y/1btNGl6KQoK4DhrL2UFn4By/6REbpsgZjA+4wrCA5oU
hIhjP8Bpg8IxKjStlq5cCaanOkeejZl8yOWvSdP16vuIYFFoNoTSTwaRk0gVw9SG0gPC+TMt/EgW
nBZ2SDDFPgXZ6fDhWg2Eyi0n/mli3Q632Xx/VI8bv216xdkWwAwRooNzUomDoRmQ4aA/3GyMGsAC
WSvfYTc4RTxt3QC2gb5wnO4w6yQHrlcPizOcKZ4c39vo8IdTgTX4gHryXxK7coNGW4oZbf9WKzsR
vOe+TTJ9eM5Vw8FFIbIOLJknRUlxW3rCrEInjBXgavjBirXpImmadY0ia/yWnjRE0t5Pp6eVK0ww
WzCvVKdJe16SmRbpwQJIIotVtIE5JJaoyf1NMiviTFiCfJpNc/oMmh9QBCV8PxCFOODi7UB3zCWW
C10R3554SfF7kMIsDJ2rltNpS05Fj9S045Qic+CQLPpDA16L/wT7+3HNV29lIWkFB85QQPuNXcub
/lYcUt3RjhaHjlD5gr/Q1TfedtumnnSXac6haQKc8lFLmQ857KK0bIf7R8Z7EbfkjjiB3Tguq0y8
X0F+2xV3y/WnioVQf4mjczr2L74rsoXxsLZ8jmVYpRrbJO90WSJ7L2V7LHbIzTh6/cFZxT+ve8DI
ptE+gOBd4hIimbQFWK0G56h44+YC+vp7KDc3GCR7LE3yXVo27YnhhFgXgo52bu4Ly8XoyjrtooGA
a3f8HxCfo2koRaVH+1JhvcQF8rVdwq8InVsJMfhjXsbcr5Babr9oGXxy1Srp/80dEmhmZVO++fL9
CZ/H/5nBf/4cbP/04/yXn66rX/73p6P4l5+u3C83+M/O4O3X2fqIPjRcjSdXdHBu+sAS9P2Y4XsO
LwpJdkm1stU1q/hpZ98Tj9agdGX0z1i9pcSx1+D5z8HPAetJIt7tP7JCX4oPYc3ONbFsY7KCbr9j
8+sefMRGg49lOFuE+ybLR5FvHUfLLH1uuQ2i7FGTymrIvocEWSqnLdpgX22VJY/VSVanjsycb9yL
pHA8b/qRA/Mpk042dqKqNS3gDajzrZITS65p4tussRDUtg9nWm0X64uJC7KBUELBT84eImGGmpFo
QrON/iOw+W7wcseYzyCR6l3pOCC7nzFJhtyEof0wSmpUlFnQcd2Ibzqxm5tOR6Xl2CYCiE+XZ+QI
8B+mNv/mOFISj6PlL+KjiLCz2u8MEGCTHZjS+r5COzzjcILL3wQMCo6wGER+pwNxQjdtLp9Oa7YB
ZFw60jKmvwKyXzBcvZvl2/xQnKVPsRCFPELHnj1H09odQ1pCrgY4c3V8+Zfjy5vzgw/HfKb6/ePF
5TVMDUy8i8qkkPPrn1Ldnnn9UNj6QpPFjAkYg8MxrhyjblNhkFg0NNejZ5cCNMJ5R9p25CLMNKdQ
7J/krz55+v3p1JeafPkoeivNG22cN175apAmOGMPSEX+SEQbQHyE5OP8D6dETMxbu5eGE5TuPC8W
MHxTvVQBQW1uHKD0Xi6wP/Izh7UFYEL4lnBj7ytEbnqP0IejTcpH7iminYhCpwpNorT6j9cfzhq5
JJcJP4yLlMYOtIHKzPI89m30gMsdSbnCV6VjpMgfIlDx6CGppT3jTrqEuIrimpCMrbEat0Fr+DiP
KluNSFZtuGhSCNy3yX1n2impJKjKB9YBOZQU4f6gqPiLHzgS7gT1dXMwGO0TXNE+u2bvcq4/qnCd
kcO1LEiNn+WiGsUQt3r2aG+csKAfk7LThUNgJEDv3ucgrs92MG3vxavgu71gd++Pwe7LPXo8nfLN
uXZ3JKv3qe9VR1om9imjkNVthUxC0//L3k5h84LbS+dMOY6y0XH6wLpS290lYGK1KbcaLLof9UqE
NHBpsCT9daJWfEcT8zFtk3HMzMG1OTs+uLrm/FDKNGs1P2lKi0lXO8s9CpuL6VSDRfSgELnFC66b
J9QT5g6V+mpPw+7oN4Hk+Ftp5Kx7QC3fDAaWMx39Xqc6fac3iIgCzoFjaRvodBYeYyXbycyp0eNU
xAy9gOzK1f7i8zh/7pNShFGNPGs/UQHfwISX06wZT22MrK6mzbhZzHtv3Mh/WGXWtJP7B/LrCL+O
5NTdmDG64ftx0q6Wz86QfNn3YVOvX7OmqMc9bw4UYKRDTMyUT/ZqSXufaDhZoo+WooMh9kqB/5Dv
Btc3vsjYVEO2a7YkV8subAmQTzxaPHpToNNK8upJcfeyhCGGjNytyDyItdQ7vawcD0ns80WXwbYR
UHBDyY4ufiJwBs/m5llqni3Ns8r8PHhW/jwwz94682yCb/9zyd5I+feEHuM7mdhydDAjkcOjgUa6
Nn4URB6+oHCqPbhZwozemmefBuLlkLPUGcULh7LwwPCHhmi1MHLKReaoXGq85Hl7+5AxAFPwd1lg
Z11ea+F46IFwjxJWyQV3hUJFkLkwLBOY0aEPAiGQTZ64oL120/g9HIbS7x/6TGlf2ln+EqGHXDv1
9ZOmovAPy2LDZ18XRsGbpdEfvtwkkG0XfNb1zYP6mKT7T1NvfNji0ytrtKNx3Fg8VC7sH6vExrgq
41vs1qVLHP/fvxVhe96MpHf0egjaE5lwyg0+dlGvBzGP59S2xlY7JLE/X2uhXeMyLO2qYPW0LVq6
5RmdXH9sZQzR74b6zZAvgfr2H17I9/Eg7VCgl6yKAmkbBavDi24Wq+HvSHOoXIQ6/hAm6UCuH6Fb
XzujQzTip1W+z7lfrzolwjhAOaIFAyY4n+5zB/n/wqzSfxlsneS+SmaZWH/vuB9IHnnfHMQiP/Cc
+G6JzzCHzX0ds81sk+XSyrwTqEJldUCs7+GZKTLaIDZKPviApEPHE5f+EXLF2441uQBZLB2FvHYg
OF5qzaJX7KosyaR3xqR9sSat5h59WtzeJ1xZ6pa7yLiygicHzcphqWqi7aM70gfV66vqiz/qyxu2
7CbpJFRkpdk6cByVyM1+s6c8jUefLk9x2Yb+nvkS31GdBED8EazRz0cynJyQBORTnOFZmM2WxM39
wqA6R9y26YdwA2yTDNBCnMLiq46Qau/st/rmAJETyKF3ynEHQW+ZhvUCCklvjDcFNrzTo402Z7Z3
xetzy+k0uW9uCPhS2KR1d1LLOPU+FMytfUAyTO+I5f4lHA1PEHIfcxLiOfEx/55xvEEY4RqmQqmh
okOd3xCQ7kjcgok+bmlTukhNUOQsugpDbo2wcSQtNlsiX7mSCN+qkvYb5TSeLdMmyl6jzJ5QRq82
oITIyXJpXiW7tOSCpNYGaI8UVlee9uzQRCzHWBvXU6N5WJJZozPb8lvYIvGZlPZOTzdh0vvT43vA
XGzLN8E4xKWH8mFL6MUZar78z0+HCuSYoiGzdRRmi7C8Hce3W6ylSXfiGdF1HIdbG3b+ct+cSr6L
q+nEr1tp9WXLrMhNTPJUNm3N5ckhSohLJzc85W0oQNGfhyYfKfzgq8HiO9Mut3wBlIvaZHu2OEtD
xyLlyEwK3I1EGJ87QutLFfJ2y2m0+4fvviNtQKETv5uouxPZodmOwx0zMkfLivTSdpbiyzGZZP7N
ZvyVTGSWkKhsW7ujs0+wGo2Ylhjxg8UlUoJl+Rvt83ZESsGWmJP6Oae4sIJhpKJp2HtSZfh2yyDO
83JlZ/xzlncfnD9kFGnc0g+ZB4XM1XKGrPp2wcDOlvd2Qbq2nNk8cc/NNh2IH3xV6FZxzWlkrlak
4/DV3eHrIREsxbIRE+Lwi43m25FrVhJSFEyZd2X4JeFNCAZLRWE04U38mYLqjB/9GnoAl0uKIAC/
XO60DqAtqXFogvh27XFGApyla49J/wU2W39c0WO79nhammBari9pacn10RSVBHZ9SS6R1aMPiYXR
0XF6dTF68+b1H0dvTJC4XD6uzSU1GyTV2uNfac+/hptA7r3Y2xv9+SP9nLi1abe0ndvyq9PeXzIq
o9v1HWdEtmydbOQ0BFm+9liU51d3vCfLFOukKmi7RbXhMbEIfqE/az8Sr5ogXa49j4hGUbh+SI4O
aZ007s4E7m4dCI2OCH60PqNcmqBcX/bLfHT92QT0p1r1KfAumb2uW+IC/y0ga/K6P/Tz6fnRxeer
0e7e611avuAP/UGHH9+QjvLwooK+fZXoWIrJ3uDsx7y/OH0zuvRgbvPkzWiNST4dXtG5+THLyO1t
GvGqPeLV2ojrE+L2ekQ1faOejvHU+1gmORcCu44OuyUF3ngQs5rWC4y1WXferGW1TSGLkVj/goAN
3k5Xnf8ZKT+++dL2QaSUbXF7mq2Q3C8h4EVtMQJcPYM7o4D4EjWSQvyKrbSYhxNbJV8ktlxoLPtX
DuH0crTPnNa1yKTjLnQdxPYGIil14d8a+UjLkVokFWjx4gDoK9JNpEtIb9zipQ+QUJI1kStiZMgQ
yQtqkndG+baTHO85pJxk7bnQK74C25QE/A2c+voTGY5KEpJc8a9yTzNUUyNbcgFZcgXiG/pn6i13
1L9g0Eo0348q8g2CavZlDdvjjNwYdiM6GLMX6teo89BLVM8K+A01UzWv5NNC3TR9CLTRzb+6pJ6v
1+jaB2mOKBxJ1K/hCMpRpIX7vNXDsBdgE7rPO2+P07u+uKvrXZYcIU3tep6EWfTAvR3M6hySawG+
81I01LF7RKwJcz/ymzbB3zb8OvuSFCaYfRH6tsmrb+xqD+8vyk08WpK08Yh4Yli/c0Wh1NKgl9nr
N8vBoW/KIdg67h8iAjML4qdQeGO/jdJm5ujv7yvDuhvtM9KP3ONa9vhoERYd9u0hPJDO2BLtQhpJ
aP5pmXE2WqJZzMRmAu2P1c4pfeOSXGDU9wL6rIiCQ945jn1rlTQz8On7hFQri9k/u7qTQmMg/w4h
9M1otsKxtCLbQSeHH7xjyLGNpBridsfPUGRIq91rTShdzXst67ZKkvtdHvU0j2bJSEYYXKslbyB9
sgmSpoEKmJxYqmKsUzaoD64S8dXJwOFPf8kuKB3TWfPTNzbKKQp5BYVUfLe4YzcecZWf34zKL0EV
SFrA2bx3nTbiZgDy6zaeYiuS7SLubzz5dhL09Hblxa9DI4sRszB9WKOuboZroPS7r/4ls3nV5qGv
wMa0EbC4C8snmxNEcS89or1UclEc7y7jRLOohpb0a0uFvOnBRssKKQxllVYLAZJuVcTvPPAvG8VV
VryNlDNCFumvDO9J0eKbNifhXYIspJzI4XenNRWEfFqNOB8FBmaw+mICirnamSHdBWM9ZgqOG4Ye
+0T8+gTVHSO2Gpun6Bs2bBUeJeV+HRa7xtqsvYSv7mfXVgT/ij+kQAlOx+Rpy5QoJbHOdbNXHCeS
whV21ms3UvT3uU7uVwAD+4xuUyR/8lSxNrg83+zjirMo/a3Ub7BsZ1nqH7pp4w0bCfx6At0EGKCN
Pt5mgr0lXVy3hGzXrcoPqUUbtvajRfA/uTqAvMQ0De9y7FyaEHZ3DBefWcNo9a3O/b1+8cIMrpvU
9iLkjPAkx5sLcn7paBZMAiOKXhP8RFlsbXuAtFV56/QFLIDPb/ipU2tIbUi62iOzt6N91b5L3PUx
evXilRkvEofF+Co5bzOvJ0gWFCDQUtMbuQEU2HSSZH7gjTIxNDYBPg/eBfUFgc4atdR2mik0BaQ6
DQZo5C1T4Pf4coeNLr9q7hvb3PPN9YgeAu7KGGkJm85zjDeEMAK4dcwXeD0xBOcPyKD7wnXz0k5o
tIQ7quhIXB5JT1dtjP3bqgGnU2/3LzZtvRcAgQ33XCglVAd+RPOX1gfar4L+pv3Rt2N5rT3Xm4FK
yP31Phq5CegbaXjN+j1mXFngqKBpv+Px+8/f1m9N0bY7NNwN/Sva9F+3965+3OqkDZDDH8U5riDh
NHS5Tlde2yAd877G2swmZTjwmb61BgppvBvsmsFfknB/4HWT98i3ByfLNB1AhbkNdaY/mcE7fvEi
3nudyzuFU8jVLAd8gPQQ6zxZt1wjhRqu2WAl+sMAdQsNhQkUE/crtpaVM/SPNnoOOYriJOY3nax9
v89M2/bwi4/IuF8P3f47bXTqp2ZQN04RZ4/LZTbmox60xl3hvXGvWw9+iE5xC+aOBPBV6/GH8P6Y
r3Savfbjs9BVxHlQ7vFJiOM1uJ/RDNBmHp2rv5znh0KLFpvgFi/LsT6y8dL8SsowmIUluT0jF6aW
2anb7VX7HCIT7derP+kVZfhmoAbb7G3RA24OazUqIodc4I4duaX0K44HH3zD8TeCVi4djzAJEx43
cBJWjxk4krdPCSY+0yJN3Nz4JW+1YVXE7pu8JQAr4FIGkugr751Kd2HnlabKofWkDdkKXEhvZSlq
SeZgVWey+90D0k880A83ZGFnfO9WO2fyrPsTBY5ldZMXNrup6Cv93AHTRczfUVfkLuXrMV4hy0XU
1sPDnM7y2f9cHv/7p+Or65sPx9c/Xhz93fzn9eXB4XF74CWAB8/NyPx08ktv8VZPgnnOL76RhTde
UuIfrs4abL4fdxom/h9QSwMECgAAAAAAoBDuQAAAAAAAAAAAAAAAAB0AHAB0bXAvbGF5b3V0LXRl
c3QtcmVzdWx0cy9odHRwL1VUCQADy9MAUO3VAFB1eAsAAQToAwAABOgDAABQSwMECgAAAAAAIhHu
QAAAAAAAAAAAAAAAACMAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL1VUCQAD
v9QAUO3VAFB1eAsAAQToAwAABOgDAABQSwMECgAAAAAAIhHuQAAAAAAAAAAAAAAAACcAHAB0bXAv
bGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL3czYy9VVAkAA7/UAFDt1QBQdXgLAAEE6AMA
AAToAwAAUEsDBAoAAAAAACIR7kAAAAAAAAAAAAAAAAAvABwAdG1wL2xheW91dC10ZXN0LXJlc3Vs
dHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9VVAkAA7/UAFDt1QBQdXgLAAEE6AMAAAToAwAAUEsD
BAoAAAAAACIR7kAAAAAAAAAAAAAAAAA6ABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90
ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL1VUCQADv9QAUO3VAFB1eAsAAQToAwAABOgDAABQ
SwMECgAAAAAAIhHuQAAAAAAAAAAAAAAAAEoAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRw
L3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL1VUCQADv9QAUO3V
AFB1eAsAAQToAwAABOgDAABQSwMECgAAAAAAJRHuQAAAAAAAAAAAAAAAAE8AHAB0bXAvbGF5b3V0
LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2Ut
dGltaW5nL2h0bWwvVVQJAAPF1ABQ7dUAUHV4CwABBOgDAAAE6AMAAFBLAwQUAAIACAC2Ee5AIcvP
ccABAACSBAAAdQAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvdzNjL3dlYnBl
cmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX2F0dHJpYnV0
ZV9vcmRlci1kaWZmLnR4dFVUCQAD19UAUNfVAFB1eAsAAQToAwAABOgDAAC9Us9v0zAUvvev+CQO
O3ReKLtMFUItECaksk7KOFdO8tqYOXb2/MwW/nqcsU5tN0RPKBcr/t73y08phUzaLrO691GUUBDF
FKKVkDUiXTb8Cdn9eZXdU9kRr7MQy9aEYLzLEtJHrkiJaY3bpInWPk6stjcrLcKmjEIrzzWxooeO
KqH6TB4Eo/F4/J/1dSVR2z/qsxnU5HRygfHk9AKz2Wj8aXlVLBc5vuVFMb/Mp7DGEd6dT/HdVTpu
GsFN31HO7HmKZfkjZcGb99fJl+dWu4o+oNEBzqMlaXyNk2T71sglSe6SEwof+yvd0skInylUbDpJ
QUYY4aYxAYN3/NTW1DodIY0WaGvh1+lMMM6I0eIZklwEaCYwdSksuaHTgSd96npeFFg622OCHW+D
gx6h8dHWaLVUzRbLVBtOWQrRLFtESXh7CMhdfXD9Zf51gTUlssNh5536ReyhQyCWlXCk6T+g2/XA
AMbGC9baBnpyUftWG7fw/jZ2hxQbptQZD505pIboLr0zxO8KvkKzH+ivJC+Vn7gq79wrxR1FNGjv
0xzpZk/0+YXuYtqeo43sKD4zhM67QEdT7EkekByZZF8z7e5vUEsDBBQAAgAIALgR7kAJQo4igAgA
ABkfAAB/ABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9z
dWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2VfZHluYW1pY19pbnNl
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
4+ET/QBQSwMEFAACAAgAuBHuQCqwGZbYAAAARQMAAHMAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0
cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwv
dGVzdF9yZXNvdXJjZV9yZWRpcmVjdHMtZXhwZWN0ZWQudHh0VVQJAAPc1QBQ3NUAUHV4CwABBOgD
AAAE6AMAAL2TPWsDMQyGd/8KLVlz0EC3oxRK6ZBCSVLoVlz7zVnkznZl5aP/vj6ajIWbTpOQXkkP
QnpCccJZOUVjdoELKYrSyfbsbXVJg1USeBY4LeQTxaRke4XUHOh9s16aam+P2y0155VrzvjKkH0j
KOkoDqW5lS9zyA99cnYc1/4j7hAhdfTnLTRWLVbP+pPRulKoMuKSazt40kTBnkAcWdlqkl1VUc/x
QDMR8V7sgAlQV+GsWIu7e/btJcgEvo/X9Ytq3uD7OF7AXJyD7SZtb+jmQvp7iAlMV6Exv1BLAwQU
AAIACAC4Ee5ApDlQ24EBAACnBAAAcQAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVz
dHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291
cmNlX3JlZGlyZWN0cy13ZGlmZi5odG1sVVQJAAPc1QBQxNQAUHV4CwABBOgDAAAE6AMAAL2UTWvb
QBCG7/oVA8HJzYKEhuAPFdOq6cGpQ5RAbmW8O5a2lnY3s+N8UPLfM6prCKUFH4p1WjQf7zPvajRp
CG0xSfLSUjG01MJPWKJZ1xw23o7gaIU4hlcYorV/hnDVhyb5tniSb1tF1nOK6MG0mNJUC4tPi2/V
Yl7CVVlVs8tyBK3zBB/OR3DnDW7qRuD2JVLJHHgEi+UPMgJHx62Mr4lXgTv0ho5rGUODCXyAjqQJ
Fk6eaLl2cklSemFH6ST7u9Tpxf+X0sF1yiL7TMmwi+KCz7LbxiUQSgKP2DqLegRpUIDJOlatBDZo
WwFshVhjBHc382Gmz3vX9CaK61lVQf50ZnLVjkqXM6WwYUMp37UbxiZ+bIPBXn76j+SaPLGifN+9
6qsGZ19EjZialECZ6TlqO7IgQSd/JHDeiUMJ3NvVu7iG7DBEbsXY0R5QvxMPijU4PXd2+tzwHnz3
V/OvIvGGHjb9F3Eozg7rvdzr6kMhbRdkD6Zt4m6zfi1F3v9Q3gBQSwMEFAACAAgAuBHuQLE8MW+g
AAAAFAEAAHEAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJm
L3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9yZWRpcmVjdHMt
YWN0dWFsLnR4dFVUCQAD3NUAUNzVAFB1eAsAAQToAwAABOgDAACtjcEKgkAURfd+xYUW7loERUgE
YYMby0j9gFFfzZTOyJtX0d9n+5bd1YEL56TFsSxyhYMqy12mEvTWEZarBLVr9eNqBNV7JMXsOUHR
3KgVzDYn4ovnQbuWtjA6wHkMJMZ3iF/U3K1kJMoJWwpxlP6MLNZ/jewptGxHsd5FUWVsgFAQPHVv
Oz0hxGgBU2d50gd0fvIJdC/E00eoz/k8+u4DUEsDBBQAAgAIALgR7kD53rLh4AAAAF8SAAB3ABwA
dG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9u
L3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2VfaW5pdGlhdG9yX3R5cGVzLWFjdHVh
bC50eHRVVAkAA9zVAFDc1QBQdXgLAAEE6AMAAAToAwAA7c4xT8NADAXgPb/iSQxdUAckGCJAQiUq
AxCklBm5idscXO4i2wHx7zmVjZHZXvysN3zetM9d+9jgqem6u21TI4bEuLyq8Zp6Wo6jYfc9cyOS
pUa7f+fecHb9wnLIMlHq+RYjKVLGxDbmAasv3n8E27I1ySSwrqqNI4444ogjjjjiiCOOOOKII444
4ogj/0buWXsJs4Wcqmo3BoWxGj4phoFKhI1koBiRDyUzQgoWyLLACq4gYQjPwsrJeFhXZR5IEqvi
9Nq6PHE639TIFl3/LtzgAud/u6lkOnIp0xJj9QNQSwMEFAACAAgAthHuQIakqm+hAAAAwQAAAHcA
HAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Np
b24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9hdHRyaWJ1dGVfb3JkZXItYWN0
dWFsLnR4dFVUCQAD19UAUNfVAFB1eAsAAQToAwAABOgDAAAVzrFuwkAQRdHeX/GkFHQUSWehSCRZ
uQGMZPiAwX5kB+xda3aSiL+PudUp72d76NpdwD503bYJNUZNxOtbjXPq5ec7Ok6PmcEsW432cmPv
eNkcaddsk6Se74hSkDImeswDVn+83NUbekhuyvLxOMjEVfXF0pvOrjlV1SlqgbM4fmXUQRbCozhk
HJGviwlN6iqeDb4sFIgRxtlYmJzDunr2D1BLAwQUAAIACAC4Ee5AN6Xpr7QAAACkAQAAewAcAHRt
cC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9y
ZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX2R5bmFtaWNfaW5zZXJ0aW9uLWV4cGVj
dGVkLnR4dFVUCQAD3NUAUNzVAFB1eAsAAQToAwAABOgDAACdjsGKwzAMRO/+Cn1Bc9jzshT6AYX2
vmidSSw2sY2sJs3fV4UWeizVQQjNDG8OaFGlmpQcwjlJI0MzWniSnv0kS2zE00Rl8BskWUzYipJt
1XVWkKIqGrKhJyzItCZf/ZZ5lujZzVMN6vIu+Bz3pxN161fsVvxV6NB5ulw0onUjMtTBv8/Xrqb6
c0d9x9bI++FaEe8kK5R4eWl0dhdNkv/pU4QMyjPeoDyMH3NmHt/CzCOFcANQSwMEFAACAAgAuBHu
QJHY0MoCAgAAwBcAAHUAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL3czYy93
ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9pbml0
aWF0b3JfdHlwZXMtZGlmZi50eHRVVAkAA9zVAFDc1QBQdXgLAAEE6AMAAAToAwAA7ZhNb9pAEIbv
/hUjVWoOYFtQpapQaUEtSg5JiUoq9WYtZrA37Fd3xyH8+4xBRG0PwYeI08oHr70z77PrGe/hTdMU
ctIuV2JnG0oJA6UeQ6Mo5DWRy9s3Id9+KPMtLh36dR6apZYhSGtyjrSNLzElqaWpOEOrfUZxnCmk
kSQFWV/QzmFI8clhSbjK6Ikg6fV6Z+aLkhqhDvTJBNJBf/AJeoP+5RAmk6T3bf5jMb+Zwe1ssZhe
zUagpEG4/DiCX6YUTVUT3LPOzHvrRzBfPvBm4N3nO16Y9VqYEr9ALQIYCxqptiu44HVvJF0hzQx5
ieEiUiIlUiIlUiIlUiIlUiIlUiIlUiIlUiIlUs5Ege8YSi8dSWsSSOC+lgFa+wgehZIrwUOgWhAI
pcCueYzw4ifB3k8C4RE8Oo8BTWtrtTp8pXfTxQL+8a2OllTIpzXqjGgNjDv6YUCWF/z4F6DdH5Qh
nBBbKmE2hdSiwsyZqoOm1FUnTceSReURTVaT7iK89kJjd+0dKmW3HcV/395cE7mf+KdpK/Q6BLWj
XXEobvYQOsgfYk/IVmjQc1u82IuZq93XthHGXKj3cjU2gzcp6iugtTV0HtK+p1rU+UjDs5He6PMZ
7kX+69vA03J8hm1YL+ldC8+JAfbHV8ah+8cikKAmZIcbjGEI/f/nNI95BzxpGqWSZ1BLAwQUAAIA
CAC4Ee5ArBT7VMYAAABTBAAAdgAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMv
dzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNl
X3NjcmlwdF90eXBlcy1leHBlY3RlZC50eHRVVAkAA9zVAFDc1QBQdXgLAAEE6AMAAAToAwAAvc7P
agJBDAbw+z5FTj26WOufHkQEH0DQu4wz33YCy86QiW59e9OK9FyEySlkJvl9OxQvnJXT0DTHyIUU
Renqeg7OWtLolFzfU+qsBwXuOggGJb1le7fx4wL1yYVCTkCCnEQRaGSNv1s+icAr8cDKTpNMGqv9
9nCgdpz5dsQ5Q7pWUNJFPEr7hQFiCU7P0STHvPkx1w/vjcN6ShYY39lOm6aJorviDzna72e617H3
mtisJvZRE5vXxBY1sWVNbFUT+/wH1twBUEsDBBQAAgAIALgR7kDNCoWd4AkAAIlTAAB9ABwAdG1w
L2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jl
c291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2VfaW5pdGlhdG9yX3R5cGVzLXByZXR0eS1k
aWZmLmh0bWxVVAkAA9zVAFDE1ABQdXgLAAEE6AMAAAToAwAA5Vxbb9s4Fn7PryAatAEGlWxZdhrb
TQadJJ0+tNNi0wX2zaAkymIjiRqSzqW7+9/38CZLvg920hTQFFPL4u185/pRFf02k0V+cfQ2IziB
DyEfc3JxNMlpefsaTe6ooJIk6N9HCP6T5EF6CYkZx5KycoJKVpKpbooYTwj3IiYlKyYoqB5QAtck
mR7998hMZyeJWc74BB33w7Fu89/TnFzRNLXtEY5v55wtysRzXdMz9ae5kFlBsJwm6DhJEtOWslJ6
KS5o/jhBBSuZqHBsBSwwn1MQOSAF6ptbFQNwGgcnOSC6I1qgLFiRNAzDDfMLXApPEE7TRqOg34le
o7mol5NUTlDfH7n7CRVVjmESiaOceDHJc9NwTxOZwQT9/ksrI04SWs7r0UY+ax511baQFZmWGQgm
6+4ZuyN8BdVoNJpuUzghRhW+sstHWEvYwWnOMEDhdJ7JtvVUr0tQAaZlvRQD9VMJMPt7YFuUnp63
pan7DNB52o7K3e45rpaS3ZBY2W+r4+jBbbdZdRnrt07v4FT96sGscP1QgYlhfoBGXiNffawi3Cqe
oAmJHtXfSIv6W87i2y+YSx+gTlLKhfTijObJVsWq5W5g/Otdk3FSgGlf71nPruHUT0twH+JFqkvL
7UbO68BbJI1x7uGcziE+JNsAixPl7R9wmeTEqcPOo1SovmfEGHTpz/GCC2UaJfZqFOIIrLNwFoM1
a8cxAaTF2yVFy8/X3WHOyeN0xTH90T57GRUjX7K9avZTzooVZdscqdZQWv9jUUSEgzeRpneZu07w
9VRqvXY8biVBFy6bUqGL5OFwuBJ769avc4yaaGRCwIRBnfStH1j33OQiRtyWO4U2YTWAa4gbE44p
FFvVsitJKQmt7lwisQ7jMLTCtOLEM4Gqm0CV+itA4ATfeuqGmZcWeE5aRpmgQa3rKMdKgapjDFkB
ZACr2iu0CnlpkLPheGvaTUm6jH3lUTBjXR0bgbxhaJIm7aFgZ7G9+5iMp7tKej2TTTBNOWxAbK/W
SbI2AUpIvn0EGe+VpvcLullUFeMSCi23TgxKLQpSSoF+6cF6eCEzZvRtirHiMuDwElw0dpbSA3Sf
LeW/7qOEweASurPLZKfOp1WmwXl+6STY2HtgyliBH7xWZd+0DOh455x1ANeRuzbl6nifVcRUR++e
RLdUepKr6DKojZDIH4hpQ+ShBXgsJJYL8dsiglJdlz1fRcpGcWBIxJJH3WZpj8tgQ1dSjyVjeYR5
ewInW8R0tC7vF+y7u1mnqNCEtGVU6tJxBnW9nRxuyx87Sd3SQ1L6YDOUw+DjMgZvs8zLQe23cfpY
ExQTiOsl/p5CtuArzmiXQui7R8uEPEAa24F4WSUbImyCa9NVq/ad2TxXKjFtSG+sW7AeGGKvoKdL
QQNT8F2FMt+0sPa6Lm/2ay1wTdtaS9OU48JIuMKR2xyjEVmXW3Lxum4egYiye0sESA6sEsx6QNU6
Hb9fep119y2NWhHttppjJuvcuc2c7RxGfeuuvZUvJC4Tm2XeuVTi9kL9ZutXV0VXNi2nb1zKWxdz
R+w0tkOiwIboN7NyyTjcnm7JTRa/4mdi0+LYRp0J9/7GLhOcuujSZbkEOC/Qf9CL6VFdjhtFfHV0
joGis9STjxXZONULMy4juc6INcnEimRuKUDHBRHCsYqtKtqk0YZj3+jMfEidg5oCbOeOsoW4rO8A
Sf1OystGJdxUxB2fWK0pzWoCgemluYr8QBvSJuzmPetMNg+Ebm91kFTWukBkiFRu3SoEltttYXbN
AhstIDDKZupwRTyhd5OUxVaXbCFVyDcjKMoXukbYJnCHFGSB0hQ4IM0qqWcBovI1I2alni2xc5Bf
YZAMSWiLTG/rSQLdUazSqvxkfQOEjTi7B8MDBcgwjLXMh0pfMZ0ax3BkWXrNN+x3F+CKrar/++3y
6B7brHL4giawi7IWEmSRsJnZXs3IHUg6ayThZdZ92aIiL9t1s7ml0+nLCwKbpZUHCLd731B1gM0x
ge/AuKBislJ7mvOulUMv8ENDvJZPTxxx2GDk46urq0ZKOD57f/V+9H5jDgOKujlcrq+vN0k9IUUl
H9veZcnQSk8fLkFSm2LspOOz/pnNbXFOMJ9pCuE2FOqO3ndlqsvbnn1091bEnFbgNDw+f5FJWYlJ
r4e/4Qd/ztgcBlVUqNjQ93o5jUTv258Lwh97gT/0B/aLX9DS/yZeXMC8er4L1J45ZgnxlA3JPfT7
FVxJGfN8GDaGgFD2saKihvABAQdyYyHOT9x+4kQ9ewwuerKoeuABoCZPEsi84HiLXIqeQtBTd0Tv
Pox7kHkqwtOeWEQFFWrJHvRkCx4TT1IQet5TDzT1iJlrmdES/AZLxmcqmwsP+M4C576EigciBm3J
Gk+WTtZb9I5/2331JACBz620q40Qaj8+sp0gcZWul354sCQdJxevykhUU9AmdLpodYVE0uwYbOwD
9fzk4vLzHzefP16jT9c3N+9+v57ocWh0OkH/LGO8UNnpK6jkmnPlcp+jbwAcHb/K5fQLqFnV6DIm
r+ZyijIsIDpRQWCTlaATUwJ+J/K6lJwScWJlAJsD8h+Lf9Bx/GHH8Q87jn/UcfynHcf/puP4zzqO
f9xx/EG/6wroOgMMuk4Bg65zwKDrJDDoOgsMuk4Dg67zwKDrRDDoOhMcdJ0JDjr/LLDrTHDQdSY4
6DoTHHSdCQ66zgQHXWeCg64zwUHXmWDYdSYYdp0Jhp3/Z+GuM8Gw60ww7DoTDLvOBMOuM8Gw60ww
7DoTHHadCQ67zgSHXWeCw86/Idh1Jjj8KZmg/miqofGa+8mFbV5X1mHvYYsMc7L/Vey9Og4OUe8O
nnlFzOvwlJV/yQH2CjY4RLAd/O/vlSY8RJodZOxrRtWJVyHRHc5pguHSnH7BeY5Yqk/O1O/xI/0e
PwIDI04qTgQpJUn8vxfR8BBE4x+l39EhLwL3f5Q0p4dIExwuzZNmAnMGff+hjGW/ndjfHIB9R2LW
+L+8u7lBrRMt7rCK6L3LSOFLmSIICPJQmeOoMH+G7xohoFIyioVAf62qHIjx7IkxRjkub2f6Fxb8
qpwfAJUW86eBOv4hUCtAOptzQko/k8UheM1huyeBvOWF2SfBbA5XHwj6X58+fpCy+gf5c6EqwdOA
D54YvD70NzNF3/8mDoBtD9Y9DdzBE8OdE5AGynV93M6vsupXVaDPIT29wkU1pcl5GTxnOgvC51OC
OkX6k2hh+Hxa0KneqeF5tTD6SbQweFYtnP4kWnjmkHhqMldCHYOdiQKwH6b+mcSnwfl3ELq9pP25
D0KPdjzo+4A52EIg/RjDB+3rrzPzAw72dxzQORqg16tt7jc7zlG5yPP/Z+ey8qFPxb/tmV/g/B9Q
SwMEFAACAAgAuBHuQG5jasKyAAAA4wAAAHQAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRw
L3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9y
ZXNvdXJjZV9zY3JpcHRfdHlwZXMtYWN0dWFsLnR4dFVUCQAD3NUAUNzVAFB1eAsAAQToAwAABOgD
AAAljs1KA0EQhO/7FAUechMET4sIokMu6gqbPEBnptfpOJleetqEvH12tU4fBfXzOnyOw3vARxjH
l23oUaQyHh967Guk3+/s2F1nDmZqPYbDkaPj7umLbVI7UY38jEwNVXFiz5qwufDhR3zLHqqbcNt0
b9yiyeyitet2WRqcm+NMRRItCM/koFKg08KMJNPExtXhy3hb7f8GFKXUQMYwntWcEy7i+S8V1Wy9
J1VcyNXuu1U3UEsDBBQAAgAIALgR7kCYBmnuhgEAACAFAABvABwAdG1wL2xheW91dC10ZXN0LXJl
c3VsdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9o
dG1sL3Rlc3RfcmVzb3VyY2VfcmVkaXJlY3RzLWRpZmYudHh0VVQJAAPc1QBQ3NUAUHV4CwABBOgD
AAAE6AMAAL2TwUoDMRCG732KAREPaxpaUbRYreiqh9aKq+BN0uy4G90kazKr9e2dVSt4EHqQJYeE
ZGb+L38yQgiQZGtZqXffkCCMJALGpqIoS6JatjtRvu1o+YaLGsOjjM3CmhiNd5IjfRM0CjLWuIIz
bPWZ8bA64UVuAmqKApc1z5j3aUnQS5KkM2WlqVHVl+5kAmKwPRhCMtg+gMmkl5zOr7L5NIVZmmUn
F+kIKuMQdvdGcOe0aoqS4Pa9xjQEH0YwXzxxTdg4vGYiH6xyGo+gVBGcB4tU+hy2GPjZ0AVS6igY
jFt/qQz3/1UFzjDqYGpii3rQg9vSRGhdgVdVmVzxEqhUBD/eQO65JIGqCAOfIdzdTPttLg9xfZJl
8OsJVu5GuSrRr8v6uPJataLjP4ILdBhY/ud12qzNnXPiK491jMCcq/8B5PmmrwjGGTKKfGiNaf16
7gzJPAZlcQ2q78BuuTaHeyYfL8uwBuD9bHrJ3XSDL037DzoDtapYyz9bdMb01RprQH0Hcgd8AFBL
AwQUAAIACAC4Ee5AK8PDGGUBAAAnAwAAdwAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAv
dGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jl
c291cmNlX2R5bmFtaWNfaW5zZXJ0aW9uLWRpZmYudHh0VVQJAAPc1QBQ3NUAUHV4CwABBOgDAAAE
6AMAAL2RS08bMRSF9/MrjtQFi8G4UTZV1EcQjNhAgzR0HTnOzYxh/JB9JyH/vncKqegOsagsWVe2
j75zjpVS0OyTHswxjqyYCqtMZRy46J456emk6MPc6gNtEuWdLuPGu1JcDFpexjFbUuy8C50o/PBH
sT7drLfHYLyzaxcKZRaRoudElml7wc+Mqq7r/+7AWB7N8MJfLqFm57PPqGfnX7BcVvXV6me7um1w
17Tt5U2zwOACYT5f4FewZux6xsMxUZNzzAusNo+SBp++3ouzmL0Jlr6jNwUhwhP3cYszMf7k+Ia4
CZwdlbMK11RsdmnyU6HCQ+8KJt/Ym8FtjYzg3jDMMCDuZCa44NgZjhks/AKTCZmSBKUgfYL2FHDo
ZXuNLNojXmJL3RNGlrq/bFv80+epqqI7CpQF/re9i9SnHxPumy0F4vH0e+AoKfdvXE2lTF09fZzh
dtl4egfm9eHHQd507+L4bursN1BLAwQUAAIACAC2Ee5At0ZQDqMBAAACBAAAdwAcAHRtcC9sYXlv
dXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJj
ZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX2F0dHJpYnV0ZV9vcmRlci13ZGlmZi5odG1sVVQJ
AAPX1QBQv9QAUHV4CwABBOgDAAAE6AMAAI2TT2/bMAzF7/4UDyjQnpbszy3JDGSbVwzImgJuzwNj
0bYWWXIleps37LtPbhAgTlvMOhEg+XuPlLSqmVS6CtIbTmeKDf5gR8W+8q6zaoGLkmiJv5iRUucp
KofUan5oXs0PqNbHOLRkURgK4X1sTD9ub/LtJsPXLM/X19kCRlvG23cL3NuCuqoW3PUtZ947v8B2
950LwcWlkeUt+9L5hmzBl5UsUVOAdWhYaqdw9ZN3ey3XLJkVrzl86G+o4avoKRpIk08cCq9b0c4m
yV2tA4SD4AcZrSiGkJoEZAxcGWOGtlo0ifOQ6CeAPMNzHCmwFVazJJ7T4eLC0tt1nmNrTY83OLE7
OOoRatcZhYakqJE8lnpW2scBcyEvx4Id4/VZPrNqnP28/rJByZF03mqdffWbvUP0xF6+ie948Z9S
/tVGEVYYilE5QUkm8MGDcg1pu3Fu37XnhMpz3J0fdmcRN8UPHRmIO9V7ShlP8yLjqfABVThrn9nZ
JM4gPaJM9DLSPN7NQxdf0GQbJ4JHQGidDTyZMFIcMyaOMZI8/ozHhzwf/uo/UEsDBBQAAgAIALgR
7kAD+xi2CAEAAGYEAAB5ABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy93M2Mv
d2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2VfaW5p
dGlhdG9yX3R5cGVzLWV4cGVjdGVkLnR4dFVUCQAD3NUAUNzVAFB1eAsAAQToAwAABOgDAAC9kz1P
wzAQhvf8ipsYHQFzhSoxMICEaAe2yE0u8VF/YV8b8u+5UCExBQ9VPJ189vNIfs+PmNtEkSn4qtob
ysCYGc7aUqelBDaaQVsLoZcagTwxaQ4JeIrS1wkhYUyY0TN2qpL1ut3toB7v23rEQ8TU19IOp9Ri
rrcGnWLuQVT4FbGVS8ABjD7/ge+FDW3OsMg6WO2PDTk9oIp+KECSG0qQUYjNkBC9MuxKuH3SDovR
E1obxkL2+8vzE3N8w8/THM2iA13kqblEqj5yAf1ydpk6oMck09D8bqlo4sOc/0YyuqFu42+vkeeC
pw+eVxH9TNNsWk10t5boOm/nZQjln8/n/qdZ8keoqm9QSwMEFAACAAgAuBHuQGdBUutlAQAAbgUA
AHQAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1p
c3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9zY3JpcHRfdHlwZXMtd2Rp
ZmYuaHRtbFVUCQAD3NUAUMXUAFB1eAsAAQToAwAABOgDAAC9lEtPwzAMgO/9FZaQttsq3rBH0QQV
F2CTCmfkJe4ayJLI8RgI8d9JmSYQJw6oOVmx7O+zDx43hLoYR3mzVAw0WXiHBarnJfu100PYqxFH
8AED1Pp3Cus2Nc63xeN82ypwimNAB8pijJNUWFzO7qrZTQm3ZVVNr8shWOMIjvaH8OAUrpeNwP1b
oJLZ8xBmiydSAns9K6M5ce15hU5RbykjaDCC87AiabyG/oYWz0auSUonbCj2k01CF9kVRcUmiPEu
y+4bE0EoCrygNRpTCNKgAFoLvk4xgTZ1TUxOQJJJbL+3HcB61BGQCZiCZyENGyPNV5XyzK2rcUYM
iudBlt7P8dNKi/m0qiDfHKo8+YY0Uc4U/ZoVxXxJjjgZPe6+BqEJF63DZMvv4SqMjJ7sQxqCXkPC
JQPxaRUv9A1u97czzv4FeNA18LBr4FHXwOOugSddA0+7Bp51DTz/M3B3i75OQt7exU9QSwMEFAAC
AAgAuBHuQA6al2avCAAAfSUAAHoAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3Rz
L3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJj
ZV9zY3JpcHRfdHlwZXMtcHJldHR5LWRpZmYuaHRtbFVUCQAD3NUAUMXUAFB1eAsAAQToAwAABOgD
AADVWtty20YSfddXTEllqyplAKRIyiIpKeXokn1IYlfJ+6waAANiLACDnRmIknf337fnBgIgQDG7
SaSNKyaJuZ0+3X26B+XzVObZ5cF5SnAMH0I+Z+TyYJHR4uEDWjxSQSWJ0T8PEPwnyZP0YhIxjiVl
xQIVrCBLPRQyHhPuhUxKli/QuHxCMXwn8fLg3wdmO7tJxDLGF+hoNJnrMf+WZuSaJokdD3H0sOKs
KmLPTU3O1J/mQeYEwTIao6M4js1YwgrpJTin2fMC5axgosSRBZhjvqIAeUxyNDKPSgbGaTs4ycCi
R6IBpeMO0slk0rO/wIXwBOE0aQwK+p3oM5qHehlJ5AKN/Jl7HlNRZhg2kTjMiBeRLDMDaxrLFDYY
jd5ZjDiOabGqVxt81j3qW9tDFjItUgAm6+kpeyS8Y9VsNlsOEU6IocJXfvkFzhJ2cZIxDKZwukpl
23tq1hVQgGlRH8WAfirBzNELZlsrPb1vi6l1CtZ52o8q3NYclxtkdyRS/hsMHL24HTbdkLFx63iH
oBqVT+aEm6cSXAz7g2nkA/LVR9fCQXiCxiR8Vn8jDfWnjEUPXzCXPpi6SCgX0otSmsWDxKrj7mD9
h12bcZKDaz+8cJ49w9FPCwgf4oVqSivsZi7qIFokjXDm4YyuID8k6zGLExXtf8NFnBFHh91HUah+
p8Q4dBPPUcWFco2C3c1CHIJ3KucxOLMOHJNAGt4uFK043w6HFSfPy05g+rOX/GUoRr5kL9LsJ5zl
HbKtRqozFOu/VXlIOEQTaUaXeeqAb0upjdr5vCWCLl36pNBl8nQ67eTetvdrjVEbzUwKmDSoRd/G
gQ3PvhAxcFvhNLGC1TBcm9grOKZQDNKyS6QUQsudExIbMM6GVpqWnHgmUfUQUKl/ggmc4AdPPTD7
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
jNpZmW66PtQkWHfablJHZ3Ydy8PJMtZBe17yq6co6MVTzdRM+IWR5Xk+JlzV3CuzR8/nEMVpMUVe
nF5hPs/y74vf1eJniV9lVd3dlzMYbQnnxQx/bK36Tct4TM+UIbgww2L1lAbB0deHJOVCp2xN39Cq
COvQEbeuwUly/qv5nri0HDTFkww/aK+U/DNkeGx1xKCMZ2V0o1IJbhVDGQO3TjWh0es1BbKM3RjD
9v4NGKeaCBUIgbwLKVdsNbe7rtqFMBhqq1krdmEy8NISD3dVhX8yPcQV5YYshWTxnuDEt/524N7s
mce6uSmQpA8/CXZp7Gf6AA0pHQz/A+3LqLSzUWnno9IuRqVNR6Vdjkq7GpV2/QkasjdQSwMEFAAC
AAgAthHuQAHQ4a8JCQAARiUAAH0AHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3Rz
L3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJj
ZV9hdHRyaWJ1dGVfb3JkZXItcHJldHR5LWRpZmYuaHRtbFVUCQAD19UAUL/UAFB1eAsAAQToAwAA
BOgDAADVWmtv2zgW/Z5fQTRoAwwq2Y7tNLHTLNrEmV2g0xZI53NASZTFRhI1JJXE2d3/vpcvWZIl
x4OxB9gpprbF17mvcy6FXiYyS6+OLhOCI/gQcpWSq6NZSvOH92j2SAWVJEL/PkLwnyTP0otIyDiW
lOUzlLOczPVQwHhEuBcwKVk2Q6PiGUXwnUTzo/8eme3sJiFLGZ+h4+H4Qo/5tzQlNzSO7XiAw4cl
Z2UeeW5qfK7+1A8yJwiW0ggdR1FkxmKWSy/GGU1XM5SxnIkChxZghvmSAuQRydDQPCoYGKft4CQF
ix6JBpSMWkjH43HH/gLnwhOE07g2KOgL0WfUD/VSEssZGvpT9zyiokgxbCJxkBIvJGlqBp5oJBPY
YDh8azHiKKL5slpt8NnwqG/NCFnINE8AmKymJ+yR8JZV0+l03udwQowrfBWXL3CWsIvjlGEwhdNl
IpvRU7OuwQWY5tVRDNxPJZg5fMVsa6Wn92146ikB6zwdR5VuTxwXa2R3JFTx600cvbiZNu2UsXnr
/A5JNSyezQmL5wJCDPuDaeQ98tVH28JeeIJGJFipv5GG+jll4cN3zKUPps5iyoX0woSmUa9j1XF3
sP79ts04ySC07185z57h3E9zSB/iBWpKI+2mLusgWyQNcerhlC6hPiTrMIsTle3/xHmUEucOu49y
ofqdEBPQdT6HJRcqNAp2uwpxANEpXcTgzCpxTAFpeNtQNPJ8Mx2WnKzmrcT0p6/Fy7gY+ZK96mY/
5ixrOdtypDpDef1rmQWEQzaRenaZpw74JpXarL24aJCgK5cuKnSVPJlMWrW3Gf2KY9RGU1MCpgwq
0rd5YNOzK0UM3EY6jS1h1QzXJnYSjhGKXrdsIymF0PrOEYlNGGdDo0wLTjxTqHoIXKl/ggmc4AdP
PTD70gwvSSMoM3Ra+TpIsXKgmhgCKwAGiKr9htomrwNyPrnopd2YxOvaVxkFO1bqWCvkjqVRHDWX
QpxF//QLcjHfJunVTpZg6jhsQfSrdRRtbIAikvavIBevohn8gu7KomBcgtBym8Tg1CwjuRTolwGc
h0uZMONvI8aql4GEl5CioYuUXqDn9Mh/NUeBwZASerJjsjOX04ppcJpeOwSds0+NjGX42Wsoe9cx
4OOte1YFXFXuxpbt9T4riFFH74kED1R6kqvqMlYbkMg/FfMa5Ik18FhILEvxuQxAqivZ81WldMKB
JQGLVnrMtj2OwSZOUo8lY2mAeXMDhy1gulrXzzP24h5WFDU2JW07KvXV9Qzqe39z2McfW5u6dYbE
9NkylLPBx3kI2WY7L2fqsGmnj3WDYgpxU+KfKLAFbyWjPQqhF4/mEXkGGtti8VolaxC6zLV01dC+
c8tzuYJpS7pTt+A8CMSrQM/WQEdG8J1CmV8arP1eyZv9WQGu2rbG0TTmODMIWz1ys8eoVdZ1Dxdv
+mYFjSh7so0ASaGrhLDuoFpnF7frrLPp3jOoHdEcq3rMaLN3bnbOdg/jvs3U7u0XIsfE5phPjkrc
XWhYH/3hVLR1aTn74ChvE+aW2qldh0SGTaNfZ+WccXg87+Ema7/qz0TX4dhWnSn3YeeUGY5ddWlZ
zsGcN+g/6M38qJLjmoi3V6cYWnQWe3JVkM6t3ph1CUk1I1ZNJlZNZo8AHWdECNdV9Lqoy6O1xL7T
zLyLzoGmQLfzSFkprqsn0KS+kPy6poRdIu76ibam1NUECtOLU1X5Ix1IS9j1ZzaZLA+M3d1qJ1Q2
utDIEKnSuiEEtrfr6ezqAhuUUBh5nTqciEf0cRaz0PqSlVKVfL2CgrTUGmGHIB1iwALSNHKG1FVS
7wKNyo+EmJMGVmKXgF/ZIBmSMBaY2TaTBHqkWNGq/M3mBoANOHuCwEMLkGBYazsfKn3V6VR2TKa2
S6/6DfvbFbjqVtX/w6Y8utc27R4+oxHcomyEBCkjdm+uV/fkEZDe10h4zbpvG63I26Zu1q90mr68
0ciytMoA4W7vHaoD3RwT+BGCCy4mLe2p77shh97IH5vGa/32xDUOHUE+vrm5qVHC8fntze30tpPD
oEXtLpfFYtGFekayQq6a2WWbodZMH74CUksxdtOL8+G55bYwJZjf6xbCXSjUE33vStSUy4F9dXcp
Qk4LSBoefnyTSFmI2WCAf+Jnf8nYEhYVVKja0M8GKQ3E4OcfJeGrwcif+Kf2h5/R3P8p3lzBvnq/
K9TcOWQR8VQMyRPM+wekkgrmx8m4tgRA2deKqjWEDyg4wI2F+Hji7hMn6t3j6Gogs2IAGQBu8iQB
5oXEK1MpBsqCgXoiBk/jcADMUxAeD0QZZFSoIwcwk5U8JJ6kAHo5UC809Yp7N3KPpeQUeIDcG62E
fqfEqS9B8QDiqIms9mbpZHNE3/j7nqs3AQhyrjWuLkKo+frITgLiyt0s/fJg3XScXL3LA1HMwZsw
6aoxFYikPnHUOQf0/OTq+tvXu29fFui3xd3dp18XM70OnY5n6Pc8xKVipx8gcAvOVcp9C36C4ej4
XSrn38HNSqPzkLxbyjlKsIDqRBmBS1aETowE/ErkIgffEvF59RW44cQigciD/e6j7otaIp9c2WE7
9097WiRwO3rd2a86erSDj0/7fXxDTL5DwrTN/2u4TnfANe7HtV8w4x3ATPrB/EioutAKiR5BbSKg
PCtuwKuIxVoYaQ70jiXc4VXTJRBEF+7moOoC1IdE/n4Nmuxg0PTv8u50BzBnfxeYsx3AfNgdzEE5
wLxfep1w1/O2mv5hB9O38LK2//unuzv0LU9XaIRqLKqIcgWcxco0gg5Nhgn6U2Hb1YTzfZkA3Eo5
6AHcNzTZauABgWbqILgv9o17kUeHRz0a7gH27ad/fUExgZRo+xr6Ye+FcIZgNnTr95KX0ENun0qe
C/MKQ01GSyZRjFNBDmP+aF9Ri1gGJ39h7KEs2qYtOcHqAg6CkSOQB/IHtG/qOlVzxGHMOz2Eec3E
7DVu0yOHsXG8LxvhRpt38MVOBiqfHMa8yZ7N2zF6DWccxrLp/hgTLn1i98DVPHEYy872Z5koWC7I
zqY1XHEY4z7s27gdM7Lpi//Pm9ouzc35YVrT1od+pXE5MP986n9QSwMEFAACAAgAthHuQEsKj48D
AQAABQMAAHkAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJm
L3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9hdHRyaWJ1dGVf
b3JkZXItZXhwZWN0ZWQudHh0VVQJAAPX1QBQ19UAUHV4CwABBOgDAAAE6AMAAI2SwUrEQAyG732K
vICiV28LriAsuFDvEjvpdnCazGZSsT69U0php6vYOQXyz/cn/8wjpUZ9NC9cVa+dT2CUDD4xeIe5
BOvQAEMAaXNN4NmbRxMFG2PuoxIoRaVEbORuq3yOu7qGFw4j3MORtBXtkRvas+kIqZMhOOjRmg5m
qZLzSo3VhmqL4J3gbtXfsyu7T7vnA7SUSeurLHzzTSqAKZHam+lAD/9I6StmE3IwieEkBi2GRPMM
Tnr0fBD5GOKacFLKWemUFUNOhs4DBjC59LumlNv8ybg2nlGNMP+S2SbOZF1QNs5SeC5vcx7yj9k8
xoXhAkhRONFmQuFYMjauUVpW1Q9QSwMEFAACAAgAuBHuQN5Qx477AQAANBgAAHcAHAB0bXAvbGF5
b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3Vy
Y2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9pbml0aWF0b3JfdHlwZXMtd2RpZmYuaHRtbFVU
CQAD3NUAUMTUAFB1eAsAAQToAwAABOgDAADtmMFu2zAMhu9+CgIF0stgYx22Q+JkCLagPbRLsXTA
bgFj07YaWdIkplkw7N1LJwhQ5JAZWNGTfDFlSv8nmgQPzBvCcpIH3mmapCVp+AMrLNa1txtTDuGi
QhzBX0ixLE9dWHWuPDsczrODlPNiB4cGCo0hjOXg5Mv822J+O4O72WIxvZ4NQStD8PHTEH6YAjd1
w/CwczTz3vohzFePVDBcDDSP7slX1rdoChrUPIIGAxgLLXFjS7jc0mqt+Jp4ZtgrCpdJREVUREVU
REVUREVUREVUREVUREVUREVUREXUf6LyrBtvTZKvFAqvHCtrkuShUQGYAsMTalWimMANMqDWYCux
CZRRrJCtB5abBEBP4Ml5CmSYyjSR5+XorCQ9uZ8uFpBtPxSZ3MPJTTPZbje+oJBNG2pT5goETb+d
BEQlsJUAnl7AuqihCAGSc1orjWa9VC3WlDpT95BUbd1H0onisvZEJm247aNbeWypt/SOtLbbnto/
725vmN13+rXpUnWWQa3j3fKQ4vQx9FA/7D2vWpMhL9WxPH5KXeM+d/UwlhwNsHUjVY7N+9fI6RlW
ZQ2/GWxfVUfam8Ku3hL2Ov/RSGFKL+j2/VtNetz62I5Omkc3d79BL3IB9k0vFYH9chkYeRPSwwvG
cAXvTn2t2BKaOM1G6yMiz7rp/jNQSwMECgAAAAAAoBDuQAAAAAAAAAAAAAAAACkAHAB0bXAvbGF5
b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL2NhY2hlL1VUCQADy9MAUO3VAFB1eAsAAQToAwAA
BOgDAABQSwMEFAACAAgAoBDuQP7BpR1AAQAAWgIAAEUAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0
cy9odHRwL3Rlc3RzL2NhY2hlL3Bvc3QtcmVkaXJlY3QtZ2V0LWFjdHVhbC50eHRVVAkAA8vTAFDL
0wBQdXgLAAEE6AMAAAToAwAAjdFdS8MwFAbg+/2Kw7yYwuiyj34wEGE6UFEGOhSvJE1O17iYjCRd
W4f/3cxZh8JgVyGH5z05SSSt0QB1cEq65Ays+EBICKkiQloAD6g4mieB5QEij4hPpGZL2FzP7+8+
D9JfrHkNm8ns6mVnk27yY+NkVIXJ6Ns2eo6Vg82J88v/1nEcVf244QBbA6ZQe1YK7vKtG0P7xnUs
rLS1IpUImfZ3AlswhtZmhQSDayoFp05oBU4Do4VFwDUqZ7f7TBgEWyuWG610YWUdwLOv5LqQXHUc
MENtDiIDrRB0Bi7X+wbW6ZVvk2P70LT9MGzmHUbEzys15QE8IkLu3MqOe720WNigxHQpXKDNoufP
Ll99MWALcSH4eTyIo0EA7WPfj1TkD52+p8g58ln6hsyHZpPb6eV8l/IzdQdNcOj/tB+S1hdQSwME
CgACAAAAoBDuQJzpp3UGAAAABgAAAEcAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rl
c3RzL2NhY2hlL3Bvc3QtcmVkaXJlY3QtZ2V0LWV4cGVjdGVkLnR4dFVUCQADy9MAUMvTAFB1eAsA
AQToAwAABOgDAABQQVNTCgpQSwMEFAACAAgAoBDuQFc1QluZAQAAFwMAAEMAHAB0bXAvbGF5b3V0
LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL2NhY2hlL3Bvc3QtcmVkaXJlY3QtZ2V0LWRpZmYudHh0
VVQJAAPL0wBQy9MAUHV4CwABBOgDAAAE6AMAAKWSUW/TMBDH3/MpTuVhoMSJ061NNAlRCpMAMRXR
CsQTcuxLY+bFVXxeU6p9dxxKN4FUaRJPts+/+/t/52OMQUa3m8yInfXECB2xDp035LKGaJMNEZdJ
IRvMNvb3rdIdSmJrJIb9JmxRpdQTRHEc/5eakOSFOWjNZsDyZAxxnuQcZrOIfXq9XEYsioM4diAI
nvOEvwCnfyKUnPdTzqMY4DO2CrsvGrenmCcJzI2VN7B/t7r+eH+afaCt2sF+vnj77QCXSfkHLsqL
flJeHOAjvsJQ4v4ZheVf8aKY9nnxwAMMEHS+feS2WlEzgJcwek9nDkInna4MQm1DXeC8lOhc7Q10
eCeMVoK0bYEsSOEdAt5hS24416H54HatbDrbWu/MLoWvIdJYb1R7RiA74RrQNdgWwdZAjX0UcGQ3
QabB0Um7+WRyNHw+5cGwsUKlsESEYSDcZZZVfu3SLVY3mlLbrbPw+PZ7CKZyrV9p9bIYF9NxCqMn
t5D3/G/26rZCpVAtqh9h1GC/mH+4erM6pAVXyfiYeR5+Np/w6BdQSwMEFAACAAgAoBDuQLnHjybb
HwAAqCsAAEUAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL2NhY2hlL3Bvc3Qt
cmVkaXJlY3QtZ2V0LWFjdHVhbC5wbmdVVAkAA8vTAFDL0wBQdXgLAAEE6AMAAAToAwAA7XppVJNX
u3astbai0FbFCiJtBVEQsDIJCLFF5Q0IFBmCIERFxDDKlIAhYFVKCyoaBWQIODAIMUSGEMIUJ0BA
QRMiQxhkCMiQMAdISHLutO951/nW+n6c32c1CxYryX6evfc9XMN++PNXR9tNG9Q2IBCITah/HTmB
QKz9HoH4zOPLz+CTrVu26sCfvZFHPSJ9L/j5BkZEBSNMjM6c9d1vbmRkfNDIz/cno7PnTA4Yn/fz
NTUyN/b1O2AU8YM6E4H4HoE68rNrdLagj3DLlU82m1mru/Hq9z/uMTv6q/NhPun03rOmJUv2J6ob
2febS7L6uNRXU5cMHRr0DVNb0oSeD7/+1vedll7AL1+jD3sfaTDpVz1e+8P977+fOHIr+erGjS9j
5AeneaGhS+M5O0ebjs6vrEaNZnPaY3IG5rM5GEJmqU1mwVcIRJiFcEIZgYh9/6UHAvH8832Iy6c/
U0Uc3r9GCfH9vcvrEF8ff/YZ4svdp9cgPt/8FIG48tV/hm1d654op458enrmJe5ik67F4LXNJK0M
k8APg4maPnEVbNmpt2/fdvoQgmk+dZcWJ6LGyPhjonAzF2JesG6PaG/9EdOrgnGbEKWpXxqUpm7Z
KHdz+1Akclkx75xEHDGYsO2808fydmtLFClsuHFrTvONGzdQpOs7zA9IZl8oGfZi64rzE9y9+rGh
P9Kvl878q5seuoHqQ8R7cTEbLZ8WY9fp6+vPj7U7kUZS0T5YLHavuSc/wdKWFScNl+w//exyjwT3
cpPZm2zzCKl4UcV6+eMPiTu+7XneZ794u7LoAq+Qa78wzvFPN9St5IVE67ldOjKly8OnB3eX8RvV
Q3dY4qbS9L3YxsEBAdWrc601OIG4WSf3nI6xiQk5eujPzlMRDi4uHNxCsdSt2LjEffoT2dQyWG24
xLv5P2ssKdZgG1O/ZVlELst1XHv6tU1D+0+h0ej+RDtJxKYdB2fI+P7uQFod7vB6vCHXtqfgYXCu
u+H7ia9K7UPSDT96PxQ5M+jWNYPUis3uUVkVhUi0Twx/iSWXXlWxPogiOVmvjFRwHAn8VHSZDTbz
pprJBHMsZ/IDlecodFtUDWA9wi+8XTa/5PI4cvGXP3EMN+9HouOzN712Wj4opsetn3xrNvAkco8D
54a62ReLOoX0XpElXpgtmYPF1cllEkvxsSR9RwF6b/e/84ld/Jbr9LhstdImKNCkx1zvQdKcM3qC
jevQmXDf8ITt6MGl6u50JIjn34bGzUMI31QSRFMrNQNSIeyzOS5WImDY3lDjFkRu5VIm9Du65pSr
tzMI1y0HHR5Q0YYG73FvOsc+NbvEVUhbH6UV9irHurvKL1Muvnj3wKZ8vt1yunZo827HbA80Gv98
3ba7ZiZw9zMvf9f3eHr61R/fLC4uqhyaOTz7PlEzrsop1xomGxhpvkOpcC/zH32TYfP7xr0Lggz/
nO2mQR4pO62E1ZMlc9ahPRXjXgNi93QD75vW4k8NydvSVah5X/K9M6HGv7Hd8ROWnSddGpC3YmTh
KKWlfsL0/Z+vinoj2mVSyQBxqY/P1RuPnaUnMbw8PUuYo5lEUXchzI2UjjtRpt5oOFOOUozHtXna
ZENNQjPXvz2HTL9FvEt8f3SbHzJudbaJmbo397mxQ/xSzYBG2KtvCNN1Sx1FLkrEPfExs3N62Afs
J3XzbZZNOwlBjJC+uLk7uXc3UmN/GitpPMvkOPe32/H1cx9NJJc7cA1CdRmfaT8qCR+rpFs32FP2
W1JLcudwSTV3qYlaqPp58nQe9tJ4fvp5pGOWqT4+PEJnD4qkbZ92fbtRgRcjBCnpbg8npFpW69o/
Xh3p0alrqbKWLnDmrmyxnHj8CKo2O1g+asZiTpW1lgkwq0PbGvoCXW7ruRVRd+n7/MLHRy5KStmW
9plmhXxOuuRxEfF6xouH+vH/UqUQyRUWSm4tXnGLpG+51hhmfhc59xDfNjBG1Q2lRkfywymerYfc
0YHP7Ob7r3KMBf11kjK/1gKnXJ+4SLl0yYl0bm6kebKThqmOHK8KG94ZM3J76p29YV3kXLMOgI6i
JXv9c4k5ceJxO2rq1DiPETprNf9srUpQb1XY7FBDkwa+10bFypXdTqHVi2WS6dCAAEVysYVkd2Ik
03uirwZP0jI6/+a1ftvP6zUqYlfmRkdHY+ZHowQ9dO7QPq/KJxcbjiarbq0MrVv8oCn9ZJtlGpx5
wK8FCqH47xTr7cTmW991wqx0tdLqAQUB0QicAgdspqmZWYqGpSlB5TX1+MrGtgyjMT3MSgs7376z
xJvAcTDbKkLHxKCUmOVp5P1nXlyDVQFWlaNpPnwXzkRH+mvyzbk4d93QlesV1QcDabiVjFTdXw9N
6OKFuI7CWFzASaR2Uk0Hmz23Ot+uomm9OpyCdORE8iqD1++M/nhlnZLuJn38lTIjmMwSOsWaKB4R
FTvY71n6O78tFOehXNl47vm3manBTvf2n1meGaSgaY6cBU3ZoGYSpr/gR3TxCS9bT+nNkMW4N96/
Yfuz05wwwvKHjT+p3q2ljuAKHCbzuCcfRzq5VV9qVg+7MZ/qldS32uzCf0th76do3ejJDWe6BdPd
qQGhz9QsIj9BN2ZlZbWq+OW2bo3LRsbLziRqpAVrxq/Otqbpt1YWHs8IH7lt6x5APdde4JAVPll/
cfDF+0e26VPt9cSMIhqNZl3da2BiYuLmOZtRUFBAEDL9Ox47m6jqMHLWrlc+VYMLbg6MwI/efMx9
6FYdMouLkbc25RAWp+Plkvjll5psY6KQOVZSI6weSk933c3bk/McIiYDmGir7KR6oWOZdoaGoQ/E
T4L7qulcLwo7YF+apQZXcrLW23oX1aCth+Iddz5/w5Ylagu5RmNxby5ZrdOpdM7AG98XJRfT5JkF
4xwnpFVIb5WuTSv5/pAREMg9HsVU/4Fd/uMwtlJiSxO3GApLKhiQBWcW2Kfty7CImtBn9IZPUhkF
2EtTpU2VWG+3cbcHdsEa2EXLai70lFFlrGOE5mv+0ukbvvseL1SeePJ30PNrG8JbfVpjicKcQ9yB
2vDEk9rYDtndVmoAhR7gRlj7YY7falg78+L51fVI+eo8F1Pv15rWRrb055Etonqqwnwr+7q6PLow
/Z4rOb3mvDI/e5E2fUiacD5wu3e+AUQYm2kAuPrm3k9mfZEcXijL2zcsfJIJSHSXZYr3F/7R41ph
x2NKDbszCIvbfKJ/kPg1Lc8Oj7Xn5greQLUfA0Qti1d3K2OJW5MZgRl090T3otsK1CIgW/3zuA0n
CfSI9qCotEBWRGCRk35yMfeHdDx2nJ0PQN1dGcyLGSOjl0dYoqzHaT507Ff08RFdxhlhVXEgFrvd
OjY6ImL+hln/8nhhbskpZvizy2sCPzxZSWYtJw9xKh+9FmhiKX9jklEl19xBr/cqHYmg4OkeWRvY
E/sqFgUF3PXRgtCimpU7heJe7gnGUJ6zxCVEMlrqJtjkkcGMGFPecXD/Ej9BEtxM0t517PrrSiAu
k+CeiqCaBw8GX212etLvOQuBIyxy0UoDj/dMaZoEuA5ew8jFnVxbdJG92zGr6JmPU8jOD09OuviG
kbRgS15nLCX36dDdgLf6MW7CNt1dxaUXUsW/2j8rjlwcfJloeKrqIjRhghWwwkDV8lAyJnowIYgA
2iWhzTU+RswqrOKeDIy6wEX77sZb6C6W19ZmDG3HRoV98BH0GgVef+8m7B0SeVGd9NMDo14zvS0A
wadrpuvjpOKtuhkEau9XxaVouuEDXZ3OA+MNwWkpFLd0b1z3mwwjw7oF9lSTUfuheRpUMq16opg0
uKUycF+4xLZnQqOOuIYCUaRYX/PS8A0pT7XgfIg60XVyXBjC4TlQnO+LGB2Kto+raGSM9+Y5Sz3p
rvTYy8EnflKtqKg4J/82Wra60j3wvCei3WrsbRZ6TumKFmpn3PIgsO00YyCOubZqKEnPNKjraQC3
2MXJiv6uYSw3Pu7d/Z8N65fP2tjYhP1oEAqYkLRVj6R1svTs0cwC7xoc+YCfna/v8FBDcor56L0p
pQ3dX02z5HGZBZ2YeCkwc2dX18GoiQ7YU3leqB665DhphIvGUNn5U9l28acLbFN2cgqdMPQALvDD
+1LfpnZryZPYZe2X493lY1Pd5QCaWdJvmEDzhViLuNVl84hR2Ezt4gevBBaRVGOEP0JVpZ7L4xP3
GHiiiElNPkU5yOXnKsrmI7fUQ6oe2PltSAd8SQFNcW2z47J0On6gqyua64bWRrEZoQN2Cfr7WEOq
4f76koLXxW4UtrH041UV2B0z3K+5Y4vhqB2l1EMYOSIywie1jj0WDwW50Fvbn7j+NuSMZkXwXHOH
1rnfI/d0Ov0ckn7+zT1nUETSxU5/pLua58rn+pj62oujtprEu+ST/f+GHz+2vbCMFMYdYskmWcqg
hItcCv+WAjVHZs2D9cNDUnuM2UNh/P731P4U5vQ+ZoSnNZH5F+rsOVmRYOtXakq94+7/oIXnIOQq
aQdM/oU8f/O4nZqJNV/Xjc71pBeffWYnYxg7QOaGIAl4YS9Tu1C6OoacBl5/9efmCPUMY+wJIlF6
ec1aOxm5Dz4iLHx6DyEZWn8kJlCbkCQpP/38CuQDN9GBBVWXYiXyQDE4xn3gQMzHsjmwbqCEzjna
l601dzWsZp6tjbA3Bu4Ui8W+N83P91VHvfx9U81oZmCLofOBbEth1aPAzhKMmJ2etu/kgXOvb2UY
+Rdge969u9iyt7CDy72x00qczlr1w50XtvV+w/WpCFKktMgmvxRdPOYVWpeqhRKpi+1SUS3n/OtF
PYGJGjgPuUyaC/ofRIVxVlPvC9U0zA0g8FuWFRVB/1Zmt3ntvXsN/luZIctPrEuy9Za2BbsQW3QY
99MWXXodY9Izs7ImJycHQPKRAlOD0p1+FWbw61o0vFO173olee6uyyOTwvKxFriprrnMLYEhITv3
nz7s6+srGgZTonzw4+Uh1b+BrpnSMv1JN/31SH15XupYRbQ4fPp5T5PHYxRzjs2td/QkJ0xQUzFW
S+Po1ljtXIaO08p7z5yjqARFo1Ld6WkxT0KaZAkMZDty7MsjMcCQITWCSqieSDReq2tb1Kmn84JK
lO96WXuOupoaSavZ+uLaCxSQSPHypXjWXIsePsr2CtG5aZ3lgDDbGHdaqLdq+BDffuGrqbZjN3cw
QV38JWpdnPq4xD8Xjmpsm/q2JoLd5YD0WItYXu35jfXj54jlea3/j/f8X1rUf4b9NUzApFgiZlbu
FIyXCD8LBseU6N23Tja1/LnS/eA8SruGS2Obzuk1Fb8xJtr3bm5y/OvCeY19lxHguUEFLWeF1jOx
nIKQvmqNqA7nQjLOc6yNzOtpM+k8dUerOZjR5z4sMyW72O8SjI8Icd5dCZ/vuyzqqY2Zz0Pd8fT0
NAAGybEi1INRBi29zMmVLeDjl/CW5eoEAR1dOSusmQazeke+nCKvMqIpb4E190wCe8uWh1OaUjQH
wDVpoRrBiIJ8Ig/cANw1MzPTQR2ImRshxy+Sn/mjY29+6YEQLI5mhe5Ghb/+IfGuZg/IBCAv+Vi8
TMeB85NvY3bUh5MalrjjsqXQGl3paCBAAUvMpX2geuEbt/tvmW5vk0tYconCIObn82vBWc293nVH
a0WIZ3kdzAx2RWmlWohmmzTlIgbLmxnOh/tfWhJK6TRi8OtbP7hZuPSXJhtUXxAvjNcRlmRZrJWs
uqV+y6Xsud/MTE1lE2iWGHbjdHDw2sny83zVvFU6/+jlvmuGzLUVnWA5SFp7VTajSG/Ilvj+2hj/
7LBG2L91aH8tyI0P/VO+AHXgL8nhLXtb0w0NkQqvkqKJrC8tDWu8vr1BosTME49ZwQI15bOaCldD
ZfRfWuGnxy+8t1WxWvhVn7y3MnKcXd5mEbgyx1fg5o1db3sUtgmmydlafiw1CVGTfXndOx832efP
9Gi10MvvbTWtwkdea6F8wBv2ZHnXRoeJelwczfNXP5U27bS8+PGZFgqI+d0HZfR4F1I+j1ya6o4A
M61ivXyapJUbJ8bCrDjxeKEm1AyKtM+z4rFIdk7HX37wvghNL//y6bAiZ9xHtil5e5K3tPYv18AK
8+3TeyOKr5U7ZJkCG8LmS7xr0jSpNNoAhOAvpcTDLTBPNI2+zcJ3euNNjI1jh9UH9gh9Ftu2TMLV
3t7eMDdRdDKVY/dFDvkUGp0u+fm0tmDfZ1MH66/C/l4mqsSLuv3T9b3SiGquT0BuAQcEBwS0zL2y
lkzdEUx3lQ7DJIofkON2bz90dkL+VH3UKSeacmLnmsEvL1JDg/H+aurqS+D1p7T5tnqbat/JoJCS
l7bVnxhVF8bW/1WN6fEr6bQ6UQ8YiX4ahrXT6lIt6Db5Sq68G97qlVSdBYcSMdYmHdaU3yO+CgeN
f96wGz9A7HxysvxsQ1KC0jb3ANHMS5VcsEOBcCeoPkYR0rs6srsC6wIvEepEiZ3GZEcRB8KBXP54
NVUPHYLxz7k0UQQ9Ag0S+end3KPUL6xBPqVj4lYWQf4A3iYtMUzQK14np3avJn19v25icpK1VDet
ETvzfLOO4+qgSvwyIPImNeNPV5QM/kUagTca0HmgexTMttnp0CwFIw0QkWhEQaACvoHrIrvOJLoF
iJ6Ut6kdvPgRVq/gINPFMYiPAFYHZI/mZ9tpSMSdLB8MJn6AuASJC8L4Q7PMf3qUogxzwbW6SE/s
R0XpP1+vuQoyeuN3++///sMLYclVudXmw4JDRpQvVxb2OHAgFJUlJcI0r5CvJjrlXECzri8ebMg9
vebpZF/08A0Qqm8gHooTGC3UF5vUKiiEzwVDlh4IAL6rKjL8H0oGVadFU90AbNFNNzUSN24PB2Jr
rJwe1sMdcNpw2XR+ZDX2dknXyl+4CkXzD7/8ddj7QZFX5OoMrtLHd9fbt2/RPjF+7TlWigo3G4gt
t0lUthQnCRYAzFVLSMHT2ZOVbvk+b7PNIwAemYbmg9c24y6kJ9mjg8a2XNzm6PLgKZS+1dAfu8Dn
Ggd0PF6npHp3h767fajC2Cj7wWxALSBnDFirc9A6O6A8nawWXSlj/v3xcinYBQZ+up8wVWpbqcPQ
QHjedlcc6uraBnYAW7irYy9cuGca3KM4zKFhkETxgo2yeZ5Vp6CThpHU9BWj7uwmThMG9Pr7zTuD
KXZ1GzJ6BS6nqs9aFl6ueWlMjmSjNGE+mL3AKdf67Ks/dP0/hEtOgZcH2/xLRESEaPjh0eTflTUy
g+UzicjsQzFzQE/gLRZBf8qhgx7HgdmgoGmw8IVkw/qu3l4gw1FdAeJX74YmPLSuZCApADvyzkal
D+z2YBMaQ6RbdVIjG4bIAs1O0LKKtlANTbyrdyrfh8vmaRhnD7HpdHsBw/I4B2AgNzgIqME+3cCt
7Uk+A9b682wKuCUJvdMnK1jOY0m9zshhxsabGl7SVWMH+QRNNsFgSYObtcN5a+5XB6RM32I8dFdf
GTVjrQDAMOS/uJUsN6qHbsGphqIZgH2NjY1zUkhy3aVF8QLHyb7SpsVt/CGPeoJWvFQp0qWjwpjs
sufC7E/lrWvdnyvkXrx0EkOLc/QiSLi0uCggMb7ELLS/F4IwMdaeZUb7WqZb1KGM0A6QkiShcfNZ
9USJaII7WYiUYs+MGcbNJj+/un4a1r/2i433DoadPSNfGOckKmv0UL0Y6zVjn3LTCo9nzM21GuYS
hMzp2nnH5gcFBQWh8RLe4uIimHCPsnOoVLJ2f8wYGbR+AWFJCOjsRNJSuEWSloZF5HKjWb1zrRRI
WHEcBnZPwzz8HDi5Qkey54Uz7DwU3GdgpQ2/AfOlXqz9aH66jxqwG5CudxlZq1nxICJ2eQYwZQkK
vE10biBs74BP1cVBoEIe0JSSYe3FyQ/UVAPP7xxFPRRavQWvH2q0JmoSJ5cuYXDdft2K9dql7p12
ew7k4mgxnvdL0waMeG/JiZiY1m0vAV5ht+I7uasjl9cqf2d0/nj+GtV0PfxT7c3pBKYaxblfoLsO
yzFO3TLTE0gTQJ0N1BPjReW5bpfchIwiYb1EqFBpqxdWBC4yatGVoS86IXIXB1+AXUpbmn+pgjwE
AbHHpWUjw4ZePUqxvgTWqq8GzxJU8sLt03nKCPPia7QX79OB7UfuOCme2NxxsmaC8z0kXeB0y64q
W1wA6QAlMT/6drKHHlgZ0ZZtjllpQacZeFfjBD1ZIdVFYu0N1qszL71CmHyQYj5gx8+MQaSJEAIz
E5O3mSaTFRxHSll5Hm/z7uMeNTgB7FqyMO5yIG1IIF0aQKJIzXd0gBvjQAgMN94gjNy2LbOBRWIq
g7qhHFolckP5nCFIm8AVHElL5dDMM2i7bYY+sb1hTVYL72ywmQZelU/evYDm3MBT2BRcuPvDKfRR
NwOFYFoS8BgPHvwgKYUJNIkLztCh7tSJTtqATm7siaIDzDrdLWcakramnwpvFjAGcui94Dxf5Os5
nBKe/fTfB8F7stMsnw2Fp6qY4ofCDdH2JrpYufHWGrD+8QuPNIN7KrAtd/de/WJT8ULx0Ivzampq
JVVDSUE1y59EfdYZ4E99It8fZSYqsrU0EM8Sr0jFi1kAgIptGJw6CDwNYz50KSP4ARs8mjTjV8v8
WssEe10KdsSM3E6IyMzMBKrKcX50bGvuqogX6s+DmgvkWL6qjppsA9TAyObSu1O68aVGUMxuuFEc
Ab4H0buv+2RtXdhw45B0fqwdOfX0ZZkAWNMx5xBzxvvjWYVetDesc6337u14kaBkm7LTm8+GG2SZ
BttxFqDy1a1joynbHDgLJHsD5lI/gWNM5KeiLSI/7QcFbuwQypKKJktqSuz8ihcCoJF22d6Mhe83
6AT1VBRxL6fWfNfC0r/7n7DpUuvcKc4oSWFR17Pf1kIHepWVr7o1JLztBVyHjLRUJqdUjomYnx4m
7wQQnlN8dgm27WkVD8J1T1A72PSR17dNKtceZmZ+5g79u2HAJjQoaKqXGVFZd/r5FRD7vZEcxbJw
gyNQnEHdZfm1t9VAjhPW77h4uNK76tfSXjKzz6C/re9kWZ1fa9ovw6CqWTMvlNar7FxdnW/fZlYP
XgcqkpWfn3+upraourpaN10CVoDQqs8I6q2afZC4U/FwYDH5/E7iwnuj9kNGDhwFGKFPhTXsLcwm
FYw722pAVYS6FR1P9XG4t38QoIsWGZf/J6XiO7s2Q83TKGbL+iyvx3bpgXS11Ir4zKStiSRdX0Na
OzQMmUfp5RWmOd1nhPRderZmPcjUkjyjLLNQHxDhMTqt7dPd5WO/b1IvE4BOTt1XaCdA3KIUXDYB
GgWb5sfbtGmTTk702cq/zhlZleWsR3cEtf/zzBBF2iKrw+dTQKBZJWiC3owATbytxKtLPomRV7e0
9YYU0tc9eSHpJmnb28m6VyG065V3eNT6Q4ErEHUFhyqn1Ysn0lmr/Bcy4IutleUBq7Mp8TsscUHe
3n2DiZoyUHCurAvnOQUOiqdtcKPfN24vAxYE4G+DFL6591PC5nA9l3w0NrM/TiIw671oM+vmuckj
VdWmeYW/dt9e9MrpiLHHbL4n9Zi2M+fuOJfSCSLbHjdaX5xnbbsj7EgIreeSZMsbIJdfs6+kpaXZ
sfbrI+VT5e0GBlFhP1Eq1h4uSVoTCC2NIp0bYETLVsbWb1JbGEo2NDU2vq6JjFMcPZoDQ9+zJoqL
3SjCquGbNzUs4yAU2Mw4cE462RdfKB4QABlSSqp1USRYuvvkz6QOLrcvqtM7F+zABJcSP3NVc3Xc
Kb5F2RsEwFIfHuPrO9xR5FKeoqcr2OdRHxsDvsUQYy3+9EgL5V5yKqNgPIcgNAdvN7XteAMPReJz
z8wiEEoGiv8FgPLZqm4a5EEP4BYV5nhm2/+Ps9AGAQacWMJBj1pyAVbBXMcz2F1dVdGzQ4rTLRBM
3TJw2W3wK+ih4/tj/ElaUsmSE2fhj10398gN7POTVbPjZSuPjt0QQ6ayC8a1Aere/bzeIftg6UVj
BgBgS/ECZK4AKwZHsgwI3ubYtttKonYqLDWJb/A7uIvdKHZHh+tBauxlbb7u9iBFNYsU6RHkFpwd
bkrJNfJ3tLdv9QqtiwIT7qpGCDvTulUzeFLgcvGtSecWuVWCsUNWVlY5BgPtFQXOFZA3fHEe/Fo3
sD9rtlEdzJgGMi52cPISl7fme3TDZbc5yz/+3KxzXu5avOyke/ze/gf19bJ7vjdPQms8PfNS8Vw1
SK54Sg4WZHF6QP6nTs5BYAJNUIbGDnrSlWwtlKq+Z+TLTWbAd8OgqnxAKAy+g+ZRAKYj2eLGTqvq
mck//waEemgSyOAAMHpakI58Ord803f7PwLjG4SMjSHlMUvCPqXpbqAme07kzMfngBrtoi2hhdjq
/+dcsvuWEb43zBZSxFrIN/TTZLzJNgd8AB9Y/64Odu7X/Gj1ofZRwsff1k9MTLjTfMgF47tSDrEB
+0GvuhqiQ2hJenekhLo7jhZFIPJSdd3ZN+YabtVNPFursi/bxfoZKTx1YyX7Fd+nJC3AlS3D6pYc
s7F5CcBzAo02A2Z/gV/finE78HBBrl84N/4vvV5rquIhG/Bi0pLiIAR1mxRamJqbWzA+0nxniQdQ
CVi37PO44ybyj3W/Hk2smDA7VD9jEdm1bmu0dLETTfMhDv2pA9lns+dAJl7XsDSVNEq3vdzme5ln
lmTY2LXmQiFyUt4dYWNjo6j2PFwBYGJEM0m7u0kf6jl6NMO/DXwZuTdRYyL5p2cC9YZtvlOICk5u
1LMWGSa0G/NDT4awdr5NQXXRH38jW+J3AtvO8VuV4h/NJZ9JV3mahmztLobrDDQtETVXkUuYbz5D
XJOUyz5XQpy2/fqfY79/hv0z7J9h/wz7Z9g/w/7vD5NqFqX1rjlw+FUUAl6oo45HSn45feW/AFBL
AwQUAAIACACgEO5AjaV8io8BAADoAgAARQAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAv
dGVzdHMvY2FjaGUvcG9zdC1yZWRpcmVjdC1nZXQtd2RpZmYuaHRtbFVUCQADy9MAUMvTAFB1eAsA
AQToAwAABOgDAACNkl9P2zAUxd/5FFflgSFViVtoE3WhE92Q2LSpE61Ae5oc+6Yx9ezI16HJKr77
nJWCQKrEk+17f+f4+E9WIpfTjHyrcRpJ1LCFnIv1ytnayAkcF5x/hEeIuJRvW7zoWlm8E2fxzqpy
YU4VNyA0J7oIntOfl4tF4ELxVSt4TjVv0QH38IH12SmQ+ouQMtaMGTsCuEEj0d0q3BxA3iOfaSvW
sL1e/vj+eBB9hq1sYTubf/m1Y9N++sQm6XkzSs//s3t6iY2H7bEPw1vrJBk3g2SPA3QMuNq8YBsl
fdlxE+h99ScElSVSuUYobDgTUC0EEhW1BocPXCvJvbIGvAXBa0LABzSeunWhHAK1RpTOGluTbiO4
C5XS1lqaEw/CcSpBFWANgi3Al/bFgLytgk2JvUNpB6PRPu/ZmIW82nIZwQIRSu8rmsRxXq8o2mC+
Vj6ybhWHvTe/QzESK/VJyYtkmIyHEfTee3+sYa/Qqz85Solynt+jCKL57NvV5+VOFTL1h3vhWXjT
wYg9/bejLO5+5D9QSwMECgACAAAAoBDuQJzpp3UGAAAABgAAAFMAHAB0bXAvbGF5b3V0LXRlc3Qt
cmVzdWx0cy9odHRwL3Rlc3RzL2NhY2hlL3Bvc3Qtd2l0aC1jYWNoZWQtc3VicmVzb3VyY2VzLWV4
cGVjdGVkLnR4dFVUCQADy9MAUMvTAFB1eAsAAQToAwAABOgDAABQQVNTCgpQSwMEFAACAAgAoBDu
QNX2HWKQCAAAGx8AAFcAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL2NhY2hl
L3Bvc3Qtd2l0aC1jYWNoZWQtc3VicmVzb3VyY2VzLXByZXR0eS1kaWZmLmh0bWxVVAkAA8vTAFDL
0wBQdXgLAAEE6AMAAAToAwAA1Vlrb9tGFv3uXzGwkbotTIqyJFuPxEXjB7pFuynWwS72kzEkh+LE
JEedGdpSsv3ve+dFkRQpudgA7jZoRM7jzrnvM8zbVObZ1dHblOAYfoTcZOTqaJ7R4vEMzZ+ooJLE
6MsRgv8kWUsvJhHjWFJWzFHBCrLQUyHjMeFeyKRk+RwNV2sUwzOJF0d/HBlxVkjEMsbn6CQYzfSc
f0czckOTxM6HOHpcclYWseeWJlP1p36QOUGwjMboJI5jM5ewQnoJzmm2maOcFUyscGQB5pgvKUAe
khwFZmjFQDmtBycZaPRENKB02EI6Go065AtcCE8QTpPapKCfiT6jfqiXkUTOUeBP3HhMxSrDIETi
MCNeRLLMTDzTWKYgIAjeWIw4jmmxrHYbfNY96qnpIQuZFikAk9XylD0R3tJqMpks+gxOiDGFr/zy
C5wl7OYkYxhU4XSZyqb31KprMAGmRXUUA/NTCWoGB9S2WnpabsNSzylo52k/qnB75ni1RXZPIuW/
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
QI2lfIqPAQAA6AIAAFEAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL2NhY2hl
L3Bvc3Qtd2l0aC1jYWNoZWQtc3VicmVzb3VyY2VzLXdkaWZmLmh0bWxVVAkAA8vTAFDL0wBQdXgL
AAEE6AMAAAToAwAAjZJfT9swFMXf+RRX5YEhVYlbaBN1oRPdkNi0qROtQHuaHPumMfXsyNehySq+
+5yVgkCqxJPte3/n+PhPViKX04x8q3EaSdSwhZyL9crZ2sgJHBecf4RHiLiUb1u86FpZvBNn8c6q
cmFOFTcgNCe6CJ7Tn5eLReBC8VUreE41b9EB9/CB9dkpkPqLkDLWjBk7ArhBI9HdKtwcQN4jn2kr
1rC9Xv74/ngQfYatbGE7m3/5tWPTfvrEJul5M0rP/7N7eomNh+2xD8Nb6yQZN4NkjwN0DLjavGAb
JX3ZcRPoffUnBJUlUrlGKGw4E1AtBBIVtQaHD1wryb2yBrwFwWtCwAc0nrp1oRwCtUaUzhpbk24j
uAuV0tZamhMPwnEqQRVgDYItwJf2xYC8rYJNib1DaQej0T7v2ZiFvNpyGcECEUrvK5rEcV6vKNpg
vlY+sm4Vh703v0MxEiv1ScmLZJiMhxH03nt/rGGv0Ks/OUqJcp7fowii+ezb1eflThUy9Yd74Vl4
08GIPf23oyzufuQ/UEsDBBQAAgAIAKAQ7kC5x48m2x8AAKgrAABRABwAdG1wL2xheW91dC10ZXN0
LXJlc3VsdHMvaHR0cC90ZXN0cy9jYWNoZS9wb3N0LXdpdGgtY2FjaGVkLXN1YnJlc291cmNlcy1h
Y3R1YWwucG5nVVQJAAPL0wBQy9MAUHV4CwABBOgDAAAE6AMAAO16aVSTV7t2rLW2otBWxQoibQVR
ELAyCQixReUNCBQZgiBERcQwypSAIWBVSgsqGgVkCDgwCDFEhhDCFCdAQEETIkMYZAjIkDAHSEhy
7rTvedf51vp+nN9nNQsWK8l+nr33PVzDfvjzV0fbTRvUNiAQiE2ofx05gUCs/R6B+Mzjy8/gk61b
turAn72RRz0ifS/4+QZGRAUjTIzOnPXdb25kZHzQyM/3J6Oz50wOGJ/38zU1Mjf29TtgFPGDOhOB
+B6BOvKza3S2oI9wy5VPNptZq7vx6vc/7jE7+qvzYT7p9N6zpiVL9ieqG9n3m0uy+rjUV1OXDB0a
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
BjoUryRNTte4mIwkXVuH/93MWYfCYFchh+c9OUkkrdEAdXBKuuQMrPhASAipIkJaAA+oOJongeUB
Io+IT6RmS9hcz+/vPg/SX6x5DZvJ7OplZ5Nu8mPjZFSFyejbNnqOlYPNifPL/9ZxHFX9uOEAWwOm
UHtWCu7yrRtD+8Z1LKy0tSKVCJn2dwJbMIbWZoUEg2sqBadOaAVOA6OFRcA1Kme3+0wYBFsrlhut
dGFlHcCzr+S6kFx1HDBDbQ4iA60QdAYu1/sG1umVb5Nj+9C0/TBs5h1GxM8rNeUBPCJC7tzKjnu9
tFjYoMR0KVygzaLnzy5ffTFgC3Eh+Hk8iKNBAO1j349U5A+dvqfIOfJZ+obMh2aT2+nlfJfyM3UH
TXDo/7QfktYXUEsDBAoAAAAAAPEQ7kAAAAAAAAAAAAAAAAAoABwAdG1wL2xheW91dC10ZXN0LXJl
c3VsdHMvaHR0cC90ZXN0cy9taXNjL1VUCQADZdQAUO3VAFB1eAsAAQToAwAABOgDAABQSwMEFAAC
AAgA8RDuQBU1NZJ6AAAAvAAAAEIAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3Rz
L21pc2MveHNsdC1iYWQtaW1wb3J0LXN0ZGVyci50eHRVVAkAA2XUAFBl1ABQdXgLAAEE6AMAAATo
AwAAjY5BDsMgDATveYU/QCDtoRW/IcRVLBmMjJH6/BLlA9VeVjuH2SylEScjqYCqohE+xAinWYve
b4/XGma2+A4h+EI9e8UuQzN2/+1sbk+Ho9JEzQ2ldW7AVBGegIwFq8FNl0niXSHCqGmfGhNgScd/
uip95PO6lywxLz9QSwMEFAACAAgA5RDuQASwvGhuAAAAcgAAAEcAHAB0bXAvbGF5b3V0LXRlc3Qt
cmVzdWx0cy9odHRwL3Rlc3RzL21pc2MvZG5zLXByZWZldGNoLWNvbnRyb2wtc3RkZXJyLnR4dFVU
CQADTdQAUE3UAFB1eAsAAQToAwAABOgDAACLNjYyMLOwMjYyNDSzMjQwMTKyNDE1NTc3NbByDQry
D7JKTi0qiS9LLcpMq4wvKMpPjs8rLtZLTtYwNzHRjFVwdg0KiQ/w9owIA6twBipWSMsvUjA0Mtcz
AEJDhbTEzJzUFIXUoiJbXQtDC0MuAFBLAwQKAAAAAAAREe5AAAAAAAAAAAAAAAAALAAcAHRtcC9s
YXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvc2VjdXJpdHkvVVQJAAOi1ABQ7dUAUHV4CwAB
BOgDAAAE6AMAAFBLAwQUAAIACAAJEe5APJvfTEUAAABJAAAAWwAcAHRtcC9sYXlvdXQtdGVzdC1y
ZXN1bHRzL2h0dHAvdGVzdHMvc2VjdXJpdHkvc2NyaXB0LWNyb3Nzb3JpZ2luLWxvYWRzLWNvcnJl
Y3RseS1leHBlY3RlZC50eHRVVAkAA5LUAFCS1ABQdXgLAAEE6AMAAAToAwAAc/RxDQqxUihOLsos
KFEoSszT4wrJyCxWKEktLlEoSCwuTi1WyExTKMlIhanJyU9MKVZIzi8qSk0uyanU4+IKcAwO5gIA
UEsDBBQAAgAIAAwR7kBWcFJpYgAAAI4AAABVABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0
cC90ZXN0cy9zZWN1cml0eS94c3MtREVOSUVELXhtbC1leHRlcm5hbC1lbnRpdHktc3RkZXJyLnR4
dFVUCQADl9QAUJfUAFB1eAsAAQToAwAABOgDAACNzDEKwzAMBdDdp/hbloLoajr2Bt0LwvkOAdsy
igLp7Utv0AO8V/fGLCKMIldvUjS02ZbvGVP9oIPu5sh4Wjk7R2A/wD7jk9I71b/5K9QDoRt4TZbg
esPyWDAsUO0c66/7AlBLAwQUAAIACAAMEe5AYEtmEJEAAAD7AQAAXQAcAHRtcC9sYXlvdXQtdGVz
dC1yZXN1bHRzL2h0dHAvdGVzdHMvc2VjdXJpdHkveHNzLURFTklFRC14c2wtZG9jdW1lbnQtc2Vj
dXJpdHlPcmlnaW4tc3RkZXJyLnR4dFVUCQADl9QAUJfUAFB1eAsAAQToAwAABOgDAADtjjEOgzAM
RXdO4QuEBJZWmWHo0p4BBVMimSSynQpuXzr0Bh2rv76v90LeSqRJY06AzJk9LJEQVtXire36S+vO
df7qnLOCoXLUw+4iZhjvt3Ewu5CZc6gbJjVf4MHxGVO7bwQUE0IPSPghQPQglBVRm/PpX8hyuj3k
RAd0rYMFJ62MAhMjSC0ls+LchH/oj0PfUEsDBBQAAgAIAAkR7kDjs/8B8gcAAPYZAABfABwAdG1w
L2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zY3JpcHQtY3Jvc3Nvcmln
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
AlR15vVVB7VfELlFQE2FX2VeD+zbivOrb4pIlivwFyy6ai0FqmgunPSugYp9fnX98ef7jx9u0U+3
9/fvv79dot8KiVOCfsQbfG8DhpXSQNT8QwvIIJ1PGBWAuLW5Z6E4wwUQj75Z2RTfUpWh3379gLT7
AT+TizfhGH4my8vxeNyIBDQOwPgkCSw3BCAi141KqF8rI2PwP5MIceeViIk8Ijt0HgGMQRz+32hc
DEejq5X5aOrWSGS92kwfWvA8HMoMbofHoXjU8MkzbJ4O2/z+w+2vn4AiLdigi/tnsTmq3sUz1JsN
q/cpo/oqLRWUAymJhLuEKcNOX8McqGaOf1n36TN0n/83cOp8GAoGLjR/7vkbUEsDBBQAAgAIAAkR
7kAA82dCyQAAAEMBAABZABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9zZWN1
cml0eS9zY3JpcHQtY3Jvc3NvcmlnaW4tbG9hZHMtY29ycmVjdGx5LWFjdHVhbC50eHRVVAkAA5LU
AFCS1ABQdXgLAAEE6AMAAAToAwAAlc9NTsNADAXgfU7hC+SnbEDZRShCQoGiTnsAM3E6ljLjaOwW
entGINYIefE2732SH/evbj+N8DI6NzyNPZyS4kLwjFd0PvNmgGYUS5oAJzZGI0BIeOUzGksCHzCd
CRbJsGSMBB9sAU6HCYLZ1rft7u6+6crt+oeu61olf8lst1Yxze/ySXPN38O6ELE22ZpgcS2YxH+K
mVQu2ZP+YTdVNUzj4diD/jyZMTXVMbCCkRpsqEoKvIAF+u2sgrOCl5zJ23orxtvgXPUFUEsDBBQA
AgAIAAkR7kBigo8GFgEAABUCAABXABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0
cy9zZWN1cml0eS9zY3JpcHQtY3Jvc3NvcmlnaW4tbG9hZHMtY29ycmVjdGx5LWRpZmYudHh0VVQJ
AAOS1ABQktQAUHV4CwABBOgDAAAE6AMAAK2QwWrDMAxA7/kK3VPHycbYyCmlhMHoVmjaD9AcpTEk
drCUrv37uS0bu43B0EFCSE/iKaVAyzjpAc9+FiXEogLxPAjrXmTSlw5rJjMHK2fNJthJlAme2Qd7
sE4NHltWxodARoazotMUC2ozOQkkaZr++wU0MuNw41cVqGJxD2mxeICqStLV5q3ZrGt4rZtm+VyX
sHeMHcELHrG5sgFFaIxZPFhnxaIQIDg82gOK9Q5Mj+5A0PkAXcCR4MNKD/vtGi4fl1oXd49ZHqMo
n/I8//E8uvbdn6hV9rqoImJU4qesl3GIMD/+kRhV+TkY4l/YWZImsFzX210JN4UQ0GUJ7HrLcHEM
EzITg+1AevoaurqFb7dxIfkEUEsDBBQAAgAIAAkR7kDMjEiODgEAALYBAABZABwAdG1wL2xheW91
dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zY3JpcHQtY3Jvc3NvcmlnaW4tbG9h
ZHMtY29ycmVjdGx5LXdkaWZmLmh0bWxVVAkAA5LUAFCS1ABQdXgLAAEE6AMAAAToAwAAlZDBSgNB
DIbv+xQBz53ZelHWdaHIIki10q0PkM5kO4O7M8skrRbx3Z1avHgRySGB5P8gX+0IbVOzHAdqlKUB
PmCL5nWX4j7YCi56xBv4BIXW/l5hf1rV+hyu9Rk1pTzzhAHMgMy3OdjcrZ661bKFx7brFvdtBS+B
sSd4wAN2JvlJAEVozF0i+ODFoxAgBDz4HYqPmeYw7Aj6mKBPOBK8eXHwsl6CE5kqreeXV6rMNa+u
y7LUTGafvBw1Y7Db+E525r+Ds4wYZxIn5WQcMiyO/yQm4rhPhvgPtspusoimKBbLdr2pgM+/Jgyq
2DjPIMQCU9ZEDL4HcfRzM0S0DCamREaGoyqK50XXFbU++f0CUEsDBAoAAAAAABER7kAAAAAAAAAA
AAAAAABCABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250
ZW50U2VjdXJpdHlQb2xpY3kvVVQJAAOi1ABQ7dUAUHV4CwABBOgDAAAE6AMAAFBLAwQUAAIACAAR
Ee5AY6qsbIIAAACoAAAAagAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvc2Vj
dXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3hzbC11bmFmZmVjdGVkLWJ5LXN0eWxlLXNyYy0y
LXN0ZGVyci50eHRVVAkAA6LUAFCi1ABQdXgLAAEE6AMAAAToAwAALY1BCsMwDATveYVeEDu9pPgV
hb4guBtiUCwjKaX+fU0pe1qG2c1ytsKbF6kEVdFEe2HQ4d5SCMttnePIku4xxmDIlxbvIUt1VH/+
+0O45B4UJpdmWDDvjPljTFwqaCUwziHQD9gB+DRoekNtXCeSyp2WOdKOza8xRJuC7GpN1PGavlBL
AwQUAAIACAAREe5AY6qsbIIAAACoAAAAWAAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAv
dGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3hzbC1hbGxvd2VkLXN0ZGVyci50
eHRVVAkAA6LUAFCi1ABQdXgLAAEE6AMAAAToAwAALY1BCsMwDATveYVeEDu9pPgVhb4guBtiUCwj
KaX+fU0pe1qG2c1ytsKbF6kEVdFEe2HQ4d5SCMttnePIku4xxmDIlxbvIUt1VH/++0O45B4UJpdm
WDDvjPljTFwqaCUwziHQD9gB+DRoekNtXCeSyp2WOdKOza8xRJuC7GpN1PGavlBLAwQKAAAAAAC1
Ee5AAAAAAAAAAAAAAAAAIAAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3JldHJpZXMvVVQJAAPV
1QBQ7dUAUHV4CwABBOgDAAAE6AMAAFBLAwQUAAIACADCEe5An1ScrToBAABPAwAALgAcAHRtcC9s
YXlvdXQtdGVzdC1yZXN1bHRzL3JldHJpZXMvdGVzdHNfcnVuMC50eHRVVAkAA+vVAFDV1QBQdXgL
AAEE6AMAAAToAwAArVJJbsMwDLz3L6wOeUVv/UEgS7RNlJZUkkqavr60naABit58kgjODIfLbNaC
oZoGxdSF7BY0CTWDJFW1Ck1UgGvMCqmKYDK+vc628Mv8y72eUrji0FDGoH1YSJVqCYJauyQEo4XK
FFbaxjg/MudoJjR0w3OVjHKgMhUyilblbLeGeqCyYKZ1EEdq5luJCyV3rSjmpAO194X+M4avhddI
8LN7HL5RKjCWyWZwgVbdz85JqqcwEhuKhoG7wB5AixOC16jMoMjjDh+jq+EFi9fIpC1ammFB1Q3t
Sy8T5GjxCT1KdEBIMc2YYYv85nqxx11sqPUWUbbnrbxLndym/s33sn5grLJAq2oQh9oNBo7l4wlt
+GUhoyY3CompgZ+7psjuYG3sDu3M3iFiCRfKWN1WMW9Y16kjU7njfgBQSwECHgMKAAAAAADCEe5A
AAAAAAAAAAAAAAAAGAAYAAAAAAAAABAA7UEAAAAAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvVVQF
AAPs1QBQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAlBDuQFjp08JlMwAAoHQCADQAGAAAAAAA
AQAAAKSBUgAAAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3dlYmtpdF91bml0X3Rlc3RzX291dHB1
dC54bWxVVAUAA7fTAFB1eAsAAQToAwAABOgDAABQSwECHgMKAAAAAAC5EO5AAAAAAAAAAAAAAAAA
HQAYAAAAAAAAABAA7UElNAAAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvY3NzMy9VVAUAA/3TAFB1
eAsAAQToAwAABOgDAABQSwECHgMKAAAAAAC5EO5AAAAAAAAAAAAAAAAAJQAYAAAAAAAAABAA7UF8
NAAAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvY3NzMy9maWx0ZXJzL1VUBQAD/dMAUHV4CwABBOgD
AAAE6AMAAFBLAQIeAxQAAgAIALkQ7kAHykg5TwEAAGoLAABMABgAAAAAAAAAAACkgds0AAB0bXAv
bGF5b3V0LXRlc3QtcmVzdWx0cy9jc3MzL2ZpbHRlcnMvYmx1ci1maWx0ZXItcGFnZS1zY3JvbGwt
c2VsZi1hY3R1YWwucG5nVVQFAAP90wBQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAuRDuQC+k
LGo0AQAA/AwAAEoAGAAAAAAAAAAAAKSBsDYAAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2NzczMv
ZmlsdGVycy9ibHVyLWZpbHRlci1wYWdlLXNjcm9sbC1zZWxmLWRpZmYucG5nVVQFAAP90wBQdXgL
AAEE6AMAAAToAwAAUEsBAh4DFAACAAgAuRDuQBIKHSi0AQAAdw0AAE4AGAAAAAAAAAAAAKSBaDgA
AHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2NzczMvZmlsdGVycy9ibHVyLWZpbHRlci1wYWdlLXNj
cm9sbC1zZWxmLWV4cGVjdGVkLnBuZ1VUBQAD/dMAUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAI
ALkQ7kBVUGLCOQIAALQFAABMABgAAAAAAAEAAACkgaQ6AAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0
cy9jc3MzL2ZpbHRlcnMvYmx1ci1maWx0ZXItcGFnZS1zY3JvbGwtc2VsZi1kaWZmcy5odG1sVVQF
AAP90wBQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAsxHuQGWLuFs9tAAAzc0EACYAGAAAAAAA
AQAAAKSBYz0AAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3Rlc3RzX3J1bjEudHh0VVQFAAPS1QBQ
dXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgArRHuQKs+LOy+rQAAhtoEACYAGAAAAAAAAQAAAKSB
APIAAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3Rlc3RzX3J1bjIudHh0VVQFAAPG1QBQdXgLAAEE
6AMAAAToAwAAUEsBAh4DCgAAAAAALxHuQAAAAAAAAAAAAAAAAB0AGAAAAAAAAAAQAO1BHqABAHRt
cC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvVVQFAAPa1ABQdXgLAAEE6AMAAAToAwAAUEsBAh4D
CgAAAAAAJhHuQAAAAAAAAAAAAAAAACIAGAAAAAAAAAAQAO1BdaABAHRtcC9sYXlvdXQtdGVzdC1y
ZXN1bHRzL2Zhc3QvdGV4dC9VVAUAA8jUAFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACAAmEe5A
BbXtxd07AAC1SgAASAAYAAAAAAAAAAAApIHRoAEAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFz
dC90ZXh0L2Rlc2NlbnQtY2xpcC1pbi1zY2FsZWQtcGFnZS1hY3R1YWwucG5nVVQFAAPI1ABQdXgL
AAEE6AMAAAToAwAAUEsBAh4DFAACAAgAJhHuQKRWUjtZPAAAwUoAAEoAGAAAAAAAAAAAAKSBMN0B
AHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvdGV4dC9kZXNjZW50LWNsaXAtaW4tc2NhbGVk
LXBhZ2UtZXhwZWN0ZWQucG5nVVQFAAPI1ABQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAJhHu
QPkhCoeNAQAA8wIAAEsAGAAAAAAAAQAAAKSBDRoCAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zh
c3QvdGV4dC9kZXNjZW50LWNsaXAtaW4tc2NhbGVkLXBhZ2UtZXhwZWN0ZWQuaHRtbFVUBQADyNQA
UHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIACYR7kDjdSR2NgIAAK4FAABIABgAAAAAAAEAAACk
gR8cAgB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L3RleHQvZGVzY2VudC1jbGlwLWluLXNj
YWxlZC1wYWdlLWRpZmZzLmh0bWxVVAUAA8jUAFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACAAm
Ee5AqoXs/XZCAABkUwAARgAYAAAAAAAAAAAApIHXHgIAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMv
ZmFzdC90ZXh0L2Rlc2NlbnQtY2xpcC1pbi1zY2FsZWQtcGFnZS1kaWZmLnBuZ1VUBQADyNQAUHV4
CwABBOgDAAAE6AMAAFBLAQIeAwoAAAAAABIR7kAAAAAAAAAAAAAAAAAkABgAAAAAAAAAEADtQc1h
AgB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2xvYWRlci9VVAUAA6TUAFB1eAsAAQToAwAA
BOgDAABQSwECHgMUAAIACAASEe5AQTp/05oHAAD4FwAAQwAYAAAAAAABAAAApIErYgIAdG1wL2xh
eW91dC10ZXN0LXJlc3VsdHMvZmFzdC9sb2FkZXIvbG9hZEluUHJvZ3Jlc3MtcHJldHR5LWRpZmYu
aHRtbFVUBQADpNQAUHV4CwABBOgDAAAE6AMAAFBLAQIeAwoAAgAAABIR7kDW0dp5LgAAAC4AAAA/
ABgAAAAAAAEAAACkgUJqAgB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2xvYWRlci9sb2Fk
SW5Qcm9ncmVzcy1leHBlY3RlZC50eHRVVAUAA6PUAFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIA
CAASEe5AbKMq8r4AAADwAAAAPQAYAAAAAAABAAAApIHpagIAdG1wL2xheW91dC10ZXN0LXJlc3Vs
dHMvZmFzdC9sb2FkZXIvbG9hZEluUHJvZ3Jlc3Mtd2RpZmYuaHRtbFVUBQADo9QAUHV4CwABBOgD
AAAE6AMAAFBLAQIeAxQAAgAIABIR7kApJndpdAAAAH0AAAA9ABgAAAAAAAEAAACkgR5sAgB0bXAv
bGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2xvYWRlci9sb2FkSW5Qcm9ncmVzcy1hY3R1YWwudHh0
VVQFAAOj1ABQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAEhHuQDRdBubFAAAAGgEAADsAGAAA
AAAAAQAAAKSBCW0CAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvbG9hZGVyL2xvYWRJblBy
b2dyZXNzLWRpZmYudHh0VVQFAAOj1ABQdXgLAAEE6AMAAAToAwAAUEsBAh4DCgAAAAAAMBHuQAAA
AAAAAAAAAAAAACEAGAAAAAAAAAAQAO1BQ24CAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3Qv
eHNsL1VUBQAD29QAUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIADAR7kCBSnetSwAAAKwAAABM
ABgAAAAAAAEAAACkgZ5uAgB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L3hzbC94c2x0LXRy
YW5zZm9ybS10by1mcmFnbWVudC1jcmFzaC1zdGRlcnIudHh0VVQFAAPb1ABQdXgLAAEE6AMAAATo
AwAAUEsBAh4DFAACAAgALxHuQFBdSDeMAAAA+AAAAD8AGAAAAAAAAQAAAKSBb28CAHRtcC9sYXlv
dXQtdGVzdC1yZXN1bHRzL2Zhc3QveHNsL3hzbHQtYmFkLWltcG9ydC11cmktc3RkZXJyLnR4dFVU
BQAD2tQAUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAC8R7kBtR9RehQAAAPEAAAA9ABgAAAAA
AAEAAACkgXRwAgB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L3hzbC90cmFuc2Zvcm0teGhy
LWRvYy1zdGRlcnIudHh0VVQFAAPa1ABQdXgLAAEE6AMAAAToAwAAUEsBAh4DCgAAAAAA5BDuQAAA
AAAAAAAAAAAAACQAGAAAAAAAAAAQAO1BcHECAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3Qv
Y2FudmFzL1VUBQADS9QAUHV4CwABBOgDAAAE6AMAAFBLAQIeAwoAAAAAAOcQ7kAAAAAAAAAAAAAA
AAAqABgAAAAAAAAAEADtQc5xAgB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2NhbnZhcy93
ZWJnbC9VVAUAA1LUAFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACADnEO5A2h3ysooAAACTAAAA
UgAYAAAAAAABAAAApIEycgIAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9jYW52YXMvd2Vi
Z2wvdW5pZm9ybS1hcnJheS1sZW5ndGgtb3ZlcmZsb3ctc3RkZXJyLnR4dFVUBQADUtQAUHV4CwAB
BOgDAAAE6AMAAFBLAQIeAxQAAgAIAOUQ7kAK6swKqgAAAN8CAABRABgAAAAAAAEAAACkgUhzAgB0
bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2NhbnZhcy93ZWJnbC9nbC12ZXJ0ZXgtYXR0cmli
LXplcm8taXNzdWVzLXN0ZGVyci50eHRVVAUAA03UAFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIA
CADlEO5AFDoi6doAAAA4AQAARQAYAAAAAAABAAAApIF9dAIAdG1wL2xheW91dC10ZXN0LXJlc3Vs
dHMvZmFzdC9jYW52YXMvd2ViZ2wvaW5kZXgtdmFsaWRhdGlvbi1zdGRlcnIudHh0VVQFAANO1ABQ
dXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgA5RDuQD4Yu3OVAAAAJgEAAEMAGAAAAAAAAQAAAKSB
1nUCAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvY2FudmFzL3dlYmdsL2ludmFsaWQtVVRG
LTE2LXN0ZGVyci50eHRVVAUAA07UAFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACADkEO5AzDtf
rc4AAABeBgAATgAYAAAAAAABAAAApIHodgIAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9j
YW52YXMvd2ViZ2wvZHJhdy1hcnJheXMtb3V0LW9mLWJvdW5kcy1zdGRlcnIudHh0VVQFAANL1ABQ
dXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgA5BDuQEA+QUiMAAAAAQEAAEQAGAAAAAAAAQAAAKSB
PngCAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvY2FudmFzL3dlYmdsL2Vycm9yLXJlcG9y
dGluZy1zdGRlcnIudHh0VVQFAANL1ABQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgA5BDuQHVG
1mEDAQAA1QkAAFAAGAAAAAAAAQAAAKSBSHkCAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3Qv
Y2FudmFzL3dlYmdsL2RyYXctZWxlbWVudHMtb3V0LW9mLWJvdW5kcy1zdGRlcnIudHh0VVQFAANL
1ABQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgA5xDuQAXHRxY/AQAAoQwAAEkAGAAAAAAAAQAA
AKSB1XoCAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvY2FudmFzL3dlYmdsL3R5cGUtY29u
dmVyc2lvbi10ZXN0LXN0ZGVyci50eHRVVAUAA1LUAFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIA
CADlEO5Ak8OjO6oAAACUAgAAVAAYAAAAAAABAAAApIGXfAIAdG1wL2xheW91dC10ZXN0LXJlc3Vs
dHMvZmFzdC9jYW52YXMvd2ViZ2wvaW5kZXgtdmFsaWRhdGlvbi1jb3BpZXMtaW5kaWNlcy1zdGRl
cnIudHh0VVQFAANO1ABQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgA5RDuQJfOPqWfAAAASgEA
AF8AGAAAAAAAAQAAAKSBz30CAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvY2FudmFzL3dl
YmdsL2luZGV4LXZhbGlkYXRpb24tdmVyaWZpZXMtdG9vLW1hbnktaW5kaWNlcy1zdGRlcnIudHh0
VVQFAANO1ABQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgA5BDuQC0fhwOZAAAAAgIAAEQAGAAA
AAAAAQAAAKSBB38CAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvY2FudmFzL3dlYmdsL2dl
dC1hY3RpdmUtdGVzdC1zdGRlcnIudHh0VVQFAANM1ABQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAAC
AAgA5BDuQIAInjSWAAAAJgEAAFEAGAAAAAAAAQAAAKSBHoACAHRtcC9sYXlvdXQtdGVzdC1yZXN1
bHRzL2Zhc3QvY2FudmFzL3dlYmdsL2dsLWJpbmQtYXR0cmliLWxvY2F0aW9uLXRlc3Qtc3RkZXJy
LnR4dFVUBQADTNQAUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAOUQ7kAvB5IHkwAAAOMAAABK
ABgAAAAAAAEAAACkgT+BAgB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2NhbnZhcy93ZWJn
bC9udWxsLW9iamVjdC1iZWhhdmlvdXItc3RkZXJyLnR4dFVUBQADTtQAUHV4CwABBOgDAAAE6AMA
AFBLAQIeAwoAAAAAAPoQ7kAAAAAAAAAAAAAAAAAoABgAAAAAAAAAEADtQVaCAgB0bXAvbGF5b3V0
LXRlc3QtcmVzdWx0cy9mYXN0L2ZpbGVzeXN0ZW0vVVQFAAN41ABQdXgLAAEE6AMAAAToAwAAUEsB
Ah4DFAACAAgA+hDuQK53GuxnAAAAcQAAADoAGAAAAAAAAQAAAKSBuIICAHRtcC9sYXlvdXQtdGVz
dC1yZXN1bHRzL2Zhc3QvZmlsZXN5c3RlbS9vcC1jb3B5LXN0ZGVyci50eHRVVAUAA3fUAFB1eAsA
AQToAwAABOgDAABQSwECHgMUAAIACAD6EO5AhHqh42cAAABxAAAAOgAYAAAAAAABAAAApIGTgwIA
dG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9maWxlc3lzdGVtL29wLW1vdmUtc3RkZXJyLnR4
dFVUBQADeNQAUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAPoQ7kBZqB/HZwAAAHEAAAA8ABgA
AAAAAAEAAACkgW6EAgB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2ZpbGVzeXN0ZW0vb3At
cmVtb3ZlLXN0ZGVyci50eHRVVAUAA3jUAFB1eAsAAQToAwAABOgDAABQSwECHgMKAAAAAAC0Ee5A
AAAAAAAAAAAAAAAAQwAYAAAAAAAAAAAApIFLhQIAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcHl3
ZWJzb2NrZXQud3MubG9nLTE0SnVsMjAxMi0wMjEzNDAtZXJyLnR4dFVUBQAD1NUAUHV4CwABBOgD
AAAE6AMAAFBLAQIeAxQAAgAIALgR7kDx0244zaMAAJC+BwAmABgAAAAAAAEAAACkgciFAgB0bXAv
bGF5b3V0LXRlc3QtcmVzdWx0cy9hY2Nlc3NfbG9nLnR4dFVUBQAD3NUAUHV4CwABBOgDAAAE6AMA
AFBLAQIeAxQAAgAIAKMR7kBiQVus76UAAPPRBAAmABgAAAAAAAEAAACkgfUpAwB0bXAvbGF5b3V0
LXRlc3QtcmVzdWx0cy90ZXN0c19ydW4zLnR4dFVUBQADsdUAUHV4CwABBOgDAAAE6AMAAFBLAQIe
AxQAAgAIALkR7kAZxI5r3BkAADFtAgAlABgAAAAAAAEAAACkgUTQAwB0bXAvbGF5b3V0LXRlc3Qt
cmVzdWx0cy9lcnJvcl9sb2cudHh0VVQFAAPd1QBQdXgLAAEE6AMAAAToAwAAUEsBAh4DCgAAAAAA
SBHuQAAAAAAAAAAAAAAAACEAGAAAAAAAAAAQAO1Bf+oDAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRz
L3BsYXRmb3JtL1VUBQADCNUAUHV4CwABBOgDAAAE6AMAAFBLAQIeAwoAAAAAAHQR7kAAAAAAAAAA
AAAAAAAqABgAAAAAAAAAEADtQdrqAwB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9j
aHJvbWl1bS9VVAUAA1vVAFB1eAsAAQToAwAABOgDAABQSwECHgMKAAAAAAB0Ee5AAAAAAAAAAAAA
AAAAMgAYAAAAAAAAABAA7UE+6wMAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hy
b21pdW0vdmlydHVhbC9VVAUAA1vVAFB1eAsAAQToAwAABOgDAABQSwECHgMKAAAAAAB0Ee5AAAAA
AAAAAAAAAAAANgAYAAAAAAAAABAA7UGq6wMAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZv
cm0vY2hyb21pdW0vdmlydHVhbC9ncHUvVVQFAANb1QBQdXgLAAEE6AMAAAToAwAAUEsBAh4DCgAA
AAAAdBHuQAAAAAAAAAAAAAAAADsAGAAAAAAAAAAQAO1BGuwDAHRtcC9sYXlvdXQtdGVzdC1yZXN1
bHRzL3BsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvZ3B1L2Zhc3QvVVQFAANb1QBQdXgLAAEE6AMA
AAToAwAAUEsBAh4DCgAAAAAAdBHuQAAAAAAAAAAAAAAAAEIAGAAAAAAAAAAQAO1Bj+wDAHRtcC9s
YXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvZ3B1L2Zhc3QvY2Fu
dmFzL1VUBQADW9UAUHV4CwABBOgDAAAE6AMAAFBLAQIeAwoAAAAAAHcR7kAAAAAAAAAAAAAAAABI
ABgAAAAAAAAAEADtQQvtAwB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1
bS92aXJ0dWFsL2dwdS9mYXN0L2NhbnZhcy93ZWJnbC9VVAUAA2HVAFB1eAsAAQToAwAABOgDAABQ
SwECHgMUAAIACAB0Ee5A8vsnD6oAAADVAgAAbwAYAAAAAAABAAAApIGN7QMAdG1wL2xheW91dC10
ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9ncHUvZmFzdC9jYW52YXMvd2Vi
Z2wvZ2wtdmVydGV4LWF0dHJpYi16ZXJvLWlzc3Vlcy1zdGRlcnIudHh0VVQFAANc1QBQdXgLAAEE
6AMAAAToAwAAUEsBAh4DFAACAAgAdRHuQGHh4GzaAAAANAEAAGMAGAAAAAAAAQAAAKSB4O4DAHRt
cC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvZ3B1L2Zhc3Qv
Y2FudmFzL3dlYmdsL2luZGV4LXZhbGlkYXRpb24tc3RkZXJyLnR4dFVUBQADXdUAUHV4CwABBOgD
AAAE6AMAAFBLAQIeAxQAAgAIAHQR7kDSEd4ByQAAAEoGAABsABgAAAAAAAEAAACkgVfwAwB0bXAv
bGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9mYXN0L2Nh
bnZhcy93ZWJnbC9kcmF3LWFycmF5cy1vdXQtb2YtYm91bmRzLXN0ZGVyci50eHRVVAUAA1vVAFB1
eAsAAQToAwAABOgDAABQSwECHgMUAAIACAB3Ee5Ar9BXkokAAACRAAAAcQAYAAAAAAABAAAApIHG
8QMAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9ncHUv
ZmFzdC9jYW52YXMvd2ViZ2wvdW5pZm9ybS1sb2NhdGlvbi1sZW5ndGgtbGltaXRzLXN0ZGVyci50
eHRVVAUAA2HVAFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACAB0Ee5AnlE1NosAAAD9AAAAYgAY
AAAAAAABAAAApIH68gMAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0v
dmlydHVhbC9ncHUvZmFzdC9jYW52YXMvd2ViZ2wvZXJyb3ItcmVwb3J0aW5nLXN0ZGVyci50eHRV
VAUAA1vVAFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACAB1Ee5A7nMuN8wAAACiAQAAbQAYAAAA
AAABAAAApIEh9AMAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vdmly
dHVhbC9ncHUvZmFzdC9jYW52YXMvd2ViZ2wvc2hhZGVyLWRlbGV0ZWQtYnktYWNjZXNzb3Itc3Rk
ZXJyLnR4dFVUBQADXtUAUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAHQR7kDhi+WGAAEAALMJ
AABuABgAAAAAAAEAAACkgZT1AwB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJv
bWl1bS92aXJ0dWFsL2dwdS9mYXN0L2NhbnZhcy93ZWJnbC9kcmF3LWVsZW1lbnRzLW91dC1vZi1i
b3VuZHMtc3RkZXJyLnR4dFVUBQADW9UAUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAHcR7kDS
3WXJPgEAAHMMAABnABgAAAAAAAEAAACkgTz3AwB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0
Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9mYXN0L2NhbnZhcy93ZWJnbC90eXBlLWNvbnZlcnNp
b24tdGVzdC1zdGRlcnIudHh0VVQFAANh1QBQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAdRHu
QOo5ZyKpAAAAjAIAAHIAGAAAAAAAAQAAAKSBG/kDAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3Bs
YXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvZ3B1L2Zhc3QvY2FudmFzL3dlYmdsL2luZGV4LXZhbGlk
YXRpb24tY29waWVzLWluZGljZXMtc3RkZXJyLnR4dFVUBQADXdUAUHV4CwABBOgDAAAE6AMAAFBL
AQIeAxQAAgAIAHUR7kC+WgHlnwAAAEYBAAB9ABgAAAAAAAEAAACkgXD6AwB0bXAvbGF5b3V0LXRl
c3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9mYXN0L2NhbnZhcy93ZWJn
bC9pbmRleC12YWxpZGF0aW9uLXZlcmlmaWVzLXRvby1tYW55LWluZGljZXMtc3RkZXJyLnR4dFVU
BQADXdUAUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAHQR7kA2bNEImAAAAPoBAABiABgAAAAA
AAEAAACkgcb7AwB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS92aXJ0
dWFsL2dwdS9mYXN0L2NhbnZhcy93ZWJnbC9nZXQtYWN0aXZlLXRlc3Qtc3RkZXJyLnR4dFVUBQAD
W9UAUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAHQR7kDvp4ZFlAAAACIBAABvABgAAAAAAAEA
AACkgfr8AwB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFs
L2dwdS9mYXN0L2NhbnZhcy93ZWJnbC9nbC1iaW5kLWF0dHJpYi1sb2NhdGlvbi10ZXN0LXN0ZGVy
ci50eHRVVAUAA1vVAFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACAB1Ee5AoC7KZVkAAABfAAAA
aAAYAAAAAAABAAAApIE3/gMAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21p
dW0vdmlydHVhbC9ncHUvZmFzdC9jYW52YXMvd2ViZ2wvbnVsbC1vYmplY3QtYmVoYXZpb3VyLXN0
ZGVyci50eHRVVAUAA13VAFB1eAsAAQToAwAABOgDAABQSwECHgMKAAAAAABIEe5AAAAAAAAAAAAA
AAAALwAYAAAAAAAAABAA7UEy/wMAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hy
b21pdW0vaHR0cC9VVAUAAwjVAFB1eAsAAQToAwAABOgDAABQSwECHgMKAAAAAABIEe5AAAAAAAAA
AAAAAAAANQAYAAAAAAAAABAA7UGb/wMAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0v
Y2hyb21pdW0vaHR0cC90ZXN0cy9VVAUAAwjVAFB1eAsAAQToAwAABOgDAABQSwECHgMKAAAAAABI
Ee5AAAAAAAAAAAAAAAAAPgAYAAAAAAAAABAA7UEKAAQAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMv
cGxhdGZvcm0vY2hyb21pdW0vaHR0cC90ZXN0cy9zZWN1cml0eS9VVAUAAwjVAFB1eAsAAQToAwAA
BOgDAABQSwECHgMKAAAAAABIEe5AAAAAAAAAAAAAAAAASwAYAAAAAAAAABAA7UGCAAQAdG1wL2xh
eW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vaHR0cC90ZXN0cy9zZWN1cml0eS9t
aXhlZENvbnRlbnQvVVQFAAMI1QBQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgASBHuQEAlGNxr
AAAAcAAAAHsAGAAAAAAAAQAAAKSBBwEEAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3Jt
L2Nocm9taXVtL2h0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L2luc2VjdXJlLWlmcmFt
ZS1pbi1tYWluLWZyYW1lLWFsbG93ZWQtc3RkZXJyLnR4dFVUBQADCNUAUHV4CwABBOgDAAAE6AMA
AFBLAQIeAxQAAgAIAKUR7kBVRcMSiVMAAAdsAgAmABgAAAAAAAEAAACkgScCBAB0bXAvbGF5b3V0
LXRlc3QtcmVzdWx0cy90ZXN0c19ydW4wLnR4dFVUBQADttUAUHV4CwABBOgDAAAE6AMAAFBLAQIe
AwoAAAAAALQR7kAAAAAAAAAAAAAAAABDABgAAAAAAAAAAACkgRBWBAB0bXAvbGF5b3V0LXRlc3Qt
cmVzdWx0cy9weXdlYnNvY2tldC53cy5sb2ctMTRKdWwyMDEyLTAyMTM0MC1vdXQudHh0VVQFAAPU
1QBQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAwhHuQMhpAcNOIwAAP5YAACQAGAAAAAAAAQAA
AKSBjVYEAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3Jlc3VsdHMuaHRtbFVUBQAD7NUAUHV4CwAB
BOgDAAAE6AMAAFBLAQIeAwoAAAAAAHYR7kAAAAAAAAAAAAAAAAAgABgAAAAAAAAAEADtQTl6BAB0
bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbHVnaW5zL1VUBQADYNUAUHV4CwABBOgDAAAE6AMAAFBL
AQIeAxQAAgAIAHYR7kC0Fzxt7gAAAFEBAABEABgAAAAAAAEAAACkgZN6BAB0bXAvbGF5b3V0LXRl
c3QtcmVzdWx0cy9wbHVnaW5zL251bGwtbnBwLWdldHZhbHVlLXBvaW50ZXItc3RkZXJyLnR4dFVU
BQADYNUAUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAMIR7kBiqc/IowIAABIHAAApABgAAAAA
AAEAAACkgf97BAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mdWxsX3Jlc3VsdHMuanNvblVUBQAD
7NUAUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIALMR7kCR7GaBGiQAAG9hAAAiABgAAAAAAAEA
AACkgQV/BAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwZC5jb25mVVQFAAPS1QBQdXgLAAEE
6AMAAAToAwAAUEsBAh4DCgAAAAAAoBDuQAAAAAAAAAAAAAAAAB0AGAAAAAAAAAAQAO1Be6MEAHRt
cC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvVVQFAAPL0wBQdXgLAAEE6AMAAAToAwAAUEsBAh4D
CgAAAAAAIhHuQAAAAAAAAAAAAAAAACMAGAAAAAAAAAAQAO1B0qMEAHRtcC9sYXlvdXQtdGVzdC1y
ZXN1bHRzL2h0dHAvdGVzdHMvVVQFAAO/1ABQdXgLAAEE6AMAAAToAwAAUEsBAh4DCgAAAAAAIhHu
QAAAAAAAAAAAAAAAACcAGAAAAAAAAAAQAO1BL6QEAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0
dHAvdGVzdHMvdzNjL1VUBQADv9QAUHV4CwABBOgDAAAE6AMAAFBLAQIeAwoAAAAAACIR7kAAAAAA
AAAAAAAAAAAvABgAAAAAAAAAEADtQZCkBAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rl
c3RzL3czYy93ZWJwZXJmL1VUBQADv9QAUHV4CwABBOgDAAAE6AMAAFBLAQIeAwoAAAAAACIR7kAA
AAAAAAAAAAAAAAA6ABgAAAAAAAAAEADtQfmkBAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRw
L3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vVVQFAAO/1ABQdXgLAAEE6AMAAAToAwAAUEsB
Ah4DCgAAAAAAIhHuQAAAAAAAAAAAAAAAAEoAGAAAAAAAAAAQAO1BbaUEAHRtcC9sYXlvdXQtdGVz
dC1yZXN1bHRzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1p
bmcvVVQFAAO/1ABQdXgLAAEE6AMAAAToAwAAUEsBAh4DCgAAAAAAJRHuQAAAAAAAAAAAAAAAAE8A
GAAAAAAAAAAQAO1B8aUEAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvdzNjL3dl
YnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC9VVAUAA8XUAFB1eAsAAQToAwAA
BOgDAABQSwECHgMUAAIACAC2Ee5AIcvPccABAACSBAAAdQAYAAAAAAABAAAApIF6pgQAdG1wL2xh
eW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291
cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2VfYXR0cmlidXRlX29yZGVyLWRpZmYudHh0VVQF
AAPX1QBQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAuBHuQAlCjiKACAAAGR8AAH8AGAAAAAAA
AQAAAKSB6agEAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYv
c3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX2R5bmFtaWNfaW5z
ZXJ0aW9uLXByZXR0eS1kaWZmLmh0bWxVVAUAA9zVAFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIA
CAC4Ee5A8Rabt1ABAACbAgAAeQAYAAAAAAABAAAApIEisgQAdG1wL2xheW91dC10ZXN0LXJlc3Vs
dHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1s
L3Rlc3RfcmVzb3VyY2VfZHluYW1pY19pbnNlcnRpb24td2RpZmYuaHRtbFVUBQAD3NUAUHV4CwAB
BOgDAAAE6AMAAFBLAQIeAxQAAgAIALgR7kAqsBmW2AAAAEUDAABzABgAAAAAAAEAAACkgSW0BAB0
bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24v
cmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9yZWRpcmVjdHMtZXhwZWN0ZWQudHh0
VVQFAAPc1QBQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAuBHuQKQ5UNuBAQAApwQAAHEAGAAA
AAAAAQAAAKSBqrUEAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvdzNjL3dlYnBl
cmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX3JlZGlyZWN0
cy13ZGlmZi5odG1sVVQFAAPc1QBQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAuBHuQLE8MW+g
AAAAFAEAAHEAGAAAAAAAAQAAAKSB1rcEAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVz
dHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291
cmNlX3JlZGlyZWN0cy1hY3R1YWwudHh0VVQFAAPc1QBQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAAC
AAgAuBHuQPnesuHgAAAAXxIAAHcAGAAAAAAAAQAAAKSBIbkEAHRtcC9sYXlvdXQtdGVzdC1yZXN1
bHRzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRt
bC90ZXN0X3Jlc291cmNlX2luaXRpYXRvcl90eXBlcy1hY3R1YWwudHh0VVQFAAPc1QBQdXgLAAEE
6AMAAAToAwAAUEsBAh4DFAACAAgAthHuQIakqm+hAAAAwQAAAHcAGAAAAAAAAQAAAKSBsroEAHRt
cC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9y
ZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX2F0dHJpYnV0ZV9vcmRlci1hY3R1YWwu
dHh0VVQFAAPX1QBQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAuBHuQDel6a+0AAAApAEAAHsA
GAAAAAAAAQAAAKSBBLwEAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvdzNjL3dl
YnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX2R5bmFt
aWNfaW5zZXJ0aW9uLWV4cGVjdGVkLnR4dFVUBQAD3NUAUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQA
AgAIALgR7kCR2NDKAgIAAMAXAAB1ABgAAAAAAAEAAACkgW29BAB0bXAvbGF5b3V0LXRlc3QtcmVz
dWx0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0
bWwvdGVzdF9yZXNvdXJjZV9pbml0aWF0b3JfdHlwZXMtZGlmZi50eHRVVAUAA9zVAFB1eAsAAQTo
AwAABOgDAABQSwECHgMUAAIACAC4Ee5ArBT7VMYAAABTBAAAdgAYAAAAAAABAAAApIEewAQAdG1w
L2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jl
c291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2Vfc2NyaXB0X3R5cGVzLWV4cGVjdGVkLnR4
dFVUBQAD3NUAUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIALgR7kDNCoWd4AkAAIlTAAB9ABgA
AAAAAAEAAACkgZTBBAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL3czYy93ZWJw
ZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9pbml0aWF0
b3JfdHlwZXMtcHJldHR5LWRpZmYuaHRtbFVUBQAD3NUAUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQA
AgAIALgR7kBuY2rCsgAAAOMAAAB0ABgAAAAAAAEAAACkgSvMBAB0bXAvbGF5b3V0LXRlc3QtcmVz
dWx0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0
bWwvdGVzdF9yZXNvdXJjZV9zY3JpcHRfdHlwZXMtYWN0dWFsLnR4dFVUBQAD3NUAUHV4CwABBOgD
AAAE6AMAAFBLAQIeAxQAAgAIALgR7kCYBmnuhgEAACAFAABvABgAAAAAAAEAAACkgYvNBAB0bXAv
bGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVz
b3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9yZWRpcmVjdHMtZGlmZi50eHRVVAUAA9zV
AFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACAC4Ee5AK8PDGGUBAAAnAwAAdwAYAAAAAAABAAAA
pIG6zwQAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJt
aXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2VfZHluYW1pY19pbnNlcnRp
b24tZGlmZi50eHRVVAUAA9zVAFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACAC2Ee5At0ZQDqMB
AAACBAAAdwAYAAAAAAABAAAApIHQ0QQAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0
cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3Vy
Y2VfYXR0cmlidXRlX29yZGVyLXdkaWZmLmh0bWxVVAUAA9fVAFB1eAsAAQToAwAABOgDAABQSwEC
HgMUAAIACAC4Ee5AA/sYtggBAABmBAAAeQAYAAAAAAABAAAApIEk1AQAdG1wL2xheW91dC10ZXN0
LXJlc3VsdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWlu
Zy9odG1sL3Rlc3RfcmVzb3VyY2VfaW5pdGlhdG9yX3R5cGVzLWV4cGVjdGVkLnR4dFVUBQAD3NUA
UHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIALgR7kBnQVLrZQEAAG4FAAB0ABgAAAAAAAEAAACk
gd/VBAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1p
c3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9zY3JpcHRfdHlwZXMtd2Rp
ZmYuaHRtbFVUBQAD3NUAUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIALgR7kAOmpdmrwgAAH0l
AAB6ABgAAAAAAAEAAACkgfLXBAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL3cz
Yy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9z
Y3JpcHRfdHlwZXMtcHJldHR5LWRpZmYuaHRtbFVUBQAD3NUAUHV4CwABBOgDAAAE6AMAAFBLAQIe
AxQAAgAIALgR7kC7Usq7rwAAANoAAAB5ABgAAAAAAAEAAACkgVXhBAB0bXAvbGF5b3V0LXRlc3Qt
cmVzdWx0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5n
L2h0bWwvdGVzdF9yZXNvdXJjZV9keW5hbWljX2luc2VydGlvbi1hY3R1YWwudHh0VVQFAAPc1QBQ
dXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAuBHuQE0EDAOvCAAA5CIAAHcAGAAAAAAAAQAAAKSB
t+IEAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlz
c2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX3JlZGlyZWN0cy1wcmV0dHkt
ZGlmZi5odG1sVVQFAAPc1QBQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAuBHuQAZcVGtzAQAA
0gUAAHIAGAAAAAAAAQAAAKSBF+wEAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMv
dzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNl
X3NjcmlwdF90eXBlcy1kaWZmLnR4dFVUBQAD3NUAUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAI
ALYR7kAB0OGvCQkAAEYlAAB9ABgAAAAAAAEAAACkgTbuBAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0
cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwv
dGVzdF9yZXNvdXJjZV9hdHRyaWJ1dGVfb3JkZXItcHJldHR5LWRpZmYuaHRtbFVUBQAD19UAUHV4
CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIALYR7kBLCo+PAwEAAAUDAAB5ABgAAAAAAAEAAACkgfb3
BAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Np
b24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9hdHRyaWJ1dGVfb3JkZXItZXhw
ZWN0ZWQudHh0VVQFAAPX1QBQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAuBHuQN5Qx477AQAA
NBgAAHcAGAAAAAAAAQAAAKSBrPkEAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMv
dzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNl
X2luaXRpYXRvcl90eXBlcy13ZGlmZi5odG1sVVQFAAPc1QBQdXgLAAEE6AMAAAToAwAAUEsBAh4D
CgAAAAAAoBDuQAAAAAAAAAAAAAAAACkAGAAAAAAAAAAQAO1BWPwEAHRtcC9sYXlvdXQtdGVzdC1y
ZXN1bHRzL2h0dHAvdGVzdHMvY2FjaGUvVVQFAAPL0wBQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAAC
AAgAoBDuQP7BpR1AAQAAWgIAAEUAGAAAAAAAAQAAAKSBu/wEAHRtcC9sYXlvdXQtdGVzdC1yZXN1
bHRzL2h0dHAvdGVzdHMvY2FjaGUvcG9zdC1yZWRpcmVjdC1nZXQtYWN0dWFsLnR4dFVUBQADy9MA
UHV4CwABBOgDAAAE6AMAAFBLAQIeAwoAAgAAAKAQ7kCc6ad1BgAAAAYAAABHABgAAAAAAAEAAACk
gXr+BAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL2NhY2hlL3Bvc3QtcmVkaXJl
Y3QtZ2V0LWV4cGVjdGVkLnR4dFVUBQADy9MAUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAKAQ
7kBXNUJbmQEAABcDAABDABgAAAAAAAEAAACkgQH/BAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9o
dHRwL3Rlc3RzL2NhY2hlL3Bvc3QtcmVkaXJlY3QtZ2V0LWRpZmYudHh0VVQFAAPL0wBQdXgLAAEE
6AMAAAToAwAAUEsBAh4DFAACAAgAoBDuQLnHjybbHwAAqCsAAEUAGAAAAAAAAAAAAKSBFwEFAHRt
cC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvY2FjaGUvcG9zdC1yZWRpcmVjdC1nZXQt
YWN0dWFsLnBuZ1VUBQADy9MAUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAKAQ7kCNpXyKjwEA
AOgCAABFABgAAAAAAAEAAACkgXEhBQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3Rz
L2NhY2hlL3Bvc3QtcmVkaXJlY3QtZ2V0LXdkaWZmLmh0bWxVVAUAA8vTAFB1eAsAAQToAwAABOgD
AABQSwECHgMKAAIAAACgEO5AnOmndQYAAAAGAAAAUwAYAAAAAAABAAAApIF/IwUAdG1wL2xheW91
dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9jYWNoZS9wb3N0LXdpdGgtY2FjaGVkLXN1YnJlc291
cmNlcy1leHBlY3RlZC50eHRVVAUAA8vTAFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACACgEO5A
1fYdYpAIAAAbHwAAVwAYAAAAAAABAAAApIESJAUAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0
cC90ZXN0cy9jYWNoZS9wb3N0LXdpdGgtY2FjaGVkLXN1YnJlc291cmNlcy1wcmV0dHktZGlmZi5o
dG1sVVQFAAPL0wBQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAoBDuQI2lfIqPAQAA6AIAAFEA
GAAAAAAAAQAAAKSBMy0FAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvY2FjaGUv
cG9zdC13aXRoLWNhY2hlZC1zdWJyZXNvdXJjZXMtd2RpZmYuaHRtbFVUBQADy9MAUHV4CwABBOgD
AAAE6AMAAFBLAQIeAxQAAgAIAKAQ7kC5x48m2x8AAKgrAABRABgAAAAAAAAAAACkgU0vBQB0bXAv
bGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL2NhY2hlL3Bvc3Qtd2l0aC1jYWNoZWQtc3Vi
cmVzb3VyY2VzLWFjdHVhbC5wbmdVVAUAA8vTAFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACACg
EO5AnEKPLYkIAAAPHwAASwAYAAAAAAABAAAApIGzTwUAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMv
aHR0cC90ZXN0cy9jYWNoZS9wb3N0LXJlZGlyZWN0LWdldC1wcmV0dHktZGlmZi5odG1sVVQFAAPL
0wBQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAoBDuQNsolAOhAQAALwMAAE8AGAAAAAAAAQAA
AKSBwVgFAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvY2FjaGUvcG9zdC13aXRo
LWNhY2hlZC1zdWJyZXNvdXJjZXMtZGlmZi50eHRVVAUAA8vTAFB1eAsAAQToAwAABOgDAABQSwEC
HgMUAAIACACgEO5A/sGlHUABAABaAgAAUQAYAAAAAAABAAAApIHrWgUAdG1wL2xheW91dC10ZXN0
LXJlc3VsdHMvaHR0cC90ZXN0cy9jYWNoZS9wb3N0LXdpdGgtY2FjaGVkLXN1YnJlc291cmNlcy1h
Y3R1YWwudHh0VVQFAAPL0wBQdXgLAAEE6AMAAAToAwAAUEsBAh4DCgAAAAAA8RDuQAAAAAAAAAAA
AAAAACgAGAAAAAAAAAAQAO1BtlwFAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMv
bWlzYy9VVAUAA2XUAFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACADxEO5AFTU1knoAAAC8AAAA
QgAYAAAAAAABAAAApIEYXQUAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9taXNj
L3hzbHQtYmFkLWltcG9ydC1zdGRlcnIudHh0VVQFAANl1ABQdXgLAAEE6AMAAAToAwAAUEsBAh4D
FAACAAgA5RDuQASwvGhuAAAAcgAAAEcAGAAAAAAAAQAAAKSBDl4FAHRtcC9sYXlvdXQtdGVzdC1y
ZXN1bHRzL2h0dHAvdGVzdHMvbWlzYy9kbnMtcHJlZmV0Y2gtY29udHJvbC1zdGRlcnIudHh0VVQF
AANN1ABQdXgLAAEE6AMAAAToAwAAUEsBAh4DCgAAAAAAERHuQAAAAAAAAAAAAAAAACwAGAAAAAAA
AAAQAO1B/V4FAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvc2VjdXJpdHkvVVQF
AAOi1ABQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgACRHuQDyb30xFAAAASQAAAFsAGAAAAAAA
AQAAAKSBY18FAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvc2VjdXJpdHkvc2Ny
aXB0LWNyb3Nzb3JpZ2luLWxvYWRzLWNvcnJlY3RseS1leHBlY3RlZC50eHRVVAUAA5LUAFB1eAsA
AQToAwAABOgDAABQSwECHgMUAAIACAAMEe5AVnBSaWIAAACOAAAAVQAYAAAAAAABAAAApIE9YAUA
dG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3MtREVOSUVELXht
bC1leHRlcm5hbC1lbnRpdHktc3RkZXJyLnR4dFVUBQADl9QAUHV4CwABBOgDAAAE6AMAAFBLAQIe
AxQAAgAIAAwR7kBgS2YQkQAAAPsBAABdABgAAAAAAAEAAACkgS5hBQB0bXAvbGF5b3V0LXRlc3Qt
cmVzdWx0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hzcy1ERU5JRUQteHNsLWRvY3VtZW50LXNlY3Vy
aXR5T3JpZ2luLXN0ZGVyci50eHRVVAUAA5fUAFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACAAJ
Ee5A47P/AfIHAAD2GQAAXwAYAAAAAAABAAAApIFWYgUAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMv
aHR0cC90ZXN0cy9zZWN1cml0eS9zY3JpcHQtY3Jvc3NvcmlnaW4tbG9hZHMtY29ycmVjdGx5LXBy
ZXR0eS1kaWZmLmh0bWxVVAUAA5LUAFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACAAJEe5AAPNn
QskAAABDAQAAWQAYAAAAAAABAAAApIHhagUAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90
ZXN0cy9zZWN1cml0eS9zY3JpcHQtY3Jvc3NvcmlnaW4tbG9hZHMtY29ycmVjdGx5LWFjdHVhbC50
eHRVVAUAA5LUAFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACAAJEe5AYoKPBhYBAAAVAgAAVwAY
AAAAAAABAAAApIE9bAUAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS9zY3JpcHQtY3Jvc3NvcmlnaW4tbG9hZHMtY29ycmVjdGx5LWRpZmYudHh0VVQFAAOS1ABQdXgL
AAEE6AMAAAToAwAAUEsBAh4DFAACAAgACRHuQMyMSI4OAQAAtgEAAFkAGAAAAAAAAQAAAKSB5G0F
AHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvc2VjdXJpdHkvc2NyaXB0LWNyb3Nz
b3JpZ2luLWxvYWRzLWNvcnJlY3RseS13ZGlmZi5odG1sVVQFAAOS1ABQdXgLAAEE6AMAAAToAwAA
UEsBAh4DCgAAAAAAERHuQAAAAAAAAAAAAAAAAEIAGAAAAAAAAAAQAO1BhW8FAHRtcC9sYXlvdXQt
dGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L1VU
BQADotQAUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIABER7kBjqqxsggAAAKgAAABqABgAAAAA
AAEAAACkgQFwBQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nv
bnRlbnRTZWN1cml0eVBvbGljeS94c2wtdW5hZmZlY3RlZC1ieS1zdHlsZS1zcmMtMi1zdGRlcnIu
dHh0VVQFAAOi1ABQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAERHuQGOqrGyCAAAAqAAAAFgA
GAAAAAAAAQAAAKSBJ3EFAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvc2VjdXJp
dHkvY29udGVudFNlY3VyaXR5UG9saWN5L3hzbC1hbGxvd2VkLXN0ZGVyci50eHRVVAUAA6LUAFB1
eAsAAQToAwAABOgDAABQSwECHgMKAAAAAAC1Ee5AAAAAAAAAAAAAAAAAIAAYAAAAAAAAABAA7UE7
cgUAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcmV0cmllcy9VVAUAA9XVAFB1eAsAAQToAwAABOgD
AABQSwECHgMUAAIACADCEe5An1ScrToBAABPAwAALgAYAAAAAAABAAAApIGVcgUAdG1wL2xheW91
dC10ZXN0LXJlc3VsdHMvcmV0cmllcy90ZXN0c19ydW4wLnR4dFVUBQAD69UAUHV4CwABBOgDAAAE
6AMAAFBLBQYAAAAAjwCPAMtRAAA3dAUAAAA=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>152584</attachid>
            <date>2012-07-16 12:21:13 -0700</date>
            <delta_ts>2012-10-01 20:54:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-84883-20120716122113.patch</filename>
            <type>text/plain</type>
            <size>68270</size>
            <attacher name="James Simonsen">simonjam</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA5NTBkNmY1YzY1YTcwZGQ1YTZkYjhjZmUyNDcxYjgwMzkzY2JlZTRlLi5h
NWI1MWIyODdkYjBmY2RlZTBhNDhmY2YyNzM4MjRhMzIxN2E5MjIzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsODcgQEAKKzIwMTItMDctMTMgIEphbWVzIFNpbW9uc2VuICA8c2ltb25qYW1AY2hyb21p
dW0ub3JnPgorCisgICAgICAgIFtSZXNvdXJjZSBUaW1pbmddIEV4cG9zZSB0aW1pbmcgaW5mb3Jt
YXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg0
ODgzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWFr
ZXMgYWxsIG9mIHRoZSByZWxldmFudCBlbGVtZW50cyBwb3B1bGF0ZSB0aGUgUmVzb3VyY2UgVGlt
aW5nIGJ1ZmZlci4KKworICAgICAgICBUaGUgYnVmZmVyIHdpbGwgc3RpbGwgYmUgcG9wdWxhdGVk
IGV2ZW4gaWYgdGhlIG5ldHdvcmsgbGF5ZXIgcHJvdmlkZXMKKyAgICAgICAgbm8gdGltaW5nLiBU
aGlzIGFsbG93cyB1cyB0byB0ZXN0IHdpdGggRFJULgorCisgICAgICAgIFRoZSB0ZXN0cyBhcmUg
d3JpdHRlbiBpbiBXM0Mgc3R5bGUgYW5kIHdpbGwgYmUgdXBzdHJlYW1lZCBzb29uLgorCisgICAg
ICAgIFRlc3RzOiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGlt
aW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9hdHRyaWJ1dGVfb3JkZXIuaHRtbAorICAgICAgICAgICAg
ICAgaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1s
L3Rlc3RfcmVzb3VyY2VfZHluYW1pY19pbnNlcnRpb24uaHRtbAorICAgICAgICAgICAgICAgaHR0
cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3Rf
cmVzb3VyY2VfaW5pdGlhdG9yX3R5cGVzLmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMv
dzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNl
X3JlZGlyZWN0cy5odG1sCisgICAgICAgICAgICAgICBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1
Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9zY3JpcHRfdHlwZXMu
aHRtbAorCisgICAgICAgICogY3NzL0NTU0ZvbnRGYWNlU291cmNlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkNTU0ZvbnRGYWNlU291cmNlOjpDU1NGb250RmFjZVNvdXJjZSk6IEtlZXAgdHJhY2sg
b2YgdGhlIGRvY3VtZW50LCBzbyB3ZSBrbm93IHdoZXJlIHRvIHJlcG9ydCBSZXNvdXJjZSBUaW1p
bmcuCisgICAgICAgIChXZWJDb3JlOjpDU1NGb250RmFjZVNvdXJjZTo6Zm9udExvYWRlZCk6Cisg
ICAgICAgICogY3NzL0NTU0ZvbnRGYWNlU291cmNlLmg6CisgICAgICAgIChDU1NGb250RmFjZVNv
dXJjZSk6CisgICAgICAgICogY3NzL0NTU0ZvbnRTZWxlY3Rvci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpDU1NGb250U2VsZWN0b3I6OmFkZEZvbnRGYWNlUnVsZSk6CisgICAgICAgICogY3NzL0NT
U0ltYWdlVmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTSW1hZ2VWYWx1ZTo6Y2FjaGVk
SW1hZ2UpOgorICAgICAgICAqIGNzcy9TdHlsZVJ1bGVJbXBvcnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U3R5bGVSdWxlSW1wb3J0OjpzZXRDU1NTdHlsZVNoZWV0KToKKyAgICAgICAgKiBkb20v
U2NyaXB0RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRFbGVtZW50Ojpub3Rp
ZnlGaW5pc2hlZCk6CisgICAgICAgICogaHRtbC9IVE1MTGlua0VsZW1lbnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTExpbmtFbGVtZW50OjpzZXRDU1NTdHlsZVNoZWV0KToKKyAgICAgICAg
KiBodG1sL3BhcnNlci9IVE1MU2NyaXB0UnVubmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhU
TUxTY3JpcHRSdW5uZXI6OmV4ZWN1dGVQZW5kaW5nU2NyaXB0QW5kRGlzcGF0Y2hFdmVudCk6Cisg
ICAgICAgICogbG9hZGVyL0ltYWdlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkltYWdl
TG9hZGVyOjpub3RpZnlGaW5pc2hlZCk6CisgICAgICAgICogbG9hZGVyL01haW5SZXNvdXJjZUxv
YWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNYWluUmVzb3VyY2VMb2FkZXI6OmRpZEZpbmlz
aExvYWRpbmcpOgorICAgICAgICAqIGxvYWRlci9SZXNvdXJjZUxvYWROb3RpZmllci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUxvYWROb3RpZmllcjo6ZGlzcGF0Y2hXaWxsU2VuZFJl
cXVlc3QpOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oOgorICAgICAg
ICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OnJlc291cmNlUmVxdWVzdCk6CisgICAgICAgIChX
ZWJDb3JlOjpDYWNoZWRSZXNvdXJjZTo6dXJsKToKKyAgICAgICAgKENhY2hlZFJlc291cmNlKToK
KyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZv
cm1hbmNlOjphZGRSZXNvdXJjZVRpbWluZyk6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZS5o
OgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChQZXJmb3JtYW5jZSk6CisgICAgICAgICog
cGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBl
cmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcpOiBIYW5k
bGUgaW5pdGlhdG9yIGFuZCBudWxsIHRpbWluZy4KKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1h
bmNlUmVzb3VyY2VUaW1pbmc6OmluaXRpYXRvclR5cGUpOiBSZXR1cm4gdGhlIHByb3BlciB2YWx1
ZS4KKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmZldGNoU3Rh
cnQpOiBIYW5kbGUgbnVsbCB0aW1pbmcgZm9yIHRoZSByZXN0IG9mIHRoZXNlLi4uCisgICAgICAg
IChXZWJDb3JlOjpQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpkb21haW5Mb29rdXBTdGFydCk6
CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpkb21haW5Mb29r
dXBFbmQpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6Y29u
bmVjdFN0YXJ0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6
OmNvbm5lY3RFbmQpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWlu
Zzo6c2VjdXJlQ29ubmVjdGlvblN0YXJ0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNl
UmVzb3VyY2VUaW1pbmc6OnJlcXVlc3RTdGFydCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3Jt
YW5jZVJlc291cmNlVGltaW5nOjpyZXNwb25zZVN0YXJ0KToKKyAgICAgICAgKFdlYkNvcmU6OlBl
cmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnJlc3BvbnNlRW5kKToKKyAgICAgICAgKFdlYkNvcmU6
OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6Om1vbm90b25pY1RpbWVUb0RvY3VtZW50TWlsbGlz
ZWNvbmRzKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnJl
c291cmNlVGltZVRvRG9jdW1lbnRNaWxsaXNlY29uZHMpOgorICAgICAgICAqIHBhZ2UvUGVyZm9y
bWFuY2VSZXNvdXJjZVRpbWluZy5oOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VSZXNv
dXJjZVRpbWluZzo6Y3JlYXRlKToKKyAgICAgICAgKFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcp
OgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9TdHlsZUNhY2hlZEltYWdlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlN0eWxlQ2FjaGVkSW1hZ2U6OlN0eWxlQ2FjaGVkSW1hZ2UpOiBLZWVwIHRy
YWNrIG9mIHRoZSBkb2N1bWVudCwgc28gd2Uga25vdyB3aGVyZSB0byByZXBvcnQgUmVzb3VyY2Ug
VGltaW5nLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZUNhY2hl
ZEltYWdlOjpub3RpZnlGaW5pc2hlZCk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0eWxl
Q2FjaGVkSW1hZ2UuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6U3R5
bGVDYWNoZWRJbWFnZTo6Y3JlYXRlKToKKyAgICAgICAgKFN0eWxlQ2FjaGVkSW1hZ2UpOgorICAg
ICAgICAqIHhtbC9YTUxIdHRwUmVxdWVzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpYTUxIdHRw
UmVxdWVzdDo6Y3JlYXRlUmVxdWVzdCk6IFJlbWVtYmVyIHRoZSBvcmlnaW5hbCByZXF1ZXN0LCBz
byB3ZSBjYW4gcG9wdWxhdGUgUmVzb3VyY2UgVGltaW5nLgorICAgICAgICAoV2ViQ29yZTo6WE1M
SHR0cFJlcXVlc3Q6OmRpZEZpbmlzaExvYWRpbmcpOgorICAgICAgICAqIHhtbC9YTUxIdHRwUmVx
dWVzdC5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChYTUxIdHRwUmVxdWVzdCk6CisK
IDIwMTItMDctMTMgIFJheW1vbmQgVG95ICA8cnRveUBnb29nbGUuY29tPgogCiAgICAgICAgIERl
bGF5Tm9kZSBkb2Vzbid0IHdvcmsgaWYgZGVsYXlUaW1lLnZhbHVlID09IGRlbGF5VGltZS5tYXhW
YWx1ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlU291cmNlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZVNvdXJjZS5jcHAKaW5kZXggZGQ5MDRk
MzdmYjk1NGU0NGRiYTY1Mzg3NjczNTgzMTE5OGZhZDNkNy4uZDljZTA2M2Y3ZGYzNjg3Zjg3ZGM4
ZmI5N2YyNjMyNTQzZWE0OTQwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0Zv
bnRGYWNlU291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VTb3Vy
Y2UuY3BwCkBAIC0zNSw2ICszNSwxMiBAQAogI2luY2x1ZGUgIkZvbnREZXNjcmlwdGlvbi5oIgog
I2luY2x1ZGUgIkdseXBoUGFnZVRyZWVOb2RlLmgiCiAjaW5jbHVkZSAiU2ltcGxlRm9udERhdGEu
aCIKKyNpbmNsdWRlIDx3dGYvVW51c2VkUGFyYW0uaD4KKworI2lmIEVOQUJMRShSRVNPVVJDRV9U
SU1JTkcpCisjaW5jbHVkZSAiRE9NV2luZG93LmgiCisjaW5jbHVkZSAiUGVyZm9ybWFuY2UuaCIK
KyNlbmRpZgogCiAjaWYgRU5BQkxFKFNWR19GT05UUykKICNpbmNsdWRlICJGb250Q3VzdG9tUGxh
dGZvcm1EYXRhLmgiCkBAIC00Nyw5ICs1MywxMCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
LUNTU0ZvbnRGYWNlU291cmNlOjpDU1NGb250RmFjZVNvdXJjZShjb25zdCBTdHJpbmcmIHN0ciwg
Q2FjaGVkRm9udCogZm9udCkKK0NTU0ZvbnRGYWNlU291cmNlOjpDU1NGb250RmFjZVNvdXJjZShj
b25zdCBTdHJpbmcmIHN0ciwgQ2FjaGVkRm9udCogZm9udCwgRG9jdW1lbnQqIGRvY3VtZW50KQog
ICAgIDogbV9zdHJpbmcoc3RyKQogICAgICwgbV9mb250KGZvbnQpCisgICAgLCBtX2RvY3VtZW50
KGRvY3VtZW50KQogICAgICwgbV9mYWNlKDApCiAjaWYgRU5BQkxFKFNWR19GT05UUykKICAgICAs
IG1faGFzRXh0ZXJuYWxTVkdGb250KGZhbHNlKQpAQCAtODgsOCArOTUsMTQgQEAgYm9vbCBDU1NG
b250RmFjZVNvdXJjZTo6aXNWYWxpZCgpIGNvbnN0CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLXZv
aWQgQ1NTRm9udEZhY2VTb3VyY2U6OmZvbnRMb2FkZWQoQ2FjaGVkRm9udCopCit2b2lkIENTU0Zv
bnRGYWNlU291cmNlOjpmb250TG9hZGVkKENhY2hlZEZvbnQqIGZvbnQpCiB7CisjaWYgRU5BQkxF
KFJFU09VUkNFX1RJTUlORykKKyAgICBpZiAobV9kb2N1bWVudCkKKyAgICAgICAgbV9kb2N1bWVu
dC0+ZG9tV2luZG93KCktPnBlcmZvcm1hbmNlKCktPmFkZFJlc291cmNlVGltaW5nKCJjc3MiLCBm
b250LT5yZXNvdXJjZVJlcXVlc3QoKSwgZm9udC0+cmVzcG9uc2UoKSwgZm9udC0+bG9hZEZpbmlz
aFRpbWUoKSwgbV9kb2N1bWVudCk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShmb250KTsKKyNl
bmRpZgogICAgIHBydW5lVGFibGUoKTsKICAgICBpZiAobV9mYWNlKQogICAgICAgICBtX2ZhY2Ut
PmZvbnRMb2FkZWQodGhpcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9u
dEZhY2VTb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZVNvdXJjZS5oCmlu
ZGV4IGUzNmZlNDU0MjlhODg2ZmRmNjc4YjYzZjQwYTBmMzA1ODNkZWU0NDkuLmJlZGQ1MzA5ZTEw
NmM2NTg2ZjhmOThkMmU2NTBhYzVjZTRhOGQ2ZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NGb250RmFjZVNvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250
RmFjZVNvdXJjZS5oCkBAIC00Nyw3ICs0Nyw3IEBAIGNsYXNzIFNWR0ZvbnRGYWNlRWxlbWVudDsK
IAogY2xhc3MgQ1NTRm9udEZhY2VTb3VyY2UgOiBwdWJsaWMgQ2FjaGVkRm9udENsaWVudCB7CiBw
dWJsaWM6Ci0gICAgQ1NTRm9udEZhY2VTb3VyY2UoY29uc3QgU3RyaW5nJiwgQ2FjaGVkRm9udCog
PSAwKTsKKyAgICBDU1NGb250RmFjZVNvdXJjZShjb25zdCBTdHJpbmcmLCBDYWNoZWRGb250KiA9
IDAsIERvY3VtZW50KiA9IDApOwogICAgIHZpcnR1YWwgfkNTU0ZvbnRGYWNlU291cmNlKCk7CiAK
ICAgICBib29sIGlzTG9hZGVkKCkgY29uc3Q7CkBAIC03NSw2ICs3NSw3IEBAIHByaXZhdGU6CiAK
ICAgICBBdG9taWNTdHJpbmcgbV9zdHJpbmc7IC8vIFVSSSBmb3IgcmVtb3RlLCBidWlsdC1pbiBm
b250IG5hbWUgZm9yIGxvY2FsLgogICAgIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZEZvbnQ+
IG1fZm9udDsgLy8gRm9yIHJlbW90ZSBmb250cywgYSBwb2ludGVyIHRvIG91ciBjYWNoZWQgcmVz
b3VyY2UuCisgICAgRG9jdW1lbnQqIG1fZG9jdW1lbnQ7CiAgICAgQ1NTRm9udEZhY2UqIG1fZmFj
ZTsgLy8gT3VyIG93bmluZyBmb250IGZhY2UuCiAgICAgSGFzaE1hcDx1bnNpZ25lZCwgU2ltcGxl
Rm9udERhdGEqPiBtX2ZvbnREYXRhVGFibGU7IC8vIFRoZSBoYXNoIGtleSBpcyBjb21wb3NlZCBv
ZiBzaXplIHN5bnRoZXRpYyBzdHlsZXMuCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NGb250U2VsZWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRTZWxlY3Rv
ci5jcHAKaW5kZXggMGE5YTNhMDc4ZTQ0ZTNlOGVkMzUwMWMwYzgxM2FlMDdjMDUzNmE1Ni4uNDcy
OTc0MjUxODE5MzY4OWNmNTdiNTliMTZhM2M5YTA3ZWEwNTlkZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0ZvbnRTZWxlY3Rvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0ZvbnRTZWxlY3Rvci5jcHAKQEAgLTIxMyw3ICsyMTMsNyBAQCB2b2lkIENTU0ZvbnRTZWxl
Y3Rvcjo6YWRkRm9udEZhY2VSdWxlKGNvbnN0IFN0eWxlUnVsZUZvbnRGYWNlKiBmb250RmFjZVJ1
bGUpCiAgICAgICAgICAgICBpZiAoYWxsb3dEb3dubG9hZGluZyAmJiBpdGVtLT5pc1N1cHBvcnRl
ZEZvcm1hdCgpICYmIG1fZG9jdW1lbnQpIHsKICAgICAgICAgICAgICAgICBDYWNoZWRGb250KiBj
YWNoZWRGb250ID0gaXRlbS0+Y2FjaGVkRm9udChtX2RvY3VtZW50KTsKICAgICAgICAgICAgICAg
ICBpZiAoY2FjaGVkRm9udCkgewotICAgICAgICAgICAgICAgICAgICBzb3VyY2UgPSBhZG9wdFB0
cihuZXcgQ1NTRm9udEZhY2VTb3VyY2UoaXRlbS0+cmVzb3VyY2UoKSwgY2FjaGVkRm9udCkpOwor
ICAgICAgICAgICAgICAgICAgICBzb3VyY2UgPSBhZG9wdFB0cihuZXcgQ1NTRm9udEZhY2VTb3Vy
Y2UoaXRlbS0+cmVzb3VyY2UoKSwgY2FjaGVkRm9udCwgbV9kb2N1bWVudCkpOwogI2lmIEVOQUJM
RShTVkdfRk9OVFMpCiAgICAgICAgICAgICAgICAgICAgIGlmIChmb3VuZFNWR0ZvbnQpCiAgICAg
ICAgICAgICAgICAgICAgICAgICBzb3VyY2UtPnNldEhhc0V4dGVybmFsU1ZHRm9udCh0cnVlKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZVZhbHVlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZVZhbHVlLmNwcAppbmRleCA2MTk2NDYzMGM2ZGVjZGFmOTE5
MTI4NWQwODZmOGIzZjAxZTE3ZTkzLi5lYWY5Y2FjNDQzMWM4ZmY5ZDc1YjU3Mzk3ODdlNGNhYjI2
MzM2MDMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VWYWx1ZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlVmFsdWUuY3BwCkBAIC04Myw3ICs4Myw3
IEBAIFN0eWxlQ2FjaGVkSW1hZ2UqIENTU0ltYWdlVmFsdWU6OmNhY2hlZEltYWdlKENhY2hlZFJl
c291cmNlTG9hZGVyKiBsb2FkZXIsIGNvbnN0CiAKICAgICAgICAgUmVzb3VyY2VSZXF1ZXN0IHJl
cXVlc3QobG9hZGVyLT5kb2N1bWVudCgpLT5jb21wbGV0ZVVSTCh1cmwpKTsKICAgICAgICAgaWYg
KENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZEltYWdlPiBjYWNoZWRJbWFnZSA9IGxvYWRlci0+
cmVxdWVzdEltYWdlKHJlcXVlc3QpKQotICAgICAgICAgICAgbV9pbWFnZSA9IFN0eWxlQ2FjaGVk
SW1hZ2U6OmNyZWF0ZShjYWNoZWRJbWFnZS5nZXQoKSk7CisgICAgICAgICAgICBtX2ltYWdlID0g
U3R5bGVDYWNoZWRJbWFnZTo6Y3JlYXRlKGNhY2hlZEltYWdlLmdldCgpLCBsb2FkZXItPmRvY3Vt
ZW50KCkpOwogICAgIH0KIAogICAgIHJldHVybiAobV9pbWFnZSAmJiBtX2ltYWdlLT5pc0NhY2hl
ZEltYWdlKCkpID8gc3RhdGljX2Nhc3Q8U3R5bGVDYWNoZWRJbWFnZSo+KG1faW1hZ2UuZ2V0KCkp
IDogMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGVJbXBvcnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZUltcG9ydC5jcHAKaW5kZXggZGY4ZmEwNzc0
OWUzYWRlNmQ3Yjk2YzhjODRmZWZmMTY4MDNlMGQ0Ny4uMDAxYTc5MDBjNjBmOWU5MTIyYTc1YTU0
ZjJiYjQ4ZTBiOWQwOGNlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVs
ZUltcG9ydC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZUltcG9ydC5jcHAK
QEAgLTMwLDYgKzMwLDExIEBACiAjaW5jbHVkZSAiU3R5bGVTaGVldENvbnRlbnRzLmgiCiAjaW5j
bHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogCisjaWYgRU5BQkxFKFJFU09VUkNFX1RJTUlORykK
KyNpbmNsdWRlICJET01XaW5kb3cuaCIKKyNpbmNsdWRlICJQZXJmb3JtYW5jZS5oIgorI2VuZGlm
CisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogUGFzc1JlZlB0cjxTdHlsZVJ1bGVJbXBvcnQ+IFN0
eWxlUnVsZUltcG9ydDo6Y3JlYXRlKGNvbnN0IFN0cmluZyYgaHJlZiwgUGFzc1JlZlB0cjxNZWRp
YVF1ZXJ5U2V0PiBtZWRpYSkKQEAgLTczLDYgKzc4LDExIEBAIHZvaWQgU3R5bGVSdWxlSW1wb3J0
OjpzZXRDU1NTdHlsZVNoZWV0KGNvbnN0IFN0cmluZyYgaHJlZiwgY29uc3QgS1VSTCYgYmFzZVVS
TCwKICAgICBEb2N1bWVudCogZG9jdW1lbnQgPSBtX3BhcmVudFN0eWxlU2hlZXQgPyBtX3BhcmVu
dFN0eWxlU2hlZXQtPnNpbmdsZU93bmVyRG9jdW1lbnQoKSA6IDA7CiAgICAgbV9zdHlsZVNoZWV0
LT5wYXJzZUF1dGhvclN0eWxlU2hlZXQoY2FjaGVkU3R5bGVTaGVldCwgZG9jdW1lbnQgPyBkb2N1
bWVudC0+c2VjdXJpdHlPcmlnaW4oKSA6IDApOwogCisjaWYgRU5BQkxFKFJFU09VUkNFX1RJTUlO
RykKKyAgICBpZiAoZG9jdW1lbnQpCisgICAgICAgIGRvY3VtZW50LT5kb21XaW5kb3coKS0+cGVy
Zm9ybWFuY2UoKS0+YWRkUmVzb3VyY2VUaW1pbmcoImNzcyIsIGNhY2hlZFN0eWxlU2hlZXQtPnJl
c291cmNlUmVxdWVzdCgpLCBjYWNoZWRTdHlsZVNoZWV0LT5yZXNwb25zZSgpLCBjYWNoZWRTdHls
ZVNoZWV0LT5sb2FkRmluaXNoVGltZSgpLCBkb2N1bWVudCk7CisjZW5kaWYKKwogICAgIG1fbG9h
ZGluZyA9IGZhbHNlOwogCiAgICAgaWYgKG1fcGFyZW50U3R5bGVTaGVldCkgewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
ZG9tL1NjcmlwdEVsZW1lbnQuY3BwCmluZGV4IDljMTY1NGUxZmMxODlmODIyMTY4MzYzM2YyM2I4
NTZjNmU4NTZlYjAuLmM1MGJkYjJlZThhMzRkODUxOTk3NGFjNGJkMjcwMzg4NjkzODgzMTEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5jcHAKQEAgLTUwLDYgKzUwLDEwIEBACiAjaW5j
bHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1RleHRQb3Np
dGlvbi5oPgogCisjaWYgRU5BQkxFKFJFU09VUkNFX1RJTUlORykKKyNpbmNsdWRlICJET01XaW5k
b3cuaCIKKyNpbmNsdWRlICJQZXJmb3JtYW5jZS5oIgorI2VuZGlmCiAjaWYgRU5BQkxFKFNWRykK
ICNpbmNsdWRlICJTVkdOYW1lcy5oIgogI2luY2x1ZGUgIlNWR1NjcmlwdEVsZW1lbnQuaCIKQEAg
LTMzOSw2ICszNDMsMTAgQEAgdm9pZCBTY3JpcHRFbGVtZW50Ojpub3RpZnlGaW5pc2hlZChDYWNo
ZWRSZXNvdXJjZSogcmVzb3VyY2UpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKKyNpZiBFTkFC
TEUoUkVTT1VSQ0VfVElNSU5HKQorICAgIG1fZWxlbWVudC0+ZG9jdW1lbnQoKS0+ZG9tV2luZG93
KCktPnBlcmZvcm1hbmNlKCktPmFkZFJlc291cmNlVGltaW5nKG1fZWxlbWVudCwgcmVzb3VyY2Ut
PnJlc291cmNlUmVxdWVzdCgpLCByZXNvdXJjZS0+cmVzcG9uc2UoKSwgcmVzb3VyY2UtPmxvYWRG
aW5pc2hUaW1lKCkpOworI2VuZGlmCisKICAgICBpZiAobV93aWxsRXhlY3V0ZUluT3JkZXIpCiAg
ICAgICAgIG1fZWxlbWVudC0+ZG9jdW1lbnQoKS0+c2NyaXB0UnVubmVyKCktPm5vdGlmeVNjcmlw
dFJlYWR5KHRoaXMsIFNjcmlwdFJ1bm5lcjo6SU5fT1JERVJfRVhFQ1VUSU9OKTsKICAgICBlbHNl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMaW5rRWxlbWVudC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMaW5rRWxlbWVudC5jcHAKaW5kZXggZjM3OGRlNWRjYzM0
YThhNGVjYjM4OGZhYzQ3Y2JlMWM4ODczMTU1Yi4uZGE1MGVkYzc5MDlhOWFkOTg4MWY5MmJmNGVk
ZjU3ZTMwMDA3ZTdiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGlua0Vs
ZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExpbmtFbGVtZW50LmNwcApA
QCAtNDgsNiArNDgsMTEgQEAKICNpbmNsdWRlICJTdHlsZVNoZWV0Q29udGVudHMuaCIKICNpbmNs
dWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAKKyNpZiBFTkFCTEUoUkVTT1VSQ0VfVElNSU5HKQor
I2luY2x1ZGUgIkRPTVdpbmRvdy5oIgorI2luY2x1ZGUgIlBlcmZvcm1hbmNlLmgiCisjZW5kaWYK
KwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwpAQCAt
MzI1LDYgKzMzMCwxMCBAQCB2b2lkIEhUTUxMaW5rRWxlbWVudDo6c2V0Q1NTU3R5bGVTaGVldChj
b25zdCBTdHJpbmcmIGhyZWYsIGNvbnN0IEtVUkwmIGJhc2VVUkwsCiAKICAgICBzdHlsZVNoZWV0
LT5wYXJzZUF1dGhvclN0eWxlU2hlZXQoY2FjaGVkU3R5bGVTaGVldCwgZG9jdW1lbnQoKS0+c2Vj
dXJpdHlPcmlnaW4oKSk7CiAKKyNpZiBFTkFCTEUoUkVTT1VSQ0VfVElNSU5HKQorICAgIGRvY3Vt
ZW50KCktPmRvbVdpbmRvdygpLT5wZXJmb3JtYW5jZSgpLT5hZGRSZXNvdXJjZVRpbWluZyh0aGlz
LCBjYWNoZWRTdHlsZVNoZWV0LT5yZXNvdXJjZVJlcXVlc3QoKSwgY2FjaGVkU3R5bGVTaGVldC0+
cmVzcG9uc2UoKSwgY2FjaGVkU3R5bGVTaGVldC0+bG9hZEZpbmlzaFRpbWUoKSk7CisjZW5kaWYK
KwogICAgIG1fbG9hZGluZyA9IGZhbHNlOwogICAgIHN0eWxlU2hlZXQtPm5vdGlmeUxvYWRlZFNo
ZWV0KGNhY2hlZFN0eWxlU2hlZXQpOwogICAgIHN0eWxlU2hlZXQtPmNoZWNrTG9hZGVkKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MU2NyaXB0UnVubmVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxTY3JpcHRSdW5uZXIuY3BwCmluZGV4
IDA0MjQ0YTY1OGY2ZTFjYzQwOGExNTViZDcyMGUxNGYwNzVlOWY1YjkuLjA3MDI5OTRlZWRiOWFk
OTU1YzQ1NmRlMzkyYTE3ZjJkZDM1YmFhZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvcGFyc2VyL0hUTUxTY3JpcHRSdW5uZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
cGFyc2VyL0hUTUxTY3JpcHRSdW5uZXIuY3BwCkBAIC00MSw2ICs0MSwxMSBAQAogI2luY2x1ZGUg
IlNjcmlwdEVsZW1lbnQuaCIKICNpbmNsdWRlICJTY3JpcHRTb3VyY2VDb2RlLmgiCiAKKyNpZiBF
TkFCTEUoUkVTT1VSQ0VfVElNSU5HKQorI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgorI2luY2x1ZGUg
IlBlcmZvcm1hbmNlLmgiCisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiB1c2luZyBu
YW1lc3BhY2UgSFRNTE5hbWVzOwpAQCAtMTM2LDYgKzE0MSwxMSBAQCB2b2lkIEhUTUxTY3JpcHRS
dW5uZXI6OmV4ZWN1dGVQZW5kaW5nU2NyaXB0QW5kRGlzcGF0Y2hFdmVudChQZW5kaW5nU2NyaXB0
JiBwZW5kaQogICAgICAgICAgICAgc2NyaXB0RWxlbWVudC0+ZGlzcGF0Y2hFcnJvckV2ZW50KCk7
CiAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgQVNTRVJUKGlzRXhlY3V0aW5nU2NyaXB0KCkp
OworI2lmIEVOQUJMRShSRVNPVVJDRV9USU1JTkcpCisgICAgICAgICAgICBDYWNoZWRSZXNvdXJj
ZUhhbmRsZTxDYWNoZWRTY3JpcHQ+IGNhY2hlZFNjcmlwdCA9IHNjcmlwdEVsZW1lbnQtPmNhY2hl
ZFNjcmlwdCgpOworICAgICAgICAgICAgaWYgKGNhY2hlZFNjcmlwdCkKKyAgICAgICAgICAgICAg
ICBtX2RvY3VtZW50LT5kb21XaW5kb3coKS0+cGVyZm9ybWFuY2UoKS0+YWRkUmVzb3VyY2VUaW1p
bmcoc2NyaXB0RWxlbWVudC0+ZWxlbWVudCgpLCBjYWNoZWRTY3JpcHQtPnJlc291cmNlUmVxdWVz
dCgpLCBjYWNoZWRTY3JpcHQtPnJlc3BvbnNlKCksIGNhY2hlZFNjcmlwdC0+bG9hZEZpbmlzaFRp
bWUoKSk7CisjZW5kaWYKICAgICAgICAgICAgIHNjcmlwdEVsZW1lbnQtPmV4ZWN1dGVTY3JpcHQo
c291cmNlQ29kZSk7CiAgICAgICAgICAgICBlbGVtZW50LT5kaXNwYXRjaEV2ZW50KGNyZWF0ZVNj
cmlwdExvYWRFdmVudCgpKTsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL0ltYWdlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRl
ci5jcHAKaW5kZXggMGUzNzgxY2RiMzEyZTUxYzVjYTVhMDQyZmZmYjZiN2ZhMDNkZTQzNC4uYzZk
MTNiMTRmNzA1MzMwYTRmZTQzNDY1OGY4MmJmOWFhZjk1ZmY5MCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvSW1hZ2VMb2FkZXIuY3BwCkBAIC0zNiw2ICszNiwxMCBAQAogI2luY2x1ZGUgIlNjcmlwdENh
bGxTdGFjay5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAKKyNpZiBFTkFCTEUoUkVT
T1VSQ0VfVElNSU5HKQorI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgorI2luY2x1ZGUgIlBlcmZvcm1h
bmNlLmgiCisjZW5kaWYKICNpZiBFTkFCTEUoU1ZHKQogI2luY2x1ZGUgIlJlbmRlclNWR0ltYWdl
LmgiCiAjZW5kaWYKQEAgLTI3Nyw2ICsyODEsMTAgQEAgdm9pZCBJbWFnZUxvYWRlcjo6bm90aWZ5
RmluaXNoZWQoQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlKQogICAgICAgICByZXR1cm47CiAgICAg
fQogCisjaWYgRU5BQkxFKFJFU09VUkNFX1RJTUlORykKKyAgICBtX2VsZW1lbnQtPmRvY3VtZW50
KCktPmRvbVdpbmRvdygpLT5wZXJmb3JtYW5jZSgpLT5hZGRSZXNvdXJjZVRpbWluZyhtX2VsZW1l
bnQsIHJlc291cmNlLT5yZXNvdXJjZVJlcXVlc3QoKSwgcmVzb3VyY2UtPnJlc3BvbnNlKCksIHJl
c291cmNlLT5sb2FkRmluaXNoVGltZSgpKTsKKyNlbmRpZgorCiAgICAgbG9hZEV2ZW50U2VuZGVy
KCkuZGlzcGF0Y2hFdmVudFNvb24odGhpcyk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9NYWluUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L01haW5SZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggZDBmZjIzYzA4NTA3ODA3Zjc3YzJhYTMxZjE2
OWY2ODBhNTVlZmQ3Ni4uZDQwOTcwMTQ2NmQ0NjU5ODdmNmVkM2ZhZDE1NThjMDUyZTFiOWI4ZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL01haW5SZXNvdXJjZUxvYWRlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL01haW5SZXNvdXJjZUxvYWRlci5jcHAKQEAgLTUz
LDYgKzUzLDExIEBACiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKICNpbmNsdWRlIDx3dGYvQ3VycmVu
dFRpbWUuaD4KIAorI2lmIEVOQUJMRShSRVNPVVJDRV9USU1JTkcpCisjaW5jbHVkZSAiSFRNTEZy
YW1lT3duZXJFbGVtZW50LmgiCisjaW5jbHVkZSAiUGVyZm9ybWFuY2UuaCIKKyNlbmRpZgorCiAj
aWYgUExBVEZPUk0oUVQpCiAjaW5jbHVkZSAiUGx1Z2luRGF0YWJhc2UuaCIKICNlbmRpZgpAQCAt
NTEzLDYgKzUxOCwxMiBAQCB2b2lkIE1haW5SZXNvdXJjZUxvYWRlcjo6ZGlkRmluaXNoTG9hZGlu
Zyhkb3VibGUgZmluaXNoVGltZSkKICAgICAgICAgZGwtPm1heWJlRmluaXNoTG9hZGluZ011bHRp
cGFydENvbnRlbnQoKTsKIAogICAgIGRvY3VtZW50TG9hZGVyKCktPnRpbWluZygpLT5zZXRSZXNw
b25zZUVuZChmaW5pc2hUaW1lID8gZmluaXNoVGltZSA6IChtX3RpbWVPZkxhc3REYXRhUmVjZWl2
ZWQgPyBtX3RpbWVPZkxhc3REYXRhUmVjZWl2ZWQgOiBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1Rp
bWUoKSkpOworI2lmIEVOQUJMRShSRVNPVVJDRV9USU1JTkcpCisgICAgaWYgKG1fZnJhbWUgJiYg
bV9mcmFtZS0+b3duZXJFbGVtZW50KCkgJiYgbV9oYW5kbGUpIHsKKyAgICAgICAgSFRNTEZyYW1l
T3duZXJFbGVtZW50KiBvd25lciA9IG1fZnJhbWUtPm93bmVyRWxlbWVudCgpOworICAgICAgICBv
d25lci0+ZG9jdW1lbnQoKS0+ZG9tV2luZG93KCktPnBlcmZvcm1hbmNlKCktPmFkZFJlc291cmNl
VGltaW5nKG93bmVyLCBtX2hhbmRsZS0+Zmlyc3RSZXF1ZXN0KCksIHJlc3BvbnNlKCksIGZpbmlz
aFRpbWUpOworICAgIH0KKyNlbmRpZgogICAgIGRvY3VtZW50TG9hZGVyKCktPmZpbmlzaGVkTG9h
ZGluZygpOwogICAgIFJlc291cmNlTG9hZGVyOjpkaWRGaW5pc2hMb2FkaW5nKGZpbmlzaFRpbWUp
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkTm90aWZp
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZE5vdGlmaWVyLmNwcApp
bmRleCBiN2Q1Njg2Njg1MzFhMzkyNWE3YTlhNWRkMTY1MTZjOWUyNWUzZjZmLi41NmQ5M2E4YjAz
Njg1NjQ5M2QyNzM1ZjRiZDVmMDc4YTIwYmJkNTk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvUmVzb3VyY2VMb2FkTm90aWZpZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9SZXNvdXJjZUxvYWROb3RpZmllci5jcHAKQEAgLTEyMSw2ICsxMjEsMTAgQEAgdm9pZCBS
ZXNvdXJjZUxvYWROb3RpZmllcjo6ZGlzcGF0Y2hXaWxsU2VuZFJlcXVlc3QoRG9jdW1lbnRMb2Fk
ZXIqIGxvYWRlciwgdW5zaWcKICAgICAvLyBSZXBvcnQgV2ViVGltaW5nIGZvciBhbGwgZnJhbWVz
LgogICAgIGlmIChsb2FkZXIgJiYgIXJlcXVlc3QuaXNOdWxsKCkgJiYgcmVxdWVzdC51cmwoKSA9
PSBsb2FkZXItPnJlcXVlc3RVUkwoKSkKICAgICAgICAgcmVxdWVzdC5zZXRSZXBvcnRMb2FkVGlt
aW5nKHRydWUpOworCisjaWYgRU5BQkxFKFJFU09VUkNFX1RJTUlORykKKyAgICByZXF1ZXN0LnNl
dFJlcG9ydExvYWRUaW1pbmcodHJ1ZSk7CisjZW5kaWYKIH0KIAogdm9pZCBSZXNvdXJjZUxvYWRO
b3RpZmllcjo6ZGlzcGF0Y2hEaWRSZWNlaXZlUmVzcG9uc2UoRG9jdW1lbnRMb2FkZXIqIGxvYWRl
ciwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuaAppbmRleCA3ZmJm
NzMzNjU4NTViMzhhNzA1M2M1OTJkYjYwNmY4ZjFlZDJhODRhLi4wYTQxYzJhNmE0NzUzMDliMjMy
M2QyNWZlMmIyZjQ5Njg3NDgzMDM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
Y2FjaGUvQ2FjaGVkUmVzb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUv
Q2FjaGVkUmVzb3VyY2UuaApAQCAtMTA2LDkgKzEwNiwxMCBAQCBwdWJsaWM6CiAgICAgdmlydHVh
bCBib29sIHNob3VsZElnbm9yZUhUVFBTdGF0dXNDb2RlRXJyb3JzKCkgY29uc3QgeyByZXR1cm4g
ZmFsc2U7IH0KIAogICAgIFJlc291cmNlUmVxdWVzdCYgcmVzb3VyY2VSZXF1ZXN0KCkgeyByZXR1
cm4gbV9yZXNvdXJjZVJlcXVlc3Q7IH0KLSAgICBjb25zdCBLVVJMJiB1cmwoKSBjb25zdCB7IHJl
dHVybiBtX3Jlc291cmNlUmVxdWVzdC51cmwoKTt9CisgICAgY29uc3QgUmVzb3VyY2VSZXF1ZXN0
JiByZXNvdXJjZVJlcXVlc3QoKSBjb25zdCB7IHJldHVybiBtX3Jlc291cmNlUmVxdWVzdDsgfQor
ICAgIGNvbnN0IEtVUkwmIHVybCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVzb3VyY2VSZXF1ZXN0LnVy
bCgpOyB9CiAgICAgVHlwZSB0eXBlKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8VHlwZT4o
bV90eXBlKTsgfQotICAgIAorCiAgICAgUmVzb3VyY2VMb2FkUHJpb3JpdHkgbG9hZFByaW9yaXR5
KCkgY29uc3QgeyByZXR1cm4gbV9sb2FkUHJpb3JpdHk7IH0KICAgICB2b2lkIHNldExvYWRQcmlv
cml0eShSZXNvdXJjZUxvYWRQcmlvcml0eSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGVyZm9ybWFuY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5j
cHAKaW5kZXggOTAzMzkzMDIxOWU2MDQxMTUxNGNjZGU1NmY2NmJlNmI4NTg4ZDUxOS4uNTQ1ODUy
N2M5MTY5ZmJlYTEwNGY3NzQ2MDYzYzY4MjkxOTcyYTE4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJm
b3JtYW5jZS5jcHAKQEAgLTMzLDYgKzMzLDcgQEAKIAogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAj
aW5jbHVkZSAiRG9jdW1lbnRMb2FkZXIuaCIKKyNpbmNsdWRlICJFbGVtZW50LmgiCiAjaW5jbHVk
ZSAiTWVtb3J5SW5mby5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlRW50cnkuaCIKICNpbmNsdWRl
ICJQZXJmb3JtYW5jZU5hdmlnYXRpb24uaCIKQEAgLTE0MywxMiArMTQ0LDE0IEBAIHZvaWQgUGVy
Zm9ybWFuY2U6OndlYmtpdFNldFJlc291cmNlVGltaW5nQnVmZmVyU2l6ZSh1bnNpZ25lZCBpbnQp
CiAgICAgLy8gRklYTUU6IEltcGxlbWVudCB0aGlzLgogfQogCi12b2lkIFBlcmZvcm1hbmNlOjph
ZGRSZXNvdXJjZVRpbWluZyhjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFJl
c291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBkb3VibGUgZmluaXNoVGltZSwgRG9jdW1lbnQqIHJl
cXVlc3RpbmdEb2N1bWVudCkKK3ZvaWQgUGVyZm9ybWFuY2U6OmFkZFJlc291cmNlVGltaW5nKGNv
bnN0IEVsZW1lbnQqIGVsZW1lbnQsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29u
c3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIGRvdWJsZSBmaW5pc2hUaW1lKQogewotICAg
IGlmICghcmVzcG9uc2UucmVzb3VyY2VMb2FkVGltaW5nKCkpCi0gICAgICAgIHJldHVybjsKKyAg
ICBhZGRSZXNvdXJjZVRpbWluZyhlbGVtZW50LT50YWdOYW1lKCkubG93ZXIoKSwgcmVxdWVzdCwg
cmVzcG9uc2UsIGZpbmlzaFRpbWUsIGVsZW1lbnQtPmRvY3VtZW50KCkpOworfQogCi0gICAgUmVm
UHRyPFBlcmZvcm1hbmNlRW50cnk+IGVudHJ5ID0gUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6
Y3JlYXRlKHJlcXVlc3QsIHJlc3BvbnNlLCBmaW5pc2hUaW1lLCByZXF1ZXN0aW5nRG9jdW1lbnQp
Owordm9pZCBQZXJmb3JtYW5jZTo6YWRkUmVzb3VyY2VUaW1pbmcoY29uc3QgU3RyaW5nJiBpbml0
aWF0b3JUeXBlLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFJlc291cmNl
UmVzcG9uc2UmIHJlc3BvbnNlLCBkb3VibGUgZmluaXNoVGltZSwgRG9jdW1lbnQqIGRvY3VtZW50
KQoreworICAgIFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5PiBlbnRyeSA9IFBlcmZvcm1hbmNlUmVz
b3VyY2VUaW1pbmc6OmNyZWF0ZShpbml0aWF0b3JUeXBlLCByZXF1ZXN0LCByZXNwb25zZSwgZmlu
aXNoVGltZSwgZG9jdW1lbnQpOwogICAgIC8vIEZJWE1FOiBOZWVkIHRvIGVuZm9yY2UgYnVmZmVy
IGxpbWl0cy4KICAgICBtX3Jlc291cmNlVGltaW5nQnVmZmVyLmFwcGVuZChlbnRyeSk7CiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BlcmZvcm1hbmNlLmgKaW5kZXggOGJhOGM1ZWVhOTVlZTVkNDNkOGNiZGU0Njcw
ZWQ5MmIyMTk2MWU2OC4uNDZlOGUwZTU5Y2RjMjI0ZDdhNjQ1ODBmYzhiMThiZWMzNzQ2MGUyZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuaApAQCAtNDcsNiArNDcsNyBAQAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBjbGFzcyBEb2N1bWVudDsKK2NsYXNzIEVsZW1lbnQ7CiBjbGFzcyBSZXNv
dXJjZVJlcXVlc3Q7CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogCkBAIC03NSw3ICs3Niw4IEBA
IHB1YmxpYzoKIAogICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIod2Via2l0cmVz
b3VyY2V0aW1pbmdidWZmZXJmdWxsKTsKIAotICAgIHZvaWQgYWRkUmVzb3VyY2VUaW1pbmcoY29u
c3QgUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYsIGRvdWJsZSBmaW5p
c2hUaW1lLCBEb2N1bWVudCopOworICAgIHZvaWQgYWRkUmVzb3VyY2VUaW1pbmcoY29uc3QgRWxl
bWVudCosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmLCBk
b3VibGUgZmluaXNoVGltZSk7CisgICAgdm9pZCBhZGRSZXNvdXJjZVRpbWluZyhjb25zdCBTdHJp
bmcmIGluaXRpYXRvclR5cGUsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFJlc291cmNl
UmVzcG9uc2UmLCBkb3VibGUgZmluaXNoVGltZSwgRG9jdW1lbnQqKTsKICNlbmRpZgogCiAgICAg
dXNpbmcgUmVmQ291bnRlZDxQZXJmb3JtYW5jZT46OnJlZjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuY3BwCmluZGV4IDA5NzZhZGQ3ODAzMjg4
M2MzZjRhNWExN2JmZmJlYWM2ZGVmNGRkMWMuLmU2Mzk0ZDQwZDUyNTVlOTczYmZkYzg1YjMxZmFm
ZTc1NTM0ODBmNzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VS
ZXNvdXJjZVRpbWluZy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVJl
c291cmNlVGltaW5nLmNwcApAQCAtNDQsOCArNDQsOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLVBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmco
Y29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiBy
ZXNwb25zZSwgZG91YmxlIGZpbmlzaFRpbWUsIERvY3VtZW50KiByZXF1ZXN0aW5nRG9jdW1lbnQp
Ci0gICAgOiBQZXJmb3JtYW5jZUVudHJ5KHJlcXVlc3QudXJsKCkuc3RyaW5nKCksICJyZXNvdXJj
ZSIsIHJlc3BvbnNlLnJlc291cmNlTG9hZFRpbWluZygpLT5yZXF1ZXN0VGltZSwgZmluaXNoVGlt
ZSkKK1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmco
Y29uc3QgU3RyaW5nJiBpbml0aWF0b3JUeXBlLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVl
c3QsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBkb3VibGUgZmluaXNoVGltZSwg
RG9jdW1lbnQqIHJlcXVlc3RpbmdEb2N1bWVudCkKKyAgICA6IFBlcmZvcm1hbmNlRW50cnkocmVx
dWVzdC51cmwoKS5zdHJpbmcoKSwgInJlc291cmNlIiwgcmVzcG9uc2UucmVzb3VyY2VMb2FkVGlt
aW5nKCkgPyByZXNwb25zZS5yZXNvdXJjZUxvYWRUaW1pbmcoKS0+cmVxdWVzdFRpbWUgOiAwLCBm
aW5pc2hUaW1lKQorICAgICwgbV9pbml0aWF0b3JUeXBlKGluaXRpYXRvclR5cGUpCiAgICAgLCBt
X3RpbWluZyhyZXNwb25zZS5yZXNvdXJjZUxvYWRUaW1pbmcoKSkKICAgICAsIG1fZmluaXNoVGlt
ZShmaW5pc2hUaW1lKQogICAgICwgbV9yZXF1ZXN0aW5nRG9jdW1lbnQocmVxdWVzdGluZ0RvY3Vt
ZW50KQpAQCAtNTgsOCArNTksNyBAQCBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjp+UGVyZm9y
bWFuY2VSZXNvdXJjZVRpbWluZygpCiAKIFN0cmluZyBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5n
Ojppbml0aWF0b3JUeXBlKCkgY29uc3QKIHsKLSAgICAvLyBGSVhNRTogVGhpcyBzaG91bGQgYmUg
ZGVjaWRlZCBieSB0aGUgcmVzb3VyY2UgdHlwZS4KLSAgICByZXR1cm4gIm90aGVyIjsKKyAgICBy
ZXR1cm4gbV9pbml0aWF0b3JUeXBlOwogfQogCiAvLyBGSVhNRTogTmVlZCB0byBlbmZvcmNlIHNh
bWUtb3JpZ2luIHBvbGljeSBvbiB0aGVzZS4KQEAgLTc3LDExICs3NywxNSBAQCBkb3VibGUgUGVy
Zm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6cmVkaXJlY3RFbmQoKSBjb25zdAogCiBkb3VibGUgUGVy
Zm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6ZmV0Y2hTdGFydCgpIGNvbnN0CiB7CisgICAgaWYgKCFt
X3RpbWluZykKKyAgICAgICAgcmV0dXJuIDAuMDsKICAgICByZXR1cm4gbW9ub3RvbmljVGltZVRv
RG9jdW1lbnRNaWxsaXNlY29uZHMobV90aW1pbmctPnJlcXVlc3RUaW1lKTsKIH0KIAogZG91Ymxl
IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmRvbWFpbkxvb2t1cFN0YXJ0KCkgY29uc3QKIHsK
KyAgICBpZiAoIW1fdGltaW5nKQorICAgICAgICByZXR1cm4gMC4wOwogICAgIGlmIChtX3RpbWlu
Zy0+ZG5zU3RhcnQgPCAwKQogICAgICAgICByZXR1cm4gZmV0Y2hTdGFydCgpOwogCkBAIC05MCw2
ICs5NCw4IEBAIGRvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpkb21haW5Mb29rdXBT
dGFydCgpIGNvbnN0CiAKIGRvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpkb21haW5M
b29rdXBFbmQoKSBjb25zdAogeworICAgIGlmICghbV90aW1pbmcpCisgICAgICAgIHJldHVybiAw
LjA7CiAgICAgaWYgKG1fdGltaW5nLT5kbnNFbmQgPCAwKQogICAgICAgICByZXR1cm4gZG9tYWlu
TG9va3VwU3RhcnQoKTsKIApAQCAtOTgsNiArMTA0LDggQEAgZG91YmxlIFBlcmZvcm1hbmNlUmVz
b3VyY2VUaW1pbmc6OmRvbWFpbkxvb2t1cEVuZCgpIGNvbnN0CiAKIGRvdWJsZSBQZXJmb3JtYW5j
ZVJlc291cmNlVGltaW5nOjpjb25uZWN0U3RhcnQoKSBjb25zdAogeworICAgIGlmICghbV90aW1p
bmcpCisgICAgICAgIHJldHVybiAwLjA7CiAgICAgaWYgKG1fdGltaW5nLT5jb25uZWN0U3RhcnQg
PCAwKSAvLyBDb25uZWN0aW9uIHdhcyByZXVzZWQuCiAgICAgICAgIHJldHVybiBkb21haW5Mb29r
dXBFbmQoKTsKIApAQCAtMTExLDYgKzExOSw4IEBAIGRvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNl
VGltaW5nOjpjb25uZWN0U3RhcnQoKSBjb25zdAogCiBkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJj
ZVRpbWluZzo6Y29ubmVjdEVuZCgpIGNvbnN0CiB7CisgICAgaWYgKCFtX3RpbWluZykKKyAgICAg
ICAgcmV0dXJuIDAuMDsKICAgICBpZiAobV90aW1pbmctPmNvbm5lY3RFbmQgPCAwKSAvLyBDb25u
ZWN0aW9uIHdhcyByZXVzZWQuCiAgICAgICAgIHJldHVybiBjb25uZWN0U3RhcnQoKTsKIApAQCAt
MTE5LDYgKzEyOSw4IEBAIGRvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpjb25uZWN0
RW5kKCkgY29uc3QKIAogZG91YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnNlY3VyZUNv
bm5lY3Rpb25TdGFydCgpIGNvbnN0CiB7CisgICAgaWYgKCFtX3RpbWluZykKKyAgICAgICAgcmV0
dXJuIDAuMDsKICAgICBpZiAobV90aW1pbmctPnNzbFN0YXJ0IDwgMCkgLy8gU2VjdXJlIGNvbm5l
Y3Rpb24gbm90IG5lZ290aWF0ZWQuCiAgICAgICAgIHJldHVybiAwOwogCkBAIC0xMjcsMjggKzEz
OSwzOCBAQCBkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6c2VjdXJlQ29ubmVjdGlv
blN0YXJ0KCkgY29uc3QKIAogZG91YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnJlcXVl
c3RTdGFydCgpIGNvbnN0CiB7CisgICAgaWYgKCFtX3RpbWluZykKKyAgICAgICAgcmV0dXJuIDAu
MDsKICAgICByZXR1cm4gcmVzb3VyY2VUaW1lVG9Eb2N1bWVudE1pbGxpc2Vjb25kcyhtX3RpbWlu
Zy0+c2VuZFN0YXJ0KTsKIH0KIAogZG91YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnJl
c3BvbnNlU3RhcnQoKSBjb25zdAogeworICAgIGlmICghbV90aW1pbmcpCisgICAgICAgIHJldHVy
biAwLjA7CiAgICAgLy8gRklYTUU6IFRoaXMgbnVtYmVyIGlzbid0IGV4YWN0bHkgY29ycmVjdC4g
U2VlIHRoZSBub3RlcyBpbiBQZXJmb3JtYW5jZVRpbWluZzo6cmVzcG9uc2VTdGFydCgpLgogICAg
IHJldHVybiByZXNvdXJjZVRpbWVUb0RvY3VtZW50TWlsbGlzZWNvbmRzKG1fdGltaW5nLT5yZWNl
aXZlSGVhZGVyc0VuZCk7CiB9CiAKIGRvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpy
ZXNwb25zZUVuZCgpIGNvbnN0CiB7CisgICAgaWYgKCFtX3RpbWluZykKKyAgICAgICAgcmV0dXJu
IDAuMDsKICAgICByZXR1cm4gbW9ub3RvbmljVGltZVRvRG9jdW1lbnRNaWxsaXNlY29uZHMobV9m
aW5pc2hUaW1lKTsKIH0KIAogZG91YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6Om1vbm90
b25pY1RpbWVUb0RvY3VtZW50TWlsbGlzZWNvbmRzKGRvdWJsZSBzZWNvbmRzKSBjb25zdAogewog
ICAgIEFTU0VSVChzZWNvbmRzID49IDAuMCk7CisgICAgaWYgKCFzZWNvbmRzKQorICAgICAgICBy
ZXR1cm4gMC4wOwogICAgIHJldHVybiBtX3JlcXVlc3RpbmdEb2N1bWVudC0+bG9hZGVyKCktPnRp
bWluZygpLT5jb252ZXJ0TW9ub3RvbmljVGltZVRvRG9jdW1lbnRUaW1lKHNlY29uZHMpICogMTAw
MC4wOwogfQogCiBkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6cmVzb3VyY2VUaW1l
VG9Eb2N1bWVudE1pbGxpc2Vjb25kcyhpbnQgZGVsdGFNaWxsaXNlY29uZHMpIGNvbnN0CiB7Cisg
ICAgaWYgKCFkZWx0YU1pbGxpc2Vjb25kcykKKyAgICAgICAgcmV0dXJuIDAuMDsKICAgICByZXR1
cm4gbW9ub3RvbmljVGltZVRvRG9jdW1lbnRNaWxsaXNlY29uZHMobV90aW1pbmctPnJlcXVlc3RU
aW1lKSArIGRlbHRhTWlsbGlzZWNvbmRzOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oCmluZGV4IDA4MmI4OTI1MTQ5NjI5ZTg4ZDNkNzFh
YTY4YmIxMWI3NTI2NjBhOTIuLjI0OGRkMmY0Yzg2NDQxYzQ4OTJkNjJjMDcyMTdkYWY0ZDQ0ZWY3
YzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRp
bWluZy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWlu
Zy5oCkBAIC00OCw5ICs0OCw5IEBAIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CiAKIGNsYXNzIFBl
cmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcgOiBwdWJsaWMgUGVyZm9ybWFuY2VFbnRyeSB7CiBwdWJs
aWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZz4gY3Jl
YXRlKGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgUmVzb3VyY2VSZXNwb25z
ZSYgcmVzcG9uc2UsIGRvdWJsZSBmaW5pc2hUaW1lLCBEb2N1bWVudCogcmVxdWVzdGluZ0RvY3Vt
ZW50KQorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc+IGNy
ZWF0ZShjb25zdCBTdHJpbmcmIGluaXRpYXRvclR5cGUsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYg
cmVxdWVzdCwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIGRvdWJsZSBmaW5pc2hU
aW1lLCBEb2N1bWVudCogcmVxdWVzdGluZ0RvY3VtZW50KQogICAgIHsKLSAgICAgICAgcmV0dXJu
IGFkb3B0UmVmKG5ldyBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nKHJlcXVlc3QsIHJlc3BvbnNl
LCBmaW5pc2hUaW1lLCByZXF1ZXN0aW5nRG9jdW1lbnQpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0
UmVmKG5ldyBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nKGluaXRpYXRvclR5cGUsIHJlcXVlc3Qs
IHJlc3BvbnNlLCBmaW5pc2hUaW1lLCByZXF1ZXN0aW5nRG9jdW1lbnQpKTsKICAgICB9CiAKICAg
ICBTdHJpbmcgaW5pdGlhdG9yVHlwZSgpIGNvbnN0OwpAQCAtNzAsMTIgKzcwLDEzIEBAIHB1Ymxp
YzoKICAgICB2aXJ0dWFsIGJvb2wgaXNSZXNvdXJjZSgpIHsgcmV0dXJuIHRydWU7IH0KIAogcHJp
dmF0ZToKLSAgICBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nKGNvbnN0IFJlc291cmNlUmVxdWVz
dCYsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmLCBkb3VibGUgZmluaXNoVGltZSwgRG9jdW1lbnQq
KTsKKyAgICBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nKGNvbnN0IFN0cmluZyYgaW5pdGF0b3JU
eXBlLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiwgZG91
YmxlIGZpbmlzaFRpbWUsIERvY3VtZW50Kik7CiAgICAgflBlcmZvcm1hbmNlUmVzb3VyY2VUaW1p
bmcoKTsKIAogICAgIGRvdWJsZSBtb25vdG9uaWNUaW1lVG9Eb2N1bWVudE1pbGxpc2Vjb25kcyhk
b3VibGUgc2Vjb25kcykgY29uc3Q7CiAgICAgZG91YmxlIHJlc291cmNlVGltZVRvRG9jdW1lbnRN
aWxsaXNlY29uZHMoaW50IGRlbHRhTWlsbGlzZWNvbmRzKSBjb25zdDsKIAorICAgIFN0cmluZyBt
X2luaXRpYXRvclR5cGU7CiAgICAgUmVmUHRyPFJlc291cmNlTG9hZFRpbWluZz4gbV90aW1pbmc7
CiAgICAgZG91YmxlIG1fZmluaXNoVGltZTsKICAgICBSZWZQdHI8RG9jdW1lbnQ+IG1fcmVxdWVz
dGluZ0RvY3VtZW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1N0eWxlQ2FjaGVkSW1hZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0
eWxlQ2FjaGVkSW1hZ2UuY3BwCmluZGV4IDJlM2FiYjk0Mzc0NzAzMTU4ZGZhMTliZjFiNzE1MmU1
ZDE2YTczZmEuLmRjZDVmNzU5MzQwNTkxN2Y1NWM4Zjg2ZmYyOWY1NTI5MTAyNzFjYmUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUNhY2hlZEltYWdlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVDYWNoZWRJbWFnZS5j
cHAKQEAgLTI2LDEwICsyNiwxNyBAQAogCiAjaW5jbHVkZSAiUmVuZGVyT2JqZWN0LmgiCiAKKyNp
ZiBFTkFCTEUoUkVTT1VSQ0VfVElNSU5HKQorI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgorI2luY2x1
ZGUgIkRvY3VtZW50LmgiCisjaW5jbHVkZSAiUGVyZm9ybWFuY2UuaCIKKyNlbmRpZgorCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLVN0eWxlQ2FjaGVkSW1hZ2U6OlN0eWxlQ2FjaGVkSW1hZ2UoQ2Fj
aGVkSW1hZ2UqIGltYWdlKQorU3R5bGVDYWNoZWRJbWFnZTo6U3R5bGVDYWNoZWRJbWFnZShDYWNo
ZWRJbWFnZSogaW1hZ2UsIERvY3VtZW50KiBkb2N1bWVudCkKICAgICA6IG1faW1hZ2UoaW1hZ2Up
CisgICAgLCBtX2RvY3VtZW50KGRvY3VtZW50KQogewogICAgIG1faXNDYWNoZWRJbWFnZSA9IHRy
dWU7CiAgICAgbV9pbWFnZS0+YWRkQ2xpZW50KHRoaXMpOwpAQCAtMTA1LDQgKzExMiwxMCBAQCBQ
YXNzUmVmUHRyPEltYWdlPiBTdHlsZUNhY2hlZEltYWdlOjppbWFnZShSZW5kZXJPYmplY3QqIHJl
bmRlcmVyLCBjb25zdCBJbnRTaXplJgogICAgIHJldHVybiBtX2ltYWdlLT5pbWFnZUZvclJlbmRl
cmVyKHJlbmRlcmVyKTsKIH0KIAorI2lmIEVOQUJMRShSRVNPVVJDRV9USU1JTkcpCit2b2lkIFN0
eWxlQ2FjaGVkSW1hZ2U6Om5vdGlmeUZpbmlzaGVkKENhY2hlZFJlc291cmNlKiByZXNvdXJjZSkK
K3sKKyAgICBtX2RvY3VtZW50LT5kb21XaW5kb3coKS0+cGVyZm9ybWFuY2UoKS0+YWRkUmVzb3Vy
Y2VUaW1pbmcoImNzcyIsIHJlc291cmNlLT5yZXNvdXJjZVJlcXVlc3QoKSwgcmVzb3VyY2UtPnJl
c3BvbnNlKCksIHJlc291cmNlLT5sb2FkRmluaXNoVGltZSgpLCBtX2RvY3VtZW50KTsKK30KKyNl
bmRpZgogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxl
Q2FjaGVkSW1hZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUNhY2hl
ZEltYWdlLmgKaW5kZXggYzk5MTNmZDgyNWIzZTBhN2RkNDQyODFlMDM5YzhiNmM0MzdlY2MzNC4u
M2E2NmEyY2EwY2ViMTE3OGNjOGYzOWUwYzU2NDk4ZTg3Mzk4MzEyOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlQ2FjaGVkSW1hZ2UuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVDYWNoZWRJbWFnZS5oCkBAIC0zMCwxNiAr
MzAsMTggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitjbGFzcyBEb2N1bWVudDsKKwogY2xh
c3MgU3R5bGVDYWNoZWRJbWFnZSA6IHB1YmxpYyBTdHlsZUltYWdlLCBwcml2YXRlIENhY2hlZElt
YWdlQ2xpZW50IHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAgICBz
dGF0aWMgUGFzc1JlZlB0cjxTdHlsZUNhY2hlZEltYWdlPiBjcmVhdGUoQ2FjaGVkSW1hZ2UqIGlt
YWdlKSB7IHJldHVybiBhZG9wdFJlZihuZXcgU3R5bGVDYWNoZWRJbWFnZShpbWFnZSkpOyB9Cisg
ICAgc3RhdGljIFBhc3NSZWZQdHI8U3R5bGVDYWNoZWRJbWFnZT4gY3JlYXRlKENhY2hlZEltYWdl
KiBpbWFnZSwgRG9jdW1lbnQqIGRvY3VtZW50KSB7IHJldHVybiBhZG9wdFJlZihuZXcgU3R5bGVD
YWNoZWRJbWFnZShpbWFnZSwgZG9jdW1lbnQpKTsgfQogICAgIHZpcnR1YWwgflN0eWxlQ2FjaGVk
SW1hZ2UoKTsKIAogICAgIHZpcnR1YWwgV3JhcHBlZEltYWdlUHRyIGRhdGEoKSBjb25zdCB7IHJl
dHVybiBtX2ltYWdlLmdldCgpOyB9CiAKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8Q1NTVmFsdWU+
IGNzc1ZhbHVlKCkgY29uc3Q7Ci0gICAgCisKICAgICBDYWNoZWRJbWFnZSogY2FjaGVkSW1hZ2Uo
KSBjb25zdCB7IHJldHVybiBtX2ltYWdlLmdldCgpOyB9CiAKICAgICB2aXJ0dWFsIGJvb2wgY2Fu
UmVuZGVyKGNvbnN0IFJlbmRlck9iamVjdCosIGZsb2F0IG11bHRpcGxpZXIpIGNvbnN0OwpAQCAt
NTQsMTEgKzU2LDE1IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgYWRkQ2xpZW50KFJlbmRl
ck9iamVjdCopOwogICAgIHZpcnR1YWwgdm9pZCByZW1vdmVDbGllbnQoUmVuZGVyT2JqZWN0Kik7
CiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPEltYWdlPiBpbWFnZShSZW5kZXJPYmplY3QqLCBjb25z
dCBJbnRTaXplJikgY29uc3Q7Ci0gICAgCisjaWYgRU5BQkxFKFJFU09VUkNFX1RJTUlORykKKyAg
ICB2aXJ0dWFsIHZvaWQgbm90aWZ5RmluaXNoZWQoQ2FjaGVkUmVzb3VyY2UqKTsKKyNlbmRpZgor
CiBwcml2YXRlOgotICAgIGV4cGxpY2l0IFN0eWxlQ2FjaGVkSW1hZ2UoQ2FjaGVkSW1hZ2UqKTsK
LSAgICAKKyAgICBTdHlsZUNhY2hlZEltYWdlKENhY2hlZEltYWdlKiwgRG9jdW1lbnQqKTsKKwog
ICAgIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZEltYWdlPiBtX2ltYWdlOworICAgIERvY3Vt
ZW50KiBtX2RvY3VtZW50OwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1s
L1hNTEh0dHBSZXF1ZXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5j
cHAKaW5kZXggZjE2Yjg2NTNiODQxZmMzNjhiNjlkYzljMTFhODVhYTJhZWIzOTA1MS4uNGRmM2Mx
MDQ0NmQ1ZjcxZTYxMzgyMzcxMWEyOGY3YjJiNTc4NmNhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1M
SHR0cFJlcXVlc3QuY3BwCkBAIC02MSw2ICs2MSwxMCBAQAogI2luY2x1ZGUgPHd0Zi9VbnVzZWRQ
YXJhbS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KIAorI2lmIEVOQUJMRShSRVNP
VVJDRV9USU1JTkcpCisjaW5jbHVkZSAiRE9NV2luZG93LmgiCisjaW5jbHVkZSAiUGVyZm9ybWFu
Y2UuaCIKKyNlbmRpZgogI2lmIFVTRShKU0MpCiAjaW5jbHVkZSAiSlNET01CaW5kaW5nLmgiCiAj
aW5jbHVkZSAiSlNET01XaW5kb3cuaCIKQEAgLTcyNiw2ICs3MzAsNyBAQCB2b2lkIFhNTEh0dHBS
ZXF1ZXN0OjpjcmVhdGVSZXF1ZXN0KEV4Y2VwdGlvbkNvZGUmIGVjKQogCiAgICAgaWYgKG1fcmVx
dWVzdEhlYWRlcnMuc2l6ZSgpID4gMCkKICAgICAgICAgcmVxdWVzdC5hZGRIVFRQSGVhZGVyRmll
bGRzKG1fcmVxdWVzdEhlYWRlcnMpOworICAgIG1fb3JpZ2luYWxSZXF1ZXN0ID0gcmVxdWVzdDsK
IAogICAgIFRocmVhZGFibGVMb2FkZXJPcHRpb25zIG9wdGlvbnM7CiAgICAgb3B0aW9ucy5zZW5k
TG9hZENhbGxiYWNrcyA9IFNlbmRDYWxsYmFja3M7CkBAIC0xMDYyLDcgKzEwNjcsNyBAQCB2b2lk
IFhNTEh0dHBSZXF1ZXN0OjpkaWRGYWlsUmVkaXJlY3RDaGVjaygpCiAgICAgbmV0d29ya0Vycm9y
KCk7CiB9CiAKLXZvaWQgWE1MSHR0cFJlcXVlc3Q6OmRpZEZpbmlzaExvYWRpbmcodW5zaWduZWQg
bG9uZyBpZGVudGlmaWVyLCBkb3VibGUpCit2b2lkIFhNTEh0dHBSZXF1ZXN0OjpkaWRGaW5pc2hM
b2FkaW5nKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgZG91YmxlIGZpbmlzaFRpbWUpCiB7CiAg
ICAgaWYgKG1fZXJyb3IpCiAgICAgICAgIHJldHVybjsKQEAgLTEwNzcsNiArMTA4MiwxMiBAQCB2
b2lkIFhNTEh0dHBSZXF1ZXN0OjpkaWRGaW5pc2hMb2FkaW5nKHVuc2lnbmVkIGxvbmcgaWRlbnRp
ZmllciwgZG91YmxlKQogCiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpyZXNvdXJjZVJl
dHJpZXZlZEJ5WE1MSHR0cFJlcXVlc3Qoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBpZGVudGlm
aWVyLCBtX3Jlc3BvbnNlQnVpbGRlci50b1N0cmluZ1ByZXNlcnZlQ2FwYWNpdHkoKSwgbV91cmws
IG1fbGFzdFNlbmRVUkwsIG1fbGFzdFNlbmRMaW5lTnVtYmVyKTsKIAorI2lmIEVOQUJMRShSRVNP
VVJDRV9USU1JTkcpCisgICAgZG9jdW1lbnQoKS0+ZG9tV2luZG93KCktPnBlcmZvcm1hbmNlKCkt
PmFkZFJlc291cmNlVGltaW5nKCJYTUxIdHRwUmVxdWVzdCIsIG1fb3JpZ2luYWxSZXF1ZXN0LCBt
X3Jlc3BvbnNlLCBmaW5pc2hUaW1lLCBkb2N1bWVudCgpKTsKKyNlbHNlCisgICAgVU5VU0VEX1BB
UkFNKGZpbmlzaFRpbWUpOworI2VuZGlmCisKICAgICBib29sIGhhZExvYWRlciA9IG1fbG9hZGVy
OwogICAgIG1fbG9hZGVyID0gMDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hN
TEh0dHBSZXF1ZXN0LmggYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuaAppbmRl
eCA2MDY0MjhiNzZjNzE2NDBjZDBjODE3YzMxOGU5ODVjYWIyZmY0ODJjLi4zNWM0ZGM1MWFkODE2
YmE0ZTI2NTgwY2UxNGUyY2ExOGYzMjYxOGQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94
bWwvWE1MSHR0cFJlcXVlc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVl
c3QuaApAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNpbmNsdWRl
ICJFdmVudFRhcmdldC5oIgogI2luY2x1ZGUgIkZvcm1EYXRhLmgiCisjaW5jbHVkZSAiUmVzb3Vy
Y2VSZXF1ZXN0LmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VSZXNwb25zZS5oIgogI2luY2x1ZGUgIlNl
Y3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVkZSAiVGhyZWFkYWJsZUxvYWRlckNsaWVudC5oIgpAQCAt
MzksNyArNDAsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBCbG9iOwogY2xhc3MgRG9j
dW1lbnQ7CiBjbGFzcyBET01Gb3JtRGF0YTsKLWNsYXNzIFJlc291cmNlUmVxdWVzdDsKIGNsYXNz
IFNlY3VyaXR5T3JpZ2luOwogY2xhc3MgU2hhcmVkQnVmZmVyOwogY2xhc3MgVGV4dFJlc291cmNl
RGVjb2RlcjsKQEAgLTE5NCw2ICsxOTQsNyBAQCBwcml2YXRlOgogICAgIFJlZlB0cjxUaHJlYWRh
YmxlTG9hZGVyPiBtX2xvYWRlcjsKICAgICBTdGF0ZSBtX3N0YXRlOwogCisgICAgUmVzb3VyY2VS
ZXF1ZXN0IG1fb3JpZ2luYWxSZXF1ZXN0OwogICAgIFJlc291cmNlUmVzcG9uc2UgbV9yZXNwb25z
ZTsKICAgICBTdHJpbmcgbV9yZXNwb25zZUVuY29kaW5nOwogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNTAwNWY2Y2M5YmEx
YjdjYTBjYTNkNDhiM2UwNDQ3ODM4MWUyMTM1OS4uMDdjNjBhYzkwMDM1YmZkZTk5ODAzNDBmOTAw
MGFmZWM2OGI3ZDllNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDEyLTA3LTEzICBKYW1lcyBT
aW1vbnNlbiAgPHNpbW9uamFtQGNocm9taXVtLm9yZz4KKworICAgICAgICBbUmVzb3VyY2UgVGlt
aW5nXSBFeHBvc2UgdGltaW5nIGluZm9ybWF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NDg4MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIE1ha2VzIGFsbCBvZiB0aGUgcmVsZXZhbnQgZWxlbWVudHMg
cG9wdWxhdGUgdGhlIFJlc291cmNlIFRpbWluZyBidWZmZXIuCisKKyAgICAgICAgVGhlIGJ1ZmZl
ciB3aWxsIHN0aWxsIGJlIHBvcHVsYXRlZCBldmVuIGlmIHRoZSBuZXR3b3JrIGxheWVyIHByb3Zp
ZGVzCisgICAgICAgIG5vIHRpbWluZy4gVGhpcyBhbGxvd3MgdXMgdG8gdGVzdCB3aXRoIERSVC4K
KworICAgICAgICBUaGUgdGVzdHMgYXJlIHdyaXR0ZW4gaW4gVzNDIHN0eWxlIGFuZCB3aWxsIGJl
IHVwc3RyZWFtZWQgc29vbi4KKworICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVz
b3VyY2VzL0FoZW0udHRmOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJm
L3Jlc291cmNlcy9hbGxfcmVzb3VyY2VfdHlwZXMuaHRtOiBBZGRlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9ibGFua19pbWFnZS5wbmc6IEFkZGVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2VtcHR5X3NjcmlwdC5qczog
QWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJh
dGVfcmVzb3VyY2UucGhwOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJm
L3Jlc291cmNlcy9ncmF5X2JnLmNzczogQWRkZWQuCisgICAgICAgIChib2R5KToKKyAgICAgICAg
KiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9pbmplY3RfcmVzb3VyY2VfdGVzdC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9u
ZXN0ZWQuY3NzOiBBZGRlZC4KKyAgICAgICAgKEBmb250LWZhY2UpOgorICAgICAgICAob2wpOgor
ICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFy
bmVzcy5qczoKKyAgICAgICAgKHRlc3RfZ3JlYXRlcl9vcl9lcXVhbHMpOgorICAgICAgICAodGVz
dF9mYWlsKToKKyAgICAgICAgKHRlc3RfcmVzb3VyY2VfZW50cmllcyk6CisgICAgICAgICogaHR0
cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3Rf
cmVzb3VyY2VfYXR0cmlidXRlX29yZGVyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
aHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rl
c3RfcmVzb3VyY2VfYXR0cmlidXRlX29yZGVyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAv
dGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jl
c291cmNlX2R5bmFtaWNfaW5zZXJ0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
aHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rl
c3RfcmVzb3VyY2VfZHluYW1pY19pbnNlcnRpb24uaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0
cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3Rf
cmVzb3VyY2VfaW5pdGlhdG9yX3R5cGVzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
aHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rl
c3RfcmVzb3VyY2VfaW5pdGlhdG9yX3R5cGVzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAv
dGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jl
c291cmNlX3JlZGlyZWN0cy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVz
dHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291
cmNlX3JlZGlyZWN0cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJw
ZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9zY3JpcHRf
dHlwZXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJw
ZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9zY3JpcHRf
dHlwZXMuaHRtbDogQWRkZWQuCisKIDIwMTItMDctMTMgIFJheW1vbmQgVG95ICA8cnRveUBnb29n
bGUuY29tPgogCiAgICAgICAgIERlbGF5Tm9kZSBkb2Vzbid0IHdvcmsgaWYgZGVsYXlUaW1lLnZh
bHVlID09IGRlbGF5VGltZS5tYXhWYWx1ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvQWhlbS50dGYgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9BaGVtLnR0ZgpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hYzgxY2IwMzE2
NWFiODMxYTM2YWJiNTkxNDVmZjdhMmY1Njc1ZmI5CkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAx
MjQ4MAp6Y21lSE5aRm0mYjZAS1NxWEZxYD9WI0o4X1d7WigzMjc7QyVyTn5GNU5EK31CcU5VMHZK
SU15S3lLIzQ4ZiZ4V3IKeilrZ1UhVDgmQzZCNyVZPDNSKG44NWZLNFZzaXRUVm1vIT5VWkImWTJl
R3BqUkozQTIrK2RxQiRWTFArVz8ze2I8Cnp5PVR0Nz1iZH1jP3p+VXtfJVJiMmBkKDdqcihlVV5R
TF9NTDBKVzFWcU1fT0B5WWZjPnR7VDhkUkUzaFlJMGFzeQp6P0BIRl5STWt3YXlsN1F3SHgwQV4x
PnVNcDNoIURwcmFTQV9eWHdtPyF0Sy1aREllaDNHWklaVEpSPmxqX0x+NSQKenhoN3JfNV9NKz1m
dWQ2QytNfVV7VDZgKylFOFc7JCM2blNYTSVPI20wS05NMXsqbF52R0JzPUc+NVZgIWA+V2pgCnpl
T0U5bkAwM2ZjdUlAN0VBaVA9fEhDUHFEYFUtajdjK1Q+UmZYbzFgTyVwNj9QXkZkIWApTUxHZlp0
WW9lb0lUbwp6OXx0WVhMM3Ijd1UjO2l1d0tpb2dUb2wlO15heWpaU0xKIzFRIzVMIWF+JCVSMnxT
KHlHMTRtVj4rKkFsMTRBSjgKenNrUlJTVExxTmRBKnxEYzwqQmVkPDIrP09sd0xaZ0dZMVheelRG
cyprOH0zYU44MmstY1dTdHtzNntZVHBNMmd+CnpgMDg0dGE1MmRxOWFwPH0hWD97TmdVKXJ5ZlNh
cUFUIVZhRS12ajdgJmdnPDE8UlQ5enAoez5DS0cqVllJMjhwcgp6NGMmMSVkZis8e0NgMXQ3TU5n
YzhCQWtne18jViF9KzMxYVBQPmVxNGl4VHcxeGl9QnNNfVBiUDE4X2JEOylmVzcKekE3TDtxO0pQ
KnghIVI3QnhEWEBvVn5vVF83PUBvO0clbSYlVCFPSzw2eXMyYUB3Zn5WYTUqTzgzUzVid1ZpSkNh
Cnp0OGdfWSk4NyF2UUdxWl9SSDZ6SVJBVU9SS0BGbWFBJnkjSGl2KkhMcCReeGY5dTFnXj52MDM3
YWJLQiVwTDRsPQp6NkYxQH1gfm8tUUUmTEw8Ozh4cyp4QTd9OTsoZ3FYSko1eiVfeV5pQzgqfWd1
LW9AWTBqSzU8cGV2UXtLNHxuMSYKenswNFg5Sl5UcUQ7OG9tJUNacmpxYCoxKHo8N0s+cEtWdWko
eitkb05FV3EjWkFyQGpNVEpab3tASy1BJGQkMCh2CnpWPmtCVktgaDJZU2MwV143Pns1WG1nNy04
I3heVlBJOUIyYkpjKDZVamk+TjVldmRWSDI1WWc3SkV1LUdmVWBBKAp6UVM4aHAlc0BzZFFPY0FD
V3VFJGl4PW5wY3lHd2dTVGQhPnRJaWptNTVJc2F0NnA2bEtwZVFYMjc4Vjg3cGJfajYKeiVuS0Yt
ZGohdThqdG91P24hKXtOWX5RRDVHUEVsZyh9bEQqJmEkX0tfVEQoby1idGRIPXFgazFAQkE7PiVN
RzZUCnpnfXR6NDUxQ0JuP015M28qYyZzYEc3fmN3MDd1JCs0bkFfJDtuJDlJLUo1Q0kxaGxNZ1M9
WHxyPD8pdUtFZXJOTwp6eVo1bmxZa0VnfG16PH5jX1ZrQUlMK1FyIXQjNXR5WDN3MERZfX04TWJA
R3M0bWdqTkQoY3xSZiNkYiNGI04lR1oKelFSM2hNTSowcyNMbkNvOG0rYHpDbn45MDFoPn1AJjBi
N1pUSW1GMiMmaUB1LXBiNld0NEtFU31fYzMtNEdVXmhLCnp3LWI+fGlPSSFgPTVqbGw4O0g7cVJ6
Jjkkc21+S3hQZ3JyUyFiV1QmP3k4QzFEYTdxSE1EOUZkeDBkTFkqaTh8PQp6NjEjc1NkWiFZPCpB
dSVwNUpgNzMoJGcmakthMXl4cyNVfjc3OCZiXmxDPjd6VU1GNVIpN1NTTGx3PD8kcHlXVEkKekw/
KXVsQmVpUVohOE9iY29TUiNpZHEhYnk7ZEolR0JYZzdrTSsySFQrJWxhajRreXlpbCh8US1RSzht
JHhFbXtGCnpDaHBZOVVsN2lgSUdBdnIyV0tzQykmZ2dMYVE0UDtJNEB3PCFUcStSQE1MU3grM01z
Vio/JSRyWExBc1NgXjBzJQp6I21QT0xvWlFLfm8hP140P0A7R0FffUE8WS0qNjcle057SzUyWGcp
Y2I4O3t6MlhrXlRDa0p6S0ZlZUI1SCNyIXsKekMmKyQrV0MjckEreHsjMD8oO2duYkRoV2NtQER7
KFlDR1NVemwjSGtzXmxtPWwtfGxmV3UhN2UyYGRSQHJaUVdaCnp1UGpzNkN8aV9mckImSWQ5OTA4
cWYhYSYkdWE+SWcpWDhkMG91KVJiUDNqVkx3WW97JnNpeEktXl5vUyNeMGw1Pwp6S1cmSU1Nd19I
ZihIZ1d7XyNTKGF3bz09bT9hKzQ5KEAlNj0mKG5vb3RQaiNoPUBhI15wM3JDTnYtU0Q8R0pURHsK
ek1RXyR5Xj9td0xTSE0tXj5nRFMxRHNfIT5PP0pneChfRD9OQ2Y1P3pZUyQqJFBGTEYxP21BPzZq
Q2BZfihhI3VTCnpqND50fFE7WWBWN1VNMnNrK0lVKVZDKm48OCpSb1hacno+ZDdWY3ZBQW9uUXVN
MGNlLTwtVzsxKlMpfn5zQyV0QAp6dDl6SUc5cnUwQEplQHQ9SiFnM2FASDRfUS1jIzxXXn5+X3g7
a25RQXU7KiNkWDN3amg3U0QmQyEoTn1hbzQzZSYKem9fQ21jdG9KSCFqclYlKlpRaUBSaUBpXkpI
K288OD8oeDN3e25UZ3B5ODQyP3pQYGJ9KFlgQnY1I00jYm58PD9xCnozdzxrbT53VmpPWn17SHo5
cV9DRTlEZmdnWn5zOTVOZEUrWCpxYHZ2XncwTHNfYj5DV0BvKGByYCY8M3t7Nl88VQp6S3RaNWFw
bnNxPUZmSzRUNURRRVRHek9YaU85SEN7bip1dW49fEZxblAkeTVQezd5WVBePHlAMG5zViROe1F7
UD0KemhYUmslUUJ1KWFTel94bzJ4WVlgPnVsMyglUCE8QWR1LVhEZSFxT1d0bTc1c2tTIX5HJWV+
RShSaytvY1kqfEImCnorSEFgQCtxYDRURjhJfEJFfXVkRCRGQEYpXjFwMDNtdiVuMDx2aSRgJURx
aklUcz51aFg0bz52cUEjeyhqenhkZQp6bU5eIUV0dTFwYmBmZ2sxU29Cc349Mi1Na1o4LS1YbTs0
YDcrUnNJMm0mY2Ejc0x2LU9DVHtVcTFpMXdmdko0VkQKekU2NUhvRXE7cnpHJHNUITUkWGliRDhH
fkI1WSpYcXkpQTc2ZHpvWXhxKnk4PD9gOX49YihTNHpCU3pNT0FnOEM2CnpyKSp6T1l0X35yckw3
MmtzSFprV1N6M3YpVW11SG1iRjNgTFpiLTE1eW5CWik8eUhAcT8xcE9nRzA2PVFXYmBCewp6UnIy
MDdFTEV+YyFzPW1DcFIoRmp2MFB6VWwzYSkrYnk2UnYxP2tJRnREUEtXKHl9KyF4QCh5QnEtU3l6
PCFtRiEKejlnNEZnJU9tSlRnc3IzcEA/T1g4blZxcldXRXohR1UmZU0oK0wxRntPOyVIcXhebH5V
Sj5fZylJcSUyKEVhb2dxCno4JlJeQU90TyZWbX1HPHxTZ29iIVMrN2d6WCRoQCR3Qz1jbWVMSzdN
Vik5cjtNSUA5NlJpdztCUWlLd3dOSlVJeAp6TW4mQDRJK2w3MXYhVE1RT15Lb2xoZ1FfM09jOUVP
TVgpeTVUaHZGWUQ8VUVwaVB3dXp2Y2ltfGBoLXBFRGs+QjQKenNBWikqbHIoRnFWYGowcUVOTkVP
KXJpVj9MWnItT3N5YkZCRCZrU0hYc2M3ekB0ODxYT3tVQ2Z2Ukk1dyNLVXpKCnpXPn1PQDczMVVL
dW93fUZCd31WRittbnRCRkRueWVwPWV6cVJERVZybHFjZiNOIUhwbmktJChjPXMyXmd0fHBZMgp6
en5NO0tDQi1FfHNeeGl7dTB2KEZtUE98Jl88d3kwekliTjd7RGdIcEwyN24wJGxTb3A7c2hjWEgz
ejl3JCFfXkYKeit3dDRQYm9fNjVqeUdCeU42QiEhalUyV3thQDF5Iz1fWXhNY2FyMEZrSHJeVE5j
UCh6aS0jIXJobXc2THhyYlIrCnoqOz15VnAwZ05tK25BcmRoI2gjejt5M09qXllKeHVBfD1vOWIm
S2hebzFEciRXSypXZVhfUEYtSHU1Rmt3PlhwXgp6a2FfbkpfVGl0e2tCYGFuS1pzQVB4Smg+N0km
JFM2Q2E+KiZpfDRyNlZtZHhnTSYyZn1AME9FbXd9QXx9Xjw+UjgKemshZzE/eHB3byZ1YmdBQ0ZQ
RDt3X2JPUiomeXE+NkQhTS1BdmVCY31rPmo8fTNyRXdzWDBoXmZwcGVnfmVHVSFICkJjQGg4cwoK
bGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvYWxsX3Jlc291cmNlX3R5cGVzLmh0bSBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2FsbF9yZXNvdXJjZV90eXBlcy5o
dG0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZTBjZjBiNjM0YjgxNmFjYmRhNjcyNTZhNjQwYzQxYjEzM2VlZDhhMgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVz
b3VyY2VzL2FsbF9yZXNvdXJjZV90eXBlcy5odG0KQEAgLTAsMCArMSw0MSBAQAorPCFET0NUWVBF
IEhUTUw+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgY29udGVudD0idGV4dC9o
dG1sOyBjaGFyc2V0PXV0Zi04IiBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIC8+CisgICAgICAg
IDx0aXRsZT5BbGwgUmVzb3VyY2UgVHlwZXMgVGVzdCBQYWdlPC90aXRsZT4KKyAgICA8L2hlYWQ+
CisgICAgPGJvZHk+CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICBpZiAod2luZG93LnBh
cmVudC5oYXNPd25Qcm9wZXJ0eSgnb25fdGVzdF9ib2R5X2NyZWF0ZWQnKSkKKyAgICAgICAgICAg
ICAgICB3aW5kb3cucGFyZW50Lm9uX3Rlc3RfYm9keV9jcmVhdGVkKCk7CisgICAgICAgIDwvc2Ny
aXB0PgorICAgICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Im5lc3RlZC5jc3MiPjwv
bGluaz4KKyAgICAgICAgPGltZyBzcmM9ImJsYW5rX2ltYWdlLnBuZyI+PC9pbWc+CisgICAgICAg
IDxpZnJhbWUgc3JjPSJibGFua19wYWdlX2dyZWVuLmh0bSIgd2lkdGg9IjEwMHB4IiBoZWlnaHQ9
IjEwMHB4Ij48L2lmcmFtZT4KKyAgICAgICAgPHNjcmlwdCBzcmM9ImVtcHR5X3NjcmlwdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICB2YXIgeGhyID0gbmV3IFhN
TEh0dHBSZXF1ZXN0OworICAgICAgICAgICAgeGhyLm9wZW4oIkdFVCIsICJibGFua19wYWdlX3ll
bGxvdy5odG0iLCBmYWxzZSk7CisgICAgICAgICAgICB4aHIuc2VuZCgpOworICAgICAgICA8L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgQGZvbnQtZmFjZSB7CisgICAgICAg
ICAgICAgICAgZm9udC1mYW1pbHk6IHJlbW90ZUZvbnQ7CisgICAgICAgICAgICAgICAgc3JjOiB1
cmwoJ0FoZW0udHRmJyk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZnJhbWUgeworICAg
ICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9
aW1hZ2UmaWQ9MScpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgdWwgeworICAgICAgICAg
ICAgICAgIGZvbnQtZmFtaWx5OiByZW1vdGVGb250OworICAgICAgICAgICAgICAgIGxpc3Qtc3R5
bGUtaW1hZ2U6IHVybCgnZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9aW1hZ2UmaWQ9MicpOwor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgICAgICA8dWw+CisgICAgICAgICAg
ICA8bGk+VGVzdDwvbGk+CisgICAgICAgIDwvdWw+CisgICAgICAgIDxvbD4KKyAgICAgICAgICAg
IDxsaT5UZXN0PC9saT4KKyAgICAgICAgPC9vbD4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9ibGFu
a19pbWFnZS5wbmcgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNl
cy9ibGFua19pbWFnZS5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2NmN2E2Y2EwNWJmZmM5MzA1YzhkZWJjYmMy
OWVmMGQxYTVjN2I3NApHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMTAzCnpjbWVBU0BOPyhvbEh5
YHVWQnEhaWEwdnBeajNDVXgxU0JWdjJqMnM2aWk2eXA3fWxNV2M/c2xqN0k7SiFHY2ElcQp1Z0RA
ayp0VF9AdUteeypSI31KT3wkdl4pOHdgWEFlJE1vO2NuYUpscmFSeUlVS2JMaCoyfjdZU2g4Y19p
CgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9lbXB0eV9zY3JpcHQuanMgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9lbXB0eV9zY3JpcHQuanMKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMDkyYmMyYjA0MTI2MTAwODc4NTMwODg4ZTZiMWIzMDYwMmRjZTIxMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2VtcHR5
X3NjcmlwdC5qcwpAQCAtMCwwICsxIEBACis7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHAgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJj
ZS5waHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTI5Mzg3MjFjMWY4ZTZjODk3YWY0M2U2NWJlZGQyNWE0ZDY3MjBm
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYv
cmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocApAQCAtMCwwICsxLDQzIEBACis8P3BocAor
ICAkdHlwZSA9ICRfR0VUWyJ0eXBlIl07CisKKyAgJHJlc3BvbnNlX2NvZGUgPSAyMDA7CisgICRi
b2R5ID0gIiI7CisgICRjb250ZW50X3R5cGUgPSAidGV4dC9wbGFpbiI7CisKKyAgc3dpdGNoICgk
dHlwZSkgeworICBjYXNlICJjc3MiOgorICAgICAgJGJvZHkgPSBmaWxlX2dldF9jb250ZW50cygi
Z3JheV9iZy5jc3MiKTsKKyAgICAgICRjb250ZW50X3R5cGUgPSAidGV4dC9jc3MiOworICAgICAg
YnJlYWs7CisKKyAgY2FzZSAiZm9udCI6CisgICAgICAkYm9keSA9IGZpbGVfZ2V0X2NvbnRlbnRz
KCJBaGVtLnR0ZiIpOworICAgICAgJGNvbnRlbnRfdHlwZSA9ICJhcHBsaWNhdGlvbi9vY3RldC1z
dHJlYW0iOworICAgICAgYnJlYWs7CisKKyAgY2FzZSAiaWZyYW1lIjoKKyAgICAgICRib2R5ID0g
ZmlsZV9nZXRfY29udGVudHMoImJsYW5rX3BhZ2VfZ3JlZW4uaHRtIik7CisgICAgICAkY29udGVu
dF90eXBlID0gInRleHQvaHRtbCI7CisgICAgICBicmVhazsKKworICBjYXNlICJpbWFnZSI6Cisg
ICAgICAkYm9keSA9IGZpbGVfZ2V0X2NvbnRlbnRzKCJibGFua19pbWFnZS5wbmciKTsKKyAgICAg
ICRjb250ZW50X3R5cGUgPSAiaW1hZ2UvcG5nIjsKKyAgICAgIGJyZWFrOworCisgIGNhc2UgInNj
cmlwdCI6CisgICAgICAkYm9keSA9IGZpbGVfZ2V0X2NvbnRlbnRzKCJlbXB0eV9zY3JpcHQuanMi
KTsKKyAgICAgICRjb250ZW50X3R5cGUgPSAidGV4dC9qYXZhc2NyaXB0IjsKKyAgICAgIGJyZWFr
OworCisgIGRlZmF1bHQ6CisgICAgICAkcmVzcG9uc2VfY29kZSA9IDQwNDsKKyAgICAgIGJyZWFr
OworICB9CisKKyAgaGVhZGVyKCJIVFRQLzEuMSAkcmVzcG9uc2VfY29kZSIpOworICBoZWFkZXIo
IkNvbnRlbnQtdHlwZTogJGNvbnRlbnRfdHlwZSIpOworICBwcmludCgkYm9keSk7CisgIGV4aXQ7
Cis/PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNv
dXJjZXMvZ3JheV9iZy5jc3MgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jl
c291cmNlcy9ncmF5X2JnLmNzcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNzA1MTQ1ZmI4NzczNTU4YTc5NTJkYzE0
ZjE4ZmRiNDFlNGI4MjMyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ3JheV9iZy5jc3MKQEAgLTAsMCArMSBAQAorYm9keSB7
IGJhY2tncm91bmQtY29sb3I6ICNiYmJiYmI7IH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2luamVjdF9yZXNvdXJjZV90ZXN0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9pbmplY3RfcmVz
b3VyY2VfdGVzdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFmMTAwNjFjZWM4ODExMTc3ZWZlNTk4ZWI3ZjU4
MzEzODRhZTE2MzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3cz
Yy93ZWJwZXJmL3Jlc291cmNlcy9pbmplY3RfcmVzb3VyY2VfdGVzdC5odG1sCkBAIC0wLDAgKzEs
MyBAQAorPHNjcmlwdD4KK3dpbmRvdy5wYXJlbnQuc2V0dXBfaWZyYW1lKCk7Cis8L3NjcmlwdD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVzb3VyY2Vz
L25lc3RlZC5jc3MgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNl
cy9uZXN0ZWQuY3NzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJmNTA2NWY4NmVhY2FhYzQwZTRlZTIwZDVhYTBmM2Zh
NzhjMjMzNzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93
ZWJwZXJmL3Jlc291cmNlcy9uZXN0ZWQuY3NzCkBAIC0wLDAgKzEsMTAgQEAKK0BpbXBvcnQgImdl
bmVyYXRlX3Jlc291cmNlLnBocD90eXBlPWNzcyZpZD1uMSI7CisKK0Bmb250LWZhY2UgeworICAg
IGZvbnQtZmFtaWx5OiByZW1vdGVGb250OworICAgIHNyYzogdXJsKCdnZW5lcmF0ZV9yZXNvdXJj
ZS5waHA/dHlwZT1mb250JmlkPW4xJyk7Cit9CitvbCB7CisgICAgZm9udC1mYW1pbHk6IHJlbW90
ZUZvbnQ7CisgICAgbGlzdC1zdHlsZS1pbWFnZTogdXJsKCdnZW5lcmF0ZV9yZXNvdXJjZS5waHA/
dHlwZT1pbWFnZSZpZD1uMScpOworfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpzIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpz
CmluZGV4IGE2MzhlZWRkYjMyNjRhYmU1ZWUyYjBlZDNmZGU4OTY5ZGI2MWFiNjEuLjY2YTA0OWM3
MDExOGI2MGEyMGNjNDFhNzhiOTM2N2VhOWE1YWVlZWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVzcy5qcwor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy93ZWJwZXJm
dGVzdGhhcm5lc3MuanMKQEAgLTE1MCw3ICsxNTAsNjMgQEAgZnVuY3Rpb24gdGVzdF9ncmVhdGVy
X3RoYW4odmFsdWUsIGdyZWF0ZXJfdGhhbiwgbXNnLCBwcm9wZXJ0aWVzKQogICAgIHdwX3Rlc3Qo
ZnVuY3Rpb24gKCkgeyBhc3NlcnRfdHJ1ZSh2YWx1ZSA+IGdyZWF0ZXJfdGhhbiwgbXNnKTsgfSwg
bXNnLCBwcm9wZXJ0aWVzKTsKIH0KIAorZnVuY3Rpb24gdGVzdF9ncmVhdGVyX29yX2VxdWFscyh2
YWx1ZSwgZ3JlYXRlcl90aGFuLCBtc2csIHByb3BlcnRpZXMpCit7CisgICAgd3BfdGVzdChmdW5j
dGlvbiAoKSB7IGFzc2VydF90cnVlKHZhbHVlID49IGdyZWF0ZXJfdGhhbiwgbXNnKTsgfSwgbXNn
LCBwcm9wZXJ0aWVzKTsKK30KKwogZnVuY3Rpb24gdGVzdF9ub3RfZXF1YWxzKHZhbHVlLCBub3Rl
cXVhbHMsIG1zZywgcHJvcGVydGllcykKIHsKICAgICB3cF90ZXN0KGZ1bmN0aW9uKCkgeyBhc3Nl
cnRfdHJ1ZSh2YWx1ZSAhPT0gbm90ZXF1YWxzLCBtc2cpOyB9LCBtc2csIHByb3BlcnRpZXMpOwog
fQorCitmdW5jdGlvbiB0ZXN0X2NvbnRhaW5zKG5lZWRsZSwgaGF5c3RhY2ssIG1zZywgcHJvcGVy
dGllcykKK3sKKyAgICB3cF90ZXN0KGZ1bmN0aW9uKCkgeyBhc3NlcnRfdHJ1ZShuZWVkbGUgaW4g
aGF5c3RhY2ssIG1zZyk7IH0sIG1zZywgcHJvcGVydGllcyk7Cit9CisKK2Z1bmN0aW9uIHRlc3Rf
ZmFpbChtc2csIHByb3BlcnRpZXMpCit7CisgICAgd3BfdGVzdChmdW5jdGlvbigpIHsgYXNzZXJ0
X3VucmVhY2hlZCgpOyB9LCBtc2csIHByb3BlcnRpZXMpOworfQorCitmdW5jdGlvbiB0ZXN0X3Jl
c291cmNlX2VudHJpZXMoZW50cmllcywgZXhwZWN0ZWRfZW50cmllcykKK3sKKyAgICAvLyBUaGlz
IGlzIHNsaWdodGx5IGNvbnZvbHV0ZWQgc28gdGhhdCB3ZSBjYW4gc29ydCB0aGUgb3V0cHV0Lgor
ICAgIHZhciBhY3R1YWxfZW50cmllcyA9IHt9OworCisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBl
bnRyaWVzLmxlbmd0aDsgKytpKSB7CisgICAgICAgIHZhciBlbnRyeSA9IGVudHJpZXNbaV07Cisg
ICAgICAgIHZhciBmb3VuZCA9IGZhbHNlOworICAgICAgICBmb3IgKHZhciBleHBlY3RlZF9lbnRy
eSBpbiBleHBlY3RlZF9lbnRyaWVzKSB7CisgICAgICAgICAgICBpZiAoZW50cnkubmFtZSA9PSB3
aW5kb3cubG9jYXRpb24ub3JpZ2luICsgZXhwZWN0ZWRfZW50cnkpIHsKKyAgICAgICAgICAgICAg
ICBmb3VuZCA9IHRydWU7CisgICAgICAgICAgICAgICAgaWYgKGV4cGVjdGVkX2VudHJ5IGluIGFj
dHVhbF9lbnRyaWVzKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RfZmFpbChleHBlY3RlZF9l
bnRyeSArICcgaXMgbm90IGV4cGVjdGVkIHRvIGhhdmUgZHVwbGljYXRlIGVudHJpZXMnKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgYWN0dWFsX2VudHJpZXNbZXhwZWN0ZWRf
ZW50cnldID0gZW50cnk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9Cisg
ICAgICAgIH0KKyAgICAgICAgaWYgKCFmb3VuZCkgeworICAgICAgICAgICAgdGVzdF9mYWlsKGVu
dHJpZXNbaV0ubmFtZSArICcgaXMgbm90IGV4cGVjdGVkIHRvIGJlIGluIHRoZSBSZXNvdXJjZSBU
aW1pbmcgYnVmZmVyJyk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBzb3J0ZWRfdXJscyA9IFtd
OworICAgIGZvciAodmFyIGkgaW4gYWN0dWFsX2VudHJpZXMpIHsKKyAgICAgICAgc29ydGVkX3Vy
bHMucHVzaChpKTsKKyAgICB9CisgICAgc29ydGVkX3VybHMuc29ydCgpOworICAgIGZvciAodmFy
IGkgaW4gc29ydGVkX3VybHMpIHsKKyAgICAgICAgdmFyIHVybCA9IHNvcnRlZF91cmxzW2ldOwor
ICAgICAgICB0ZXN0X2VxdWFscyhhY3R1YWxfZW50cmllc1t1cmxdLmluaXRpYXRvclR5cGUsCisg
ICAgICAgICAgICAgICAgICAgIGV4cGVjdGVkX2VudHJpZXNbdXJsXSwKKyAgICAgICAgICAgICAg
ICAgICAgdXJsICsgJyBpcyBleHBlY3RlZCB0byBoYXZlIGluaXRpYXRvclR5cGUgJyArIGV4cGVj
dGVkX2VudHJpZXNbdXJsXSk7CisgICAgfQorICAgIGZvciAodmFyIGogaW4gZXhwZWN0ZWRfZW50
cmllcykgeworICAgICAgICBpZiAoIShqIGluIGFjdHVhbF9lbnRyaWVzKSkgeworICAgICAgICAg
ICAgdGVzdF9mYWlsKGogKyAnIGlzIGV4cGVjdGVkIHRvIGJlIGluIHRoZSBSZXNvdXJjZSBUaW1p
bmcgYnVmZmVyJyk7CisgICAgICAgIH0KKyAgICB9Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwv
dGVzdF9yZXNvdXJjZV9hdHRyaWJ1dGVfb3JkZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rl
c3RfcmVzb3VyY2VfYXR0cmlidXRlX29yZGVyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40OGE2
ZjQyYzYyMzJkOWQ3OWFiMzNiZmNjMGJlOTk2OWFlYzc2NjFkCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRp
bWluZy9odG1sL3Rlc3RfcmVzb3VyY2VfYXR0cmlidXRlX29yZGVyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDE4IEBACitEZXNjcmlwdGlvbgorCitUaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQgYWxs
IG9mIHRoZSBpbml0aWF0b3IgdHlwZXMgYXJlIHJlcHJlc2VudGVkLgorCisKKworUEFTUyBPbmx5
IDEgUGVyZm9ybWFuY2VFbnRyeSBzaG91bGQgbWF0Y2ggCitQQVNTIHJlZGlyZWN0U3RhcnQgc2hv
dWxkIGJlIDAgCitQQVNTIHJlZGlyZWN0RW5kIHNob3VsZCBiZSAwIAorRkFJTCBmZXRjaFN0YXJ0
IHNob3VsZCBiZSBub24temVybyBhc3NlcnRfdHJ1ZTogZmV0Y2hTdGFydCBzaG91bGQgYmUgbm9u
LXplcm8gZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK1BBU1MgZG9tYWluTG9va3VwU3RhcnQgc2hv
dWxkIGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byBmZXRjaFN0YXJ0IAorUEFTUyBkb21haW5M
b29rdXBFbmQgc2hvdWxkIGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byBkb21haW5Mb29rdXBT
dGFydCAKK1BBU1MgY29ubmVjdFN0YXJ0IHNob3VsZCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwg
dG8gZG9tYWluTG9va3VwRW5kIAorUEFTUyBjb25uZWN0RW5kIHNob3VsZCBiZSBncmVhdGVyIHRo
YW4gb3IgZXF1YWwgdG8gY29ubmVjdFN0YXJ0IAorUEFTUyByZXF1ZXN0U3RhcnQgc2hvdWxkIGJl
IGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byBjb25uZWN0RW5kIAorUEFTUyByZXNwb25zZVN0YXJ0
IHNob3VsZCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gcmVxdWVzdFN0YXJ0IAorUEFTUyBy
ZXNwb25zZUVuZCBzaG91bGQgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIHJlc3BvbnNlU3Rh
cnQgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3Vi
bWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX2F0dHJpYnV0ZV9vcmRl
ci5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jl
c291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2VfYXR0cmlidXRlX29yZGVyLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODMwZDMyM2YyNzNlMTk2Njg5YmQ0ZWNlMTYxMjEzOGE5MDEyYTNiNwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lv
bi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX2F0dHJpYnV0ZV9vcmRlci5odG1s
CkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IGNoYXJzZXQ9InV0Zi04IiAvPgorPHRpdGxlPlJlc291cmNlIFRpbWluZyBhdHRyaWJ1dGUgb3Jk
ZXI8L3RpdGxlPgorPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJHb29nbGUiIGhyZWY9Imh0dHA6
Ly93d3cuZ29vZ2xlLmNvbS8iIC8+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6Ly93d3cu
dzMub3JnL1RSL3Jlc291cmNlLXRpbWluZy8jcGVyZm9ybWFuY2VyZXNvdXJjZXRpbWluZyIvPgor
PHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHNldHVwX2lmcmFtZSgpIHsKKyAgICBp
ZnJhbWUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZnJhbWVDb250ZXh0Jyk7CisgICAgdmFy
IGQgPSBpZnJhbWUuY29udGVudFdpbmRvdy5kb2N1bWVudDsKKyAgICB2YXIgYm9keSA9IGQuY3Jl
YXRlRWxlbWVudCgnYm9keScpOworICAgIGQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2h0bWwnKVsw
XS5hcHBlbmRDaGlsZChib2R5KTsKKworICAgIHZhciBpbWFnZSA9IGQuY3JlYXRlRWxlbWVudCgn
aW1nJyk7CisgICAgaW1hZ2Uuc3JjID0gJy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVf
cmVzb3VyY2UucGhwP3R5cGU9aW1hZ2UnOworICAgIGJvZHkuYXBwZW5kQ2hpbGQoaW1hZ2UpOwor
fQorZnVuY3Rpb24gb25sb2FkX3Rlc3QoKSB7CisgICAgdmFyIGVudHJpZXMgPSBpZnJhbWUuY29u
dGVudFdpbmRvdy5wZXJmb3JtYW5jZS53ZWJraXRHZXRFbnRyaWVzQnlOYW1lKHdpbmRvdy5sb2Nh
dGlvbi5vcmlnaW4gKyAnL3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5w
aHA/dHlwZT1pbWFnZScpOworICAgIHRlc3RfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAxLCAnT25s
eSAxIFBlcmZvcm1hbmNlRW50cnkgc2hvdWxkIG1hdGNoJyk7CisgICAgdmFyIGVudHJ5ID0gZW50
cmllc1swXTsKKworICAgIHRlc3RfZXF1YWxzKGVudHJ5LnJlZGlyZWN0U3RhcnQsIDAsICJyZWRp
cmVjdFN0YXJ0IHNob3VsZCBiZSAwIik7CisgICAgdGVzdF9lcXVhbHMoZW50cnkucmVkaXJlY3RF
bmQsIDAsICJyZWRpcmVjdEVuZCBzaG91bGQgYmUgMCIpOworICAgIHRlc3RfZ3JlYXRlcl90aGFu
KGVudHJ5LmZldGNoU3RhcnQsIDAsICJmZXRjaFN0YXJ0IHNob3VsZCBiZSBub24temVybyIpOwor
ICAgIHRlc3RfZ3JlYXRlcl9vcl9lcXVhbHMoZW50cnkuZG9tYWluTG9va3VwU3RhcnQsIGVudHJ5
LmZldGNoU3RhcnQsICJkb21haW5Mb29rdXBTdGFydCBzaG91bGQgYmUgZ3JlYXRlciB0aGFuIG9y
IGVxdWFsIHRvIGZldGNoU3RhcnQiKTsKKyAgICB0ZXN0X2dyZWF0ZXJfb3JfZXF1YWxzKGVudHJ5
LmRvbWFpbkxvb2t1cEVuZCwgZW50cnkuZG9tYWluTG9va3VwU3RhcnQsICJkb21haW5Mb29rdXBF
bmQgc2hvdWxkIGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byBkb21haW5Mb29rdXBTdGFydCIp
OworICAgIHRlc3RfZ3JlYXRlcl9vcl9lcXVhbHMoZW50cnkuY29ubmVjdFN0YXJ0LCBlbnRyeS5k
b21haW5Mb29rdXBFbmQsICJjb25uZWN0U3RhcnQgc2hvdWxkIGJlIGdyZWF0ZXIgdGhhbiBvciBl
cXVhbCB0byBkb21haW5Mb29rdXBFbmQiKTsKKyAgICB0ZXN0X2dyZWF0ZXJfb3JfZXF1YWxzKGVu
dHJ5LmNvbm5lY3RFbmQsIGVudHJ5LmNvbm5lY3RTdGFydCwgImNvbm5lY3RFbmQgc2hvdWxkIGJl
IGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byBjb25uZWN0U3RhcnQiKTsKKyAgICB0ZXN0X2dyZWF0
ZXJfb3JfZXF1YWxzKGVudHJ5LnJlcXVlc3RTdGFydCwgZW50cnkuY29ubmVjdEVuZCwgInJlcXVl
c3RTdGFydCBzaG91bGQgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIGNvbm5lY3RFbmQiKTsK
KyAgICB0ZXN0X2dyZWF0ZXJfb3JfZXF1YWxzKGVudHJ5LnJlc3BvbnNlU3RhcnQsIGVudHJ5LnJl
cXVlc3RTdGFydCwgInJlc3BvbnNlU3RhcnQgc2hvdWxkIGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVh
bCB0byByZXF1ZXN0U3RhcnQiKTsKKyAgICB0ZXN0X2dyZWF0ZXJfb3JfZXF1YWxzKGVudHJ5LnJl
c3BvbnNlRW5kLCBlbnRyeS5yZXNwb25zZVN0YXJ0LCAicmVzcG9uc2VFbmQgc2hvdWxkIGJlIGdy
ZWF0ZXIgdGhhbiBvciBlcXVhbCB0byByZXNwb25zZVN0YXJ0Iik7Cit9Cis8L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPGgxPkRlc2NyaXB0aW9uPC9oMT4KKzxwPlRoaXMgdGVzdCB2YWxpZGF0
ZXMgdGhhdCBhbGwgb2YgdGhlIGluaXRpYXRvciB0eXBlcyBhcmUgcmVwcmVzZW50ZWQuPC9wPgor
PGRpdiBpZD0ibG9nIj48L2Rpdj4KKzxpZnJhbWUgaWQ9ImZyYW1lQ29udGV4dCIgb25sb2FkPSJv
bmxvYWRfdGVzdCgpOyIgc3JjPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2luamVjdF9yZXNvdXJj
ZV90ZXN0Lmh0bWwiPjwvaWZyYW1lPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWlu
Zy9odG1sL3Rlc3RfcmVzb3VyY2VfZHluYW1pY19pbnNlcnRpb24tZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWlu
Zy9odG1sL3Rlc3RfcmVzb3VyY2VfZHluYW1pY19pbnNlcnRpb24tZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjU5YzQwMGRkZGMyOTg4YTEzMTU2M2FkNDc5MjJjMjI5YTUxMjRjN2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24v
cmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9keW5hbWljX2luc2VydGlvbi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMCBAQAorRGVzY3JpcHRpb24KKworVGhpcyB0ZXN0IHZhbGlk
YXRlcyB0aGF0IGFsbCBvZiB0aGUgaW5pdGlhdG9yIHR5cGVzIGFyZSByZXByZXNlbnRlZCBldmVu
IHdoZW4gZHluYW1pY2FsbHkgaW5zZXJ0ZWQuCisKKworCitQQVNTIC93M2Mvd2VicGVyZi9yZXNv
dXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9Y3NzIGlzIGV4cGVjdGVkIHRvIGhhdmUg
aW5pdGlhdG9yVHlwZSBsaW5rIAorUEFTUyAvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRl
X3Jlc291cmNlLnBocD90eXBlPWlmcmFtZSBpcyBleHBlY3RlZCB0byBoYXZlIGluaXRpYXRvclR5
cGUgaWZyYW1lIAorUEFTUyAvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNl
LnBocD90eXBlPWltYWdlIGlzIGV4cGVjdGVkIHRvIGhhdmUgaW5pdGlhdG9yVHlwZSBpbWcgCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lv
bi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX2R5bmFtaWNfaW5zZXJ0aW9uLmh0
bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3Vy
Y2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9keW5hbWljX2luc2VydGlvbi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmJmNzMxMDg0NzFmMWUxYmZhODAzNDBkM2QyMTczNmIzZWVjYTE0ZjkKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24v
cmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9keW5hbWljX2luc2VydGlvbi5odG1s
CkBAIC0wLDAgKzEsNTIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IGNoYXJzZXQ9InV0Zi04IiAvPgorPHRpdGxlPlJlc291cmNlIFRpbWluZyBpbml0aWF0b3IgdHlw
ZXMgd2l0aCBkeW5hbWljIGluc2VydGlvbjwvdGl0bGU+Cis8bGluayByZWw9ImF1dGhvciIgdGl0
bGU9Ikdvb2dsZSIgaHJlZj0iaHR0cDovL3d3dy5nb29nbGUuY29tLyIgLz4KKzxsaW5rIHJlbD0i
aGVscCIgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvcmVzb3VyY2UtdGltaW5nLyNkb20tcGVy
Zm9ybWFuY2VyZXNvdXJjZXRpbWluZy1pbml0aWF0b3J0eXBlIi8+Cis8c2NyaXB0IHNyYz0iL3cz
Yy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii93M2Mv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
dzNjL3dlYnBlcmYvcmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0PgordmFyIGlmcmFtZTsKK2Z1bmN0aW9uIHNldHVwX2lmcmFtZSgpIHsKKyAgICBpZnJh
bWUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZnJhbWVDb250ZXh0Jyk7CisgICAgdmFyIGQg
PSBpZnJhbWUuY29udGVudFdpbmRvdy5kb2N1bWVudDsKKyAgICB2YXIgYm9keSA9IGQuY3JlYXRl
RWxlbWVudCgnYm9keScpOworICAgIGQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2h0bWwnKVswXS5h
cHBlbmRDaGlsZChib2R5KTsKKworICAgIHZhciBzdHlsZSA9IGQuY3JlYXRlRWxlbWVudCgnbGlu
aycpOworICAgIHN0eWxlLnJlbCA9ICdzdHlsZXNoZWV0JzsKKyAgICBzdHlsZS5ocmVmID0gJy93
M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9Y3NzJzsKKyAg
ICBib2R5LmFwcGVuZENoaWxkKHN0eWxlKTsKKworICAgIHZhciBpbWFnZSA9IGQuY3JlYXRlRWxl
bWVudCgnaW1nJyk7CisgICAgaW1hZ2Uuc3JjID0gJy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2Vu
ZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9aW1hZ2UnOworICAgIGJvZHkuYXBwZW5kQ2hpbGQoaW1h
Z2UpOworCisgICAgdmFyIHN1YmZyYW1lID0gZC5jcmVhdGVFbGVtZW50KCdpZnJhbWUnKTsKKyAg
ICBzdWJmcmFtZS5zcmMgPSAnL3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJj
ZS5waHA/dHlwZT1pZnJhbWUnOworICAgIGJvZHkuYXBwZW5kQ2hpbGQoc3ViZnJhbWUpOworfQor
ZnVuY3Rpb24gb25sb2FkX3Rlc3QoKSB7CisgICAgdmFyIGVudHJpZXMgPSBpZnJhbWUuY29udGVu
dFdpbmRvdy5wZXJmb3JtYW5jZS53ZWJraXRHZXRFbnRyaWVzKCk7CisKKyAgICB2YXIgZXhwZWN0
ZWRfZW50cmllcyA9IHsKKyAgICAgICAgJy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVf
cmVzb3VyY2UucGhwP3R5cGU9Y3NzJzogJ2xpbmsnLAorICAgICAgICAnL3czYy93ZWJwZXJmL3Jl
c291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1pbWFnZSc6ICdpbWcnLAorICAgICAg
ICAnL3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1pZnJh
bWUnOiAnaWZyYW1lJywKKyAgICB9OworCisgICAgdGVzdF9yZXNvdXJjZV9lbnRyaWVzKGVudHJp
ZXMsIGV4cGVjdGVkX2VudHJpZXMpOworfQord2luZG93LnNldHVwX2lmcmFtZSA9IHNldHVwX2lm
cmFtZTsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8aDE+RGVzY3JpcHRpb248L2gxPgor
PHA+VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IGFsbCBvZiB0aGUgaW5pdGlhdG9yIHR5cGVzIGFy
ZSByZXByZXNlbnRlZCBldmVuIHdoZW4gZHluYW1pY2FsbHkgaW5zZXJ0ZWQuPC9wPgorPGRpdiBp
ZD0ibG9nIj48L2Rpdj4KKzxpZnJhbWUgaWQ9ImZyYW1lQ29udGV4dCIgb25sb2FkPSJvbmxvYWRf
dGVzdCgpOyIgc3JjPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2luamVjdF9yZXNvdXJjZV90ZXN0
Lmh0bWwiPjwvaWZyYW1lPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1s
L3Rlc3RfcmVzb3VyY2VfaW5pdGlhdG9yX3R5cGVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90
ZXN0X3Jlc291cmNlX2luaXRpYXRvcl90eXBlcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjlm
OGQ2OGQzOTNiOTQ2MGRlMjhjMWZjYmYyZDY3ZThmOTAyNzc5NgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10
aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX2luaXRpYXRvcl90eXBlcy1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxOCBAQAorRGVzY3JpcHRpb24KKworVGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IGFs
bCBvZiB0aGUgaW5pdGlhdG9yIHR5cGVzIGFyZSByZXByZXNlbnRlZC4KKworCisKK1BBU1MgL3cz
Yy93ZWJwZXJmL3Jlc291cmNlcy9BaGVtLnR0ZiBpcyBleHBlY3RlZCB0byBoYXZlIGluaXRpYXRv
clR5cGUgY3NzIAorUEFTUyAvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2JsYW5rX2ltYWdlLnBuZyBp
cyBleHBlY3RlZCB0byBoYXZlIGluaXRpYXRvclR5cGUgaW1nIAorUEFTUyAvdzNjL3dlYnBlcmYv
cmVzb3VyY2VzL2JsYW5rX3BhZ2VfZ3JlZW4uaHRtIGlzIGV4cGVjdGVkIHRvIGhhdmUgaW5pdGlh
dG9yVHlwZSBpZnJhbWUgCitQQVNTIC93M2Mvd2VicGVyZi9yZXNvdXJjZXMvYmxhbmtfcGFnZV95
ZWxsb3cuaHRtIGlzIGV4cGVjdGVkIHRvIGhhdmUgaW5pdGlhdG9yVHlwZSBYTUxIdHRwUmVxdWVz
dCAKK1BBU1MgL3czYy93ZWJwZXJmL3Jlc291cmNlcy9lbXB0eV9zY3JpcHQuanMgaXMgZXhwZWN0
ZWQgdG8gaGF2ZSBpbml0aWF0b3JUeXBlIHNjcmlwdCAKK1BBU1MgL3czYy93ZWJwZXJmL3Jlc291
cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1jc3MmaWQ9bjEgaXMgZXhwZWN0ZWQgdG8g
aGF2ZSBpbml0aWF0b3JUeXBlIGNzcyAKK1BBU1MgL3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5l
cmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1mb250JmlkPW4xIGlzIGV4cGVjdGVkIHRvIGhhdmUgaW5p
dGlhdG9yVHlwZSBjc3MgCitQQVNTIC93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVz
b3VyY2UucGhwP3R5cGU9aW1hZ2UmaWQ9MSBpcyBleHBlY3RlZCB0byBoYXZlIGluaXRpYXRvclR5
cGUgY3NzIAorUEFTUyAvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBo
cD90eXBlPWltYWdlJmlkPTIgaXMgZXhwZWN0ZWQgdG8gaGF2ZSBpbml0aWF0b3JUeXBlIGNzcyAK
K1BBU1MgL3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1p
bWFnZSZpZD1uMSBpcyBleHBlY3RlZCB0byBoYXZlIGluaXRpYXRvclR5cGUgY3NzIAorUEFTUyAv
dzNjL3dlYnBlcmYvcmVzb3VyY2VzL25lc3RlZC5jc3MgaXMgZXhwZWN0ZWQgdG8gaGF2ZSBpbml0
aWF0b3JUeXBlIGxpbmsgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNj
L3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX2lu
aXRpYXRvcl90eXBlcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9z
dWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2VfaW5pdGlhdG9yX3R5
cGVzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMGE2ZTVjZmRiMWUyZTQ2ZDAxMmEwNzJmNzE1NDNmMWQ3N2Uy
OTU0MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBl
cmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX2luaXRpYXRv
cl90eXBlcy5odG1sCkBAIC0wLDAgKzEsODUgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPgorPHRpdGxlPlJlc291cmNlIFRpbWluZyBp
bml0aWF0b3IgdHlwZXM8L3RpdGxlPgorPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJHb29nbGUi
IGhyZWY9Imh0dHA6Ly93d3cuZ29vZ2xlLmNvbS8iIC8+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9
Imh0dHA6Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRpbWluZy8jZG9tLXBlcmZvcm1hbmNlcmVz
b3VyY2V0aW1pbmctaW5pdGlhdG9ydHlwZSIvPgorPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3czYy93ZWJwZXJm
L3Jlc291cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK3Nl
dHVwKHtleHBsaWNpdF9kb25lOiB0cnVlfSk7CisKK3ZhciBiYWNrZ3JvdW5kX2xvYWRlZCA9IGZh
bHNlOwordmFyIGZvbnRfbG9hZGVkID0gZmFsc2U7Cit2YXIgcGFnZV9sb2FkZWQgPSBmYWxzZTsK
KworZnVuY3Rpb24gY2hlY2tfZmluaXNoZWQoKSB7CisgICAgaWYgKCFmb250X2xvYWRlZCkgewor
ICAgICAgICBjaGVja19mb250X2xvYWRlZCgpOworICAgIH0KKyAgICBpZiAocGFnZV9sb2FkZWQg
JiYgZm9udF9sb2FkZWQgJiYgYmFja2dyb3VuZF9sb2FkZWQpIHsKKyAgICAgICAgcGVyZm9ybV90
ZXN0KCk7CisgICAgfQorfQorCitmdW5jdGlvbiBjaGVja19mb250X2xvYWRlZCgpIHsKKyAgICBp
ZiAoIXRoaXMuaGFzT3duUHJvcGVydHkoJ29yaWdpbmFsX3dpZHRoJykpIHsKKyAgICAgICAgdmFy
IGQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZnJhbWVDb250ZXh0JykuY29udGVudFdpbmRv
dy5kb2N1bWVudDsKKyAgICAgICAgdGhpcy5vbCA9IGQuY3JlYXRlRWxlbWVudCgnb2wnKTsKKyAg
ICAgICAgdGhpcy5saSA9IGQuY3JlYXRlRWxlbWVudCgnbGknKTsKKyAgICAgICAgdGhpcy5saS5p
bm5lckhUTUwgPSAnd2lkdGhfdGVzdCc7CisgICAgICAgIHRoaXMub2wuYXBwZW5kQ2hpbGQodGhp
cy5saSk7CisgICAgICAgIGQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2JvZHknKVswXS5hcHBlbmRD
aGlsZCh0aGlzLm9sKTsKKyAgICAgICAgdGhpcy5vcmlnaW5hbF93aWR0aCA9IHRoaXMubGkub2Zm
c2V0SGVpZ2h0OworICAgIH0KKyAgICBmb250X2xvYWRlZCA9IHRoaXMub3JpZ2luYWxfd2lkdGgg
IT0gdGhpcy5saS5vZmZzZXRIZWlnaHQ7Cit9CisKK2Z1bmN0aW9uIG9ubG9hZF90ZXN0KCkgewor
ICAgIHBhZ2VfbG9hZGVkID0gdHJ1ZTsKKworICAgIHZhciBpbWFnZSA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoJ2ltZycpOworICAgIGltYWdlLnNyYyA9ICcvdzNjL3dlYnBlcmYvcmVzb3VyY2Vz
L2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPWltYWdlJmlkPW4xJzsKKyAgICBiYWNrZ3JvdW5k
X2xvYWRlZCA9IGltYWdlLmNvbXBsZXRlZDsKKyAgICBpZiAoIWJhY2tncm91bmRfbG9hZGVkKSB7
CisgICAgICAgIGltYWdlLm9ubG9hZCA9IGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgYmFja2dy
b3VuZF9sb2FkZWQgPSB0cnVlOworICAgICAgICB9CisgICAgfQorCisgICAgc2V0SW50ZXJ2YWwo
Y2hlY2tfZmluaXNoZWQsIDEwMCk7Cit9CisKK2Z1bmN0aW9uIHBlcmZvcm1fdGVzdCgpIHsKKyAg
ICB2YXIgZW50cmllcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmcmFtZUNvbnRleHQnKS5j
b250ZW50V2luZG93LnBlcmZvcm1hbmNlLndlYmtpdEdldEVudHJpZXMoKTsKKworICAgIHZhciBl
eHBlY3RlZF9lbnRyaWVzID0geworICAgICAgICAnL3czYy93ZWJwZXJmL3Jlc291cmNlcy9uZXN0
ZWQuY3NzJzogJ2xpbmsnLAorICAgICAgICAnL3czYy93ZWJwZXJmL3Jlc291cmNlcy9ibGFua19p
bWFnZS5wbmcnOiAnaW1nJywKKyAgICAgICAgJy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvYmxhbmtf
cGFnZV9ncmVlbi5odG0nOiAnaWZyYW1lJywKKyAgICAgICAgJy93M2Mvd2VicGVyZi9yZXNvdXJj
ZXMvZW1wdHlfc2NyaXB0LmpzJzogJ3NjcmlwdCcsCisgICAgICAgICcvdzNjL3dlYnBlcmYvcmVz
b3VyY2VzL2JsYW5rX3BhZ2VfeWVsbG93Lmh0bSc6ICdYTUxIdHRwUmVxdWVzdCcsCisgICAgICAg
ICcvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPWltYWdl
JmlkPTEnOiAnY3NzJywKKyAgICAgICAgJy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVf
cmVzb3VyY2UucGhwP3R5cGU9aW1hZ2UmaWQ9Mic6ICdjc3MnLAorICAgICAgICAnL3czYy93ZWJw
ZXJmL3Jlc291cmNlcy9BaGVtLnR0Zic6ICdjc3MnLAorICAgICAgICAnL3czYy93ZWJwZXJmL3Jl
c291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1jc3MmaWQ9bjEnOiAnY3NzJywKKyAg
ICAgICAgJy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9
Zm9udCZpZD1uMSc6ICdjc3MnLAorICAgICAgICAnL3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5l
cmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1pbWFnZSZpZD1uMSc6ICdjc3MnLAorICAgIH07CisKKyAg
ICB0ZXN0X3Jlc291cmNlX2VudHJpZXMoZW50cmllcywgZXhwZWN0ZWRfZW50cmllcyk7CisgICAg
ZG9uZSgpOworfQorCit3aW5kb3cub25fdGVzdF9ib2R5X2NyZWF0ZWQgPSBjaGVja19mb250X2xv
YWRlZDsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8aDE+RGVzY3JpcHRpb248L2gxPgor
PHA+VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IGFsbCBvZiB0aGUgaW5pdGlhdG9yIHR5cGVzIGFy
ZSByZXByZXNlbnRlZC48L3A+Cis8ZGl2IGlkPSJsb2ciPjwvZGl2PgorPGlmcmFtZSBpZD0iZnJh
bWVDb250ZXh0IiBvbmxvYWQ9Im9ubG9hZF90ZXN0KCk7IiBzcmM9Ii93M2Mvd2VicGVyZi9yZXNv
dXJjZXMvYWxsX3Jlc291cmNlX3R5cGVzLmh0bSIgc3R5bGU9IndpZHRoOiAyNTBweDsgaGVpZ2h0
OiAyNTBweDsiPjwvaWZyYW1lPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9o
dG1sL3Rlc3RfcmVzb3VyY2VfcmVkaXJlY3RzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0
X3Jlc291cmNlX3JlZGlyZWN0cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjZjYzkwNzBmYzI5
Mzk3NWFkOWY2ODVlNTE2ZTU4ZmU0M2I0MGE5NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRt
bC90ZXN0X3Jlc291cmNlX3JlZGlyZWN0cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMiBAQAor
RGVzY3JpcHRpb24KKworVGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IHJlZGlyZWN0cyBkbyBub3Qg
YWx0ZXIgdGhlIFVSTC4KKworCisKK1BBU1MgL3czYy93ZWJwZXJmL3Jlc291cmNlcy9yZWRpcmVj
dC5waHA/bG9jYXRpb249L3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5w
aHAlM0Z0eXBlPWNzcyBpcyBleHBlY3RlZCB0byBoYXZlIGluaXRpYXRvclR5cGUgbGluayAKK1BB
U1MgL3czYy93ZWJwZXJmL3Jlc291cmNlcy9yZWRpcmVjdC5waHA/bG9jYXRpb249L3czYy93ZWJw
ZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHAlM0Z0eXBlPWlmcmFtZSBpcyBleHBl
Y3RlZCB0byBoYXZlIGluaXRpYXRvclR5cGUgaWZyYW1lIAorUEFTUyAvdzNjL3dlYnBlcmYvcmVz
b3VyY2VzL3JlZGlyZWN0LnBocD9sb2NhdGlvbj0vdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVy
YXRlX3Jlc291cmNlLnBocCUzRnR5cGU9aWZyYW1lJTI2aWQ9eGhyIGlzIGV4cGVjdGVkIHRvIGhh
dmUgaW5pdGlhdG9yVHlwZSBYTUxIdHRwUmVxdWVzdCAKK1BBU1MgL3czYy93ZWJwZXJmL3Jlc291
cmNlcy9yZWRpcmVjdC5waHA/bG9jYXRpb249L3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0
ZV9yZXNvdXJjZS5waHAlM0Z0eXBlPWltYWdlIGlzIGV4cGVjdGVkIHRvIGhhdmUgaW5pdGlhdG9y
VHlwZSBpbWcgCitQQVNTIC93M2Mvd2VicGVyZi9yZXNvdXJjZXMvcmVkaXJlY3QucGhwP2xvY2F0
aW9uPS93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwJTNGdHlwZT1z
Y3JpcHQgaXMgZXhwZWN0ZWQgdG8gaGF2ZSBpbml0aWF0b3JUeXBlIHNjcmlwdCAKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291
cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2VfcmVkaXJlY3RzLmh0bWwgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwv
dGVzdF9yZXNvdXJjZV9yZWRpcmVjdHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mYTgzMjNkMmNhOTZmMTQ1
ZGFiNWRjZGMzZmZlZjkxOGNlNDhiNzBhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rl
c3RfcmVzb3VyY2VfcmVkaXJlY3RzLmh0bWwKQEAgLTAsMCArMSw0OSBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+Cis8dGl0bGU+UmVz
b3VyY2UgVGltaW5nIHJlZGlyZWN0IG5hbWVzPC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0
aXRsZT0iR29vZ2xlIiBocmVmPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20vIiAvPgorPGxpbmsgcmVs
PSJoZWxwIiBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9yZXNvdXJjZS10aW1pbmcvI3BlcmZv
cm1hbmNlcmVzb3VyY2V0aW1pbmciLz4KKzxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii93M2Mvd2VicGVyZi9yZXNv
dXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+Cit2YXIgaWZy
YW1lOworZnVuY3Rpb24gc2V0dXBfaWZyYW1lKCkgeworICAgIHZhciBpZnJhbWVfY29udGVudCA9
CisgICAgICAgICc8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii93M2Mvd2VicGVyZi9yZXNv
dXJjZXMvcmVkaXJlY3QucGhwP2xvY2F0aW9uPS93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJh
dGVfcmVzb3VyY2UucGhwJTNGdHlwZT1jc3MiPjwvbGluaz4nICsKKyAgICAgICAgJzxpbWcgc3Jj
PSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL3JlZGlyZWN0LnBocD9sb2NhdGlvbj0vdzNjL3dlYnBl
cmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocCUzRnR5cGU9aW1hZ2UiPjwvaW1nPicg
KworICAgICAgICAnPGlmcmFtZSBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMvcmVkaXJlY3Qu
cGhwP2xvY2F0aW9uPS93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhw
JTNGdHlwZT1pZnJhbWUiPjwvaWZyYW1lPicgKworICAgICAgICAnPHNjcmlwdCBzcmM9Ii93M2Mv
d2VicGVyZi9yZXNvdXJjZXMvcmVkaXJlY3QucGhwP2xvY2F0aW9uPS93M2Mvd2VicGVyZi9yZXNv
dXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwJTNGdHlwZT1zY3JpcHQiPjwvc2NyJyArICdpcHQ+
JyArCisgICAgICAgICc8c2NyaXB0PicgKworICAgICAgICAndmFyIHhociA9IG5ldyBYTUxIdHRw
UmVxdWVzdDsnICsKKyAgICAgICAgJ3hoci5vcGVuKCJHRVQiLCAiL3czYy93ZWJwZXJmL3Jlc291
cmNlcy9yZWRpcmVjdC5waHA/bG9jYXRpb249L3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0
ZV9yZXNvdXJjZS5waHAlM0Z0eXBlPWlmcmFtZSUyNmlkPXhociIsIGZhbHNlKTsnICsKKyAgICAg
ICAgJ3hoci5zZW5kKCk7JyArCisgICAgICAgICc8L3NjcicgKyAnaXB0Pic7CisgICAgaWZyYW1l
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ZyYW1lQ29udGV4dCcpOworICAgIGlmcmFtZS5j
b250ZW50V2luZG93LmRvY3VtZW50LndyaXRlKGlmcmFtZV9jb250ZW50KTsKK30KK2Z1bmN0aW9u
IG9ubG9hZF90ZXN0KCkgeworICAgIHZhciBlbnRyaWVzID0gaWZyYW1lLmNvbnRlbnRXaW5kb3cu
cGVyZm9ybWFuY2Uud2Via2l0R2V0RW50cmllcygpOworCisgICAgdmFyIGV4cGVjdGVkX2VudHJp
ZXMgPSB7CisgICAgICAgICcvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL3JlZGlyZWN0LnBocD9sb2Nh
dGlvbj0vdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocCUzRnR5cGU9
Y3NzJzogJ2xpbmsnLAorICAgICAgICAnL3czYy93ZWJwZXJmL3Jlc291cmNlcy9yZWRpcmVjdC5w
aHA/bG9jYXRpb249L3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHAl
M0Z0eXBlPWltYWdlJzogJ2ltZycsCisgICAgICAgICcvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL3Jl
ZGlyZWN0LnBocD9sb2NhdGlvbj0vdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291
cmNlLnBocCUzRnR5cGU9aWZyYW1lJzogJ2lmcmFtZScsCisgICAgICAgICcvdzNjL3dlYnBlcmYv
cmVzb3VyY2VzL3JlZGlyZWN0LnBocD9sb2NhdGlvbj0vdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dl
bmVyYXRlX3Jlc291cmNlLnBocCUzRnR5cGU9c2NyaXB0JzogJ3NjcmlwdCcsCisgICAgICAgICcv
dzNjL3dlYnBlcmYvcmVzb3VyY2VzL3JlZGlyZWN0LnBocD9sb2NhdGlvbj0vdzNjL3dlYnBlcmYv
cmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocCUzRnR5cGU9aWZyYW1lJTI2aWQ9eGhyJzog
J1hNTEh0dHBSZXF1ZXN0JywKKyAgICB9OworCisgICAgdGVzdF9yZXNvdXJjZV9lbnRyaWVzKGVu
dHJpZXMsIGV4cGVjdGVkX2VudHJpZXMpOworfQord2luZG93LnNldHVwX2lmcmFtZSA9IHNldHVw
X2lmcmFtZTsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8aDE+RGVzY3JpcHRpb248L2gx
PgorPHA+VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IHJlZGlyZWN0cyBkbyBub3QgYWx0ZXIgdGhl
IFVSTC48L3A+Cis8ZGl2IGlkPSJsb2ciPjwvZGl2PgorPGlmcmFtZSBpZD0iZnJhbWVDb250ZXh0
IiBvbmxvYWQ9Im9ubG9hZF90ZXN0KCk7IiBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMvaW5q
ZWN0X3Jlc291cmNlX3Rlc3QuaHRtbCI+PC9pZnJhbWU+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVz
b3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9zY3JpcHRfdHlwZXMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNl
LXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2Vfc2NyaXB0X3R5cGVzLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5hNmM2ZjkzODVmNDE5Y2FiNGQ4OWVkMTA3YTZmOTUxYjhiNjlkNzIwCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9u
L3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2Vfc2NyaXB0X3R5cGVzLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDE2IEBACitEZXNjcmlwdGlvbgorCitUaGlzIHRlc3QgdmFsaWRhdGVz
IHRoYXQgYWxsIG9mIHRoZSBkaWZmZXJlbnQgdHlwZXMgb2Ygc2NyaXB0IGxvYWRzIGFyZSByZXBv
cnRlZCB3aXRoIHRoZSBjb3JyZWN0IGluaXRpYXRvci4KKworCisKK1BBU1MgL3czYy93ZWJwZXJm
L3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1zY3JpcHQmaWQ9MSBpcyBleHBl
Y3RlZCB0byBoYXZlIGluaXRpYXRvclR5cGUgc2NyaXB0IAorUEFTUyAvdzNjL3dlYnBlcmYvcmVz
b3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPXNjcmlwdCZpZD0yIGlzIGV4cGVjdGVk
IHRvIGhhdmUgaW5pdGlhdG9yVHlwZSBzY3JpcHQgCitQQVNTIC93M2Mvd2VicGVyZi9yZXNvdXJj
ZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9c2NyaXB0JmlkPTMgaXMgZXhwZWN0ZWQgdG8g
aGF2ZSBpbml0aWF0b3JUeXBlIHNjcmlwdCAKK1BBU1MgL3czYy93ZWJwZXJmL3Jlc291cmNlcy9n
ZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1zY3JpcHQmaWQ9NCBpcyBleHBlY3RlZCB0byBoYXZl
IGluaXRpYXRvclR5cGUgc2NyaXB0IAorUEFTUyAvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVy
YXRlX3Jlc291cmNlLnBocD90eXBlPXNjcmlwdCZpZD01IGlzIGV4cGVjdGVkIHRvIGhhdmUgaW5p
dGlhdG9yVHlwZSBzY3JpcHQgCitQQVNTIC93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVf
cmVzb3VyY2UucGhwP3R5cGU9c2NyaXB0JmlkPTYgaXMgZXhwZWN0ZWQgdG8gaGF2ZSBpbml0aWF0
b3JUeXBlIHNjcmlwdCAKK1BBU1MgL3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNv
dXJjZS5waHA/dHlwZT1zY3JpcHQmaWQ9NyBpcyBleHBlY3RlZCB0byBoYXZlIGluaXRpYXRvclR5
cGUgc2NyaXB0IAorUEFTUyAvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNl
LnBocD90eXBlPXNjcmlwdCZpZD04IGlzIGV4cGVjdGVkIHRvIGhhdmUgaW5pdGlhdG9yVHlwZSBz
Y3JpcHQgCitQQVNTIC93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhw
P3R5cGU9c2NyaXB0JmlkPTkgaXMgZXhwZWN0ZWQgdG8gaGF2ZSBpbml0aWF0b3JUeXBlIHNjcmlw
dCAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJt
aXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2Vfc2NyaXB0X3R5cGVzLmh0
bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3Vy
Y2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9zY3JpcHRfdHlwZXMuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li41MDAzOWJiM2UyN2VhNjBiOTNiYTA4MTBiNjY4YzY1YmI3YWJmMDMxCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291
cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2Vfc2NyaXB0X3R5cGVzLmh0bWwKQEAgLTAsMCAr
MSw2NiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0i
dXRmLTgiIC8+Cis8dGl0bGU+UmVzb3VyY2UgVGltaW5nIHNjcmlwdCBpbml0aWF0b3IgdHlwZXM8
L3RpdGxlPgorPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJHb29nbGUiIGhyZWY9Imh0dHA6Ly93
d3cuZ29vZ2xlLmNvbS8iIC8+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6Ly93d3cudzMu
b3JnL1RSL3Jlc291cmNlLXRpbWluZy8jZG9tLXBlcmZvcm1hbmNlcmVzb3VyY2V0aW1pbmctaW5p
dGlhdG9ydHlwZSIvPgorPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNlcy93ZWJw
ZXJmdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK3ZhciBpZnJhbWU7CitmdW5j
dGlvbiBzZXR1cF9pZnJhbWUoKSB7CisgICAgdmFyIGlmcmFtZV9jb250ZW50ID0KKyAgICAgICAg
JzxzY3JpcHQgc3JjPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBo
cD90eXBlPXNjcmlwdCZpZD0xIj48L3NjcicgKyAnaXB0PicgKworICAgICAgICAnPHNjcmlwdCBz
cmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9c2Ny
aXB0JmlkPTIiIGFzeW5jPjwvc2NyJyArICdpcHQ+JyArCisgICAgICAgICc8c2NyaXB0IHNyYz0i
L3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1zY3JpcHQm
aWQ9MyIgYXN5bmM9ZmFsc2U+PC9zY3InICsgJ2lwdD4nICsKKyAgICAgICAgJzxzY3JpcHQgc3Jj
PSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPXNjcmlw
dCZpZD00IiBkZWZlcj48L3NjcicgKyAnaXB0PicgKworICAgICAgICAnPHNjcmlwdD4nICsKKyAg
ICAgICAgJ2RvY3VtZW50LndyaXRlKCI8c2NyaXB0IHNyYz1cXCIvdzNjL3dlYnBlcmYvcmVzb3Vy
Y2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPXNjcmlwdCZpZD01XFwiPjwvc2NyIiArICJp
cHQ+Iik7JyArCisgICAgICAgICd2YXIgczEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3Jp
cHQiKTsnICsKKyAgICAgICAgJ3MxLnNyYyA9ICIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVy
YXRlX3Jlc291cmNlLnBocD90eXBlPXNjcmlwdCZpZD02IjsnICsKKyAgICAgICAgJ2RvY3VtZW50
LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF0uYXBwZW5kQ2hpbGQoczEpOycgKworICAg
ICAgICAndmFyIHMyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7JyArCisgICAg
ICAgICdzMi5zcmMgPSAiL3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5w
aHA/dHlwZT1zY3JpcHQmaWQ9NyI7JyArCisgICAgICAgICdzMi5hc3luYyA9IHRydWU7JyArCisg
ICAgICAgICdkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVhZCIpWzBdLmFwcGVuZENo
aWxkKHMyKTsnICsKKyAgICAgICAgJ3ZhciBzMyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNj
cmlwdCIpOycgKworICAgICAgICAnczMuc3JjID0gIi93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2Vu
ZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9c2NyaXB0JmlkPTgiOycgKworICAgICAgICAnczMuYXN5
bmMgPSBmYWxzZTsnICsKKyAgICAgICAgJ2RvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJo
ZWFkIilbMF0uYXBwZW5kQ2hpbGQoczMpOycgKworICAgICAgICAndmFyIHM0ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgic2NyaXB0Iik7JyArCisgICAgICAgICdzNC5zcmMgPSAiL3czYy93ZWJw
ZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1zY3JpcHQmaWQ9OSI7JyAr
CisgICAgICAgICdzNC5kZWZlciA9IHRydWU7JyArCisgICAgICAgICdkb2N1bWVudC5nZXRFbGVt
ZW50c0J5VGFnTmFtZSgiaGVhZCIpWzBdLmFwcGVuZENoaWxkKHM0KTsnICsKKyAgICAgICAgJzwv
c2NyJyArICdpcHQ+JzsKKyAgICBpZnJhbWUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZnJh
bWVDb250ZXh0Jyk7CisgICAgaWZyYW1lLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQud3JpdGUoaWZy
YW1lX2NvbnRlbnQpOworfQorZnVuY3Rpb24gb25sb2FkX3Rlc3QoKSB7CisgICAgdmFyIGVudHJp
ZXMgPSBpZnJhbWUuY29udGVudFdpbmRvdy5wZXJmb3JtYW5jZS53ZWJraXRHZXRFbnRyaWVzKCk7
CisKKyAgICB2YXIgZXhwZWN0ZWRfZW50cmllcyA9IHsKKyAgICAgICAgJy93M2Mvd2VicGVyZi9y
ZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9c2NyaXB0JmlkPTEnOiAnc2NyaXB0
JywKKyAgICAgICAgJy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhw
P3R5cGU9c2NyaXB0JmlkPTInOiAnc2NyaXB0JywKKyAgICAgICAgJy93M2Mvd2VicGVyZi9yZXNv
dXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9c2NyaXB0JmlkPTMnOiAnc2NyaXB0JywK
KyAgICAgICAgJy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5
cGU9c2NyaXB0JmlkPTQnOiAnc2NyaXB0JywKKyAgICAgICAgJy93M2Mvd2VicGVyZi9yZXNvdXJj
ZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9c2NyaXB0JmlkPTUnOiAnc2NyaXB0JywKKyAg
ICAgICAgJy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9
c2NyaXB0JmlkPTYnOiAnc2NyaXB0JywKKyAgICAgICAgJy93M2Mvd2VicGVyZi9yZXNvdXJjZXMv
Z2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9c2NyaXB0JmlkPTcnOiAnc2NyaXB0JywKKyAgICAg
ICAgJy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9c2Ny
aXB0JmlkPTgnOiAnc2NyaXB0JywKKyAgICAgICAgJy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2Vu
ZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9c2NyaXB0JmlkPTknOiAnc2NyaXB0JywKKyAgICB9Owor
CisgICAgdGVzdF9yZXNvdXJjZV9lbnRyaWVzKGVudHJpZXMsIGV4cGVjdGVkX2VudHJpZXMpOwor
fQord2luZG93LnNldHVwX2lmcmFtZSA9IHNldHVwX2lmcmFtZTsKKzwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8aDE+RGVzY3JpcHRpb248L2gxPgorPHA+VGhpcyB0ZXN0IHZhbGlkYXRlcyB0
aGF0IGFsbCBvZiB0aGUgZGlmZmVyZW50IHR5cGVzIG9mIHNjcmlwdCBsb2FkcyBhcmUgcmVwb3J0
ZWQgd2l0aCB0aGUgY29ycmVjdCBpbml0aWF0b3IuPC9wCis8ZGl2IGlkPSJsb2ciPjwvZGl2Pgor
PGlmcmFtZSBpZD0iZnJhbWVDb250ZXh0IiBvbmxvYWQ9Im9ubG9hZF90ZXN0KCk7IiBzcmM9Ii93
M2Mvd2VicGVyZi9yZXNvdXJjZXMvaW5qZWN0X3Jlc291cmNlX3Rlc3QuaHRtbCI+PC9pZnJhbWU+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVz
dEV4cGVjdGF0aW9ucwppbmRleCA1NjBlZmM5NTc2YzllNjYxMDdjY2M4MjFjZDY0NjYwZDY4YjZl
YzI1Li4yOTlmNjQwYmYwM2RkZjY0ODRiYjhmMjM3ZjQ1ZmNkMGQ2NTgxOTIxIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTM3NjgsMyAr
Mzc2OCw1IEBAIEJVR1dLOTA5NTEgOiBmYXN0L3RleHQvc2hhcGluZy9zaGFwaW5nLXNjcmlwdC1v
cmRlci5odG1sID0gTUlTU0lORwogCiAvLyBSZWNlbnRseSg/KSBzdGFydGVkIGNyYXNoaW5nIG9u
IG9jY2Fzc2lvbgogQlVHV0s5MTI3NSBXSU4gOiBzdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3Ita2V5
LW9yZGVyLmh0bWwgPSBQQVNTIENSQVNICisKK0JVR1dLOTE0MTIgOiBodHRwL3Rlc3RzL3czYy93
ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nID0gVEVYVAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>166597</attachid>
            <date>2012-10-01 20:54:55 -0700</date>
            <delta_ts>2012-10-02 11:07:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-84883-20121001205408.patch</filename>
            <type>text/plain</type>
            <size>180476</size>
            <attacher name="James Simonsen">simonjam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMwMDQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWE4ZWI5NTJhMjllNWQ1
NjMwOWUyYmM0MGIxYWYyMzJlNjJhMmE5Mi4uYTlkMDVkZDU2N2IzYjNiZWY5NjhmMjUwZTFjMGQx
NDdkNDQzZjAyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzNyBAQAorMjAxMi0xMC0wMSAgSmFt
ZXMgU2ltb25zZW4gIDxzaW1vbmphbUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW1Jlc291cmNl
IFRpbWluZ10gRXhwb3NlIHRpbWluZyBpbmZvcm1hdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODQ4ODMKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBOb3RlOiBTdGFydCByZXZpZXdpbmcgaW4gdGhlIGxv
YWRlci8gZGlyZWN0b3J5LgorCisgICAgICAgIEFkZGVkIGEgTG9hZEluaXRpYXRvciBpbnRlcmZh
Y2UgdGhhdCBtdXN0IGJlIHBhc3NlZCBpbiB3aGVuZXZlciBhIHJlc291cmNlIGlzIHJlcXVlc3Rl
ZC4gSXQncworICAgICAgICB0eXBpY2FsbHkgdGhlIG5vZGUgdGhhdCBpbml0aWF0ZWQgdGhlIGxv
YWQuIFRoZSBMb2FkSW5pdGlhdG9yIHBhc3NlcyB0aGUgZG9jdW1lbnQgYW5kIG5hbWUgb2YKKyAg
ICAgICAgdGhlIGluaXRpYXRvci4KKworICAgICAgICBUaGUgYnVmZmVyIGlzIHBvcHVsYXRlZCBl
dmVuIGlmIHRoZSBsb2FkIHRpbWUgaW5mb3JtYXRpb24gaXMgbWlzc2luZy4gVGhpcyBhbGxvd3Mg
dGVzdGluZyBmcm9tCisgICAgICAgIERSVC4KKworICAgICAgICBUZXN0czogaHR0cC90ZXN0cy93
M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2Vf
YXR0cmlidXRlX29yZGVyLmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvdzNjL3dlYnBl
cmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX2R5bmFtaWNf
aW5zZXJ0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3Vi
bWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX2luaXRpYXRvcl90eXBl
cy5odG1sCisgICAgICAgICAgICAgICBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24v
cmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9yZWRpcmVjdHMuaHRtbAorICAgICAg
ICAgICAgICAgaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWlu
Zy9odG1sL3Rlc3RfcmVzb3VyY2Vfc2NyaXB0X3R5cGVzLmh0bWwKKworICAgICAgICAqIFdlYkNv
cmUuZ3lwaToKKyAgICAgICAgKiBjc3MvQ1NTRm9udEZhY2VTcmNWYWx1ZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpDU1NGb250RmFjZVNyY1ZhbHVlOjpjYWNoZWRGb250KToKKyAgICAgICAgKiBj
c3MvQ1NTSW1hZ2VTZXRWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NJbWFnZVNldFZh
bHVlOjpjYWNoZWRJbWFnZVNldCk6CisgICAgICAgICogY3NzL0NTU0ltYWdlVmFsdWUuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Q1NTSW1hZ2VWYWx1ZTo6Y2FjaGVkSW1hZ2UpOgorICAgICAgICAq
IGNzcy9DU1NMb2FkSW5pdGlhdG9yLmNwcDogVXNlZCBieSBhbGwgQ1NTIGluaXRpYXRvcnMuCisg
ICAgICAgIChXZWJDb3JlOjpDU1NMb2FkSW5pdGlhdG9yOjpDU1NMb2FkSW5pdGlhdG9yKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNTU0xvYWRJbml0aWF0b3I6OmluaXRpYXRvck5hbWUpOgorICAgICAg
ICAqIGNzcy9DU1NMb2FkSW5pdGlhdG9yLmg6CisgICAgICAgIChXVEYpOgorICAgICAgICAoV2Vi
Q29yZSk6CisgICAgICAgIChDU1NMb2FkSW5pdGlhdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OkNT
U0xvYWRJbml0aWF0b3I6OmluaXRpYXRvckRvY3VtZW50KToKKyAgICAgICAgKiBjc3MvU3R5bGVS
dWxlSW1wb3J0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZUltcG9ydDo6cmVxdWVz
dFN0eWxlU2hlZXQpOgorICAgICAgICAqIGNzcy9XZWJLaXRDU1NTVkdEb2N1bWVudFZhbHVlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OldlYktpdENTU1NWR0RvY3VtZW50VmFsdWU6OmxvYWQpOgor
ICAgICAgICAqIGNzcy9XZWJLaXRDU1NTaGFkZXJWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpXZWJLaXRDU1NTaGFkZXJWYWx1ZTo6Y2FjaGVkU2hhZGVyKToKKyAgICAgICAgKiBkb20vTm9k
ZS5oOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6aW5pdGlhdG9yTmFtZSk6CisgICAgICAgIChX
ZWJDb3JlOjpOb2RlOjppbml0aWF0b3JEb2N1bWVudCk6CisgICAgICAgIChOb2RlKToKKyAgICAg
ICAgKiBkb20vUHJvY2Vzc2luZ0luc3RydWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBy
b2Nlc3NpbmdJbnN0cnVjdGlvbjo6Y2hlY2tTdHlsZVNoZWV0KToKKyAgICAgICAgKiBkb20vU2Ny
aXB0RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRFbGVtZW50OjpyZXF1ZXN0
U2NyaXB0KToKKyAgICAgICAgKiBodG1sL0hUTUxMaW5rRWxlbWVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MTGlua0VsZW1lbnQ6OnByb2Nlc3MpOgorICAgICAgICAqIGh0bWwvSFRNTExp
bmtFbGVtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTGlua0VsZW1lbnQ6OmluaXRpYXRv
cik6CisgICAgICAgICogaHRtbC9wYXJzZXIvQ1NTUHJlbG9hZFNjYW5uZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTUHJlbG9hZFNjYW5uZXI6OmVtaXRSdWxlKToKKyAgICAgICAgKFdlYkNv
cmU6OkNTU1ByZWxvYWRTY2FubmVyOjppbml0aWF0b3JOYW1lKToKKyAgICAgICAgKFdlYkNvcmUp
OgorICAgICAgICAqIGh0bWwvcGFyc2VyL0NTU1ByZWxvYWRTY2FubmVyLmg6CisgICAgICAgIChD
U1NQcmVsb2FkU2Nhbm5lcik6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmVsb2FkU2Nhbm5lcjo6
aW5pdGlhdG9yRG9jdW1lbnQpOgorICAgICAgICAqIGh0bWwvcGFyc2VyL0hUTUxQcmVsb2FkU2Nh
bm5lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQcmVsb2FkVGFzazo6UHJlbG9hZFRhc2spOgor
ICAgICAgICAoV2ViQ29yZTo6UHJlbG9hZFRhc2s6OnByZWxvYWQpOgorICAgICAgICAoV2ViQ29y
ZTo6UHJlbG9hZFRhc2s6OmluaXRpYXRvck5hbWUpOgorICAgICAgICAoV2ViQ29yZTo6UHJlbG9h
ZFRhc2s6OmluaXRpYXRvckRvY3VtZW50KToKKyAgICAgICAgKFByZWxvYWRUYXNrKToKKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxQcmVsb2FkU2Nhbm5lcjo6cHJvY2Vzc1Rva2VuKToKKyAgICAgICAg
KiBodG1sL3RyYWNrL0xvYWRhYmxlVGV4dFRyYWNrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okxv
YWRhYmxlVGV4dFRyYWNrOjppbml0aWF0b3IpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAg
ICogaHRtbC90cmFjay9Mb2FkYWJsZVRleHRUcmFjay5oOgorICAgICAgICAoTG9hZGFibGVUZXh0
VHJhY2tDbGllbnQpOgorICAgICAgICAoTG9hZGFibGVUZXh0VHJhY2spOgorICAgICAgICAqIGxv
YWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9j
dW1lbnRUaHJlYWRhYmxlTG9hZGVyOjpsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KToKKyAgICAg
ICAgKFdlYkNvcmU6OkRvY3VtZW50VGhyZWFkYWJsZUxvYWRlcjo6Y3JlYXRlKToKKyAgICAgICAg
KFdlYkNvcmU6OkRvY3VtZW50VGhyZWFkYWJsZUxvYWRlcjo6RG9jdW1lbnRUaHJlYWRhYmxlTG9h
ZGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50VGhyZWFkYWJsZUxvYWRlcjo6bm90aWZ5
RmluaXNoZWQpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyOjps
b2FkUmVxdWVzdCk6CisgICAgICAgICogbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5o
OgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChEb2N1bWVudFRocmVhZGFibGVMb2FkZXIp
OgorICAgICAgICAqIGxvYWRlci9JbWFnZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJ
bWFnZUxvYWRlcjo6dXBkYXRlRnJvbUVsZW1lbnQpOgorICAgICAgICAqIGxvYWRlci9MaW5rTG9h
ZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxpbmtMb2FkZXI6OmxvYWRMaW5rKToKKyAgICAg
ICAgKiBsb2FkZXIvTGlua0xvYWRlckNsaWVudC5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgIChMaW5rTG9hZGVyQ2xpZW50KToKKyAgICAgICAgKiBsb2FkZXIvTG9hZEluaXRpYXRvci5o
OgorICAgICAgICAoV1RGKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoTG9hZEluaXRp
YXRvcik6CisgICAgICAgICogbG9hZGVyL0xvYWRJbml0aWF0b3JIYW5kbGUuY3BwOiBTYXZlcyBM
b2FkSW5pdGlhdG9yIGRhdGEgdW50aWwgdGhlIGxvYWQgY29tcGxldGVzLgorICAgICAgICAoV2Vi
Q29yZTo6TG9hZEluaXRpYXRvckhhbmRsZTo6TG9hZEluaXRpYXRvckhhbmRsZSk6CisgICAgICAg
IChXZWJDb3JlOjpMb2FkSW5pdGlhdG9ySGFuZGxlOjpjbGVhcik6CisgICAgICAgICogbG9hZGVy
L0xvYWRJbml0aWF0b3JIYW5kbGUuaDoKKyAgICAgICAgKExvYWRJbml0aWF0b3JIYW5kbGUpOgor
ICAgICAgICAoV2ViQ29yZTo6TG9hZEluaXRpYXRvckhhbmRsZTo6aW5pdGlhdG9yTmFtZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpMb2FkSW5pdGlhdG9ySGFuZGxlOjppbml0aWF0b3JEb2N1bWVudCk6
CisgICAgICAgICogbG9hZGVyL01haW5SZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpNYWluUmVzb3VyY2VMb2FkZXI6OmRpZEZpbmlzaExvYWRpbmcpOgorICAgICAgICAqIGxv
YWRlci9OdWxsTG9hZEluaXRpYXRvci5jcHA6IERlZmF1bHQgTG9hZEluaXRpdG9yIHVzZWQgaWYg
bm8gaW5mb3JtYXRpb24gaXMgYXZhaWxhYmxlLgorICAgICAgICAoV2ViQ29yZTo6TnVsbExvYWRJ
bml0aWF0b3I6Omluc3RhbmNlKToKKyAgICAgICAgKiBsb2FkZXIvTnVsbExvYWRJbml0aWF0b3Iu
aDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoTnVsbExvYWRJbml0aWF0b3IpOgorICAg
ICAgICAoV2ViQ29yZTo6TnVsbExvYWRJbml0aWF0b3I6OmluaXRpYXRvck5hbWUpOgorICAgICAg
ICAoV2ViQ29yZTo6TnVsbExvYWRJbml0aWF0b3I6OmluaXRpYXRvckRvY3VtZW50KToKKyAgICAg
ICAgKiBsb2FkZXIvUmVzb3VyY2VMb2FkTm90aWZpZXIuY3BwOiBDb2xsZWN0IHRpbWluZyBpbmZv
IGZvciBzdWJyZXNvdXJjZXMgd2hlbiBSRVNPVVJDRV9USU1JTkcgaXMgZW5hYmxlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OlJlc291cmNlTG9hZE5vdGlmaWVyOjpkaXNwYXRjaFdpbGxTZW5kUmVxdWVz
dCk6CisgICAgICAgICogbG9hZGVyL1Jlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlc291cmNlTG9hZGVyOjp3aWxsU2VuZFJlcXVlc3QpOiBLZWVwIHRyYWNrIG9mIHRoZSBv
cmlnaW5hbCByZXF1ZXN0IGV2ZW4gd2hlbiBjYWxsZWQgYnkgTWFpblJlc291cmNlTG9hZGVyLCB3
aGljaCBieXBhc3NlcyBpbml0KCkuCisgICAgICAgICogbG9hZGVyL1N1YnJlc291cmNlTG9hZGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN1YnJlc291cmNlTG9hZGVyOjp3aWxsU2VuZFJlcXVl
c3QpOgorICAgICAgICAoV2ViQ29yZTo6U3VicmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVSZXNw
b25zZSk6CisgICAgICAgIChXZWJDb3JlOjpTdWJyZXNvdXJjZUxvYWRlcjo6c2VuZERhdGFUb1Jl
c291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OlN1YnJlc291cmNlTG9hZGVyOjpkaWRGaW5pc2hM
b2FkaW5nKTogUG9wdWxhdGUgUmVzb3VyY2UgVGltaW5nIGJ1ZmZlciBoZXJlLgorICAgICAgICAq
IGxvYWRlci9UZXh0VHJhY2tMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAg
IChXZWJDb3JlOjpUZXh0VHJhY2tMb2FkZXI6OmN1ZUxvYWRUaW1lckZpcmVkKToKKyAgICAgICAg
KFdlYkNvcmU6OlRleHRUcmFja0xvYWRlcjo6cHJvY2Vzc05ld0N1ZURhdGEpOgorICAgICAgICAo
V2ViQ29yZTo6VGV4dFRyYWNrTG9hZGVyOjpkaWRSZWNlaXZlRGF0YSk6CisgICAgICAgIChXZWJD
b3JlOjpUZXh0VHJhY2tMb2FkZXI6Om5vdGlmeUZpbmlzaGVkKToKKyAgICAgICAgKFdlYkNvcmU6
OlRleHRUcmFja0xvYWRlcjo6bG9hZCk6CisgICAgICAgICogbG9hZGVyL1RleHRUcmFja0xvYWRl
ci5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChUZXh0VHJhY2tMb2FkZXJDbGllbnQp
OgorICAgICAgICAqIGxvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlRocmVhZGFibGVMb2FkZXI6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpUaHJlYWRh
YmxlTG9hZGVyOjpsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KToKKyAgICAgICAgKiBsb2FkZXIv
VGhyZWFkYWJsZUxvYWRlci5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChUaHJlYWRh
YmxlTG9hZGVyKToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwOgor
ICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpjYWNoZWRSZXNvdXJjZVR5cGVU
b1RhcmdldFR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OmxvYWQpOgor
ICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OmRhdGEpOgorICAgICAgICAoV2ViQ29y
ZTo6Q2FjaGVkUmVzb3VyY2U6OmZpbmlzaCk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNv
dXJjZTo6c3RvcExvYWRpbmcpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OnNl
dERlY29kZWRTaXplKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlOjpzZXRFbmNv
ZGVkU2l6ZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZTo6ZGlkQWNjZXNzRGVj
b2RlZERhdGEpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OnNldFJlc291cmNl
VG9SZXZhbGlkYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlOjpjbGVhclJl
c291cmNlVG9SZXZhbGlkYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlOjpt
dXN0UmV2YWxpZGF0ZUR1ZVRvQ2FjaGVIZWFkZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hl
ZFJlc291cmNlOjppc1NhZmVUb01ha2VQdXJnZWFibGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2Fj
aGVkUmVzb3VyY2U6Om1ha2VQdXJnZWFibGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVz
b3VyY2U6OnNldExvYWRQcmlvcml0eSk6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJl
c291cmNlLmg6CisgICAgICAgIChDYWNoZWRSZXNvdXJjZSk6CisgICAgICAgIChXZWJDb3JlOjpD
YWNoZWRSZXNvdXJjZTo6cmVzb3VyY2VSZXF1ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hl
ZFJlc291cmNlOjp1cmwpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OnNldElu
aXRpYXRvcik6IFRyYWNrIHRoaXMgZm9yIHRoZSBsaWZlIG9mIHRoZSBsb2FkLgorICAgICAgICAo
V2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OmluaXRpYXRvcik6CisgICAgICAgICogbG9hZGVyL2Nh
Y2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcDogUGFzcyB0aGUgaW5pdGlhdG9yIHRocm91Z2gu
CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdEltYWdlKToK
KyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0Rm9udCk6Cisg
ICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFRleHRUcmFjayk6
CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFNoYWRlcik6
CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdENTU1N0eWxl
U2hlZXQpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RV
c2VyQ1NTU3R5bGVTaGVldCk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRl
cjo6cmVxdWVzdFNjcmlwdCk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRl
cjo6cmVxdWVzdFhTTFN0eWxlU2hlZXQpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3Vy
Y2VMb2FkZXI6OnJlcXVlc3RTVkdEb2N1bWVudCk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRS
ZXNvdXJjZUxvYWRlcjo6cmVxdWVzdExpbmtSZXNvdXJjZSk6CisgICAgICAgIChXZWJDb3JlOjpD
YWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFJhd1Jlc291cmNlKToKKyAgICAgICAgKFdlYkNv
cmU6OkNhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0UmVzb3VyY2UpOgorICAgICAgICAoV2Vi
Q29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJldmFsaWRhdGVSZXNvdXJjZSk6CisgICAgICAg
IChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6bG9hZFJlc291cmNlKToKKyAgICAgICAg
KFdlYkNvcmU6OkNhY2hlZFJlc291cmNlTG9hZGVyOjpkZXRlcm1pbmVSZXZhbGlkYXRpb25Qb2xp
Y3kpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJj
ZUxvYWRlcjo6cHJlbG9hZCk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRl
cjo6Y2hlY2tGb3JQZW5kaW5nUHJlbG9hZHMpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVz
b3VyY2VMb2FkZXI6OnJlcXVlc3RQcmVsb2FkKToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2Fj
aGVkUmVzb3VyY2VMb2FkZXIuaDoKKyAgICAgICAgKENhY2hlZFJlc291cmNlTG9hZGVyKToKKyAg
ICAgICAgKFBlbmRpbmdQcmVsb2FkKToKKyAgICAgICAgKiBsb2FkZXIvaWNvbi9JY29uTG9hZGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okljb25Mb2FkZXI6OnN0YXJ0TG9hZGluZyk6CisgICAg
ICAgIChXZWJDb3JlOjpJY29uTG9hZGVyOjppbml0aWF0b3JOYW1lKToKKyAgICAgICAgKFdlYkNv
cmUpOgorICAgICAgICAoV2ViQ29yZTo6SWNvbkxvYWRlcjo6aW5pdGlhdG9yRG9jdW1lbnQpOgor
ICAgICAgICAqIGxvYWRlci9pY29uL0ljb25Mb2FkZXIuaDoKKyAgICAgICAgKEljb25Mb2FkZXIp
OgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGVy
Zm9ybWFuY2U6OmFkZFJlc291cmNlVGltaW5nKToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNl
Lmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFBlcmZvcm1hbmNlKToKKyAgICAgICAg
KiBwYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyk6Cisg
ICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjppbml0aWF0b3JUeXBl
KTogUmV0dXJucyB0aGUgcHJvcGVyIHZhbHVlIG5vdy4KKyAgICAgICAgKFdlYkNvcmU6OlBlcmZv
cm1hbmNlUmVzb3VyY2VUaW1pbmc6OmZldGNoU3RhcnQpOiBSZXR1cm5zIDAgaWYgbm90aGluZyBp
cyBhdmFpbGFibGUuCisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVJlc291cmNlVGltaW5n
Ojpkb21haW5Mb29rdXBTdGFydCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVJlc291
cmNlVGltaW5nOjpkb21haW5Mb29rdXBFbmQpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFu
Y2VSZXNvdXJjZVRpbWluZzo6Y29ubmVjdFN0YXJ0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZv
cm1hbmNlUmVzb3VyY2VUaW1pbmc6OmNvbm5lY3RFbmQpOgorICAgICAgICAoV2ViQ29yZTo6UGVy
Zm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6c2VjdXJlQ29ubmVjdGlvblN0YXJ0KToKKyAgICAgICAg
KFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnJlcXVlc3RTdGFydCk6CisgICAg
ICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpyZXNwb25zZVN0YXJ0KToK
KyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnJlc3BvbnNlRW5k
KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6Om1vbm90b25p
Y1RpbWVUb0RvY3VtZW50TWlsbGlzZWNvbmRzKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1h
bmNlUmVzb3VyY2VUaW1pbmc6OnJlc291cmNlVGltZVRvRG9jdW1lbnRNaWxsaXNlY29uZHMpOgor
ICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oOgorICAgICAgICAoV2Vi
Q29yZTo6UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6Y3JlYXRlKToKKyAgICAgICAgKFBlcmZv
cm1hbmNlUmVzb3VyY2VUaW1pbmcpOgorICAgICAgICAqIHN2Zy9TVkdGRUltYWdlRWxlbWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdGRUltYWdlRWxlbWVudDo6cmVxdWVzdEltYWdlUmVz
b3VyY2UpOgorICAgICAgICAqIHN2Zy9TVkdGb250RmFjZVVyaUVsZW1lbnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHRm9udEZhY2VVcmlFbGVtZW50Ojpsb2FkRm9udCk6CisgICAgICAgICog
c3ZnL1NWR1VzZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVXNlRWxlbWVudDo6
c3ZnQXR0cmlidXRlQ2hhbmdlZCk6CisgICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1ZXN0OjpjcmVhdGVSZXF1ZXN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1ZXN0OjpnZXRSZXNwb25zZUhlYWRlcik6CisgICAgICAg
IChXZWJDb3JlOjpYTUxIdHRwUmVxdWVzdDo6aW5pdGlhdG9yTmFtZSk6CisgICAgICAgIChXZWJD
b3JlKToKKyAgICAgICAgKiB4bWwvWE1MSHR0cFJlcXVlc3QuaDoKKyAgICAgICAgKFhNTEh0dHBS
ZXF1ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1ZXN0Ojppbml0aWF0b3JEb2N1
bWVudCk6CisgICAgICAgICogeG1sL1hTTEltcG9ydFJ1bGUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6WFNMSW1wb3J0UnVsZTo6flhTTEltcG9ydFJ1bGUpOgorICAgICAgICAoV2ViQ29yZTo6WFNM
SW1wb3J0UnVsZTo6c2V0WFNMU3R5bGVTaGVldCk6CisgICAgICAgIChXZWJDb3JlOjpYU0xJbXBv
cnRSdWxlOjpsb2FkU2hlZXQpOgorICAgICAgICAoV2ViQ29yZTo6WFNMSW1wb3J0UnVsZTo6aW5p
dGlhdG9yTmFtZSk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiB4bWwvWFNMSW1wb3J0
UnVsZS5oOgorICAgICAgICAoWFNMSW1wb3J0UnVsZSk6CisgICAgICAgIChXZWJDb3JlOjpYU0xJ
bXBvcnRSdWxlOjppbml0aWF0b3JEb2N1bWVudCk6CisKIDIwMTItMTAtMDEgIEFuZHJlaSBCdWN1
ciAgPGFidWN1ckBhZG9iZS5jb20+CiAKICAgICAgICAgW0NTUyBSZWdpb25zXSBSZW1vdmUgdGhl
IGRlcHJlY2F0ZWQgQVBJIERvY3VtZW50LndlYmtpdEdldEZsb3dCeU5hbWUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQKaW5kZXggNGI2OTI2OTNmYWJmMWZkZjIxMzFmYzUzNjRjODljODkxNTg5ZGU0OS4uNDVh
N2YzMDcyMmZlMTAyOTQwZTNjMTQyNDNhZGVlZTdlNzU4ZWIwNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50
eHQKQEAgLTEwMzAsNiArMTAzMCw3IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBjc3MvQ1NT
SW5oZXJpdGVkVmFsdWUuY3BwCiAgICAgY3NzL0NTU0luaXRpYWxWYWx1ZS5jcHAKICAgICBjc3Mv
Q1NTTGluZUJveENvbnRhaW5WYWx1ZS5jcHAKKyAgICBjc3MvQ1NTTG9hZEluaXRpYXRvci5jcHAK
ICAgICBjc3MvQ1NTTWVkaWFSdWxlLmNwcAogICAgIGNzcy9DU1NPTVV0aWxzLmNwcAogICAgIGNz
cy9DU1NQYWdlUnVsZS5jcHAKQEAgLTE2MjEsOCArMTYyMiwxMCBAQCBTRVQoV2ViQ29yZV9TT1VS
Q0VTCiAgICAgbG9hZGVyL0hpc3RvcnlDb250cm9sbGVyLmNwcAogICAgIGxvYWRlci9JbWFnZUxv
YWRlci5jcHAKICAgICBsb2FkZXIvTGlua0xvYWRlci5jcHAKKyAgICBsb2FkZXIvTG9hZEluaXRp
YXRvckhhbmRsZS5jcHAKICAgICBsb2FkZXIvTWFpblJlc291cmNlTG9hZGVyLmNwcAogICAgIGxv
YWRlci9OYXZpZ2F0aW9uQWN0aW9uLmNwcAorICAgIGxvYWRlci9OdWxsTG9hZEluaXRpYXRvci5j
cHAKICAgICBsb2FkZXIvTmV0c2NhcGVQbHVnSW5TdHJlYW1Mb2FkZXIuY3BwCiAgICAgbG9hZGVy
L1BpbmdMb2FkZXIuY3BwCiAgICAgbG9hZGVyL1BsYWNlaG9sZGVyRG9jdW1lbnQuY3BwCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNv
cmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCAyMmMzMTJjNWFkMzVjYmNhMmEwZjY1YTc0MjIx
MjU1ZjRhYjViNTE1Li5mNzc2NjVhYWU1NWEyMGY4MjNjM2RiNjllZWRmNDVkNDAwNDllODI4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTI1MzQsNiArMjUzNCw4IEBAIHdlYmNv
cmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvY3NzL0NTU0luaXRpYWxWYWx1ZS5oIFwK
IAlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTGluZUJveENvbnRhaW5WYWx1ZS5jcHAgXAogCVNvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NMaW5lQm94Q29udGFpblZhbHVlLmggXAorCVNvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NMb2FkSW5pdGlhdG9yLmNwcCBcCisJU291cmNlL1dlYkNvcmUvY3NzL0NTU0xvYWRJ
bml0aWF0b3IuaCBcCiAJU291cmNlL1dlYkNvcmUvY3NzL0NTU01lZGlhUnVsZS5jcHAgXAogCVNv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NNZWRpYVJ1bGUuaCBcCiAJU291cmNlL1dlYkNvcmUvY3NzL0NT
U05hbWVzcGFjZS5oIFwKQEAgLTM4ODMsMTIgKzM4ODUsMTcgQEAgd2ViY29yZV9zb3VyY2VzICs9
IFwKIAlTb3VyY2UvV2ViQ29yZS9sb2FkZXIvTGlua0xvYWRlci5oIFwKIAlTb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvTGlua0xvYWRlci5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2xvYWRlci9MaW5rTG9h
ZGVyQ2xpZW50LmggXAorCVNvdXJjZS9XZWJDb3JlL2xvYWRlci9Mb2FkSW5pdGlhdG9yLmggXAor
CVNvdXJjZS9XZWJDb3JlL2xvYWRlci9Mb2FkSW5pdGlhdG9ySGFuZGxlLmNwcCBcCisJU291cmNl
L1dlYkNvcmUvbG9hZGVyL0xvYWRJbml0aWF0b3JIYW5kbGUuaCBcCiAJU291cmNlL1dlYkNvcmUv
bG9hZGVyL01haW5SZXNvdXJjZUxvYWRlci5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2xvYWRlci9N
YWluUmVzb3VyY2VMb2FkZXIuaCBcCiAJU291cmNlL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25B
Y3Rpb24uY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvbkFjdGlvbi5oIFwK
IAlTb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmV0c2NhcGVQbHVnSW5TdHJlYW1Mb2FkZXIuY3BwIFwK
IAlTb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmV0c2NhcGVQbHVnSW5TdHJlYW1Mb2FkZXIuaCBcCisJ
U291cmNlL1dlYkNvcmUvbG9hZGVyL051bGxMb2FkSW5pdGlhdG9yLmNwcCBcCisJU291cmNlL1dl
YkNvcmUvbG9hZGVyL051bGxMb2FkSW5pdGlhdG9yLmggXAogCVNvdXJjZS9XZWJDb3JlL2xvYWRl
ci9QaW5nTG9hZGVyLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvbG9hZGVyL1BpbmdMb2FkZXIuaCBc
CiAJU291cmNlL1dlYkNvcmUvbG9hZGVyL1BsYWNlaG9sZGVyRG9jdW1lbnQuY3BwIFwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQu
cHJpCmluZGV4IDZjOWU0Y2NkODQ3ZDc0M2Y0N2VhYmIzYmIzN2VjMzMwYWE3ZTNjMjQuLjExZTFj
YzJlZmI5MThjMjA4YjBiMDk2YWE4MmY4MzYyZWU0OWJmZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1RhcmdldC5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQpAQCAtMjc4
LDYgKzI3OCw3IEBAIFNPVVJDRVMgKz0gXAogICAgIGNzcy9DU1NJbmhlcml0ZWRWYWx1ZS5jcHAg
XAogICAgIGNzcy9DU1NJbml0aWFsVmFsdWUuY3BwIFwKICAgICBjc3MvQ1NTTGluZUJveENvbnRh
aW5WYWx1ZS5jcHAgXAorICAgIGNzcy9DU1NMb2FkSW5pdGlhdG9yLmNwcCBcCiAgICAgY3NzL0NT
U01lZGlhUnVsZS5jcHAgXAogICAgIGNzcy9DU1NPTVV0aWxzLmNwcCBcCiAgICAgY3NzL0NTU1Bh
Z2VSdWxlLmNwcCBcCkBAIC04MjksOSArODMwLDExIEBAIFNPVVJDRVMgKz0gXAogICAgIGxvYWRl
ci9pY29uL0ljb25Mb2FkZXIuY3BwIFwKICAgICBsb2FkZXIvSW1hZ2VMb2FkZXIuY3BwIFwKICAg
ICBsb2FkZXIvTGlua0xvYWRlci5jcHAgXAorICAgIGxvYWRlci9Mb2FkSW5pdGlhdG9ySGFuZGxl
LmNwcCBcCiAgICAgbG9hZGVyL01haW5SZXNvdXJjZUxvYWRlci5jcHAgXAogICAgIGxvYWRlci9O
YXZpZ2F0aW9uQWN0aW9uLmNwcCBcCiAgICAgbG9hZGVyL05ldHNjYXBlUGx1Z0luU3RyZWFtTG9h
ZGVyLmNwcCBcCisgICAgbG9hZGVyL051bGxMb2FkSW5pdGlhdG9yLmNwcCBcCiAgICAgbG9hZGVy
L1BpbmdMb2FkZXIuY3BwIFwKICAgICBsb2FkZXIvUGxhY2Vob2xkZXJEb2N1bWVudC5jcHAgXAog
ICAgIGxvYWRlci9Qb2xpY3lDYWxsYmFjay5jcHAgXApAQCAtMTQ0MCw2ICsxNDQzLDcgQEAgSEVB
REVSUyArPSBcCiAgICAgY3NzL0NTU0ltcG9ydFJ1bGUuaCBcCiAgICAgY3NzL0NTU0luaGVyaXRl
ZFZhbHVlLmggXAogICAgIGNzcy9DU1NJbml0aWFsVmFsdWUuaCBcCisgICAgY3NzL0NTU0xvYWRJ
bml0aWF0b3IuaCBcCiAgICAgY3NzL0NTU01lZGlhUnVsZS5oIFwKICAgICBjc3MvQ1NTT01VdGls
cy5oIFwKICAgICBjc3MvQ1NTUGFnZVJ1bGUuaCBcCkBAIC0xOTUwLDkgKzE5NTQsMTIgQEAgSEVB
REVSUyArPSBcCiAgICAgbG9hZGVyL0ltYWdlTG9hZGVyLmggXAogICAgIGxvYWRlci9MaW5rTG9h
ZGVyLmggXAogICAgIGxvYWRlci9MaW5rTG9hZGVyQ2xpZW50LmggXAorICAgIGxvYWRlci9Mb2Fk
SW5pdGlhdG9yLmggXAorICAgIGxvYWRlci9Mb2FkSW5pdGlhdG9ySGFuZGxlLmggXAogICAgIGxv
YWRlci9NYWluUmVzb3VyY2VMb2FkZXIuaCBcCiAgICAgbG9hZGVyL05hdmlnYXRpb25BY3Rpb24u
aCBcCiAgICAgbG9hZGVyL05ldHNjYXBlUGx1Z0luU3RyZWFtTG9hZGVyLmggXAorICAgIGxvYWRl
ci9OdWxsTG9hZEluaXRpYXRvci5oIFwKICAgICBsb2FkZXIvUGxhY2Vob2xkZXJEb2N1bWVudC5o
IFwKICAgICBsb2FkZXIvUHJlcmVuZGVyZXIuaCBcCiAgICAgbG9hZGVyL1ByZXJlbmRlcmVyQ2xp
ZW50LmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDNiZTRlNmE4M2JmMjA5NzNkZGU1OTVkMjZmMmU0
N2ViNGI3MDQxOTQuLjQxYzUxZDUzMTY5MWU3N2RkNjM4ZTk5YzdmMTI3MTE1YWUxYjc3OWIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmd5cGkKQEAgLTI1NDEsNiArMjU0MSw4IEBACiAgICAgICAgICAgICAnY3NzL0NT
U0luaXRpYWxWYWx1ZS5jcHAnLAogICAgICAgICAgICAgJ2Nzcy9DU1NJbml0aWFsVmFsdWUuaCcs
CiAgICAgICAgICAgICAnY3NzL0NTU0xpbmVCb3hDb250YWluVmFsdWUuY3BwJywKKyAgICAgICAg
ICAgICdjc3MvQ1NTTG9hZEluaXRpYXRvci5jcHAnLAorICAgICAgICAgICAgJ2Nzcy9DU1NMb2Fk
SW5pdGlhdG9yLmgnLAogICAgICAgICAgICAgJ2Nzcy9DU1NNZWRpYVJ1bGUuY3BwJywKICAgICAg
ICAgICAgICdjc3MvQ1NTTWVkaWFSdWxlLmgnLAogICAgICAgICAgICAgJ2Nzcy9DU1NOYW1lc3Bh
Y2UuaCcsCkBAIC0yOTc0LDExICsyOTc2LDE2IEBACiAgICAgICAgICAgICAnbG9hZGVyL0xpbmtM
b2FkZXIuY3BwJywKICAgICAgICAgICAgICdsb2FkZXIvTGlua0xvYWRlci5oJywKICAgICAgICAg
ICAgICdsb2FkZXIvTGlua0xvYWRlckNsaWVudC5oJywKKyAgICAgICAgICAgICdsb2FkZXIvTG9h
ZEluaXRpYXRvci5oJywKKyAgICAgICAgICAgICdsb2FkZXIvTG9hZEluaXRpYXRvckhhbmRsZS5j
cHAnLAorICAgICAgICAgICAgJ2xvYWRlci9Mb2FkSW5pdGlhdG9ySGFuZGxlLmgnLAogICAgICAg
ICAgICAgJ2xvYWRlci9NYWluUmVzb3VyY2VMb2FkZXIuY3BwJywKICAgICAgICAgICAgICdsb2Fk
ZXIvTWFpblJlc291cmNlTG9hZGVyLmgnLAogICAgICAgICAgICAgJ2xvYWRlci9OYXZpZ2F0aW9u
QWN0aW9uLmNwcCcsCiAgICAgICAgICAgICAnbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3Bw
JywKICAgICAgICAgICAgICdsb2FkZXIvTmV0c2NhcGVQbHVnSW5TdHJlYW1Mb2FkZXIuY3BwJywK
KyAgICAgICAgICAgICdsb2FkZXIvTnVsbExvYWRJbml0aWF0b3IuY3BwJywKKyAgICAgICAgICAg
ICdsb2FkZXIvTnVsbExvYWRJbml0aWF0b3IuaCcsCiAgICAgICAgICAgICAnbG9hZGVyL1BpbmdM
b2FkZXIuY3BwJywKICAgICAgICAgICAgICdsb2FkZXIvUGluZ0xvYWRlci5oJywKICAgICAgICAg
ICAgICdsb2FkZXIvUGxhY2Vob2xkZXJEb2N1bWVudC5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCAwMjI2YTc5ZWE1N2IzZjU2OTkwZTdi
NDVlZmE2ODRmM2Q5NTM5NGU5Li40NTViZDJkZWUxZDE4NGUzZmUwZGJhOGUwYzU1OTgyYjQyM2Uw
OTRmIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZj
cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpA
QCAtMjc2NTksNiArMjc2NTksMTggQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJ
CVJlbGF0aXZlUGF0aD0iLi5cbG9hZGVyXExvYWRJbml0aWF0b3IuaCIKKwkJCQk+CisJCQk8L0Zp
bGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cbG9hZGVyXExvYWRJbml0aWF0b3JI
YW5kbGUuY3BwIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRo
PSIuLlxsb2FkZXJcTG9hZEluaXRpYXRvckhhbmRsZS5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJ
CTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxsb2FkZXJcTWFpblJlc291cmNlTG9hZGVyLmNw
cCIKIAkJCQk+CiAJCQk8L0ZpbGU+CkBAIC0yNzY5MSw2ICsyNzcwMywxNCBAQAogCQkJCT4KIAkJ
CTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxsb2FkZXJcTnVsbExvYWRJ
bml0aWF0b3JIYW5kbGUuY3BwIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVs
YXRpdmVQYXRoPSIuLlxsb2FkZXJcTnVsbExvYWRJbml0aWF0b3JIYW5kbGUuaCIKKwkJCQk+CisJ
CQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cbG9hZGVyXFBpbmdMb2Fk
ZXIuY3BwIgogCQkJCT4KIAkJCTwvRmlsZT4KQEAgLTM2MjU5LDYgKzM2Mjc5LDYyIEBACiAJCQkJ
PgogCQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGNzc1xDU1NMb2Fk
SW5pdGlhdG9yLmNwcCIKKwkJCQk+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9
IkRlYnVnfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJ
CQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0Zp
bGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxl
YXNlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8
VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVD
b25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19D
YWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+
CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJ
CTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9
IlJlbGVhc2VfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1
ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJ
CQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgor
CQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVl
IgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJ
CQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJ
CQkJCU5hbWU9IlByb2R1Y3Rpb258V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVl
IgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJ
CQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJ
CVJlbGF0aXZlUGF0aD0iLi5cY3NzXENTU0xvYWRJbml0aWF0b3IuaCIKKwkJCQk+CisJCQk8L0Zp
bGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cY3NzXENTU01lZGlhUnVsZS5jcHAi
CiAJCQkJPgogCQkJCTxGaWxlQ29uZmlndXJhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDVlNTY4MzA0NGI3YThiMzI2ODA2
MWFmYmExMTE2YTVmN2NlMWZkZTguLjQ1ZTUwNWQxY2UyODQ3MDY0Nzk0ZGY4ZmYyNWRjZDNlYWY5
OWM1M2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKQEAgLTEwMTEzLDYgKzEwMTEzLDEzIEBACiAJCTg2MUMyRUEzMTNGQjRGREQwMDA2
MkFCQiAvKiBEb2N1bWVudExvYWRUaW1pbmcuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gRG9jdW1lbnRMb2FkVGltaW5nLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJODYxQzJFQTUxM0ZCNEZGRjAwMDYyQUJCIC8qIFJlc291cmNlTG9hZFRpbWluZy5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZXNvdXJjZUxvYWRUaW1p
bmcuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NjI0M0QwMDExQkMzMUY3MDBD
QzAwNkEgLyogSlNBcnJheUJ1ZmZlclZpZXdIZWxwZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gSlNBcnJheUJ1ZmZlclZpZXdIZWxwZXIuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJODY0ODA5QTQxNjFBOUExRTAwMjgyMEZBIC8qIENTU0xvYWRJbml0aWF0b3Iu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ1NTTG9hZEluaXRpYXRv
ci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg2NDgwOUE1MTYxQTlBMUUwMDI4
MjBGQSAvKiBDU1NMb2FkSW5pdGlhdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IENTU0xvYWRJbml0aWF0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODY0
ODA5QTYxNjFBOUE2MTAwMjgyMEZBIC8qIExvYWRJbml0aWF0b3IuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gTG9hZEluaXRpYXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk4NjQ4MDlBNzE2MUE5QTYxMDAyODIwRkEgLyogTG9hZEluaXRpYXRvckhhbmRsZS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBMb2FkSW5pdGlhdG9ySGFu
ZGxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODY0ODA5QTgxNjFBOUE2MTAw
MjgyMEZBIC8qIExvYWRJbml0aWF0b3JIYW5kbGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gTG9hZEluaXRpYXRvckhhbmRsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk4NjQ4MDlBOTE2MUE5QTYxMDAyODIwRkEgLyogTnVsbExvYWRJbml0aWF0b3IuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTnVsbExvYWRJbml0aWF0b3IuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NjQ4MDlBQTE2MUE5QTYxMDAyODIwRkEg
LyogTnVsbExvYWRJbml0aWF0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
TnVsbExvYWRJbml0aWF0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODY1MTJF
REIxNTRBMkFFRTAwQTkwNDI2IC8qIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWlu
Zy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg2NTEyRURDMTU0QTJBRUYwMEE5
MDQyNiAvKiBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJODY1MTJFREQxNTRBMkFFRjAwQTkwNDI2IC8qIFBlcmZvcm1hbmNlUmVz
b3VyY2VUaW1pbmcuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFBlcmZvcm1hbmNlUmVzb3Vy
Y2VUaW1pbmcuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjA1OTYsNiArMjA2
MDMsOSBAQAogCQkJCTk4Q0U0MzI1MTI5RTAwQkQwMDU4MjFEQyAvKiBMaW5rTG9hZGVyLmNwcCAq
LywKIAkJCQk5OENFNDMyOTEyOUUwMEU1MDA1ODIxREMgLyogTGlua0xvYWRlci5oICovLAogCQkJ
CTk4NDI2NEVGMTJENTI4MEEwMDBEODhBNCAvKiBMaW5rTG9hZGVyQ2xpZW50LmggKi8sCisJCQkJ
ODY0ODA5QTYxNjFBOUE2MTAwMjgyMEZBIC8qIExvYWRJbml0aWF0b3IuaCAqLywKKwkJCQk4NjQ4
MDlBNzE2MUE5QTYxMDAyODIwRkEgLyogTG9hZEluaXRpYXRvckhhbmRsZS5jcHAgKi8sCisJCQkJ
ODY0ODA5QTgxNjFBOUE2MTAwMjgyMEZBIC8qIExvYWRJbml0aWF0b3JIYW5kbGUuaCAqLywKIAkJ
CQk5M0UyMjdEQzBBRjU4OUFEMDBENDgzMjQgLyogTWFpblJlc291cmNlTG9hZGVyLmNwcCAqLywK
IAkJCQk2NTZEMzcyOTBBREJBNURFMDBBNDU1NEQgLyogTWFpblJlc291cmNlTG9hZGVyLmggKi8s
CiAJCQkJOTNDQ0YwNUYwQUY2Q0E3NjAwMDE4RTg5IC8qIE5hdmlnYXRpb25BY3Rpb24uY3BwICov
LApAQCAtMjA2MDQsNiArMjA2MTQsOCBAQAogCQkJCTk3OUY0M0QyMTA3NUU0NEEwMDAwRjgzQiAv
KiBOYXZpZ2F0aW9uU2NoZWR1bGVyLmggKi8sCiAJCQkJOTNFMjI3REQwQUY1ODlBRDAwRDQ4MzI0
IC8qIE5ldHNjYXBlUGx1Z0luU3RyZWFtTG9hZGVyLmNwcCAqLywKIAkJCQk2NTZEMzcyQjBBREJB
NURFMDBBNDU1NEQgLyogTmV0c2NhcGVQbHVnSW5TdHJlYW1Mb2FkZXIuaCAqLywKKwkJCQk4NjQ4
MDlBOTE2MUE5QTYxMDAyODIwRkEgLyogTnVsbExvYWRJbml0aWF0b3IuY3BwICovLAorCQkJCTg2
NDgwOUFBMTYxQTlBNjEwMDI4MjBGQSAvKiBOdWxsTG9hZEluaXRpYXRvci5oICovLAogCQkJCUQw
RkYyQTVCMTFGOEM0NUEwMDdFNzRFMCAvKiBQaW5nTG9hZGVyLmNwcCAqLywKIAkJCQlEMEZGMkE1
QzExRjhDNDVBMDA3RTc0RTAgLyogUGluZ0xvYWRlci5oICovLAogCQkJCTM3N0M0Q0RFMTAxNEU5
RjYwMEI5QUU0MiAvKiBQbGFjZWhvbGRlckRvY3VtZW50LmNwcCAqLywKQEAgLTIxMDkzLDYgKzIx
MTA1LDggQEAKIAkJCQlBODBFNkNERTBBMTk4OUNBMDA3RkI4QzUgLyogQ1NTSW5pdGlhbFZhbHVl
LmggKi8sCiAJCQkJQkM3NzJFMTUxMzMxNjJDMjAwMUVDOUNFIC8qIENTU0xpbmVCb3hDb250YWlu
VmFsdWUuY3BwICovLAogCQkJCUJDNzcyRTEyMTMzMTYyMEMwMDFFQzlDRSAvKiBDU1NMaW5lQm94
Q29udGFpblZhbHVlLmggKi8sCisJCQkJODY0ODA5QTQxNjFBOUExRTAwMjgyMEZBIC8qIENTU0xv
YWRJbml0aWF0b3IuY3BwICovLAorCQkJCTg2NDgwOUE1MTYxQTlBMUUwMDI4MjBGQSAvKiBDU1NM
b2FkSW5pdGlhdG9yLmggKi8sCiAJCQkJQTgwRTZDRDIwQTE5ODlDQTAwN0ZCOEM1IC8qIENTU01l
ZGlhUnVsZS5jcHAgKi8sCiAJCQkJQTgwRTZDRDkwQTE5ODlDQTAwN0ZCOEM1IC8qIENTU01lZGlh
UnVsZS5oICovLAogCQkJCTg1QzU2Q0EyMEFBODlDMTAwMEQ5NTc1NSAvKiBDU1NNZWRpYVJ1bGUu
aWRsICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlU3JjVmFs
dWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlU3JjVmFsdWUuY3BwCmluZGV4
IDJhMWMwNDc4N2Q2YTBjNGM4NzEzODA0NGEyYzE3NTU4OTg3MTBjZmIuLjA3NzJmNDA5NTkxZGZm
Yzg4NWJlN2ZiNDhjY2VmMDRhNGM3MmE3YjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NGb250RmFjZVNyY1ZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9u
dEZhY2VTcmNWYWx1ZS5jcHAKQEAgLTI1LDYgKzI1LDcgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5o
IgogI2luY2x1ZGUgIkNTU0ZvbnRGYWNlU3JjVmFsdWUuaCIKKyNpbmNsdWRlICJDU1NMb2FkSW5p
dGlhdG9yLmgiCiAjaW5jbHVkZSAiQ2FjaGVkRm9udC5oIgogI2luY2x1ZGUgIkNhY2hlZFJlc291
cmNlTG9hZGVyLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKQEAgLTk2LDcgKzk3LDcgQEAgQ2Fj
aGVkRm9udCogQ1NTRm9udEZhY2VTcmNWYWx1ZTo6Y2FjaGVkRm9udChEb2N1bWVudCogZG9jdW1l
bnQpCiB7CiAgICAgaWYgKCFtX2NhY2hlZEZvbnQpIHsKICAgICAgICAgUmVzb3VyY2VSZXF1ZXN0
IHJlcXVlc3QoZG9jdW1lbnQtPmNvbXBsZXRlVVJMKG1fcmVzb3VyY2UpKTsKLSAgICAgICAgbV9j
YWNoZWRGb250ID0gZG9jdW1lbnQtPmNhY2hlZFJlc291cmNlTG9hZGVyKCktPnJlcXVlc3RGb250
KHJlcXVlc3QpOworICAgICAgICBtX2NhY2hlZEZvbnQgPSBkb2N1bWVudC0+Y2FjaGVkUmVzb3Vy
Y2VMb2FkZXIoKS0+cmVxdWVzdEZvbnQocmVxdWVzdCwgQ1NTTG9hZEluaXRpYXRvcihkb2N1bWVu
dCkpOwogICAgIH0KICAgICByZXR1cm4gbV9jYWNoZWRGb250LmdldCgpOwogfQpAQCAtMTEzLDQg
KzExNCwzIEBAIHZvaWQgQ1NTRm9udEZhY2VTcmNWYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9y
eVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iCiB9CiAKIH0KLQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlU2V0VmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0ltYWdlU2V0VmFsdWUuY3BwCmluZGV4IDZlMDJhMjBmOTVhYzNmMTRmNDYxYTFjNTEw
MGI0YWQ2MmJkOWVmMGEuLjE5ZmNiZTU1YjdhZjhhOGYyZDM3ZjE2NmExMThjMTk3MDNiN2EzYjIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZVNldFZhbHVlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VTZXRWYWx1ZS5jcHAKQEAgLTI5LDYgKzI5LDcg
QEAKICNpZiBFTkFCTEUoQ1NTX0lNQUdFX1NFVCkKIAogI2luY2x1ZGUgIkNTU0ltYWdlVmFsdWUu
aCIKKyNpbmNsdWRlICJDU1NMb2FkSW5pdGlhdG9yLmgiCiAjaW5jbHVkZSAiQ1NTUHJpbWl0aXZl
VmFsdWUuaCIKICNpbmNsdWRlICJDYWNoZWRJbWFnZS5oIgogI2luY2x1ZGUgIkNhY2hlZFJlc291
cmNlTG9hZGVyLmgiCkBAIC0xMDksNyArMTEwLDcgQEAgU3R5bGVDYWNoZWRJbWFnZVNldCogQ1NT
SW1hZ2VTZXRWYWx1ZTo6Y2FjaGVkSW1hZ2VTZXQoQ2FjaGVkUmVzb3VyY2VMb2FkZXIqIGxvYWQK
ICAgICAgICAgLy8gYW5kIGFueSBDU1MgdHJhbnNmb3Jtcy4gaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTgxNjk4CiAgICAgICAgIEltYWdlV2l0aFNjYWxlIGltYWdlID0g
YmVzdEltYWdlRm9yU2NhbGVGYWN0b3IoKTsKICAgICAgICAgUmVzb3VyY2VSZXF1ZXN0IHJlcXVl
c3QobG9hZGVyLT5kb2N1bWVudCgpLT5jb21wbGV0ZVVSTChpbWFnZS5pbWFnZVVSTCkpOwotICAg
ICAgICBpZiAoQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkSW1hZ2U+IGNhY2hlZEltYWdlID0g
bG9hZGVyLT5yZXF1ZXN0SW1hZ2UocmVxdWVzdCkpIHsKKyAgICAgICAgaWYgKENhY2hlZFJlc291
cmNlSGFuZGxlPENhY2hlZEltYWdlPiBjYWNoZWRJbWFnZSA9IGxvYWRlci0+cmVxdWVzdEltYWdl
KHJlcXVlc3QsIENTU0xvYWRJbml0aWF0b3IoZG9jdW1lbnQpKSkgewogICAgICAgICAgICAgbV9p
bWFnZVNldCA9IFN0eWxlQ2FjaGVkSW1hZ2VTZXQ6OmNyZWF0ZShjYWNoZWRJbWFnZS5nZXQoKSwg
aW1hZ2Uuc2NhbGVGYWN0b3IsIHRoaXMpOwogICAgICAgICAgICAgbV9hY2Nlc3NlZEJlc3RGaXRJ
bWFnZSA9IHRydWU7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NJbWFnZVZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZVZhbHVlLmNwcApp
bmRleCA3MjZjMmMwNDM0NzFlOTY3YjkyYmM5ZmE3NjRjMzIzOWYyYjdhNTQ2Li5iNzIyN2M5NGI4
YjFmZjAzZDdmNmVhZmU5MDQxYTU4NzAxNzBmOWVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTSW1hZ2VWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdl
VmFsdWUuY3BwCkBAIC0yMiw2ICsyMiw3IEBACiAjaW5jbHVkZSAiQ1NTSW1hZ2VWYWx1ZS5oIgog
CiAjaW5jbHVkZSAiQ1NTQ3Vyc29ySW1hZ2VWYWx1ZS5oIgorI2luY2x1ZGUgIkNTU0xvYWRJbml0
aWF0b3IuaCIKICNpbmNsdWRlICJDU1NQYXJzZXIuaCIKICNpbmNsdWRlICJDU1NWYWx1ZUtleXdv
cmRzLmgiCiAjaW5jbHVkZSAiQ2FjaGVkSW1hZ2UuaCIKQEAgLTgzLDcgKzg0LDcgQEAgU3R5bGVD
YWNoZWRJbWFnZSogQ1NTSW1hZ2VWYWx1ZTo6Y2FjaGVkSW1hZ2UoQ2FjaGVkUmVzb3VyY2VMb2Fk
ZXIqIGxvYWRlciwgY29uc3QKICAgICAgICAgbV9hY2Nlc3NlZEltYWdlID0gdHJ1ZTsKIAogICAg
ICAgICBSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdChsb2FkZXItPmRvY3VtZW50KCktPmNvbXBsZXRl
VVJMKHVybCkpOwotICAgICAgICBpZiAoQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkSW1hZ2U+
IGNhY2hlZEltYWdlID0gbG9hZGVyLT5yZXF1ZXN0SW1hZ2UocmVxdWVzdCkpCisgICAgICAgIGlm
IChDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRJbWFnZT4gY2FjaGVkSW1hZ2UgPSBsb2FkZXIt
PnJlcXVlc3RJbWFnZShyZXF1ZXN0LCBDU1NMb2FkSW5pdGlhdG9yKGxvYWRlci0+ZG9jdW1lbnQo
KSkpKQogICAgICAgICAgICAgbV9pbWFnZSA9IFN0eWxlQ2FjaGVkSW1hZ2U6OmNyZWF0ZShjYWNo
ZWRJbWFnZS5nZXQoKSk7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTTG9hZEluaXRpYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTG9hZEluaXRpYXRv
ci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMmM2YTA5YWE5N2M3NDJlNDUwYjg0ZDY4YjJiM2I0NzY1MjFmYjBl
OQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NMb2FkSW5pdGlhdG9y
LmNwcApAQCAtMCwwICsxLDUwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1
dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IK
KyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkNTU0xv
YWRJbml0aWF0b3IuaCIKKworI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KKyNpbmNsdWRl
IDx3dGYvdGV4dC9BdG9taWNTdHJpbmcuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitDU1NM
b2FkSW5pdGlhdG9yOjpDU1NMb2FkSW5pdGlhdG9yKERvY3VtZW50KiBkb2N1bWVudCkKKyAgICA6
IG1fZG9jdW1lbnQoZG9jdW1lbnQpCit7Cit9CisKK2NvbnN0IFdURjo6QXRvbWljU3RyaW5nJiBD
U1NMb2FkSW5pdGlhdG9yOjppbml0aWF0b3JOYW1lKCkgY29uc3QKK3sKKyAgICBERUZJTkVfU1RB
VElDX0xPQ0FMKEF0b21pY1N0cmluZywgbmFtZSwgKCJjc3MiLCBBdG9taWNTdHJpbmc6OkNvbnN0
cnVjdEZyb21MaXRlcmFsKSk7CisgICAgcmV0dXJuIG5hbWU7Cit9CisKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NMb2FkSW5pdGlhdG9y
LmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTG9hZEluaXRpYXRvci5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU1
OGZhY2EwY2EyNzY1ZWYzZWM5YWE2MTIzMTkzN2U5NjY2MDk3ZDIKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTG9hZEluaXRpYXRvci5oCkBAIC0wLDAgKzEsNTYgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQor
ICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5j
LiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkK
KyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aWZuZGVmIENTU0xvYWRJbml0aWF0b3JfaAorI2RlZmluZSBDU1NMb2FkSW5pdGlhdG9yX2gKKwor
I2luY2x1ZGUgIkxvYWRJbml0aWF0b3IuaCIKKworbmFtZXNwYWNlIFdURiB7CitjbGFzcyBBdG9t
aWNTdHJpbmc7Cit9CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKK2NsYXNzIERvY3VtZW50OworCitj
bGFzcyBDU1NMb2FkSW5pdGlhdG9yIDogcHVibGljIExvYWRJbml0aWF0b3IgeworcHVibGljOgor
ICAgIENTU0xvYWRJbml0aWF0b3IoRG9jdW1lbnQqKTsKKworICAgIHZpcnR1YWwgY29uc3QgV1RG
OjpBdG9taWNTdHJpbmcmIGluaXRpYXRvck5hbWUoKSBjb25zdDsKKyAgICB2aXJ0dWFsIERvY3Vt
ZW50KiBpbml0aWF0b3JEb2N1bWVudCgpIGNvbnN0IHsgcmV0dXJuIG1fZG9jdW1lbnQ7IH0KKwor
cHJpdmF0ZToKKyAgICBEb2N1bWVudCogbV9kb2N1bWVudDsKK307CisKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKKworI2VuZGlmIC8vIENTU0xvYWRJbml0aWF0b3JfaApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZUltcG9ydC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
U3R5bGVSdWxlSW1wb3J0LmNwcAppbmRleCAyNmYyOWU4MmY4MGE5ZmY1MWRhY2U1NzBkOGY0N2U5
MzhhZTVkZTBhLi45M2ZjZTI1YzJkNDZmYjQxY2I4MmQxZTE3YTYzOTNhMzU4MDA3MjdhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlSW1wb3J0LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlSW1wb3J0LmNwcApAQCAtMjIsNiArMjIsNyBAQAogI2lu
Y2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlN0eWxlUnVsZUltcG9ydC5oIgogCisjaW5jbHVk
ZSAiQ1NTTG9hZEluaXRpYXRvci5oIgogI2luY2x1ZGUgIkNTU1N0eWxlU2hlZXQuaCIKICNpbmNs
dWRlICJDYWNoZWRDU1NTdHlsZVNoZWV0LmgiCiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VMb2Fk
ZXIuaCIKQEAgLTExNyw5ICsxMTgsOSBAQCB2b2lkIFN0eWxlUnVsZUltcG9ydDo6cmVxdWVzdFN0
eWxlU2hlZXQoKQogCiAgICAgUmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QoYWJzVVJMKTsKICAgICBp
ZiAobV9wYXJlbnRTdHlsZVNoZWV0LT5pc1VzZXJTdHlsZVNoZWV0KCkpCi0gICAgICAgIG1fY2Fj
aGVkU2hlZXQgPSBjYWNoZWRSZXNvdXJjZUxvYWRlci0+cmVxdWVzdFVzZXJDU1NTdHlsZVNoZWV0
KHJlcXVlc3QsIG1fcGFyZW50U3R5bGVTaGVldC0+Y2hhcnNldCgpKTsKKyAgICAgICAgbV9jYWNo
ZWRTaGVldCA9IGNhY2hlZFJlc291cmNlTG9hZGVyLT5yZXF1ZXN0VXNlckNTU1N0eWxlU2hlZXQo
cmVxdWVzdCwgbV9wYXJlbnRTdHlsZVNoZWV0LT5jaGFyc2V0KCksIENTU0xvYWRJbml0aWF0b3Io
ZG9jdW1lbnQpKTsKICAgICBlbHNlCi0gICAgICAgIG1fY2FjaGVkU2hlZXQgPSBjYWNoZWRSZXNv
dXJjZUxvYWRlci0+cmVxdWVzdENTU1N0eWxlU2hlZXQocmVxdWVzdCwgbV9wYXJlbnRTdHlsZVNo
ZWV0LT5jaGFyc2V0KCkpOworICAgICAgICBtX2NhY2hlZFNoZWV0ID0gY2FjaGVkUmVzb3VyY2VM
b2FkZXItPnJlcXVlc3RDU1NTdHlsZVNoZWV0KHJlcXVlc3QsIG1fcGFyZW50U3R5bGVTaGVldC0+
Y2hhcnNldCgpLCBDU1NMb2FkSW5pdGlhdG9yKGRvY3VtZW50KSk7CiAgICAgaWYgKG1fY2FjaGVk
U2hlZXQpIHsKICAgICAgICAgLy8gaWYgdGhlIGltcG9ydCBydWxlIGlzIGlzc3VlZCBkeW5hbWlj
YWxseSwgdGhlIHNoZWV0IG1heSBiZQogICAgICAgICAvLyByZW1vdmVkIGZyb20gdGhlIHBlbmRp
bmcgc2hlZXQgY291bnQsIHNvIGxldCB0aGUgZG9jIGtub3cKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9XZWJLaXRDU1NTVkdEb2N1bWVudFZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9XZWJLaXRDU1NTVkdEb2N1bWVudFZhbHVlLmNwcAppbmRleCA0NGM4ODA4OTQ3MGU4Mzlk
OTc0ZWJhMDFjYzA2ZjdkOTIwYzE4MTIyLi5hZjI4ZmY5N2M5OGI5MTAxMzUxOTBmZWUyODc1ZmY3
NzE3ZWI5NzNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTU1ZHRG9j
dW1lbnRWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1NWR0RvY3Vt
ZW50VmFsdWUuY3BwCkBAIC0yNyw2ICsyNyw3IEBACiAjaWYgRU5BQkxFKFNWRykKICNpbmNsdWRl
ICJXZWJLaXRDU1NTVkdEb2N1bWVudFZhbHVlLmgiCiAKKyNpbmNsdWRlICJDU1NMb2FkSW5pdGlh
dG9yLmgiCiAjaW5jbHVkZSAiQ1NTUGFyc2VyLmgiCiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VM
b2FkZXIuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgpAQCAtNTMsNyArNTQsNyBAQCBDYWNoZWRT
VkdEb2N1bWVudCogV2ViS2l0Q1NTU1ZHRG9jdW1lbnRWYWx1ZTo6bG9hZChDYWNoZWRSZXNvdXJj
ZUxvYWRlciogbG9hZGVyKQogICAgICAgICBtX2xvYWRSZXF1ZXN0ZWQgPSB0cnVlOwogCiAgICAg
ICAgIFJlc291cmNlUmVxdWVzdCByZXF1ZXN0KGxvYWRlci0+ZG9jdW1lbnQoKS0+Y29tcGxldGVV
UkwobV91cmwpKTsKLSAgICAgICAgbV9kb2N1bWVudCA9IGxvYWRlci0+cmVxdWVzdFNWR0RvY3Vt
ZW50KHJlcXVlc3QpOworICAgICAgICBtX2RvY3VtZW50ID0gbG9hZGVyLT5yZXF1ZXN0U1ZHRG9j
dW1lbnQocmVxdWVzdCwgQ1NTTG9hZEluaXRpYXRvcihsb2FkZXItPmRvY3VtZW50KCkpKTsKICAg
ICB9CiAKICAgICByZXR1cm4gbV9kb2N1bWVudC5nZXQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9XZWJLaXRDU1NTaGFkZXJWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
V2ViS2l0Q1NTU2hhZGVyVmFsdWUuY3BwCmluZGV4IDZmOTM3M2UwZjBmYTJkZjhiZjQ5NDI4MWI1
YzJkODc3MjlhYmI5NjEuLmUyMjAyZGVkODlmZDNlZjczOTc0Njk3NjlhOWZmODExOTUzMjE3M2Ug
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NTaGFkZXJWYWx1ZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1NoYWRlclZhbHVlLmNwcApAQCAtMzIs
OCArMzIsOSBAQAogI2lmIEVOQUJMRShDU1NfU0hBREVSUykKICNpbmNsdWRlICJXZWJLaXRDU1NT
aGFkZXJWYWx1ZS5oIgogCi0jaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaCIKKyNpbmNs
dWRlICJDU1NMb2FkSW5pdGlhdG9yLmgiCiAjaW5jbHVkZSAiQ1NTUGFyc2VyLmgiCisjaW5jbHVk
ZSAiQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1
ZGUgIlN0eWxlQ2FjaGVkU2hhZGVyLmgiCiAjaW5jbHVkZSAiU3R5bGVQZW5kaW5nU2hhZGVyLmgi
CkBAIC02MCw3ICs2MSw3IEBAIFN0eWxlQ2FjaGVkU2hhZGVyKiBXZWJLaXRDU1NTaGFkZXJWYWx1
ZTo6Y2FjaGVkU2hhZGVyKENhY2hlZFJlc291cmNlTG9hZGVyKiBsb2FkCiAgICAgICAgIG1fYWNj
ZXNzZWRTaGFkZXIgPSB0cnVlOwogCiAgICAgICAgIFJlc291cmNlUmVxdWVzdCByZXF1ZXN0KGxv
YWRlci0+ZG9jdW1lbnQoKS0+Y29tcGxldGVVUkwobV91cmwpKTsKLSAgICAgICAgaWYgKENhY2hl
ZFJlc291cmNlSGFuZGxlPENhY2hlZFNoYWRlcj4gY2FjaGVkU2hhZGVyID0gbG9hZGVyLT5yZXF1
ZXN0U2hhZGVyKHJlcXVlc3QpKQorICAgICAgICBpZiAoQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2Fj
aGVkU2hhZGVyPiBjYWNoZWRTaGFkZXIgPSBsb2FkZXItPnJlcXVlc3RTaGFkZXIocmVxdWVzdCwg
Q1NTTG9hZEluaXRpYXRvcihsb2FkZXItPmRvY3VtZW50KCkpKSkKICAgICAgICAgICAgIG1fc2hh
ZGVyID0gU3R5bGVDYWNoZWRTaGFkZXI6OmNyZWF0ZShjYWNoZWRTaGFkZXIuZ2V0KCkpOwogICAg
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9Ob2RlLmgKaW5kZXggOWYzY2ZmMTAxM2JkYWQzMzhhNGRlOWU4YzlhYmMwN2NiMjk2
YTQ0YS4uOTBkM2Y2YzkzYTM5OTUwNGMzNmQxZDM2MTE4MTYyNjVmYTNlODVhNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9k
ZS5oCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiRnJhY3Rpb25hbExheW91dFJlY3QuaCIK
ICNpbmNsdWRlICJLVVJMSGFzaC5oIgogI2luY2x1ZGUgIkxheW91dFR5cGVzLmgiCisjaW5jbHVk
ZSAiTG9hZEluaXRpYXRvci5oIgogI2luY2x1ZGUgIk11dGF0aW9uT2JzZXJ2ZXIuaCIKICNpbmNs
dWRlICJSZW5kZXJTdHlsZUNvbnN0YW50cy5oIgogI2luY2x1ZGUgIlNjcmlwdFdyYXBwYWJsZS5o
IgpAQCAtMTExLDcgKzExMiw3IEBAIGVudW0gU3R5bGVDaGFuZ2VUeXBlIHsKICAgICBTeW50aGV0
aWNTdHlsZUNoYW5nZSA9IDMgPDwgbm9kZVN0eWxlQ2hhbmdlU2hpZnQKIH07CiAKLWNsYXNzIE5v
ZGUgOiBwdWJsaWMgRXZlbnRUYXJnZXQsIHB1YmxpYyBTY3JpcHRXcmFwcGFibGUsIHB1YmxpYyBU
cmVlU2hhcmVkPE5vZGUsIENvbnRhaW5lck5vZGU+IHsKK2NsYXNzIE5vZGUgOiBwdWJsaWMgRXZl
bnRUYXJnZXQsIHB1YmxpYyBTY3JpcHRXcmFwcGFibGUsIHB1YmxpYyBUcmVlU2hhcmVkPE5vZGUs
IENvbnRhaW5lck5vZGU+LCBwdWJsaWMgTG9hZEluaXRpYXRvciB7CiAgICAgZnJpZW5kIGNsYXNz
IERvY3VtZW50OwogICAgIGZyaWVuZCBjbGFzcyBUcmVlU2NvcGU7CiAgICAgZnJpZW5kIGNsYXNz
IFRyZWVTY29wZUFkb3B0ZXI7CkBAIC02NjksNiArNjcwLDkgQEAgcHVibGljOgogCiAgICAgdmly
dHVhbCB2b2lkIHJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qKSBjb25zdDsKIAor
ICAgIHZpcnR1YWwgY29uc3QgQXRvbWljU3RyaW5nJiBpbml0aWF0b3JOYW1lKCkgY29uc3QgeyBy
ZXR1cm4gbG9jYWxOYW1lKCk7IH0KKyAgICB2aXJ0dWFsIERvY3VtZW50KiBpbml0aWF0b3JEb2N1
bWVudCgpIGNvbnN0IHsgcmV0dXJuIGRvY3VtZW50KCk7IH0KKwogcHJpdmF0ZToKICAgICBlbnVt
IE5vZGVGbGFncyB7CiAgICAgICAgIElzVGV4dEZsYWcgPSAxLApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL1Byb2Nlc3NpbmdJbnN0cnVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vUHJvY2Vzc2luZ0luc3RydWN0aW9uLmNwcAppbmRleCA2NzU5YmVjYmM2YWRhNDI4YWVkNjcy
MjNkMDIzZjg0Yzk1ZTk1ZTliLi4xMzNiZDUzZGNkZThhMGU0OGM3MGM0NGNjNDIxMDE2ZjdmZmJk
ODczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vUHJvY2Vzc2luZ0luc3RydWN0aW9u
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUHJvY2Vzc2luZ0luc3RydWN0aW9uLmNwcApA
QCAtMTY2LDcgKzE2Niw3IEBAIHZvaWQgUHJvY2Vzc2luZ0luc3RydWN0aW9uOjpjaGVja1N0eWxl
U2hlZXQoKQogICAgICAgICAgICAgUmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QoZG9jdW1lbnQoKS0+
Y29tcGxldGVVUkwoaHJlZikpOwogI2lmIEVOQUJMRShYU0xUKQogICAgICAgICAgICAgaWYgKG1f
aXNYU0wpCi0gICAgICAgICAgICAgICAgbV9jYWNoZWRTaGVldCA9IGRvY3VtZW50KCktPmNhY2hl
ZFJlc291cmNlTG9hZGVyKCktPnJlcXVlc3RYU0xTdHlsZVNoZWV0KHJlcXVlc3QpOworICAgICAg
ICAgICAgICAgIG1fY2FjaGVkU2hlZXQgPSBkb2N1bWVudCgpLT5jYWNoZWRSZXNvdXJjZUxvYWRl
cigpLT5yZXF1ZXN0WFNMU3R5bGVTaGVldChyZXF1ZXN0LCAqdGhpcyk7CiAgICAgICAgICAgICBl
bHNlCiAjZW5kaWYKICAgICAgICAgICAgIHsKQEAgLTE3NCw3ICsxNzQsNyBAQCB2b2lkIFByb2Nl
c3NpbmdJbnN0cnVjdGlvbjo6Y2hlY2tTdHlsZVNoZWV0KCkKICAgICAgICAgICAgICAgICBpZiAo
Y2hhcnNldC5pc0VtcHR5KCkpCiAgICAgICAgICAgICAgICAgICAgIGNoYXJzZXQgPSBkb2N1bWVu
dCgpLT5jaGFyc2V0KCk7CiAKLSAgICAgICAgICAgICAgICBtX2NhY2hlZFNoZWV0ID0gZG9jdW1l
bnQoKS0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKS0+cmVxdWVzdENTU1N0eWxlU2hlZXQocmVxdWVz
dCwgY2hhcnNldCk7CisgICAgICAgICAgICAgICAgbV9jYWNoZWRTaGVldCA9IGRvY3VtZW50KCkt
PmNhY2hlZFJlc291cmNlTG9hZGVyKCktPnJlcXVlc3RDU1NTdHlsZVNoZWV0KHJlcXVlc3QsIGNo
YXJzZXQsICp0aGlzKTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGlmIChtX2NhY2hlZFNo
ZWV0KQogICAgICAgICAgICAgICAgIG1fY2FjaGVkU2hlZXQtPmFkZENsaWVudCh0aGlzKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmNwcAppbmRleCAyMDlmYzc5YzFjOGMwOGE0ZjY5YTk5
OTk4M2ZiMDcxOTg2MzhlNjk2Li5jNmE0ZGI3MDA3MjY5ZjNjNDgxM2JjMGE0OTIxYWIyNDAyZDZh
ZjA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuY3BwCkBAIC0yNjUsNyArMjY1LDcg
QEAgYm9vbCBTY3JpcHRFbGVtZW50OjpyZXF1ZXN0U2NyaXB0KGNvbnN0IFN0cmluZyYgc291cmNl
VXJsKQogICAgICAgICAgICAgdXBkYXRlUmVxdWVzdEZvckFjY2Vzc0NvbnRyb2wocmVxdWVzdCwg
bV9lbGVtZW50LT5kb2N1bWVudCgpLT5zZWN1cml0eU9yaWdpbigpLCBhbGxvd0NyZWRlbnRpYWxz
KTsKICAgICAgICAgfQogCi0gICAgICAgIG1fY2FjaGVkU2NyaXB0ID0gbV9lbGVtZW50LT5kb2N1
bWVudCgpLT5jYWNoZWRSZXNvdXJjZUxvYWRlcigpLT5yZXF1ZXN0U2NyaXB0KHJlcXVlc3QsIHNj
cmlwdENoYXJzZXQoKSk7CisgICAgICAgIG1fY2FjaGVkU2NyaXB0ID0gbV9lbGVtZW50LT5kb2N1
bWVudCgpLT5jYWNoZWRSZXNvdXJjZUxvYWRlcigpLT5yZXF1ZXN0U2NyaXB0KHJlcXVlc3QsIHNj
cmlwdENoYXJzZXQoKSwgKmVsZW1lbnQoKSk7CiAgICAgICAgIG1faXNFeHRlcm5hbFNjcmlwdCA9
IHRydWU7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMaW5r
RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMaW5rRWxlbWVudC5jcHAKaW5k
ZXggZmRjN2E1Y2NlMzIzMWFmOWMyMjQ0ZTFjOWY0NDQ4M2I4NGJmMDEzMS4uOTg4NjU0NGNiMjMw
N2VmZTczNTBhYzkxNTRmZjYxNjg0ZjUzNjM0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MTGlua0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExp
bmtFbGVtZW50LmNwcApAQCAtMjIxLDggKzIyMSw4IEBAIHZvaWQgSFRNTExpbmtFbGVtZW50Ojpw
cm9jZXNzKCkKICAgICAgICAgLy8gTG9hZCBzdHlsZXNoZWV0cyB0aGF0IGFyZSBub3QgbmVlZGVk
IGZvciB0aGUgcmVuZGVyaW5nIGltbWVkaWF0ZWx5IHdpdGggbG93IHByaW9yaXR5LgogICAgICAg
ICBSZXNvdXJjZUxvYWRQcmlvcml0eSBwcmlvcml0eSA9IGJsb2NraW5nID8gUmVzb3VyY2VMb2Fk
UHJpb3JpdHlVbnJlc29sdmVkIDogUmVzb3VyY2VMb2FkUHJpb3JpdHlWZXJ5TG93OwogICAgICAg
ICBSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdChkb2N1bWVudCgpLT5jb21wbGV0ZVVSTChtX3VybCkp
OwotICAgICAgICBtX2NhY2hlZFNoZWV0ID0gZG9jdW1lbnQoKS0+Y2FjaGVkUmVzb3VyY2VMb2Fk
ZXIoKS0+cmVxdWVzdENTU1N0eWxlU2hlZXQocmVxdWVzdCwgY2hhcnNldCwgcHJpb3JpdHkpOwot
ICAgICAgICAKKyAgICAgICAgbV9jYWNoZWRTaGVldCA9IGRvY3VtZW50KCktPmNhY2hlZFJlc291
cmNlTG9hZGVyKCktPnJlcXVlc3RDU1NTdHlsZVNoZWV0KHJlcXVlc3QsIGNoYXJzZXQsICp0aGlz
LCBwcmlvcml0eSk7CisKICAgICAgICAgaWYgKG1fY2FjaGVkU2hlZXQpCiAgICAgICAgICAgICBt
X2NhY2hlZFNoZWV0LT5hZGRDbGllbnQodGhpcyk7CiAgICAgICAgIGVsc2UgewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGlua0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTExpbmtFbGVtZW50LmgKaW5kZXggMGI2YzZjOTk3ZjI4YWUzNDEyNTM2MzgzZTBj
MDEwNDA4ZDVmZmQxYS4uM2NhODQ1YjA3MmFhYmJhN2QxMWIwNTBlMDAzOWY2ZWZjN2RlNzE5NyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGlua0VsZW1lbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMaW5rRWxlbWVudC5oCkBAIC03NSw2ICs3NSw3IEBAIHB1
YmxpYzoKIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIHBhcnNlQXR0cmlidXRlKGNvbnN0IEF0
dHJpYnV0ZSYpIE9WRVJSSURFOwogCisgICAgdmlydHVhbCBjb25zdCBMb2FkSW5pdGlhdG9yJiBp
bml0aWF0b3IoKSBjb25zdCB7IHJldHVybiAqdGhpczsgfQogICAgIHZpcnR1YWwgYm9vbCBzaG91
bGRMb2FkTGluaygpOwogICAgIHZvaWQgcHJvY2VzcygpOwogICAgIHN0YXRpYyB2b2lkIHByb2Nl
c3NDYWxsYmFjayhOb2RlKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNl
ci9DU1NQcmVsb2FkU2Nhbm5lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9DU1NQ
cmVsb2FkU2Nhbm5lci5jcHAKaW5kZXggMjlmMWNjZDQ2OGJhZGQ4ZGU1YzNiMTllNzJmMmQ4NTJj
ZDMwMDg5My4uYjZhMDMzYTY1MTc1MDlmMDAzMzViMmQ4YzkzNmI3MGZhM2U1NTY4MSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvQ1NTUHJlbG9hZFNjYW5uZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0NTU1ByZWxvYWRTY2FubmVyLmNwcApAQCAt
MTk3LDcgKzE5Nyw3IEBAIHZvaWQgQ1NTUHJlbG9hZFNjYW5uZXI6OmVtaXRSdWxlKCkKICAgICAg
ICAgU3RyaW5nIHZhbHVlID0gcGFyc2VDU1NTdHJpbmdPclVSTChtX3J1bGVWYWx1ZS5jaGFyYWN0
ZXJzKCksIG1fcnVsZVZhbHVlLmxlbmd0aCgpKTsKICAgICAgICAgaWYgKCF2YWx1ZS5pc0VtcHR5
KCkpIHsKICAgICAgICAgICAgIFJlc291cmNlUmVxdWVzdCByZXF1ZXN0KG1fZG9jdW1lbnQtPmNv
bXBsZXRlVVJMKHZhbHVlKSk7Ci0gICAgICAgICAgICBtX2RvY3VtZW50LT5jYWNoZWRSZXNvdXJj
ZUxvYWRlcigpLT5wcmVsb2FkKENhY2hlZFJlc291cmNlOjpDU1NTdHlsZVNoZWV0LCByZXF1ZXN0
LCBTdHJpbmcoKSwgbV9zY2FubmluZ0JvZHkpOworICAgICAgICAgICAgbV9kb2N1bWVudC0+Y2Fj
aGVkUmVzb3VyY2VMb2FkZXIoKS0+cHJlbG9hZChDYWNoZWRSZXNvdXJjZTo6Q1NTU3R5bGVTaGVl
dCwgcmVxdWVzdCwgU3RyaW5nKCksIG1fc2Nhbm5pbmdCb2R5LCAqdGhpcyk7CiAgICAgICAgIH0K
ICAgICAgICAgbV9zdGF0ZSA9IEluaXRpYWw7CiAgICAgfSBlbHNlIGlmIChlcXVhbElnbm9yaW5n
Q2FzZSgiY2hhcnNldCIsIG1fcnVsZS5jaGFyYWN0ZXJzKCksIG1fcnVsZS5sZW5ndGgoKSkpCkBA
IC0yMDgsNCArMjA4LDEwIEBAIHZvaWQgQ1NTUHJlbG9hZFNjYW5uZXI6OmVtaXRSdWxlKCkKICAg
ICBtX3J1bGVWYWx1ZS5jbGVhcigpOwogfQogCitjb25zdCBBdG9taWNTdHJpbmcmIENTU1ByZWxv
YWRTY2FubmVyOjppbml0aWF0b3JOYW1lKCkgY29uc3QKK3sKKyAgICBERUZJTkVfU1RBVElDX0xP
Q0FMKEF0b21pY1N0cmluZywgbmFtZSwgKCJjc3MiLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZy
b21MaXRlcmFsKSk7CisgICAgcmV0dXJuIG5hbWU7Cit9CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0NTU1ByZWxvYWRTY2FubmVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3BhcnNlci9DU1NQcmVsb2FkU2Nhbm5lci5oCmluZGV4IGMzZGJiODAwZWRkOGVhMTBh
YjI0ZWIzYzEyM2I3Y2E5OGYyY2I0MjcuLjE1NWJhNTk5YzFkNWNiMjhmYmJkMjBkZjhhM2FhZGY1
Y2QwM2E4YmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0NTU1ByZWxv
YWRTY2FubmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvQ1NTUHJlbG9hZFNj
YW5uZXIuaApAQCAtMjcsNiArMjcsNyBAQAogI2lmbmRlZiBDU1NQcmVsb2FkU2Nhbm5lcl9oCiAj
ZGVmaW5lIENTU1ByZWxvYWRTY2FubmVyX2gKIAorI2luY2x1ZGUgIkxvYWRJbml0aWF0b3IuaCIK
ICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKQEAgLTM0LDcgKzM1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRG9jdW1lbnQ7
CiBjbGFzcyBIVE1MVG9rZW47CiAKLWNsYXNzIENTU1ByZWxvYWRTY2FubmVyIHsKK2NsYXNzIENT
U1ByZWxvYWRTY2FubmVyIDogcHJpdmF0ZSBMb2FkSW5pdGlhdG9yIHsKICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShDU1NQcmVsb2FkU2Nhbm5lcik7CiBwdWJsaWM6CiAgICAgQ1NTUHJlbG9hZFNj
YW5uZXIoRG9jdW1lbnQqKTsKQEAgLTQzLDYgKzQ0LDkgQEAgcHVibGljOgogICAgIHZvaWQgc2Nh
bihjb25zdCBIVE1MVG9rZW4mLCBib29sIHNjYW5uaW5nQm9keSk7CiAKIHByaXZhdGU6CisgICAg
dmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIGluaXRpYXRvck5hbWUoKSBjb25zdDsKKyAgICB2
aXJ0dWFsIERvY3VtZW50KiBpbml0aWF0b3JEb2N1bWVudCgpIGNvbnN0IHsgcmV0dXJuIG1fZG9j
dW1lbnQ7IH0KKwogICAgIGVudW0gU3RhdGUgewogICAgICAgICBJbml0aWFsLAogICAgICAgICBN
YXliZUNvbW1lbnQsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1M
UHJlbG9hZFNjYW5uZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFByZWxv
YWRTY2FubmVyLmNwcAppbmRleCBhNzViNTJlMzU1MDZhYTMwZTVlOWJmMzA5ZjAyMGQ4NzE5MWNj
ZmY0Li4yODQyZGE5MjI1YjA4Y2IzZTkxZWJiM2ZiMDFlMTE1MjVjOGY5NTY1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUHJlbG9hZFNjYW5uZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQcmVsb2FkU2Nhbm5lci5jcHAKQEAgLTM2
LDYgKzM2LDcgQEAKICNpbmNsdWRlICJIVE1MUGFyc2VySWRpb21zLmgiCiAjaW5jbHVkZSAiSW5w
dXRUeXBlTmFtZXMuaCIKICNpbmNsdWRlICJMaW5rUmVsQXR0cmlidXRlLmgiCisjaW5jbHVkZSAi
TG9hZEluaXRpYXRvci5oIgogI2luY2x1ZGUgIk1lZGlhTGlzdC5oIgogI2luY2x1ZGUgIk1lZGlh
UXVlcnlFdmFsdWF0b3IuaCIKIApAQCAtNDMsMTAgKzQ0LDExIEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKIAotY2xhc3MgUHJlbG9hZFRhc2sgewor
Y2xhc3MgUHJlbG9hZFRhc2sgOiBwcml2YXRlIExvYWRJbml0aWF0b3IgewogcHVibGljOgotICAg
IGV4cGxpY2l0IFByZWxvYWRUYXNrKGNvbnN0IEhUTUxUb2tlbiYgdG9rZW4pCisgICAgZXhwbGlj
aXQgUHJlbG9hZFRhc2soY29uc3QgSFRNTFRva2VuJiB0b2tlbiwgRG9jdW1lbnQqIGRvY3VtZW50
KQogICAgICAgICA6IG1fdGFnTmFtZSh0b2tlbi5uYW1lKCkuZGF0YSgpLCB0b2tlbi5uYW1lKCku
c2l6ZSgpKQorICAgICAgICAsIG1fZG9jdW1lbnQoZG9jdW1lbnQpCiAgICAgICAgICwgbV9saW5r
SXNTdHlsZVNoZWV0KGZhbHNlKQogICAgICAgICAsIG1fbGlua01lZGlhQXR0cmlidXRlSXNTY3Jl
ZW4odHJ1ZSkKICAgICAgICAgLCBtX2lucHV0SXNJbWFnZShmYWxzZSkKQEAgLTEyMSwyNiArMTIz
LDMwIEBAIHB1YmxpYzoKICAgICAgICAgbV91cmxUb0xvYWQgPSBzdHJpcExlYWRpbmdBbmRUcmFp
bGluZ0hUTUxTcGFjZXMoYXR0cmlidXRlVmFsdWUpOwogICAgIH0KIAotICAgIHZvaWQgcHJlbG9h
ZChEb2N1bWVudCogZG9jdW1lbnQsIGJvb2wgc2Nhbm5pbmdCb2R5LCBjb25zdCBLVVJMJiBiYXNl
VVJMKQorICAgIHZvaWQgcHJlbG9hZChib29sIHNjYW5uaW5nQm9keSwgY29uc3QgS1VSTCYgYmFz
ZVVSTCkKICAgICB7CiAgICAgICAgIGlmIChtX3VybFRvTG9hZC5pc0VtcHR5KCkpCiAgICAgICAg
ICAgICByZXR1cm47CiAKLSAgICAgICAgQ2FjaGVkUmVzb3VyY2VMb2FkZXIqIGNhY2hlZFJlc291
cmNlTG9hZGVyID0gZG9jdW1lbnQtPmNhY2hlZFJlc291cmNlTG9hZGVyKCk7Ci0gICAgICAgIFJl
c291cmNlUmVxdWVzdCByZXF1ZXN0ID0gZG9jdW1lbnQtPmNvbXBsZXRlVVJMKG1fdXJsVG9Mb2Fk
LCBiYXNlVVJMKTsKKyAgICAgICAgQ2FjaGVkUmVzb3VyY2VMb2FkZXIqIGNhY2hlZFJlc291cmNl
TG9hZGVyID0gbV9kb2N1bWVudC0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKTsKKyAgICAgICAgUmVz
b3VyY2VSZXF1ZXN0IHJlcXVlc3QgPSBtX2RvY3VtZW50LT5jb21wbGV0ZVVSTChtX3VybFRvTG9h
ZCwgYmFzZVVSTCk7CiAgICAgICAgIGlmIChtX3RhZ05hbWUgPT0gc2NyaXB0VGFnKQotICAgICAg
ICAgICAgY2FjaGVkUmVzb3VyY2VMb2FkZXItPnByZWxvYWQoQ2FjaGVkUmVzb3VyY2U6OlNjcmlw
dCwgcmVxdWVzdCwgbV9jaGFyc2V0LCBzY2FubmluZ0JvZHkpOworICAgICAgICAgICAgY2FjaGVk
UmVzb3VyY2VMb2FkZXItPnByZWxvYWQoQ2FjaGVkUmVzb3VyY2U6OlNjcmlwdCwgcmVxdWVzdCwg
bV9jaGFyc2V0LCBzY2FubmluZ0JvZHksICp0aGlzKTsKICAgICAgICAgZWxzZSBpZiAobV90YWdO
YW1lID09IGltZ1RhZyB8fCAobV90YWdOYW1lID09IGlucHV0VGFnICYmIG1faW5wdXRJc0ltYWdl
KSkKLSAgICAgICAgICAgIGNhY2hlZFJlc291cmNlTG9hZGVyLT5wcmVsb2FkKENhY2hlZFJlc291
cmNlOjpJbWFnZVJlc291cmNlLCByZXF1ZXN0LCBTdHJpbmcoKSwgc2Nhbm5pbmdCb2R5KTsKKyAg
ICAgICAgICAgIGNhY2hlZFJlc291cmNlTG9hZGVyLT5wcmVsb2FkKENhY2hlZFJlc291cmNlOjpJ
bWFnZVJlc291cmNlLCByZXF1ZXN0LCBTdHJpbmcoKSwgc2Nhbm5pbmdCb2R5LCAqdGhpcyk7CiAg
ICAgICAgIGVsc2UgaWYgKG1fdGFnTmFtZSA9PSBsaW5rVGFnICYmIG1fbGlua0lzU3R5bGVTaGVl
dCAmJiBtX2xpbmtNZWRpYUF0dHJpYnV0ZUlzU2NyZWVuKSAKLSAgICAgICAgICAgIGNhY2hlZFJl
c291cmNlTG9hZGVyLT5wcmVsb2FkKENhY2hlZFJlc291cmNlOjpDU1NTdHlsZVNoZWV0LCByZXF1
ZXN0LCBtX2NoYXJzZXQsIHNjYW5uaW5nQm9keSk7CisgICAgICAgICAgICBjYWNoZWRSZXNvdXJj
ZUxvYWRlci0+cHJlbG9hZChDYWNoZWRSZXNvdXJjZTo6Q1NTU3R5bGVTaGVldCwgcmVxdWVzdCwg
bV9jaGFyc2V0LCBzY2FubmluZ0JvZHksICp0aGlzKTsKICAgICB9CiAKICAgICBjb25zdCBBdG9t
aWNTdHJpbmcmIHRhZ05hbWUoKSBjb25zdCB7IHJldHVybiBtX3RhZ05hbWU7IH0KICAgICBjb25z
dCBTdHJpbmcmIGJhc2VFbGVtZW50SHJlZigpIGNvbnN0IHsgcmV0dXJuIG1fYmFzZUVsZW1lbnRI
cmVmOyB9CiAKIHByaXZhdGU6CisgICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIGluaXRp
YXRvck5hbWUoKSBjb25zdCB7IHJldHVybiBtX3RhZ05hbWU7IH0KKyAgICB2aXJ0dWFsIERvY3Vt
ZW50KiBpbml0aWF0b3JEb2N1bWVudCgpIGNvbnN0IHsgcmV0dXJuIG1fZG9jdW1lbnQ7IH0KKwog
ICAgIEF0b21pY1N0cmluZyBtX3RhZ05hbWU7CisgICAgRG9jdW1lbnQqIG1fZG9jdW1lbnQ7CiAg
ICAgU3RyaW5nIG1fdXJsVG9Mb2FkOwogICAgIFN0cmluZyBtX2NoYXJzZXQ7CiAgICAgU3RyaW5n
IG1fYmFzZUVsZW1lbnRIcmVmOwpAQCAtMTkwLDcgKzE5Niw3IEBAIHZvaWQgSFRNTFByZWxvYWRT
Y2FubmVyOjpwcm9jZXNzVG9rZW4oKQogICAgIGlmIChtX3Rva2VuLnR5cGUoKSAhPSBIVE1MVG9r
ZW5UeXBlczo6U3RhcnRUYWcpCiAgICAgICAgIHJldHVybjsKIAotICAgIFByZWxvYWRUYXNrIHRh
c2sobV90b2tlbik7CisgICAgUHJlbG9hZFRhc2sgdGFzayhtX3Rva2VuLCBtX2RvY3VtZW50KTsK
ICAgICBtX3Rva2VuaXplci0+dXBkYXRlU3RhdGVGb3IodGFzay50YWdOYW1lKCksIG1fZG9jdW1l
bnQtPmZyYW1lKCkpOwogCiAgICAgaWYgKHRhc2sudGFnTmFtZSgpID09IGJvZHlUYWcpCkBAIC0y
MDIsNyArMjA4LDcgQEAgdm9pZCBIVE1MUHJlbG9hZFNjYW5uZXI6OnByb2Nlc3NUb2tlbigpCiAg
ICAgaWYgKHRhc2sudGFnTmFtZSgpID09IGJhc2VUYWcpCiAgICAgICAgIHVwZGF0ZVByZWRpY3Rl
ZEJhc2VFbGVtZW50VVJMKEtVUkwobV9kb2N1bWVudC0+dXJsKCksIHRhc2suYmFzZUVsZW1lbnRI
cmVmKCkpKTsKIAotICAgIHRhc2sucHJlbG9hZChtX2RvY3VtZW50LCBzY2FubmluZ0JvZHkoKSwg
bV9wcmVkaWN0ZWRCYXNlRWxlbWVudFVSTC5pc0VtcHR5KCkgPyBtX2RvY3VtZW50LT5iYXNlVVJM
KCkgOiBtX3ByZWRpY3RlZEJhc2VFbGVtZW50VVJMKTsKKyAgICB0YXNrLnByZWxvYWQoc2Nhbm5p
bmdCb2R5KCksIG1fcHJlZGljdGVkQmFzZUVsZW1lbnRVUkwuaXNFbXB0eSgpID8gbV9kb2N1bWVu
dC0+YmFzZVVSTCgpIDogbV9wcmVkaWN0ZWRCYXNlRWxlbWVudFVSTCk7CiB9CiAKIGJvb2wgSFRN
TFByZWxvYWRTY2FubmVyOjpzY2FubmluZ0JvZHkoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC90cmFjay9Mb2FkYWJsZVRleHRUcmFjay5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3RyYWNrL0xvYWRhYmxlVGV4dFRyYWNrLmNwcAppbmRleCBkOTVlOGNjZjlkNmVhMWY4
YTUxNjhiM2U2Y2ZjMjY3N2Q4OTFhNDI5Li44MzE4YTU0Mjk0NjNiZDhlZmRkOTU0YTBjZmFlMDRk
ZjUxYTQyNDA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL0xvYWRhYmxl
VGV4dFRyYWNrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL0xvYWRhYmxlVGV4
dFRyYWNrLmNwcApAQCAtMTIyLDYgKzEyMiwxMSBAQCB2b2lkIExvYWRhYmxlVGV4dFRyYWNrOjpj
dWVMb2FkaW5nQ29tcGxldGVkKFRleHRUcmFja0xvYWRlciogbG9hZGVyLCBib29sIGxvYWRpbgog
ICAgIG1fdHJhY2tFbGVtZW50LT5kaWRDb21wbGV0ZUxvYWQodGhpcywgbG9hZGluZ0ZhaWxlZCA/
IEhUTUxUcmFja0VsZW1lbnQ6OkZhaWx1cmUgOiBIVE1MVHJhY2tFbGVtZW50OjpTdWNjZXNzKTsK
IH0KIAorY29uc3QgTG9hZEluaXRpYXRvciYgTG9hZGFibGVUZXh0VHJhY2s6OmluaXRpYXRvcigp
IGNvbnN0Cit7CisgICAgcmV0dXJuICptX3RyYWNrRWxlbWVudDsKK30KKwogc2l6ZV90IExvYWRh
YmxlVGV4dFRyYWNrOjp0cmFja0VsZW1lbnRJbmRleCgpCiB7CiAgICAgQVNTRVJUKG1fdHJhY2tF
bGVtZW50KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svTG9hZGFibGVU
ZXh0VHJhY2suaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svTG9hZGFibGVUZXh0VHJhY2su
aAppbmRleCAzMzE4M2RiOWI0NzFiMjFkM2FiY2QxNDcxMzdiMzMyNzc0M2ZiODQ2Li4yNTIxZjU1
ZDhiMTUwYmRmMzU3MDZmZDZhOTI4OTA1MDJiMjdjZDcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3RyYWNrL0xvYWRhYmxlVGV4dFRyYWNrLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC90cmFjay9Mb2FkYWJsZVRleHRUcmFjay5oCkBAIC00MSw3ICs0MSw3IEBAIGNsYXNzIExv
YWRhYmxlVGV4dFRyYWNrOwogY2xhc3MgTG9hZGFibGVUZXh0VHJhY2tDbGllbnQgOiBwdWJsaWMg
VGV4dFRyYWNrQ2xpZW50IHsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5Mb2FkYWJsZVRleHRUcmFj
a0NsaWVudCgpIHsgfQotICAgIAorCiAgICAgdmlydHVhbCBib29sIGNhbkxvYWRVcmwoTG9hZGFi
bGVUZXh0VHJhY2sqLCBjb25zdCBLVVJMJikgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFs
IHZvaWQgbG9hZGluZ0NvbXBsZXRlZChMb2FkYWJsZVRleHRUcmFjayosIGJvb2wgLyogbG9hZGlu
Z0ZhaWxlZCAqLykgeyB9CiB9OwpAQCAtNjcsNiArNjcsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1
YWwgdm9pZCBuZXdDdWVzQXZhaWxhYmxlKFRleHRUcmFja0xvYWRlciopOwogICAgIHZpcnR1YWwg
dm9pZCBjdWVMb2FkaW5nU3RhcnRlZChUZXh0VHJhY2tMb2FkZXIqKTsKICAgICB2aXJ0dWFsIHZv
aWQgY3VlTG9hZGluZ0NvbXBsZXRlZChUZXh0VHJhY2tMb2FkZXIqLCBib29sIGxvYWRpbmdGYWls
ZWQpOworICAgIHZpcnR1YWwgY29uc3QgTG9hZEluaXRpYXRvciYgaW5pdGlhdG9yKCkgY29uc3Q7
CiAKICAgICBMb2FkYWJsZVRleHRUcmFjayhIVE1MVHJhY2tFbGVtZW50KiwgY29uc3QgU3RyaW5n
JiBraW5kLCBjb25zdCBTdHJpbmcmIGxhYmVsLCBjb25zdCBTdHJpbmcmIGxhbmd1YWdlLCBib29s
IGlzRGVmYXVsdCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVu
dFRocmVhZGFibGVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhy
ZWFkYWJsZUxvYWRlci5jcHAKaW5kZXggNzFhMWFkM2IxOTcxMThjMmFiMWJjZGUyOTBhMzE5MmQ1
YzY5MDc0Zi4uMWE4Yjc1NDVmODA3YTJkM2MyMzRmNGY2ZGE4MTg0MDNhM2Y0YTEwZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5jcHAK
QEAgLTU1LDI4ICs1NSwyOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXZvaWQgRG9jdW1l
bnRUaHJlYWRhYmxlTG9hZGVyOjpsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KERvY3VtZW50KiBk
b2N1bWVudCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBUaHJlYWRhYmxlTG9hZGVy
Q2xpZW50JiBjbGllbnQsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJiBvcHRpb25zKQor
dm9pZCBEb2N1bWVudFRocmVhZGFibGVMb2FkZXI6OmxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHko
RG9jdW1lbnQqIGRvY3VtZW50LCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFRocmVh
ZGFibGVMb2FkZXJDbGllbnQmIGNsaWVudCwgY29uc3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMm
IG9wdGlvbnMsIGNvbnN0IExvYWRJbml0aWF0b3ImIGluaXRpYXRvcikKIHsKICAgICAvLyBUaGUg
bG9hZGVyIHdpbGwgYmUgZGVsZXRlZCBhcyBzb29uIGFzIHRoaXMgZnVuY3Rpb24gZXhpdHMuCi0g
ICAgUmVmUHRyPERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcj4gbG9hZGVyID0gYWRvcHRSZWYobmV3
IERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcihkb2N1bWVudCwgJmNsaWVudCwgTG9hZFN5bmNocm9u
b3VzbHksIHJlcXVlc3QsIG9wdGlvbnMpKTsKKyAgICBSZWZQdHI8RG9jdW1lbnRUaHJlYWRhYmxl
TG9hZGVyPiBsb2FkZXIgPSBhZG9wdFJlZihuZXcgRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyKGRv
Y3VtZW50LCAmY2xpZW50LCBMb2FkU3luY2hyb25vdXNseSwgcmVxdWVzdCwgb3B0aW9ucywgaW5p
dGlhdG9yKSk7CiAgICAgQVNTRVJUKGxvYWRlci0+aGFzT25lUmVmKCkpOwogfQogCi1QYXNzUmVm
UHRyPERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcj4gRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyOjpj
cmVhdGUoRG9jdW1lbnQqIGRvY3VtZW50LCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50KiBjbGllbnQs
IGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgVGhyZWFkYWJsZUxvYWRlck9w
dGlvbnMmIG9wdGlvbnMpCitQYXNzUmVmUHRyPERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcj4gRG9j
dW1lbnRUaHJlYWRhYmxlTG9hZGVyOjpjcmVhdGUoRG9jdW1lbnQqIGRvY3VtZW50LCBUaHJlYWRh
YmxlTG9hZGVyQ2xpZW50KiBjbGllbnQsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwg
Y29uc3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMmIG9wdGlvbnMsIGNvbnN0IExvYWRJbml0aWF0
b3ImIGluaXRpYXRvcikKIHsKLSAgICBSZWZQdHI8RG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyPiBs
b2FkZXIgPSBhZG9wdFJlZihuZXcgRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyKGRvY3VtZW50LCBj
bGllbnQsIExvYWRBc3luY2hyb25vdXNseSwgcmVxdWVzdCwgb3B0aW9ucykpOworICAgIFJlZlB0
cjxEb2N1bWVudFRocmVhZGFibGVMb2FkZXI+IGxvYWRlciA9IGFkb3B0UmVmKG5ldyBEb2N1bWVu
dFRocmVhZGFibGVMb2FkZXIoZG9jdW1lbnQsIGNsaWVudCwgTG9hZEFzeW5jaHJvbm91c2x5LCBy
ZXF1ZXN0LCBvcHRpb25zLCBpbml0aWF0b3IpKTsKICAgICBpZiAoIWxvYWRlci0+bV9yZXNvdXJj
ZSkKICAgICAgICAgbG9hZGVyID0gMDsKICAgICByZXR1cm4gbG9hZGVyLnJlbGVhc2UoKTsKIH0K
IAotRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyOjpEb2N1bWVudFRocmVhZGFibGVMb2FkZXIoRG9j
dW1lbnQqIGRvY3VtZW50LCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50KiBjbGllbnQsIEJsb2NraW5n
QmVoYXZpb3IgYmxvY2tpbmdCZWhhdmlvciwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0
LCBjb25zdCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9ucyYgb3B0aW9ucykKK0RvY3VtZW50VGhyZWFk
YWJsZUxvYWRlcjo6RG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyKERvY3VtZW50KiBkb2N1bWVudCwg
VGhyZWFkYWJsZUxvYWRlckNsaWVudCogY2xpZW50LCBCbG9ja2luZ0JlaGF2aW9yIGJsb2NraW5n
QmVoYXZpb3IsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgVGhyZWFkYWJs
ZUxvYWRlck9wdGlvbnMmIG9wdGlvbnMsIGNvbnN0IExvYWRJbml0aWF0b3ImIGluaXRpYXRvcikK
ICAgICA6IG1fY2xpZW50KGNsaWVudCkKICAgICAsIG1fZG9jdW1lbnQoZG9jdW1lbnQpCiAgICAg
LCBtX29wdGlvbnMob3B0aW9ucykKICAgICAsIG1fc2FtZU9yaWdpblJlcXVlc3Qoc2VjdXJpdHlP
cmlnaW4oKS0+Y2FuUmVxdWVzdChyZXF1ZXN0LnVybCgpKSkKICAgICAsIG1fc2ltcGxlUmVxdWVz
dCh0cnVlKQogICAgICwgbV9hc3luYyhibG9ja2luZ0JlaGF2aW9yID09IExvYWRBc3luY2hyb25v
dXNseSkKKyAgICAsIG1faW5pdGlhdG9yKGluaXRpYXRvcikKICNpZiBFTkFCTEUoSU5TUEVDVE9S
KQogICAgICwgbV9wcmVmbGlnaHRSZXF1ZXN0SWRlbnRpZmllcigwKQogI2VuZGlmCkBAIC0zMDMs
NyArMzA0LDcgQEAgdm9pZCBEb2N1bWVudFRocmVhZGFibGVMb2FkZXI6Om5vdGlmeUZpbmlzaGVk
KENhY2hlZFJlc291cmNlKiByZXNvdXJjZSkKIHsKICAgICBBU1NFUlQobV9jbGllbnQpOwogICAg
IEFTU0VSVF9VTlVTRUQocmVzb3VyY2UsIHJlc291cmNlID09IG1fcmVzb3VyY2UpOwotICAgICAg
ICAKKwogICAgIGlmIChtX3Jlc291cmNlICYmIChtX3Jlc291cmNlLT5lcnJvck9jY3VycmVkKCkg
fHwgbV9yZXNvdXJjZS0+d2FzQ2FuY2VsZWQoKSkpIHsKICAgICAgICAgUmVzb3VyY2VFcnJvciBl
cnJvcigiTmV0d29yayBSZXF1ZXN0IEZhaWxlZCIsIDAsIG1fcmVzb3VyY2UtPnVybCgpLCAiUmVz
b3VyY2UgZmFpbGVkIHRvIGxvYWQiKTsKICAgICAgICAgaWYgKG1fcmVzb3VyY2UtPndhc0NhbmNl
bGVkKCkpCkBAIC0zODYsNyArMzg3LDcgQEAgdm9pZCBEb2N1bWVudFRocmVhZGFibGVMb2FkZXI6
OmxvYWRSZXF1ZXN0KGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgU2VjdXIKICAgICAg
ICAgfQogI2VuZGlmCiAgICAgICAgIEFTU0VSVCghbV9yZXNvdXJjZSk7Ci0gICAgICAgIG1fcmVz
b3VyY2UgPSBtX2RvY3VtZW50LT5jYWNoZWRSZXNvdXJjZUxvYWRlcigpLT5yZXF1ZXN0UmF3UmVz
b3VyY2UobmV3UmVxdWVzdCwgb3B0aW9ucyk7CisgICAgICAgIG1fcmVzb3VyY2UgPSBtX2RvY3Vt
ZW50LT5jYWNoZWRSZXNvdXJjZUxvYWRlcigpLT5yZXF1ZXN0UmF3UmVzb3VyY2UobmV3UmVxdWVz
dCwgb3B0aW9ucywgbV9pbml0aWF0b3IpOwogICAgICAgICBpZiAobV9yZXNvdXJjZSkgewogI2lm
IEVOQUJMRShJTlNQRUNUT1IpCiAgICAgICAgICAgICBpZiAobV9yZXNvdXJjZS0+bG9hZGVyKCkp
IHsKQEAgLTM5OCw3ICszOTksNyBAQCB2b2lkIERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcjo6bG9h
ZFJlcXVlc3QoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBTZWN1cgogICAgICAgICB9
CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0gICAgCisKICAgICAvLyBGSVhNRTogVGhyZWFkYWJs
ZUxvYWRlck9wdGlvbnMuc25pZmZDb250ZW50IGlzIG5vdCBzdXBwb3J0ZWQgZm9yIHN5bmNocm9u
b3VzIHJlcXVlc3RzLgogICAgIFZlY3RvcjxjaGFyPiBkYXRhOwogICAgIFJlc291cmNlRXJyb3Ig
ZXJyb3I7CkBAIC00MzAsNyArNDMxLDEzIEBAIHZvaWQgRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVy
Ojpsb2FkUmVxdWVzdChjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFNlY3VyCiAgICAg
aW50IGxlbiA9IHN0YXRpY19jYXN0PGludD4oZGF0YS5zaXplKCkpOwogICAgIGRhdGFSZWNlaXZl
ZCgwLCBieXRlcywgbGVuKTsKIAotICAgIGRpZEZpbmlzaExvYWRpbmcoaWRlbnRpZmllciwgMC4w
KTsKKyAgICBkb3VibGUgZmluaXNoVGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgp
OworI2lmIEVOQUJMRShSRVNPVVJDRV9USU1JTkcpCisgICAgaWYgKG1faW5pdGlhdG9yLmluaXRp
YXRvckRvY3VtZW50KCkpCisgICAgICAgIG1faW5pdGlhdG9yLmluaXRpYXRvckRvY3VtZW50KCkt
PmRvbVdpbmRvdygpLT5wZXJmb3JtYW5jZSgpLT5hZGRSZXNvdXJjZVRpbWluZyhtX2luaXRpYXRv
ciwgcmVxdWVzdCwgcmVzcG9uc2UsIGZpbmlzaFRpbWUpOworI2VuZGlmCisKKyAgICBkaWRGaW5p
c2hMb2FkaW5nKGlkZW50aWZpZXIsIGZpbmlzaFRpbWUpOwogfQogCiBib29sIERvY3VtZW50VGhy
ZWFkYWJsZUxvYWRlcjo6aXNBbGxvd2VkUmVkaXJlY3QoY29uc3QgS1VSTCYgdXJsKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5oIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5oCmluZGV4IDg3
OTkxOWZlY2E1NWEyMWRjY2UzYmQwMWNiOWRkOThjNTlmNDEwNWMuLjQ5MGY5Njc2Y2U0ZGIyMmQw
OGRhMGIzNGU2ZDg1NTU5NTk0ZTEyMmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
RG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmgKQEAgLTM0LDYgKzM0LDggQEAKICNpbmNsdWRlICJD
YWNoZWRSYXdSZXNvdXJjZS5oIgogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlSGFuZGxlLmgiCiAj
aW5jbHVkZSAiRnJhbWVMb2FkZXJUeXBlcy5oIgorI2luY2x1ZGUgIkxvYWRJbml0aWF0b3JIYW5k
bGUuaCIKKyNpbmNsdWRlICJOdWxsTG9hZEluaXRpYXRvci5oIgogI2luY2x1ZGUgIlRocmVhZGFi
bGVMb2FkZXIuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9Pd25Q
dHIuaD4KQEAgLTQ1LDYgKzQ3LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBE
b2N1bWVudDsKICAgICBjbGFzcyBLVVJMOworICAgIGNsYXNzIExvYWRJbml0aWF0b3I7CiAgICAg
Y2xhc3MgUmVzb3VyY2VSZXF1ZXN0OwogICAgIGNsYXNzIFNlY3VyaXR5T3JpZ2luOwogICAgIGNs
YXNzIFRocmVhZGFibGVMb2FkZXJDbGllbnQ7CkBAIC01Miw4ICs1NSw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICBjbGFzcyBEb2N1bWVudFRocmVhZGFibGVMb2FkZXIgOiBwdWJsaWMgUmVm
Q291bnRlZDxEb2N1bWVudFRocmVhZGFibGVMb2FkZXI+LCBwdWJsaWMgVGhyZWFkYWJsZUxvYWRl
ciwgcHJpdmF0ZSBDYWNoZWRSYXdSZXNvdXJjZUNsaWVudCAgewogICAgICAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6Ci0gICAgICAgIHN0YXRpYyB2b2lkIGxvYWRSZXNv
dXJjZVN5bmNocm9ub3VzbHkoRG9jdW1lbnQqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBUaHJl
YWRhYmxlTG9hZGVyQ2xpZW50JiwgY29uc3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMmKTsKLSAg
ICAgICAgc3RhdGljIFBhc3NSZWZQdHI8RG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyPiBjcmVhdGUo
RG9jdW1lbnQqLCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0
JiwgY29uc3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMmKTsKKyAgICAgICAgc3RhdGljIHZvaWQg
bG9hZFJlc291cmNlU3luY2hyb25vdXNseShEb2N1bWVudCosIGNvbnN0IFJlc291cmNlUmVxdWVz
dCYsIFRocmVhZGFibGVMb2FkZXJDbGllbnQmLCBjb25zdCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9u
cyYsIGNvbnN0IExvYWRJbml0aWF0b3ImID0gTnVsbExvYWRJbml0aWF0b3I6Omluc3RhbmNlKCkp
OworICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxEb2N1bWVudFRocmVhZGFibGVMb2FkZXI+IGNy
ZWF0ZShEb2N1bWVudCosIFRocmVhZGFibGVMb2FkZXJDbGllbnQqLCBjb25zdCBSZXNvdXJjZVJl
cXVlc3QmLCBjb25zdCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9ucyYsIGNvbnN0IExvYWRJbml0aWF0
b3ImID0gTnVsbExvYWRJbml0aWF0b3I6Omluc3RhbmNlKCkpOwogICAgICAgICB2aXJ0dWFsIH5E
b2N1bWVudFRocmVhZGFibGVMb2FkZXIoKTsKIAogICAgICAgICB2aXJ0dWFsIHZvaWQgY2FuY2Vs
KCk7CkBAIC03Miw3ICs3NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAgIExv
YWRBc3luY2hyb25vdXNseQogICAgICAgICB9OwogCi0gICAgICAgIERvY3VtZW50VGhyZWFkYWJs
ZUxvYWRlcihEb2N1bWVudCosIFRocmVhZGFibGVMb2FkZXJDbGllbnQqLCBCbG9ja2luZ0JlaGF2
aW9yLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9u
cyYpOworICAgICAgICBEb2N1bWVudFRocmVhZGFibGVMb2FkZXIoRG9jdW1lbnQqLCBUaHJlYWRh
YmxlTG9hZGVyQ2xpZW50KiwgQmxvY2tpbmdCZWhhdmlvciwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0
JiwgY29uc3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMmLCBjb25zdCBMb2FkSW5pdGlhdG9yJik7
CiAKICAgICAgICAgdm9pZCBjbGVhclJlc291cmNlKCk7CiAKQEAgLTEwOCw2ICsxMTEsNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIGJvb2wgbV9zaW1wbGVSZXF1ZXN0OwogICAgICAg
ICBib29sIG1fYXN5bmM7CiAgICAgICAgIE93blB0cjxSZXNvdXJjZVJlcXVlc3Q+IG1fYWN0dWFs
UmVxdWVzdDsgIC8vIG5vbi1udWxsIGR1cmluZyBBY2Nlc3MgQ29udHJvbCBwcmVmbGlnaHQgY2hl
Y2tzCisgICAgICAgIExvYWRJbml0aWF0b3JIYW5kbGUgbV9pbml0aWF0b3I7CiAKICNpZiBFTkFC
TEUoSU5TUEVDVE9SKQogICAgICAgICB1bnNpZ25lZCBsb25nIG1fcHJlZmxpZ2h0UmVxdWVzdElk
ZW50aWZpZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmNwcAppbmRleCAwNTIzYjNh
ODlmMzE2NzVjYzY5OWUxNWQ5ZDE2MTYwN2Y3ZTc1YjExLi5lNmNjNDc0ZTZjNTk0NDE1MzNlZTNj
NDc5NDk0Y2JiMzkwNTI5MTc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1h
Z2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAK
QEAgLTE5NCw3ICsxOTQsNyBAQCB2b2lkIEltYWdlTG9hZGVyOjp1cGRhdGVGcm9tRWxlbWVudCgp
CiAgICAgICAgICAgICBkb2N1bWVudCgpLT5jYWNoZWRSZXNvdXJjZUxvYWRlcigpLT5tX2RvY3Vt
ZW50UmVzb3VyY2VzLnNldChuZXdJbWFnZS0+dXJsKCksIG5ld0ltYWdlLmdldCgpKTsKICAgICAg
ICAgICAgIGRvY3VtZW50KCktPmNhY2hlZFJlc291cmNlTG9hZGVyKCktPnNldEF1dG9Mb2FkSW1h
Z2VzKGF1dG9Mb2FkT3RoZXJJbWFnZXMpOwogICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIG5l
d0ltYWdlID0gZG9jdW1lbnQoKS0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKS0+cmVxdWVzdEltYWdl
KHJlcXVlc3QpOworICAgICAgICAgICAgbmV3SW1hZ2UgPSBkb2N1bWVudCgpLT5jYWNoZWRSZXNv
dXJjZUxvYWRlcigpLT5yZXF1ZXN0SW1hZ2UocmVxdWVzdCwgKmNsaWVudCgpLT5zb3VyY2VFbGVt
ZW50KCkpOwogCiAgICAgICAgIC8vIElmIHdlIGRvIG5vdCBoYXZlIGFuIGltYWdlIGhlcmUsIGl0
IG1lYW5zIHRoYXQgYSBjcm9zcy1zaXRlCiAgICAgICAgIC8vIHZpb2xhdGlvbiBvY2N1cnJlZCwg
b3IgdGhhdCB0aGUgaW1hZ2Ugd2FzIGJsb2NrZWQgdmlhIENvbnRlbnQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9MaW5rTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9MaW5rTG9hZGVyLmNwcAppbmRleCBhZjI1YTg2ODAzYzQwNzQ3OWMxMDI2N2FmMjY2N2VhMDJh
ZTVkMmYzLi5lMTY1NTBkYmU4ZTUwZjc2MmMyMGZjYjFlMGEzMzdhYTMyNzQ3NmRlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTGlua0xvYWRlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0xpbmtMb2FkZXIuY3BwCkBAIC0xMjAsMTIgKzEyMCwxMiBAQCBib29sIExp
bmtMb2FkZXI6OmxvYWRMaW5rKGNvbnN0IExpbmtSZWxBdHRyaWJ1dGUmIHJlbEF0dHJpYnV0ZSwg
Y29uc3QgU3RyaW5nJiB0eQogICAgICAgICAgICAgdHlwZSA9IENhY2hlZFJlc291cmNlOjpMaW5r
U3VicmVzb3VyY2U7CiAgICAgICAgIH0KICAgICAgICAgUmVzb3VyY2VSZXF1ZXN0IGxpbmtSZXF1
ZXN0KGRvY3VtZW50LT5jb21wbGV0ZVVSTChocmVmKSk7Ci0gICAgICAgIAorCiAgICAgICAgIGlm
IChtX2NhY2hlZExpbmtSZXNvdXJjZSkgewogICAgICAgICAgICAgbV9jYWNoZWRMaW5rUmVzb3Vy
Y2UtPnJlbW92ZUNsaWVudCh0aGlzKTsKICAgICAgICAgICAgIG1fY2FjaGVkTGlua1Jlc291cmNl
ID0gMDsKICAgICAgICAgfQotICAgICAgICBtX2NhY2hlZExpbmtSZXNvdXJjZSA9IGRvY3VtZW50
LT5jYWNoZWRSZXNvdXJjZUxvYWRlcigpLT5yZXF1ZXN0TGlua1Jlc291cmNlKHR5cGUsIGxpbmtS
ZXF1ZXN0LCBwcmlvcml0eSk7CisgICAgICAgIG1fY2FjaGVkTGlua1Jlc291cmNlID0gZG9jdW1l
bnQtPmNhY2hlZFJlc291cmNlTG9hZGVyKCktPnJlcXVlc3RMaW5rUmVzb3VyY2UodHlwZSwgbGlu
a1JlcXVlc3QsIG1fY2xpZW50LT5pbml0aWF0b3IoKSwgcHJpb3JpdHkpOwogICAgICAgICBpZiAo
bV9jYWNoZWRMaW5rUmVzb3VyY2UpCiAgICAgICAgICAgICBtX2NhY2hlZExpbmtSZXNvdXJjZS0+
YWRkQ2xpZW50KHRoaXMpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9MaW5rTG9hZGVyQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTGlua0xvYWRlckNs
aWVudC5oCmluZGV4IDQzNTBlZTc4Yzk1YTc2M2Y5Y2M1ZDQ1ZTVhOGUxNjJhOWIxYTUwNjMuLjY2
ZjIwYzU5N2E5NjJlOTRiYWQxMmU1NTFkYzFlYzRhZDhmNzFmYTcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9MaW5rTG9hZGVyQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL0xpbmtMb2FkZXJDbGllbnQuaApAQCAtMzIsMTEgKzMyLDE0IEBACiAjZGVmaW5lIExp
bmtMb2FkZXJDbGllbnRfaAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CitjbGFzcyBMb2FkSW5pdGlh
dG9yOwogCiBjbGFzcyBMaW5rTG9hZGVyQ2xpZW50IHsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5M
aW5rTG9hZGVyQ2xpZW50KCkgeyB9CiAKKyAgICB2aXJ0dWFsIGNvbnN0IExvYWRJbml0aWF0b3Im
IGluaXRpYXRvcigpIGNvbnN0ID0gMDsKKwogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRMb2FkTGlu
aygpID0gMDsKIAogICAgIHZpcnR1YWwgdm9pZCBsaW5rTG9hZGVkKCkgPSAwOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0xvYWRJbml0aWF0b3IuaCBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9Mb2FkSW5pdGlhdG9yLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTc5MWI4ODc2ZGJjNjM1ZmVlZmE4
MTBhMTE1NTcyYmY3NzhlZTk0ZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9Mb2FkSW5pdGlhdG9yLmgKQEAgLTAsMCArMSw0OSBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisg
KiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2Yg
aXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAor
ICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgTG9hZEluaXRpYXRv
cl9oCisjZGVmaW5lIExvYWRJbml0aWF0b3JfaAorCituYW1lc3BhY2UgV1RGIHsKK2NsYXNzIEF0
b21pY1N0cmluZzsKK30KKworbmFtZXNwYWNlIFdlYkNvcmUgeworY2xhc3MgRG9jdW1lbnQ7CisK
K2NsYXNzIExvYWRJbml0aWF0b3IgeworcHVibGljOgorICAgIHZpcnR1YWwgY29uc3QgV1RGOjpB
dG9taWNTdHJpbmcmIGluaXRpYXRvck5hbWUoKSBjb25zdCA9IDA7CisgICAgdmlydHVhbCBEb2N1
bWVudCogaW5pdGlhdG9yRG9jdW1lbnQoKSBjb25zdCA9IDA7Cit9OworCit9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBMb2FkSW5pdGlhdG9yX2gKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9Mb2FkSW5pdGlhdG9ySGFuZGxlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9Mb2FkSW5pdGlhdG9ySGFuZGxlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ZDA1M2FmYTkzMjZk
YjA1YTgwZDYwZWVmZGIwYzQ3NTc2YmQzZWFjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0xvYWRJbml0aWF0b3JIYW5kbGUuY3BwCkBAIC0wLDAgKzEsNTQgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICog
ZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBu
b3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAq
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5j
bHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTG9hZEluaXRpYXRvckhhbmRsZS5oIgorCituYW1l
c3BhY2UgV2ViQ29yZSB7CisKK0xvYWRJbml0aWF0b3JIYW5kbGU6OkxvYWRJbml0aWF0b3JIYW5k
bGUoKQoreworICAgIGNsZWFyKCk7Cit9CisKK0xvYWRJbml0aWF0b3JIYW5kbGU6OkxvYWRJbml0
aWF0b3JIYW5kbGUoY29uc3QgTG9hZEluaXRpYXRvciYgaW5pdGlhdG9yKQorICAgIDogbV9uYW1l
KGluaXRpYXRvci5pbml0aWF0b3JOYW1lKCkpCisgICAgLCBtX2RvY3VtZW50KGluaXRpYXRvci5p
bml0aWF0b3JEb2N1bWVudCgpKQoreworfQorCit2b2lkIExvYWRJbml0aWF0b3JIYW5kbGU6OmNs
ZWFyKCkKK3sKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEF0b21pY1N0cmluZywgbmFtZSwgKCJy
ZXNvdXJjZSIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpKTsKKyAgICBtX25h
bWUgPSBuYW1lOworICAgIG1fZG9jdW1lbnQuY2xlYXIoKTsKK30KKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0xvYWRJbml0aWF0b3JI
YW5kbGUuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Mb2FkSW5pdGlhdG9ySGFuZGxlLmgKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODMzYmE1ZTgxNjIwMjkxNGU2YjkxZjJmMmU1MDU5NWUwMTQ5NWQyOAotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Mb2FkSW5pdGlhdG9ySGFuZGxlLmgK
QEAgLTAsMCArMSw2MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQor
ICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBu
YW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQor
ICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwK
KyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpZm5kZWYgTG9hZEluaXRpYXRvckhhbmRsZV9oCisjZGVmaW5lIExv
YWRJbml0aWF0b3JIYW5kbGVfaAorCisjaW5jbHVkZSAiRG9jdW1lbnQuaCIKKyNpbmNsdWRlICJM
b2FkSW5pdGlhdG9yLmgiCisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi90
ZXh0L0F0b21pY1N0cmluZy5oPgorCisjaWYgRU5BQkxFKFJFU09VUkNFX1RJTUlORykKKyNpbmNs
dWRlICJET01XaW5kb3cuaCIKKyNpbmNsdWRlICJQZXJmb3JtYW5jZS5oIgorI2VuZGlmCisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgTG9hZEluaXRpYXRvckhhbmRsZSA6IHB1YmxpYyBM
b2FkSW5pdGlhdG9yIHsKK3B1YmxpYzoKKyAgICBMb2FkSW5pdGlhdG9ySGFuZGxlKCk7CisgICAg
TG9hZEluaXRpYXRvckhhbmRsZShjb25zdCBMb2FkSW5pdGlhdG9yJik7CisKKyAgICB2b2lkIGNs
ZWFyKCk7CisKKyAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgaW5pdGlhdG9yTmFtZSgp
IGNvbnN0IHsgcmV0dXJuIG1fbmFtZTsgfQorICAgIHZpcnR1YWwgRG9jdW1lbnQqIGluaXRpYXRv
ckRvY3VtZW50KCkgY29uc3QgeyByZXR1cm4gbV9kb2N1bWVudC5nZXQoKTsgfQorCitwcml2YXRl
OgorICAgIEF0b21pY1N0cmluZyBtX25hbWU7CisgICAgUmVmUHRyPERvY3VtZW50PiBtX2RvY3Vt
ZW50OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gTG9hZEluaXRp
YXRvckhhbmRsZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTWFpblJlc291
cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9NYWluUmVzb3VyY2VMb2FkZXIu
Y3BwCmluZGV4IGVhNjY3MDM2YzhjMzlmNjYyNDhkOGUyNWQ4Y2UxYjE4MWY3NGNlMWMuLmJlMTNk
ODMzNjQwNDRlMGNkMzcxYTAzM2MzMzM0NjdjMjZhNDIzMTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9NYWluUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9NYWluUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC01Myw2ICs1MywxMSBAQAogI2luY2x1
ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CiAKKyNpZiBFTkFC
TEUoUkVTT1VSQ0VfVElNSU5HKQorI2luY2x1ZGUgIkhUTUxGcmFtZU93bmVyRWxlbWVudC5oIgor
I2luY2x1ZGUgIlBlcmZvcm1hbmNlLmgiCisjZW5kaWYKKwogI2lmIFBMQVRGT1JNKFFUKQogI2lu
Y2x1ZGUgIlBsdWdpbkRhdGFiYXNlLmgiCiAjZW5kaWYKQEAgLTUyMSw3ICs1MjYsMTMgQEAgdm9p
ZCBNYWluUmVzb3VyY2VMb2FkZXI6OmRpZEZpbmlzaExvYWRpbmcoZG91YmxlIGZpbmlzaFRpbWUp
CiAgICAgaWYgKG1fbG9hZGluZ011bHRpcGFydENvbnRlbnQpCiAgICAgICAgIGRsLT5tYXliZUZp
bmlzaExvYWRpbmdNdWx0aXBhcnRDb250ZW50KCk7CiAKKwogICAgIGRvY3VtZW50TG9hZGVyKCkt
PnRpbWluZygpLT5zZXRSZXNwb25zZUVuZChmaW5pc2hUaW1lID8gZmluaXNoVGltZSA6IChtX3Rp
bWVPZkxhc3REYXRhUmVjZWl2ZWQgPyBtX3RpbWVPZkxhc3REYXRhUmVjZWl2ZWQgOiBtb25vdG9u
aWNhbGx5SW5jcmVhc2luZ1RpbWUoKSkpOworI2lmIEVOQUJMRShSRVNPVVJDRV9USU1JTkcpCisg
ICAgaWYgKG1fZnJhbWUtPm93bmVyRWxlbWVudCgpKQorICAgICAgICBtX2ZyYW1lLT5vd25lckVs
ZW1lbnQoKS0+aW5pdGlhdG9yRG9jdW1lbnQoKS0+ZG9tV2luZG93KCktPnBlcmZvcm1hbmNlKCkt
PmFkZFJlc291cmNlVGltaW5nKCptX2ZyYW1lLT5vd25lckVsZW1lbnQoKSwgb3JpZ2luYWxSZXF1
ZXN0KCksIG1fcmVzcG9uc2UsIGRvY3VtZW50TG9hZGVyKCktPnRpbWluZygpLT5yZXNwb25zZUVu
ZCgpKTsKKyNlbmRpZgorCiAgICAgZG9jdW1lbnRMb2FkZXIoKS0+ZmluaXNoZWRMb2FkaW5nKCk7
CiAgICAgUmVzb3VyY2VMb2FkZXI6OmRpZEZpbmlzaExvYWRpbmcoZmluaXNoVGltZSk7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OdWxsTG9hZEluaXRpYXRvci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvTnVsbExvYWRJbml0aWF0b3IuY3BwCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI0
NzI3YmRhZTliOGE0MGM3MzBlMWQ5MDRhM2MwMTZiYWRjNWRiOTYKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTnVsbExvYWRJbml0aWF0b3IuY3BwCkBAIC0wLDAgKzEs
NDQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAq
CisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICog
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29n
bGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQK
KyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTnVsbExvYWRJbml0aWF0b3IuaCIK
KworI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgewor
Citjb25zdCBOdWxsTG9hZEluaXRpYXRvciYgTnVsbExvYWRJbml0aWF0b3I6Omluc3RhbmNlKCkK
K3sKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKE51bGxMb2FkSW5pdGlhdG9yLCBpbnN0YW5jZSwg
KCkpOworICAgIHJldHVybiBpbnN0YW5jZTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL051bGxMb2FkSW5pdGlhdG9yLmggYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvTnVsbExvYWRJbml0aWF0b3IuaApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMDZk
ZWFhODM4Nzg0NTBjZWQwZjRlN2I5Y2I4YmQxZjcyYjQ0M2U0Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL051bGxMb2FkSW5pdGlhdG9yLmgKQEAgLTAsMCArMSw1MyBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAq
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
CisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJ
bmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8g
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICog
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpZm5kZWYgTnVsbExvYWRJbml0aWF0b3JfaAorI2RlZmluZSBOdWxsTG9hZEluaXRpYXRvcl9o
CisKKyNpbmNsdWRlICJMb2FkSW5pdGlhdG9yLmgiCisjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWlj
U3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKK2NsYXNzIERvY3VtZW50OworCitjbGFz
cyBOdWxsTG9hZEluaXRpYXRvciA6IHB1YmxpYyBMb2FkSW5pdGlhdG9yIHsKK3B1YmxpYzoKKyAg
ICBzdGF0aWMgY29uc3QgTnVsbExvYWRJbml0aWF0b3ImIGluc3RhbmNlKCk7CisKKyAgICB2aXJ0
dWFsIGNvbnN0IFdURjo6QXRvbWljU3RyaW5nJiBpbml0aWF0b3JOYW1lKCkgY29uc3QgeyByZXR1
cm4gbV9uYW1lOyB9CisgICAgdmlydHVhbCBEb2N1bWVudCogaW5pdGlhdG9yRG9jdW1lbnQoKSBj
b25zdCB7IHJldHVybiAwOyB9CisKK3ByaXZhdGU6CisgICAgQXRvbWljU3RyaW5nIG1fbmFtZTsK
K307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIE51bGxMb2FkSW5pdGlh
dG9yX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWROb3Rp
Zmllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkTm90aWZpZXIuY3Bw
CmluZGV4IGM3MzQ5YTFlZDZhMjMzMzJkZjhjOTQyOTliMmYyOWMxNzM1MDAwNDcuLjI0ZGY0ODlj
NzkyZWIwOWZlZTA3YTQwNDE2NzAwOTVkNTg0MmI1OTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9SZXNvdXJjZUxvYWROb3RpZmllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL1Jlc291cmNlTG9hZE5vdGlmaWVyLmNwcApAQCAtMTIxLDYgKzEyMSwxMCBAQCB2b2lk
IFJlc291cmNlTG9hZE5vdGlmaWVyOjpkaXNwYXRjaFdpbGxTZW5kUmVxdWVzdChEb2N1bWVudExv
YWRlciogbG9hZGVyLCB1bnNpZwogICAgIC8vIFJlcG9ydCBXZWJUaW1pbmcgZm9yIGFsbCBmcmFt
ZXMuCiAgICAgaWYgKGxvYWRlciAmJiAhcmVxdWVzdC5pc051bGwoKSAmJiByZXF1ZXN0LnVybCgp
ID09IGxvYWRlci0+cmVxdWVzdFVSTCgpKQogICAgICAgICByZXF1ZXN0LnNldFJlcG9ydExvYWRU
aW1pbmcodHJ1ZSk7CisKKyNpZiBFTkFCTEUoUkVTT1VSQ0VfVElNSU5HKQorICAgIHJlcXVlc3Qu
c2V0UmVwb3J0TG9hZFRpbWluZyh0cnVlKTsKKyNlbmRpZgogfQogCiB2b2lkIFJlc291cmNlTG9h
ZE5vdGlmaWVyOjpkaXNwYXRjaERpZFJlY2VpdmVSZXNwb25zZShEb2N1bWVudExvYWRlciogbG9h
ZGVyLCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHIs
IFJlc291cmNlTG9hZGVyKiByZXNvdXJjZUxvYWRlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVz
b3VyY2VMb2FkZXIuY3BwCmluZGV4IGYwYTZjMzM1Y2NmOTY5MjZiNGIxMzE2OWY0MGU0MWNhODhl
ZWFjOWYuLmE3N2Q3NDc3ZGNhNTIyN2Y2NTgyOTMwOWUxYjY1OGY2YzZjNTQzMmYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmNwcApAQCAtMjM5LDYgKzIzOSw4IEBAIHZv
aWQgUmVzb3VyY2VMb2FkZXI6OndpbGxTZW5kUmVxdWVzdChSZXNvdXJjZVJlcXVlc3QmIHJlcXVl
c3QsIGNvbnN0IFJlc291cmNlUmVzCiAgICAgaWYgKCFyZWRpcmVjdFJlc3BvbnNlLmlzTnVsbCgp
KQogICAgICAgICByZXNvdXJjZUxvYWRTY2hlZHVsZXIoKS0+Y3Jvc3NPcmlnaW5SZWRpcmVjdFJl
Y2VpdmVkKHRoaXMsIHJlcXVlc3QudXJsKCkpOwogICAgIG1fcmVxdWVzdCA9IHJlcXVlc3Q7Cisg
ICAgaWYgKG1fb3JpZ2luYWxSZXF1ZXN0LmlzTnVsbCgpKQorICAgICAgICBtX29yaWdpbmFsUmVx
dWVzdCA9IHJlcXVlc3Q7CiB9CiAKIHZvaWQgUmVzb3VyY2VMb2FkZXI6OmRpZFNlbmREYXRhKHVu
c2lnbmVkIGxvbmcgbG9uZywgdW5zaWduZWQgbG9uZyBsb25nKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL1N1YnJlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggNTZkZTBkMzQxMzNjM2Y1YTQ3MmJmYzJi
YzZmNGU1Y2RmMzgzMDNmZC4uNTBlODAwNGE2ZDRiMzhkMTNiZTg1YzE5MTVmNTZhNWQ0NWJiOGI5
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnJlc291cmNlTG9hZGVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwCkBAIC02
LDEzICs2LDEzIEBACiAgKiBhcmUgbWV0OgogICoKICAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4g
CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgogICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CiAgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uIAorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCiAgKiAzLiAgTmVpdGhlciB0aGUgbmFt
ZSBvZiBBcHBsZSBDb21wdXRlciwgSW5jLiAoIkFwcGxlIikgbm9yIHRoZSBuYW1lcyBvZgogICog
ICAgIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQKLSAqICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uIAorICogICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KICAqCiAgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWQogICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRApAQCAtNDMsNiArNDMsMTEgQEAKICNpbmNsdWRl
IDx3dGYvU3RkTGliRXh0cmFzLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogCisj
aWYgRU5BQkxFKFJFU09VUkNFX1RJTUlORykKKyNpbmNsdWRlICJET01XaW5kb3cuaCIKKyNpbmNs
dWRlICJQZXJmb3JtYW5jZS5oIgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogREVG
SU5FX0RFQlVHX09OTFlfR0xPQkFMKFdURjo6UmVmQ291bnRlZExlYWtDb3VudGVyLCBzdWJyZXNv
dXJjZUxvYWRlckNvdW50ZXIsICgiU3VicmVzb3VyY2VMb2FkZXIiKSk7CkBAIC0xNjQsNyArMTY5
LDcgQEAgdm9pZCBTdWJyZXNvdXJjZUxvYWRlcjo6d2lsbFNlbmRSZXF1ZXN0KFJlc291cmNlUmVx
dWVzdCYgbmV3UmVxdWVzdCwgY29uc3QgUmVzb3UKIHsKICAgICAvLyBTdG9yZSB0aGUgcHJldmlv
dXMgVVJMIGJlY2F1c2UgdGhlIGNhbGwgdG8gUmVzb3VyY2VMb2FkZXI6OndpbGxTZW5kUmVxdWVz
dCB3aWxsIG1vZGlmeSBpdC4KICAgICBLVVJMIHByZXZpb3VzVVJMID0gcmVxdWVzdCgpLnVybCgp
OwotICAgIAorCiAgICAgUmVzb3VyY2VMb2FkZXI6OndpbGxTZW5kUmVxdWVzdChuZXdSZXF1ZXN0
LCByZWRpcmVjdFJlc3BvbnNlKTsKICAgICBpZiAoIXByZXZpb3VzVVJMLmlzTnVsbCgpICYmICFu
ZXdSZXF1ZXN0LmlzTnVsbCgpICYmIHByZXZpb3VzVVJMICE9IG5ld1JlcXVlc3QudXJsKCkpIHsK
ICAgICAgICAgaWYgKG1fZG9jdW1lbnQtPmNhY2hlZFJlc291cmNlTG9hZGVyKCktPmNhblJlcXVl
c3QobV9yZXNvdXJjZS0+dHlwZSgpLCBuZXdSZXF1ZXN0LnVybCgpKSkgewpAQCAtMjI2LDggKzIz
MSw4IEBAIHZvaWQgU3VicmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVSZXNwb25zZShjb25zdCBS
ZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkKICAgICBpZiAobV9sb2FkaW5nTXVsdGlwYXJ0Q29u
dGVudCAmJiBidWZmZXIgJiYgYnVmZmVyLT5zaXplKCkpIHsKICAgICAgICAgc2VuZERhdGFUb1Jl
c291cmNlKGJ1ZmZlci0+ZGF0YSgpLCBidWZmZXItPnNpemUoKSk7CiAgICAgICAgIGNsZWFyUmVz
b3VyY2VEYXRhKCk7Ci0gICAgICAgIC8vIFNpbmNlIGEgc3VicmVzb3VyY2UgbG9hZGVyIGRvZXMg
bm90IGxvYWQgbXVsdGlwYXJ0IHNlY3Rpb25zIHByb2dyZXNzaXZlbHksIGRhdGEgd2FzIGRlbGl2
ZXJlZCB0byB0aGUgbG9hZGVyIGFsbCBhdCBvbmNlLiAgICAgICAgCi0gICAgICAgIC8vIEFmdGVy
IHRoZSBmaXJzdCBtdWx0aXBhcnQgc2VjdGlvbiBpcyBjb21wbGV0ZSwgc2lnbmFsIHRvIGRlbGVn
YXRlcyB0aGF0IHRoaXMgbG9hZCBpcyAiZmluaXNoZWQiIAorICAgICAgICAvLyBTaW5jZSBhIHN1
YnJlc291cmNlIGxvYWRlciBkb2VzIG5vdCBsb2FkIG11bHRpcGFydCBzZWN0aW9ucyBwcm9ncmVz
c2l2ZWx5LCBkYXRhIHdhcyBkZWxpdmVyZWQgdG8gdGhlIGxvYWRlciBhbGwgYXQgb25jZS4KKyAg
ICAgICAgLy8gQWZ0ZXIgdGhlIGZpcnN0IG11bHRpcGFydCBzZWN0aW9uIGlzIGNvbXBsZXRlLCBz
aWduYWwgdG8gZGVsZWdhdGVzIHRoYXQgdGhpcyBsb2FkIGlzICJmaW5pc2hlZCIKICAgICAgICAg
bV9kb2N1bWVudExvYWRlci0+c3VicmVzb3VyY2VMb2FkZXJGaW5pc2hlZExvYWRpbmdPbmVQYXJ0
KHRoaXMpOwogICAgICAgICBkaWRGaW5pc2hMb2FkaW5nT25lUGFydCgwKTsKICAgICB9CkBAIC0y
NjQsMTYgKzI2OSwxNiBAQCBib29sIFN1YnJlc291cmNlTG9hZGVyOjpjaGVja0ZvckhUVFBTdGF0
dXNDb2RlRXJyb3IoKQogCiB2b2lkIFN1YnJlc291cmNlTG9hZGVyOjpzZW5kRGF0YVRvUmVzb3Vy
Y2UoY29uc3QgY2hhciogZGF0YSwgaW50IGxlbmd0aCkKIHsKLSAgICAvLyBUaGVyZSBhcmUgdHdv
IGNhc2VzIHdoZXJlIHdlIG1pZ2h0IG5lZWQgdG8gY3JlYXRlIG91ciBvd24gU2hhcmVkQnVmZmVy
IGluc3RlYWQgb2YgY29weWluZyB0aGUgb25lIGluIFJlc291cmNlTG9hZGVyLiAKLSAgICAvLyAo
MSkgTXVsdGlwYXJ0IGNvbnRlbnQ6IFRoZSBsb2FkZXIgZGVsaXZlcnMgdGhlIGRhdGEgaW4gYSBt
dWx0aXBhcnQgc2VjdGlvbiBhbGwgYXQgb25jZSwgdGhlbiBzZW5kcyBlb2YuIAotICAgIC8vICAg
ICBUaGUgcmVzb3VyY2UgZGF0YSB3aWxsIGNoYW5nZSBhcyB0aGUgbmV4dCBwYXJ0IGlzIGxvYWRl
ZCwgc28gd2UgbmVlZCB0byBtYWtlIGEgY29weS4gCi0gICAgLy8gKDIpIE91ciBjbGllbnQgcmVx
dWVzdGVkIHRoYXQgdGhlIGRhdGEgbm90IGJlIGJ1ZmZlcmVkIGF0IHRoZSBSZXNvdXJjZUxvYWRl
ciBsZXZlbCB2aWEgUmVzb3VyY2VMb2FkZXJPcHRpb25zLiBJbiB0aGlzIGNhc2UsIAotICAgIC8v
ICAgICBSZXNvdXJjZUxvYWRlcjo6cmVzb3VyY2VEYXRhKCkgd2lsbCBiZSBudWxsLiBIb3dldmVy
LCB1bmxpa2UgdGhlIG11bHRpcGFydCBjYXNlLCB3ZSBkb24ndCB3YW50IHRvIHRlbGwgdGhlIENh
Y2hlZFJlc291cmNlIAotICAgIC8vICAgICB0aGF0IGFsbCBkYXRhIGhhcyBiZWVuIHJlY2VpdmVk
IHlldC4gCi0gICAgaWYgKG1fbG9hZGluZ011bHRpcGFydENvbnRlbnQgfHwgIXJlc291cmNlRGF0
YSgpKSB7IAotICAgICAgICBSZWZQdHI8U2hhcmVkQnVmZmVyPiBjb3BpZWREYXRhID0gU2hhcmVk
QnVmZmVyOjpjcmVhdGUoZGF0YSwgbGVuZ3RoKTsgCi0gICAgICAgIG1fcmVzb3VyY2UtPmRhdGEo
Y29waWVkRGF0YS5yZWxlYXNlKCksIG1fbG9hZGluZ011bHRpcGFydENvbnRlbnQpOyAKLSAgICB9
IGVsc2UgCisgICAgLy8gVGhlcmUgYXJlIHR3byBjYXNlcyB3aGVyZSB3ZSBtaWdodCBuZWVkIHRv
IGNyZWF0ZSBvdXIgb3duIFNoYXJlZEJ1ZmZlciBpbnN0ZWFkIG9mIGNvcHlpbmcgdGhlIG9uZSBp
biBSZXNvdXJjZUxvYWRlci4KKyAgICAvLyAoMSkgTXVsdGlwYXJ0IGNvbnRlbnQ6IFRoZSBsb2Fk
ZXIgZGVsaXZlcnMgdGhlIGRhdGEgaW4gYSBtdWx0aXBhcnQgc2VjdGlvbiBhbGwgYXQgb25jZSwg
dGhlbiBzZW5kcyBlb2YuCisgICAgLy8gICAgIFRoZSByZXNvdXJjZSBkYXRhIHdpbGwgY2hhbmdl
IGFzIHRoZSBuZXh0IHBhcnQgaXMgbG9hZGVkLCBzbyB3ZSBuZWVkIHRvIG1ha2UgYSBjb3B5Lgor
ICAgIC8vICgyKSBPdXIgY2xpZW50IHJlcXVlc3RlZCB0aGF0IHRoZSBkYXRhIG5vdCBiZSBidWZm
ZXJlZCBhdCB0aGUgUmVzb3VyY2VMb2FkZXIgbGV2ZWwgdmlhIFJlc291cmNlTG9hZGVyT3B0aW9u
cy4gSW4gdGhpcyBjYXNlLAorICAgIC8vICAgICBSZXNvdXJjZUxvYWRlcjo6cmVzb3VyY2VEYXRh
KCkgd2lsbCBiZSBudWxsLiBIb3dldmVyLCB1bmxpa2UgdGhlIG11bHRpcGFydCBjYXNlLCB3ZSBk
b24ndCB3YW50IHRvIHRlbGwgdGhlIENhY2hlZFJlc291cmNlCisgICAgLy8gICAgIHRoYXQgYWxs
IGRhdGEgaGFzIGJlZW4gcmVjZWl2ZWQgeWV0LgorICAgIGlmIChtX2xvYWRpbmdNdWx0aXBhcnRD
b250ZW50IHx8ICFyZXNvdXJjZURhdGEoKSkgeworICAgICAgICBSZWZQdHI8U2hhcmVkQnVmZmVy
PiBjb3BpZWREYXRhID0gU2hhcmVkQnVmZmVyOjpjcmVhdGUoZGF0YSwgbGVuZ3RoKTsKKyAgICAg
ICAgbV9yZXNvdXJjZS0+ZGF0YShjb3BpZWREYXRhLnJlbGVhc2UoKSwgbV9sb2FkaW5nTXVsdGlw
YXJ0Q29udGVudCk7CisgICAgfSBlbHNlCiAgICAgICAgIG1fcmVzb3VyY2UtPmRhdGEocmVzb3Vy
Y2VEYXRhKCksIGZhbHNlKTsKIH0KIApAQCAtMjk2LDYgKzMwMSwxMSBAQCB2b2lkIFN1YnJlc291
cmNlTG9hZGVyOjpkaWRGaW5pc2hMb2FkaW5nKGRvdWJsZSBmaW5pc2hUaW1lKQogICAgIFJlZlB0
cjxTdWJyZXNvdXJjZUxvYWRlcj4gcHJvdGVjdCh0aGlzKTsKICAgICBDYWNoZWRSZXNvdXJjZUhh
bmRsZTxDYWNoZWRSZXNvdXJjZT4gcHJvdGVjdFJlc291cmNlKG1fcmVzb3VyY2UpOwogICAgIG1f
c3RhdGUgPSBGaW5pc2hpbmc7CisjaWYgRU5BQkxFKFJFU09VUkNFX1RJTUlORykKKyAgICBjb25z
dCBMb2FkSW5pdGlhdG9yJiBpbml0aWF0b3IgPSBtX3Jlc291cmNlLT5pbml0aWF0b3IoKTsKKyAg
ICBpZiAoaW5pdGlhdG9yLmluaXRpYXRvckRvY3VtZW50KCkpCisgICAgICAgIGluaXRpYXRvci5p
bml0aWF0b3JEb2N1bWVudCgpLT5kb21XaW5kb3coKS0+cGVyZm9ybWFuY2UoKS0+YWRkUmVzb3Vy
Y2VUaW1pbmcoaW5pdGlhdG9yLCBtX3Jlc291cmNlLT5yZXNvdXJjZVJlcXVlc3QoKSwgbV9yZXNv
dXJjZS0+cmVzcG9uc2UoKSwgZmluaXNoVGltZSk7CisjZW5kaWYKICAgICBtX3Jlc291cmNlLT5z
ZXRMb2FkRmluaXNoVGltZShmaW5pc2hUaW1lKTsKICAgICBtX3Jlc291cmNlLT5kYXRhKHJlc291
cmNlRGF0YSgpLCB0cnVlKTsKICAgICBtX3Jlc291cmNlLT5maW5pc2goKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UZXh0VHJhY2tMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL1RleHRUcmFja0xvYWRlci5jcHAKaW5kZXggMjAyNTcwZDFkMGE4ZDVlMzVmNmMx
NDRiODlhZmYyYzIwYTg4MTU3Ny4uYjk5NTNmYWU5NGMwZmYxNzNlNjdhYTZjYTViNTMyZTZmM2Nh
MjYxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RleHRUcmFja0xvYWRlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RleHRUcmFja0xvYWRlci5jcHAKQEAgLTQx
LDcgKzQxLDcgQEAKICNpbmNsdWRlICJXZWJWVFRQYXJzZXIuaCIKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewotICAgIAorCiBUZXh0VHJhY2tMb2FkZXI6OlRleHRUcmFja0xvYWRlcihUZXh0VHJhY2tM
b2FkZXJDbGllbnQqIGNsaWVudCwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkKICAg
ICA6IG1fY2xpZW50KGNsaWVudCkKICAgICAsIG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dChjb250
ZXh0KQpAQCAtNjEsMTIgKzYxLDEyIEBAIFRleHRUcmFja0xvYWRlcjo6flRleHRUcmFja0xvYWRl
cigpCiB2b2lkIFRleHRUcmFja0xvYWRlcjo6Y3VlTG9hZFRpbWVyRmlyZWQoVGltZXI8VGV4dFRy
YWNrTG9hZGVyPiogdGltZXIpCiB7CiAgICAgQVNTRVJUX1VOVVNFRCh0aW1lciwgdGltZXIgPT0g
Jm1fY3VlTG9hZFRpbWVyKTsKLSAgICAKKwogICAgIGlmIChtX25ld0N1ZXNBdmFpbGFibGUpIHsK
ICAgICAgICAgbV9uZXdDdWVzQXZhaWxhYmxlID0gZmFsc2U7Ci0gICAgICAgIG1fY2xpZW50LT5u
ZXdDdWVzQXZhaWxhYmxlKHRoaXMpOyAKKyAgICAgICAgbV9jbGllbnQtPm5ld0N1ZXNBdmFpbGFi
bGUodGhpcyk7CiAgICAgfQotICAgIAorCiAgICAgaWYgKG1fc3RhdGUgPj0gRmluaXNoZWQpCiAg
ICAgICAgIG1fY2xpZW50LT5jdWVMb2FkaW5nQ29tcGxldGVkKHRoaXMsIG1fc3RhdGUgPT0gRmFp
bGVkKTsKIH0KQEAgLTgyLDEwICs4MiwxMCBAQCB2b2lkIFRleHRUcmFja0xvYWRlcjo6Y2FuY2Vs
TG9hZCgpCiB2b2lkIFRleHRUcmFja0xvYWRlcjo6cHJvY2Vzc05ld0N1ZURhdGEoQ2FjaGVkUmVz
b3VyY2UqIHJlc291cmNlKQogewogICAgIEFTU0VSVChtX2NhY2hlZEN1ZURhdGEgPT0gcmVzb3Vy
Y2UpOwotICAgIAorCiAgICAgaWYgKG1fc3RhdGUgPT0gRmFpbGVkIHx8ICFyZXNvdXJjZS0+ZGF0
YSgpKQogICAgICAgICByZXR1cm47Ci0gICAgCisKICAgICBTaGFyZWRCdWZmZXIqIGJ1ZmZlciA9
IHJlc291cmNlLT5kYXRhKCk7CiAgICAgaWYgKG1fcGFyc2VPZmZzZXQgPT0gYnVmZmVyLT5zaXpl
KCkpCiAgICAgICAgIHJldHVybjsKQEAgLTEwNSwxMCArMTA1LDEwIEBAIHZvaWQgVGV4dFRyYWNr
TG9hZGVyOjpwcm9jZXNzTmV3Q3VlRGF0YShDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2UpCiB2b2lk
IFRleHRUcmFja0xvYWRlcjo6ZGlkUmVjZWl2ZURhdGEoQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNl
KQogewogICAgIEFTU0VSVChtX2NhY2hlZEN1ZURhdGEgPT0gcmVzb3VyY2UpOwotICAgIAorCiAg
ICAgaWYgKCFyZXNvdXJjZS0+ZGF0YSgpKQogICAgICAgICByZXR1cm47Ci0gICAgCisKICAgICBw
cm9jZXNzTmV3Q3VlRGF0YShyZXNvdXJjZSk7CiB9CiAKQEAgLTE0MCw3ICsxNDAsNyBAQCB2b2lk
IFRleHRUcmFja0xvYWRlcjo6bm90aWZ5RmluaXNoZWQoQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNl
KQogCiAgICAgaWYgKCFtX2N1ZUxvYWRUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICBtX2N1ZUxv
YWRUaW1lci5zdGFydE9uZVNob3QoMCk7Ci0gICAgCisKICAgICBjYW5jZWxMb2FkKCk7CiB9CiAK
QEAgLTE2OCwxMiArMTY4LDEyIEBAIGJvb2wgVGV4dFRyYWNrTG9hZGVyOjpsb2FkKGNvbnN0IEtV
UkwmIHVybCwgY29uc3QgU3RyaW5nJiBjcm9zc09yaWdpbk1vZGUpCiAgICAgfQogCiAgICAgQ2Fj
aGVkUmVzb3VyY2VMb2FkZXIqIGNhY2hlZFJlc291cmNlTG9hZGVyID0gZG9jdW1lbnQtPmNhY2hl
ZFJlc291cmNlTG9hZGVyKCk7Ci0gICAgbV9jYWNoZWRDdWVEYXRhID0gY2FjaGVkUmVzb3VyY2VM
b2FkZXItPnJlcXVlc3RUZXh0VHJhY2soY3VlUmVxdWVzdCk7CisgICAgbV9jYWNoZWRDdWVEYXRh
ID0gY2FjaGVkUmVzb3VyY2VMb2FkZXItPnJlcXVlc3RUZXh0VHJhY2soY3VlUmVxdWVzdCwgbV9j
bGllbnQtPmluaXRpYXRvcigpKTsKICAgICBpZiAobV9jYWNoZWRDdWVEYXRhKQogICAgICAgICBt
X2NhY2hlZEN1ZURhdGEtPmFkZENsaWVudCh0aGlzKTsKLSAgICAKKwogICAgIG1fY2xpZW50LT5j
dWVMb2FkaW5nU3RhcnRlZCh0aGlzKTsKLSAgICAKKwogICAgIHJldHVybiB0cnVlOwogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFRyYWNrTG9hZGVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvVGV4dFRyYWNrTG9hZGVyLmgKaW5kZXggNzQzMzRmOTA2NDZjZGZk
NDU4ZjljMjNmNjJmMDgxZjQ4NzViOGMzYy4uZWE5YjkwNzMzNjBiZWY2ZmMzYzU2NjIyMzJlYzNi
MWVjOThlMGU3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RleHRUcmFja0xv
YWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UZXh0VHJhY2tMb2FkZXIuaApAQCAt
MzgsMTcgKzM4LDE5IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIERvY3VtZW50Owor
Y2xhc3MgTG9hZEluaXRpYXRvcjsKIGNsYXNzIFRleHRUcmFja0xvYWRlcjsKIGNsYXNzIFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQ7CiAKIGNsYXNzIFRleHRUcmFja0xvYWRlckNsaWVudCB7CiBwdWJs
aWM6CiAgICAgdmlydHVhbCB+VGV4dFRyYWNrTG9hZGVyQ2xpZW50KCkgeyB9Ci0gICAgCisKICAg
ICB2aXJ0dWFsIGJvb2wgc2hvdWxkTG9hZEN1ZXMoVGV4dFRyYWNrTG9hZGVyKikgPSAwOwogICAg
IHZpcnR1YWwgdm9pZCBuZXdDdWVzQXZhaWxhYmxlKFRleHRUcmFja0xvYWRlciopID0gMDsKICAg
ICB2aXJ0dWFsIHZvaWQgY3VlTG9hZGluZ1N0YXJ0ZWQoVGV4dFRyYWNrTG9hZGVyKikgPSAwOwog
ICAgIHZpcnR1YWwgdm9pZCBjdWVMb2FkaW5nQ29tcGxldGVkKFRleHRUcmFja0xvYWRlciosIGJv
b2wgbG9hZGluZ0ZhaWxlZCkgPSAwOworICAgIHZpcnR1YWwgY29uc3QgTG9hZEluaXRpYXRvciYg
aW5pdGlhdG9yKCkgY29uc3QgPSAwOwogfTsKIAogY2xhc3MgVGV4dFRyYWNrTG9hZGVyIDogcHVi
bGljIENhY2hlZFJlc291cmNlQ2xpZW50LCBwcml2YXRlIFdlYlZUVFBhcnNlckNsaWVudCB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5jcHAKaW5kZXggNzIwYmE0ZWVh
MTU5MjdjYzI1ZGQwMDU3ODg0YTVkM2VmNmRkZjc2Ni4uOGQzN2U2NDQ3NWQyOWI0OTQ4OTE2ODFj
MjZhZjk0OGMxMTVjYjdkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVh
ZGFibGVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9h
ZGVyLmNwcApAQCAtNDAsNyArNDAsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVBhc3NS
ZWZQdHI8VGhyZWFkYWJsZUxvYWRlcj4gVGhyZWFkYWJsZUxvYWRlcjo6Y3JlYXRlKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFRocmVhZGFibGVMb2FkZXJDbGllbnQqIGNsaWVudCwg
Y29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBUaHJlYWRhYmxlTG9hZGVyT3B0
aW9ucyYgb3B0aW9ucykgCitQYXNzUmVmUHRyPFRocmVhZGFibGVMb2FkZXI+IFRocmVhZGFibGVM
b2FkZXI6OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBUaHJlYWRhYmxl
TG9hZGVyQ2xpZW50KiBjbGllbnQsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29u
c3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMmIG9wdGlvbnMsIGNvbnN0IExvYWRJbml0aWF0b3Im
IGluaXRpYXRvcikKIHsKICAgICBBU1NFUlQoY2xpZW50KTsKICAgICBBU1NFUlQoY29udGV4dCk7
CkBAIC01MSwxMCArNTEsMTAgQEAgUGFzc1JlZlB0cjxUaHJlYWRhYmxlTG9hZGVyPiBUaHJlYWRh
YmxlTG9hZGVyOjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY28KICNlbmRpZiAvLyBF
TkFCTEUoV09SS0VSUykKIAogICAgIEFTU0VSVChjb250ZXh0LT5pc0RvY3VtZW50KCkpOwotICAg
IHJldHVybiBEb2N1bWVudFRocmVhZGFibGVMb2FkZXI6OmNyZWF0ZShzdGF0aWNfY2FzdDxEb2N1
bWVudCo+KGNvbnRleHQpLCBjbGllbnQsIHJlcXVlc3QsIG9wdGlvbnMpOworICAgIHJldHVybiBE
b2N1bWVudFRocmVhZGFibGVMb2FkZXI6OmNyZWF0ZShzdGF0aWNfY2FzdDxEb2N1bWVudCo+KGNv
bnRleHQpLCBjbGllbnQsIHJlcXVlc3QsIG9wdGlvbnMsIGluaXRpYXRvcik7CiB9CiAKLXZvaWQg
VGhyZWFkYWJsZUxvYWRlcjo6bG9hZFJlc291cmNlU3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRp
b25Db250ZXh0KiBjb250ZXh0LCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFRocmVh
ZGFibGVMb2FkZXJDbGllbnQmIGNsaWVudCwgY29uc3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMm
IG9wdGlvbnMpCit2b2lkIFRocmVhZGFibGVMb2FkZXI6OmxvYWRSZXNvdXJjZVN5bmNocm9ub3Vz
bHkoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0
JiByZXF1ZXN0LCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50JiBjbGllbnQsIGNvbnN0IFRocmVhZGFi
bGVMb2FkZXJPcHRpb25zJiBvcHRpb25zLCBjb25zdCBMb2FkSW5pdGlhdG9yJiBpbml0aWF0b3Ip
CiB7CiAgICAgQVNTRVJUKGNvbnRleHQpOwogCkBAIC02Niw3ICs2Niw3IEBAIHZvaWQgVGhyZWFk
YWJsZUxvYWRlcjo6bG9hZFJlc291cmNlU3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25Db250
ZXh0KiBjb250ZXh0CiAjZW5kaWYgLy8gRU5BQkxFKFdPUktFUlMpCiAKICAgICBBU1NFUlQoY29u
dGV4dC0+aXNEb2N1bWVudCgpKTsKLSAgICBEb2N1bWVudFRocmVhZGFibGVMb2FkZXI6OmxvYWRS
ZXNvdXJjZVN5bmNocm9ub3VzbHkoc3RhdGljX2Nhc3Q8RG9jdW1lbnQqPihjb250ZXh0KSwgcmVx
dWVzdCwgY2xpZW50LCBvcHRpb25zKTsKKyAgICBEb2N1bWVudFRocmVhZGFibGVMb2FkZXI6Omxv
YWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoc3RhdGljX2Nhc3Q8RG9jdW1lbnQqPihjb250ZXh0KSwg
cmVxdWVzdCwgY2xpZW50LCBvcHRpb25zLCBpbml0aWF0b3IpOwogfQogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxv
YWRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuaAppbmRleCA4
OGU4ZGQxMGE1OGFjZWRiMDU5MDkxMWRmMGQ5Y2VhMjhjMzg0ZjZjLi4yNDliNTMwZTY0ZjFjZmVh
MWNjYWNkNzhiOWM2MjdiZDQyMzQ2YjQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvVGhyZWFkYWJsZUxvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UaHJlYWRh
YmxlTG9hZGVyLmgKQEAgLTMxLDYgKzMxLDcgQEAKICNpZm5kZWYgVGhyZWFkYWJsZUxvYWRlcl9o
CiAjZGVmaW5lIFRocmVhZGFibGVMb2FkZXJfaAogCisjaW5jbHVkZSAiTnVsbExvYWRJbml0aWF0
b3IuaCIKICNpbmNsdWRlICJSZXNvdXJjZUhhbmRsZS5oIgogI2luY2x1ZGUgIlJlc291cmNlTG9h
ZGVyT3B0aW9ucy5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCkBAIC00MSw0OSArNDIs
NTAgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0gICAgY2xhc3MgUmVzb3VyY2VFcnJvcjsK
LSAgICBjbGFzcyBSZXNvdXJjZVJlcXVlc3Q7Ci0gICAgY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsK
LSAgICBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwotICAgIGNsYXNzIFRocmVhZGFibGVM
b2FkZXJDbGllbnQ7Ci0gICAgCi0gICAgZW51bSBDcm9zc09yaWdpblJlcXVlc3RQb2xpY3kgewot
ICAgICAgICBEZW55Q3Jvc3NPcmlnaW5SZXF1ZXN0cywKLSAgICAgICAgVXNlQWNjZXNzQ29udHJv
bCwKLSAgICAgICAgQWxsb3dDcm9zc09yaWdpblJlcXVlc3RzCi0gICAgfTsKK2NsYXNzIExvYWRJ
bml0aWF0b3I7CitjbGFzcyBSZXNvdXJjZUVycm9yOworY2xhc3MgUmVzb3VyY2VSZXF1ZXN0Owor
Y2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKK2NsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7Citj
bGFzcyBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50OwogCi0gICAgZW51bSBQcmVmbGlnaHRQb2xpY3kg
ewotICAgICAgICBDb25zaWRlclByZWZsaWdodCwKLSAgICAgICAgRm9yY2VQcmVmbGlnaHQsCi0g
ICAgICAgIFByZXZlbnRQcmVmbGlnaHQKLSAgICB9OworZW51bSBDcm9zc09yaWdpblJlcXVlc3RQ
b2xpY3kgeworICAgIERlbnlDcm9zc09yaWdpblJlcXVlc3RzLAorICAgIFVzZUFjY2Vzc0NvbnRy
b2wsCisgICAgQWxsb3dDcm9zc09yaWdpblJlcXVlc3RzCit9OwogCi0gICAgc3RydWN0IFRocmVh
ZGFibGVMb2FkZXJPcHRpb25zIDogcHVibGljIFJlc291cmNlTG9hZGVyT3B0aW9ucyB7Ci0gICAg
ICAgIFRocmVhZGFibGVMb2FkZXJPcHRpb25zKCkgOiBwcmVmbGlnaHRQb2xpY3koQ29uc2lkZXJQ
cmVmbGlnaHQpLCBjcm9zc09yaWdpblJlcXVlc3RQb2xpY3koRGVueUNyb3NzT3JpZ2luUmVxdWVz
dHMpIHsgfQotICAgICAgICBQcmVmbGlnaHRQb2xpY3kgcHJlZmxpZ2h0UG9saWN5OyAvLyBJZiBB
Y2Nlc3NDb250cm9sIGlzIHVzZWQsIGhvdyB0byBkZXRlcm1pbmUgaWYgYSBwcmVmbGlnaHQgaXMg
bmVlZGVkLgotICAgICAgICBDcm9zc09yaWdpblJlcXVlc3RQb2xpY3kgY3Jvc3NPcmlnaW5SZXF1
ZXN0UG9saWN5OwotICAgICAgICBSZWZQdHI8U2VjdXJpdHlPcmlnaW4+IHNlY3VyaXR5T3JpZ2lu
OwotICAgIH07CitlbnVtIFByZWZsaWdodFBvbGljeSB7CisgICAgQ29uc2lkZXJQcmVmbGlnaHQs
CisgICAgRm9yY2VQcmVmbGlnaHQsCisgICAgUHJldmVudFByZWZsaWdodAorfTsKIAotICAgIC8v
IFVzZWZ1bCBmb3IgZG9pbmcgbG9hZGVyIG9wZXJhdGlvbnMgZnJvbSBhbnkgdGhyZWFkIChub3Qg
dGhyZWFkc2FmZSwgCi0gICAgLy8ganVzdCBhYmxlIHRvIHJ1biBvbiB0aHJlYWRzIG90aGVyIHRo
YW4gdGhlIG1haW4gdGhyZWFkKS4KLSAgICBjbGFzcyBUaHJlYWRhYmxlTG9hZGVyIHsKLSAgICAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGhyZWFkYWJsZUxvYWRlcik7Ci0gICAgcHVibGljOgot
ICAgICAgICBzdGF0aWMgdm9pZCBsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBUaHJlYWRhYmxlTG9hZGVyQ2xp
ZW50JiwgY29uc3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMmKTsKLSAgICAgICAgc3RhdGljIFBh
c3NSZWZQdHI8VGhyZWFkYWJsZUxvYWRlcj4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQq
LCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3Qg
VGhyZWFkYWJsZUxvYWRlck9wdGlvbnMmKTsKK3N0cnVjdCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9u
cyA6IHB1YmxpYyBSZXNvdXJjZUxvYWRlck9wdGlvbnMgeworICAgIFRocmVhZGFibGVMb2FkZXJP
cHRpb25zKCkgOiBwcmVmbGlnaHRQb2xpY3koQ29uc2lkZXJQcmVmbGlnaHQpLCBjcm9zc09yaWdp
blJlcXVlc3RQb2xpY3koRGVueUNyb3NzT3JpZ2luUmVxdWVzdHMpIHsgfQorICAgIFByZWZsaWdo
dFBvbGljeSBwcmVmbGlnaHRQb2xpY3k7IC8vIElmIEFjY2Vzc0NvbnRyb2wgaXMgdXNlZCwgaG93
IHRvIGRldGVybWluZSBpZiBhIHByZWZsaWdodCBpcyBuZWVkZWQuCisgICAgQ3Jvc3NPcmlnaW5S
ZXF1ZXN0UG9saWN5IGNyb3NzT3JpZ2luUmVxdWVzdFBvbGljeTsKKyAgICBSZWZQdHI8U2VjdXJp
dHlPcmlnaW4+IHNlY3VyaXR5T3JpZ2luOworfTsKIAotICAgICAgICB2aXJ0dWFsIHZvaWQgY2Fu
Y2VsKCkgPSAwOwotICAgICAgICB2b2lkIHJlZigpIHsgcmVmVGhyZWFkYWJsZUxvYWRlcigpOyB9
Ci0gICAgICAgIHZvaWQgZGVyZWYoKSB7IGRlcmVmVGhyZWFkYWJsZUxvYWRlcigpOyB9CisvLyBV
c2VmdWwgZm9yIGRvaW5nIGxvYWRlciBvcGVyYXRpb25zIGZyb20gYW55IHRocmVhZCAobm90IHRo
cmVhZHNhZmUsCisvLyBqdXN0IGFibGUgdG8gcnVuIG9uIHRocmVhZHMgb3RoZXIgdGhhbiB0aGUg
bWFpbiB0aHJlYWQpLgorY2xhc3MgVGhyZWFkYWJsZUxvYWRlciB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoVGhyZWFkYWJsZUxvYWRlcik7CitwdWJsaWM6CisgICAgc3RhdGljIHZvaWQgbG9h
ZFJlc291cmNlU3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgY29uc3QgUmVz
b3VyY2VSZXF1ZXN0JiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCYsIGNvbnN0IFRocmVhZGFibGVM
b2FkZXJPcHRpb25zJiwgY29uc3QgTG9hZEluaXRpYXRvciYgPSBOdWxsTG9hZEluaXRpYXRvcjo6
aW5zdGFuY2UoKSk7CisgICAgc3RhdGljIFBhc3NSZWZQdHI8VGhyZWFkYWJsZUxvYWRlcj4gY3Jl
YXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50KiwgY29u
c3QgUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMmLCBjb25z
dCBMb2FkSW5pdGlhdG9yJiA9IE51bGxMb2FkSW5pdGlhdG9yOjppbnN0YW5jZSgpKTsKIAotICAg
IHByb3RlY3RlZDoKLSAgICAgICAgVGhyZWFkYWJsZUxvYWRlcigpIHsgfQotICAgICAgICB2aXJ0
dWFsIH5UaHJlYWRhYmxlTG9hZGVyKCkgeyB9Ci0gICAgICAgIHZpcnR1YWwgdm9pZCByZWZUaHJl
YWRhYmxlTG9hZGVyKCkgPSAwOwotICAgICAgICB2aXJ0dWFsIHZvaWQgZGVyZWZUaHJlYWRhYmxl
TG9hZGVyKCkgPSAwOwotICAgIH07CisgICAgdmlydHVhbCB2b2lkIGNhbmNlbCgpID0gMDsKKyAg
ICB2b2lkIHJlZigpIHsgcmVmVGhyZWFkYWJsZUxvYWRlcigpOyB9CisgICAgdm9pZCBkZXJlZigp
IHsgZGVyZWZUaHJlYWRhYmxlTG9hZGVyKCk7IH0KKworcHJvdGVjdGVkOgorICAgIFRocmVhZGFi
bGVMb2FkZXIoKSB7IH0KKyAgICB2aXJ0dWFsIH5UaHJlYWRhYmxlTG9hZGVyKCkgeyB9CisgICAg
dmlydHVhbCB2b2lkIHJlZlRocmVhZGFibGVMb2FkZXIoKSA9IDA7CisgICAgdmlydHVhbCB2b2lk
IGRlcmVmVGhyZWFkYWJsZUxvYWRlcigpID0gMDsKK307CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291
cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAK
aW5kZXggZDI5MWQxNDNiMTNiYTFhMTkzZGJlMzA4MzVlN2M3OWZhNDgyOTQyZS4uNWE1N2ViYjhh
ZmY1YTZmYTY4OGU1MmUzYmRjNTFmMzFlODg1NzA2MyAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwCkBAIC01Myw3ICs1Myw3IEBACiB1c2luZyBu
YW1lc3BhY2UgV1RGOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7Ci0gICAgCisKIHN0YXRpYyBSZXNv
dXJjZUxvYWRQcmlvcml0eSBkZWZhdWx0UHJpb3JpdHlGb3JSZXNvdXJjZVR5cGUoQ2FjaGVkUmVz
b3VyY2U6OlR5cGUgdHlwZSkKIHsKICAgICBzd2l0Y2ggKHR5cGUpIHsKQEAgLTEwMSw3ICsxMDEs
NyBAQCBzdGF0aWMgUmVzb3VyY2VSZXF1ZXN0OjpUYXJnZXRUeXBlIGNhY2hlZFJlc291cmNlVHlw
ZVRvVGFyZ2V0VHlwZShDYWNoZWRSZXNvdXJjZQogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlhT
TFN0eWxlU2hlZXQ6CiAjZW5kaWYKICAgICAgICAgcmV0dXJuIFJlc291cmNlUmVxdWVzdDo6VGFy
Z2V0SXNTdHlsZVNoZWV0OwotICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlNjcmlwdDogCisgICAg
Y2FzZSBDYWNoZWRSZXNvdXJjZTo6U2NyaXB0OgogICAgICAgICByZXR1cm4gUmVzb3VyY2VSZXF1
ZXN0OjpUYXJnZXRJc1NjcmlwdDsKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpGb250UmVzb3Vy
Y2U6CiAgICAgICAgIHJldHVybiBSZXNvdXJjZVJlcXVlc3Q6OlRhcmdldElzRm9udFJlc291cmNl
OwpAQCAtMTExLDcgKzExMSw3IEBAIHN0YXRpYyBSZXNvdXJjZVJlcXVlc3Q6OlRhcmdldFR5cGUg
Y2FjaGVkUmVzb3VyY2VUeXBlVG9UYXJnZXRUeXBlKENhY2hlZFJlc291cmNlCiAgICAgY2FzZSBD
YWNoZWRSZXNvdXJjZTo6U2hhZGVyUmVzb3VyY2U6CiAjZW5kaWYKICAgICBjYXNlIENhY2hlZFJl
c291cmNlOjpSYXdSZXNvdXJjZToKLSAgICAgICAgcmV0dXJuIFJlc291cmNlUmVxdWVzdDo6VGFy
Z2V0SXNTdWJyZXNvdXJjZTsgICAgCisgICAgICAgIHJldHVybiBSZXNvdXJjZVJlcXVlc3Q6OlRh
cmdldElzU3VicmVzb3VyY2U7CiAjaWYgRU5BQkxFKExJTktfUFJFRkVUQ0gpCiAgICAgY2FzZSBD
YWNoZWRSZXNvdXJjZTo6TGlua1ByZWZldGNoOgogICAgICAgICByZXR1cm4gUmVzb3VyY2VSZXF1
ZXN0OjpUYXJnZXRJc1ByZWZldGNoOwpAQCAtMjI0LDEzICsyMjQsMTMgQEAgdm9pZCBDYWNoZWRS
ZXNvdXJjZTo6bG9hZChDYWNoZWRSZXNvdXJjZUxvYWRlciogY2FjaGVkUmVzb3VyY2VMb2FkZXIs
IGNvbnN0IFJlc28KICAgICAgICAgbV9yZXNvdXJjZVJlcXVlc3Quc2V0SFRUUEhlYWRlckZpZWxk
KCJQdXJwb3NlIiwgInByZWZldGNoIik7CiAjZW5kaWYKICAgICBtX3Jlc291cmNlUmVxdWVzdC5z
ZXRQcmlvcml0eShsb2FkUHJpb3JpdHkoKSk7Ci0gICAgCisKICAgICBtX2xvYWRlciA9IHJlc291
cmNlTG9hZFNjaGVkdWxlcigpLT5zY2hlZHVsZVN1YnJlc291cmNlTG9hZChjYWNoZWRSZXNvdXJj
ZUxvYWRlci0+ZG9jdW1lbnQoKS0+ZnJhbWUoKSwgdGhpcywgbV9yZXNvdXJjZVJlcXVlc3QsIG1f
cmVzb3VyY2VSZXF1ZXN0LnByaW9yaXR5KCksIG9wdGlvbnMpOwogICAgIGlmICghbV9sb2FkZXIp
IHsKICAgICAgICAgLy8gRklYTUU6IFdoYXQgaWYgcmVzb3VyY2VzIGluIG90aGVyIGZyYW1lcyB3
ZXJlIHdhaXRpbmcgZm9yIHRoaXMgcmV2YWxpZGF0aW9uPwogICAgICAgICBMT0coUmVzb3VyY2VM
b2FkaW5nLCAiQ2Fubm90IHN0YXJ0IGxvYWRpbmcgJyVzJyIsIHVybCgpLnN0cmluZygpLmxhdGlu
MSgpLmRhdGEoKSk7Ci0gICAgICAgIGlmIChtX3Jlc291cmNlVG9SZXZhbGlkYXRlKSAKLSAgICAg
ICAgICAgIG1lbW9yeUNhY2hlKCktPnJldmFsaWRhdGlvbkZhaWxlZCh0aGlzKTsgCisgICAgICAg
IGlmIChtX3Jlc291cmNlVG9SZXZhbGlkYXRlKQorICAgICAgICAgICAgbWVtb3J5Q2FjaGUoKS0+
cmV2YWxpZGF0aW9uRmFpbGVkKHRoaXMpOwogICAgICAgICBlcnJvcihDYWNoZWRSZXNvdXJjZTo6
TG9hZEVycm9yKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTI1Miw3ICsyNTIsNyBAQCB2
b2lkIENhY2hlZFJlc291cmNlOjpkYXRhKFBhc3NSZWZQdHI8U2hhcmVkQnVmZmVyPiwgYm9vbCBh
bGxEYXRhUmVjZWl2ZWQpCiB7CiAgICAgaWYgKCFhbGxEYXRhUmVjZWl2ZWQpCiAgICAgICAgIHJl
dHVybjsKLSAgICAKKwogICAgIHNldExvYWRpbmcoZmFsc2UpOwogICAgIGNoZWNrTm90aWZ5KCk7
CiB9CkBAIC0yNzEsNiArMjcxLDcgQEAgdm9pZCBDYWNoZWRSZXNvdXJjZTo6ZmluaXNoKCkKIHsK
ICAgICBpZiAoIWVycm9yT2NjdXJyZWQoKSkKICAgICAgICAgbV9zdGF0dXMgPSBDYWNoZWQ7Cisg
ICAgbV9pbml0aWF0b3IuY2xlYXIoKTsKIH0KIAogYm9vbCBDYWNoZWRSZXNvdXJjZTo6cGFzc2Vz
QWNjZXNzQ29udHJvbENoZWNrKFNlY3VyaXR5T3JpZ2luKiBzZWN1cml0eU9yaWdpbikKQEAgLTI4
Niw3ICsyODcsNyBAQCBib29sIENhY2hlZFJlc291cmNlOjppc0V4cGlyZWQoKSBjb25zdAogCiAg
ICAgcmV0dXJuIGN1cnJlbnRBZ2UoKSA+IGZyZXNobmVzc0xpZmV0aW1lKCk7CiB9Ci0gICAgCisK
IGRvdWJsZSBDYWNoZWRSZXNvdXJjZTo6Y3VycmVudEFnZSgpIGNvbnN0CiB7CiAgICAgLy8gUkZD
MjYxNiAxMy4yLjMKQEAgLTI5OCw3ICsyOTksNyBAQCBkb3VibGUgQ2FjaGVkUmVzb3VyY2U6OmN1
cnJlbnRBZ2UoKSBjb25zdAogICAgIGRvdWJsZSByZXNpZGVudFRpbWUgPSBjdXJyZW50VGltZSgp
IC0gbV9yZXNwb25zZVRpbWVzdGFtcDsKICAgICByZXR1cm4gY29ycmVjdGVkUmVjZWl2ZWRBZ2Ug
KyByZXNpZGVudFRpbWU7CiB9Ci0gICAgCisKIGRvdWJsZSBDYWNoZWRSZXNvdXJjZTo6ZnJlc2hu
ZXNzTGlmZXRpbWUoKSBjb25zdAogewogICAgIC8vIENhY2hlIG5vbi1odHRwIHJlc291cmNlcyBs
aWJlcmFsbHkKQEAgLTM2MCw3ICszNjEsNyBAQCBDYWNoZWRNZXRhZGF0YSogQ2FjaGVkUmVzb3Vy
Y2U6OmNhY2hlZE1ldGFkYXRhKHVuc2lnbmVkIGRhdGFUeXBlSUQpIGNvbnN0CiAKIHZvaWQgQ2Fj
aGVkUmVzb3VyY2U6OnN0b3BMb2FkaW5nKCkKIHsKLSAgICBBU1NFUlQobV9sb2FkZXIpOyAgICAg
ICAgICAgIAorICAgIEFTU0VSVChtX2xvYWRlcik7CiAgICAgbV9sb2FkZXIgPSAwOwogCiAgICAg
Q2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmVzb3VyY2U+IHByb3RlY3QodGhpcyk7CkBAIC00
OTEsMTMgKzQ5MiwxMyBAQCB2b2lkIENhY2hlZFJlc291cmNlOjpzZXREZWNvZGVkU2l6ZSh1bnNp
Z25lZCBzaXplKQogICAgIC8vIHF1ZXVlLgogICAgIGlmIChpbkNhY2hlKCkpCiAgICAgICAgIG1l
bW9yeUNhY2hlKCktPnJlbW92ZUZyb21MUlVMaXN0KHRoaXMpOwotICAgIAorCiAgICAgbV9kZWNv
ZGVkU2l6ZSA9IHNpemU7Ci0gICAKLSAgICBpZiAoaW5DYWNoZSgpKSB7IAorCisgICAgaWYgKGlu
Q2FjaGUoKSkgewogICAgICAgICAvLyBOb3cgaW5zZXJ0IGludG8gdGhlIG5ldyBMUlUgbGlzdC4K
ICAgICAgICAgbWVtb3J5Q2FjaGUoKS0+aW5zZXJ0SW5MUlVMaXN0KHRoaXMpOwotICAgICAgICAK
KwogICAgICAgICAvLyBJbnNlcnQgaW50byBvciByZW1vdmUgZnJvbSB0aGUgbGl2ZSBkZWNvZGVk
IGxpc3QgaWYgbmVjZXNzYXJ5LgogICAgICAgICAvLyBXaGVuIGluc2VydGluZyBpbnRvIHRoZSBM
aXZlRGVjb2RlZFJlc291cmNlc0xpc3QgaXQgaXMgcG9zc2libGUKICAgICAgICAgLy8gdGhhdCB0
aGUgbV9sYXN0RGVjb2RlZEFjY2Vzc1RpbWUgaXMgc3RpbGwgemVybyBvciBzbWFsbGVyIHRoYW4K
QEAgLTUyMiw3ICs1MjMsNyBAQCB2b2lkIENhY2hlZFJlc291cmNlOjpzZXRFbmNvZGVkU2l6ZSh1
bnNpZ25lZCBzaXplKQogCiAgICAgLy8gVGhlIHNpemUgY2Fubm90IGV2ZXIgc2hyaW5rICh1bmxl
c3MgaXQgaXMgYmVpbmcgbnVsbGVkIG91dCBiZWNhdXNlIG9mIGFuIGVycm9yKS4gIElmIGl0IGV2
ZXIgZG9lcywgYXNzZXJ0LgogICAgIEFTU0VSVChzaXplID09IDAgfHwgc2l6ZSA+PSBtX2VuY29k
ZWRTaXplKTsKLSAgICAKKwogICAgIGludCBkZWx0YSA9IHNpemUgLSBtX2VuY29kZWRTaXplOwog
CiAgICAgLy8gVGhlIG9iamVjdCBtdXN0IG5vdyBiZSBtb3ZlZCB0byBhIGRpZmZlcmVudCBxdWV1
ZSwgc2luY2UgaXRzIHNpemUgaGFzIGJlZW4gY2hhbmdlZC4KQEAgLTUzMCwxMyArNTMxLDEzIEBA
IHZvaWQgQ2FjaGVkUmVzb3VyY2U6OnNldEVuY29kZWRTaXplKHVuc2lnbmVkIHNpemUpCiAgICAg
Ly8gcXVldWUuCiAgICAgaWYgKGluQ2FjaGUoKSkKICAgICAgICAgbWVtb3J5Q2FjaGUoKS0+cmVt
b3ZlRnJvbUxSVUxpc3QodGhpcyk7Ci0gICAgCisKICAgICBtX2VuY29kZWRTaXplID0gc2l6ZTsK
LSAgIAotICAgIGlmIChpbkNhY2hlKCkpIHsgCisKKyAgICBpZiAoaW5DYWNoZSgpKSB7CiAgICAg
ICAgIC8vIE5vdyBpbnNlcnQgaW50byB0aGUgbmV3IExSVSBsaXN0LgogICAgICAgICBtZW1vcnlD
YWNoZSgpLT5pbnNlcnRJbkxSVUxpc3QodGhpcyk7Ci0gICAgICAgIAorCiAgICAgICAgIC8vIFVw
ZGF0ZSB0aGUgY2FjaGUncyBzaXplIHRvdGFscy4KICAgICAgICAgbWVtb3J5Q2FjaGUoKS0+YWRq
dXN0U2l6ZShoYXNDbGllbnRzKCksIGRlbHRhKTsKICAgICB9CkBAIC01NDUsNyArNTQ2LDcgQEAg
dm9pZCBDYWNoZWRSZXNvdXJjZTo6c2V0RW5jb2RlZFNpemUodW5zaWduZWQgc2l6ZSkKIHZvaWQg
Q2FjaGVkUmVzb3VyY2U6OmRpZEFjY2Vzc0RlY29kZWREYXRhKGRvdWJsZSB0aW1lU3RhbXApCiB7
CiAgICAgbV9sYXN0RGVjb2RlZEFjY2Vzc1RpbWUgPSB0aW1lU3RhbXA7Ci0gICAgCisKICAgICBp
ZiAoaW5DYWNoZSgpKSB7CiAgICAgICAgIGlmIChtX2luTGl2ZURlY29kZWRSZXNvdXJjZXNMaXN0
KSB7CiAgICAgICAgICAgICBtZW1vcnlDYWNoZSgpLT5yZW1vdmVGcm9tTGl2ZURlY29kZWRSZXNv
dXJjZXNMaXN0KHRoaXMpOwpAQCAtNTU0LDkgKzU1NSw5IEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2U6
OmRpZEFjY2Vzc0RlY29kZWREYXRhKGRvdWJsZSB0aW1lU3RhbXApCiAgICAgICAgIG1lbW9yeUNh
Y2hlKCktPnBydW5lKCk7CiAgICAgfQogfQotICAgIAotdm9pZCBDYWNoZWRSZXNvdXJjZTo6c2V0
UmVzb3VyY2VUb1JldmFsaWRhdGUoQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlKSAKLXsgCisKK3Zv
aWQgQ2FjaGVkUmVzb3VyY2U6OnNldFJlc291cmNlVG9SZXZhbGlkYXRlKENhY2hlZFJlc291cmNl
KiByZXNvdXJjZSkKK3sKICAgICBBU1NFUlQocmVzb3VyY2UpOwogICAgIEFTU0VSVCghbV9yZXNv
dXJjZVRvUmV2YWxpZGF0ZSk7CiAgICAgQVNTRVJUKHJlc291cmNlICE9IHRoaXMpOwpAQCAtNTc0
LDggKzU3NSw4IEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2U6OnNldFJlc291cmNlVG9SZXZhbGlkYXRl
KENhY2hlZFJlc291cmNlKiByZXNvdXJjZSkKICAgICBtX3Jlc291cmNlVG9SZXZhbGlkYXRlID0g
cmVzb3VyY2U7CiB9CiAKLXZvaWQgQ2FjaGVkUmVzb3VyY2U6OmNsZWFyUmVzb3VyY2VUb1JldmFs
aWRhdGUoKSAKLXsgCit2b2lkIENhY2hlZFJlc291cmNlOjpjbGVhclJlc291cmNlVG9SZXZhbGlk
YXRlKCkKK3sKICAgICBBU1NFUlQobV9yZXNvdXJjZVRvUmV2YWxpZGF0ZSk7CiAgICAgaWYgKG1f
c3dpdGNoaW5nQ2xpZW50c1RvUmV2YWxpZGF0ZWRSZXNvdXJjZSkKICAgICAgICAgcmV0dXJuOwpA
QCAtNTg5LDcgKzU5MCw3IEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2U6OmNsZWFyUmVzb3VyY2VUb1Jl
dmFsaWRhdGUoKQogICAgIG1fcmVzb3VyY2VUb1JldmFsaWRhdGUgPSAwOwogICAgIGRlbGV0ZUlm
UG9zc2libGUoKTsKIH0KLSAgICAKKwogdm9pZCBDYWNoZWRSZXNvdXJjZTo6c3dpdGNoQ2xpZW50
c1RvUmV2YWxpZGF0ZWRSZXNvdXJjZSgpCiB7CiAgICAgQVNTRVJUKG1fcmVzb3VyY2VUb1JldmFs
aWRhdGUpOwpAQCAtNjM1LDcgKzYzNiw3IEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2U6OnN3aXRjaENs
aWVudHNUb1JldmFsaWRhdGVkUmVzb3VyY2UoKQogICAgIH0KICAgICBtX3N3aXRjaGluZ0NsaWVu
dHNUb1JldmFsaWRhdGVkUmVzb3VyY2UgPSBmYWxzZTsKIH0KLSAgICAKKwogdm9pZCBDYWNoZWRS
ZXNvdXJjZTo6dXBkYXRlUmVzcG9uc2VBZnRlclJldmFsaWRhdGlvbihjb25zdCBSZXNvdXJjZVJl
c3BvbnNlJiB2YWxpZGF0aW5nUmVzcG9uc2UpCiB7CiAgICAgbV9yZXNwb25zZVRpbWVzdGFtcCA9
IGN1cnJlbnRUaW1lKCk7CkBAIC02ODMsNyArNjg0LDcgQEAgYm9vbCBDYWNoZWRSZXNvdXJjZTo6
Y2FuVXNlQ2FjaGVWYWxpZGF0b3IoKSBjb25zdAogfQogCiBib29sIENhY2hlZFJlc291cmNlOjpt
dXN0UmV2YWxpZGF0ZUR1ZVRvQ2FjaGVIZWFkZXJzKENhY2hlUG9saWN5IGNhY2hlUG9saWN5KSBj
b25zdAoteyAgICAKK3sKICAgICBBU1NFUlQoY2FjaGVQb2xpY3kgPT0gQ2FjaGVQb2xpY3lSZXZh
bGlkYXRlIHx8IGNhY2hlUG9saWN5ID09IENhY2hlUG9saWN5Q2FjaGUgfHwgY2FjaGVQb2xpY3kg
PT0gQ2FjaGVQb2xpY3lWZXJpZnkpOwogCiAgICAgaWYgKGNhY2hlUG9saWN5ID09IENhY2hlUG9s
aWN5UmV2YWxpZGF0ZSkKQEAgLTcxMiwxMiArNzEzLDEyIEBAIGJvb2wgQ2FjaGVkUmVzb3VyY2U6
Om11c3RSZXZhbGlkYXRlRHVlVG9DYWNoZUhlYWRlcnMoQ2FjaGVQb2xpY3kgY2FjaGVQb2xpY3kp
IGNvCiB9CiAKIGJvb2wgQ2FjaGVkUmVzb3VyY2U6OmlzU2FmZVRvTWFrZVB1cmdlYWJsZSgpIGNv
bnN0Ci17IAorewogICAgIHJldHVybiAhaGFzQ2xpZW50cygpICYmICFtX3Byb3h5UmVzb3VyY2Ug
JiYgIW1fcmVzb3VyY2VUb1JldmFsaWRhdGU7CiB9CiAKLWJvb2wgQ2FjaGVkUmVzb3VyY2U6Om1h
a2VQdXJnZWFibGUoYm9vbCBwdXJnZWFibGUpIAoteyAKK2Jvb2wgQ2FjaGVkUmVzb3VyY2U6Om1h
a2VQdXJnZWFibGUoYm9vbCBwdXJnZWFibGUpCit7CiAgICAgaWYgKHB1cmdlYWJsZSkgewogICAg
ICAgICBBU1NFUlQoaXNTYWZlVG9NYWtlUHVyZ2VhYmxlKCkpOwogCkBAIC03MjcsMTEgKzcyOCwx
MSBAQCBib29sIENhY2hlZFJlc291cmNlOjptYWtlUHVyZ2VhYmxlKGJvb2wgcHVyZ2VhYmxlKQog
ICAgICAgICB9CiAgICAgICAgIGlmICghbV9kYXRhKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OwotICAgICAgICAKKwogICAgICAgICAvLyBTaG91bGQgbm90IG1ha2UgYnVmZmVyIHB1cmdlYWJs
ZSBpZiBpdCBoYXMgcmVmcyBvdGhlciB0aGFuIHRoaXMgc2luY2Ugd2UgZG9uJ3Qgd2FudCB0d28g
Y29waWVzLgogICAgICAgICBpZiAoIW1fZGF0YS0+aGFzT25lUmVmKCkpCiAgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7Ci0gICAgICAgIAorCiAgICAgICAgIGlmIChtX2RhdGEtPmhhc1B1cmdlYWJs
ZUJ1ZmZlcigpKSB7CiAgICAgICAgICAgICBtX3B1cmdlYWJsZURhdGEgPSBtX2RhdGEtPnJlbGVh
c2VQdXJnZWFibGVCdWZmZXIoKTsKICAgICAgICAgfSBlbHNlIHsKQEAgLTc0MCw3ICs3NDEsNyBA
QCBib29sIENhY2hlZFJlc291cmNlOjptYWtlUHVyZ2VhYmxlKGJvb2wgcHVyZ2VhYmxlKQogICAg
ICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgIG1fcHVyZ2VhYmxlRGF0YS0+
c2V0UHVyZ2VQcmlvcml0eShwdXJnZVByaW9yaXR5KCkpOwogICAgICAgICB9Ci0gICAgICAgIAor
CiAgICAgICAgIG1fcHVyZ2VhYmxlRGF0YS0+bWFrZVB1cmdlYWJsZSh0cnVlKTsKICAgICAgICAg
bV9kYXRhLmNsZWFyKCk7CiAgICAgICAgIHJldHVybiB0cnVlOwpAQCAtNzUyLDcgKzc1Myw3IEBA
IGJvb2wgQ2FjaGVkUmVzb3VyY2U6Om1ha2VQdXJnZWFibGUoYm9vbCBwdXJnZWFibGUpCiAgICAg
QVNTRVJUKCFoYXNDbGllbnRzKCkpOwogCiAgICAgaWYgKCFtX3B1cmdlYWJsZURhdGEtPm1ha2VQ
dXJnZWFibGUoZmFsc2UpKQotICAgICAgICByZXR1cm4gZmFsc2U7IAorICAgICAgICByZXR1cm4g
ZmFsc2U7CiAKICAgICBtX2RhdGEgPSBTaGFyZWRCdWZmZXI6OmFkb3B0UHVyZ2VhYmxlQnVmZmVy
KG1fcHVyZ2VhYmxlRGF0YS5yZWxlYXNlKCkpOwogICAgIHJldHVybiB0cnVlOwpAQCAtNzczLDkg
Kzc3NCw5IEBAIHVuc2lnbmVkIENhY2hlZFJlc291cmNlOjpvdmVyaGVhZFNpemUoKSBjb25zdAog
ICAgIHN0YXRpYyBjb25zdCBpbnQga0F2ZXJhZ2VDbGllbnRzSGFzaE1hcFNpemUgPSAzODQ7CiAg
ICAgcmV0dXJuIHNpemVvZihDYWNoZWRSZXNvdXJjZSkgKyBtX3Jlc3BvbnNlLm1lbW9yeVVzYWdl
KCkgKyBrQXZlcmFnZUNsaWVudHNIYXNoTWFwU2l6ZSArIG1fcmVzb3VyY2VSZXF1ZXN0LnVybCgp
LnN0cmluZygpLmxlbmd0aCgpICogMjsKIH0KLSAgICAKLXZvaWQgQ2FjaGVkUmVzb3VyY2U6OnNl
dExvYWRQcmlvcml0eShSZXNvdXJjZUxvYWRQcmlvcml0eSBsb2FkUHJpb3JpdHkpIAoteyAKKwor
dm9pZCBDYWNoZWRSZXNvdXJjZTo6c2V0TG9hZFByaW9yaXR5KFJlc291cmNlTG9hZFByaW9yaXR5
IGxvYWRQcmlvcml0eSkKK3sKICAgICBpZiAobG9hZFByaW9yaXR5ID09IFJlc291cmNlTG9hZFBy
aW9yaXR5VW5yZXNvbHZlZCkKICAgICAgICAgcmV0dXJuOwogICAgIG1fbG9hZFByaW9yaXR5ID0g
bG9hZFByaW9yaXR5OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0Nh
Y2hlZFJlc291cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2UuaAppbmRleCBiNzM5ZDY4YWY4MWYyZGI3YjQ4NjJkZjE1OWFhY2YxNThlMGI1NzMzLi5iZjZh
YTg4ZmMwZGUyZDQyMDE5NTJiYjVlNTBlOWUwNDllNTkyMDFlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuaApAQCAtMjUsNiArMjUsOCBAQAogCiAjaW5j
bHVkZSAiQ2FjaGVQb2xpY3kuaCIKICNpbmNsdWRlICJGcmFtZUxvYWRlclR5cGVzLmgiCisjaW5j
bHVkZSAiTG9hZEluaXRpYXRvci5oIgorI2luY2x1ZGUgIkxvYWRJbml0aWF0b3JIYW5kbGUuaCIK
ICNpbmNsdWRlICJQdXJnZVByaW9yaXR5LmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VMb2FkUHJpb3Jp
dHkuaCIKICNpbmNsdWRlICJSZXNvdXJjZUxvYWRlck9wdGlvbnMuaCIKQEAgLTU3LDcgKzU5LDcg
QEAgY2xhc3MgQ2FjaGVkUmVzb3VyY2UgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENhY2hl
ZFJlc291cmNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgZnJpZW5kIGNsYXNzIE1l
bW9yeUNhY2hlOwogICAgIGZyaWVuZCBjbGFzcyBJbnNwZWN0b3JSZXNvdXJjZTsKLSAgICAKKwog
cHVibGljOgogICAgIGVudW0gVHlwZSB7CiAgICAgICAgIEltYWdlUmVzb3VyY2UsCkBAIC0xMDUs
OSArMTA3LDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkSWdub3JlSFRUUFN0
YXR1c0NvZGVFcnJvcnMoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogCiAgICAgUmVzb3VyY2VS
ZXF1ZXN0JiByZXNvdXJjZVJlcXVlc3QoKSB7IHJldHVybiBtX3Jlc291cmNlUmVxdWVzdDsgfQot
ICAgIGNvbnN0IEtVUkwmIHVybCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVzb3VyY2VSZXF1ZXN0LnVy
bCgpO30KKyAgICBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlc291cmNlUmVxdWVzdCgpIGNvbnN0
IHsgcmV0dXJuIG1fcmVzb3VyY2VSZXF1ZXN0OyB9CisgICAgY29uc3QgS1VSTCYgdXJsKCkgY29u
c3QgeyByZXR1cm4gbV9yZXNvdXJjZVJlcXVlc3QudXJsKCk7IH0KICAgICBUeXBlIHR5cGUoKSBj
b25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxUeXBlPihtX3R5cGUpOyB9Ci0gICAgCisKICAgICBS
ZXNvdXJjZUxvYWRQcmlvcml0eSBsb2FkUHJpb3JpdHkoKSBjb25zdCB7IHJldHVybiBtX2xvYWRQ
cmlvcml0eTsgfQogICAgIHZvaWQgc2V0TG9hZFByaW9yaXR5KFJlc291cmNlTG9hZFByaW9yaXR5
KTsKIApAQCAtMTM4LDcgKzE0MSw3IEBAIHB1YmxpYzoKICAgICB1bnNpZ25lZCBlbmNvZGVkU2l6
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fZW5jb2RlZFNpemU7IH0KICAgICB1bnNpZ25lZCBkZWNvZGVk
U2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fZGVjb2RlZFNpemU7IH0KICAgICB1bnNpZ25lZCBvdmVy
aGVhZFNpemUoKSBjb25zdDsKLSAgICAKKwogICAgIGJvb2wgaXNMb2FkZWQoKSBjb25zdCB7IHJl
dHVybiAhbV9sb2FkaW5nOyB9IC8vIEZJWE1FLiBNZXRob2QgbmFtZSBpcyBpbmFjY3VyYXRlLiBM
b2FkaW5nIG1pZ2h0IG5vdCBoYXZlIHN0YXJ0ZWQgeWV0LgogCiAgICAgYm9vbCBpc0xvYWRpbmco
KSBjb25zdCB7IHJldHVybiBtX2xvYWRpbmc7IH0KQEAgLTE2MSw3ICsxNjQsNyBAQCBwdWJsaWM6
CiAgICAgdW5zaWduZWQgYWNjZXNzQ291bnQoKSBjb25zdCB7IHJldHVybiBtX2FjY2Vzc0NvdW50
OyB9CiAgICAgdm9pZCBpbmNyZWFzZUFjY2Vzc0NvdW50KCkgeyBtX2FjY2Vzc0NvdW50Kys7IH0K
IAotICAgIC8vIENvbXB1dGVzIHRoZSBzdGF0dXMgb2YgYW4gb2JqZWN0IGFmdGVyIGxvYWRpbmcu
ICAKKyAgICAvLyBDb21wdXRlcyB0aGUgc3RhdHVzIG9mIGFuIG9iamVjdCBhZnRlciBsb2FkaW5n
LgogICAgIC8vIFVwZGF0ZXMgdGhlIGV4cGlyZSBkYXRlIG9uIHRoZSBjYWNoZSBlbnRyeSBmaWxl
CiAgICAgdm9pZCBmaW5pc2goKTsKIApAQCAtMTczLDkgKzE3Niw5IEBAIHB1YmxpYzoKICAgICAv
LyBUaGUgcmVzb3VyY2UgY2FuIGJlIGJyb3VnaHQgYmFjayB0byBjYWNoZSBhZnRlciBzdWNjZXNz
ZnVsIHJldmFsaWRhdGlvbi4KICAgICB2b2lkIHNldEluQ2FjaGUoYm9vbCBpbkNhY2hlKSB7IG1f
aW5DYWNoZSA9IGluQ2FjaGU7IH0KICAgICBib29sIGluQ2FjaGUoKSBjb25zdCB7IHJldHVybiBt
X2luQ2FjaGU7IH0KLSAgICAKKwogICAgIGJvb2wgaW5MaXZlRGVjb2RlZFJlc291cmNlc0xpc3Qo
KSB7IHJldHVybiBtX2luTGl2ZURlY29kZWRSZXNvdXJjZXNMaXN0OyB9Ci0gICAgCisKICAgICB2
b2lkIHN0b3BMb2FkaW5nKCk7CiAKICAgICBTaGFyZWRCdWZmZXIqIGRhdGEoKSBjb25zdCB7IEFT
U0VSVCghbV9wdXJnZWFibGVEYXRhKTsgcmV0dXJuIG1fZGF0YS5nZXQoKTsgfQpAQCAtMTkyLDYg
KzE5NSw5IEBAIHB1YmxpYzoKICAgICAvLyBpZGVudGlmaWVyIHRoYXQgaXMgdXNlZCB0byBkaXN0
aW5ndWlzaCBkYXRhIGdlbmVyYXRlZCBieSB0aGUgY2FsbGVyLgogICAgIHZvaWQgc2V0Q2FjaGVk
TWV0YWRhdGEodW5zaWduZWQgZGF0YVR5cGVJRCwgY29uc3QgY2hhciosIHNpemVfdCk7CiAKKyAg
ICB2b2lkIHNldEluaXRpYXRvcihjb25zdCBMb2FkSW5pdGlhdG9yJiBpbml0aWF0b3IpIHsgbV9p
bml0aWF0b3IgPSBpbml0aWF0b3I7IH0KKyAgICBjb25zdCBMb2FkSW5pdGlhdG9yJiBpbml0aWF0
b3IoKSBjb25zdCB7IHJldHVybiBtX2luaXRpYXRvcjsgfQorCiAgICAgLy8gUmV0dXJucyBjYWNo
ZWQgbWV0YWRhdGEgb2YgdGhlIGdpdmVuIHR5cGUgYXNzb2NpYXRlZCB3aXRoIHRoaXMgcmVzb3Vy
Y2UuCiAgICAgQ2FjaGVkTWV0YWRhdGEqIGNhY2hlZE1ldGFkYXRhKHVuc2lnbmVkIGRhdGFUeXBl
SUQpIGNvbnN0OwogCkBAIC0yMTAsNDAgKzIxNiw0MCBAQCBwdWJsaWM6CiAgICAgYm9vbCBsb2Fk
RmFpbGVkT3JDYW5jZWxlZCgpIHsgcmV0dXJuIG1fc3RhdHVzID09IENhbmNlbGVkIHx8IG1fc3Rh
dHVzID09IExvYWRFcnJvcjsgfQogCiAgICAgYm9vbCBzZW5kUmVzb3VyY2VMb2FkQ2FsbGJhY2tz
KCkgY29uc3QgeyByZXR1cm4gbV9vcHRpb25zLnNlbmRMb2FkQ2FsbGJhY2tzID09IFNlbmRDYWxs
YmFja3M7IH0KLSAgICAKKwogICAgIHZpcnR1YWwgdm9pZCBkZXN0cm95RGVjb2RlZERhdGEoKSB7
IH0KIAogICAgIHZvaWQgc2V0T3duaW5nQ2FjaGVkUmVzb3VyY2VMb2FkZXIoQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXIqIGNhY2hlZFJlc291cmNlTG9hZGVyKSB7IG1fb3duaW5nQ2FjaGVkUmVzb3VyY2VM
b2FkZXIgPSBjYWNoZWRSZXNvdXJjZUxvYWRlcjsgfQotICAgIAorCiAgICAgLy8gTWVtb3J5Q2Fj
aGUgZG9lcyBub3QgZGVzdHJveSB0aGUgZGVjb2RlZCBkYXRhIG9mIGEgQ2FjaGVkUmVzb3VyY2Ug
aWYgdGhlIGRlY29kZWQgZGF0YSB3aWxsIGJlIGxpa2VseSB1c2VkLgogICAgIHZpcnR1YWwgYm9v
bCBsaWtlbHlUb0JlVXNlZFNvb24oKSB7IHJldHVybiBmYWxzZTsgfQogCiAgICAgYm9vbCBpc1By
ZWxvYWRlZCgpIGNvbnN0IHsgcmV0dXJuIG1fcHJlbG9hZENvdW50OyB9CiAgICAgdm9pZCBpbmNy
ZWFzZVByZWxvYWRDb3VudCgpIHsgKyttX3ByZWxvYWRDb3VudDsgfQogICAgIHZvaWQgZGVjcmVh
c2VQcmVsb2FkQ291bnQoKSB7IEFTU0VSVChtX3ByZWxvYWRDb3VudCk7IC0tbV9wcmVsb2FkQ291
bnQ7IH0KLSAgICAKKwogICAgIHZvaWQgcmVnaXN0ZXJIYW5kbGUoQ2FjaGVkUmVzb3VyY2VIYW5k
bGVCYXNlKiBoKTsKICAgICB2b2lkIHVucmVnaXN0ZXJIYW5kbGUoQ2FjaGVkUmVzb3VyY2VIYW5k
bGVCYXNlKiBoKTsKLSAgICAKKwogICAgIGJvb2wgY2FuVXNlQ2FjaGVWYWxpZGF0b3IoKSBjb25z
dDsKICAgICBib29sIG11c3RSZXZhbGlkYXRlRHVlVG9DYWNoZUhlYWRlcnMoQ2FjaGVQb2xpY3kp
IGNvbnN0OwogICAgIGJvb2wgaXNDYWNoZVZhbGlkYXRvcigpIGNvbnN0IHsgcmV0dXJuIG1fcmVz
b3VyY2VUb1JldmFsaWRhdGU7IH0KICAgICBDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2VUb1JldmFs
aWRhdGUoKSBjb25zdCB7IHJldHVybiBtX3Jlc291cmNlVG9SZXZhbGlkYXRlOyB9Ci0gICAgCisK
ICAgICBib29sIGlzUHVyZ2VhYmxlKCkgY29uc3Q7CiAgICAgYm9vbCB3YXNQdXJnZWQoKSBjb25z
dDsKLSAgICAKKwogICAgIC8vIFRoaXMgaXMgdXNlZCBieSB0aGUgYXJjaGl2ZSBtYWNoaW5lcnkg
dG8gZ2V0IGF0IGEgcHVyZ2VkIHJlc291cmNlIHdpdGhvdXQKICAgICAvLyB0cmlnZ2VyaW5nIGEg
bG9hZC4gV2Ugc2hvdWxkIG1ha2UgaXQgcHJvdGVjdGVkIGFnYWluIGlmIHdlIGNhbiBmaW5kIGEK
ICAgICAvLyBiZXR0ZXIgd2F5IHRvIGhhbmRsZSB0aGUgYXJjaGl2ZSBjYXNlLgogICAgIGJvb2wg
bWFrZVB1cmdlYWJsZShib29sIHB1cmdlYWJsZSk7Ci0gICAgCisKICAgICAvLyBIVFRQIHJldmFs
aWRhdGlvbiBzdXBwb3J0IG1ldGhvZHMgZm9yIENhY2hlZFJlc291cmNlTG9hZGVyLgogICAgIHZv
aWQgc2V0UmVzb3VyY2VUb1JldmFsaWRhdGUoQ2FjaGVkUmVzb3VyY2UqKTsKICAgICB2b2lkIHN3
aXRjaENsaWVudHNUb1JldmFsaWRhdGVkUmVzb3VyY2UoKTsKICAgICB2b2lkIGNsZWFyUmVzb3Vy
Y2VUb1JldmFsaWRhdGUoKTsKICAgICB2b2lkIHVwZGF0ZVJlc3BvbnNlQWZ0ZXJSZXZhbGlkYXRp
b24oY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgdmFsaWRhdGluZ1Jlc3BvbnNlKTsKLSAgICAKKwog
ICAgIHZpcnR1YWwgdm9pZCBkaWRTZW5kRGF0YSh1bnNpZ25lZCBsb25nIGxvbmcgLyogYnl0ZXNT
ZW50ICovLCB1bnNpZ25lZCBsb25nIGxvbmcgLyogdG90YWxCeXRlc1RvQmVTZW50ICovKSB7IH0K
ICNpZiBQTEFURk9STShDSFJPTUlVTSkKICAgICB2aXJ0dWFsIHZvaWQgZGlkRG93bmxvYWREYXRh
KGludCkgeyB9CkBAIC0yNjIsNyArMjY4LDcgQEAgcHJvdGVjdGVkOgogICAgIHZvaWQgZGlkQWNj
ZXNzRGVjb2RlZERhdGEoZG91YmxlIHRpbWVTdGFtcCk7CiAKICAgICBib29sIGlzU2FmZVRvTWFr
ZVB1cmdlYWJsZSgpIGNvbnN0OwotICAgIAorCiAgICAgSGFzaENvdW50ZWRTZXQ8Q2FjaGVkUmVz
b3VyY2VDbGllbnQqPiBtX2NsaWVudHM7CiAKICAgICBjbGFzcyBDYWNoZWRSZXNvdXJjZUNhbGxi
YWNrIHsKQEAgLTMzNCwxMiArMzQwLDEyIEBAIHByaXZhdGU6CiAKICAgICBDYWNoZWRSZXNvdXJj
ZSogbV9uZXh0SW5BbGxSZXNvdXJjZXNMaXN0OwogICAgIENhY2hlZFJlc291cmNlKiBtX3ByZXZJ
bkFsbFJlc291cmNlc0xpc3Q7Ci0gICAgCisKICAgICBDYWNoZWRSZXNvdXJjZSogbV9uZXh0SW5M
aXZlUmVzb3VyY2VzTGlzdDsKICAgICBDYWNoZWRSZXNvdXJjZSogbV9wcmV2SW5MaXZlUmVzb3Vy
Y2VzTGlzdDsKIAogICAgIENhY2hlZFJlc291cmNlTG9hZGVyKiBtX293bmluZ0NhY2hlZFJlc291
cmNlTG9hZGVyOyAvLyBvbmx5IG5vbi0wIGZvciByZXNvdXJjZXMgdGhhdCBhcmUgbm90IGluIHRo
ZSBjYWNoZQotICAgIAorCiAgICAgLy8gSWYgdGhpcyBmaWVsZCBpcyBub24tbnVsbCB3ZSBhcmUg
dXNpbmcgdGhlIHJlc291cmNlIGFzIGEgcHJveHkgZm9yIGNoZWNraW5nIHdoZXRoZXIgYW4gZXhp
c3RpbmcgcmVzb3VyY2UgaXMgc3RpbGwgdXAgdG8gZGF0ZQogICAgIC8vIHVzaW5nIEhUVFAgSWYt
TW9kaWZpZWQtU2luY2UvSWYtTm9uZS1NYXRjaCBoZWFkZXJzLiBJZiB0aGUgcmVzcG9uc2UgaXMg
MzA0IGFsbCBjbGllbnRzIG9mIHRoaXMgcmVzb3VyY2UgYXJlIG1vdmVkCiAgICAgLy8gdG8gdG8g
YmUgY2xpZW50cyBvZiBtX3Jlc291cmNlVG9SZXZhbGlkYXRlIGFuZCB0aGUgcmVzb3VyY2UgaXMg
ZGVsZXRlZC4gSWYgbm90LCB0aGUgZmllbGQgaXMgemVyb2VkIGFuZCB0aGlzCkBAIC0zNTEsNiAr
MzU3LDggQEAgcHJpdmF0ZToKIAogICAgIC8vIFRoZXNlIGhhbmRsZXMgd2lsbCBuZWVkIHRvIGJl
IHVwZGF0ZWQgdG8gcG9pbnQgdG8gdGhlIG1fcmVzb3VyY2VUb1JldmFsaWRhdGUgaW4gY2FzZSB3
ZSBnZXQgMzA0IHJlc3BvbnNlLgogICAgIEhhc2hTZXQ8Q2FjaGVkUmVzb3VyY2VIYW5kbGVCYXNl
Kj4gbV9oYW5kbGVzVG9SZXZhbGlkYXRlOworCisgICAgTG9hZEluaXRpYXRvckhhbmRsZSBtX2lu
aXRpYXRvcjsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNo
ZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUv
Q2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IGJiNjg3NDA1MWJjYjk0ODFkZTRkMGZiNGFh
ZTQ2YzYyMTAyMjEzZjIuLjFkOTFjOTMxYzQ3YjBmZTk5YmEyZTJlOGVmM2I3MzAxMjhmYWRlNWUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxv
YWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNl
TG9hZGVyLmNwcApAQCAtMTUxLDcgKzE1MSw3IEBAIEZyYW1lKiBDYWNoZWRSZXNvdXJjZUxvYWRl
cjo6ZnJhbWUoKSBjb25zdAogICAgIHJldHVybiBtX2RvY3VtZW50ID8gbV9kb2N1bWVudC0+ZnJh
bWUoKSA6IDA7CiB9CiAKLUNhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZEltYWdlPiBDYWNoZWRS
ZXNvdXJjZUxvYWRlcjo6cmVxdWVzdEltYWdlKFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCkKK0Nh
Y2hlZFJlc291cmNlSGFuZGxlPENhY2hlZEltYWdlPiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVx
dWVzdEltYWdlKFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgTG9hZEluaXRpYXRvciYg
aW5pdGlhdG9yKQogewogICAgIGlmIChGcmFtZSogZiA9IGZyYW1lKCkpIHsKICAgICAgICAgaWYg
KGYtPmxvYWRlcigpLT5wYWdlRGlzbWlzc2FsRXZlbnRCZWluZ0Rpc3BhdGNoZWQoKSAhPSBGcmFt
ZUxvYWRlcjo6Tm9EaXNtaXNzYWwpIHsKQEAgLTE2MSwzNCArMTYxLDM0IEBAIENhY2hlZFJlc291
cmNlSGFuZGxlPENhY2hlZEltYWdlPiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdEltYWdl
KFJlc291cmNlUmVxCiAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgfQogICAgIH0KLSAg
ICByZXR1cm4gc3RhdGljX2Nhc3Q8Q2FjaGVkSW1hZ2UqPihyZXF1ZXN0UmVzb3VyY2UoQ2FjaGVk
UmVzb3VyY2U6OkltYWdlUmVzb3VyY2UsIHJlcXVlc3QsIFN0cmluZygpLCBkZWZhdWx0Q2FjaGVk
UmVzb3VyY2VPcHRpb25zKCksIFJlc291cmNlTG9hZFByaW9yaXR5VW5yZXNvbHZlZCwgZmFsc2Us
IGNsaWVudERlZmVyc0ltYWdlKHJlcXVlc3QudXJsKCkpID8gRGVmZXJyZWRCeUNsaWVudCA6IE5v
RGVmZXIpLmdldCgpKTsKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Q2FjaGVkSW1hZ2UqPihyZXF1
ZXN0UmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2U6OkltYWdlUmVzb3VyY2UsIHJlcXVlc3QsIFN0cmlu
ZygpLCBkZWZhdWx0Q2FjaGVkUmVzb3VyY2VPcHRpb25zKCksIGluaXRpYXRvciwgUmVzb3VyY2VM
b2FkUHJpb3JpdHlVbnJlc29sdmVkLCBmYWxzZSwgY2xpZW50RGVmZXJzSW1hZ2UocmVxdWVzdC51
cmwoKSkgPyBEZWZlcnJlZEJ5Q2xpZW50IDogTm9EZWZlcikuZ2V0KCkpOwogfQogCi1DYWNoZWRS
ZXNvdXJjZUhhbmRsZTxDYWNoZWRGb250PiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdEZv
bnQoUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0KQorQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVk
Rm9udD4gQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RGb250KFJlc291cmNlUmVxdWVzdCYg
cmVxdWVzdCwgY29uc3QgTG9hZEluaXRpYXRvciYgaW5pdGlhdG9yKQogewotICAgIHJldHVybiBz
dGF0aWNfY2FzdDxDYWNoZWRGb250Kj4ocmVxdWVzdFJlc291cmNlKENhY2hlZFJlc291cmNlOjpG
b250UmVzb3VyY2UsIHJlcXVlc3QsIFN0cmluZygpLCBkZWZhdWx0Q2FjaGVkUmVzb3VyY2VPcHRp
b25zKCkpLmdldCgpKTsKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Q2FjaGVkRm9udCo+KHJlcXVl
c3RSZXNvdXJjZShDYWNoZWRSZXNvdXJjZTo6Rm9udFJlc291cmNlLCByZXF1ZXN0LCBTdHJpbmco
KSwgZGVmYXVsdENhY2hlZFJlc291cmNlT3B0aW9ucygpLCBpbml0aWF0b3IpLmdldCgpKTsKIH0K
IAogI2lmIEVOQUJMRShWSURFT19UUkFDSykKLUNhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFRl
eHRUcmFjaz4gQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RUZXh0VHJhY2soUmVzb3VyY2VS
ZXF1ZXN0JiByZXF1ZXN0KQorQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkVGV4dFRyYWNrPiBD
YWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFRleHRUcmFjayhSZXNvdXJjZVJlcXVlc3QmIHJl
cXVlc3QsIGNvbnN0IExvYWRJbml0aWF0b3ImIGluaXRpYXRvcikKIHsKLSAgICByZXR1cm4gc3Rh
dGljX2Nhc3Q8Q2FjaGVkVGV4dFRyYWNrKj4ocmVxdWVzdFJlc291cmNlKENhY2hlZFJlc291cmNl
OjpUZXh0VHJhY2tSZXNvdXJjZSwgcmVxdWVzdCwgU3RyaW5nKCksIGRlZmF1bHRDYWNoZWRSZXNv
dXJjZU9wdGlvbnMoKSkuZ2V0KCkpOworICAgIHJldHVybiBzdGF0aWNfY2FzdDxDYWNoZWRUZXh0
VHJhY2sqPihyZXF1ZXN0UmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2U6OlRleHRUcmFja1Jlc291cmNl
LCByZXF1ZXN0LCBTdHJpbmcoKSwgZGVmYXVsdENhY2hlZFJlc291cmNlT3B0aW9ucygpLCBpbml0
aWF0b3IpLmdldCgpKTsKIH0KICNlbmRpZgogCiAjaWYgRU5BQkxFKENTU19TSEFERVJTKQotQ2Fj
aGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkU2hhZGVyPiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVx
dWVzdFNoYWRlcihSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QpCitDYWNoZWRSZXNvdXJjZUhhbmRs
ZTxDYWNoZWRTaGFkZXI+IENhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0U2hhZGVyKFJlc291
cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgTG9hZEluaXRpYXRvciYgaW5pdGlhdG9yKQogewot
ICAgIHJldHVybiBzdGF0aWNfY2FzdDxDYWNoZWRTaGFkZXIqPihyZXF1ZXN0UmVzb3VyY2UoQ2Fj
aGVkUmVzb3VyY2U6OlNoYWRlclJlc291cmNlLCByZXF1ZXN0LCBTdHJpbmcoKSwgZGVmYXVsdENh
Y2hlZFJlc291cmNlT3B0aW9ucygpKS5nZXQoKSk7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PENh
Y2hlZFNoYWRlcio+KHJlcXVlc3RSZXNvdXJjZShDYWNoZWRSZXNvdXJjZTo6U2hhZGVyUmVzb3Vy
Y2UsIHJlcXVlc3QsIFN0cmluZygpLCBkZWZhdWx0Q2FjaGVkUmVzb3VyY2VPcHRpb25zKCksIGlu
aXRpYXRvcikuZ2V0KCkpOwogfQogI2VuZGlmCiAKLUNhY2hlZFJlc291cmNlSGFuZGxlPENhY2hl
ZENTU1N0eWxlU2hlZXQ+IENhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0Q1NTU3R5bGVTaGVl
dChSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFN0cmluZyYgY2hhcnNldCwgUmVzb3Vy
Y2VMb2FkUHJpb3JpdHkgcHJpb3JpdHkpCitDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRDU1NT
dHlsZVNoZWV0PiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdENTU1N0eWxlU2hlZXQoUmVz
b3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBTdHJpbmcmIGNoYXJzZXQsIGNvbnN0IExvYWRJ
bml0aWF0b3ImIGluaXRpYXRvciwgUmVzb3VyY2VMb2FkUHJpb3JpdHkgcHJpb3JpdHkpCiB7Ci0g
ICAgcmV0dXJuIHN0YXRpY19jYXN0PENhY2hlZENTU1N0eWxlU2hlZXQqPihyZXF1ZXN0UmVzb3Vy
Y2UoQ2FjaGVkUmVzb3VyY2U6OkNTU1N0eWxlU2hlZXQsIHJlcXVlc3QsIGNoYXJzZXQsIGRlZmF1
bHRDYWNoZWRSZXNvdXJjZU9wdGlvbnMoKSwgcHJpb3JpdHkpLmdldCgpKTsKKyAgICByZXR1cm4g
c3RhdGljX2Nhc3Q8Q2FjaGVkQ1NTU3R5bGVTaGVldCo+KHJlcXVlc3RSZXNvdXJjZShDYWNoZWRS
ZXNvdXJjZTo6Q1NTU3R5bGVTaGVldCwgcmVxdWVzdCwgY2hhcnNldCwgZGVmYXVsdENhY2hlZFJl
c291cmNlT3B0aW9ucygpLCBpbml0aWF0b3IsIHByaW9yaXR5KS5nZXQoKSk7CiB9CiAKLUNhY2hl
ZFJlc291cmNlSGFuZGxlPENhY2hlZENTU1N0eWxlU2hlZXQ+IENhY2hlZFJlc291cmNlTG9hZGVy
OjpyZXF1ZXN0VXNlckNTU1N0eWxlU2hlZXQoUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25z
dCBTdHJpbmcmIGNoYXJzZXQpCitDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRDU1NTdHlsZVNo
ZWV0PiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFVzZXJDU1NTdHlsZVNoZWV0KFJlc291
cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgU3RyaW5nJiBjaGFyc2V0LCBjb25zdCBMb2FkSW5p
dGlhdG9yJiBpbml0aWF0b3IpCiB7CiAgICAgS1VSTCB1cmwgPSBNZW1vcnlDYWNoZTo6cmVtb3Zl
RnJhZ21lbnRJZGVudGlmaWVySWZOZWVkZWQocmVxdWVzdC51cmwoKSk7CiAKQEAgLTIwNSw0MiAr
MjA1LDQzIEBAIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZENTU1N0eWxlU2hlZXQ+IENhY2hl
ZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0VXNlckNTU1N0CiAgICAgbWVtb3J5Q2FjaGUoKS0+YWRk
KHVzZXJTaGVldC5nZXQoKSk7CiAgICAgLy8gRklYTUU6IGxvYWRSZXNvdXJjZSBjYWxscyBzZXRP
d25pbmdDYWNoZWRSZXNvdXJjZUxvYWRlcigpIGlmIHRoZSByZXNvdXJjZSBjb3VsZG4ndCBiZSBh
ZGRlZCB0byBjYWNoZS4gRG9lcyB0aGlzIGZ1bmN0aW9uIG5lZWQgdG8gY2FsbCBpdCwgdG9vPwog
CisgICAgdXNlclNoZWV0LT5zZXRJbml0aWF0b3IoaW5pdGlhdG9yKTsKICAgICB1c2VyU2hlZXQt
PmxvYWQodGhpcywgUmVzb3VyY2VMb2FkZXJPcHRpb25zKERvTm90U2VuZENhbGxiYWNrcywgU25p
ZmZDb250ZW50LCBCdWZmZXJEYXRhLCBBbGxvd1N0b3JlZENyZWRlbnRpYWxzLCBBc2tDbGllbnRG
b3JDcm9zc09yaWdpbkNyZWRlbnRpYWxzLCBTa2lwU2VjdXJpdHlDaGVjaykpOwotICAgIAorCiAg
ICAgcmV0dXJuIHVzZXJTaGVldDsKIH0KIAotQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkU2Ny
aXB0PiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFNjcmlwdChSZXNvdXJjZVJlcXVlc3Qm
IHJlcXVlc3QsIGNvbnN0IFN0cmluZyYgY2hhcnNldCkKK0NhY2hlZFJlc291cmNlSGFuZGxlPENh
Y2hlZFNjcmlwdD4gQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RTY3JpcHQoUmVzb3VyY2VS
ZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBTdHJpbmcmIGNoYXJzZXQsIGNvbnN0IExvYWRJbml0aWF0
b3ImIGluaXRpYXRvcikKIHsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Q2FjaGVkU2NyaXB0Kj4o
cmVxdWVzdFJlc291cmNlKENhY2hlZFJlc291cmNlOjpTY3JpcHQsIHJlcXVlc3QsIGNoYXJzZXQs
IGRlZmF1bHRDYWNoZWRSZXNvdXJjZU9wdGlvbnMoKSkuZ2V0KCkpOworICAgIHJldHVybiBzdGF0
aWNfY2FzdDxDYWNoZWRTY3JpcHQqPihyZXF1ZXN0UmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2U6OlNj
cmlwdCwgcmVxdWVzdCwgY2hhcnNldCwgZGVmYXVsdENhY2hlZFJlc291cmNlT3B0aW9ucygpLCBp
bml0aWF0b3IpLmdldCgpKTsKIH0KIAogI2lmIEVOQUJMRShYU0xUKQotQ2FjaGVkUmVzb3VyY2VI
YW5kbGU8Q2FjaGVkWFNMU3R5bGVTaGVldD4gQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RY
U0xTdHlsZVNoZWV0KFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCkKK0NhY2hlZFJlc291cmNlSGFu
ZGxlPENhY2hlZFhTTFN0eWxlU2hlZXQ+IENhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0WFNM
U3R5bGVTaGVldChSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IExvYWRJbml0aWF0b3Im
IGluaXRpYXRvcikKIHsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Q2FjaGVkWFNMU3R5bGVTaGVl
dCo+KHJlcXVlc3RSZXNvdXJjZShDYWNoZWRSZXNvdXJjZTo6WFNMU3R5bGVTaGVldCwgcmVxdWVz
dCwgU3RyaW5nKCksIGRlZmF1bHRDYWNoZWRSZXNvdXJjZU9wdGlvbnMoKSkuZ2V0KCkpOworICAg
IHJldHVybiBzdGF0aWNfY2FzdDxDYWNoZWRYU0xTdHlsZVNoZWV0Kj4ocmVxdWVzdFJlc291cmNl
KENhY2hlZFJlc291cmNlOjpYU0xTdHlsZVNoZWV0LCByZXF1ZXN0LCBTdHJpbmcoKSwgZGVmYXVs
dENhY2hlZFJlc291cmNlT3B0aW9ucygpLCBpbml0aWF0b3IpLmdldCgpKTsKIH0KICNlbmRpZgog
CiAjaWYgRU5BQkxFKFNWRykKLUNhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFNWR0RvY3VtZW50
PiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFNWR0RvY3VtZW50KFJlc291cmNlUmVxdWVz
dCYgcmVxdWVzdCkKK0NhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFNWR0RvY3VtZW50PiBDYWNo
ZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFNWR0RvY3VtZW50KFJlc291cmNlUmVxdWVzdCYgcmVx
dWVzdCwgY29uc3QgTG9hZEluaXRpYXRvciYgaW5pdGlhdG9yKQogewotICAgIHJldHVybiBzdGF0
aWNfY2FzdDxDYWNoZWRTVkdEb2N1bWVudCo+KHJlcXVlc3RSZXNvdXJjZShDYWNoZWRSZXNvdXJj
ZTo6U1ZHRG9jdW1lbnRSZXNvdXJjZSwgcmVxdWVzdCwgcmVxdWVzdC51cmwoKSwgZGVmYXVsdENh
Y2hlZFJlc291cmNlT3B0aW9ucygpKS5nZXQoKSk7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PENh
Y2hlZFNWR0RvY3VtZW50Kj4ocmVxdWVzdFJlc291cmNlKENhY2hlZFJlc291cmNlOjpTVkdEb2N1
bWVudFJlc291cmNlLCByZXF1ZXN0LCByZXF1ZXN0LnVybCgpLCBkZWZhdWx0Q2FjaGVkUmVzb3Vy
Y2VPcHRpb25zKCksIGluaXRpYXRvcikuZ2V0KCkpOwogfQogI2VuZGlmCiAKICNpZiBFTkFCTEUo
TElOS19QUkVGRVRDSCkKLUNhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFJlc291cmNlPiBDYWNo
ZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdExpbmtSZXNvdXJjZShDYWNoZWRSZXNvdXJjZTo6VHlw
ZSB0eXBlLCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFJlc291cmNlTG9hZFByaW9yaXR5IHBy
aW9yaXR5KQorQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmVzb3VyY2U+IENhY2hlZFJlc291
cmNlTG9hZGVyOjpyZXF1ZXN0TGlua1Jlc291cmNlKENhY2hlZFJlc291cmNlOjpUeXBlIHR5cGUs
IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgTG9hZEluaXRpYXRvciYgaW5pdGlhdG9y
LCBSZXNvdXJjZUxvYWRQcmlvcml0eSBwcmlvcml0eSkKIHsKICAgICBBU1NFUlQoZnJhbWUoKSk7
CiAgICAgQVNTRVJUKHR5cGUgPT0gQ2FjaGVkUmVzb3VyY2U6OkxpbmtQcmVmZXRjaCB8fCB0eXBl
ID09IENhY2hlZFJlc291cmNlOjpMaW5rU3VicmVzb3VyY2UpOwotICAgIHJldHVybiByZXF1ZXN0
UmVzb3VyY2UodHlwZSwgcmVxdWVzdCwgU3RyaW5nKCksIGRlZmF1bHRDYWNoZWRSZXNvdXJjZU9w
dGlvbnMoKSwgcHJpb3JpdHkpOworICAgIHJldHVybiByZXF1ZXN0UmVzb3VyY2UodHlwZSwgcmVx
dWVzdCwgU3RyaW5nKCksIGRlZmF1bHRDYWNoZWRSZXNvdXJjZU9wdGlvbnMoKSwgaW5pdGlhdG9y
LCBwcmlvcml0eSk7CiB9CiAjZW5kaWYKIAotQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmF3
UmVzb3VyY2U+IENhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0UmF3UmVzb3VyY2UoUmVzb3Vy
Y2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBSZXNvdXJjZUxvYWRlck9wdGlvbnMmIG9wdGlvbnMp
CitDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRSYXdSZXNvdXJjZT4gQ2FjaGVkUmVzb3VyY2VM
b2FkZXI6OnJlcXVlc3RSYXdSZXNvdXJjZShSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0
IFJlc291cmNlTG9hZGVyT3B0aW9ucyYgb3B0aW9ucywgY29uc3QgTG9hZEluaXRpYXRvciYgaW5p
dGlhdG9yKQogewotICAgIHJldHVybiBzdGF0aWNfY2FzdDxDYWNoZWRSYXdSZXNvdXJjZSo+KHJl
cXVlc3RSZXNvdXJjZShDYWNoZWRSZXNvdXJjZTo6UmF3UmVzb3VyY2UsIHJlcXVlc3QsIFN0cmlu
ZygpLCBvcHRpb25zLCBSZXNvdXJjZUxvYWRQcmlvcml0eVVucmVzb2x2ZWQsIGZhbHNlKS5nZXQo
KSk7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PENhY2hlZFJhd1Jlc291cmNlKj4ocmVxdWVzdFJl
c291cmNlKENhY2hlZFJlc291cmNlOjpSYXdSZXNvdXJjZSwgcmVxdWVzdCwgU3RyaW5nKCksIG9w
dGlvbnMsIGluaXRpYXRvciwgUmVzb3VyY2VMb2FkUHJpb3JpdHlVbnJlc29sdmVkLCBmYWxzZSku
Z2V0KCkpOwogfQogCiBib29sIENhY2hlZFJlc291cmNlTG9hZGVyOjpjaGVja0luc2VjdXJlQ29u
dGVudChDYWNoZWRSZXNvdXJjZTo6VHlwZSB0eXBlLCBjb25zdCBLVVJMJiB1cmwpIGNvbnN0CkBA
IC0zOTQsNyArMzk1LDcgQEAgYm9vbCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6Y2FuUmVxdWVzdChD
YWNoZWRSZXNvdXJjZTo6VHlwZSB0eXBlLCBjb25zdCBLVVJMJiB1cmwKICAgICByZXR1cm4gdHJ1
ZTsKIH0KIAotQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmVzb3VyY2U+IENhY2hlZFJlc291
cmNlTG9hZGVyOjpyZXF1ZXN0UmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2U6OlR5cGUgdHlwZSwgUmVz
b3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBTdHJpbmcmIGNoYXJzZXQsIGNvbnN0IFJlc291
cmNlTG9hZGVyT3B0aW9ucyYgb3B0aW9ucywgUmVzb3VyY2VMb2FkUHJpb3JpdHkgcHJpb3JpdHks
IGJvb2wgZm9yUHJlbG9hZCwgRGVmZXJPcHRpb24gZGVmZXIpCitDYWNoZWRSZXNvdXJjZUhhbmRs
ZTxDYWNoZWRSZXNvdXJjZT4gQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RSZXNvdXJjZShD
YWNoZWRSZXNvdXJjZTo6VHlwZSB0eXBlLCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0
IFN0cmluZyYgY2hhcnNldCwgY29uc3QgUmVzb3VyY2VMb2FkZXJPcHRpb25zJiBvcHRpb25zLCBj
b25zdCBMb2FkSW5pdGlhdG9yJiBpbml0aWF0b3IsIFJlc291cmNlTG9hZFByaW9yaXR5IHByaW9y
aXR5LCBib29sIGZvclByZWxvYWQsIERlZmVyT3B0aW9uIGRlZmVyKQogewogICAgIEtVUkwgdXJs
ID0gcmVxdWVzdC51cmwoKTsKICAgICAKQEAgLTQyOSwxMCArNDMwLDEwIEBAIENhY2hlZFJlc291
cmNlSGFuZGxlPENhY2hlZFJlc291cmNlPiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFJl
c291cmNlKENhY2hlCiAgICAgICAgIG1lbW9yeUNhY2hlKCktPnJlbW92ZShyZXNvdXJjZS5nZXQo
KSk7CiAgICAgICAgIC8vIEZhbGwgdGhyb3VnaAogICAgIGNhc2UgTG9hZDoKLSAgICAgICAgcmVz
b3VyY2UgPSBsb2FkUmVzb3VyY2UodHlwZSwgcmVxdWVzdCwgY2hhcnNldCk7CisgICAgICAgIHJl
c291cmNlID0gbG9hZFJlc291cmNlKHR5cGUsIHJlcXVlc3QsIGNoYXJzZXQsIGluaXRpYXRvcik7
CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUmV2YWxpZGF0ZToKLSAgICAgICAgcmVzb3VyY2Ug
PSByZXZhbGlkYXRlUmVzb3VyY2UocmVzb3VyY2UuZ2V0KCkpOworICAgICAgICByZXNvdXJjZSA9
IHJldmFsaWRhdGVSZXNvdXJjZShyZXNvdXJjZS5nZXQoKSwgaW5pdGlhdG9yKTsKICAgICAgICAg
YnJlYWs7CiAgICAgY2FzZSBVc2U6CiAgICAgICAgIG1lbW9yeUNhY2hlKCktPnJlc291cmNlQWNj
ZXNzZWQocmVzb3VyY2UuZ2V0KCkpOwpAQCAtNDYzLDM0ICs0NjQsMzYgQEAgQ2FjaGVkUmVzb3Vy
Y2VIYW5kbGU8Q2FjaGVkUmVzb3VyY2U+IENhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0UmVz
b3VyY2UoQ2FjaGUKICAgICByZXR1cm4gcmVzb3VyY2U7CiB9CiAKLUNhY2hlZFJlc291cmNlSGFu
ZGxlPENhY2hlZFJlc291cmNlPiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmV2YWxpZGF0ZVJlc291
cmNlKENhY2hlZFJlc291cmNlKiByZXNvdXJjZSkKK0NhY2hlZFJlc291cmNlSGFuZGxlPENhY2hl
ZFJlc291cmNlPiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmV2YWxpZGF0ZVJlc291cmNlKENhY2hl
ZFJlc291cmNlKiByZXNvdXJjZSwgY29uc3QgTG9hZEluaXRpYXRvciYgaW5pdGlhdG9yKQogewog
ICAgIEFTU0VSVChyZXNvdXJjZSk7CiAgICAgQVNTRVJUKHJlc291cmNlLT5pbkNhY2hlKCkpOwog
ICAgIEFTU0VSVCghbWVtb3J5Q2FjaGUoKS0+ZGlzYWJsZWQoKSk7CiAgICAgQVNTRVJUKHJlc291
cmNlLT5jYW5Vc2VDYWNoZVZhbGlkYXRvcigpKTsKICAgICBBU1NFUlQoIXJlc291cmNlLT5yZXNv
dXJjZVRvUmV2YWxpZGF0ZSgpKTsKLSAgICAKKwogICAgIC8vIENvcHkgdGhlIFVSTCBvdXQgb2Yg
dGhlIHJlc291cmNlIHRvIGJlIHJldmFsaWRhdGVkIGluIGNhc2UgaXQgZ2V0cyBkZWxldGVkIGJ5
IHRoZSByZW1vdmUoKSBjYWxsIGJlbG93LgogICAgIFN0cmluZyB1cmwgPSByZXNvdXJjZS0+dXJs
KCk7CiAgICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmVzb3VyY2U+IG5ld1Jlc291cmNl
ID0gY3JlYXRlUmVzb3VyY2UocmVzb3VyY2UtPnR5cGUoKSwgcmVzb3VyY2UtPnJlc291cmNlUmVx
dWVzdCgpLCByZXNvdXJjZS0+ZW5jb2RpbmcoKSk7CiAgICAgCiAgICAgTE9HKFJlc291cmNlTG9h
ZGluZywgIlJlc291cmNlICVwIGNyZWF0ZWQgdG8gcmV2YWxpZGF0ZSAlcCIsIG5ld1Jlc291cmNl
LmdldCgpLCByZXNvdXJjZSk7CiAgICAgbmV3UmVzb3VyY2UtPnNldFJlc291cmNlVG9SZXZhbGlk
YXRlKHJlc291cmNlKTsKKyAgICBuZXdSZXNvdXJjZS0+c2V0SW5pdGlhdG9yKGluaXRpYXRvcik7
CiAgICAgCiAgICAgbWVtb3J5Q2FjaGUoKS0+cmVtb3ZlKHJlc291cmNlKTsKICAgICBtZW1vcnlD
YWNoZSgpLT5hZGQobmV3UmVzb3VyY2UuZ2V0KCkpOwogICAgIHJldHVybiBuZXdSZXNvdXJjZTsK
IH0KIAotQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmVzb3VyY2U+IENhY2hlZFJlc291cmNl
TG9hZGVyOjpsb2FkUmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2U6OlR5cGUgdHlwZSwgUmVzb3VyY2VS
ZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBTdHJpbmcmIGNoYXJzZXQpCitDYWNoZWRSZXNvdXJjZUhh
bmRsZTxDYWNoZWRSZXNvdXJjZT4gQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmxvYWRSZXNvdXJjZShD
YWNoZWRSZXNvdXJjZTo6VHlwZSB0eXBlLCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0
IFN0cmluZyYgY2hhcnNldCwgY29uc3QgTG9hZEluaXRpYXRvciYgaW5pdGlhdG9yKQogewogICAg
IEFTU0VSVCghbWVtb3J5Q2FjaGUoKS0+cmVzb3VyY2VGb3JVUkwocmVxdWVzdC51cmwoKSkpOwot
ICAgIAorCiAgICAgTE9HKFJlc291cmNlTG9hZGluZywgIkxvYWRpbmcgQ2FjaGVkUmVzb3VyY2Ug
Zm9yICclcycuIiwgcmVxdWVzdC51cmwoKS5zdHJpbmcoKS5sYXRpbjEoKS5kYXRhKCkpOwotICAg
IAorCiAgICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmVzb3VyY2U+IHJlc291cmNlID0g
Y3JlYXRlUmVzb3VyY2UodHlwZSwgcmVxdWVzdCwgY2hhcnNldCk7Ci0gICAgCisgICAgcmVzb3Vy
Y2UtPnNldEluaXRpYXRvcihpbml0aWF0b3IpOworCiAgICAgaWYgKCFtZW1vcnlDYWNoZSgpLT5h
ZGQocmVzb3VyY2UuZ2V0KCkpKQogICAgICAgICByZXNvdXJjZS0+c2V0T3duaW5nQ2FjaGVkUmVz
b3VyY2VMb2FkZXIodGhpcyk7CiAgICAgcmV0dXJuIHJlc291cmNlOwpAQCAtNTAwLDExICs1MDMs
MTEgQEAgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OlJldmFsaWRhdGlvblBvbGljeSBDYWNoZWRSZXNv
dXJjZUxvYWRlcjo6ZGV0ZXJtaW5lUmV2YWxpZGEKIHsKICAgICBpZiAoIWV4aXN0aW5nUmVzb3Vy
Y2UpCiAgICAgICAgIHJldHVybiBMb2FkOwotCisgICAgCiAgICAgLy8gV2UgYWxyZWFkeSBoYXZl
IGEgcHJlbG9hZCBnb2luZyBmb3IgdGhpcyBVUkwuCiAgICAgaWYgKGZvclByZWxvYWQgJiYgZXhp
c3RpbmdSZXNvdXJjZS0+aXNQcmVsb2FkZWQoKSkKICAgICAgICAgcmV0dXJuIFVzZTsKLQorICAg
IAogICAgIC8vIElmIHRoZSBzYW1lIFVSTCBoYXMgYmVlbiBsb2FkZWQgYXMgYSBkaWZmZXJlbnQg
dHlwZSwgd2UgbmVlZCB0byByZWxvYWQuCiAgICAgaWYgKGV4aXN0aW5nUmVzb3VyY2UtPnR5cGUo
KSAhPSB0eXBlKSB7CiAgICAgICAgIExPRyhSZXNvdXJjZUxvYWRpbmcsICJDYWNoZWRSZXNvdXJj
ZUxvYWRlcjo6ZGV0ZXJtaW5lUmV2YWxpZGF0aW9uUG9saWN5IHJlbG9hZGluZyBkdWUgdG8gdHlw
ZSBtaXNtYXRjaC4iKTsKQEAgLTc0MSw4ICs3NDQsOCBAQCB2b2lkIENhY2hlZFJlc291cmNlTG9h
ZGVyOjpkZWNyZW1lbnRSZXF1ZXN0Q291bnQoY29uc3QgQ2FjaGVkUmVzb3VyY2UqIHJlcykKICAg
ICAtLW1fcmVxdWVzdENvdW50OwogICAgIEFTU0VSVChtX3JlcXVlc3RDb3VudCA+IC0xKTsKIH0K
LSAgICAKLXZvaWQgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnByZWxvYWQoQ2FjaGVkUmVzb3VyY2U6
OlR5cGUgdHlwZSwgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBTdHJpbmcmIGNoYXJz
ZXQsIGJvb2wgcmVmZXJlbmNlZEZyb21Cb2R5KQorCit2b2lkIENhY2hlZFJlc291cmNlTG9hZGVy
OjpwcmVsb2FkKENhY2hlZFJlc291cmNlOjpUeXBlIHR5cGUsIFJlc291cmNlUmVxdWVzdCYgcmVx
dWVzdCwgY29uc3QgU3RyaW5nJiBjaGFyc2V0LCBib29sIHJlZmVyZW5jZWRGcm9tQm9keSwgY29u
c3QgTG9hZEluaXRpYXRvciYgaW5pdGlhdG9yKQogewogICAgIC8vIEZJWE1FOiBSaXAgdGhpcyBv
dXQgd2hlbiB3ZSBhcmUgc3VyZSBpdCBpcyBubyBsb25nZXIgbmVjZXNzYXJ5IChldmVuIGZvciBt
b2JpbGUpLgogICAgIFVOVVNFRF9QQVJBTShyZWZlcmVuY2VkRnJvbUJvZHkpOwpAQCAtNzU3LDE1
ICs3NjAsMTUgQEAgdm9pZCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cHJlbG9hZChDYWNoZWRSZXNv
dXJjZTo6VHlwZSB0eXBlLCBSZXNvdXJjZVJlcXVlc3QmIHIKICAgICAgICAgaWYgKCFoYXNSZW5k
ZXJpbmcgJiYgIWNhbkJsb2NrUGFyc2VyKSB7CiAgICAgICAgICAgICAvLyBEb24ndCBwcmVsb2Fk
IHN1YnJlc291cmNlcyB0aGF0IGNhbid0IGJsb2NrIHRoZSBwYXJzZXIgYmVmb3JlIHdlIGhhdmUg
c29tZXRoaW5nIHRvIGRyYXcuCiAgICAgICAgICAgICAvLyBUaGlzIGhlbHBzIHByZXZlbnQgcHJl
bG9hZHMgZnJvbSBkZWxheWluZyBmaXJzdCBkaXNwbGF5IHdoZW4gYmFuZHdpZHRoIGlzIGxpbWl0
ZWQuCi0gICAgICAgICAgICBQZW5kaW5nUHJlbG9hZCBwZW5kaW5nUHJlbG9hZCA9IHsgdHlwZSwg
cmVxdWVzdCwgY2hhcnNldCB9OworICAgICAgICAgICAgUGVuZGluZ1ByZWxvYWQgcGVuZGluZ1By
ZWxvYWQgPSB7IHR5cGUsIHJlcXVlc3QsIGNoYXJzZXQsIGluaXRpYXRvciB9OwogICAgICAgICAg
ICAgbV9wZW5kaW5nUHJlbG9hZHMuYXBwZW5kKHBlbmRpbmdQcmVsb2FkKTsKICAgICAgICAgICAg
IHJldHVybjsKICAgICAgICAgfQogICAgIH0KLSAgICByZXF1ZXN0UHJlbG9hZCh0eXBlLCByZXF1
ZXN0LCBjaGFyc2V0KTsKKyAgICByZXF1ZXN0UHJlbG9hZCh0eXBlLCByZXF1ZXN0LCBjaGFyc2V0
LCBpbml0aWF0b3IpOwogfQogCi12b2lkIENhY2hlZFJlc291cmNlTG9hZGVyOjpjaGVja0ZvclBl
bmRpbmdQcmVsb2FkcygpIAordm9pZCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6Y2hlY2tGb3JQZW5k
aW5nUHJlbG9hZHMoKQogewogICAgIGlmIChtX3BlbmRpbmdQcmVsb2Fkcy5pc0VtcHR5KCkgfHwg
IW1fZG9jdW1lbnQtPmJvZHkoKSB8fCAhbV9kb2N1bWVudC0+Ym9keSgpLT5yZW5kZXJlcigpKQog
ICAgICAgICByZXR1cm47CkBAIC03NzMsMTggKzc3NiwxOCBAQCB2b2lkIENhY2hlZFJlc291cmNl
TG9hZGVyOjpjaGVja0ZvclBlbmRpbmdQcmVsb2FkcygpCiAgICAgICAgIFBlbmRpbmdQcmVsb2Fk
IHByZWxvYWQgPSBtX3BlbmRpbmdQcmVsb2Fkcy50YWtlRmlyc3QoKTsKICAgICAgICAgLy8gRG9u
J3QgcmVxdWVzdCBwcmVsb2FkIGlmIHRoZSByZXNvdXJjZSBhbHJlYWR5IGxvYWRlZCBub3JtYWxs
eSAodGhpcyB3aWxsIHJlc3VsdCBpbiBkb3VibGUgbG9hZCBpZiB0aGUgcGFnZSBpcyBiZWluZyBy
ZWxvYWRlZCB3aXRoIGNhY2hlZCByZXN1bHRzIGlnbm9yZWQpLgogICAgICAgICBpZiAoIWNhY2hl
ZFJlc291cmNlKHByZWxvYWQubV9yZXF1ZXN0LnVybCgpKSkKLSAgICAgICAgICAgIHJlcXVlc3RQ
cmVsb2FkKHByZWxvYWQubV90eXBlLCBwcmVsb2FkLm1fcmVxdWVzdCwgcHJlbG9hZC5tX2NoYXJz
ZXQpOworICAgICAgICAgICAgcmVxdWVzdFByZWxvYWQocHJlbG9hZC5tX3R5cGUsIHByZWxvYWQu
bV9yZXF1ZXN0LCBwcmVsb2FkLm1fY2hhcnNldCwgcHJlbG9hZC5tX2luaXRpYXRvcik7CiAgICAg
fQogICAgIG1fcGVuZGluZ1ByZWxvYWRzLmNsZWFyKCk7CiB9CiAKLXZvaWQgQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXI6OnJlcXVlc3RQcmVsb2FkKENhY2hlZFJlc291cmNlOjpUeXBlIHR5cGUsIFJlc291
cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgU3RyaW5nJiBjaGFyc2V0KQordm9pZCBDYWNoZWRS
ZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFByZWxvYWQoQ2FjaGVkUmVzb3VyY2U6OlR5cGUgdHlwZSwg
UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBTdHJpbmcmIGNoYXJzZXQsIGNvbnN0IExv
YWRJbml0aWF0b3ImIGluaXRpYXRvcikKIHsKICAgICBTdHJpbmcgZW5jb2Rpbmc7CiAgICAgaWYg
KHR5cGUgPT0gQ2FjaGVkUmVzb3VyY2U6OlNjcmlwdCB8fCB0eXBlID09IENhY2hlZFJlc291cmNl
OjpDU1NTdHlsZVNoZWV0KQogICAgICAgICBlbmNvZGluZyA9IGNoYXJzZXQuaXNFbXB0eSgpID8g
bV9kb2N1bWVudC0+Y2hhcnNldCgpIDogY2hhcnNldDsKIAotICAgIENhY2hlZFJlc291cmNlSGFu
ZGxlPENhY2hlZFJlc291cmNlPiByZXNvdXJjZSA9IHJlcXVlc3RSZXNvdXJjZSh0eXBlLCByZXF1
ZXN0LCBlbmNvZGluZywgZGVmYXVsdENhY2hlZFJlc291cmNlT3B0aW9ucygpLCBSZXNvdXJjZUxv
YWRQcmlvcml0eVVucmVzb2x2ZWQsIHRydWUpOworICAgIENhY2hlZFJlc291cmNlSGFuZGxlPENh
Y2hlZFJlc291cmNlPiByZXNvdXJjZSA9IHJlcXVlc3RSZXNvdXJjZSh0eXBlLCByZXF1ZXN0LCBl
bmNvZGluZywgZGVmYXVsdENhY2hlZFJlc291cmNlT3B0aW9ucygpLCBpbml0aWF0b3IsIFJlc291
cmNlTG9hZFByaW9yaXR5VW5yZXNvbHZlZCwgdHJ1ZSk7CiAgICAgaWYgKCFyZXNvdXJjZSB8fCAo
bV9wcmVsb2FkcyAmJiBtX3ByZWxvYWRzLT5jb250YWlucyhyZXNvdXJjZS5nZXQoKSkpKQogICAg
ICAgICByZXR1cm47CiAgICAgcmVzb3VyY2UtPmluY3JlYXNlUHJlbG9hZENvdW50KCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5oCmlu
ZGV4IGI1ZGM2OTQ4MmUxZGYxMTk3MTRhYjc4MzY3MWJkNTA2MmZiYWNjMDcuLmRhNDliM2NhNzBm
MmI0YmFiNzdhYWVmZTZkZWQ3ZTJiZmE1MTkwYjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5oCkBAIC0yOSw2ICsyOSw4IEBACiAj
aW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2UuaCIKICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUhhbmRs
ZS5oIgogI2luY2x1ZGUgIkNhY2hlUG9saWN5LmgiCisjaW5jbHVkZSAiTG9hZEluaXRpYXRvci5o
IgorI2luY2x1ZGUgIkxvYWRJbml0aWF0b3JIYW5kbGUuaCIKICNpbmNsdWRlICJSZXNvdXJjZUxv
YWRQcmlvcml0eS5oIgogI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSA8d3RmL0RlcXVlLmg+
CkBAIC02MywyNyArNjUsMjcgQEAgcHVibGljOgogICAgIENhY2hlZFJlc291cmNlTG9hZGVyKERv
Y3VtZW50Kik7CiAgICAgfkNhY2hlZFJlc291cmNlTG9hZGVyKCk7CiAKLSAgICBDYWNoZWRSZXNv
dXJjZUhhbmRsZTxDYWNoZWRJbWFnZT4gcmVxdWVzdEltYWdlKFJlc291cmNlUmVxdWVzdCYpOwot
ICAgIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZENTU1N0eWxlU2hlZXQ+IHJlcXVlc3RDU1NT
dHlsZVNoZWV0KFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFN0cmluZyYgY2hhcnNldCwgUmVzb3Vy
Y2VMb2FkUHJpb3JpdHkgPSBSZXNvdXJjZUxvYWRQcmlvcml0eVVucmVzb2x2ZWQpOwotICAgIENh
Y2hlZFJlc291cmNlSGFuZGxlPENhY2hlZENTU1N0eWxlU2hlZXQ+IHJlcXVlc3RVc2VyQ1NTU3R5
bGVTaGVldChSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBTdHJpbmcmIGNoYXJzZXQpOwotICAgIENh
Y2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFNjcmlwdD4gcmVxdWVzdFNjcmlwdChSZXNvdXJjZVJl
cXVlc3QmLCBjb25zdCBTdHJpbmcmIGNoYXJzZXQpOwotICAgIENhY2hlZFJlc291cmNlSGFuZGxl
PENhY2hlZEZvbnQ+IHJlcXVlc3RGb250KFJlc291cmNlUmVxdWVzdCYpOwotICAgIENhY2hlZFJl
c291cmNlSGFuZGxlPENhY2hlZFJhd1Jlc291cmNlPiByZXF1ZXN0UmF3UmVzb3VyY2UoUmVzb3Vy
Y2VSZXF1ZXN0JiwgY29uc3QgUmVzb3VyY2VMb2FkZXJPcHRpb25zJik7CisgICAgQ2FjaGVkUmVz
b3VyY2VIYW5kbGU8Q2FjaGVkSW1hZ2U+IHJlcXVlc3RJbWFnZShSZXNvdXJjZVJlcXVlc3QmLCBj
b25zdCBMb2FkSW5pdGlhdG9yJik7CisgICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkQ1NT
U3R5bGVTaGVldD4gcmVxdWVzdENTU1N0eWxlU2hlZXQoUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3Qg
U3RyaW5nJiBjaGFyc2V0LCBjb25zdCBMb2FkSW5pdGlhdG9yJiwgUmVzb3VyY2VMb2FkUHJpb3Jp
dHkgPSBSZXNvdXJjZUxvYWRQcmlvcml0eVVucmVzb2x2ZWQpOworICAgIENhY2hlZFJlc291cmNl
SGFuZGxlPENhY2hlZENTU1N0eWxlU2hlZXQ+IHJlcXVlc3RVc2VyQ1NTU3R5bGVTaGVldChSZXNv
dXJjZVJlcXVlc3QmLCBjb25zdCBTdHJpbmcmIGNoYXJzZXQsIGNvbnN0IExvYWRJbml0aWF0b3Im
KTsKKyAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRTY3JpcHQ+IHJlcXVlc3RTY3JpcHQo
UmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgU3RyaW5nJiBjaGFyc2V0LCBjb25zdCBMb2FkSW5pdGlh
dG9yJik7CisgICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkRm9udD4gcmVxdWVzdEZvbnQo
UmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgTG9hZEluaXRpYXRvciYpOworICAgIENhY2hlZFJlc291
cmNlSGFuZGxlPENhY2hlZFJhd1Jlc291cmNlPiByZXF1ZXN0UmF3UmVzb3VyY2UoUmVzb3VyY2VS
ZXF1ZXN0JiwgY29uc3QgUmVzb3VyY2VMb2FkZXJPcHRpb25zJiwgY29uc3QgTG9hZEluaXRpYXRv
ciYpOwogCiAjaWYgRU5BQkxFKFNWRykKLSAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRT
VkdEb2N1bWVudD4gcmVxdWVzdFNWR0RvY3VtZW50KFJlc291cmNlUmVxdWVzdCYpOworICAgIENh
Y2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFNWR0RvY3VtZW50PiByZXF1ZXN0U1ZHRG9jdW1lbnQo
UmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgTG9hZEluaXRpYXRvciYpOwogI2VuZGlmCiAjaWYgRU5B
QkxFKFhTTFQpCi0gICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkWFNMU3R5bGVTaGVldD4g
cmVxdWVzdFhTTFN0eWxlU2hlZXQoUmVzb3VyY2VSZXF1ZXN0Jik7CisgICAgQ2FjaGVkUmVzb3Vy
Y2VIYW5kbGU8Q2FjaGVkWFNMU3R5bGVTaGVldD4gcmVxdWVzdFhTTFN0eWxlU2hlZXQoUmVzb3Vy
Y2VSZXF1ZXN0JiwgY29uc3QgTG9hZEluaXRpYXRvciYpOwogI2VuZGlmCiAjaWYgRU5BQkxFKExJ
TktfUFJFRkVUQ0gpCi0gICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmVzb3VyY2U+IHJl
cXVlc3RMaW5rUmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2U6OlR5cGUsIFJlc291cmNlUmVxdWVzdCYs
IFJlc291cmNlTG9hZFByaW9yaXR5ID0gUmVzb3VyY2VMb2FkUHJpb3JpdHlVbnJlc29sdmVkKTsK
KyAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRSZXNvdXJjZT4gcmVxdWVzdExpbmtSZXNv
dXJjZShDYWNoZWRSZXNvdXJjZTo6VHlwZSwgUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgTG9hZElu
aXRpYXRvciYsIFJlc291cmNlTG9hZFByaW9yaXR5ID0gUmVzb3VyY2VMb2FkUHJpb3JpdHlVbnJl
c29sdmVkKTsKICNlbmRpZgogI2lmIEVOQUJMRShWSURFT19UUkFDSykKLSAgICBDYWNoZWRSZXNv
dXJjZUhhbmRsZTxDYWNoZWRUZXh0VHJhY2s+IHJlcXVlc3RUZXh0VHJhY2soUmVzb3VyY2VSZXF1
ZXN0Jik7CisgICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkVGV4dFRyYWNrPiByZXF1ZXN0
VGV4dFRyYWNrKFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IExvYWRJbml0aWF0b3ImKTsKICNlbmRp
ZgogI2lmIEVOQUJMRShDU1NfU0hBREVSUykKLSAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNo
ZWRTaGFkZXI+IHJlcXVlc3RTaGFkZXIoUmVzb3VyY2VSZXF1ZXN0Jik7CisgICAgQ2FjaGVkUmVz
b3VyY2VIYW5kbGU8Q2FjaGVkU2hhZGVyPiByZXF1ZXN0U2hhZGVyKFJlc291cmNlUmVxdWVzdCYs
IGNvbnN0IExvYWRJbml0aWF0b3ImKTsKICNlbmRpZgogCiAgICAgLy8gTG9ncyBhbiBhY2Nlc3Mg
ZGVuaWVkIG1lc3NhZ2UgdG8gdGhlIGNvbnNvbGUgZm9yIHRoZSBzcGVjaWZpZWQgVVJMLgpAQCAt
MTE4LDcgKzEyMCw3IEBAIHB1YmxpYzoKICAgICBib29sIGlzUHJlbG9hZGVkKGNvbnN0IFN0cmlu
ZyYgdXJsU3RyaW5nKSBjb25zdDsKICAgICB2b2lkIGNsZWFyUHJlbG9hZHMoKTsKICAgICB2b2lk
IGNsZWFyUGVuZGluZ1ByZWxvYWRzKCk7Ci0gICAgdm9pZCBwcmVsb2FkKENhY2hlZFJlc291cmNl
OjpUeXBlLCBSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBTdHJpbmcmIGNoYXJzZXQsIGJvb2wgcmVm
ZXJlbmNlZEZyb21Cb2R5KTsKKyAgICB2b2lkIHByZWxvYWQoQ2FjaGVkUmVzb3VyY2U6OlR5cGUs
IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFN0cmluZyYgY2hhcnNldCwgYm9vbCByZWZlcmVuY2Vk
RnJvbUJvZHksIGNvbnN0IExvYWRJbml0aWF0b3ImKTsKICAgICB2b2lkIGNoZWNrRm9yUGVuZGlu
Z1ByZWxvYWRzKCk7CiAgICAgdm9pZCBwcmludFByZWxvYWRTdGF0cygpOwogICAgIGJvb2wgY2Fu
UmVxdWVzdChDYWNoZWRSZXNvdXJjZTo6VHlwZSwgY29uc3QgS1VSTCYsIGJvb2wgZm9yUHJlbG9h
ZCA9IGZhbHNlKTsKQEAgLTEyNywxMCArMTI5LDEwIEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAg
ICBlbnVtIERlZmVyT3B0aW9uIHsgTm9EZWZlciwgRGVmZXJyZWRCeUNsaWVudCB9OwotICAgIENh
Y2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFJlc291cmNlPiByZXF1ZXN0UmVzb3VyY2UoQ2FjaGVk
UmVzb3VyY2U6OlR5cGUsIFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFN0cmluZyYgY2hhcnNldCwg
Y29uc3QgUmVzb3VyY2VMb2FkZXJPcHRpb25zJiwgUmVzb3VyY2VMb2FkUHJpb3JpdHkgPSBSZXNv
dXJjZUxvYWRQcmlvcml0eVVucmVzb2x2ZWQsIGJvb2wgaXNQcmVsb2FkID0gZmFsc2UsIERlZmVy
T3B0aW9uID0gTm9EZWZlcik7Ci0gICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmVzb3Vy
Y2U+IHJldmFsaWRhdGVSZXNvdXJjZShDYWNoZWRSZXNvdXJjZSopOwotICAgIENhY2hlZFJlc291
cmNlSGFuZGxlPENhY2hlZFJlc291cmNlPiBsb2FkUmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2U6OlR5
cGUsIFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFN0cmluZyYgY2hhcnNldCk7Ci0gICAgdm9pZCBy
ZXF1ZXN0UHJlbG9hZChDYWNoZWRSZXNvdXJjZTo6VHlwZSwgUmVzb3VyY2VSZXF1ZXN0JiwgY29u
c3QgU3RyaW5nJiBjaGFyc2V0KTsKKyAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRSZXNv
dXJjZT4gcmVxdWVzdFJlc291cmNlKENhY2hlZFJlc291cmNlOjpUeXBlLCBSZXNvdXJjZVJlcXVl
c3QmLCBjb25zdCBTdHJpbmcmIGNoYXJzZXQsIGNvbnN0IFJlc291cmNlTG9hZGVyT3B0aW9ucyYs
IGNvbnN0IExvYWRJbml0aWF0b3ImLCBSZXNvdXJjZUxvYWRQcmlvcml0eSA9IFJlc291cmNlTG9h
ZFByaW9yaXR5VW5yZXNvbHZlZCwgYm9vbCBpc1ByZWxvYWQgPSBmYWxzZSwgRGVmZXJPcHRpb24g
PSBOb0RlZmVyKTsKKyAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRSZXNvdXJjZT4gcmV2
YWxpZGF0ZVJlc291cmNlKENhY2hlZFJlc291cmNlKiwgY29uc3QgTG9hZEluaXRpYXRvciYpOwor
ICAgIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFJlc291cmNlPiBsb2FkUmVzb3VyY2UoQ2Fj
aGVkUmVzb3VyY2U6OlR5cGUsIFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFN0cmluZyYgY2hhcnNl
dCwgY29uc3QgTG9hZEluaXRpYXRvciYpOworICAgIHZvaWQgcmVxdWVzdFByZWxvYWQoQ2FjaGVk
UmVzb3VyY2U6OlR5cGUsIFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFN0cmluZyYgY2hhcnNldCwg
Y29uc3QgTG9hZEluaXRpYXRvciYpOwogCiAgICAgZW51bSBSZXZhbGlkYXRpb25Qb2xpY3kgeyBV
c2UsIFJldmFsaWRhdGUsIFJlbG9hZCwgTG9hZCB9OwogICAgIFJldmFsaWRhdGlvblBvbGljeSBk
ZXRlcm1pbmVSZXZhbGlkYXRpb25Qb2xpY3koQ2FjaGVkUmVzb3VyY2U6OlR5cGUsIFJlc291cmNl
UmVxdWVzdCYsIGJvb2wgZm9yUHJlbG9hZCwgQ2FjaGVkUmVzb3VyY2UqIGV4aXN0aW5nUmVzb3Vy
Y2UsIERlZmVyT3B0aW9uKSBjb25zdDsKQEAgLTE1NSw2ICsxNTcsNyBAQCBwcml2YXRlOgogICAg
ICAgICBDYWNoZWRSZXNvdXJjZTo6VHlwZSBtX3R5cGU7CiAgICAgICAgIFJlc291cmNlUmVxdWVz
dCBtX3JlcXVlc3Q7CiAgICAgICAgIFN0cmluZyBtX2NoYXJzZXQ7CisgICAgICAgIExvYWRJbml0
aWF0b3JIYW5kbGUgbV9pbml0aWF0b3I7CiAgICAgfTsKICAgICBEZXF1ZTxQZW5kaW5nUHJlbG9h
ZD4gbV9wZW5kaW5nUHJlbG9hZHM7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9pY29uL0ljb25Mb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkxv
YWRlci5jcHAKaW5kZXggOWQ3MzNkYTRkOGI5MDEwNjE5NmNhYzRiZWQzNDc5MTY4MGE1MGVjYS4u
NWQ1MzkwODVjODkzOTZjMWFmZmQ0MGUzMTNjNjUyY2M0MTBlZjM5NyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2ljb24vSWNvbkxvYWRlci5jcHAKQEAgLTY2LDcgKzY2LDggQEAgdm9pZCBJY29u
TG9hZGVyOjpzdGFydExvYWRpbmcoKQogICAgIHJlc291cmNlUmVxdWVzdC5zZXRQcmlvcml0eShS
ZXNvdXJjZUxvYWRQcmlvcml0eUxvdyk7CiAKICAgICBtX3Jlc291cmNlID0gbV9mcmFtZS0+ZG9j
dW1lbnQoKS0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKS0+cmVxdWVzdFJhd1Jlc291cmNlKHJlc291
cmNlUmVxdWVzdCwKLSAgICAgICAgUmVzb3VyY2VMb2FkZXJPcHRpb25zKFNlbmRDYWxsYmFja3Ms
IFNuaWZmQ29udGVudCwgQnVmZmVyRGF0YSwgRG9Ob3RBbGxvd1N0b3JlZENyZWRlbnRpYWxzLCBE
b05vdEFza0NsaWVudEZvckNyb3NzT3JpZ2luQ3JlZGVudGlhbHMsIERvU2VjdXJpdHlDaGVjaykp
OworICAgICAgICBSZXNvdXJjZUxvYWRlck9wdGlvbnMoU2VuZENhbGxiYWNrcywgU25pZmZDb250
ZW50LCBCdWZmZXJEYXRhLCBEb05vdEFsbG93U3RvcmVkQ3JlZGVudGlhbHMsIERvTm90QXNrQ2xp
ZW50Rm9yQ3Jvc3NPcmlnaW5DcmVkZW50aWFscywgRG9TZWN1cml0eUNoZWNrKSwKKyAgICAgICAg
KnRoaXMpOwogICAgIGlmIChtX3Jlc291cmNlKQogICAgICAgICBtX3Jlc291cmNlLT5hZGRDbGll
bnQodGhpcyk7CiAgICAgZWxzZQpAQCAtMTAyLDQgKzEwMywxNSBAQCB2b2lkIEljb25Mb2FkZXI6
Om5vdGlmeUZpbmlzaGVkKENhY2hlZFJlc291cmNlKiByZXNvdXJjZSkKICAgICBzdG9wTG9hZGlu
ZygpOwogfQogCitjb25zdCBXVEY6OkF0b21pY1N0cmluZyYgSWNvbkxvYWRlcjo6aW5pdGlhdG9y
TmFtZSgpIGNvbnN0Cit7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIG5h
bWUsICgiaWNvbiIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpKTsKKyAgICBy
ZXR1cm4gbmFtZTsKK30KKworRG9jdW1lbnQqIEljb25Mb2FkZXI6OmluaXRpYXRvckRvY3VtZW50
KCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9mcmFtZS0+ZG9jdW1lbnQoKTsKK30KKwogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkxvYWRlci5oIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkxvYWRlci5oCmluZGV4IDY1ZThiZDUyZjI3MDQyMTM1
YzVhYzc4MzFhNTc0ZGUyZGRlYTlkYzQuLjIwOTVjZDQyNzEyMjVmOWU1MDA4NjlmZGU4MGY5ZTVl
MmY0ZDYwZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25Mb2Fk
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uTG9hZGVyLmgKQEAgLTI4
LDYgKzI4LDcgQEAKIAogI2luY2x1ZGUgIkNhY2hlZFJhd1Jlc291cmNlLmgiCiAjaW5jbHVkZSAi
Q2FjaGVkUmVzb3VyY2VIYW5kbGUuaCIKKyNpbmNsdWRlICJMb2FkSW5pdGlhdG9yLmgiCiAjaW5j
bHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvUmVmUHRyLmg+CkBAIC0zNyw3ICszOCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IGNsYXNzIENhY2hlZFJhd1Jlc291cmNlOwogY2xhc3MgRnJhbWU7CiAKLWNsYXNzIEljb25Mb2Fk
ZXIgOiBwcml2YXRlIENhY2hlZFJhd1Jlc291cmNlQ2xpZW50IHsKK2NsYXNzIEljb25Mb2FkZXIg
OiBwcml2YXRlIENhY2hlZFJhd1Jlc291cmNlQ2xpZW50LCBwcml2YXRlIExvYWRJbml0aWF0b3Ig
ewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEljb25Mb2FkZXIpOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxJY29uTG9hZGVyPiBjcmVh
dGUoRnJhbWUqKTsKQEAgLTUwLDYgKzUxLDkgQEAgcHJpdmF0ZToKICAgICBleHBsaWNpdCBJY29u
TG9hZGVyKEZyYW1lKik7CiAgICAgdmlydHVhbCB2b2lkIG5vdGlmeUZpbmlzaGVkKENhY2hlZFJl
c291cmNlKik7CiAKKyAgICB2aXJ0dWFsIGNvbnN0IFdURjo6QXRvbWljU3RyaW5nJiBpbml0aWF0
b3JOYW1lKCkgY29uc3Q7CisgICAgdmlydHVhbCBEb2N1bWVudCogaW5pdGlhdG9yRG9jdW1lbnQo
KSBjb25zdDsKKwogICAgIEZyYW1lKiBtX2ZyYW1lOwogICAgIENhY2hlZFJlc291cmNlSGFuZGxl
PENhY2hlZFJhd1Jlc291cmNlPiBtX3Jlc291cmNlOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3Jt
YW5jZS5jcHAKaW5kZXggOTAzMzkzMDIxOWU2MDQxMTUxNGNjZGU1NmY2NmJlNmI4NTg4ZDUxOS4u
NGM0ZmJlNzczM2VkMWY0ZTA1ZmVhNzFjNmI3ODE2MmIwMDM3NGYwYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9QZXJmb3JtYW5jZS5jcHAKQEAgLTMzLDYgKzMzLDggQEAKIAogI2luY2x1ZGUgIkRvY3VtZW50
LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRMb2FkZXIuaCIKKyNpbmNsdWRlICJFbGVtZW50LmgiCisj
aW5jbHVkZSAiTG9hZEluaXRpYXRvci5oIgogI2luY2x1ZGUgIk1lbW9yeUluZm8uaCIKICNpbmNs
dWRlICJQZXJmb3JtYW5jZUVudHJ5LmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VOYXZpZ2F0aW9u
LmgiCkBAIC0xNDMsMTIgKzE0NSw5IEBAIHZvaWQgUGVyZm9ybWFuY2U6OndlYmtpdFNldFJlc291
cmNlVGltaW5nQnVmZmVyU2l6ZSh1bnNpZ25lZCBpbnQpCiAgICAgLy8gRklYTUU6IEltcGxlbWVu
dCB0aGlzLgogfQogCi12b2lkIFBlcmZvcm1hbmNlOjphZGRSZXNvdXJjZVRpbWluZyhjb25zdCBS
ZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNl
LCBkb3VibGUgZmluaXNoVGltZSwgRG9jdW1lbnQqIHJlcXVlc3RpbmdEb2N1bWVudCkKK3ZvaWQg
UGVyZm9ybWFuY2U6OmFkZFJlc291cmNlVGltaW5nKGNvbnN0IExvYWRJbml0aWF0b3ImIGluaXRp
YXRvciwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBSZXNvdXJjZVJlc3Bv
bnNlJiByZXNwb25zZSwgZG91YmxlIGZpbmlzaFRpbWUpCiB7Ci0gICAgaWYgKCFyZXNwb25zZS5y
ZXNvdXJjZUxvYWRUaW1pbmcoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgUmVmUHRyPFBlcmZv
cm1hbmNlRW50cnk+IGVudHJ5ID0gUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6Y3JlYXRlKHJl
cXVlc3QsIHJlc3BvbnNlLCBmaW5pc2hUaW1lLCByZXF1ZXN0aW5nRG9jdW1lbnQpOworICAgIFJl
ZlB0cjxQZXJmb3JtYW5jZUVudHJ5PiBlbnRyeSA9IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6
OmNyZWF0ZShpbml0aWF0b3IuaW5pdGlhdG9yTmFtZSgpLCByZXF1ZXN0LCByZXNwb25zZSwgZmlu
aXNoVGltZSwgaW5pdGlhdG9yLmluaXRpYXRvckRvY3VtZW50KCkpOwogICAgIC8vIEZJWE1FOiBO
ZWVkIHRvIGVuZm9yY2UgYnVmZmVyIGxpbWl0cy4KICAgICBtX3Jlc291cmNlVGltaW5nQnVmZmVy
LmFwcGVuZChlbnRyeSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZv
cm1hbmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmgKaW5kZXggOGJhOGM1
ZWVhOTVlZTVkNDNkOGNiZGU0NjcwZWQ5MmIyMTk2MWU2OC4uMmFjMmUyY2Q1MDI5M2U1MzIzOTVk
MmNjZWIwNTliMjJhYzBmMDlkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJm
b3JtYW5jZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuaApAQCAtNDcs
NiArNDcsOCBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBEb2N1bWVudDsKK2NsYXNz
IEVsZW1lbnQ7CitjbGFzcyBMb2FkSW5pdGlhdG9yOwogY2xhc3MgUmVzb3VyY2VSZXF1ZXN0Owog
Y2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIApAQCAtNzUsNyArNzcsNyBAQCBwdWJsaWM6CiAKICAg
ICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHdlYmtpdHJlc291cmNldGltaW5nYnVm
ZmVyZnVsbCk7CiAKLSAgICB2b2lkIGFkZFJlc291cmNlVGltaW5nKGNvbnN0IFJlc291cmNlUmVx
dWVzdCYsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmLCBkb3VibGUgZmluaXNoVGltZSwgRG9jdW1l
bnQqKTsKKyAgICB2b2lkIGFkZFJlc291cmNlVGltaW5nKGNvbnN0IExvYWRJbml0aWF0b3ImLCBj
b25zdCBSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiwgZG91YmxlIGZp
bmlzaFRpbWUpOwogI2VuZGlmCiAKICAgICB1c2luZyBSZWZDb3VudGVkPFBlcmZvcm1hbmNlPjo6
cmVmOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVJlc291cmNl
VGltaW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWlu
Zy5jcHAKaW5kZXggMDk3NmFkZDc4MDMyODgzYzNmNGE1YTE3YmZmYmVhYzZkZWY0ZGQxYy4uZjgw
NmIyMzNiZTg4ZWM1YzAzODc1ZGQ1Zjg0MjgyZmQwMGJjMDY2ZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuY3BwCkBAIC00NCw4ICs0NCw5
IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6
UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyhjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3Qs
IGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBkb3VibGUgZmluaXNoVGltZSwgRG9j
dW1lbnQqIHJlcXVlc3RpbmdEb2N1bWVudCkKLSAgICA6IFBlcmZvcm1hbmNlRW50cnkocmVxdWVz
dC51cmwoKS5zdHJpbmcoKSwgInJlc291cmNlIiwgcmVzcG9uc2UucmVzb3VyY2VMb2FkVGltaW5n
KCktPnJlcXVlc3RUaW1lLCBmaW5pc2hUaW1lKQorUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6
UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyhjb25zdCBBdG9taWNTdHJpbmcmIGluaXRpYXRvclR5
cGUsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgUmVzb3VyY2VSZXNwb25z
ZSYgcmVzcG9uc2UsIGRvdWJsZSBmaW5pc2hUaW1lLCBEb2N1bWVudCogcmVxdWVzdGluZ0RvY3Vt
ZW50KQorICAgIDogUGVyZm9ybWFuY2VFbnRyeShyZXF1ZXN0LnVybCgpLnN0cmluZygpLCAicmVz
b3VyY2UiLCByZXNwb25zZS5yZXNvdXJjZUxvYWRUaW1pbmcoKSA/IHJlc3BvbnNlLnJlc291cmNl
TG9hZFRpbWluZygpLT5yZXF1ZXN0VGltZSA6IDAsIGZpbmlzaFRpbWUpCisgICAgLCBtX2luaXRp
YXRvclR5cGUoaW5pdGlhdG9yVHlwZSkKICAgICAsIG1fdGltaW5nKHJlc3BvbnNlLnJlc291cmNl
TG9hZFRpbWluZygpKQogICAgICwgbV9maW5pc2hUaW1lKGZpbmlzaFRpbWUpCiAgICAgLCBtX3Jl
cXVlc3RpbmdEb2N1bWVudChyZXF1ZXN0aW5nRG9jdW1lbnQpCkBAIC01NiwxMCArNTcsOSBAQCBQ
ZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjp+UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZygpCiB7
CiB9CiAKLVN0cmluZyBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjppbml0aWF0b3JUeXBlKCkg
Y29uc3QKK0F0b21pY1N0cmluZyBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjppbml0aWF0b3JU
eXBlKCkgY29uc3QKIHsKLSAgICAvLyBGSVhNRTogVGhpcyBzaG91bGQgYmUgZGVjaWRlZCBieSB0
aGUgcmVzb3VyY2UgdHlwZS4KLSAgICByZXR1cm4gIm90aGVyIjsKKyAgICByZXR1cm4gbV9pbml0
aWF0b3JUeXBlOwogfQogCiAvLyBGSVhNRTogTmVlZCB0byBlbmZvcmNlIHNhbWUtb3JpZ2luIHBv
bGljeSBvbiB0aGVzZS4KQEAgLTc3LDExICs3NywxNSBAQCBkb3VibGUgUGVyZm9ybWFuY2VSZXNv
dXJjZVRpbWluZzo6cmVkaXJlY3RFbmQoKSBjb25zdAogCiBkb3VibGUgUGVyZm9ybWFuY2VSZXNv
dXJjZVRpbWluZzo6ZmV0Y2hTdGFydCgpIGNvbnN0CiB7CisgICAgaWYgKCFtX3RpbWluZykKKyAg
ICAgICAgcmV0dXJuIDAuMDsKICAgICByZXR1cm4gbW9ub3RvbmljVGltZVRvRG9jdW1lbnRNaWxs
aXNlY29uZHMobV90aW1pbmctPnJlcXVlc3RUaW1lKTsKIH0KIAogZG91YmxlIFBlcmZvcm1hbmNl
UmVzb3VyY2VUaW1pbmc6OmRvbWFpbkxvb2t1cFN0YXJ0KCkgY29uc3QKIHsKKyAgICBpZiAoIW1f
dGltaW5nKQorICAgICAgICByZXR1cm4gMC4wOwogICAgIGlmIChtX3RpbWluZy0+ZG5zU3RhcnQg
PCAwKQogICAgICAgICByZXR1cm4gZmV0Y2hTdGFydCgpOwogCkBAIC05MCw2ICs5NCw4IEBAIGRv
dWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpkb21haW5Mb29rdXBTdGFydCgpIGNvbnN0
CiAKIGRvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpkb21haW5Mb29rdXBFbmQoKSBj
b25zdAogeworICAgIGlmICghbV90aW1pbmcpCisgICAgICAgIHJldHVybiAwLjA7CiAgICAgaWYg
KG1fdGltaW5nLT5kbnNFbmQgPCAwKQogICAgICAgICByZXR1cm4gZG9tYWluTG9va3VwU3RhcnQo
KTsKIApAQCAtOTgsNiArMTA0LDggQEAgZG91YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6
OmRvbWFpbkxvb2t1cEVuZCgpIGNvbnN0CiAKIGRvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGlt
aW5nOjpjb25uZWN0U3RhcnQoKSBjb25zdAogeworICAgIGlmICghbV90aW1pbmcpCisgICAgICAg
IHJldHVybiAwLjA7CiAgICAgaWYgKG1fdGltaW5nLT5jb25uZWN0U3RhcnQgPCAwKSAvLyBDb25u
ZWN0aW9uIHdhcyByZXVzZWQuCiAgICAgICAgIHJldHVybiBkb21haW5Mb29rdXBFbmQoKTsKIApA
QCAtMTExLDYgKzExOSw4IEBAIGRvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpjb25u
ZWN0U3RhcnQoKSBjb25zdAogCiBkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6Y29u
bmVjdEVuZCgpIGNvbnN0CiB7CisgICAgaWYgKCFtX3RpbWluZykKKyAgICAgICAgcmV0dXJuIDAu
MDsKICAgICBpZiAobV90aW1pbmctPmNvbm5lY3RFbmQgPCAwKSAvLyBDb25uZWN0aW9uIHdhcyBy
ZXVzZWQuCiAgICAgICAgIHJldHVybiBjb25uZWN0U3RhcnQoKTsKIApAQCAtMTE5LDYgKzEyOSw4
IEBAIGRvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpjb25uZWN0RW5kKCkgY29uc3QK
IAogZG91YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnNlY3VyZUNvbm5lY3Rpb25TdGFy
dCgpIGNvbnN0CiB7CisgICAgaWYgKCFtX3RpbWluZykKKyAgICAgICAgcmV0dXJuIDAuMDsKICAg
ICBpZiAobV90aW1pbmctPnNzbFN0YXJ0IDwgMCkgLy8gU2VjdXJlIGNvbm5lY3Rpb24gbm90IG5l
Z290aWF0ZWQuCiAgICAgICAgIHJldHVybiAwOwogCkBAIC0xMjcsMjggKzEzOSwzOCBAQCBkb3Vi
bGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6c2VjdXJlQ29ubmVjdGlvblN0YXJ0KCkgY29u
c3QKIAogZG91YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnJlcXVlc3RTdGFydCgpIGNv
bnN0CiB7CisgICAgaWYgKCFtX3RpbWluZykKKyAgICAgICAgcmV0dXJuIDAuMDsKICAgICByZXR1
cm4gcmVzb3VyY2VUaW1lVG9Eb2N1bWVudE1pbGxpc2Vjb25kcyhtX3RpbWluZy0+c2VuZFN0YXJ0
KTsKIH0KIAogZG91YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnJlc3BvbnNlU3RhcnQo
KSBjb25zdAogeworICAgIGlmICghbV90aW1pbmcpCisgICAgICAgIHJldHVybiAwLjA7CiAgICAg
Ly8gRklYTUU6IFRoaXMgbnVtYmVyIGlzbid0IGV4YWN0bHkgY29ycmVjdC4gU2VlIHRoZSBub3Rl
cyBpbiBQZXJmb3JtYW5jZVRpbWluZzo6cmVzcG9uc2VTdGFydCgpLgogICAgIHJldHVybiByZXNv
dXJjZVRpbWVUb0RvY3VtZW50TWlsbGlzZWNvbmRzKG1fdGltaW5nLT5yZWNlaXZlSGVhZGVyc0Vu
ZCk7CiB9CiAKIGRvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpyZXNwb25zZUVuZCgp
IGNvbnN0CiB7CisgICAgaWYgKCFtX3RpbWluZykKKyAgICAgICAgcmV0dXJuIDAuMDsKICAgICBy
ZXR1cm4gbW9ub3RvbmljVGltZVRvRG9jdW1lbnRNaWxsaXNlY29uZHMobV9maW5pc2hUaW1lKTsK
IH0KIAogZG91YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6Om1vbm90b25pY1RpbWVUb0Rv
Y3VtZW50TWlsbGlzZWNvbmRzKGRvdWJsZSBzZWNvbmRzKSBjb25zdAogewogICAgIEFTU0VSVChz
ZWNvbmRzID49IDAuMCk7CisgICAgaWYgKCFzZWNvbmRzKQorICAgICAgICByZXR1cm4gMC4wOwog
ICAgIHJldHVybiBtX3JlcXVlc3RpbmdEb2N1bWVudC0+bG9hZGVyKCktPnRpbWluZygpLT5jb252
ZXJ0TW9ub3RvbmljVGltZVRvRG9jdW1lbnRUaW1lKHNlY29uZHMpICogMTAwMC4wOwogfQogCiBk
b3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6cmVzb3VyY2VUaW1lVG9Eb2N1bWVudE1p
bGxpc2Vjb25kcyhpbnQgZGVsdGFNaWxsaXNlY29uZHMpIGNvbnN0CiB7CisgICAgaWYgKCFkZWx0
YU1pbGxpc2Vjb25kcykKKyAgICAgICAgcmV0dXJuIDAuMDsKICAgICByZXR1cm4gbW9ub3Rvbmlj
VGltZVRvRG9jdW1lbnRNaWxsaXNlY29uZHMobV90aW1pbmctPnJlcXVlc3RUaW1lKSArIGRlbHRh
TWlsbGlzZWNvbmRzOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZv
cm1hbmNlUmVzb3VyY2VUaW1pbmcuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VS
ZXNvdXJjZVRpbWluZy5oCmluZGV4IDA4MmI4OTI1MTQ5NjI5ZTg4ZDNkNzFhYTY4YmIxMWI3NTI2
NjBhOTIuLjU4MWUxOTY0YjQxNmY2Y2FlMTY4ZjdjOGYxZmJjMTNiOTQ1ODBmMGUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oCkBAIC00OCwx
MiArNDgsMTIgQEAgY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIAogY2xhc3MgUGVyZm9ybWFuY2VS
ZXNvdXJjZVRpbWluZyA6IHB1YmxpYyBQZXJmb3JtYW5jZUVudHJ5IHsKIHB1YmxpYzoKLSAgICBz
dGF0aWMgUGFzc1JlZlB0cjxQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nPiBjcmVhdGUoY29uc3Qg
UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25z
ZSwgZG91YmxlIGZpbmlzaFRpbWUsIERvY3VtZW50KiByZXF1ZXN0aW5nRG9jdW1lbnQpCisgICAg
c3RhdGljIFBhc3NSZWZQdHI8UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZz4gY3JlYXRlKGNvbnN0
IEF0b21pY1N0cmluZyYgaW5pdGlhdG9yVHlwZSwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1
ZXN0LCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwgZG91YmxlIGZpbmlzaFRpbWUs
IERvY3VtZW50KiByZXF1ZXN0aW5nRG9jdW1lbnQpCiAgICAgewotICAgICAgICByZXR1cm4gYWRv
cHRSZWYobmV3IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcocmVxdWVzdCwgcmVzcG9uc2UsIGZp
bmlzaFRpbWUsIHJlcXVlc3RpbmdEb2N1bWVudCkpOworICAgICAgICByZXR1cm4gYWRvcHRSZWYo
bmV3IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcoaW5pdGlhdG9yVHlwZSwgcmVxdWVzdCwgcmVz
cG9uc2UsIGZpbmlzaFRpbWUsIHJlcXVlc3RpbmdEb2N1bWVudCkpOwogICAgIH0KIAotICAgIFN0
cmluZyBpbml0aWF0b3JUeXBlKCkgY29uc3Q7CisgICAgQXRvbWljU3RyaW5nIGluaXRpYXRvclR5
cGUoKSBjb25zdDsKIAogICAgIGRvdWJsZSByZWRpcmVjdFN0YXJ0KCkgY29uc3Q7CiAgICAgZG91
YmxlIHJlZGlyZWN0RW5kKCkgY29uc3Q7CkBAIC03MCwxMiArNzAsMTMgQEAgcHVibGljOgogICAg
IHZpcnR1YWwgYm9vbCBpc1Jlc291cmNlKCkgeyByZXR1cm4gdHJ1ZTsgfQogCiBwcml2YXRlOgot
ICAgIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgY29u
c3QgUmVzb3VyY2VSZXNwb25zZSYsIGRvdWJsZSBmaW5pc2hUaW1lLCBEb2N1bWVudCopOworICAg
IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcoY29uc3QgQXRvbWljU3RyaW5nJiBpbml0YXRvclR5
cGUsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmLCBkb3Vi
bGUgZmluaXNoVGltZSwgRG9jdW1lbnQqKTsKICAgICB+UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWlu
ZygpOwogCiAgICAgZG91YmxlIG1vbm90b25pY1RpbWVUb0RvY3VtZW50TWlsbGlzZWNvbmRzKGRv
dWJsZSBzZWNvbmRzKSBjb25zdDsKICAgICBkb3VibGUgcmVzb3VyY2VUaW1lVG9Eb2N1bWVudE1p
bGxpc2Vjb25kcyhpbnQgZGVsdGFNaWxsaXNlY29uZHMpIGNvbnN0OwogCisgICAgQXRvbWljU3Ry
aW5nIG1faW5pdGlhdG9yVHlwZTsKICAgICBSZWZQdHI8UmVzb3VyY2VMb2FkVGltaW5nPiBtX3Rp
bWluZzsKICAgICBkb3VibGUgbV9maW5pc2hUaW1lOwogICAgIFJlZlB0cjxEb2N1bWVudD4gbV9y
ZXF1ZXN0aW5nRG9jdW1lbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVJ
bWFnZUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFSW1hZ2VFbGVtZW50LmNw
cAppbmRleCA3NjM1NzM4ZmRlMTg0ZDFlMWRmNDhlYjZmYjM2YWVjYWEyMzVkNWZiLi41ZDc1OWVj
MjBkY2Q1ZjlkNzRkZTk2MjlkNWUxZWNiN2E2NzdjYWM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHRkVJbWFnZUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdGRUltYWdlRWxlbWVudC5jcHAKQEAgLTgxLDcgKzgxLDcgQEAgdm9pZCBTVkdGRUltYWdlRWxl
bWVudDo6Y2xlYXJSZXNvdXJjZVJlZmVyZW5jZXMoKQogdm9pZCBTVkdGRUltYWdlRWxlbWVudDo6
cmVxdWVzdEltYWdlUmVzb3VyY2UoKQogewogICAgIFJlc291cmNlUmVxdWVzdCByZXF1ZXN0KG93
bmVyRG9jdW1lbnQoKS0+Y29tcGxldGVVUkwoaHJlZigpKSk7Ci0gICAgbV9jYWNoZWRJbWFnZSA9
IGRvY3VtZW50KCktPmNhY2hlZFJlc291cmNlTG9hZGVyKCktPnJlcXVlc3RJbWFnZShyZXF1ZXN0
KTsKKyAgICBtX2NhY2hlZEltYWdlID0gZG9jdW1lbnQoKS0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIo
KS0+cmVxdWVzdEltYWdlKHJlcXVlc3QsICp0aGlzKTsKIAogICAgIGlmIChtX2NhY2hlZEltYWdl
KQogICAgICAgICBtX2NhY2hlZEltYWdlLT5hZGRDbGllbnQodGhpcyk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udEZhY2VVcmlFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdGb250RmFjZVVyaUVsZW1lbnQuY3BwCmluZGV4IGY2MTA1Mzc3MmI2MjJmYWZl
OTQ3NTBlMDk5MzQ4ZTY3NzBiN2U4MDcuLjFiYWQwYmQ0NjQzNTc4YjAzM2FhNGQ4NzM1ZGUzNDk2
OTQwOGI5MDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RmFjZVVyaUVs
ZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RmFjZVVyaUVsZW1lbnQu
Y3BwCkBAIC05Nyw3ICs5Nyw3IEBAIHZvaWQgU1ZHRm9udEZhY2VVcmlFbGVtZW50Ojpsb2FkRm9u
dCgpCiAgICAgaWYgKCFocmVmLmlzTnVsbCgpKSB7CiAgICAgICAgIENhY2hlZFJlc291cmNlTG9h
ZGVyKiBjYWNoZWRSZXNvdXJjZUxvYWRlciA9IGRvY3VtZW50KCktPmNhY2hlZFJlc291cmNlTG9h
ZGVyKCk7CiAgICAgICAgIFJlc291cmNlUmVxdWVzdCByZXF1ZXN0KGRvY3VtZW50KCktPmNvbXBs
ZXRlVVJMKGhyZWYpKTsKLSAgICAgICAgbV9jYWNoZWRGb250ID0gY2FjaGVkUmVzb3VyY2VMb2Fk
ZXItPnJlcXVlc3RGb250KHJlcXVlc3QpOworICAgICAgICBtX2NhY2hlZEZvbnQgPSBjYWNoZWRS
ZXNvdXJjZUxvYWRlci0+cmVxdWVzdEZvbnQocmVxdWVzdCwgKnRoaXMpOwogICAgICAgICBpZiAo
bV9jYWNoZWRGb250KSB7CiAgICAgICAgICAgICBtX2NhY2hlZEZvbnQtPmFkZENsaWVudCh0aGlz
KTsKICAgICAgICAgICAgIG1fY2FjaGVkRm9udC0+YmVnaW5Mb2FkSWZOZWVkZWQoY2FjaGVkUmVz
b3VyY2VMb2FkZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1VzZUVsZW1l
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1VzZUVsZW1lbnQuY3BwCmluZGV4IGQxOWVh
MTk1ZGYyMGEyZWY2MzlmNmExZTk5YTIwYjI1ODJiOTUwZTEuLjNmYTgxZmMwYmI0NGY1MmM3MDMz
OGE1ZTZiYTFkMTlkOWFjY2MxMmMgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdV
c2VFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVXNlRWxlbWVudC5jcHAK
QEAgLTI1NSw3ICsyNTUsNyBAQCB2b2lkIFNWR1VzZUVsZW1lbnQ6OnN2Z0F0dHJpYnV0ZUNoYW5n
ZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0ck5hbWUpCiAgICAgICAgICAgICBLVVJMIHVybCA9
IGRvY3VtZW50KCktPmNvbXBsZXRlVVJMKGhyZWYoKSk7CiAgICAgICAgICAgICBpZiAodXJsLmhh
c0ZyYWdtZW50SWRlbnRpZmllcigpKSB7CiAgICAgICAgICAgICAgICAgUmVzb3VyY2VSZXF1ZXN0
IHJlcXVlc3QodXJsLnN0cmluZygpKTsKLSAgICAgICAgICAgICAgICBtX2NhY2hlZERvY3VtZW50
ID0gZG9jdW1lbnQoKS0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKS0+cmVxdWVzdFNWR0RvY3VtZW50
KHJlcXVlc3QpOworICAgICAgICAgICAgICAgIG1fY2FjaGVkRG9jdW1lbnQgPSBkb2N1bWVudCgp
LT5jYWNoZWRSZXNvdXJjZUxvYWRlcigpLT5yZXF1ZXN0U1ZHRG9jdW1lbnQocmVxdWVzdCwgKnRo
aXMpOwogICAgICAgICAgICAgICAgIGlmIChtX2NhY2hlZERvY3VtZW50KQogICAgICAgICAgICAg
ICAgICAgICBtX2NhY2hlZERvY3VtZW50LT5hZGRDbGllbnQodGhpcyk7CiAgICAgICAgICAgICB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwIGIvU291
cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcAppbmRleCAwOTdiYzQ0MjdmMGQwYzRj
NjUxMjBhM2I3OWFhZmJmZGIzNGY0NGM4Li41NTdjYzRlMTI0ZGU4MjIzZTFkOWFmYTE3NmMzN2Ix
YThlODY2MmFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3Qu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAKQEAgLTc1Myw3
ICs3NTMsNyBAQCB2b2lkIFhNTEh0dHBSZXF1ZXN0OjpjcmVhdGVSZXF1ZXN0KEV4Y2VwdGlvbkNv
ZGUmIGVjKQogICAgICAgICAvLyBUaGlzIGlzIHRydWUgd2hpbGUgcnVubmluZyBvbnVubG9hZCBo
YW5kbGVycy4KICAgICAgICAgLy8gRklYTUU6IE1heWJlIHdlIG5lZWQgdG8gYmUgYWJsZSB0byBz
ZW5kIFhNTEh0dHBSZXF1ZXN0cyBmcm9tIG9udW5sb2FkLCA8aHR0cDovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTA5MDQ+LgogICAgICAgICAvLyBGSVhNRTogTWF5YmUgY3JlYXRl
KCkgY2FuIHJldHVybiBudWxsIGZvciBvdGhlciByZWFzb25zIHRvbz8KLSAgICAgICAgbV9sb2Fk
ZXIgPSBUaHJlYWRhYmxlTG9hZGVyOjpjcmVhdGUoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCB0
aGlzLCByZXF1ZXN0LCBvcHRpb25zKTsKKyAgICAgICAgbV9sb2FkZXIgPSBUaHJlYWRhYmxlTG9h
ZGVyOjpjcmVhdGUoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCB0aGlzLCByZXF1ZXN0LCBvcHRp
b25zLCAqdGhpcyk7CiAgICAgICAgIGlmIChtX2xvYWRlcikgewogICAgICAgICAgICAgLy8gTmVp
dGhlciB0aGlzIG9iamVjdCBub3IgdGhlIEphdmFTY3JpcHQgd3JhcHBlciBzaG91bGQgYmUgZGVs
ZXRlZCB3aGlsZQogICAgICAgICAgICAgLy8gYSByZXF1ZXN0IGlzIGluIHByb2dyZXNzIGJlY2F1
c2Ugd2UgbmVlZCB0byBrZWVwIHRoZSBsaXN0ZW5lcnMgYWxpdmUsCkBAIC03NjIsNyArNzYyLDcg
QEAgdm9pZCBYTUxIdHRwUmVxdWVzdDo6Y3JlYXRlUmVxdWVzdChFeGNlcHRpb25Db2RlJiBlYykK
ICAgICAgICAgfQogICAgIH0gZWxzZSB7CiAgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlv
bjo6d2lsbExvYWRYSFJTeW5jaHJvbm91c2x5KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7Ci0g
ICAgICAgIFRocmVhZGFibGVMb2FkZXI6OmxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoc2NyaXB0
RXhlY3V0aW9uQ29udGV4dCgpLCByZXF1ZXN0LCAqdGhpcywgb3B0aW9ucyk7CisgICAgICAgIFRo
cmVhZGFibGVMb2FkZXI6OmxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoc2NyaXB0RXhlY3V0aW9u
Q29udGV4dCgpLCByZXF1ZXN0LCAqdGhpcywgb3B0aW9ucywgKnRoaXMpOwogICAgICAgICBJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZExvYWRYSFJTeW5jaHJvbm91c2x5KHNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQoKSk7CiAgICAgfQogCkBAIC05ODUsNyArOTg1LDcgQEAgU3RyaW5nIFhNTEh0
dHBSZXF1ZXN0OjpnZXRSZXNwb25zZUhlYWRlcihjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUsIEV4
Y2VwdGlvbkNvZGUKICAgICAgICAgbG9nQ29uc29sZUVycm9yKHNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQoKSwgIlJlZnVzZWQgdG8gZ2V0IHVuc2FmZSBoZWFkZXIgXCIiICsgbmFtZSArICJcIiIpOwog
ICAgICAgICByZXR1cm4gU3RyaW5nKCk7CiAgICAgfQotICAgIAorCiAgICAgSFRUUEhlYWRlclNl
dCBhY2Nlc3NDb250cm9sRXhwb3NlSGVhZGVyU2V0OwogICAgIHBhcnNlQWNjZXNzQ29udHJvbEV4
cG9zZUhlYWRlcnNBbGxvd0xpc3QobV9yZXNwb25zZS5odHRwSGVhZGVyRmllbGQoIkFjY2Vzcy1D
b250cm9sLUV4cG9zZS1IZWFkZXJzIiksIGFjY2Vzc0NvbnRyb2xFeHBvc2VIZWFkZXJTZXQpOwog
CkBAIC0xMjI0LDQgKzEyMjQsMTAgQEAgRXZlbnRUYXJnZXREYXRhKiBYTUxIdHRwUmVxdWVzdDo6
ZW5zdXJlRXZlbnRUYXJnZXREYXRhKCkKICAgICByZXR1cm4gJm1fZXZlbnRUYXJnZXREYXRhOwog
fQogCitjb25zdCBBdG9taWNTdHJpbmcmIFhNTEh0dHBSZXF1ZXN0Ojppbml0aWF0b3JOYW1lKCkg
Y29uc3QKK3sKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEF0b21pY1N0cmluZywgbmFtZSwgKCJ4
bWxodHRwcmVxdWVzdCIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpKTsKKyAg
ICByZXR1cm4gbmFtZTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmggYi9Tb3VyY2UvV2ViQ29yZS94bWwv
WE1MSHR0cFJlcXVlc3QuaAppbmRleCBjYzZjYmM1MGMzNjAxNjUwODllMjY1OTk3NWNkMTBkMzEx
MjJlZjVkLi45ZGU4MmFhNDYxMWJkMmQzZjNlNjE5MmQxYzBhOTg5NzlhYTMwOThiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS94bWwvWE1MSHR0cFJlcXVlc3QuaApAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgIkV2
ZW50TmFtZXMuaCIKICNpbmNsdWRlICJFdmVudFRhcmdldC5oIgogI2luY2x1ZGUgIkZvcm1EYXRh
LmgiCisjaW5jbHVkZSAiTG9hZEluaXRpYXRvci5oIgogI2luY2x1ZGUgIlJlc291cmNlUmVzcG9u
c2UuaCIKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgogI2luY2x1ZGUgIlRocmVhZGFibGVM
b2FkZXJDbGllbnQuaCIKQEAgLTQ1LDcgKzQ2LDcgQEAgY2xhc3MgU2hhcmVkQnVmZmVyOwogY2xh
c3MgVGV4dFJlc291cmNlRGVjb2RlcjsKIGNsYXNzIFRocmVhZGFibGVMb2FkZXI7CiAKLWNsYXNz
IFhNTEh0dHBSZXF1ZXN0IDogcHVibGljIFJlZkNvdW50ZWQ8WE1MSHR0cFJlcXVlc3Q+LCBwdWJs
aWMgRXZlbnRUYXJnZXQsIHByaXZhdGUgVGhyZWFkYWJsZUxvYWRlckNsaWVudCwgcHVibGljIEFj
dGl2ZURPTU9iamVjdCB7CitjbGFzcyBYTUxIdHRwUmVxdWVzdCA6IHB1YmxpYyBSZWZDb3VudGVk
PFhNTEh0dHBSZXF1ZXN0PiwgcHVibGljIEV2ZW50VGFyZ2V0LCBwcml2YXRlIFRocmVhZGFibGVM
b2FkZXJDbGllbnQsIHB1YmxpYyBBY3RpdmVET01PYmplY3QsIHByaXZhdGUgTG9hZEluaXRpYXRv
ciB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBh
c3NSZWZQdHI8WE1MSHR0cFJlcXVlc3Q+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0Kiwg
UGFzc1JlZlB0cjxTZWN1cml0eU9yaWdpbj4gPSAwKTsKQEAgLTU5LDEwICs2MCwxMCBAQCBwdWJs
aWM6CiAgICAgICAgIExPQURJTkcgPSAzLAogICAgICAgICBET05FID0gNAogICAgIH07Ci0gICAg
CisKICAgICBlbnVtIFJlc3BvbnNlVHlwZUNvZGUgewogICAgICAgICBSZXNwb25zZVR5cGVEZWZh
dWx0LAotICAgICAgICBSZXNwb25zZVR5cGVUZXh0LCAKKyAgICAgICAgUmVzcG9uc2VUeXBlVGV4
dCwKICAgICAgICAgUmVzcG9uc2VUeXBlRG9jdW1lbnQsCiAgICAgICAgIFJlc3BvbnNlVHlwZUJs
b2IsCiAgICAgICAgIFJlc3BvbnNlVHlwZUFycmF5QnVmZmVyCkBAIC0xODIsNiArMTgzLDkgQEAg
cHJpdmF0ZToKICAgICB2b2lkIG5ldHdvcmtFcnJvcigpOwogICAgIHZvaWQgYWJvcnRFcnJvcigp
OwogCisgICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIGluaXRpYXRvck5hbWUoKSBjb25z
dDsKKyAgICB2aXJ0dWFsIERvY3VtZW50KiBpbml0aWF0b3JEb2N1bWVudCgpIGNvbnN0IHsgcmV0
dXJuIGRvY3VtZW50KCk7IH0KKwogICAgIE93blB0cjxYTUxIdHRwUmVxdWVzdFVwbG9hZD4gbV91
cGxvYWQ7CiAKICAgICBLVVJMIG1fdXJsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1s
L1hTTEltcG9ydFJ1bGUuY3BwIGIvU291cmNlL1dlYkNvcmUveG1sL1hTTEltcG9ydFJ1bGUuY3Bw
CmluZGV4IDBhMTc3MGQwMzQ1YThhMWZjODNkN2I3ZmIyZDQ0MmQyYmEzOWViMWYuLjc5ZTM2ZGM1
NDA4NTdjZjc2ZDUwMzRlNWZmZjFkZWY3ZWE3NzBmZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3htbC9YU0xJbXBvcnRSdWxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFNMSW1w
b3J0UnVsZS5jcHAKQEAgLTQzLDcgKzQzLDcgQEAgWFNMSW1wb3J0UnVsZTo6flhTTEltcG9ydFJ1
bGUoKQogewogICAgIGlmIChtX3N0eWxlU2hlZXQpCiAgICAgICAgIG1fc3R5bGVTaGVldC0+c2V0
UGFyZW50U3R5bGVTaGVldCgwKTsKLSAgICAKKwogICAgIGlmIChtX2NhY2hlZFNoZWV0KQogICAg
ICAgICBtX2NhY2hlZFNoZWV0LT5yZW1vdmVDbGllbnQodGhpcyk7CiB9CkBAIC02MSw3ICs2MSw3
IEBAIHZvaWQgWFNMSW1wb3J0UnVsZTo6c2V0WFNMU3R5bGVTaGVldChjb25zdCBTdHJpbmcmIGhy
ZWYsIGNvbnN0IEtVUkwmIGJhc2VVUkwsIGNvCiAKICAgICBtX3N0eWxlU2hlZXQtPnBhcnNlU3Ry
aW5nKHNoZWV0KTsKICAgICBtX2xvYWRpbmcgPSBmYWxzZTsKLSAgICAKKwogICAgIGlmIChwYXJl
bnQpCiAgICAgICAgIHBhcmVudC0+Y2hlY2tMb2FkZWQoKTsKIH0KQEAgLTg0LDI2ICs4NCwyNiBA
QCB2b2lkIFhTTEltcG9ydFJ1bGU6OmxvYWRTaGVldCgpCiAKICAgICBpZiAocm9vdFNoZWV0KQog
ICAgICAgICBjYWNoZWRSZXNvdXJjZUxvYWRlciA9IHJvb3RTaGVldC0+Y2FjaGVkUmVzb3VyY2VM
b2FkZXIoKTsKLSAgICAKKwogICAgIFN0cmluZyBhYnNIcmVmID0gbV9zdHJIcmVmOwogICAgIFhT
TFN0eWxlU2hlZXQqIHBhcmVudFNoZWV0ID0gcGFyZW50U3R5bGVTaGVldCgpOwogICAgIGlmICgh
cGFyZW50U2hlZXQtPmJhc2VVUkwoKS5pc051bGwoKSkKICAgICAgICAgLy8gdXNlIHBhcmVudCBz
dHlsZWhlZXQncyBVUkwgYXMgdGhlIGJhc2UgVVJMCiAgICAgICAgIGFic0hyZWYgPSBLVVJMKHBh
cmVudFNoZWV0LT5iYXNlVVJMKCksIG1fc3RySHJlZikuc3RyaW5nKCk7Ci0gICAgCisKICAgICAv
LyBDaGVjayBmb3IgYSBjeWNsZSBpbiBvdXIgaW1wb3J0IGNoYWluLiAgSWYgd2UgZW5jb3VudGVy
IGEgc3R5bGVzaGVldAogICAgIC8vIGluIG91ciBwYXJlbnQgY2hhaW4gd2l0aCB0aGUgc2FtZSBV
UkwsIHRoZW4ganVzdCBiYWlsLgogICAgIGZvciAoWFNMU3R5bGVTaGVldCogcGFyZW50U2hlZXQg
PSBwYXJlbnRTdHlsZVNoZWV0KCk7IHBhcmVudFNoZWV0OyBwYXJlbnRTaGVldCA9IHBhcmVudFNo
ZWV0LT5wYXJlbnRTdHlsZVNoZWV0KCkpIHsKICAgICAgICAgaWYgKGFic0hyZWYgPT0gcGFyZW50
U2hlZXQtPmJhc2VVUkwoKS5zdHJpbmcoKSkKICAgICAgICAgICAgIHJldHVybjsKICAgICB9Ci0g
ICAgCisKICAgICBSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdChjYWNoZWRSZXNvdXJjZUxvYWRlci0+
ZG9jdW1lbnQoKS0+Y29tcGxldGVVUkwoYWJzSHJlZikpOwotICAgIG1fY2FjaGVkU2hlZXQgPSBj
YWNoZWRSZXNvdXJjZUxvYWRlci0+cmVxdWVzdFhTTFN0eWxlU2hlZXQocmVxdWVzdCk7Ci0gICAg
CisgICAgbV9jYWNoZWRTaGVldCA9IGNhY2hlZFJlc291cmNlTG9hZGVyLT5yZXF1ZXN0WFNMU3R5
bGVTaGVldChyZXF1ZXN0LCAqdGhpcyk7CisKICAgICBpZiAobV9jYWNoZWRTaGVldCkgewogICAg
ICAgICBtX2NhY2hlZFNoZWV0LT5hZGRDbGllbnQodGhpcyk7Ci0gICAgICAgIAorCiAgICAgICAg
IC8vIElmIHRoZSBpbXBvcnRlZCBzaGVldCBpcyBpbiB0aGUgY2FjaGUsIHRoZW4gc2V0WFNMU3R5
bGVTaGVldCBnZXRzIGNhbGxlZCwKICAgICAgICAgLy8gYW5kIHRoZSBzaGVldCBldmVuIGdldHMg
cGFyc2VkICh2aWEgcGFyc2VTdHJpbmcpLiAgSW4gdGhpcyBjYXNlIHdlIGhhdmUKICAgICAgICAg
Ly8gbG9hZGVkIChldmVuIGlmIG91ciBzdWJyZXNvdXJjZXMgaGF2ZW4ndCksIHNvIGlmIHdlIGhh
dmUgYSBzdHlsZXNoZWV0IGFmdGVyCkBAIC0xMTMsNiArMTEzLDEyIEBAIHZvaWQgWFNMSW1wb3J0
UnVsZTo6bG9hZFNoZWV0KCkKICAgICB9CiB9CiAKK2NvbnN0IFdURjo6QXRvbWljU3RyaW5nJiBY
U0xJbXBvcnRSdWxlOjppbml0aWF0b3JOYW1lKCkgY29uc3QKK3sKKyAgICBERUZJTkVfU1RBVElD
X0xPQ0FMKEF0b21pY1N0cmluZywgbmFtZSwgKCJ4c2wiLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVj
dEZyb21MaXRlcmFsKSk7CisgICAgcmV0dXJuIG5hbWU7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShYU0xUKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUveG1sL1hTTEltcG9ydFJ1bGUuaCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YU0xJbXBvcnRSdWxl
LmgKaW5kZXggMzUwY2RkOWIxNjUzNGI2MTdmMDYyNzYyOTNjNDc0MGUyY2Y2YjE5ZS4uMGUyNGU5
MjlkN2VlYzk2ZDU3YmY1NjZlMzY3ZTE5ZTBhYTdmMWFiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUveG1sL1hTTEltcG9ydFJ1bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFNMSW1w
b3J0UnVsZS5oCkBAIC0yNyw2ICsyNyw3IEBACiAKICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUhh
bmRsZS5oIgogI2luY2x1ZGUgIkNhY2hlZFN0eWxlU2hlZXRDbGllbnQuaCIKKyNpbmNsdWRlICJM
b2FkSW5pdGlhdG9yLmgiCiAjaW5jbHVkZSAiWFNMU3R5bGVTaGVldC5oIgogI2luY2x1ZGUgPHd0
Zi9QYXNzT3duUHRyLmg+CiAKQEAgLTM0LDcgKzM1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBjbGFzcyBDYWNoZWRYU0xTdHlsZVNoZWV0OwogCi1jbGFzcyBYU0xJbXBvcnRSdWxlIDogcHJp
dmF0ZSBDYWNoZWRTdHlsZVNoZWV0Q2xpZW50IHsKK2NsYXNzIFhTTEltcG9ydFJ1bGUgOiBwcml2
YXRlIENhY2hlZFN0eWxlU2hlZXRDbGllbnQsIHByaXZhdGUgTG9hZEluaXRpYXRvciB7CiAgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8
WFNMSW1wb3J0UnVsZT4gY3JlYXRlKFhTTFN0eWxlU2hlZXQqIHBhcmVudFNoZWV0LCBjb25zdCBT
dHJpbmcmIGhyZWYpCkBAIC00Myw3ICs0NCw3IEBAIHB1YmxpYzoKICAgICB9CiAKICAgICB2aXJ0
dWFsIH5YU0xJbXBvcnRSdWxlKCk7Ci0gICAgCisKICAgICBjb25zdCBTdHJpbmcmIGhyZWYoKSBj
b25zdCB7IHJldHVybiBtX3N0ckhyZWY7IH0KICAgICBYU0xTdHlsZVNoZWV0KiBzdHlsZVNoZWV0
KCkgY29uc3QgeyByZXR1cm4gbV9zdHlsZVNoZWV0LmdldCgpOyB9CiAKQEAgLTUyLDEyICs1Mywx
NSBAQCBwdWJsaWM6CiAKICAgICBib29sIGlzTG9hZGluZygpOwogICAgIHZvaWQgbG9hZFNoZWV0
KCk7Ci0gICAgCisKIHByaXZhdGU6CiAgICAgWFNMSW1wb3J0UnVsZShYU0xTdHlsZVNoZWV0KiBw
YXJlbnRTaGVldCwgY29uc3QgU3RyaW5nJiBocmVmKTsKIAogICAgIHZpcnR1YWwgdm9pZCBzZXRY
U0xTdHlsZVNoZWV0KGNvbnN0IFN0cmluZyYgaHJlZiwgY29uc3QgS1VSTCYgYmFzZVVSTCwgY29u
c3QgU3RyaW5nJiBzaGVldCk7Ci0gICAgCisKKyAgICB2aXJ0dWFsIGNvbnN0IFdURjo6QXRvbWlj
U3RyaW5nJiBpbml0aWF0b3JOYW1lKCkgY29uc3Q7CisgICAgdmlydHVhbCBEb2N1bWVudCogaW5p
dGlhdG9yRG9jdW1lbnQoKSBjb25zdCB7IHJldHVybiBtX3BhcmVudFN0eWxlU2hlZXQtPm93bmVy
RG9jdW1lbnQoKTsgfQorCiAgICAgWFNMU3R5bGVTaGVldCogbV9wYXJlbnRTdHlsZVNoZWV0Owog
ICAgIFN0cmluZyBtX3N0ckhyZWY7CiAgICAgUmVmUHRyPFhTTFN0eWxlU2hlZXQ+IG1fc3R5bGVT
aGVldDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwppbmRleCA1MzM2YmUwYjBjN2YyYzcxZjgzMzljMDViMTJjMzliZjFlMzM1NjRjLi40
MGM2OTQ5NzExZDczZGQzZThiMWExNTY5NzQ4NDM1OGNlZWFlMjNhIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MzggQEAKKzIwMTItMTAtMDEgIEphbWVzIFNpbW9uc2VuICA8c2ltb25qYW1AY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIFtSZXNvdXJjZSBUaW1pbmddIEV4cG9zZSB0aW1pbmcgaW5mb3JtYXRpb24K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg0ODgzCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIHRlc3Rz
IGFyZSBkZXNpZ25lZCB0byBiZSB1cHN0cmVhbWVkLiBFdmVudHVhbGx5LCB0aGUgbG9jYWwgb25l
cyB3aWxsIGJlIHJlcGxhY2VkIGJ5IHRoZSBvZmZpY2lhbCB1cHN0cmVhbSB2ZXJzaW9ucy4KKwor
ICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL0FoZW0udHRmOiBBZGRl
ZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9hbGxfcmVzb3Vy
Y2VfdHlwZXMuaHRtOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jl
c291cmNlcy9ibGFua19pbWFnZS5wbmc6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNj
L3dlYnBlcmYvcmVzb3VyY2VzL2VtcHR5X3NjcmlwdC5qczogQWRkZWQuCisgICAgICAgICogaHR0
cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwOiBBZGRl
ZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9ncmF5X2JnLmNz
czogQWRkZWQuCisgICAgICAgIChib2R5KToKKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJw
ZXJmL3Jlc291cmNlcy9pbmplY3RfcmVzb3VyY2VfdGVzdC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9uZXN0ZWQuY3NzOiBBZGRlZC4KKyAg
ICAgICAgKEBmb250LWZhY2UpOgorICAgICAgICAob2wpOgorICAgICAgICAqIGh0dHAvdGVzdHMv
dzNjL3dlYnBlcmYvcmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVzcy5qczoKKyAgICAgICAgKHRl
c3RfZ3JlYXRlcl9vcl9lcXVhbHMpOgorICAgICAgICAodGVzdF9mYWlsKToKKyAgICAgICAgKHRl
c3RfcmVzb3VyY2VfZW50cmllcyk6CisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9z
dWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2VfYXR0cmlidXRlX29y
ZGVyLWV4cGVjdGVkLnR4dDogQWRkZWQuIE9uZSBmYWlscyBiZWNhdXNlIERSVCBkb2Vzbid0IGFj
dHVhbGx5IHBvcHVsYXRlIHZhbHVlcy4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJm
L3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9hdHRyaWJ1dGVf
b3JkZXIuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJt
aXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2VfZHluYW1pY19pbnNlcnRp
b24tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJm
L3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9keW5hbWljX2lu
c2VydGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1
Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9pbml0aWF0b3JfdHlw
ZXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJm
L3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9pbml0aWF0b3Jf
dHlwZXMuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJt
aXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2VfcmVkaXJlY3RzLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNz
aW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2VfcmVkaXJlY3RzLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJj
ZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX3NjcmlwdF90eXBlcy1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJj
ZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX3NjcmlwdF90eXBlcy5odG1sOiBBZGRlZC4KKwog
MjAxMi0xMC0wMSAgRG9taW5payBSw7Z0dHNjaGVzICA8ZG9taW5pay5yb3R0c2NoZXNAaW50ZWwu
Y29tPgogCiAgICAgICAgIFtFRkxdIFJlbW92ZSBFRkwtc3BlY2lmaWMgZXhwZWN0YXRpb25zIGZv
ciBmYXN0L3JlZ2lvbnMvd2Via2l0LW5hbWVkLWZsb3ctKgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvQWhlbS50dGYgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9BaGVtLnR0ZgpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5h
YzgxY2IwMzE2NWFiODMxYTM2YWJiNTkxNDVmZjdhMmY1Njc1ZmI5CkdJVCBiaW5hcnkgcGF0Y2gK
bGl0ZXJhbCAxMjQ4MAp6Y21lSE5aRm0mYjZAS1NxWEZxYD9WI0o4X1d7WigzMjc7QyVyTn5GNU5E
K31CcU5VMHZKSU15S3lLIzQ4ZiZ4V3IKeilrZ1UhVDgmQzZCNyVZPDNSKG44NWZLNFZzaXRUVm1v
IT5VWkImWTJlR3BqUkozQTIrK2RxQiRWTFArVz8ze2I8Cnp5PVR0Nz1iZH1jP3p+VXtfJVJiMmBk
KDdqcihlVV5RTF9NTDBKVzFWcU1fT0B5WWZjPnR7VDhkUkUzaFlJMGFzeQp6P0BIRl5STWt3YXls
N1F3SHgwQV4xPnVNcDNoIURwcmFTQV9eWHdtPyF0Sy1aREllaDNHWklaVEpSPmxqX0x+NSQKenho
N3JfNV9NKz1mdWQ2QytNfVV7VDZgKylFOFc7JCM2blNYTSVPI20wS05NMXsqbF52R0JzPUc+NVZg
IWA+V2pgCnplT0U5bkAwM2ZjdUlAN0VBaVA9fEhDUHFEYFUtajdjK1Q+UmZYbzFgTyVwNj9QXkZk
IWApTUxHZlp0WW9lb0lUbwp6OXx0WVhMM3Ijd1UjO2l1d0tpb2dUb2wlO15heWpaU0xKIzFRIzVM
IWF+JCVSMnxTKHlHMTRtVj4rKkFsMTRBSjgKenNrUlJTVExxTmRBKnxEYzwqQmVkPDIrP09sd0xa
Z0dZMVheelRGcyprOH0zYU44MmstY1dTdHtzNntZVHBNMmd+CnpgMDg0dGE1MmRxOWFwPH0hWD97
TmdVKXJ5ZlNhcUFUIVZhRS12ajdgJmdnPDE8UlQ5enAoez5DS0cqVllJMjhwcgp6NGMmMSVkZis8
e0NgMXQ3TU5nYzhCQWtne18jViF9KzMxYVBQPmVxNGl4VHcxeGl9QnNNfVBiUDE4X2JEOylmVzcK
ekE3TDtxO0pQKnghIVI3QnhEWEBvVn5vVF83PUBvO0clbSYlVCFPSzw2eXMyYUB3Zn5WYTUqTzgz
UzVid1ZpSkNhCnp0OGdfWSk4NyF2UUdxWl9SSDZ6SVJBVU9SS0BGbWFBJnkjSGl2KkhMcCReeGY5
dTFnXj52MDM3YWJLQiVwTDRsPQp6NkYxQH1gfm8tUUUmTEw8Ozh4cyp4QTd9OTsoZ3FYSko1eiVf
eV5pQzgqfWd1LW9AWTBqSzU8cGV2UXtLNHxuMSYKenswNFg5Sl5UcUQ7OG9tJUNacmpxYCoxKHo8
N0s+cEtWdWkoeitkb05FV3EjWkFyQGpNVEpab3tASy1BJGQkMCh2CnpWPmtCVktgaDJZU2MwV143
Pns1WG1nNy04I3heVlBJOUIyYkpjKDZVamk+TjVldmRWSDI1WWc3SkV1LUdmVWBBKAp6UVM4aHAl
c0BzZFFPY0FDV3VFJGl4PW5wY3lHd2dTVGQhPnRJaWptNTVJc2F0NnA2bEtwZVFYMjc4Vjg3cGJf
ajYKeiVuS0YtZGohdThqdG91P24hKXtOWX5RRDVHUEVsZyh9bEQqJmEkX0tfVEQoby1idGRIPXFg
azFAQkE7PiVNRzZUCnpnfXR6NDUxQ0JuP015M28qYyZzYEc3fmN3MDd1JCs0bkFfJDtuJDlJLUo1
Q0kxaGxNZ1M9WHxyPD8pdUtFZXJOTwp6eVo1bmxZa0VnfG16PH5jX1ZrQUlMK1FyIXQjNXR5WDN3
MERZfX04TWJAR3M0bWdqTkQoY3xSZiNkYiNGI04lR1oKelFSM2hNTSowcyNMbkNvOG0rYHpDbn45
MDFoPn1AJjBiN1pUSW1GMiMmaUB1LXBiNld0NEtFU31fYzMtNEdVXmhLCnp3LWI+fGlPSSFgPTVq
bGw4O0g7cVJ6Jjkkc21+S3hQZ3JyUyFiV1QmP3k4QzFEYTdxSE1EOUZkeDBkTFkqaTh8PQp6NjEj
c1NkWiFZPCpBdSVwNUpgNzMoJGcmakthMXl4cyNVfjc3OCZiXmxDPjd6VU1GNVIpN1NTTGx3PD8k
cHlXVEkKekw/KXVsQmVpUVohOE9iY29TUiNpZHEhYnk7ZEolR0JYZzdrTSsySFQrJWxhajRreXlp
bCh8US1RSzhtJHhFbXtGCnpDaHBZOVVsN2lgSUdBdnIyV0tzQykmZ2dMYVE0UDtJNEB3PCFUcStS
QE1MU3grM01zVio/JSRyWExBc1NgXjBzJQp6I21QT0xvWlFLfm8hP140P0A7R0FffUE8WS0qNjcl
e057SzUyWGcpY2I4O3t6MlhrXlRDa0p6S0ZlZUI1SCNyIXsKekMmKyQrV0MjckEreHsjMD8oO2du
YkRoV2NtQER7KFlDR1NVemwjSGtzXmxtPWwtfGxmV3UhN2UyYGRSQHJaUVdaCnp1UGpzNkN8aV9m
ckImSWQ5OTA4cWYhYSYkdWE+SWcpWDhkMG91KVJiUDNqVkx3WW97JnNpeEktXl5vUyNeMGw1Pwp6
S1cmSU1Nd19IZihIZ1d7XyNTKGF3bz09bT9hKzQ5KEAlNj0mKG5vb3RQaiNoPUBhI15wM3JDTnYt
U0Q8R0pURHsKek1RXyR5Xj9td0xTSE0tXj5nRFMxRHNfIT5PP0pneChfRD9OQ2Y1P3pZUyQqJFBG
TEYxP21BPzZqQ2BZfihhI3VTCnpqND50fFE7WWBWN1VNMnNrK0lVKVZDKm48OCpSb1hacno+ZDdW
Y3ZBQW9uUXVNMGNlLTwtVzsxKlMpfn5zQyV0QAp6dDl6SUc5cnUwQEplQHQ9SiFnM2FASDRfUS1j
IzxXXn5+X3g7a25RQXU7KiNkWDN3amg3U0QmQyEoTn1hbzQzZSYKem9fQ21jdG9KSCFqclYlKlpR
aUBSaUBpXkpIK288OD8oeDN3e25UZ3B5ODQyP3pQYGJ9KFlgQnY1I00jYm58PD9xCnozdzxrbT53
VmpPWn17SHo5cV9DRTlEZmdnWn5zOTVOZEUrWCpxYHZ2XncwTHNfYj5DV0BvKGByYCY8M3t7Nl88
VQp6S3RaNWFwbnNxPUZmSzRUNURRRVRHek9YaU85SEN7bip1dW49fEZxblAkeTVQezd5WVBePHlA
MG5zViROe1F7UD0KemhYUmslUUJ1KWFTel94bzJ4WVlgPnVsMyglUCE8QWR1LVhEZSFxT1d0bTc1
c2tTIX5HJWV+RShSaytvY1kqfEImCnorSEFgQCtxYDRURjhJfEJFfXVkRCRGQEYpXjFwMDNtdiVu
MDx2aSRgJURxaklUcz51aFg0bz52cUEjeyhqenhkZQp6bU5eIUV0dTFwYmBmZ2sxU29Cc349Mi1N
a1o4LS1YbTs0YDcrUnNJMm0mY2Ejc0x2LU9DVHtVcTFpMXdmdko0VkQKekU2NUhvRXE7cnpHJHNU
ITUkWGliRDhHfkI1WSpYcXkpQTc2ZHpvWXhxKnk4PD9gOX49YihTNHpCU3pNT0FnOEM2CnpyKSp6
T1l0X35yckw3MmtzSFprV1N6M3YpVW11SG1iRjNgTFpiLTE1eW5CWik8eUhAcT8xcE9nRzA2PVFX
YmBCewp6UnIyMDdFTEV+YyFzPW1DcFIoRmp2MFB6VWwzYSkrYnk2UnYxP2tJRnREUEtXKHl9KyF4
QCh5QnEtU3l6PCFtRiEKejlnNEZnJU9tSlRnc3IzcEA/T1g4blZxcldXRXohR1UmZU0oK0wxRntP
OyVIcXhebH5VSj5fZylJcSUyKEVhb2dxCno4JlJeQU90TyZWbX1HPHxTZ29iIVMrN2d6WCRoQCR3
Qz1jbWVMSzdNVik5cjtNSUA5NlJpdztCUWlLd3dOSlVJeAp6TW4mQDRJK2w3MXYhVE1RT15Lb2xo
Z1FfM09jOUVPTVgpeTVUaHZGWUQ8VUVwaVB3dXp2Y2ltfGBoLXBFRGs+QjQKenNBWikqbHIoRnFW
YGowcUVOTkVPKXJpVj9MWnItT3N5YkZCRCZrU0hYc2M3ekB0ODxYT3tVQ2Z2Ukk1dyNLVXpKCnpX
Pn1PQDczMVVLdW93fUZCd31WRittbnRCRkRueWVwPWV6cVJERVZybHFjZiNOIUhwbmktJChjPXMy
Xmd0fHBZMgp6en5NO0tDQi1FfHNeeGl7dTB2KEZtUE98Jl88d3kwekliTjd7RGdIcEwyN24wJGxT
b3A7c2hjWEgzejl3JCFfXkYKeit3dDRQYm9fNjVqeUdCeU42QiEhalUyV3thQDF5Iz1fWXhNY2Fy
MEZrSHJeVE5jUCh6aS0jIXJobXc2THhyYlIrCnoqOz15VnAwZ05tK25BcmRoI2gjejt5M09qXllK
eHVBfD1vOWImS2hebzFEciRXSypXZVhfUEYtSHU1Rmt3PlhwXgp6a2FfbkpfVGl0e2tCYGFuS1pz
QVB4Smg+N0kmJFM2Q2E+KiZpfDRyNlZtZHhnTSYyZn1AME9FbXd9QXx9Xjw+UjgKemshZzE/eHB3
byZ1YmdBQ0ZQRDt3X2JPUiomeXE+NkQhTS1BdmVCY31rPmo8fTNyRXdzWDBoXmZwcGVnfmVHVSFI
CkJjQGg4cwoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvYWxsX3Jlc291cmNlX3R5cGVzLmh0bSBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2FsbF9yZXNvdXJj
ZV90eXBlcy5odG0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDI5OGMzZTQxNDQ4NzIxNzNkZDY4ZmZiNGVhNTViNzZm
NjU5NzhkNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dl
YnBlcmYvcmVzb3VyY2VzL2FsbF9yZXNvdXJjZV90eXBlcy5odG0KQEAgLTAsMCArMSw0MSBAQAor
PCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgY29udGVu
dD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04IiBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIC8+
CisgICAgICAgIDx0aXRsZT5BbGwgUmVzb3VyY2UgVHlwZXMgVGVzdCBQYWdlPC90aXRsZT4KKyAg
ICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICBpZiAo
d2luZG93LnBhcmVudC5oYXNPd25Qcm9wZXJ0eSgnb25fdGVzdF9ib2R5X2NyZWF0ZWQnKSkKKyAg
ICAgICAgICAgICAgICB3aW5kb3cucGFyZW50Lm9uX3Rlc3RfYm9keV9jcmVhdGVkKCk7CisgICAg
ICAgIDwvc2NyaXB0PgorICAgICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Im5lc3Rl
ZC5jc3MiPjwvbGluaz4KKyAgICAgICAgPGltZyBzcmM9ImJsYW5rX2ltYWdlLnBuZyI+PC9pbWc+
CisgICAgICAgIDxpZnJhbWUgc3JjPSJibGFua19wYWdlX2dyZWVuLmh0bSIgd2lkdGg9IjEwMHB4
IiBoZWlnaHQ9IjEwMHB4Ij48L2lmcmFtZT4KKyAgICAgICAgPHNjcmlwdCBzcmM9ImVtcHR5X3Nj
cmlwdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICB2YXIgeGhy
ID0gbmV3IFhNTEh0dHBSZXF1ZXN0OworICAgICAgICAgICAgeGhyLm9wZW4oIkdFVCIsICJibGFu
a19wYWdlX3llbGxvdy5odG0iLCBmYWxzZSk7CisgICAgICAgICAgICB4aHIuc2VuZCgpOworICAg
ICAgICA8L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgQGZvbnQtZmFjZSB7
CisgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IHJlbW90ZUZvbnRBaGVtOworICAgICAgICAg
ICAgICAgIHNyYzogdXJsKCdBaGVtLnR0ZicpOworICAgICAgICAgICAgfQorICAgICAgICAgICAg
aWZyYW1lIHsKKyAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJ2dlbmVyYXRlX3Jlc291
cmNlLnBocD90eXBlPWltYWdlJmlkPTEnKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHVs
IHsKKyAgICAgICAgICAgICAgICBmb250LWZhbWlseTogcmVtb3RlRm9udEFoZW07CisgICAgICAg
ICAgICAgICAgbGlzdC1zdHlsZS1pbWFnZTogdXJsKCdnZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlw
ZT1pbWFnZSZpZD0yJyk7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgICAg
IDx1bD4KKyAgICAgICAgICAgIDxsaT5UZXN0PC9saT4KKyAgICAgICAgPC91bD4KKyAgICAgICAg
PG9sPgorICAgICAgICAgICAgPGxpPlRlc3Q8L2xpPgorICAgICAgICA8L29sPgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBl
cmYvcmVzb3VyY2VzL2JsYW5rX2ltYWdlLnBuZyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNj
L3dlYnBlcmYvcmVzb3VyY2VzL2JsYW5rX2ltYWdlLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jY2Y3YTZjYTA1
YmZmYzkzMDVjOGRlYmNiYzI5ZWYwZDFhNWM3Yjc0CkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAx
MDMKemNtZUFTQE4/KG9sSHlgdVZCcSFpYTB2cF5qM0NVeDFTQlZ2MmoyczZpaTZ5cDd9bE1XYz9z
bGo3STtKIUdjYSVxCnVnREBrKnRUX0B1S157KlIjfUpPfCR2Xik4d2BYQWUkTW87Y25hSmxyYVJ5
SVVLYkxoKjJ+N1lTaDhjX2kKCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2VtcHR5X3NjcmlwdC5q
cyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2VtcHR5X3Nj
cmlwdC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4wOTJiYzJiMDQxMjYxMDA4Nzg1MzA4ODhlNmIxYjMwNjAyZGNl
MjEzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVy
Zi9yZXNvdXJjZXMvZW1wdHlfc2NyaXB0LmpzCkBAIC0wLDAgKzEgQEAKKzsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jl
c291cmNlLnBocCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVzb3VyY2Vz
L2dlbmVyYXRlX3Jlc291cmNlLnBocApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMjkzODcyMWMxZjhlNmM4OTdhZjQz
ZTY1YmVkZDI1YTRkNjcyMGY4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwCkBAIC0wLDAg
KzEsNDMgQEAKKzw/cGhwCisgICR0eXBlID0gJF9HRVRbInR5cGUiXTsKKworICAkcmVzcG9uc2Vf
Y29kZSA9IDIwMDsKKyAgJGJvZHkgPSAiIjsKKyAgJGNvbnRlbnRfdHlwZSA9ICJ0ZXh0L3BsYWlu
IjsKKworICBzd2l0Y2ggKCR0eXBlKSB7CisgIGNhc2UgImNzcyI6CisgICAgICAkYm9keSA9IGZp
bGVfZ2V0X2NvbnRlbnRzKCJncmF5X2JnLmNzcyIpOworICAgICAgJGNvbnRlbnRfdHlwZSA9ICJ0
ZXh0L2NzcyI7CisgICAgICBicmVhazsKKworICBjYXNlICJmb250IjoKKyAgICAgICRib2R5ID0g
ZmlsZV9nZXRfY29udGVudHMoIkFoZW0udHRmIik7CisgICAgICAkY29udGVudF90eXBlID0gImFw
cGxpY2F0aW9uL29jdGV0LXN0cmVhbSI7CisgICAgICBicmVhazsKKworICBjYXNlICJpZnJhbWUi
OgorICAgICAgJGJvZHkgPSBmaWxlX2dldF9jb250ZW50cygiYmxhbmtfcGFnZV9ncmVlbi5odG0i
KTsKKyAgICAgICRjb250ZW50X3R5cGUgPSAidGV4dC9odG1sIjsKKyAgICAgIGJyZWFrOworCisg
IGNhc2UgImltYWdlIjoKKyAgICAgICRib2R5ID0gZmlsZV9nZXRfY29udGVudHMoImJsYW5rX2lt
YWdlLnBuZyIpOworICAgICAgJGNvbnRlbnRfdHlwZSA9ICJpbWFnZS9wbmciOworICAgICAgYnJl
YWs7CisKKyAgY2FzZSAic2NyaXB0IjoKKyAgICAgICRib2R5ID0gZmlsZV9nZXRfY29udGVudHMo
ImVtcHR5X3NjcmlwdC5qcyIpOworICAgICAgJGNvbnRlbnRfdHlwZSA9ICJ0ZXh0L2phdmFzY3Jp
cHQiOworICAgICAgYnJlYWs7CisKKyAgZGVmYXVsdDoKKyAgICAgICRyZXNwb25zZV9jb2RlID0g
NDA0OworICAgICAgYnJlYWs7CisgIH0KKworICBoZWFkZXIoIkhUVFAvMS4xICRyZXNwb25zZV9j
b2RlIik7CisgIGhlYWRlcigiQ29udGVudC10eXBlOiAkY29udGVudF90eXBlIik7CisgIHByaW50
KCRib2R5KTsKKyAgZXhpdDsKKz8+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3czYy93ZWJwZXJmL3Jlc291cmNlcy9ncmF5X2JnLmNzcyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dyYXlfYmcuY3NzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM3MDUxNDVm
Yjg3NzM1NThhNzk1MmRjMTRmMThmZGI0MWU0YjgyMzIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9ncmF5X2JnLmNzcwpAQCAt
MCwwICsxIEBACitib2R5IHsgYmFja2dyb3VuZC1jb2xvcjogI2JiYmJiYjsgfQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvaW5qZWN0X3Jl
c291cmNlX3Rlc3QuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVz
b3VyY2VzL2luamVjdF9yZXNvdXJjZV90ZXN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWYxMDA2MWNlYzg4
MTExNzdlZmU1OThlYjdmNTgzMTM4NGFlMTYzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2luamVjdF9yZXNvdXJjZV90ZXN0
Lmh0bWwKQEAgLTAsMCArMSwzIEBACis8c2NyaXB0Pgord2luZG93LnBhcmVudC5zZXR1cF9pZnJh
bWUoKTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mv
d2VicGVyZi9yZXNvdXJjZXMvbmVzdGVkLmNzcyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNj
L3dlYnBlcmYvcmVzb3VyY2VzL25lc3RlZC5jc3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmY1MDY1Zjg2ZWFjYWFj
NDBlNGVlMjBkNWFhMGYzZmE3OGMyMzM3MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL25lc3RlZC5jc3MKQEAgLTAsMCArMSwx
MCBAQAorQGltcG9ydCAiZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9Y3NzJmlkPW4xIjsKKwor
QGZvbnQtZmFjZSB7CisgICAgZm9udC1mYW1pbHk6IHJlbW90ZUZvbnQ7CisgICAgc3JjOiB1cmwo
J2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPWZvbnQmaWQ9bjEnKTsKK30KK29sIHsKKyAgICBm
b250LWZhbWlseTogcmVtb3RlRm9udDsKKyAgICBsaXN0LXN0eWxlLWltYWdlOiB1cmwoJ2dlbmVy
YXRlX3Jlc291cmNlLnBocD90eXBlPWltYWdlJmlkPW4xJyk7Cit9CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy93ZWJwZXJmdGVzdGhhcm5l
c3MuanMgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy93ZWJw
ZXJmdGVzdGhhcm5lc3MuanMKaW5kZXggODc3NDUwNmUyNDkyOGU3Yjk2MTRjMzBjOTgxYjEzMTEw
YWQwOGQ0My4uNDU0ZDI4ZTkxZjk4ODg3YmYxOTIwNjMxZGYxZjIwOTUxMzUxNzNhMSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvd2VicGVy
ZnRlc3RoYXJuZXNzLmpzCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYv
cmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVzcy5qcwpAQCAtMTUwLDcgKzE1MCw2MyBAQCBmdW5j
dGlvbiB0ZXN0X2dyZWF0ZXJfdGhhbih2YWx1ZSwgZ3JlYXRlcl90aGFuLCBtc2csIHByb3BlcnRp
ZXMpCiAgICAgd3BfdGVzdChmdW5jdGlvbiAoKSB7IGFzc2VydF90cnVlKHZhbHVlID4gZ3JlYXRl
cl90aGFuLCBtc2cpOyB9LCBtc2csIHByb3BlcnRpZXMpOwogfQogCitmdW5jdGlvbiB0ZXN0X2dy
ZWF0ZXJfb3JfZXF1YWxzKHZhbHVlLCBncmVhdGVyX3RoYW4sIG1zZywgcHJvcGVydGllcykKK3sK
KyAgICB3cF90ZXN0KGZ1bmN0aW9uICgpIHsgYXNzZXJ0X3RydWUodmFsdWUgPj0gZ3JlYXRlcl90
aGFuLCBtc2cpOyB9LCBtc2csIHByb3BlcnRpZXMpOworfQorCiBmdW5jdGlvbiB0ZXN0X25vdF9l
cXVhbHModmFsdWUsIG5vdGVxdWFscywgbXNnLCBwcm9wZXJ0aWVzKQogewogICAgIHdwX3Rlc3Qo
ZnVuY3Rpb24oKSB7IGFzc2VydF90cnVlKHZhbHVlICE9PSBub3RlcXVhbHMsIG1zZyk7IH0sIG1z
ZywgcHJvcGVydGllcyk7CiB9CisKK2Z1bmN0aW9uIHRlc3RfY29udGFpbnMobmVlZGxlLCBoYXlz
dGFjaywgbXNnLCBwcm9wZXJ0aWVzKQoreworICAgIHdwX3Rlc3QoZnVuY3Rpb24oKSB7IGFzc2Vy
dF90cnVlKG5lZWRsZSBpbiBoYXlzdGFjaywgbXNnKTsgfSwgbXNnLCBwcm9wZXJ0aWVzKTsKK30K
KworZnVuY3Rpb24gdGVzdF9mYWlsKG1zZywgcHJvcGVydGllcykKK3sKKyAgICB3cF90ZXN0KGZ1
bmN0aW9uKCkgeyBhc3NlcnRfdW5yZWFjaGVkKCk7IH0sIG1zZywgcHJvcGVydGllcyk7Cit9CisK
K2Z1bmN0aW9uIHRlc3RfcmVzb3VyY2VfZW50cmllcyhlbnRyaWVzLCBleHBlY3RlZF9lbnRyaWVz
KQoreworICAgIC8vIFRoaXMgaXMgc2xpZ2h0bHkgY29udm9sdXRlZCBzbyB0aGF0IHdlIGNhbiBz
b3J0IHRoZSBvdXRwdXQuCisgICAgdmFyIGFjdHVhbF9lbnRyaWVzID0ge307CisKKyAgICBmb3Ig
KHZhciBpID0gMDsgaSA8IGVudHJpZXMubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgdmFyIGVudHJ5
ID0gZW50cmllc1tpXTsKKyAgICAgICAgdmFyIGZvdW5kID0gZmFsc2U7CisgICAgICAgIGZvciAo
dmFyIGV4cGVjdGVkX2VudHJ5IGluIGV4cGVjdGVkX2VudHJpZXMpIHsKKyAgICAgICAgICAgIGlm
IChlbnRyeS5uYW1lID09IHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4gKyBleHBlY3RlZF9lbnRyeSkg
eworICAgICAgICAgICAgICAgIGZvdW5kID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICBpZiAoZXhw
ZWN0ZWRfZW50cnkgaW4gYWN0dWFsX2VudHJpZXMpIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dF9mYWlsKGV4cGVjdGVkX2VudHJ5ICsgJyBpcyBub3QgZXhwZWN0ZWQgdG8gaGF2ZSBkdXBsaWNh
dGUgZW50cmllcycpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBhY3R1YWxf
ZW50cmllc1tleHBlY3RlZF9lbnRyeV0gPSBlbnRyeTsKKyAgICAgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBpZiAoIWZvdW5kKSB7CisgICAgICAg
ICAgICB0ZXN0X2ZhaWwoZW50cmllc1tpXS5uYW1lICsgJyBpcyBub3QgZXhwZWN0ZWQgdG8gYmUg
aW4gdGhlIFJlc291cmNlIFRpbWluZyBidWZmZXInKTsKKyAgICAgICAgfQorICAgIH0KKworICAg
IHNvcnRlZF91cmxzID0gW107CisgICAgZm9yICh2YXIgaSBpbiBhY3R1YWxfZW50cmllcykgewor
ICAgICAgICBzb3J0ZWRfdXJscy5wdXNoKGkpOworICAgIH0KKyAgICBzb3J0ZWRfdXJscy5zb3J0
KCk7CisgICAgZm9yICh2YXIgaSBpbiBzb3J0ZWRfdXJscykgeworICAgICAgICB2YXIgdXJsID0g
c29ydGVkX3VybHNbaV07CisgICAgICAgIHRlc3RfZXF1YWxzKGFjdHVhbF9lbnRyaWVzW3VybF0u
aW5pdGlhdG9yVHlwZSwKKyAgICAgICAgICAgICAgICAgICAgZXhwZWN0ZWRfZW50cmllc1t1cmxd
LAorICAgICAgICAgICAgICAgICAgICB1cmwgKyAnIGlzIGV4cGVjdGVkIHRvIGhhdmUgaW5pdGlh
dG9yVHlwZSAnICsgZXhwZWN0ZWRfZW50cmllc1t1cmxdKTsKKyAgICB9CisgICAgZm9yICh2YXIg
aiBpbiBleHBlY3RlZF9lbnRyaWVzKSB7CisgICAgICAgIGlmICghKGogaW4gYWN0dWFsX2VudHJp
ZXMpKSB7CisgICAgICAgICAgICB0ZXN0X2ZhaWwoaiArICcgaXMgZXhwZWN0ZWQgdG8gYmUgaW4g
dGhlIFJlc291cmNlIFRpbWluZyBidWZmZXInKTsKKyAgICAgICAgfQorICAgIH0KK30KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNv
dXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX2F0dHJpYnV0ZV9vcmRlci1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3Vy
Y2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9hdHRyaWJ1dGVfb3JkZXItZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjQ4YTZmNDJjNjIzMmQ5ZDc5YWIzM2JmY2MwYmU5OTY5YWVjNzY2MWQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1p
c3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9hdHRyaWJ1dGVfb3JkZXIt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTggQEAKK0Rlc2NyaXB0aW9uCisKK1RoaXMgdGVzdCB2
YWxpZGF0ZXMgdGhhdCBhbGwgb2YgdGhlIGluaXRpYXRvciB0eXBlcyBhcmUgcmVwcmVzZW50ZWQu
CisKKworCitQQVNTIE9ubHkgMSBQZXJmb3JtYW5jZUVudHJ5IHNob3VsZCBtYXRjaCAKK1BBU1Mg
cmVkaXJlY3RTdGFydCBzaG91bGQgYmUgMCAKK1BBU1MgcmVkaXJlY3RFbmQgc2hvdWxkIGJlIDAg
CitGQUlMIGZldGNoU3RhcnQgc2hvdWxkIGJlIG5vbi16ZXJvIGFzc2VydF90cnVlOiBmZXRjaFN0
YXJ0IHNob3VsZCBiZSBub24temVybyBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorUEFTUyBkb21h
aW5Mb29rdXBTdGFydCBzaG91bGQgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIGZldGNoU3Rh
cnQgCitQQVNTIGRvbWFpbkxvb2t1cEVuZCBzaG91bGQgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFs
IHRvIGRvbWFpbkxvb2t1cFN0YXJ0IAorUEFTUyBjb25uZWN0U3RhcnQgc2hvdWxkIGJlIGdyZWF0
ZXIgdGhhbiBvciBlcXVhbCB0byBkb21haW5Mb29rdXBFbmQgCitQQVNTIGNvbm5lY3RFbmQgc2hv
dWxkIGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byBjb25uZWN0U3RhcnQgCitQQVNTIHJlcXVl
c3RTdGFydCBzaG91bGQgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIGNvbm5lY3RFbmQgCitQ
QVNTIHJlc3BvbnNlU3RhcnQgc2hvdWxkIGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byByZXF1
ZXN0U3RhcnQgCitQQVNTIHJlc3BvbnNlRW5kIHNob3VsZCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1
YWwgdG8gcmVzcG9uc2VTdGFydCAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3Vy
Y2VfYXR0cmlidXRlX29yZGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJw
ZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9hdHRyaWJ1
dGVfb3JkZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MzBkMzIzZjI3M2UxOTY2ODliZDRlY2UxNjEyMTM4
YTkwMTJhM2I3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mv
d2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2VfYXR0
cmlidXRlX29yZGVyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+Cis8dGl0bGU+UmVzb3VyY2UgVGlt
aW5nIGF0dHJpYnV0ZSBvcmRlcjwvdGl0bGU+Cis8bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ikdv
b2dsZSIgaHJlZj0iaHR0cDovL3d3dy5nb29nbGUuY29tLyIgLz4KKzxsaW5rIHJlbD0iaGVscCIg
aHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvcmVzb3VyY2UtdGltaW5nLyNwZXJmb3JtYW5jZXJl
c291cmNldGltaW5nIi8+Cis8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL3dl
YnBlcmZ0ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZnVuY3Rpb24gc2V0dXBf
aWZyYW1lKCkgeworICAgIGlmcmFtZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmcmFtZUNv
bnRleHQnKTsKKyAgICB2YXIgZCA9IGlmcmFtZS5jb250ZW50V2luZG93LmRvY3VtZW50OworICAg
IHZhciBib2R5ID0gZC5jcmVhdGVFbGVtZW50KCdib2R5Jyk7CisgICAgZC5nZXRFbGVtZW50c0J5
VGFnTmFtZSgnaHRtbCcpWzBdLmFwcGVuZENoaWxkKGJvZHkpOworCisgICAgdmFyIGltYWdlID0g
ZC5jcmVhdGVFbGVtZW50KCdpbWcnKTsKKyAgICBpbWFnZS5zcmMgPSAnL3czYy93ZWJwZXJmL3Jl
c291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1pbWFnZSc7CisgICAgYm9keS5hcHBl
bmRDaGlsZChpbWFnZSk7Cit9CitmdW5jdGlvbiBvbmxvYWRfdGVzdCgpIHsKKyAgICB2YXIgZW50
cmllcyA9IGlmcmFtZS5jb250ZW50V2luZG93LnBlcmZvcm1hbmNlLndlYmtpdEdldEVudHJpZXNC
eU5hbWUod2luZG93LmxvY2F0aW9uLm9yaWdpbiArICcvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dl
bmVyYXRlX3Jlc291cmNlLnBocD90eXBlPWltYWdlJyk7CisgICAgdGVzdF9lcXVhbHMoZW50cmll
cy5sZW5ndGgsIDEsICdPbmx5IDEgUGVyZm9ybWFuY2VFbnRyeSBzaG91bGQgbWF0Y2gnKTsKKyAg
ICB2YXIgZW50cnkgPSBlbnRyaWVzWzBdOworCisgICAgdGVzdF9lcXVhbHMoZW50cnkucmVkaXJl
Y3RTdGFydCwgMCwgInJlZGlyZWN0U3RhcnQgc2hvdWxkIGJlIDAiKTsKKyAgICB0ZXN0X2VxdWFs
cyhlbnRyeS5yZWRpcmVjdEVuZCwgMCwgInJlZGlyZWN0RW5kIHNob3VsZCBiZSAwIik7CisgICAg
dGVzdF9ncmVhdGVyX3RoYW4oZW50cnkuZmV0Y2hTdGFydCwgMCwgImZldGNoU3RhcnQgc2hvdWxk
IGJlIG5vbi16ZXJvIik7CisgICAgdGVzdF9ncmVhdGVyX29yX2VxdWFscyhlbnRyeS5kb21haW5M
b29rdXBTdGFydCwgZW50cnkuZmV0Y2hTdGFydCwgImRvbWFpbkxvb2t1cFN0YXJ0IHNob3VsZCBi
ZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gZmV0Y2hTdGFydCIpOworICAgIHRlc3RfZ3JlYXRl
cl9vcl9lcXVhbHMoZW50cnkuZG9tYWluTG9va3VwRW5kLCBlbnRyeS5kb21haW5Mb29rdXBTdGFy
dCwgImRvbWFpbkxvb2t1cEVuZCBzaG91bGQgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIGRv
bWFpbkxvb2t1cFN0YXJ0Iik7CisgICAgdGVzdF9ncmVhdGVyX29yX2VxdWFscyhlbnRyeS5jb25u
ZWN0U3RhcnQsIGVudHJ5LmRvbWFpbkxvb2t1cEVuZCwgImNvbm5lY3RTdGFydCBzaG91bGQgYmUg
Z3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIGRvbWFpbkxvb2t1cEVuZCIpOworICAgIHRlc3RfZ3Jl
YXRlcl9vcl9lcXVhbHMoZW50cnkuY29ubmVjdEVuZCwgZW50cnkuY29ubmVjdFN0YXJ0LCAiY29u
bmVjdEVuZCBzaG91bGQgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIGNvbm5lY3RTdGFydCIp
OworICAgIHRlc3RfZ3JlYXRlcl9vcl9lcXVhbHMoZW50cnkucmVxdWVzdFN0YXJ0LCBlbnRyeS5j
b25uZWN0RW5kLCAicmVxdWVzdFN0YXJ0IHNob3VsZCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwg
dG8gY29ubmVjdEVuZCIpOworICAgIHRlc3RfZ3JlYXRlcl9vcl9lcXVhbHMoZW50cnkucmVzcG9u
c2VTdGFydCwgZW50cnkucmVxdWVzdFN0YXJ0LCAicmVzcG9uc2VTdGFydCBzaG91bGQgYmUgZ3Jl
YXRlciB0aGFuIG9yIGVxdWFsIHRvIHJlcXVlc3RTdGFydCIpOworICAgIHRlc3RfZ3JlYXRlcl9v
cl9lcXVhbHMoZW50cnkucmVzcG9uc2VFbmQsIGVudHJ5LnJlc3BvbnNlU3RhcnQsICJyZXNwb25z
ZUVuZCBzaG91bGQgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIHJlc3BvbnNlU3RhcnQiKTsK
K30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8aDE+RGVzY3JpcHRpb248L2gxPgorPHA+
VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IGFsbCBvZiB0aGUgaW5pdGlhdG9yIHR5cGVzIGFyZSBy
ZXByZXNlbnRlZC48L3A+Cis8ZGl2IGlkPSJsb2ciPjwvZGl2PgorPGlmcmFtZSBpZD0iZnJhbWVD
b250ZXh0IiBvbmxvYWQ9Im9ubG9hZF90ZXN0KCk7IiBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJj
ZXMvaW5qZWN0X3Jlc291cmNlX3Rlc3QuaHRtbCI+PC9pZnJhbWU+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Np
b24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9keW5hbWljX2luc2VydGlvbi1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Np
b24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9keW5hbWljX2luc2VydGlvbi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTljNDAwZGRkYzI5ODhhMTMxNTYzYWQ0NzkyMmMyMjlh
NTEyNGM3YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dl
YnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX2R5bmFt
aWNfaW5zZXJ0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwIEBACitEZXNjcmlwdGlvbgor
CitUaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQgYWxsIG9mIHRoZSBpbml0aWF0b3IgdHlwZXMgYXJl
IHJlcHJlc2VudGVkIGV2ZW4gd2hlbiBkeW5hbWljYWxseSBpbnNlcnRlZC4KKworCisKK1BBU1Mg
L3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1jc3MgaXMg
ZXhwZWN0ZWQgdG8gaGF2ZSBpbml0aWF0b3JUeXBlIGxpbmsgCitQQVNTIC93M2Mvd2VicGVyZi9y
ZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9aWZyYW1lIGlzIGV4cGVjdGVkIHRv
IGhhdmUgaW5pdGlhdG9yVHlwZSBpZnJhbWUgCitQQVNTIC93M2Mvd2VicGVyZi9yZXNvdXJjZXMv
Z2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9aW1hZ2UgaXMgZXhwZWN0ZWQgdG8gaGF2ZSBpbml0
aWF0b3JUeXBlIGltZyAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mv
d2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2VfZHlu
YW1pY19pbnNlcnRpb24uaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYv
c3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX2R5bmFtaWNfaW5z
ZXJ0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmY3MzEwODQ3MWYxZTFiZmE4MDM0MGQzZDIxNzM2YjNl
ZWNhMTRmOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dl
YnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX2R5bmFt
aWNfaW5zZXJ0aW9uLmh0bWwKQEAgLTAsMCArMSw1MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+Cis8dGl0bGU+UmVzb3VyY2UgVGlt
aW5nIGluaXRpYXRvciB0eXBlcyB3aXRoIGR5bmFtaWMgaW5zZXJ0aW9uPC90aXRsZT4KKzxsaW5r
IHJlbD0iYXV0aG9yIiB0aXRsZT0iR29vZ2xlIiBocmVmPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20v
IiAvPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9yZXNvdXJj
ZS10aW1pbmcvI2RvbS1wZXJmb3JtYW5jZXJlc291cmNldGltaW5nLWluaXRpYXRvcnR5cGUiLz4K
KzxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+Cit2YXIgaWZyYW1lOworZnVuY3Rpb24gc2V0dXBfaWZy
YW1lKCkgeworICAgIGlmcmFtZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmcmFtZUNvbnRl
eHQnKTsKKyAgICB2YXIgZCA9IGlmcmFtZS5jb250ZW50V2luZG93LmRvY3VtZW50OworICAgIHZh
ciBib2R5ID0gZC5jcmVhdGVFbGVtZW50KCdib2R5Jyk7CisgICAgZC5nZXRFbGVtZW50c0J5VGFn
TmFtZSgnaHRtbCcpWzBdLmFwcGVuZENoaWxkKGJvZHkpOworCisgICAgdmFyIHN0eWxlID0gZC5j
cmVhdGVFbGVtZW50KCdsaW5rJyk7CisgICAgc3R5bGUucmVsID0gJ3N0eWxlc2hlZXQnOworICAg
IHN0eWxlLmhyZWYgPSAnL3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5w
aHA/dHlwZT1jc3MnOworICAgIGJvZHkuYXBwZW5kQ2hpbGQoc3R5bGUpOworCisgICAgdmFyIGlt
YWdlID0gZC5jcmVhdGVFbGVtZW50KCdpbWcnKTsKKyAgICBpbWFnZS5zcmMgPSAnL3czYy93ZWJw
ZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1pbWFnZSc7CisgICAgYm9k
eS5hcHBlbmRDaGlsZChpbWFnZSk7CisKKyAgICB2YXIgc3ViZnJhbWUgPSBkLmNyZWF0ZUVsZW1l
bnQoJ2lmcmFtZScpOworICAgIHN1YmZyYW1lLnNyYyA9ICcvdzNjL3dlYnBlcmYvcmVzb3VyY2Vz
L2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPWlmcmFtZSc7CisgICAgYm9keS5hcHBlbmRDaGls
ZChzdWJmcmFtZSk7Cit9CitmdW5jdGlvbiBvbmxvYWRfdGVzdCgpIHsKKyAgICB2YXIgZW50cmll
cyA9IGlmcmFtZS5jb250ZW50V2luZG93LnBlcmZvcm1hbmNlLndlYmtpdEdldEVudHJpZXMoKTsK
KworICAgIHZhciBleHBlY3RlZF9lbnRyaWVzID0geworICAgICAgICAnL3czYy93ZWJwZXJmL3Jl
c291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1jc3MnOiAnbGluaycsCisgICAgICAg
ICcvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPWltYWdl
JzogJ2ltZycsCisgICAgICAgICcvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291
cmNlLnBocD90eXBlPWlmcmFtZSc6ICdpZnJhbWUnLAorICAgIH07CisKKyAgICB0ZXN0X3Jlc291
cmNlX2VudHJpZXMoZW50cmllcywgZXhwZWN0ZWRfZW50cmllcyk7Cit9Cit3aW5kb3cuc2V0dXBf
aWZyYW1lID0gc2V0dXBfaWZyYW1lOworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxoMT5E
ZXNjcmlwdGlvbjwvaDE+Cis8cD5UaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQgYWxsIG9mIHRoZSBp
bml0aWF0b3IgdHlwZXMgYXJlIHJlcHJlc2VudGVkIGV2ZW4gd2hlbiBkeW5hbWljYWxseSBpbnNl
cnRlZC48L3A+Cis8ZGl2IGlkPSJsb2ciPjwvZGl2PgorPGlmcmFtZSBpZD0iZnJhbWVDb250ZXh0
IiBvbmxvYWQ9Im9ubG9hZF90ZXN0KCk7IiBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMvaW5q
ZWN0X3Jlc291cmNlX3Rlc3QuaHRtbCI+PC9pZnJhbWU+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVz
b3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9pbml0aWF0b3JfdHlwZXMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291
cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2VfaW5pdGlhdG9yX3R5cGVzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xZmM0NTIwNTExZjdkOWQ1MzFhYmFjMTk1OGQ5MDZmNjg5YWE1ZjZlCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJt
aXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2VfaW5pdGlhdG9yX3R5cGVz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE4IEBACitEZXNjcmlwdGlvbgorCitUaGlzIHRlc3Qg
dmFsaWRhdGVzIHRoYXQgYWxsIG9mIHRoZSBpbml0aWF0b3IgdHlwZXMgYXJlIHJlcHJlc2VudGVk
LgorCisKKworUEFTUyAvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL0FoZW0udHRmIGlzIGV4cGVjdGVk
IHRvIGhhdmUgaW5pdGlhdG9yVHlwZSBjc3MgCitQQVNTIC93M2Mvd2VicGVyZi9yZXNvdXJjZXMv
YmxhbmtfaW1hZ2UucG5nIGlzIGV4cGVjdGVkIHRvIGhhdmUgaW5pdGlhdG9yVHlwZSBpbWcgCitQ
QVNTIC93M2Mvd2VicGVyZi9yZXNvdXJjZXMvYmxhbmtfcGFnZV9ncmVlbi5odG0gaXMgZXhwZWN0
ZWQgdG8gaGF2ZSBpbml0aWF0b3JUeXBlIGlmcmFtZSAKK1BBU1MgL3czYy93ZWJwZXJmL3Jlc291
cmNlcy9ibGFua19wYWdlX3llbGxvdy5odG0gaXMgZXhwZWN0ZWQgdG8gaGF2ZSBpbml0aWF0b3JU
eXBlIHhtbGh0dHByZXF1ZXN0IAorUEFTUyAvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2VtcHR5X3Nj
cmlwdC5qcyBpcyBleHBlY3RlZCB0byBoYXZlIGluaXRpYXRvclR5cGUgc2NyaXB0IAorUEFTUyAv
dzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPWNzcyZpZD1u
MSBpcyBleHBlY3RlZCB0byBoYXZlIGluaXRpYXRvclR5cGUgY3NzIAorUEFTUyAvdzNjL3dlYnBl
cmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPWZvbnQmaWQ9bjEgaXMgZXhw
ZWN0ZWQgdG8gaGF2ZSBpbml0aWF0b3JUeXBlIGNzcyAKK1BBU1MgL3czYy93ZWJwZXJmL3Jlc291
cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1pbWFnZSZpZD0xIGlzIGV4cGVjdGVkIHRv
IGhhdmUgaW5pdGlhdG9yVHlwZSBjc3MgCitQQVNTIC93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2Vu
ZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9aW1hZ2UmaWQ9MiBpcyBleHBlY3RlZCB0byBoYXZlIGlu
aXRpYXRvclR5cGUgY3NzIAorUEFTUyAvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jl
c291cmNlLnBocD90eXBlPWltYWdlJmlkPW4xIGlzIGV4cGVjdGVkIHRvIGhhdmUgaW5pdGlhdG9y
VHlwZSBjc3MgCitQQVNTIC93M2Mvd2VicGVyZi9yZXNvdXJjZXMvbmVzdGVkLmNzcyBpcyBleHBl
Y3RlZCB0byBoYXZlIGluaXRpYXRvclR5cGUgbGluayAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1s
L3Rlc3RfcmVzb3VyY2VfaW5pdGlhdG9yX3R5cGVzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNv
dXJjZV9pbml0aWF0b3JfdHlwZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40Mzk2NzBkZTBhMzI5NjIzYjIx
NGVlZjEwYzNlNmQ2Mjk0NjYwNTJiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3Rf
cmVzb3VyY2VfaW5pdGlhdG9yX3R5cGVzLmh0bWwKQEAgLTAsMCArMSw5MiBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+Cis8dGl0bGU+
UmVzb3VyY2UgVGltaW5nIGluaXRpYXRvciB0eXBlczwvdGl0bGU+Cis8bGluayByZWw9ImF1dGhv
ciIgdGl0bGU9Ikdvb2dsZSIgaHJlZj0iaHR0cDovL3d3dy5nb29nbGUuY29tLyIgLz4KKzxsaW5r
IHJlbD0iaGVscCIgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvcmVzb3VyY2UtdGltaW5nLyNk
b20tcGVyZm9ybWFuY2VyZXNvdXJjZXRpbWluZy1pbml0aWF0b3J0eXBlIi8+Cis8c2NyaXB0IHNy
Yz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0Pgorc2V0dXAoe2V4cGxpY2l0X2RvbmU6IHRydWV9KTsKKwordmFyIGJhY2tn
cm91bmRfbG9hZGVkID0gZmFsc2U7Cit2YXIgcGFnZV9sb2FkZWQgPSBmYWxzZTsKK3ZhciBvbF9m
b250X2xvYWRlZCA9IGZhbHNlOwordmFyIHVsX2ZvbnRfbG9hZGVkID0gZmFsc2U7CisKK2Z1bmN0
aW9uIGNoZWNrX2ZpbmlzaGVkKCkgeworICAgIGlmICghdWxfZm9udF9sb2FkZWQpIHsKKyAgICAg
ICAgdWxfZm9udF9sb2FkZWQgPSBjaGVja19mb250X2xvYWRlZCgndWwnKTsKKyAgICB9CisgICAg
aWYgKCFvbF9mb250X2xvYWRlZCkgeworICAgICAgICBvbF9mb250X2xvYWRlZCA9IGNoZWNrX2Zv
bnRfbG9hZGVkKCdvbCcpOworICAgIH0KKyAgICBpZiAocGFnZV9sb2FkZWQgJiYgb2xfZm9udF9s
b2FkZWQgJiYgdWxfZm9udF9sb2FkZWQgJiYgYmFja2dyb3VuZF9sb2FkZWQpIHsKKyAgICAgICAg
cGVyZm9ybV90ZXN0KCk7CisgICAgfQorfQorCitmdW5jdGlvbiBjaGVja19mb250X2xvYWRlZCh0
eXBlKSB7CisgICAgdmFyIHdpZHRoX3Zhcl9uYW1lID0gJ29yaWdpbmFsX3dpZHRoXycgKyB0eXBl
OworICAgIHZhciBlbGVtZW50X3Zhcl9uYW1lID0gJ2VsZW1lbnRfJyArIHR5cGU7CisgICAgaWYg
KCF0aGlzLmhhc093blByb3BlcnR5KHdpZHRoX3Zhcl9uYW1lKSkgeworICAgICAgICB2YXIgZCA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmcmFtZUNvbnRleHQnKS5jb250ZW50V2luZG93LmRv
Y3VtZW50OworICAgICAgICB2YXIgbGlzdCA9IGQuY3JlYXRlRWxlbWVudCh0eXBlKTsKKyAgICAg
ICAgdmFyIGxpID0gZC5jcmVhdGVFbGVtZW50KCdsaScpOworICAgICAgICBsaS5pbm5lckhUTUwg
PSAnd2lkdGhfdGVzdCc7CisgICAgICAgIGxpc3QuYXBwZW5kQ2hpbGQobGkpOworICAgICAgICBk
LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdib2R5JylbMF0uYXBwZW5kQ2hpbGQobGlzdCk7CisgICAg
ICAgIHRoaXNbZWxlbWVudF92YXJfbmFtZV0gPSBsaXN0OworICAgICAgICB0aGlzW3dpZHRoX3Zh
cl9uYW1lXSA9IGxpLm9mZnNldEhlaWdodDsKKyAgICB9CisgICAgcmV0dXJuIHRoaXNbd2lkdGhf
dmFyX25hbWVdICE9IHRoaXNbZWxlbWVudF92YXJfbmFtZV0ub2Zmc2V0SGVpZ2h0OworfQorCitm
dW5jdGlvbiBvbmxvYWRfdGVzdCgpIHsKKyAgICBwYWdlX2xvYWRlZCA9IHRydWU7CisKKyAgICB2
YXIgaW1hZ2UgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbWcnKTsKKyAgICBpbWFnZS5zcmMg
PSAnL3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1pbWFn
ZSZpZD1uMSc7CisgICAgYmFja2dyb3VuZF9sb2FkZWQgPSBpbWFnZS5jb21wbGV0ZWQ7CisgICAg
aWYgKCFiYWNrZ3JvdW5kX2xvYWRlZCkgeworICAgICAgICBpbWFnZS5vbmxvYWQgPSBmdW5jdGlv
bigpIHsKKyAgICAgICAgICAgIGJhY2tncm91bmRfbG9hZGVkID0gdHJ1ZTsKKyAgICAgICAgfQor
ICAgIH0KKworICAgIHNldEludGVydmFsKGNoZWNrX2ZpbmlzaGVkLCAxMDApOworfQorCitmdW5j
dGlvbiBwZXJmb3JtX3Rlc3QoKSB7CisgICAgdmFyIGVudHJpZXMgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgnZnJhbWVDb250ZXh0JykuY29udGVudFdpbmRvdy5wZXJmb3JtYW5jZS53ZWJraXRH
ZXRFbnRyaWVzKCk7CisKKyAgICB2YXIgZXhwZWN0ZWRfZW50cmllcyA9IHsKKyAgICAgICAgJy93
M2Mvd2VicGVyZi9yZXNvdXJjZXMvbmVzdGVkLmNzcyc6ICdsaW5rJywKKyAgICAgICAgJy93M2Mv
d2VicGVyZi9yZXNvdXJjZXMvYmxhbmtfaW1hZ2UucG5nJzogJ2ltZycsCisgICAgICAgICcvdzNj
L3dlYnBlcmYvcmVzb3VyY2VzL2JsYW5rX3BhZ2VfZ3JlZW4uaHRtJzogJ2lmcmFtZScsCisgICAg
ICAgICcvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2VtcHR5X3NjcmlwdC5qcyc6ICdzY3JpcHQnLAor
ICAgICAgICAnL3czYy93ZWJwZXJmL3Jlc291cmNlcy9ibGFua19wYWdlX3llbGxvdy5odG0nOiAn
eG1saHR0cHJlcXVlc3QnLAorICAgICAgICAnL3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0
ZV9yZXNvdXJjZS5waHA/dHlwZT1pbWFnZSZpZD0xJzogJ2NzcycsCisgICAgICAgICcvdzNjL3dl
YnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPWltYWdlJmlkPTInOiAn
Y3NzJywKKyAgICAgICAgJy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvQWhlbS50dGYnOiAnY3NzJywK
KyAgICAgICAgJy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5
cGU9Y3NzJmlkPW4xJzogJ2NzcycsCisgICAgICAgICcvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dl
bmVyYXRlX3Jlc291cmNlLnBocD90eXBlPWZvbnQmaWQ9bjEnOiAnY3NzJywKKyAgICAgICAgJy93
M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9aW1hZ2UmaWQ9
bjEnOiAnY3NzJywKKyAgICB9OworCisgICAgdGVzdF9yZXNvdXJjZV9lbnRyaWVzKGVudHJpZXMs
IGV4cGVjdGVkX2VudHJpZXMpOworICAgIGRvbmUoKTsKK30KKword2luZG93Lm9uX3Rlc3RfYm9k
eV9jcmVhdGVkID0gY2hlY2tfZmluaXNoZWQ7Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PGgxPkRlc2NyaXB0aW9uPC9oMT4KKzxwPlRoaXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCBhbGwgb2Yg
dGhlIGluaXRpYXRvciB0eXBlcyBhcmUgcmVwcmVzZW50ZWQuPC9wPgorPGRpdiBpZD0ibG9nIj48
L2Rpdj4KKzxpZnJhbWUgaWQ9ImZyYW1lQ29udGV4dCIgb25sb2FkPSJvbmxvYWRfdGVzdCgpOyIg
c3JjPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2FsbF9yZXNvdXJjZV90eXBlcy5odG0iIHN0eWxl
PSJ3aWR0aDogMjUwcHg7IGhlaWdodDogMjUwcHg7Ij48L2lmcmFtZT4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlz
c2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX3JlZGlyZWN0cy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVz
b3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9yZWRpcmVjdHMtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmE3ODk4ZDA2ZTU5M2RmNmRiNjU4NTlhNzM4MmU0YTdjYzY3YTY2YjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Np
b24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9yZWRpcmVjdHMtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTIgQEAKK0Rlc2NyaXB0aW9uCisKK1RoaXMgdGVzdCB2YWxpZGF0ZXMg
dGhhdCByZWRpcmVjdHMgZG8gbm90IGFsdGVyIHRoZSBVUkwuCisKKworCitQQVNTIC93M2Mvd2Vi
cGVyZi9yZXNvdXJjZXMvcmVkaXJlY3QucGhwP2xvY2F0aW9uPS93M2Mvd2VicGVyZi9yZXNvdXJj
ZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwJTNGdHlwZT1jc3MgaXMgZXhwZWN0ZWQgdG8gaGF2ZSBp
bml0aWF0b3JUeXBlIGxpbmsgCitQQVNTIC93M2Mvd2VicGVyZi9yZXNvdXJjZXMvcmVkaXJlY3Qu
cGhwP2xvY2F0aW9uPS93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhw
JTNGdHlwZT1pZnJhbWUgaXMgZXhwZWN0ZWQgdG8gaGF2ZSBpbml0aWF0b3JUeXBlIGlmcmFtZSAK
K1BBU1MgL3czYy93ZWJwZXJmL3Jlc291cmNlcy9yZWRpcmVjdC5waHA/bG9jYXRpb249L3czYy93
ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHAlM0Z0eXBlPWlmcmFtZSUyNmlk
PXhociBpcyBleHBlY3RlZCB0byBoYXZlIGluaXRpYXRvclR5cGUgeG1saHR0cHJlcXVlc3QgCitQ
QVNTIC93M2Mvd2VicGVyZi9yZXNvdXJjZXMvcmVkaXJlY3QucGhwP2xvY2F0aW9uPS93M2Mvd2Vi
cGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwJTNGdHlwZT1pbWFnZSBpcyBleHBl
Y3RlZCB0byBoYXZlIGluaXRpYXRvclR5cGUgaW1nIAorUEFTUyAvdzNjL3dlYnBlcmYvcmVzb3Vy
Y2VzL3JlZGlyZWN0LnBocD9sb2NhdGlvbj0vdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRl
X3Jlc291cmNlLnBocCUzRnR5cGU9c2NyaXB0IGlzIGV4cGVjdGVkIHRvIGhhdmUgaW5pdGlhdG9y
VHlwZSBzY3JpcHQgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dl
YnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX3JlZGly
ZWN0cy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9u
L3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2VfcmVkaXJlY3RzLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjU4YjhmZjM0ZGI2MDIxN2ExYzk5MDBhNTljMjlhMDNlOWNmOWM2YQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9y
ZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX3JlZGlyZWN0cy5odG1sCkBAIC0wLDAg
KzEsNDkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9
InV0Zi04IiAvPgorPHRpdGxlPlJlc291cmNlIFRpbWluZyByZWRpcmVjdCBuYW1lczwvdGl0bGU+
Cis8bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ikdvb2dsZSIgaHJlZj0iaHR0cDovL3d3dy5nb29n
bGUuY29tLyIgLz4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIv
cmVzb3VyY2UtdGltaW5nLyNwZXJmb3JtYW5jZXJlc291cmNldGltaW5nIi8+Cis8c2NyaXB0IHNy
Yz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0PgordmFyIGlmcmFtZTsKK2Z1bmN0aW9uIHNldHVwX2lmcmFtZSgpIHsKKyAg
ICB2YXIgaWZyYW1lX2NvbnRlbnQgPQorICAgICAgICAnPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBo
cmVmPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL3JlZGlyZWN0LnBocD9sb2NhdGlvbj0vdzNjL3dl
YnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocCUzRnR5cGU9Y3NzIj48L2xpbms+
JyArCisgICAgICAgICc8aW1nIHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNlcy9yZWRpcmVjdC5w
aHA/bG9jYXRpb249L3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHAl
M0Z0eXBlPWltYWdlIj48L2ltZz4nICsKKyAgICAgICAgJzxpZnJhbWUgc3JjPSIvdzNjL3dlYnBl
cmYvcmVzb3VyY2VzL3JlZGlyZWN0LnBocD9sb2NhdGlvbj0vdzNjL3dlYnBlcmYvcmVzb3VyY2Vz
L2dlbmVyYXRlX3Jlc291cmNlLnBocCUzRnR5cGU9aWZyYW1lIj48L2lmcmFtZT4nICsKKyAgICAg
ICAgJzxzY3JpcHQgc3JjPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL3JlZGlyZWN0LnBocD9sb2Nh
dGlvbj0vdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocCUzRnR5cGU9
c2NyaXB0Ij48L3NjcicgKyAnaXB0PicgKworICAgICAgICAnPHNjcmlwdD4nICsKKyAgICAgICAg
J3ZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3Q7JyArCisgICAgICAgICd4aHIub3BlbigiR0VU
IiwgIi93M2Mvd2VicGVyZi9yZXNvdXJjZXMvcmVkaXJlY3QucGhwP2xvY2F0aW9uPS93M2Mvd2Vi
cGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwJTNGdHlwZT1pZnJhbWUlMjZpZD14
aHIiLCBmYWxzZSk7JyArCisgICAgICAgICd4aHIuc2VuZCgpOycgKworICAgICAgICAnPC9zY3In
ICsgJ2lwdD4nOworICAgIGlmcmFtZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmcmFtZUNv
bnRleHQnKTsKKyAgICBpZnJhbWUuY29udGVudFdpbmRvdy5kb2N1bWVudC53cml0ZShpZnJhbWVf
Y29udGVudCk7Cit9CitmdW5jdGlvbiBvbmxvYWRfdGVzdCgpIHsKKyAgICB2YXIgZW50cmllcyA9
IGlmcmFtZS5jb250ZW50V2luZG93LnBlcmZvcm1hbmNlLndlYmtpdEdldEVudHJpZXMoKTsKKwor
ICAgIHZhciBleHBlY3RlZF9lbnRyaWVzID0geworICAgICAgICAnL3czYy93ZWJwZXJmL3Jlc291
cmNlcy9yZWRpcmVjdC5waHA/bG9jYXRpb249L3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0
ZV9yZXNvdXJjZS5waHAlM0Z0eXBlPWNzcyc6ICdsaW5rJywKKyAgICAgICAgJy93M2Mvd2VicGVy
Zi9yZXNvdXJjZXMvcmVkaXJlY3QucGhwP2xvY2F0aW9uPS93M2Mvd2VicGVyZi9yZXNvdXJjZXMv
Z2VuZXJhdGVfcmVzb3VyY2UucGhwJTNGdHlwZT1pbWFnZSc6ICdpbWcnLAorICAgICAgICAnL3cz
Yy93ZWJwZXJmL3Jlc291cmNlcy9yZWRpcmVjdC5waHA/bG9jYXRpb249L3czYy93ZWJwZXJmL3Jl
c291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHAlM0Z0eXBlPWlmcmFtZSc6ICdpZnJhbWUnLAor
ICAgICAgICAnL3czYy93ZWJwZXJmL3Jlc291cmNlcy9yZWRpcmVjdC5waHA/bG9jYXRpb249L3cz
Yy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHAlM0Z0eXBlPXNjcmlwdCc6
ICdzY3JpcHQnLAorICAgICAgICAnL3czYy93ZWJwZXJmL3Jlc291cmNlcy9yZWRpcmVjdC5waHA/
bG9jYXRpb249L3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHAlM0Z0
eXBlPWlmcmFtZSUyNmlkPXhocic6ICd4bWxodHRwcmVxdWVzdCcsCisgICAgfTsKKworICAgIHRl
c3RfcmVzb3VyY2VfZW50cmllcyhlbnRyaWVzLCBleHBlY3RlZF9lbnRyaWVzKTsKK30KK3dpbmRv
dy5zZXR1cF9pZnJhbWUgPSBzZXR1cF9pZnJhbWU7Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPGgxPkRlc2NyaXB0aW9uPC9oMT4KKzxwPlRoaXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCByZWRp
cmVjdHMgZG8gbm90IGFsdGVyIHRoZSBVUkwuPC9wPgorPGRpdiBpZD0ibG9nIj48L2Rpdj4KKzxp
ZnJhbWUgaWQ9ImZyYW1lQ29udGV4dCIgb25sb2FkPSJvbmxvYWRfdGVzdCgpOyIgc3JjPSIvdzNj
L3dlYnBlcmYvcmVzb3VyY2VzL2luamVjdF9yZXNvdXJjZV90ZXN0Lmh0bWwiPjwvaWZyYW1lPgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mv
d2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2Vfc2Ny
aXB0X3R5cGVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBl
cmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX3NjcmlwdF90
eXBlcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTZjNmY5Mzg1ZjQxOWNhYjRkODllZDEwN2E2
Zjk1MWI4YjY5ZDcyMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
dzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNl
X3NjcmlwdF90eXBlcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNiBAQAorRGVzY3JpcHRpb24K
KworVGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IGFsbCBvZiB0aGUgZGlmZmVyZW50IHR5cGVzIG9m
IHNjcmlwdCBsb2FkcyBhcmUgcmVwb3J0ZWQgd2l0aCB0aGUgY29ycmVjdCBpbml0aWF0b3IuCisK
KworCitQQVNTIC93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5
cGU9c2NyaXB0JmlkPTEgaXMgZXhwZWN0ZWQgdG8gaGF2ZSBpbml0aWF0b3JUeXBlIHNjcmlwdCAK
K1BBU1MgL3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1z
Y3JpcHQmaWQ9MiBpcyBleHBlY3RlZCB0byBoYXZlIGluaXRpYXRvclR5cGUgc2NyaXB0IAorUEFT
UyAvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPXNjcmlw
dCZpZD0zIGlzIGV4cGVjdGVkIHRvIGhhdmUgaW5pdGlhdG9yVHlwZSBzY3JpcHQgCitQQVNTIC93
M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9c2NyaXB0Jmlk
PTQgaXMgZXhwZWN0ZWQgdG8gaGF2ZSBpbml0aWF0b3JUeXBlIHNjcmlwdCAKK1BBU1MgL3czYy93
ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1zY3JpcHQmaWQ9NSBp
cyBleHBlY3RlZCB0byBoYXZlIGluaXRpYXRvclR5cGUgc2NyaXB0IAorUEFTUyAvdzNjL3dlYnBl
cmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPXNjcmlwdCZpZD02IGlzIGV4
cGVjdGVkIHRvIGhhdmUgaW5pdGlhdG9yVHlwZSBzY3JpcHQgCitQQVNTIC93M2Mvd2VicGVyZi9y
ZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9c2NyaXB0JmlkPTcgaXMgZXhwZWN0
ZWQgdG8gaGF2ZSBpbml0aWF0b3JUeXBlIHNjcmlwdCAKK1BBU1MgL3czYy93ZWJwZXJmL3Jlc291
cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1zY3JpcHQmaWQ9OCBpcyBleHBlY3RlZCB0
byBoYXZlIGluaXRpYXRvclR5cGUgc2NyaXB0IAorUEFTUyAvdzNjL3dlYnBlcmYvcmVzb3VyY2Vz
L2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPXNjcmlwdCZpZD05IGlzIGV4cGVjdGVkIHRvIGhh
dmUgaW5pdGlhdG9yVHlwZSBzY3JpcHQgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jl
c291cmNlX3NjcmlwdF90eXBlcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2Vi
cGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2Vfc2NyaXB0
X3R5cGVzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTAwMzliYjNlMjdlYTYwYjkzYmEwODEwYjY2OGM2NWJi
N2FiZjAzMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dl
YnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX3Njcmlw
dF90eXBlcy5odG1sCkBAIC0wLDAgKzEsNjYgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPgorPHRpdGxlPlJlc291cmNlIFRpbWluZyBz
Y3JpcHQgaW5pdGlhdG9yIHR5cGVzPC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0i
R29vZ2xlIiBocmVmPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20vIiAvPgorPGxpbmsgcmVsPSJoZWxw
IiBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9yZXNvdXJjZS10aW1pbmcvI2RvbS1wZXJmb3Jt
YW5jZXJlc291cmNldGltaW5nLWluaXRpYXRvcnR5cGUiLz4KKzxzY3JpcHQgc3JjPSIvdzNjL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3czYy9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii93M2Mv
d2VicGVyZi9yZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQ+Cit2YXIgaWZyYW1lOworZnVuY3Rpb24gc2V0dXBfaWZyYW1lKCkgeworICAgIHZhciBpZnJh
bWVfY29udGVudCA9CisgICAgICAgICc8c2NyaXB0IHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNl
cy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1zY3JpcHQmaWQ9MSI+PC9zY3InICsgJ2lwdD4n
ICsKKyAgICAgICAgJzxzY3JpcHQgc3JjPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRl
X3Jlc291cmNlLnBocD90eXBlPXNjcmlwdCZpZD0yIiBhc3luYz48L3NjcicgKyAnaXB0PicgKwor
ICAgICAgICAnPHNjcmlwdCBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVz
b3VyY2UucGhwP3R5cGU9c2NyaXB0JmlkPTMiIGFzeW5jPWZhbHNlPjwvc2NyJyArICdpcHQ+JyAr
CisgICAgICAgICc8c2NyaXB0IHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9y
ZXNvdXJjZS5waHA/dHlwZT1zY3JpcHQmaWQ9NCIgZGVmZXI+PC9zY3InICsgJ2lwdD4nICsKKyAg
ICAgICAgJzxzY3JpcHQ+JyArCisgICAgICAgICdkb2N1bWVudC53cml0ZSgiPHNjcmlwdCBzcmM9
XFwiL3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1zY3Jp
cHQmaWQ9NVxcIj48L3NjciIgKyAiaXB0PiIpOycgKworICAgICAgICAndmFyIHMxID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7JyArCisgICAgICAgICdzMS5zcmMgPSAiL3czYy93
ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1zY3JpcHQmaWQ9NiI7
JyArCisgICAgICAgICdkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVhZCIpWzBdLmFw
cGVuZENoaWxkKHMxKTsnICsKKyAgICAgICAgJ3ZhciBzMiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInNjcmlwdCIpOycgKworICAgICAgICAnczIuc3JjID0gIi93M2Mvd2VicGVyZi9yZXNvdXJj
ZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9c2NyaXB0JmlkPTciOycgKworICAgICAgICAn
czIuYXN5bmMgPSB0cnVlOycgKworICAgICAgICAnZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05h
bWUoImhlYWQiKVswXS5hcHBlbmRDaGlsZChzMik7JyArCisgICAgICAgICd2YXIgczMgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTsnICsKKyAgICAgICAgJ3MzLnNyYyA9ICIvdzNj
L3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPXNjcmlwdCZpZD04
IjsnICsKKyAgICAgICAgJ3MzLmFzeW5jID0gZmFsc2U7JyArCisgICAgICAgICdkb2N1bWVudC5n
ZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVhZCIpWzBdLmFwcGVuZENoaWxkKHMzKTsnICsKKyAgICAg
ICAgJ3ZhciBzNCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpOycgKworICAgICAg
ICAnczQuc3JjID0gIi93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhw
P3R5cGU9c2NyaXB0JmlkPTkiOycgKworICAgICAgICAnczQuZGVmZXIgPSB0cnVlOycgKworICAg
ICAgICAnZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXS5hcHBlbmRDaGls
ZChzNCk7JyArCisgICAgICAgICc8L3NjcicgKyAnaXB0Pic7CisgICAgaWZyYW1lID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ2ZyYW1lQ29udGV4dCcpOworICAgIGlmcmFtZS5jb250ZW50V2lu
ZG93LmRvY3VtZW50LndyaXRlKGlmcmFtZV9jb250ZW50KTsKK30KK2Z1bmN0aW9uIG9ubG9hZF90
ZXN0KCkgeworICAgIHZhciBlbnRyaWVzID0gaWZyYW1lLmNvbnRlbnRXaW5kb3cucGVyZm9ybWFu
Y2Uud2Via2l0R2V0RW50cmllcygpOworCisgICAgdmFyIGV4cGVjdGVkX2VudHJpZXMgPSB7Cisg
ICAgICAgICcvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBl
PXNjcmlwdCZpZD0xJzogJ3NjcmlwdCcsCisgICAgICAgICcvdzNjL3dlYnBlcmYvcmVzb3VyY2Vz
L2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPXNjcmlwdCZpZD0yJzogJ3NjcmlwdCcsCisgICAg
ICAgICcvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPXNj
cmlwdCZpZD0zJzogJ3NjcmlwdCcsCisgICAgICAgICcvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dl
bmVyYXRlX3Jlc291cmNlLnBocD90eXBlPXNjcmlwdCZpZD00JzogJ3NjcmlwdCcsCisgICAgICAg
ICcvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPXNjcmlw
dCZpZD01JzogJ3NjcmlwdCcsCisgICAgICAgICcvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVy
YXRlX3Jlc291cmNlLnBocD90eXBlPXNjcmlwdCZpZD02JzogJ3NjcmlwdCcsCisgICAgICAgICcv
dzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPXNjcmlwdCZp
ZD03JzogJ3NjcmlwdCcsCisgICAgICAgICcvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRl
X3Jlc291cmNlLnBocD90eXBlPXNjcmlwdCZpZD04JzogJ3NjcmlwdCcsCisgICAgICAgICcvdzNj
L3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPXNjcmlwdCZpZD05
JzogJ3NjcmlwdCcsCisgICAgfTsKKworICAgIHRlc3RfcmVzb3VyY2VfZW50cmllcyhlbnRyaWVz
LCBleHBlY3RlZF9lbnRyaWVzKTsKK30KK3dpbmRvdy5zZXR1cF9pZnJhbWUgPSBzZXR1cF9pZnJh
bWU7Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGgxPkRlc2NyaXB0aW9uPC9oMT4KKzxw
PlRoaXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCBhbGwgb2YgdGhlIGRpZmZlcmVudCB0eXBlcyBvZiBz
Y3JpcHQgbG9hZHMgYXJlIHJlcG9ydGVkIHdpdGggdGhlIGNvcnJlY3QgaW5pdGlhdG9yLjwvcAor
PGRpdiBpZD0ibG9nIj48L2Rpdj4KKzxpZnJhbWUgaWQ9ImZyYW1lQ29udGV4dCIgb25sb2FkPSJv
bmxvYWRfdGVzdCgpOyIgc3JjPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2luamVjdF9yZXNvdXJj
ZV90ZXN0Lmh0bWwiPjwvaWZyYW1lPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggZGI5ZTFhMTZjYTVmZjdk
NzNiYWMzZjQxNTU3N2QwOGRkZmRkNThkZS4uODI5YzIyZjdjZGE2MmE2MTg1YTBhOWNjYmQ5MTQy
NjZmMTE3ODA0ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVz
dEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhw
ZWN0YXRpb25zCkBAIC0zNjk5LDMgKzM2OTksNiBAQCBjcmJ1Zy5jb20vMTUyMDA3IHBsYXRmb3Jt
L2Nocm9taXVtL3ZpcnR1YWwvc29mdHdhcmVjb21wb3NpdGluZy9jb2xvci1tYXRjaGluZy9pbQog
Y3JidWcuY29tLzE1MjAwNyBwbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL3NvZnR3YXJlY29tcG9z
aXRpbmcvZ2VvbWV0cnkvYm91bmRzLWlnbm9yZXMtaGlkZGVuLWR5bmFtaWMtbmVnemluZGV4Lmh0
bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGNyYnVnLmNvbS8xNTIwMDcgWyBMaW51eCBNYWMgXSBw
bGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL3NvZnR3YXJlY29tcG9zaXRpbmcvZ2VvbWV0cnkvY2xp
cHBpbmctZm9yZWdyb3VuZC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBjcmJ1Zy5jb20vMTUy
MDA3IHBsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvc29mdHdhcmVjb21wb3NpdGluZy92aXNpYmls
aXR5L3Zpc2liaWxpdHktaW1hZ2UtbGF5ZXJzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KKwor
IyBGYWlscyB1bnRpbCB3ZSBlbmFibGUgdGhlIFJlc291cmNlIFRpbWluZyBBUEkuCit3ZWJraXQu
b3JnL2IvNjExMzggaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRp
bWluZyBbIFNraXAgXQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>166714</attachid>
            <date>2012-10-02 11:07:34 -0700</date>
            <delta_ts>2012-10-02 12:03:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-84883-20121002110647.patch</filename>
            <type>text/plain</type>
            <size>180590</size>
            <attacher name="James Simonsen">simonjam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMwMDQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWE4ZWI5NTJhMjllNWQ1
NjMwOWUyYmM0MGIxYWYyMzJlNjJhMmE5Mi4uYTlkMDVkZDU2N2IzYjNiZWY5NjhmMjUwZTFjMGQx
NDdkNDQzZjAyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzNyBAQAorMjAxMi0xMC0wMSAgSmFt
ZXMgU2ltb25zZW4gIDxzaW1vbmphbUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW1Jlc291cmNl
IFRpbWluZ10gRXhwb3NlIHRpbWluZyBpbmZvcm1hdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODQ4ODMKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBOb3RlOiBTdGFydCByZXZpZXdpbmcgaW4gdGhlIGxv
YWRlci8gZGlyZWN0b3J5LgorCisgICAgICAgIEFkZGVkIGEgTG9hZEluaXRpYXRvciBpbnRlcmZh
Y2UgdGhhdCBtdXN0IGJlIHBhc3NlZCBpbiB3aGVuZXZlciBhIHJlc291cmNlIGlzIHJlcXVlc3Rl
ZC4gSXQncworICAgICAgICB0eXBpY2FsbHkgdGhlIG5vZGUgdGhhdCBpbml0aWF0ZWQgdGhlIGxv
YWQuIFRoZSBMb2FkSW5pdGlhdG9yIHBhc3NlcyB0aGUgZG9jdW1lbnQgYW5kIG5hbWUgb2YKKyAg
ICAgICAgdGhlIGluaXRpYXRvci4KKworICAgICAgICBUaGUgYnVmZmVyIGlzIHBvcHVsYXRlZCBl
dmVuIGlmIHRoZSBsb2FkIHRpbWUgaW5mb3JtYXRpb24gaXMgbWlzc2luZy4gVGhpcyBhbGxvd3Mg
dGVzdGluZyBmcm9tCisgICAgICAgIERSVC4KKworICAgICAgICBUZXN0czogaHR0cC90ZXN0cy93
M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2Vf
YXR0cmlidXRlX29yZGVyLmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvdzNjL3dlYnBl
cmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX2R5bmFtaWNf
aW5zZXJ0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3Vi
bWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX2luaXRpYXRvcl90eXBl
cy5odG1sCisgICAgICAgICAgICAgICBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24v
cmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9yZWRpcmVjdHMuaHRtbAorICAgICAg
ICAgICAgICAgaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWlu
Zy9odG1sL3Rlc3RfcmVzb3VyY2Vfc2NyaXB0X3R5cGVzLmh0bWwKKworICAgICAgICAqIFdlYkNv
cmUuZ3lwaToKKyAgICAgICAgKiBjc3MvQ1NTRm9udEZhY2VTcmNWYWx1ZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpDU1NGb250RmFjZVNyY1ZhbHVlOjpjYWNoZWRGb250KToKKyAgICAgICAgKiBj
c3MvQ1NTSW1hZ2VTZXRWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NJbWFnZVNldFZh
bHVlOjpjYWNoZWRJbWFnZVNldCk6CisgICAgICAgICogY3NzL0NTU0ltYWdlVmFsdWUuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Q1NTSW1hZ2VWYWx1ZTo6Y2FjaGVkSW1hZ2UpOgorICAgICAgICAq
IGNzcy9DU1NMb2FkSW5pdGlhdG9yLmNwcDogVXNlZCBieSBhbGwgQ1NTIGluaXRpYXRvcnMuCisg
ICAgICAgIChXZWJDb3JlOjpDU1NMb2FkSW5pdGlhdG9yOjpDU1NMb2FkSW5pdGlhdG9yKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNTU0xvYWRJbml0aWF0b3I6OmluaXRpYXRvck5hbWUpOgorICAgICAg
ICAqIGNzcy9DU1NMb2FkSW5pdGlhdG9yLmg6CisgICAgICAgIChXVEYpOgorICAgICAgICAoV2Vi
Q29yZSk6CisgICAgICAgIChDU1NMb2FkSW5pdGlhdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OkNT
U0xvYWRJbml0aWF0b3I6OmluaXRpYXRvckRvY3VtZW50KToKKyAgICAgICAgKiBjc3MvU3R5bGVS
dWxlSW1wb3J0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZUltcG9ydDo6cmVxdWVz
dFN0eWxlU2hlZXQpOgorICAgICAgICAqIGNzcy9XZWJLaXRDU1NTVkdEb2N1bWVudFZhbHVlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OldlYktpdENTU1NWR0RvY3VtZW50VmFsdWU6OmxvYWQpOgor
ICAgICAgICAqIGNzcy9XZWJLaXRDU1NTaGFkZXJWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpXZWJLaXRDU1NTaGFkZXJWYWx1ZTo6Y2FjaGVkU2hhZGVyKToKKyAgICAgICAgKiBkb20vTm9k
ZS5oOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6aW5pdGlhdG9yTmFtZSk6CisgICAgICAgIChX
ZWJDb3JlOjpOb2RlOjppbml0aWF0b3JEb2N1bWVudCk6CisgICAgICAgIChOb2RlKToKKyAgICAg
ICAgKiBkb20vUHJvY2Vzc2luZ0luc3RydWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBy
b2Nlc3NpbmdJbnN0cnVjdGlvbjo6Y2hlY2tTdHlsZVNoZWV0KToKKyAgICAgICAgKiBkb20vU2Ny
aXB0RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRFbGVtZW50OjpyZXF1ZXN0
U2NyaXB0KToKKyAgICAgICAgKiBodG1sL0hUTUxMaW5rRWxlbWVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MTGlua0VsZW1lbnQ6OnByb2Nlc3MpOgorICAgICAgICAqIGh0bWwvSFRNTExp
bmtFbGVtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTGlua0VsZW1lbnQ6OmluaXRpYXRv
cik6CisgICAgICAgICogaHRtbC9wYXJzZXIvQ1NTUHJlbG9hZFNjYW5uZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTUHJlbG9hZFNjYW5uZXI6OmVtaXRSdWxlKToKKyAgICAgICAgKFdlYkNv
cmU6OkNTU1ByZWxvYWRTY2FubmVyOjppbml0aWF0b3JOYW1lKToKKyAgICAgICAgKFdlYkNvcmUp
OgorICAgICAgICAqIGh0bWwvcGFyc2VyL0NTU1ByZWxvYWRTY2FubmVyLmg6CisgICAgICAgIChD
U1NQcmVsb2FkU2Nhbm5lcik6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmVsb2FkU2Nhbm5lcjo6
aW5pdGlhdG9yRG9jdW1lbnQpOgorICAgICAgICAqIGh0bWwvcGFyc2VyL0hUTUxQcmVsb2FkU2Nh
bm5lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQcmVsb2FkVGFzazo6UHJlbG9hZFRhc2spOgor
ICAgICAgICAoV2ViQ29yZTo6UHJlbG9hZFRhc2s6OnByZWxvYWQpOgorICAgICAgICAoV2ViQ29y
ZTo6UHJlbG9hZFRhc2s6OmluaXRpYXRvck5hbWUpOgorICAgICAgICAoV2ViQ29yZTo6UHJlbG9h
ZFRhc2s6OmluaXRpYXRvckRvY3VtZW50KToKKyAgICAgICAgKFByZWxvYWRUYXNrKToKKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxQcmVsb2FkU2Nhbm5lcjo6cHJvY2Vzc1Rva2VuKToKKyAgICAgICAg
KiBodG1sL3RyYWNrL0xvYWRhYmxlVGV4dFRyYWNrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okxv
YWRhYmxlVGV4dFRyYWNrOjppbml0aWF0b3IpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAg
ICogaHRtbC90cmFjay9Mb2FkYWJsZVRleHRUcmFjay5oOgorICAgICAgICAoTG9hZGFibGVUZXh0
VHJhY2tDbGllbnQpOgorICAgICAgICAoTG9hZGFibGVUZXh0VHJhY2spOgorICAgICAgICAqIGxv
YWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9j
dW1lbnRUaHJlYWRhYmxlTG9hZGVyOjpsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KToKKyAgICAg
ICAgKFdlYkNvcmU6OkRvY3VtZW50VGhyZWFkYWJsZUxvYWRlcjo6Y3JlYXRlKToKKyAgICAgICAg
KFdlYkNvcmU6OkRvY3VtZW50VGhyZWFkYWJsZUxvYWRlcjo6RG9jdW1lbnRUaHJlYWRhYmxlTG9h
ZGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50VGhyZWFkYWJsZUxvYWRlcjo6bm90aWZ5
RmluaXNoZWQpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyOjps
b2FkUmVxdWVzdCk6CisgICAgICAgICogbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5o
OgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChEb2N1bWVudFRocmVhZGFibGVMb2FkZXIp
OgorICAgICAgICAqIGxvYWRlci9JbWFnZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJ
bWFnZUxvYWRlcjo6dXBkYXRlRnJvbUVsZW1lbnQpOgorICAgICAgICAqIGxvYWRlci9MaW5rTG9h
ZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxpbmtMb2FkZXI6OmxvYWRMaW5rKToKKyAgICAg
ICAgKiBsb2FkZXIvTGlua0xvYWRlckNsaWVudC5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgIChMaW5rTG9hZGVyQ2xpZW50KToKKyAgICAgICAgKiBsb2FkZXIvTG9hZEluaXRpYXRvci5o
OgorICAgICAgICAoV1RGKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoTG9hZEluaXRp
YXRvcik6CisgICAgICAgICogbG9hZGVyL0xvYWRJbml0aWF0b3JIYW5kbGUuY3BwOiBTYXZlcyBM
b2FkSW5pdGlhdG9yIGRhdGEgdW50aWwgdGhlIGxvYWQgY29tcGxldGVzLgorICAgICAgICAoV2Vi
Q29yZTo6TG9hZEluaXRpYXRvckhhbmRsZTo6TG9hZEluaXRpYXRvckhhbmRsZSk6CisgICAgICAg
IChXZWJDb3JlOjpMb2FkSW5pdGlhdG9ySGFuZGxlOjpjbGVhcik6CisgICAgICAgICogbG9hZGVy
L0xvYWRJbml0aWF0b3JIYW5kbGUuaDoKKyAgICAgICAgKExvYWRJbml0aWF0b3JIYW5kbGUpOgor
ICAgICAgICAoV2ViQ29yZTo6TG9hZEluaXRpYXRvckhhbmRsZTo6aW5pdGlhdG9yTmFtZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpMb2FkSW5pdGlhdG9ySGFuZGxlOjppbml0aWF0b3JEb2N1bWVudCk6
CisgICAgICAgICogbG9hZGVyL01haW5SZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpNYWluUmVzb3VyY2VMb2FkZXI6OmRpZEZpbmlzaExvYWRpbmcpOgorICAgICAgICAqIGxv
YWRlci9OdWxsTG9hZEluaXRpYXRvci5jcHA6IERlZmF1bHQgTG9hZEluaXRpdG9yIHVzZWQgaWYg
bm8gaW5mb3JtYXRpb24gaXMgYXZhaWxhYmxlLgorICAgICAgICAoV2ViQ29yZTo6TnVsbExvYWRJ
bml0aWF0b3I6Omluc3RhbmNlKToKKyAgICAgICAgKiBsb2FkZXIvTnVsbExvYWRJbml0aWF0b3Iu
aDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoTnVsbExvYWRJbml0aWF0b3IpOgorICAg
ICAgICAoV2ViQ29yZTo6TnVsbExvYWRJbml0aWF0b3I6OmluaXRpYXRvck5hbWUpOgorICAgICAg
ICAoV2ViQ29yZTo6TnVsbExvYWRJbml0aWF0b3I6OmluaXRpYXRvckRvY3VtZW50KToKKyAgICAg
ICAgKiBsb2FkZXIvUmVzb3VyY2VMb2FkTm90aWZpZXIuY3BwOiBDb2xsZWN0IHRpbWluZyBpbmZv
IGZvciBzdWJyZXNvdXJjZXMgd2hlbiBSRVNPVVJDRV9USU1JTkcgaXMgZW5hYmxlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OlJlc291cmNlTG9hZE5vdGlmaWVyOjpkaXNwYXRjaFdpbGxTZW5kUmVxdWVz
dCk6CisgICAgICAgICogbG9hZGVyL1Jlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlc291cmNlTG9hZGVyOjp3aWxsU2VuZFJlcXVlc3QpOiBLZWVwIHRyYWNrIG9mIHRoZSBv
cmlnaW5hbCByZXF1ZXN0IGV2ZW4gd2hlbiBjYWxsZWQgYnkgTWFpblJlc291cmNlTG9hZGVyLCB3
aGljaCBieXBhc3NlcyBpbml0KCkuCisgICAgICAgICogbG9hZGVyL1N1YnJlc291cmNlTG9hZGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN1YnJlc291cmNlTG9hZGVyOjp3aWxsU2VuZFJlcXVl
c3QpOgorICAgICAgICAoV2ViQ29yZTo6U3VicmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVSZXNw
b25zZSk6CisgICAgICAgIChXZWJDb3JlOjpTdWJyZXNvdXJjZUxvYWRlcjo6c2VuZERhdGFUb1Jl
c291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OlN1YnJlc291cmNlTG9hZGVyOjpkaWRGaW5pc2hM
b2FkaW5nKTogUG9wdWxhdGUgUmVzb3VyY2UgVGltaW5nIGJ1ZmZlciBoZXJlLgorICAgICAgICAq
IGxvYWRlci9UZXh0VHJhY2tMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAg
IChXZWJDb3JlOjpUZXh0VHJhY2tMb2FkZXI6OmN1ZUxvYWRUaW1lckZpcmVkKToKKyAgICAgICAg
KFdlYkNvcmU6OlRleHRUcmFja0xvYWRlcjo6cHJvY2Vzc05ld0N1ZURhdGEpOgorICAgICAgICAo
V2ViQ29yZTo6VGV4dFRyYWNrTG9hZGVyOjpkaWRSZWNlaXZlRGF0YSk6CisgICAgICAgIChXZWJD
b3JlOjpUZXh0VHJhY2tMb2FkZXI6Om5vdGlmeUZpbmlzaGVkKToKKyAgICAgICAgKFdlYkNvcmU6
OlRleHRUcmFja0xvYWRlcjo6bG9hZCk6CisgICAgICAgICogbG9hZGVyL1RleHRUcmFja0xvYWRl
ci5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChUZXh0VHJhY2tMb2FkZXJDbGllbnQp
OgorICAgICAgICAqIGxvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlRocmVhZGFibGVMb2FkZXI6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpUaHJlYWRh
YmxlTG9hZGVyOjpsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KToKKyAgICAgICAgKiBsb2FkZXIv
VGhyZWFkYWJsZUxvYWRlci5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChUaHJlYWRh
YmxlTG9hZGVyKToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwOgor
ICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpjYWNoZWRSZXNvdXJjZVR5cGVU
b1RhcmdldFR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OmxvYWQpOgor
ICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OmRhdGEpOgorICAgICAgICAoV2ViQ29y
ZTo6Q2FjaGVkUmVzb3VyY2U6OmZpbmlzaCk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNv
dXJjZTo6c3RvcExvYWRpbmcpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OnNl
dERlY29kZWRTaXplKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlOjpzZXRFbmNv
ZGVkU2l6ZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZTo6ZGlkQWNjZXNzRGVj
b2RlZERhdGEpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OnNldFJlc291cmNl
VG9SZXZhbGlkYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlOjpjbGVhclJl
c291cmNlVG9SZXZhbGlkYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlOjpt
dXN0UmV2YWxpZGF0ZUR1ZVRvQ2FjaGVIZWFkZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hl
ZFJlc291cmNlOjppc1NhZmVUb01ha2VQdXJnZWFibGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2Fj
aGVkUmVzb3VyY2U6Om1ha2VQdXJnZWFibGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVz
b3VyY2U6OnNldExvYWRQcmlvcml0eSk6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJl
c291cmNlLmg6CisgICAgICAgIChDYWNoZWRSZXNvdXJjZSk6CisgICAgICAgIChXZWJDb3JlOjpD
YWNoZWRSZXNvdXJjZTo6cmVzb3VyY2VSZXF1ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hl
ZFJlc291cmNlOjp1cmwpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OnNldElu
aXRpYXRvcik6IFRyYWNrIHRoaXMgZm9yIHRoZSBsaWZlIG9mIHRoZSBsb2FkLgorICAgICAgICAo
V2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OmluaXRpYXRvcik6CisgICAgICAgICogbG9hZGVyL2Nh
Y2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcDogUGFzcyB0aGUgaW5pdGlhdG9yIHRocm91Z2gu
CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdEltYWdlKToK
KyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0Rm9udCk6Cisg
ICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFRleHRUcmFjayk6
CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFNoYWRlcik6
CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdENTU1N0eWxl
U2hlZXQpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RV
c2VyQ1NTU3R5bGVTaGVldCk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRl
cjo6cmVxdWVzdFNjcmlwdCk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRl
cjo6cmVxdWVzdFhTTFN0eWxlU2hlZXQpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3Vy
Y2VMb2FkZXI6OnJlcXVlc3RTVkdEb2N1bWVudCk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRS
ZXNvdXJjZUxvYWRlcjo6cmVxdWVzdExpbmtSZXNvdXJjZSk6CisgICAgICAgIChXZWJDb3JlOjpD
YWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFJhd1Jlc291cmNlKToKKyAgICAgICAgKFdlYkNv
cmU6OkNhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0UmVzb3VyY2UpOgorICAgICAgICAoV2Vi
Q29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJldmFsaWRhdGVSZXNvdXJjZSk6CisgICAgICAg
IChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6bG9hZFJlc291cmNlKToKKyAgICAgICAg
KFdlYkNvcmU6OkNhY2hlZFJlc291cmNlTG9hZGVyOjpkZXRlcm1pbmVSZXZhbGlkYXRpb25Qb2xp
Y3kpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJj
ZUxvYWRlcjo6cHJlbG9hZCk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRl
cjo6Y2hlY2tGb3JQZW5kaW5nUHJlbG9hZHMpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVz
b3VyY2VMb2FkZXI6OnJlcXVlc3RQcmVsb2FkKToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2Fj
aGVkUmVzb3VyY2VMb2FkZXIuaDoKKyAgICAgICAgKENhY2hlZFJlc291cmNlTG9hZGVyKToKKyAg
ICAgICAgKFBlbmRpbmdQcmVsb2FkKToKKyAgICAgICAgKiBsb2FkZXIvaWNvbi9JY29uTG9hZGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okljb25Mb2FkZXI6OnN0YXJ0TG9hZGluZyk6CisgICAg
ICAgIChXZWJDb3JlOjpJY29uTG9hZGVyOjppbml0aWF0b3JOYW1lKToKKyAgICAgICAgKFdlYkNv
cmUpOgorICAgICAgICAoV2ViQ29yZTo6SWNvbkxvYWRlcjo6aW5pdGlhdG9yRG9jdW1lbnQpOgor
ICAgICAgICAqIGxvYWRlci9pY29uL0ljb25Mb2FkZXIuaDoKKyAgICAgICAgKEljb25Mb2FkZXIp
OgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGVy
Zm9ybWFuY2U6OmFkZFJlc291cmNlVGltaW5nKToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNl
Lmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFBlcmZvcm1hbmNlKToKKyAgICAgICAg
KiBwYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyk6Cisg
ICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjppbml0aWF0b3JUeXBl
KTogUmV0dXJucyB0aGUgcHJvcGVyIHZhbHVlIG5vdy4KKyAgICAgICAgKFdlYkNvcmU6OlBlcmZv
cm1hbmNlUmVzb3VyY2VUaW1pbmc6OmZldGNoU3RhcnQpOiBSZXR1cm5zIDAgaWYgbm90aGluZyBp
cyBhdmFpbGFibGUuCisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVJlc291cmNlVGltaW5n
Ojpkb21haW5Mb29rdXBTdGFydCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVJlc291
cmNlVGltaW5nOjpkb21haW5Mb29rdXBFbmQpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFu
Y2VSZXNvdXJjZVRpbWluZzo6Y29ubmVjdFN0YXJ0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZv
cm1hbmNlUmVzb3VyY2VUaW1pbmc6OmNvbm5lY3RFbmQpOgorICAgICAgICAoV2ViQ29yZTo6UGVy
Zm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6c2VjdXJlQ29ubmVjdGlvblN0YXJ0KToKKyAgICAgICAg
KFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnJlcXVlc3RTdGFydCk6CisgICAg
ICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpyZXNwb25zZVN0YXJ0KToK
KyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnJlc3BvbnNlRW5k
KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6Om1vbm90b25p
Y1RpbWVUb0RvY3VtZW50TWlsbGlzZWNvbmRzKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1h
bmNlUmVzb3VyY2VUaW1pbmc6OnJlc291cmNlVGltZVRvRG9jdW1lbnRNaWxsaXNlY29uZHMpOgor
ICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oOgorICAgICAgICAoV2Vi
Q29yZTo6UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6Y3JlYXRlKToKKyAgICAgICAgKFBlcmZv
cm1hbmNlUmVzb3VyY2VUaW1pbmcpOgorICAgICAgICAqIHN2Zy9TVkdGRUltYWdlRWxlbWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdGRUltYWdlRWxlbWVudDo6cmVxdWVzdEltYWdlUmVz
b3VyY2UpOgorICAgICAgICAqIHN2Zy9TVkdGb250RmFjZVVyaUVsZW1lbnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHRm9udEZhY2VVcmlFbGVtZW50Ojpsb2FkRm9udCk6CisgICAgICAgICog
c3ZnL1NWR1VzZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVXNlRWxlbWVudDo6
c3ZnQXR0cmlidXRlQ2hhbmdlZCk6CisgICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1ZXN0OjpjcmVhdGVSZXF1ZXN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1ZXN0OjpnZXRSZXNwb25zZUhlYWRlcik6CisgICAgICAg
IChXZWJDb3JlOjpYTUxIdHRwUmVxdWVzdDo6aW5pdGlhdG9yTmFtZSk6CisgICAgICAgIChXZWJD
b3JlKToKKyAgICAgICAgKiB4bWwvWE1MSHR0cFJlcXVlc3QuaDoKKyAgICAgICAgKFhNTEh0dHBS
ZXF1ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1ZXN0Ojppbml0aWF0b3JEb2N1
bWVudCk6CisgICAgICAgICogeG1sL1hTTEltcG9ydFJ1bGUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6WFNMSW1wb3J0UnVsZTo6flhTTEltcG9ydFJ1bGUpOgorICAgICAgICAoV2ViQ29yZTo6WFNM
SW1wb3J0UnVsZTo6c2V0WFNMU3R5bGVTaGVldCk6CisgICAgICAgIChXZWJDb3JlOjpYU0xJbXBv
cnRSdWxlOjpsb2FkU2hlZXQpOgorICAgICAgICAoV2ViQ29yZTo6WFNMSW1wb3J0UnVsZTo6aW5p
dGlhdG9yTmFtZSk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiB4bWwvWFNMSW1wb3J0
UnVsZS5oOgorICAgICAgICAoWFNMSW1wb3J0UnVsZSk6CisgICAgICAgIChXZWJDb3JlOjpYU0xJ
bXBvcnRSdWxlOjppbml0aWF0b3JEb2N1bWVudCk6CisKIDIwMTItMTAtMDEgIEFuZHJlaSBCdWN1
ciAgPGFidWN1ckBhZG9iZS5jb20+CiAKICAgICAgICAgW0NTUyBSZWdpb25zXSBSZW1vdmUgdGhl
IGRlcHJlY2F0ZWQgQVBJIERvY3VtZW50LndlYmtpdEdldEZsb3dCeU5hbWUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQKaW5kZXggNGI2OTI2OTNmYWJmMWZkZjIxMzFmYzUzNjRjODljODkxNTg5ZGU0OS4uNDVh
N2YzMDcyMmZlMTAyOTQwZTNjMTQyNDNhZGVlZTdlNzU4ZWIwNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50
eHQKQEAgLTEwMzAsNiArMTAzMCw3IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBjc3MvQ1NT
SW5oZXJpdGVkVmFsdWUuY3BwCiAgICAgY3NzL0NTU0luaXRpYWxWYWx1ZS5jcHAKICAgICBjc3Mv
Q1NTTGluZUJveENvbnRhaW5WYWx1ZS5jcHAKKyAgICBjc3MvQ1NTTG9hZEluaXRpYXRvci5jcHAK
ICAgICBjc3MvQ1NTTWVkaWFSdWxlLmNwcAogICAgIGNzcy9DU1NPTVV0aWxzLmNwcAogICAgIGNz
cy9DU1NQYWdlUnVsZS5jcHAKQEAgLTE2MjEsOCArMTYyMiwxMCBAQCBTRVQoV2ViQ29yZV9TT1VS
Q0VTCiAgICAgbG9hZGVyL0hpc3RvcnlDb250cm9sbGVyLmNwcAogICAgIGxvYWRlci9JbWFnZUxv
YWRlci5jcHAKICAgICBsb2FkZXIvTGlua0xvYWRlci5jcHAKKyAgICBsb2FkZXIvTG9hZEluaXRp
YXRvckhhbmRsZS5jcHAKICAgICBsb2FkZXIvTWFpblJlc291cmNlTG9hZGVyLmNwcAogICAgIGxv
YWRlci9OYXZpZ2F0aW9uQWN0aW9uLmNwcAorICAgIGxvYWRlci9OdWxsTG9hZEluaXRpYXRvci5j
cHAKICAgICBsb2FkZXIvTmV0c2NhcGVQbHVnSW5TdHJlYW1Mb2FkZXIuY3BwCiAgICAgbG9hZGVy
L1BpbmdMb2FkZXIuY3BwCiAgICAgbG9hZGVyL1BsYWNlaG9sZGVyRG9jdW1lbnQuY3BwCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNv
cmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCAyMmMzMTJjNWFkMzVjYmNhMmEwZjY1YTc0MjIx
MjU1ZjRhYjViNTE1Li5mNzc2NjVhYWU1NWEyMGY4MjNjM2RiNjllZWRmNDVkNDAwNDllODI4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTI1MzQsNiArMjUzNCw4IEBAIHdlYmNv
cmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvY3NzL0NTU0luaXRpYWxWYWx1ZS5oIFwK
IAlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTGluZUJveENvbnRhaW5WYWx1ZS5jcHAgXAogCVNvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NMaW5lQm94Q29udGFpblZhbHVlLmggXAorCVNvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NMb2FkSW5pdGlhdG9yLmNwcCBcCisJU291cmNlL1dlYkNvcmUvY3NzL0NTU0xvYWRJ
bml0aWF0b3IuaCBcCiAJU291cmNlL1dlYkNvcmUvY3NzL0NTU01lZGlhUnVsZS5jcHAgXAogCVNv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NNZWRpYVJ1bGUuaCBcCiAJU291cmNlL1dlYkNvcmUvY3NzL0NT
U05hbWVzcGFjZS5oIFwKQEAgLTM4ODMsMTIgKzM4ODUsMTcgQEAgd2ViY29yZV9zb3VyY2VzICs9
IFwKIAlTb3VyY2UvV2ViQ29yZS9sb2FkZXIvTGlua0xvYWRlci5oIFwKIAlTb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvTGlua0xvYWRlci5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2xvYWRlci9MaW5rTG9h
ZGVyQ2xpZW50LmggXAorCVNvdXJjZS9XZWJDb3JlL2xvYWRlci9Mb2FkSW5pdGlhdG9yLmggXAor
CVNvdXJjZS9XZWJDb3JlL2xvYWRlci9Mb2FkSW5pdGlhdG9ySGFuZGxlLmNwcCBcCisJU291cmNl
L1dlYkNvcmUvbG9hZGVyL0xvYWRJbml0aWF0b3JIYW5kbGUuaCBcCiAJU291cmNlL1dlYkNvcmUv
bG9hZGVyL01haW5SZXNvdXJjZUxvYWRlci5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2xvYWRlci9N
YWluUmVzb3VyY2VMb2FkZXIuaCBcCiAJU291cmNlL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25B
Y3Rpb24uY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvbkFjdGlvbi5oIFwK
IAlTb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmV0c2NhcGVQbHVnSW5TdHJlYW1Mb2FkZXIuY3BwIFwK
IAlTb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmV0c2NhcGVQbHVnSW5TdHJlYW1Mb2FkZXIuaCBcCisJ
U291cmNlL1dlYkNvcmUvbG9hZGVyL051bGxMb2FkSW5pdGlhdG9yLmNwcCBcCisJU291cmNlL1dl
YkNvcmUvbG9hZGVyL051bGxMb2FkSW5pdGlhdG9yLmggXAogCVNvdXJjZS9XZWJDb3JlL2xvYWRl
ci9QaW5nTG9hZGVyLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvbG9hZGVyL1BpbmdMb2FkZXIuaCBc
CiAJU291cmNlL1dlYkNvcmUvbG9hZGVyL1BsYWNlaG9sZGVyRG9jdW1lbnQuY3BwIFwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQu
cHJpCmluZGV4IDZjOWU0Y2NkODQ3ZDc0M2Y0N2VhYmIzYmIzN2VjMzMwYWE3ZTNjMjQuLjExZTFj
YzJlZmI5MThjMjA4YjBiMDk2YWE4MmY4MzYyZWU0OWJmZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1RhcmdldC5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQpAQCAtMjc4
LDYgKzI3OCw3IEBAIFNPVVJDRVMgKz0gXAogICAgIGNzcy9DU1NJbmhlcml0ZWRWYWx1ZS5jcHAg
XAogICAgIGNzcy9DU1NJbml0aWFsVmFsdWUuY3BwIFwKICAgICBjc3MvQ1NTTGluZUJveENvbnRh
aW5WYWx1ZS5jcHAgXAorICAgIGNzcy9DU1NMb2FkSW5pdGlhdG9yLmNwcCBcCiAgICAgY3NzL0NT
U01lZGlhUnVsZS5jcHAgXAogICAgIGNzcy9DU1NPTVV0aWxzLmNwcCBcCiAgICAgY3NzL0NTU1Bh
Z2VSdWxlLmNwcCBcCkBAIC04MjksOSArODMwLDExIEBAIFNPVVJDRVMgKz0gXAogICAgIGxvYWRl
ci9pY29uL0ljb25Mb2FkZXIuY3BwIFwKICAgICBsb2FkZXIvSW1hZ2VMb2FkZXIuY3BwIFwKICAg
ICBsb2FkZXIvTGlua0xvYWRlci5jcHAgXAorICAgIGxvYWRlci9Mb2FkSW5pdGlhdG9ySGFuZGxl
LmNwcCBcCiAgICAgbG9hZGVyL01haW5SZXNvdXJjZUxvYWRlci5jcHAgXAogICAgIGxvYWRlci9O
YXZpZ2F0aW9uQWN0aW9uLmNwcCBcCiAgICAgbG9hZGVyL05ldHNjYXBlUGx1Z0luU3RyZWFtTG9h
ZGVyLmNwcCBcCisgICAgbG9hZGVyL051bGxMb2FkSW5pdGlhdG9yLmNwcCBcCiAgICAgbG9hZGVy
L1BpbmdMb2FkZXIuY3BwIFwKICAgICBsb2FkZXIvUGxhY2Vob2xkZXJEb2N1bWVudC5jcHAgXAog
ICAgIGxvYWRlci9Qb2xpY3lDYWxsYmFjay5jcHAgXApAQCAtMTQ0MCw2ICsxNDQzLDcgQEAgSEVB
REVSUyArPSBcCiAgICAgY3NzL0NTU0ltcG9ydFJ1bGUuaCBcCiAgICAgY3NzL0NTU0luaGVyaXRl
ZFZhbHVlLmggXAogICAgIGNzcy9DU1NJbml0aWFsVmFsdWUuaCBcCisgICAgY3NzL0NTU0xvYWRJ
bml0aWF0b3IuaCBcCiAgICAgY3NzL0NTU01lZGlhUnVsZS5oIFwKICAgICBjc3MvQ1NTT01VdGls
cy5oIFwKICAgICBjc3MvQ1NTUGFnZVJ1bGUuaCBcCkBAIC0xOTUwLDkgKzE5NTQsMTIgQEAgSEVB
REVSUyArPSBcCiAgICAgbG9hZGVyL0ltYWdlTG9hZGVyLmggXAogICAgIGxvYWRlci9MaW5rTG9h
ZGVyLmggXAogICAgIGxvYWRlci9MaW5rTG9hZGVyQ2xpZW50LmggXAorICAgIGxvYWRlci9Mb2Fk
SW5pdGlhdG9yLmggXAorICAgIGxvYWRlci9Mb2FkSW5pdGlhdG9ySGFuZGxlLmggXAogICAgIGxv
YWRlci9NYWluUmVzb3VyY2VMb2FkZXIuaCBcCiAgICAgbG9hZGVyL05hdmlnYXRpb25BY3Rpb24u
aCBcCiAgICAgbG9hZGVyL05ldHNjYXBlUGx1Z0luU3RyZWFtTG9hZGVyLmggXAorICAgIGxvYWRl
ci9OdWxsTG9hZEluaXRpYXRvci5oIFwKICAgICBsb2FkZXIvUGxhY2Vob2xkZXJEb2N1bWVudC5o
IFwKICAgICBsb2FkZXIvUHJlcmVuZGVyZXIuaCBcCiAgICAgbG9hZGVyL1ByZXJlbmRlcmVyQ2xp
ZW50LmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDNiZTRlNmE4M2JmMjA5NzNkZGU1OTVkMjZmMmU0
N2ViNGI3MDQxOTQuLjQxYzUxZDUzMTY5MWU3N2RkNjM4ZTk5YzdmMTI3MTE1YWUxYjc3OWIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmd5cGkKQEAgLTI1NDEsNiArMjU0MSw4IEBACiAgICAgICAgICAgICAnY3NzL0NT
U0luaXRpYWxWYWx1ZS5jcHAnLAogICAgICAgICAgICAgJ2Nzcy9DU1NJbml0aWFsVmFsdWUuaCcs
CiAgICAgICAgICAgICAnY3NzL0NTU0xpbmVCb3hDb250YWluVmFsdWUuY3BwJywKKyAgICAgICAg
ICAgICdjc3MvQ1NTTG9hZEluaXRpYXRvci5jcHAnLAorICAgICAgICAgICAgJ2Nzcy9DU1NMb2Fk
SW5pdGlhdG9yLmgnLAogICAgICAgICAgICAgJ2Nzcy9DU1NNZWRpYVJ1bGUuY3BwJywKICAgICAg
ICAgICAgICdjc3MvQ1NTTWVkaWFSdWxlLmgnLAogICAgICAgICAgICAgJ2Nzcy9DU1NOYW1lc3Bh
Y2UuaCcsCkBAIC0yOTc0LDExICsyOTc2LDE2IEBACiAgICAgICAgICAgICAnbG9hZGVyL0xpbmtM
b2FkZXIuY3BwJywKICAgICAgICAgICAgICdsb2FkZXIvTGlua0xvYWRlci5oJywKICAgICAgICAg
ICAgICdsb2FkZXIvTGlua0xvYWRlckNsaWVudC5oJywKKyAgICAgICAgICAgICdsb2FkZXIvTG9h
ZEluaXRpYXRvci5oJywKKyAgICAgICAgICAgICdsb2FkZXIvTG9hZEluaXRpYXRvckhhbmRsZS5j
cHAnLAorICAgICAgICAgICAgJ2xvYWRlci9Mb2FkSW5pdGlhdG9ySGFuZGxlLmgnLAogICAgICAg
ICAgICAgJ2xvYWRlci9NYWluUmVzb3VyY2VMb2FkZXIuY3BwJywKICAgICAgICAgICAgICdsb2Fk
ZXIvTWFpblJlc291cmNlTG9hZGVyLmgnLAogICAgICAgICAgICAgJ2xvYWRlci9OYXZpZ2F0aW9u
QWN0aW9uLmNwcCcsCiAgICAgICAgICAgICAnbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3Bw
JywKICAgICAgICAgICAgICdsb2FkZXIvTmV0c2NhcGVQbHVnSW5TdHJlYW1Mb2FkZXIuY3BwJywK
KyAgICAgICAgICAgICdsb2FkZXIvTnVsbExvYWRJbml0aWF0b3IuY3BwJywKKyAgICAgICAgICAg
ICdsb2FkZXIvTnVsbExvYWRJbml0aWF0b3IuaCcsCiAgICAgICAgICAgICAnbG9hZGVyL1BpbmdM
b2FkZXIuY3BwJywKICAgICAgICAgICAgICdsb2FkZXIvUGluZ0xvYWRlci5oJywKICAgICAgICAg
ICAgICdsb2FkZXIvUGxhY2Vob2xkZXJEb2N1bWVudC5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCAwMjI2YTc5ZWE1N2IzZjU2OTkwZTdi
NDVlZmE2ODRmM2Q5NTM5NGU5Li5iMzI0NGQxZDhiMDNmZjI5YzIxYjdkYjUxNWIzYTMzNzUwYWRk
OGVjIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZj
cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpA
QCAtMjc2NTksNiArMjc2NTksMTggQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJ
CVJlbGF0aXZlUGF0aD0iLi5cbG9hZGVyXExvYWRJbml0aWF0b3IuaCIKKwkJCQk+CisJCQk8L0Zp
bGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cbG9hZGVyXExvYWRJbml0aWF0b3JI
YW5kbGUuY3BwIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRo
PSIuLlxsb2FkZXJcTG9hZEluaXRpYXRvckhhbmRsZS5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJ
CTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxsb2FkZXJcTWFpblJlc291cmNlTG9hZGVyLmNw
cCIKIAkJCQk+CiAJCQk8L0ZpbGU+CkBAIC0yNzY5MSw2ICsyNzcwMywxNCBAQAogCQkJCT4KIAkJ
CTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxsb2FkZXJcTnVsbExvYWRJ
bml0aWF0b3IuY3BwIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQ
YXRoPSIuLlxsb2FkZXJcTnVsbExvYWRJbml0aWF0b3IuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJ
CQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cbG9hZGVyXFBpbmdMb2FkZXIuY3BwIgogCQkJ
CT4KIAkJCTwvRmlsZT4KQEAgLTM2MjU5LDYgKzM2Mjc5LDYyIEBACiAJCQkJPgogCQkJPC9GaWxl
PgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGNzc1xDU1NMb2FkSW5pdGlhdG9yLmNw
cCIKKwkJCQk+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnfFdpbjMy
IgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJ
CQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0
aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIgor
CQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJ
TmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9u
PgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb19DRkxpdGV8
V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29s
CisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZp
Z3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlJlbGVhc2VfQ2Fp
cm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgor
CQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8
L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJE
ZWJ1Z19BbGx8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJ
CQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwv
RmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlBy
b2R1Y3Rpb258V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJ
CQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwv
RmlsZUNvbmZpZ3VyYXRpb24+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0
aD0iLi5cY3NzXENTU0xvYWRJbml0aWF0b3IuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8Rmls
ZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cY3NzXENTU01lZGlhUnVsZS5jcHAiCiAJCQkJPgogCQkJ
CTxGaWxlQ29uZmlndXJhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDVlNTY4MzA0NGI3YThiMzI2ODA2MWFmYmExMTE2YTVm
N2NlMWZkZTguLjQ1ZTUwNWQxY2UyODQ3MDY0Nzk0ZGY4ZmYyNWRjZDNlYWY5OWM1M2QgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagor
KysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAg
LTEwMTEzLDYgKzEwMTEzLDEzIEBACiAJCTg2MUMyRUEzMTNGQjRGREQwMDA2MkFCQiAvKiBEb2N1
bWVudExvYWRUaW1pbmcuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
RG9jdW1lbnRMb2FkVGltaW5nLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODYx
QzJFQTUxM0ZCNEZGRjAwMDYyQUJCIC8qIFJlc291cmNlTG9hZFRpbWluZy5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZXNvdXJjZUxvYWRUaW1pbmcuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NjI0M0QwMDExQkMzMUY3MDBDQzAwNkEgLyogSlNB
cnJheUJ1ZmZlclZpZXdIZWxwZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
SlNBcnJheUJ1ZmZlclZpZXdIZWxwZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
ODY0ODA5QTQxNjFBOUExRTAwMjgyMEZBIC8qIENTU0xvYWRJbml0aWF0b3IuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ1NTTG9hZEluaXRpYXRvci5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg2NDgwOUE1MTYxQTlBMUUwMDI4MjBGQSAvKiBDU1NM
b2FkSW5pdGlhdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENTU0xvYWRJ
bml0aWF0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODY0ODA5QTYxNjFBOUE2
MTAwMjgyMEZBIC8qIExvYWRJbml0aWF0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gTG9hZEluaXRpYXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NjQ4
MDlBNzE2MUE5QTYxMDAyODIwRkEgLyogTG9hZEluaXRpYXRvckhhbmRsZS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBMb2FkSW5pdGlhdG9ySGFuZGxlLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODY0ODA5QTgxNjFBOUE2MTAwMjgyMEZBIC8qIExv
YWRJbml0aWF0b3JIYW5kbGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTG9h
ZEluaXRpYXRvckhhbmRsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NjQ4MDlB
OTE2MUE5QTYxMDAyODIwRkEgLyogTnVsbExvYWRJbml0aWF0b3IuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTnVsbExvYWRJbml0aWF0b3IuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk4NjQ4MDlBQTE2MUE5QTYxMDAyODIwRkEgLyogTnVsbExvYWRJ
bml0aWF0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTnVsbExvYWRJbml0
aWF0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODY1MTJFREIxNTRBMkFFRTAw
QTkwNDI2IC8qIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg2NTEyRURDMTU0QTJBRUYwMEE5MDQyNiAvKiBQZXJm
b3JtYW5jZVJlc291cmNlVGltaW5nLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJODY1MTJFREQxNTRBMkFFRjAwQTkwNDI2IC8qIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcu
aWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaWRs
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjA1OTYsNiArMjA2MDMsOSBAQAogCQkJ
CTk4Q0U0MzI1MTI5RTAwQkQwMDU4MjFEQyAvKiBMaW5rTG9hZGVyLmNwcCAqLywKIAkJCQk5OENF
NDMyOTEyOUUwMEU1MDA1ODIxREMgLyogTGlua0xvYWRlci5oICovLAogCQkJCTk4NDI2NEVGMTJE
NTI4MEEwMDBEODhBNCAvKiBMaW5rTG9hZGVyQ2xpZW50LmggKi8sCisJCQkJODY0ODA5QTYxNjFB
OUE2MTAwMjgyMEZBIC8qIExvYWRJbml0aWF0b3IuaCAqLywKKwkJCQk4NjQ4MDlBNzE2MUE5QTYx
MDAyODIwRkEgLyogTG9hZEluaXRpYXRvckhhbmRsZS5jcHAgKi8sCisJCQkJODY0ODA5QTgxNjFB
OUE2MTAwMjgyMEZBIC8qIExvYWRJbml0aWF0b3JIYW5kbGUuaCAqLywKIAkJCQk5M0UyMjdEQzBB
RjU4OUFEMDBENDgzMjQgLyogTWFpblJlc291cmNlTG9hZGVyLmNwcCAqLywKIAkJCQk2NTZEMzcy
OTBBREJBNURFMDBBNDU1NEQgLyogTWFpblJlc291cmNlTG9hZGVyLmggKi8sCiAJCQkJOTNDQ0Yw
NUYwQUY2Q0E3NjAwMDE4RTg5IC8qIE5hdmlnYXRpb25BY3Rpb24uY3BwICovLApAQCAtMjA2MDQs
NiArMjA2MTQsOCBAQAogCQkJCTk3OUY0M0QyMTA3NUU0NEEwMDAwRjgzQiAvKiBOYXZpZ2F0aW9u
U2NoZWR1bGVyLmggKi8sCiAJCQkJOTNFMjI3REQwQUY1ODlBRDAwRDQ4MzI0IC8qIE5ldHNjYXBl
UGx1Z0luU3RyZWFtTG9hZGVyLmNwcCAqLywKIAkJCQk2NTZEMzcyQjBBREJBNURFMDBBNDU1NEQg
LyogTmV0c2NhcGVQbHVnSW5TdHJlYW1Mb2FkZXIuaCAqLywKKwkJCQk4NjQ4MDlBOTE2MUE5QTYx
MDAyODIwRkEgLyogTnVsbExvYWRJbml0aWF0b3IuY3BwICovLAorCQkJCTg2NDgwOUFBMTYxQTlB
NjEwMDI4MjBGQSAvKiBOdWxsTG9hZEluaXRpYXRvci5oICovLAogCQkJCUQwRkYyQTVCMTFGOEM0
NUEwMDdFNzRFMCAvKiBQaW5nTG9hZGVyLmNwcCAqLywKIAkJCQlEMEZGMkE1QzExRjhDNDVBMDA3
RTc0RTAgLyogUGluZ0xvYWRlci5oICovLAogCQkJCTM3N0M0Q0RFMTAxNEU5RjYwMEI5QUU0MiAv
KiBQbGFjZWhvbGRlckRvY3VtZW50LmNwcCAqLywKQEAgLTIxMDkzLDYgKzIxMTA1LDggQEAKIAkJ
CQlBODBFNkNERTBBMTk4OUNBMDA3RkI4QzUgLyogQ1NTSW5pdGlhbFZhbHVlLmggKi8sCiAJCQkJ
QkM3NzJFMTUxMzMxNjJDMjAwMUVDOUNFIC8qIENTU0xpbmVCb3hDb250YWluVmFsdWUuY3BwICov
LAogCQkJCUJDNzcyRTEyMTMzMTYyMEMwMDFFQzlDRSAvKiBDU1NMaW5lQm94Q29udGFpblZhbHVl
LmggKi8sCisJCQkJODY0ODA5QTQxNjFBOUExRTAwMjgyMEZBIC8qIENTU0xvYWRJbml0aWF0b3Iu
Y3BwICovLAorCQkJCTg2NDgwOUE1MTYxQTlBMUUwMDI4MjBGQSAvKiBDU1NMb2FkSW5pdGlhdG9y
LmggKi8sCiAJCQkJQTgwRTZDRDIwQTE5ODlDQTAwN0ZCOEM1IC8qIENTU01lZGlhUnVsZS5jcHAg
Ki8sCiAJCQkJQTgwRTZDRDkwQTE5ODlDQTAwN0ZCOEM1IC8qIENTU01lZGlhUnVsZS5oICovLAog
CQkJCTg1QzU2Q0EyMEFBODlDMTAwMEQ5NTc1NSAvKiBDU1NNZWRpYVJ1bGUuaWRsICovLApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlU3JjVmFsdWUuY3BwIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlU3JjVmFsdWUuY3BwCmluZGV4IDJhMWMwNDc4N2Q2
YTBjNGM4NzEzODA0NGEyYzE3NTU4OTg3MTBjZmIuLjA3NzJmNDA5NTkxZGZmYzg4NWJlN2ZiNDhj
Y2VmMDRhNGM3MmE3YjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFj
ZVNyY1ZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VTcmNWYWx1
ZS5jcHAKQEAgLTI1LDYgKzI1LDcgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUg
IkNTU0ZvbnRGYWNlU3JjVmFsdWUuaCIKKyNpbmNsdWRlICJDU1NMb2FkSW5pdGlhdG9yLmgiCiAj
aW5jbHVkZSAiQ2FjaGVkRm9udC5oIgogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlTG9hZGVyLmgi
CiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKQEAgLTk2LDcgKzk3LDcgQEAgQ2FjaGVkRm9udCogQ1NT
Rm9udEZhY2VTcmNWYWx1ZTo6Y2FjaGVkRm9udChEb2N1bWVudCogZG9jdW1lbnQpCiB7CiAgICAg
aWYgKCFtX2NhY2hlZEZvbnQpIHsKICAgICAgICAgUmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QoZG9j
dW1lbnQtPmNvbXBsZXRlVVJMKG1fcmVzb3VyY2UpKTsKLSAgICAgICAgbV9jYWNoZWRGb250ID0g
ZG9jdW1lbnQtPmNhY2hlZFJlc291cmNlTG9hZGVyKCktPnJlcXVlc3RGb250KHJlcXVlc3QpOwor
ICAgICAgICBtX2NhY2hlZEZvbnQgPSBkb2N1bWVudC0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKS0+
cmVxdWVzdEZvbnQocmVxdWVzdCwgQ1NTTG9hZEluaXRpYXRvcihkb2N1bWVudCkpOwogICAgIH0K
ICAgICByZXR1cm4gbV9jYWNoZWRGb250LmdldCgpOwogfQpAQCAtMTEzLDQgKzExNCwzIEBAIHZv
aWQgQ1NTRm9udEZhY2VTcmNWYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1lbW9y
eU9iamVjdEluZm8qIG1lbW9yeU9iCiB9CiAKIH0KLQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0ltYWdlU2V0VmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdl
U2V0VmFsdWUuY3BwCmluZGV4IDZlMDJhMjBmOTVhYzNmMTRmNDYxYTFjNTEwMGI0YWQ2MmJkOWVm
MGEuLjE5ZmNiZTU1YjdhZjhhOGYyZDM3ZjE2NmExMThjMTk3MDNiN2EzYjIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZVNldFZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTSW1hZ2VTZXRWYWx1ZS5jcHAKQEAgLTI5LDYgKzI5LDcgQEAKICNpZiBFTkFC
TEUoQ1NTX0lNQUdFX1NFVCkKIAogI2luY2x1ZGUgIkNTU0ltYWdlVmFsdWUuaCIKKyNpbmNsdWRl
ICJDU1NMb2FkSW5pdGlhdG9yLmgiCiAjaW5jbHVkZSAiQ1NTUHJpbWl0aXZlVmFsdWUuaCIKICNp
bmNsdWRlICJDYWNoZWRJbWFnZS5oIgogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlTG9hZGVyLmgi
CkBAIC0xMDksNyArMTEwLDcgQEAgU3R5bGVDYWNoZWRJbWFnZVNldCogQ1NTSW1hZ2VTZXRWYWx1
ZTo6Y2FjaGVkSW1hZ2VTZXQoQ2FjaGVkUmVzb3VyY2VMb2FkZXIqIGxvYWQKICAgICAgICAgLy8g
YW5kIGFueSBDU1MgdHJhbnNmb3Jtcy4gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTgxNjk4CiAgICAgICAgIEltYWdlV2l0aFNjYWxlIGltYWdlID0gYmVzdEltYWdlRm9y
U2NhbGVGYWN0b3IoKTsKICAgICAgICAgUmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QobG9hZGVyLT5k
b2N1bWVudCgpLT5jb21wbGV0ZVVSTChpbWFnZS5pbWFnZVVSTCkpOwotICAgICAgICBpZiAoQ2Fj
aGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkSW1hZ2U+IGNhY2hlZEltYWdlID0gbG9hZGVyLT5yZXF1
ZXN0SW1hZ2UocmVxdWVzdCkpIHsKKyAgICAgICAgaWYgKENhY2hlZFJlc291cmNlSGFuZGxlPENh
Y2hlZEltYWdlPiBjYWNoZWRJbWFnZSA9IGxvYWRlci0+cmVxdWVzdEltYWdlKHJlcXVlc3QsIENT
U0xvYWRJbml0aWF0b3IoZG9jdW1lbnQpKSkgewogICAgICAgICAgICAgbV9pbWFnZVNldCA9IFN0
eWxlQ2FjaGVkSW1hZ2VTZXQ6OmNyZWF0ZShjYWNoZWRJbWFnZS5nZXQoKSwgaW1hZ2Uuc2NhbGVG
YWN0b3IsIHRoaXMpOwogICAgICAgICAgICAgbV9hY2Nlc3NlZEJlc3RGaXRJbWFnZSA9IHRydWU7
CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZVZhbHVl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZVZhbHVlLmNwcAppbmRleCA3MjZjMmMw
NDM0NzFlOTY3YjkyYmM5ZmE3NjRjMzIzOWYyYjdhNTQ2Li5iNzIyN2M5NGI4YjFmZjAzZDdmNmVh
ZmU5MDQxYTU4NzAxNzBmOWVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1h
Z2VWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlVmFsdWUuY3BwCkBA
IC0yMiw2ICsyMiw3IEBACiAjaW5jbHVkZSAiQ1NTSW1hZ2VWYWx1ZS5oIgogCiAjaW5jbHVkZSAi
Q1NTQ3Vyc29ySW1hZ2VWYWx1ZS5oIgorI2luY2x1ZGUgIkNTU0xvYWRJbml0aWF0b3IuaCIKICNp
bmNsdWRlICJDU1NQYXJzZXIuaCIKICNpbmNsdWRlICJDU1NWYWx1ZUtleXdvcmRzLmgiCiAjaW5j
bHVkZSAiQ2FjaGVkSW1hZ2UuaCIKQEAgLTgzLDcgKzg0LDcgQEAgU3R5bGVDYWNoZWRJbWFnZSog
Q1NTSW1hZ2VWYWx1ZTo6Y2FjaGVkSW1hZ2UoQ2FjaGVkUmVzb3VyY2VMb2FkZXIqIGxvYWRlciwg
Y29uc3QKICAgICAgICAgbV9hY2Nlc3NlZEltYWdlID0gdHJ1ZTsKIAogICAgICAgICBSZXNvdXJj
ZVJlcXVlc3QgcmVxdWVzdChsb2FkZXItPmRvY3VtZW50KCktPmNvbXBsZXRlVVJMKHVybCkpOwot
ICAgICAgICBpZiAoQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkSW1hZ2U+IGNhY2hlZEltYWdl
ID0gbG9hZGVyLT5yZXF1ZXN0SW1hZ2UocmVxdWVzdCkpCisgICAgICAgIGlmIChDYWNoZWRSZXNv
dXJjZUhhbmRsZTxDYWNoZWRJbWFnZT4gY2FjaGVkSW1hZ2UgPSBsb2FkZXItPnJlcXVlc3RJbWFn
ZShyZXF1ZXN0LCBDU1NMb2FkSW5pdGlhdG9yKGxvYWRlci0+ZG9jdW1lbnQoKSkpKQogICAgICAg
ICAgICAgbV9pbWFnZSA9IFN0eWxlQ2FjaGVkSW1hZ2U6OmNyZWF0ZShjYWNoZWRJbWFnZS5nZXQo
KSk7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTG9hZEluaXRp
YXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTG9hZEluaXRpYXRvci5jcHAKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMmM2YTA5YWE5N2M3NDJlNDUwYjg0ZDY4YjJiM2I0NzY1MjFmYjBlOQotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NMb2FkSW5pdGlhdG9yLmNwcApAQCAtMCww
ICsxLDUwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6
CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIK
KyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
R29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkNTU0xvYWRJbml0aWF0b3Iu
aCIKKworI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9B
dG9taWNTdHJpbmcuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitDU1NMb2FkSW5pdGlhdG9y
OjpDU1NMb2FkSW5pdGlhdG9yKERvY3VtZW50KiBkb2N1bWVudCkKKyAgICA6IG1fZG9jdW1lbnQo
ZG9jdW1lbnQpCit7Cit9CisKK2NvbnN0IFdURjo6QXRvbWljU3RyaW5nJiBDU1NMb2FkSW5pdGlh
dG9yOjppbml0aWF0b3JOYW1lKCkgY29uc3QKK3sKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEF0
b21pY1N0cmluZywgbmFtZSwgKCJjc3MiLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRl
cmFsKSk7CisgICAgcmV0dXJuIG5hbWU7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NMb2FkSW5pdGlhdG9yLmggYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTTG9hZEluaXRpYXRvci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU1OGZhY2EwY2EyNzY1
ZWYzZWM5YWE2MTIzMTkzN2U5NjY2MDk3ZDIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTTG9hZEluaXRpYXRvci5oCkBAIC0wLDAgKzEsNTYgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0
aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5h
bWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAor
ICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIENTU0xv
YWRJbml0aWF0b3JfaAorI2RlZmluZSBDU1NMb2FkSW5pdGlhdG9yX2gKKworI2luY2x1ZGUgIkxv
YWRJbml0aWF0b3IuaCIKKworbmFtZXNwYWNlIFdURiB7CitjbGFzcyBBdG9taWNTdHJpbmc7Cit9
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKK2NsYXNzIERvY3VtZW50OworCitjbGFzcyBDU1NMb2Fk
SW5pdGlhdG9yIDogcHVibGljIExvYWRJbml0aWF0b3IgeworcHVibGljOgorICAgIENTU0xvYWRJ
bml0aWF0b3IoRG9jdW1lbnQqKTsKKworICAgIHZpcnR1YWwgY29uc3QgV1RGOjpBdG9taWNTdHJp
bmcmIGluaXRpYXRvck5hbWUoKSBjb25zdDsKKyAgICB2aXJ0dWFsIERvY3VtZW50KiBpbml0aWF0
b3JEb2N1bWVudCgpIGNvbnN0IHsgcmV0dXJuIG1fZG9jdW1lbnQ7IH0KKworcHJpdmF0ZToKKyAg
ICBEb2N1bWVudCogbV9kb2N1bWVudDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwor
I2VuZGlmIC8vIENTU0xvYWRJbml0aWF0b3JfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL1N0eWxlUnVsZUltcG9ydC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlSW1w
b3J0LmNwcAppbmRleCAyNmYyOWU4MmY4MGE5ZmY1MWRhY2U1NzBkOGY0N2U5MzhhZTVkZTBhLi45
M2ZjZTI1YzJkNDZmYjQxY2I4MmQxZTE3YTYzOTNhMzU4MDA3MjdhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlSW1wb3J0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvU3R5bGVSdWxlSW1wb3J0LmNwcApAQCAtMjIsNiArMjIsNyBAQAogI2luY2x1ZGUgImNvbmZp
Zy5oIgogI2luY2x1ZGUgIlN0eWxlUnVsZUltcG9ydC5oIgogCisjaW5jbHVkZSAiQ1NTTG9hZElu
aXRpYXRvci5oIgogI2luY2x1ZGUgIkNTU1N0eWxlU2hlZXQuaCIKICNpbmNsdWRlICJDYWNoZWRD
U1NTdHlsZVNoZWV0LmgiCiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaCIKQEAgLTEx
Nyw5ICsxMTgsOSBAQCB2b2lkIFN0eWxlUnVsZUltcG9ydDo6cmVxdWVzdFN0eWxlU2hlZXQoKQog
CiAgICAgUmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QoYWJzVVJMKTsKICAgICBpZiAobV9wYXJlbnRT
dHlsZVNoZWV0LT5pc1VzZXJTdHlsZVNoZWV0KCkpCi0gICAgICAgIG1fY2FjaGVkU2hlZXQgPSBj
YWNoZWRSZXNvdXJjZUxvYWRlci0+cmVxdWVzdFVzZXJDU1NTdHlsZVNoZWV0KHJlcXVlc3QsIG1f
cGFyZW50U3R5bGVTaGVldC0+Y2hhcnNldCgpKTsKKyAgICAgICAgbV9jYWNoZWRTaGVldCA9IGNh
Y2hlZFJlc291cmNlTG9hZGVyLT5yZXF1ZXN0VXNlckNTU1N0eWxlU2hlZXQocmVxdWVzdCwgbV9w
YXJlbnRTdHlsZVNoZWV0LT5jaGFyc2V0KCksIENTU0xvYWRJbml0aWF0b3IoZG9jdW1lbnQpKTsK
ICAgICBlbHNlCi0gICAgICAgIG1fY2FjaGVkU2hlZXQgPSBjYWNoZWRSZXNvdXJjZUxvYWRlci0+
cmVxdWVzdENTU1N0eWxlU2hlZXQocmVxdWVzdCwgbV9wYXJlbnRTdHlsZVNoZWV0LT5jaGFyc2V0
KCkpOworICAgICAgICBtX2NhY2hlZFNoZWV0ID0gY2FjaGVkUmVzb3VyY2VMb2FkZXItPnJlcXVl
c3RDU1NTdHlsZVNoZWV0KHJlcXVlc3QsIG1fcGFyZW50U3R5bGVTaGVldC0+Y2hhcnNldCgpLCBD
U1NMb2FkSW5pdGlhdG9yKGRvY3VtZW50KSk7CiAgICAgaWYgKG1fY2FjaGVkU2hlZXQpIHsKICAg
ICAgICAgLy8gaWYgdGhlIGltcG9ydCBydWxlIGlzIGlzc3VlZCBkeW5hbWljYWxseSwgdGhlIHNo
ZWV0IG1heSBiZQogICAgICAgICAvLyByZW1vdmVkIGZyb20gdGhlIHBlbmRpbmcgc2hlZXQgY291
bnQsIHNvIGxldCB0aGUgZG9jIGtub3cKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9X
ZWJLaXRDU1NTVkdEb2N1bWVudFZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRD
U1NTVkdEb2N1bWVudFZhbHVlLmNwcAppbmRleCA0NGM4ODA4OTQ3MGU4MzlkOTc0ZWJhMDFjYzA2
ZjdkOTIwYzE4MTIyLi5hZjI4ZmY5N2M5OGI5MTAxMzUxOTBmZWUyODc1ZmY3NzE3ZWI5NzNiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTU1ZHRG9jdW1lbnRWYWx1ZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1NWR0RvY3VtZW50VmFsdWUuY3Bw
CkBAIC0yNyw2ICsyNyw3IEBACiAjaWYgRU5BQkxFKFNWRykKICNpbmNsdWRlICJXZWJLaXRDU1NT
VkdEb2N1bWVudFZhbHVlLmgiCiAKKyNpbmNsdWRlICJDU1NMb2FkSW5pdGlhdG9yLmgiCiAjaW5j
bHVkZSAiQ1NTUGFyc2VyLmgiCiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaCIKICNp
bmNsdWRlICJEb2N1bWVudC5oIgpAQCAtNTMsNyArNTQsNyBAQCBDYWNoZWRTVkdEb2N1bWVudCog
V2ViS2l0Q1NTU1ZHRG9jdW1lbnRWYWx1ZTo6bG9hZChDYWNoZWRSZXNvdXJjZUxvYWRlciogbG9h
ZGVyKQogICAgICAgICBtX2xvYWRSZXF1ZXN0ZWQgPSB0cnVlOwogCiAgICAgICAgIFJlc291cmNl
UmVxdWVzdCByZXF1ZXN0KGxvYWRlci0+ZG9jdW1lbnQoKS0+Y29tcGxldGVVUkwobV91cmwpKTsK
LSAgICAgICAgbV9kb2N1bWVudCA9IGxvYWRlci0+cmVxdWVzdFNWR0RvY3VtZW50KHJlcXVlc3Qp
OworICAgICAgICBtX2RvY3VtZW50ID0gbG9hZGVyLT5yZXF1ZXN0U1ZHRG9jdW1lbnQocmVxdWVz
dCwgQ1NTTG9hZEluaXRpYXRvcihsb2FkZXItPmRvY3VtZW50KCkpKTsKICAgICB9CiAKICAgICBy
ZXR1cm4gbV9kb2N1bWVudC5nZXQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9X
ZWJLaXRDU1NTaGFkZXJWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTU2hh
ZGVyVmFsdWUuY3BwCmluZGV4IDZmOTM3M2UwZjBmYTJkZjhiZjQ5NDI4MWI1YzJkODc3MjlhYmI5
NjEuLmUyMjAyZGVkODlmZDNlZjczOTc0Njk3NjlhOWZmODExOTUzMjE3M2UgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NTaGFkZXJWYWx1ZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL1dlYktpdENTU1NoYWRlclZhbHVlLmNwcApAQCAtMzIsOCArMzIsOSBAQAog
I2lmIEVOQUJMRShDU1NfU0hBREVSUykKICNpbmNsdWRlICJXZWJLaXRDU1NTaGFkZXJWYWx1ZS5o
IgogCi0jaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaCIKKyNpbmNsdWRlICJDU1NMb2Fk
SW5pdGlhdG9yLmgiCiAjaW5jbHVkZSAiQ1NTUGFyc2VyLmgiCisjaW5jbHVkZSAiQ2FjaGVkUmVz
b3VyY2VMb2FkZXIuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIlN0eWxlQ2Fj
aGVkU2hhZGVyLmgiCiAjaW5jbHVkZSAiU3R5bGVQZW5kaW5nU2hhZGVyLmgiCkBAIC02MCw3ICs2
MSw3IEBAIFN0eWxlQ2FjaGVkU2hhZGVyKiBXZWJLaXRDU1NTaGFkZXJWYWx1ZTo6Y2FjaGVkU2hh
ZGVyKENhY2hlZFJlc291cmNlTG9hZGVyKiBsb2FkCiAgICAgICAgIG1fYWNjZXNzZWRTaGFkZXIg
PSB0cnVlOwogCiAgICAgICAgIFJlc291cmNlUmVxdWVzdCByZXF1ZXN0KGxvYWRlci0+ZG9jdW1l
bnQoKS0+Y29tcGxldGVVUkwobV91cmwpKTsKLSAgICAgICAgaWYgKENhY2hlZFJlc291cmNlSGFu
ZGxlPENhY2hlZFNoYWRlcj4gY2FjaGVkU2hhZGVyID0gbG9hZGVyLT5yZXF1ZXN0U2hhZGVyKHJl
cXVlc3QpKQorICAgICAgICBpZiAoQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkU2hhZGVyPiBj
YWNoZWRTaGFkZXIgPSBsb2FkZXItPnJlcXVlc3RTaGFkZXIocmVxdWVzdCwgQ1NTTG9hZEluaXRp
YXRvcihsb2FkZXItPmRvY3VtZW50KCkpKSkKICAgICAgICAgICAgIG1fc2hhZGVyID0gU3R5bGVD
YWNoZWRTaGFkZXI6OmNyZWF0ZShjYWNoZWRTaGFkZXIuZ2V0KCkpOwogICAgIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2Rl
LmgKaW5kZXggOWYzY2ZmMTAxM2JkYWQzMzhhNGRlOWU4YzlhYmMwN2NiMjk2YTQ0YS4uOTBkM2Y2
YzkzYTM5OTUwNGMzNmQxZDM2MTE4MTYyNjVmYTNlODVhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL05vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oCkBAIC0zMCw2
ICszMCw3IEBACiAjaW5jbHVkZSAiRnJhY3Rpb25hbExheW91dFJlY3QuaCIKICNpbmNsdWRlICJL
VVJMSGFzaC5oIgogI2luY2x1ZGUgIkxheW91dFR5cGVzLmgiCisjaW5jbHVkZSAiTG9hZEluaXRp
YXRvci5oIgogI2luY2x1ZGUgIk11dGF0aW9uT2JzZXJ2ZXIuaCIKICNpbmNsdWRlICJSZW5kZXJT
dHlsZUNvbnN0YW50cy5oIgogI2luY2x1ZGUgIlNjcmlwdFdyYXBwYWJsZS5oIgpAQCAtMTExLDcg
KzExMiw3IEBAIGVudW0gU3R5bGVDaGFuZ2VUeXBlIHsKICAgICBTeW50aGV0aWNTdHlsZUNoYW5n
ZSA9IDMgPDwgbm9kZVN0eWxlQ2hhbmdlU2hpZnQKIH07CiAKLWNsYXNzIE5vZGUgOiBwdWJsaWMg
RXZlbnRUYXJnZXQsIHB1YmxpYyBTY3JpcHRXcmFwcGFibGUsIHB1YmxpYyBUcmVlU2hhcmVkPE5v
ZGUsIENvbnRhaW5lck5vZGU+IHsKK2NsYXNzIE5vZGUgOiBwdWJsaWMgRXZlbnRUYXJnZXQsIHB1
YmxpYyBTY3JpcHRXcmFwcGFibGUsIHB1YmxpYyBUcmVlU2hhcmVkPE5vZGUsIENvbnRhaW5lck5v
ZGU+LCBwdWJsaWMgTG9hZEluaXRpYXRvciB7CiAgICAgZnJpZW5kIGNsYXNzIERvY3VtZW50Owog
ICAgIGZyaWVuZCBjbGFzcyBUcmVlU2NvcGU7CiAgICAgZnJpZW5kIGNsYXNzIFRyZWVTY29wZUFk
b3B0ZXI7CkBAIC02NjksNiArNjcwLDkgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIHJl
cG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qKSBjb25zdDsKIAorICAgIHZpcnR1YWwg
Y29uc3QgQXRvbWljU3RyaW5nJiBpbml0aWF0b3JOYW1lKCkgY29uc3QgeyByZXR1cm4gbG9jYWxO
YW1lKCk7IH0KKyAgICB2aXJ0dWFsIERvY3VtZW50KiBpbml0aWF0b3JEb2N1bWVudCgpIGNvbnN0
IHsgcmV0dXJuIGRvY3VtZW50KCk7IH0KKwogcHJpdmF0ZToKICAgICBlbnVtIE5vZGVGbGFncyB7
CiAgICAgICAgIElzVGV4dEZsYWcgPSAxLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L1Byb2Nlc3NpbmdJbnN0cnVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUHJvY2Vzc2lu
Z0luc3RydWN0aW9uLmNwcAppbmRleCA2NzU5YmVjYmM2YWRhNDI4YWVkNjcyMjNkMDIzZjg0Yzk1
ZTk1ZTliLi4xMzNiZDUzZGNkZThhMGU0OGM3MGM0NGNjNDIxMDE2ZjdmZmJkODczIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vUHJvY2Vzc2luZ0luc3RydWN0aW9uLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vUHJvY2Vzc2luZ0luc3RydWN0aW9uLmNwcApAQCAtMTY2LDcgKzE2
Niw3IEBAIHZvaWQgUHJvY2Vzc2luZ0luc3RydWN0aW9uOjpjaGVja1N0eWxlU2hlZXQoKQogICAg
ICAgICAgICAgUmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QoZG9jdW1lbnQoKS0+Y29tcGxldGVVUkwo
aHJlZikpOwogI2lmIEVOQUJMRShYU0xUKQogICAgICAgICAgICAgaWYgKG1faXNYU0wpCi0gICAg
ICAgICAgICAgICAgbV9jYWNoZWRTaGVldCA9IGRvY3VtZW50KCktPmNhY2hlZFJlc291cmNlTG9h
ZGVyKCktPnJlcXVlc3RYU0xTdHlsZVNoZWV0KHJlcXVlc3QpOworICAgICAgICAgICAgICAgIG1f
Y2FjaGVkU2hlZXQgPSBkb2N1bWVudCgpLT5jYWNoZWRSZXNvdXJjZUxvYWRlcigpLT5yZXF1ZXN0
WFNMU3R5bGVTaGVldChyZXF1ZXN0LCAqdGhpcyk7CiAgICAgICAgICAgICBlbHNlCiAjZW5kaWYK
ICAgICAgICAgICAgIHsKQEAgLTE3NCw3ICsxNzQsNyBAQCB2b2lkIFByb2Nlc3NpbmdJbnN0cnVj
dGlvbjo6Y2hlY2tTdHlsZVNoZWV0KCkKICAgICAgICAgICAgICAgICBpZiAoY2hhcnNldC5pc0Vt
cHR5KCkpCiAgICAgICAgICAgICAgICAgICAgIGNoYXJzZXQgPSBkb2N1bWVudCgpLT5jaGFyc2V0
KCk7CiAKLSAgICAgICAgICAgICAgICBtX2NhY2hlZFNoZWV0ID0gZG9jdW1lbnQoKS0+Y2FjaGVk
UmVzb3VyY2VMb2FkZXIoKS0+cmVxdWVzdENTU1N0eWxlU2hlZXQocmVxdWVzdCwgY2hhcnNldCk7
CisgICAgICAgICAgICAgICAgbV9jYWNoZWRTaGVldCA9IGRvY3VtZW50KCktPmNhY2hlZFJlc291
cmNlTG9hZGVyKCktPnJlcXVlc3RDU1NTdHlsZVNoZWV0KHJlcXVlc3QsIGNoYXJzZXQsICp0aGlz
KTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGlmIChtX2NhY2hlZFNoZWV0KQogICAgICAg
ICAgICAgICAgIG1fY2FjaGVkU2hlZXQtPmFkZENsaWVudCh0aGlzKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9T
Y3JpcHRFbGVtZW50LmNwcAppbmRleCAyMDlmYzc5YzFjOGMwOGE0ZjY5YTk5OTk4M2ZiMDcxOTg2
MzhlNjk2Li5jNmE0ZGI3MDA3MjY5ZjNjNDgxM2JjMGE0OTIxYWIyNDAyZDZhZjA1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuY3BwCkBAIC0yNjUsNyArMjY1LDcgQEAgYm9vbCBTY3Jp
cHRFbGVtZW50OjpyZXF1ZXN0U2NyaXB0KGNvbnN0IFN0cmluZyYgc291cmNlVXJsKQogICAgICAg
ICAgICAgdXBkYXRlUmVxdWVzdEZvckFjY2Vzc0NvbnRyb2wocmVxdWVzdCwgbV9lbGVtZW50LT5k
b2N1bWVudCgpLT5zZWN1cml0eU9yaWdpbigpLCBhbGxvd0NyZWRlbnRpYWxzKTsKICAgICAgICAg
fQogCi0gICAgICAgIG1fY2FjaGVkU2NyaXB0ID0gbV9lbGVtZW50LT5kb2N1bWVudCgpLT5jYWNo
ZWRSZXNvdXJjZUxvYWRlcigpLT5yZXF1ZXN0U2NyaXB0KHJlcXVlc3QsIHNjcmlwdENoYXJzZXQo
KSk7CisgICAgICAgIG1fY2FjaGVkU2NyaXB0ID0gbV9lbGVtZW50LT5kb2N1bWVudCgpLT5jYWNo
ZWRSZXNvdXJjZUxvYWRlcigpLT5yZXF1ZXN0U2NyaXB0KHJlcXVlc3QsIHNjcmlwdENoYXJzZXQo
KSwgKmVsZW1lbnQoKSk7CiAgICAgICAgIG1faXNFeHRlcm5hbFNjcmlwdCA9IHRydWU7CiAgICAg
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMaW5rRWxlbWVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMaW5rRWxlbWVudC5jcHAKaW5kZXggZmRjN2E1Y2Nl
MzIzMWFmOWMyMjQ0ZTFjOWY0NDQ4M2I4NGJmMDEzMS4uOTg4NjU0NGNiMjMwN2VmZTczNTBhYzkx
NTRmZjYxNjg0ZjUzNjM0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGlu
a0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExpbmtFbGVtZW50LmNw
cApAQCAtMjIxLDggKzIyMSw4IEBAIHZvaWQgSFRNTExpbmtFbGVtZW50Ojpwcm9jZXNzKCkKICAg
ICAgICAgLy8gTG9hZCBzdHlsZXNoZWV0cyB0aGF0IGFyZSBub3QgbmVlZGVkIGZvciB0aGUgcmVu
ZGVyaW5nIGltbWVkaWF0ZWx5IHdpdGggbG93IHByaW9yaXR5LgogICAgICAgICBSZXNvdXJjZUxv
YWRQcmlvcml0eSBwcmlvcml0eSA9IGJsb2NraW5nID8gUmVzb3VyY2VMb2FkUHJpb3JpdHlVbnJl
c29sdmVkIDogUmVzb3VyY2VMb2FkUHJpb3JpdHlWZXJ5TG93OwogICAgICAgICBSZXNvdXJjZVJl
cXVlc3QgcmVxdWVzdChkb2N1bWVudCgpLT5jb21wbGV0ZVVSTChtX3VybCkpOwotICAgICAgICBt
X2NhY2hlZFNoZWV0ID0gZG9jdW1lbnQoKS0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKS0+cmVxdWVz
dENTU1N0eWxlU2hlZXQocmVxdWVzdCwgY2hhcnNldCwgcHJpb3JpdHkpOwotICAgICAgICAKKyAg
ICAgICAgbV9jYWNoZWRTaGVldCA9IGRvY3VtZW50KCktPmNhY2hlZFJlc291cmNlTG9hZGVyKCkt
PnJlcXVlc3RDU1NTdHlsZVNoZWV0KHJlcXVlc3QsIGNoYXJzZXQsICp0aGlzLCBwcmlvcml0eSk7
CisKICAgICAgICAgaWYgKG1fY2FjaGVkU2hlZXQpCiAgICAgICAgICAgICBtX2NhY2hlZFNoZWV0
LT5hZGRDbGllbnQodGhpcyk7CiAgICAgICAgIGVsc2UgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MTGlua0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExp
bmtFbGVtZW50LmgKaW5kZXggMGI2YzZjOTk3ZjI4YWUzNDEyNTM2MzgzZTBjMDEwNDA4ZDVmZmQx
YS4uM2NhODQ1YjA3MmFhYmJhN2QxMWIwNTBlMDAzOWY2ZWZjN2RlNzE5NyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGlua0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxMaW5rRWxlbWVudC5oCkBAIC03NSw2ICs3NSw3IEBAIHB1YmxpYzoKIHByaXZh
dGU6CiAgICAgdmlydHVhbCB2b2lkIHBhcnNlQXR0cmlidXRlKGNvbnN0IEF0dHJpYnV0ZSYpIE9W
RVJSSURFOwogCisgICAgdmlydHVhbCBjb25zdCBMb2FkSW5pdGlhdG9yJiBpbml0aWF0b3IoKSBj
b25zdCB7IHJldHVybiAqdGhpczsgfQogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRMb2FkTGluaygp
OwogICAgIHZvaWQgcHJvY2VzcygpOwogICAgIHN0YXRpYyB2b2lkIHByb2Nlc3NDYWxsYmFjayhO
b2RlKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9DU1NQcmVsb2Fk
U2Nhbm5lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9DU1NQcmVsb2FkU2Nhbm5l
ci5jcHAKaW5kZXggMjlmMWNjZDQ2OGJhZGQ4ZGU1YzNiMTllNzJmMmQ4NTJjZDMwMDg5My4uYjZh
MDMzYTY1MTc1MDlmMDAzMzViMmQ4YzkzNmI3MGZhM2U1NTY4MSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9wYXJzZXIvQ1NTUHJlbG9hZFNjYW5uZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvcGFyc2VyL0NTU1ByZWxvYWRTY2FubmVyLmNwcApAQCAtMTk3LDcgKzE5Nyw3
IEBAIHZvaWQgQ1NTUHJlbG9hZFNjYW5uZXI6OmVtaXRSdWxlKCkKICAgICAgICAgU3RyaW5nIHZh
bHVlID0gcGFyc2VDU1NTdHJpbmdPclVSTChtX3J1bGVWYWx1ZS5jaGFyYWN0ZXJzKCksIG1fcnVs
ZVZhbHVlLmxlbmd0aCgpKTsKICAgICAgICAgaWYgKCF2YWx1ZS5pc0VtcHR5KCkpIHsKICAgICAg
ICAgICAgIFJlc291cmNlUmVxdWVzdCByZXF1ZXN0KG1fZG9jdW1lbnQtPmNvbXBsZXRlVVJMKHZh
bHVlKSk7Ci0gICAgICAgICAgICBtX2RvY3VtZW50LT5jYWNoZWRSZXNvdXJjZUxvYWRlcigpLT5w
cmVsb2FkKENhY2hlZFJlc291cmNlOjpDU1NTdHlsZVNoZWV0LCByZXF1ZXN0LCBTdHJpbmcoKSwg
bV9zY2FubmluZ0JvZHkpOworICAgICAgICAgICAgbV9kb2N1bWVudC0+Y2FjaGVkUmVzb3VyY2VM
b2FkZXIoKS0+cHJlbG9hZChDYWNoZWRSZXNvdXJjZTo6Q1NTU3R5bGVTaGVldCwgcmVxdWVzdCwg
U3RyaW5nKCksIG1fc2Nhbm5pbmdCb2R5LCAqdGhpcyk7CiAgICAgICAgIH0KICAgICAgICAgbV9z
dGF0ZSA9IEluaXRpYWw7CiAgICAgfSBlbHNlIGlmIChlcXVhbElnbm9yaW5nQ2FzZSgiY2hhcnNl
dCIsIG1fcnVsZS5jaGFyYWN0ZXJzKCksIG1fcnVsZS5sZW5ndGgoKSkpCkBAIC0yMDgsNCArMjA4
LDEwIEBAIHZvaWQgQ1NTUHJlbG9hZFNjYW5uZXI6OmVtaXRSdWxlKCkKICAgICBtX3J1bGVWYWx1
ZS5jbGVhcigpOwogfQogCitjb25zdCBBdG9taWNTdHJpbmcmIENTU1ByZWxvYWRTY2FubmVyOjpp
bml0aWF0b3JOYW1lKCkgY29uc3QKK3sKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEF0b21pY1N0
cmluZywgbmFtZSwgKCJjc3MiLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKSk7
CisgICAgcmV0dXJuIG5hbWU7Cit9CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvcGFyc2VyL0NTU1ByZWxvYWRTY2FubmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNl
ci9DU1NQcmVsb2FkU2Nhbm5lci5oCmluZGV4IGMzZGJiODAwZWRkOGVhMTBhYjI0ZWIzYzEyM2I3
Y2E5OGYyY2I0MjcuLjE1NWJhNTk5YzFkNWNiMjhmYmJkMjBkZjhhM2FhZGY1Y2QwM2E4YmQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0NTU1ByZWxvYWRTY2FubmVyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvQ1NTUHJlbG9hZFNjYW5uZXIuaApAQCAt
MjcsNiArMjcsNyBAQAogI2lmbmRlZiBDU1NQcmVsb2FkU2Nhbm5lcl9oCiAjZGVmaW5lIENTU1By
ZWxvYWRTY2FubmVyX2gKIAorI2luY2x1ZGUgIkxvYWRJbml0aWF0b3IuaCIKICNpbmNsdWRlIDx3
dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTM0LDcg
KzM1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBIVE1M
VG9rZW47CiAKLWNsYXNzIENTU1ByZWxvYWRTY2FubmVyIHsKK2NsYXNzIENTU1ByZWxvYWRTY2Fu
bmVyIDogcHJpdmF0ZSBMb2FkSW5pdGlhdG9yIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShD
U1NQcmVsb2FkU2Nhbm5lcik7CiBwdWJsaWM6CiAgICAgQ1NTUHJlbG9hZFNjYW5uZXIoRG9jdW1l
bnQqKTsKQEAgLTQzLDYgKzQ0LDkgQEAgcHVibGljOgogICAgIHZvaWQgc2Nhbihjb25zdCBIVE1M
VG9rZW4mLCBib29sIHNjYW5uaW5nQm9keSk7CiAKIHByaXZhdGU6CisgICAgdmlydHVhbCBjb25z
dCBBdG9taWNTdHJpbmcmIGluaXRpYXRvck5hbWUoKSBjb25zdDsKKyAgICB2aXJ0dWFsIERvY3Vt
ZW50KiBpbml0aWF0b3JEb2N1bWVudCgpIGNvbnN0IHsgcmV0dXJuIG1fZG9jdW1lbnQ7IH0KKwog
ICAgIGVudW0gU3RhdGUgewogICAgICAgICBJbml0aWFsLAogICAgICAgICBNYXliZUNvbW1lbnQs
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUHJlbG9hZFNjYW5u
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFByZWxvYWRTY2FubmVyLmNw
cAppbmRleCBhNzViNTJlMzU1MDZhYTMwZTVlOWJmMzA5ZjAyMGQ4NzE5MWNjZmY0Li4yODQyZGE5
MjI1YjA4Y2IzZTkxZWJiM2ZiMDFlMTE1MjVjOGY5NTY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3BhcnNlci9IVE1MUHJlbG9hZFNjYW5uZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvcGFyc2VyL0hUTUxQcmVsb2FkU2Nhbm5lci5jcHAKQEAgLTM2LDYgKzM2LDcgQEAK
ICNpbmNsdWRlICJIVE1MUGFyc2VySWRpb21zLmgiCiAjaW5jbHVkZSAiSW5wdXRUeXBlTmFtZXMu
aCIKICNpbmNsdWRlICJMaW5rUmVsQXR0cmlidXRlLmgiCisjaW5jbHVkZSAiTG9hZEluaXRpYXRv
ci5oIgogI2luY2x1ZGUgIk1lZGlhTGlzdC5oIgogI2luY2x1ZGUgIk1lZGlhUXVlcnlFdmFsdWF0
b3IuaCIKIApAQCAtNDMsMTAgKzQ0LDExIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogdXNpbmcg
bmFtZXNwYWNlIEhUTUxOYW1lczsKIAotY2xhc3MgUHJlbG9hZFRhc2sgeworY2xhc3MgUHJlbG9h
ZFRhc2sgOiBwcml2YXRlIExvYWRJbml0aWF0b3IgewogcHVibGljOgotICAgIGV4cGxpY2l0IFBy
ZWxvYWRUYXNrKGNvbnN0IEhUTUxUb2tlbiYgdG9rZW4pCisgICAgZXhwbGljaXQgUHJlbG9hZFRh
c2soY29uc3QgSFRNTFRva2VuJiB0b2tlbiwgRG9jdW1lbnQqIGRvY3VtZW50KQogICAgICAgICA6
IG1fdGFnTmFtZSh0b2tlbi5uYW1lKCkuZGF0YSgpLCB0b2tlbi5uYW1lKCkuc2l6ZSgpKQorICAg
ICAgICAsIG1fZG9jdW1lbnQoZG9jdW1lbnQpCiAgICAgICAgICwgbV9saW5rSXNTdHlsZVNoZWV0
KGZhbHNlKQogICAgICAgICAsIG1fbGlua01lZGlhQXR0cmlidXRlSXNTY3JlZW4odHJ1ZSkKICAg
ICAgICAgLCBtX2lucHV0SXNJbWFnZShmYWxzZSkKQEAgLTEyMSwyNiArMTIzLDMwIEBAIHB1Ymxp
YzoKICAgICAgICAgbV91cmxUb0xvYWQgPSBzdHJpcExlYWRpbmdBbmRUcmFpbGluZ0hUTUxTcGFj
ZXMoYXR0cmlidXRlVmFsdWUpOwogICAgIH0KIAotICAgIHZvaWQgcHJlbG9hZChEb2N1bWVudCog
ZG9jdW1lbnQsIGJvb2wgc2Nhbm5pbmdCb2R5LCBjb25zdCBLVVJMJiBiYXNlVVJMKQorICAgIHZv
aWQgcHJlbG9hZChib29sIHNjYW5uaW5nQm9keSwgY29uc3QgS1VSTCYgYmFzZVVSTCkKICAgICB7
CiAgICAgICAgIGlmIChtX3VybFRvTG9hZC5pc0VtcHR5KCkpCiAgICAgICAgICAgICByZXR1cm47
CiAKLSAgICAgICAgQ2FjaGVkUmVzb3VyY2VMb2FkZXIqIGNhY2hlZFJlc291cmNlTG9hZGVyID0g
ZG9jdW1lbnQtPmNhY2hlZFJlc291cmNlTG9hZGVyKCk7Ci0gICAgICAgIFJlc291cmNlUmVxdWVz
dCByZXF1ZXN0ID0gZG9jdW1lbnQtPmNvbXBsZXRlVVJMKG1fdXJsVG9Mb2FkLCBiYXNlVVJMKTsK
KyAgICAgICAgQ2FjaGVkUmVzb3VyY2VMb2FkZXIqIGNhY2hlZFJlc291cmNlTG9hZGVyID0gbV9k
b2N1bWVudC0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKTsKKyAgICAgICAgUmVzb3VyY2VSZXF1ZXN0
IHJlcXVlc3QgPSBtX2RvY3VtZW50LT5jb21wbGV0ZVVSTChtX3VybFRvTG9hZCwgYmFzZVVSTCk7
CiAgICAgICAgIGlmIChtX3RhZ05hbWUgPT0gc2NyaXB0VGFnKQotICAgICAgICAgICAgY2FjaGVk
UmVzb3VyY2VMb2FkZXItPnByZWxvYWQoQ2FjaGVkUmVzb3VyY2U6OlNjcmlwdCwgcmVxdWVzdCwg
bV9jaGFyc2V0LCBzY2FubmluZ0JvZHkpOworICAgICAgICAgICAgY2FjaGVkUmVzb3VyY2VMb2Fk
ZXItPnByZWxvYWQoQ2FjaGVkUmVzb3VyY2U6OlNjcmlwdCwgcmVxdWVzdCwgbV9jaGFyc2V0LCBz
Y2FubmluZ0JvZHksICp0aGlzKTsKICAgICAgICAgZWxzZSBpZiAobV90YWdOYW1lID09IGltZ1Rh
ZyB8fCAobV90YWdOYW1lID09IGlucHV0VGFnICYmIG1faW5wdXRJc0ltYWdlKSkKLSAgICAgICAg
ICAgIGNhY2hlZFJlc291cmNlTG9hZGVyLT5wcmVsb2FkKENhY2hlZFJlc291cmNlOjpJbWFnZVJl
c291cmNlLCByZXF1ZXN0LCBTdHJpbmcoKSwgc2Nhbm5pbmdCb2R5KTsKKyAgICAgICAgICAgIGNh
Y2hlZFJlc291cmNlTG9hZGVyLT5wcmVsb2FkKENhY2hlZFJlc291cmNlOjpJbWFnZVJlc291cmNl
LCByZXF1ZXN0LCBTdHJpbmcoKSwgc2Nhbm5pbmdCb2R5LCAqdGhpcyk7CiAgICAgICAgIGVsc2Ug
aWYgKG1fdGFnTmFtZSA9PSBsaW5rVGFnICYmIG1fbGlua0lzU3R5bGVTaGVldCAmJiBtX2xpbmtN
ZWRpYUF0dHJpYnV0ZUlzU2NyZWVuKSAKLSAgICAgICAgICAgIGNhY2hlZFJlc291cmNlTG9hZGVy
LT5wcmVsb2FkKENhY2hlZFJlc291cmNlOjpDU1NTdHlsZVNoZWV0LCByZXF1ZXN0LCBtX2NoYXJz
ZXQsIHNjYW5uaW5nQm9keSk7CisgICAgICAgICAgICBjYWNoZWRSZXNvdXJjZUxvYWRlci0+cHJl
bG9hZChDYWNoZWRSZXNvdXJjZTo6Q1NTU3R5bGVTaGVldCwgcmVxdWVzdCwgbV9jaGFyc2V0LCBz
Y2FubmluZ0JvZHksICp0aGlzKTsKICAgICB9CiAKICAgICBjb25zdCBBdG9taWNTdHJpbmcmIHRh
Z05hbWUoKSBjb25zdCB7IHJldHVybiBtX3RhZ05hbWU7IH0KICAgICBjb25zdCBTdHJpbmcmIGJh
c2VFbGVtZW50SHJlZigpIGNvbnN0IHsgcmV0dXJuIG1fYmFzZUVsZW1lbnRIcmVmOyB9CiAKIHBy
aXZhdGU6CisgICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIGluaXRpYXRvck5hbWUoKSBj
b25zdCB7IHJldHVybiBtX3RhZ05hbWU7IH0KKyAgICB2aXJ0dWFsIERvY3VtZW50KiBpbml0aWF0
b3JEb2N1bWVudCgpIGNvbnN0IHsgcmV0dXJuIG1fZG9jdW1lbnQ7IH0KKwogICAgIEF0b21pY1N0
cmluZyBtX3RhZ05hbWU7CisgICAgRG9jdW1lbnQqIG1fZG9jdW1lbnQ7CiAgICAgU3RyaW5nIG1f
dXJsVG9Mb2FkOwogICAgIFN0cmluZyBtX2NoYXJzZXQ7CiAgICAgU3RyaW5nIG1fYmFzZUVsZW1l
bnRIcmVmOwpAQCAtMTkwLDcgKzE5Niw3IEBAIHZvaWQgSFRNTFByZWxvYWRTY2FubmVyOjpwcm9j
ZXNzVG9rZW4oKQogICAgIGlmIChtX3Rva2VuLnR5cGUoKSAhPSBIVE1MVG9rZW5UeXBlczo6U3Rh
cnRUYWcpCiAgICAgICAgIHJldHVybjsKIAotICAgIFByZWxvYWRUYXNrIHRhc2sobV90b2tlbik7
CisgICAgUHJlbG9hZFRhc2sgdGFzayhtX3Rva2VuLCBtX2RvY3VtZW50KTsKICAgICBtX3Rva2Vu
aXplci0+dXBkYXRlU3RhdGVGb3IodGFzay50YWdOYW1lKCksIG1fZG9jdW1lbnQtPmZyYW1lKCkp
OwogCiAgICAgaWYgKHRhc2sudGFnTmFtZSgpID09IGJvZHlUYWcpCkBAIC0yMDIsNyArMjA4LDcg
QEAgdm9pZCBIVE1MUHJlbG9hZFNjYW5uZXI6OnByb2Nlc3NUb2tlbigpCiAgICAgaWYgKHRhc2su
dGFnTmFtZSgpID09IGJhc2VUYWcpCiAgICAgICAgIHVwZGF0ZVByZWRpY3RlZEJhc2VFbGVtZW50
VVJMKEtVUkwobV9kb2N1bWVudC0+dXJsKCksIHRhc2suYmFzZUVsZW1lbnRIcmVmKCkpKTsKIAot
ICAgIHRhc2sucHJlbG9hZChtX2RvY3VtZW50LCBzY2FubmluZ0JvZHkoKSwgbV9wcmVkaWN0ZWRC
YXNlRWxlbWVudFVSTC5pc0VtcHR5KCkgPyBtX2RvY3VtZW50LT5iYXNlVVJMKCkgOiBtX3ByZWRp
Y3RlZEJhc2VFbGVtZW50VVJMKTsKKyAgICB0YXNrLnByZWxvYWQoc2Nhbm5pbmdCb2R5KCksIG1f
cHJlZGljdGVkQmFzZUVsZW1lbnRVUkwuaXNFbXB0eSgpID8gbV9kb2N1bWVudC0+YmFzZVVSTCgp
IDogbV9wcmVkaWN0ZWRCYXNlRWxlbWVudFVSTCk7CiB9CiAKIGJvb2wgSFRNTFByZWxvYWRTY2Fu
bmVyOjpzY2FubmluZ0JvZHkoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC90cmFjay9Mb2FkYWJsZVRleHRUcmFjay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNr
L0xvYWRhYmxlVGV4dFRyYWNrLmNwcAppbmRleCBkOTVlOGNjZjlkNmVhMWY4YTUxNjhiM2U2Y2Zj
MjY3N2Q4OTFhNDI5Li44MzE4YTU0Mjk0NjNiZDhlZmRkOTU0YTBjZmFlMDRkZjUxYTQyNDA5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL0xvYWRhYmxlVGV4dFRyYWNrLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL0xvYWRhYmxlVGV4dFRyYWNrLmNwcApA
QCAtMTIyLDYgKzEyMiwxMSBAQCB2b2lkIExvYWRhYmxlVGV4dFRyYWNrOjpjdWVMb2FkaW5nQ29t
cGxldGVkKFRleHRUcmFja0xvYWRlciogbG9hZGVyLCBib29sIGxvYWRpbgogICAgIG1fdHJhY2tF
bGVtZW50LT5kaWRDb21wbGV0ZUxvYWQodGhpcywgbG9hZGluZ0ZhaWxlZCA/IEhUTUxUcmFja0Vs
ZW1lbnQ6OkZhaWx1cmUgOiBIVE1MVHJhY2tFbGVtZW50OjpTdWNjZXNzKTsKIH0KIAorY29uc3Qg
TG9hZEluaXRpYXRvciYgTG9hZGFibGVUZXh0VHJhY2s6OmluaXRpYXRvcigpIGNvbnN0Cit7Cisg
ICAgcmV0dXJuICptX3RyYWNrRWxlbWVudDsKK30KKwogc2l6ZV90IExvYWRhYmxlVGV4dFRyYWNr
Ojp0cmFja0VsZW1lbnRJbmRleCgpCiB7CiAgICAgQVNTRVJUKG1fdHJhY2tFbGVtZW50KTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svTG9hZGFibGVUZXh0VHJhY2suaCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svTG9hZGFibGVUZXh0VHJhY2suaAppbmRleCAzMzE4
M2RiOWI0NzFiMjFkM2FiY2QxNDcxMzdiMzMyNzc0M2ZiODQ2Li4yNTIxZjU1ZDhiMTUwYmRmMzU3
MDZmZDZhOTI4OTA1MDJiMjdjZDcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3Ry
YWNrL0xvYWRhYmxlVGV4dFRyYWNrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9M
b2FkYWJsZVRleHRUcmFjay5oCkBAIC00MSw3ICs0MSw3IEBAIGNsYXNzIExvYWRhYmxlVGV4dFRy
YWNrOwogY2xhc3MgTG9hZGFibGVUZXh0VHJhY2tDbGllbnQgOiBwdWJsaWMgVGV4dFRyYWNrQ2xp
ZW50IHsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5Mb2FkYWJsZVRleHRUcmFja0NsaWVudCgpIHsg
fQotICAgIAorCiAgICAgdmlydHVhbCBib29sIGNhbkxvYWRVcmwoTG9hZGFibGVUZXh0VHJhY2sq
LCBjb25zdCBLVVJMJikgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIHZvaWQgbG9hZGlu
Z0NvbXBsZXRlZChMb2FkYWJsZVRleHRUcmFjayosIGJvb2wgLyogbG9hZGluZ0ZhaWxlZCAqLykg
eyB9CiB9OwpAQCAtNjcsNiArNjcsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBuZXdD
dWVzQXZhaWxhYmxlKFRleHRUcmFja0xvYWRlciopOwogICAgIHZpcnR1YWwgdm9pZCBjdWVMb2Fk
aW5nU3RhcnRlZChUZXh0VHJhY2tMb2FkZXIqKTsKICAgICB2aXJ0dWFsIHZvaWQgY3VlTG9hZGlu
Z0NvbXBsZXRlZChUZXh0VHJhY2tMb2FkZXIqLCBib29sIGxvYWRpbmdGYWlsZWQpOworICAgIHZp
cnR1YWwgY29uc3QgTG9hZEluaXRpYXRvciYgaW5pdGlhdG9yKCkgY29uc3Q7CiAKICAgICBMb2Fk
YWJsZVRleHRUcmFjayhIVE1MVHJhY2tFbGVtZW50KiwgY29uc3QgU3RyaW5nJiBraW5kLCBjb25z
dCBTdHJpbmcmIGxhYmVsLCBjb25zdCBTdHJpbmcmIGxhbmd1YWdlLCBib29sIGlzRGVmYXVsdCk7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVM
b2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRl
ci5jcHAKaW5kZXggNzFhMWFkM2IxOTcxMThjMmFiMWJjZGUyOTBhMzE5MmQ1YzY5MDc0Zi4uMWE4
Yjc1NDVmODA3YTJkM2MyMzRmNGY2ZGE4MTg0MDNhM2Y0YTEwZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5jcHAKQEAgLTU1LDI4ICs1
NSwyOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXZvaWQgRG9jdW1lbnRUaHJlYWRhYmxl
TG9hZGVyOjpsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KERvY3VtZW50KiBkb2N1bWVudCwgY29u
c3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50JiBjbGll
bnQsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJiBvcHRpb25zKQordm9pZCBEb2N1bWVu
dFRocmVhZGFibGVMb2FkZXI6OmxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoRG9jdW1lbnQqIGRv
Y3VtZW50LCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFRocmVhZGFibGVMb2FkZXJD
bGllbnQmIGNsaWVudCwgY29uc3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMmIG9wdGlvbnMsIGNv
bnN0IExvYWRJbml0aWF0b3ImIGluaXRpYXRvcikKIHsKICAgICAvLyBUaGUgbG9hZGVyIHdpbGwg
YmUgZGVsZXRlZCBhcyBzb29uIGFzIHRoaXMgZnVuY3Rpb24gZXhpdHMuCi0gICAgUmVmUHRyPERv
Y3VtZW50VGhyZWFkYWJsZUxvYWRlcj4gbG9hZGVyID0gYWRvcHRSZWYobmV3IERvY3VtZW50VGhy
ZWFkYWJsZUxvYWRlcihkb2N1bWVudCwgJmNsaWVudCwgTG9hZFN5bmNocm9ub3VzbHksIHJlcXVl
c3QsIG9wdGlvbnMpKTsKKyAgICBSZWZQdHI8RG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyPiBsb2Fk
ZXIgPSBhZG9wdFJlZihuZXcgRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyKGRvY3VtZW50LCAmY2xp
ZW50LCBMb2FkU3luY2hyb25vdXNseSwgcmVxdWVzdCwgb3B0aW9ucywgaW5pdGlhdG9yKSk7CiAg
ICAgQVNTRVJUKGxvYWRlci0+aGFzT25lUmVmKCkpOwogfQogCi1QYXNzUmVmUHRyPERvY3VtZW50
VGhyZWFkYWJsZUxvYWRlcj4gRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyOjpjcmVhdGUoRG9jdW1l
bnQqIGRvY3VtZW50LCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50KiBjbGllbnQsIGNvbnN0IFJlc291
cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMmIG9wdGlv
bnMpCitQYXNzUmVmUHRyPERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcj4gRG9jdW1lbnRUaHJlYWRh
YmxlTG9hZGVyOjpjcmVhdGUoRG9jdW1lbnQqIGRvY3VtZW50LCBUaHJlYWRhYmxlTG9hZGVyQ2xp
ZW50KiBjbGllbnQsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgVGhyZWFk
YWJsZUxvYWRlck9wdGlvbnMmIG9wdGlvbnMsIGNvbnN0IExvYWRJbml0aWF0b3ImIGluaXRpYXRv
cikKIHsKLSAgICBSZWZQdHI8RG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyPiBsb2FkZXIgPSBhZG9w
dFJlZihuZXcgRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyKGRvY3VtZW50LCBjbGllbnQsIExvYWRB
c3luY2hyb25vdXNseSwgcmVxdWVzdCwgb3B0aW9ucykpOworICAgIFJlZlB0cjxEb2N1bWVudFRo
cmVhZGFibGVMb2FkZXI+IGxvYWRlciA9IGFkb3B0UmVmKG5ldyBEb2N1bWVudFRocmVhZGFibGVM
b2FkZXIoZG9jdW1lbnQsIGNsaWVudCwgTG9hZEFzeW5jaHJvbm91c2x5LCByZXF1ZXN0LCBvcHRp
b25zLCBpbml0aWF0b3IpKTsKICAgICBpZiAoIWxvYWRlci0+bV9yZXNvdXJjZSkKICAgICAgICAg
bG9hZGVyID0gMDsKICAgICByZXR1cm4gbG9hZGVyLnJlbGVhc2UoKTsKIH0KIAotRG9jdW1lbnRU
aHJlYWRhYmxlTG9hZGVyOjpEb2N1bWVudFRocmVhZGFibGVMb2FkZXIoRG9jdW1lbnQqIGRvY3Vt
ZW50LCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50KiBjbGllbnQsIEJsb2NraW5nQmVoYXZpb3IgYmxv
Y2tpbmdCZWhhdmlvciwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBUaHJl
YWRhYmxlTG9hZGVyT3B0aW9ucyYgb3B0aW9ucykKK0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlcjo6
RG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyKERvY3VtZW50KiBkb2N1bWVudCwgVGhyZWFkYWJsZUxv
YWRlckNsaWVudCogY2xpZW50LCBCbG9ja2luZ0JlaGF2aW9yIGJsb2NraW5nQmVoYXZpb3IsIGNv
bnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgVGhyZWFkYWJsZUxvYWRlck9wdGlv
bnMmIG9wdGlvbnMsIGNvbnN0IExvYWRJbml0aWF0b3ImIGluaXRpYXRvcikKICAgICA6IG1fY2xp
ZW50KGNsaWVudCkKICAgICAsIG1fZG9jdW1lbnQoZG9jdW1lbnQpCiAgICAgLCBtX29wdGlvbnMo
b3B0aW9ucykKICAgICAsIG1fc2FtZU9yaWdpblJlcXVlc3Qoc2VjdXJpdHlPcmlnaW4oKS0+Y2Fu
UmVxdWVzdChyZXF1ZXN0LnVybCgpKSkKICAgICAsIG1fc2ltcGxlUmVxdWVzdCh0cnVlKQogICAg
ICwgbV9hc3luYyhibG9ja2luZ0JlaGF2aW9yID09IExvYWRBc3luY2hyb25vdXNseSkKKyAgICAs
IG1faW5pdGlhdG9yKGluaXRpYXRvcikKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgICwgbV9w
cmVmbGlnaHRSZXF1ZXN0SWRlbnRpZmllcigwKQogI2VuZGlmCkBAIC0zMDMsNyArMzA0LDcgQEAg
dm9pZCBEb2N1bWVudFRocmVhZGFibGVMb2FkZXI6Om5vdGlmeUZpbmlzaGVkKENhY2hlZFJlc291
cmNlKiByZXNvdXJjZSkKIHsKICAgICBBU1NFUlQobV9jbGllbnQpOwogICAgIEFTU0VSVF9VTlVT
RUQocmVzb3VyY2UsIHJlc291cmNlID09IG1fcmVzb3VyY2UpOwotICAgICAgICAKKwogICAgIGlm
IChtX3Jlc291cmNlICYmIChtX3Jlc291cmNlLT5lcnJvck9jY3VycmVkKCkgfHwgbV9yZXNvdXJj
ZS0+d2FzQ2FuY2VsZWQoKSkpIHsKICAgICAgICAgUmVzb3VyY2VFcnJvciBlcnJvcigiTmV0d29y
ayBSZXF1ZXN0IEZhaWxlZCIsIDAsIG1fcmVzb3VyY2UtPnVybCgpLCAiUmVzb3VyY2UgZmFpbGVk
IHRvIGxvYWQiKTsKICAgICAgICAgaWYgKG1fcmVzb3VyY2UtPndhc0NhbmNlbGVkKCkpCkBAIC0z
ODYsNyArMzg3LDcgQEAgdm9pZCBEb2N1bWVudFRocmVhZGFibGVMb2FkZXI6OmxvYWRSZXF1ZXN0
KGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgU2VjdXIKICAgICAgICAgfQogI2VuZGlm
CiAgICAgICAgIEFTU0VSVCghbV9yZXNvdXJjZSk7Ci0gICAgICAgIG1fcmVzb3VyY2UgPSBtX2Rv
Y3VtZW50LT5jYWNoZWRSZXNvdXJjZUxvYWRlcigpLT5yZXF1ZXN0UmF3UmVzb3VyY2UobmV3UmVx
dWVzdCwgb3B0aW9ucyk7CisgICAgICAgIG1fcmVzb3VyY2UgPSBtX2RvY3VtZW50LT5jYWNoZWRS
ZXNvdXJjZUxvYWRlcigpLT5yZXF1ZXN0UmF3UmVzb3VyY2UobmV3UmVxdWVzdCwgb3B0aW9ucywg
bV9pbml0aWF0b3IpOwogICAgICAgICBpZiAobV9yZXNvdXJjZSkgewogI2lmIEVOQUJMRShJTlNQ
RUNUT1IpCiAgICAgICAgICAgICBpZiAobV9yZXNvdXJjZS0+bG9hZGVyKCkpIHsKQEAgLTM5OCw3
ICszOTksNyBAQCB2b2lkIERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcjo6bG9hZFJlcXVlc3QoY29u
c3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBTZWN1cgogICAgICAgICB9CiAgICAgICAgIHJl
dHVybjsKICAgICB9Ci0gICAgCisKICAgICAvLyBGSVhNRTogVGhyZWFkYWJsZUxvYWRlck9wdGlv
bnMuc25pZmZDb250ZW50IGlzIG5vdCBzdXBwb3J0ZWQgZm9yIHN5bmNocm9ub3VzIHJlcXVlc3Rz
LgogICAgIFZlY3RvcjxjaGFyPiBkYXRhOwogICAgIFJlc291cmNlRXJyb3IgZXJyb3I7CkBAIC00
MzAsNyArNDMxLDEzIEBAIHZvaWQgRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyOjpsb2FkUmVxdWVz
dChjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFNlY3VyCiAgICAgaW50IGxlbiA9IHN0
YXRpY19jYXN0PGludD4oZGF0YS5zaXplKCkpOwogICAgIGRhdGFSZWNlaXZlZCgwLCBieXRlcywg
bGVuKTsKIAotICAgIGRpZEZpbmlzaExvYWRpbmcoaWRlbnRpZmllciwgMC4wKTsKKyAgICBkb3Vi
bGUgZmluaXNoVGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOworI2lmIEVOQUJM
RShSRVNPVVJDRV9USU1JTkcpCisgICAgaWYgKG1faW5pdGlhdG9yLmluaXRpYXRvckRvY3VtZW50
KCkpCisgICAgICAgIG1faW5pdGlhdG9yLmluaXRpYXRvckRvY3VtZW50KCktPmRvbVdpbmRvdygp
LT5wZXJmb3JtYW5jZSgpLT5hZGRSZXNvdXJjZVRpbWluZyhtX2luaXRpYXRvciwgcmVxdWVzdCwg
cmVzcG9uc2UsIGZpbmlzaFRpbWUpOworI2VuZGlmCisKKyAgICBkaWRGaW5pc2hMb2FkaW5nKGlk
ZW50aWZpZXIsIGZpbmlzaFRpbWUpOwogfQogCiBib29sIERvY3VtZW50VGhyZWFkYWJsZUxvYWRl
cjo6aXNBbGxvd2VkUmVkaXJlY3QoY29uc3QgS1VSTCYgdXJsKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5oIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5oCmluZGV4IDg3OTkxOWZlY2E1NWEy
MWRjY2UzYmQwMWNiOWRkOThjNTlmNDEwNWMuLjQ5MGY5Njc2Y2U0ZGIyMmQwOGRhMGIzNGU2ZDg1
NTU5NTk0ZTEyMmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRo
cmVhZGFibGVMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJl
YWRhYmxlTG9hZGVyLmgKQEAgLTM0LDYgKzM0LDggQEAKICNpbmNsdWRlICJDYWNoZWRSYXdSZXNv
dXJjZS5oIgogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlSGFuZGxlLmgiCiAjaW5jbHVkZSAiRnJh
bWVMb2FkZXJUeXBlcy5oIgorI2luY2x1ZGUgIkxvYWRJbml0aWF0b3JIYW5kbGUuaCIKKyNpbmNs
dWRlICJOdWxsTG9hZEluaXRpYXRvci5oIgogI2luY2x1ZGUgIlRocmVhZGFibGVMb2FkZXIuaCIK
ICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KQEAgLTQ1
LDYgKzQ3LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBEb2N1bWVudDsKICAg
ICBjbGFzcyBLVVJMOworICAgIGNsYXNzIExvYWRJbml0aWF0b3I7CiAgICAgY2xhc3MgUmVzb3Vy
Y2VSZXF1ZXN0OwogICAgIGNsYXNzIFNlY3VyaXR5T3JpZ2luOwogICAgIGNsYXNzIFRocmVhZGFi
bGVMb2FkZXJDbGllbnQ7CkBAIC01Miw4ICs1NSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICBjbGFzcyBEb2N1bWVudFRocmVhZGFibGVMb2FkZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxEb2N1
bWVudFRocmVhZGFibGVMb2FkZXI+LCBwdWJsaWMgVGhyZWFkYWJsZUxvYWRlciwgcHJpdmF0ZSBD
YWNoZWRSYXdSZXNvdXJjZUNsaWVudCAgewogICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKICAgICBwdWJsaWM6Ci0gICAgICAgIHN0YXRpYyB2b2lkIGxvYWRSZXNvdXJjZVN5bmNocm9u
b3VzbHkoRG9jdW1lbnQqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBUaHJlYWRhYmxlTG9hZGVy
Q2xpZW50JiwgY29uc3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMmKTsKLSAgICAgICAgc3RhdGlj
IFBhc3NSZWZQdHI8RG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyPiBjcmVhdGUoRG9jdW1lbnQqLCBU
aHJlYWRhYmxlTG9hZGVyQ2xpZW50KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgVGhy
ZWFkYWJsZUxvYWRlck9wdGlvbnMmKTsKKyAgICAgICAgc3RhdGljIHZvaWQgbG9hZFJlc291cmNl
U3luY2hyb25vdXNseShEb2N1bWVudCosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIFRocmVhZGFi
bGVMb2FkZXJDbGllbnQmLCBjb25zdCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9ucyYsIGNvbnN0IExv
YWRJbml0aWF0b3ImID0gTnVsbExvYWRJbml0aWF0b3I6Omluc3RhbmNlKCkpOworICAgICAgICBz
dGF0aWMgUGFzc1JlZlB0cjxEb2N1bWVudFRocmVhZGFibGVMb2FkZXI+IGNyZWF0ZShEb2N1bWVu
dCosIFRocmVhZGFibGVMb2FkZXJDbGllbnQqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBjb25z
dCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9ucyYsIGNvbnN0IExvYWRJbml0aWF0b3ImID0gTnVsbExv
YWRJbml0aWF0b3I6Omluc3RhbmNlKCkpOwogICAgICAgICB2aXJ0dWFsIH5Eb2N1bWVudFRocmVh
ZGFibGVMb2FkZXIoKTsKIAogICAgICAgICB2aXJ0dWFsIHZvaWQgY2FuY2VsKCk7CkBAIC03Miw3
ICs3NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAgIExvYWRBc3luY2hyb25v
dXNseQogICAgICAgICB9OwogCi0gICAgICAgIERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcihEb2N1
bWVudCosIFRocmVhZGFibGVMb2FkZXJDbGllbnQqLCBCbG9ja2luZ0JlaGF2aW9yLCBjb25zdCBS
ZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9ucyYpOworICAgICAg
ICBEb2N1bWVudFRocmVhZGFibGVMb2FkZXIoRG9jdW1lbnQqLCBUaHJlYWRhYmxlTG9hZGVyQ2xp
ZW50KiwgQmxvY2tpbmdCZWhhdmlvciwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgVGhy
ZWFkYWJsZUxvYWRlck9wdGlvbnMmLCBjb25zdCBMb2FkSW5pdGlhdG9yJik7CiAKICAgICAgICAg
dm9pZCBjbGVhclJlc291cmNlKCk7CiAKQEAgLTEwOCw2ICsxMTEsNyBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgICAgIGJvb2wgbV9zaW1wbGVSZXF1ZXN0OwogICAgICAgICBib29sIG1fYXN5
bmM7CiAgICAgICAgIE93blB0cjxSZXNvdXJjZVJlcXVlc3Q+IG1fYWN0dWFsUmVxdWVzdDsgIC8v
IG5vbi1udWxsIGR1cmluZyBBY2Nlc3MgQ29udHJvbCBwcmVmbGlnaHQgY2hlY2tzCisgICAgICAg
IExvYWRJbml0aWF0b3JIYW5kbGUgbV9pbml0aWF0b3I7CiAKICNpZiBFTkFCTEUoSU5TUEVDVE9S
KQogICAgICAgICB1bnNpZ25lZCBsb25nIG1fcHJlZmxpZ2h0UmVxdWVzdElkZW50aWZpZXI7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmNwcAppbmRleCAwNTIzYjNhODlmMzE2NzVjYzY5
OWUxNWQ5ZDE2MTYwN2Y3ZTc1YjExLi5lNmNjNDc0ZTZjNTk0NDE1MzNlZTNjNDc5NDk0Y2JiMzkw
NTI5MTc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAKQEAgLTE5NCw3ICsx
OTQsNyBAQCB2b2lkIEltYWdlTG9hZGVyOjp1cGRhdGVGcm9tRWxlbWVudCgpCiAgICAgICAgICAg
ICBkb2N1bWVudCgpLT5jYWNoZWRSZXNvdXJjZUxvYWRlcigpLT5tX2RvY3VtZW50UmVzb3VyY2Vz
LnNldChuZXdJbWFnZS0+dXJsKCksIG5ld0ltYWdlLmdldCgpKTsKICAgICAgICAgICAgIGRvY3Vt
ZW50KCktPmNhY2hlZFJlc291cmNlTG9hZGVyKCktPnNldEF1dG9Mb2FkSW1hZ2VzKGF1dG9Mb2Fk
T3RoZXJJbWFnZXMpOwogICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIG5ld0ltYWdlID0gZG9j
dW1lbnQoKS0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKS0+cmVxdWVzdEltYWdlKHJlcXVlc3QpOwor
ICAgICAgICAgICAgbmV3SW1hZ2UgPSBkb2N1bWVudCgpLT5jYWNoZWRSZXNvdXJjZUxvYWRlcigp
LT5yZXF1ZXN0SW1hZ2UocmVxdWVzdCwgKmNsaWVudCgpLT5zb3VyY2VFbGVtZW50KCkpOwogCiAg
ICAgICAgIC8vIElmIHdlIGRvIG5vdCBoYXZlIGFuIGltYWdlIGhlcmUsIGl0IG1lYW5zIHRoYXQg
YSBjcm9zcy1zaXRlCiAgICAgICAgIC8vIHZpb2xhdGlvbiBvY2N1cnJlZCwgb3IgdGhhdCB0aGUg
aW1hZ2Ugd2FzIGJsb2NrZWQgdmlhIENvbnRlbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9MaW5rTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9MaW5rTG9hZGVy
LmNwcAppbmRleCBhZjI1YTg2ODAzYzQwNzQ3OWMxMDI2N2FmMjY2N2VhMDJhZTVkMmYzLi5lMTY1
NTBkYmU4ZTUwZjc2MmMyMGZjYjFlMGEzMzdhYTMyNzQ3NmRlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvTGlua0xvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0xpbmtMb2FkZXIuY3BwCkBAIC0xMjAsMTIgKzEyMCwxMiBAQCBib29sIExpbmtMb2FkZXI6Omxv
YWRMaW5rKGNvbnN0IExpbmtSZWxBdHRyaWJ1dGUmIHJlbEF0dHJpYnV0ZSwgY29uc3QgU3RyaW5n
JiB0eQogICAgICAgICAgICAgdHlwZSA9IENhY2hlZFJlc291cmNlOjpMaW5rU3VicmVzb3VyY2U7
CiAgICAgICAgIH0KICAgICAgICAgUmVzb3VyY2VSZXF1ZXN0IGxpbmtSZXF1ZXN0KGRvY3VtZW50
LT5jb21wbGV0ZVVSTChocmVmKSk7Ci0gICAgICAgIAorCiAgICAgICAgIGlmIChtX2NhY2hlZExp
bmtSZXNvdXJjZSkgewogICAgICAgICAgICAgbV9jYWNoZWRMaW5rUmVzb3VyY2UtPnJlbW92ZUNs
aWVudCh0aGlzKTsKICAgICAgICAgICAgIG1fY2FjaGVkTGlua1Jlc291cmNlID0gMDsKICAgICAg
ICAgfQotICAgICAgICBtX2NhY2hlZExpbmtSZXNvdXJjZSA9IGRvY3VtZW50LT5jYWNoZWRSZXNv
dXJjZUxvYWRlcigpLT5yZXF1ZXN0TGlua1Jlc291cmNlKHR5cGUsIGxpbmtSZXF1ZXN0LCBwcmlv
cml0eSk7CisgICAgICAgIG1fY2FjaGVkTGlua1Jlc291cmNlID0gZG9jdW1lbnQtPmNhY2hlZFJl
c291cmNlTG9hZGVyKCktPnJlcXVlc3RMaW5rUmVzb3VyY2UodHlwZSwgbGlua1JlcXVlc3QsIG1f
Y2xpZW50LT5pbml0aWF0b3IoKSwgcHJpb3JpdHkpOwogICAgICAgICBpZiAobV9jYWNoZWRMaW5r
UmVzb3VyY2UpCiAgICAgICAgICAgICBtX2NhY2hlZExpbmtSZXNvdXJjZS0+YWRkQ2xpZW50KHRo
aXMpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9MaW5rTG9hZGVy
Q2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTGlua0xvYWRlckNsaWVudC5oCmluZGV4
IDQzNTBlZTc4Yzk1YTc2M2Y5Y2M1ZDQ1ZTVhOGUxNjJhOWIxYTUwNjMuLjY2ZjIwYzU5N2E5NjJl
OTRiYWQxMmU1NTFkYzFlYzRhZDhmNzFmYTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9MaW5rTG9hZGVyQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0xpbmtM
b2FkZXJDbGllbnQuaApAQCAtMzIsMTEgKzMyLDE0IEBACiAjZGVmaW5lIExpbmtMb2FkZXJDbGll
bnRfaAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CitjbGFzcyBMb2FkSW5pdGlhdG9yOwogCiBjbGFz
cyBMaW5rTG9hZGVyQ2xpZW50IHsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5MaW5rTG9hZGVyQ2xp
ZW50KCkgeyB9CiAKKyAgICB2aXJ0dWFsIGNvbnN0IExvYWRJbml0aWF0b3ImIGluaXRpYXRvcigp
IGNvbnN0ID0gMDsKKwogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRMb2FkTGluaygpID0gMDsKIAog
ICAgIHZpcnR1YWwgdm9pZCBsaW5rTG9hZGVkKCkgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0xvYWRJbml0aWF0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Mb2Fk
SW5pdGlhdG9yLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjU2ZmYzM2FjNWIyZDBlZjFjMTNkZWFjNzc3YjA0MjNi
ODZjZjQ4MQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Mb2FkSW5p
dGlhdG9yLmgKQEAgLTAsMCArMSw1MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29n
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisg
KiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgTG9hZEluaXRpYXRvcl9oCisjZGVmaW5l
IExvYWRJbml0aWF0b3JfaAorCituYW1lc3BhY2UgV1RGIHsKK2NsYXNzIEF0b21pY1N0cmluZzsK
K30KKworbmFtZXNwYWNlIFdlYkNvcmUgeworY2xhc3MgRG9jdW1lbnQ7CisKK2NsYXNzIExvYWRJ
bml0aWF0b3IgeworcHVibGljOgorICAgIHZpcnR1YWwgfkxvYWRJbml0aWF0b3IoKSB7IH0KKwor
ICAgIHZpcnR1YWwgY29uc3QgV1RGOjpBdG9taWNTdHJpbmcmIGluaXRpYXRvck5hbWUoKSBjb25z
dCA9IDA7CisgICAgdmlydHVhbCBEb2N1bWVudCogaW5pdGlhdG9yRG9jdW1lbnQoKSBjb25zdCA9
IDA7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBMb2FkSW5pdGlh
dG9yX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Mb2FkSW5pdGlhdG9ySGFu
ZGxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Mb2FkSW5pdGlhdG9ySGFuZGxlLmNwcApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi40NmRmN2JkMzU2NTNlNDA0NjM5MmIxYjA3ZTM3MmMyYzRlOTU1MDNkCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0xvYWRJbml0aWF0b3JIYW5kbGUu
Y3BwCkBAIC0wLDAgKzEsNTggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgor
ICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTG9hZElu
aXRpYXRvckhhbmRsZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0xvYWRJbml0aWF0b3JI
YW5kbGU6OkxvYWRJbml0aWF0b3JIYW5kbGUoKQoreworICAgIGNsZWFyKCk7Cit9CisKK0xvYWRJ
bml0aWF0b3JIYW5kbGU6OkxvYWRJbml0aWF0b3JIYW5kbGUoY29uc3QgTG9hZEluaXRpYXRvciYg
aW5pdGlhdG9yKQorICAgIDogbV9uYW1lKGluaXRpYXRvci5pbml0aWF0b3JOYW1lKCkpCisgICAg
LCBtX2RvY3VtZW50KGluaXRpYXRvci5pbml0aWF0b3JEb2N1bWVudCgpKQoreworfQorCitMb2Fk
SW5pdGlhdG9ySGFuZGxlOjp+TG9hZEluaXRpYXRvckhhbmRsZSgpCit7Cit9CisKK3ZvaWQgTG9h
ZEluaXRpYXRvckhhbmRsZTo6Y2xlYXIoKQoreworICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRv
bWljU3RyaW5nLCBuYW1lLCAoInJlc291cmNlIiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9t
TGl0ZXJhbCkpOworICAgIG1fbmFtZSA9IG5hbWU7CisgICAgbV9kb2N1bWVudC5jbGVhcigpOwor
fQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvTG9hZEluaXRpYXRvckhhbmRsZS5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0xvYWRJ
bml0aWF0b3JIYW5kbGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MzZkMTY2YmY2NDVkYmQ3ZWVkMDQyNjRiNDJk
NWM3NTY0N2I1NmZjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0xv
YWRJbml0aWF0b3JIYW5kbGUuaApAQCAtMCwwICsxLDY0IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAq
ICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBp
dHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisg
KiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBMb2FkSW5pdGlhdG9y
SGFuZGxlX2gKKyNkZWZpbmUgTG9hZEluaXRpYXRvckhhbmRsZV9oCisKKyNpbmNsdWRlICJEb2N1
bWVudC5oIgorI2luY2x1ZGUgIkxvYWRJbml0aWF0b3IuaCIKKyNpbmNsdWRlIDx3dGYvUmVmUHRy
Lmg+CisjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nLmg+CisKKyNpZiBFTkFCTEUoUkVT
T1VSQ0VfVElNSU5HKQorI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgorI2luY2x1ZGUgIlBlcmZvcm1h
bmNlLmgiCisjZW5kaWYKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBMb2FkSW5pdGlh
dG9ySGFuZGxlIDogcHVibGljIExvYWRJbml0aWF0b3IgeworcHVibGljOgorICAgIExvYWRJbml0
aWF0b3JIYW5kbGUoKTsKKyAgICBMb2FkSW5pdGlhdG9ySGFuZGxlKGNvbnN0IExvYWRJbml0aWF0
b3ImKTsKKyAgICB2aXJ0dWFsIH5Mb2FkSW5pdGlhdG9ySGFuZGxlKCk7CisKKyAgICB2b2lkIGNs
ZWFyKCk7CisKKyAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgaW5pdGlhdG9yTmFtZSgp
IGNvbnN0IHsgcmV0dXJuIG1fbmFtZTsgfQorICAgIHZpcnR1YWwgRG9jdW1lbnQqIGluaXRpYXRv
ckRvY3VtZW50KCkgY29uc3QgeyByZXR1cm4gbV9kb2N1bWVudC5nZXQoKTsgfQorCitwcml2YXRl
OgorICAgIEF0b21pY1N0cmluZyBtX25hbWU7CisgICAgUmVmUHRyPERvY3VtZW50PiBtX2RvY3Vt
ZW50OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gTG9hZEluaXRp
YXRvckhhbmRsZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTWFpblJlc291
cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9NYWluUmVzb3VyY2VMb2FkZXIu
Y3BwCmluZGV4IGVhNjY3MDM2YzhjMzlmNjYyNDhkOGUyNWQ4Y2UxYjE4MWY3NGNlMWMuLmJlMTNk
ODMzNjQwNDRlMGNkMzcxYTAzM2MzMzM0NjdjMjZhNDIzMTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9NYWluUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9NYWluUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC01Myw2ICs1MywxMSBAQAogI2luY2x1
ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CiAKKyNpZiBFTkFC
TEUoUkVTT1VSQ0VfVElNSU5HKQorI2luY2x1ZGUgIkhUTUxGcmFtZU93bmVyRWxlbWVudC5oIgor
I2luY2x1ZGUgIlBlcmZvcm1hbmNlLmgiCisjZW5kaWYKKwogI2lmIFBMQVRGT1JNKFFUKQogI2lu
Y2x1ZGUgIlBsdWdpbkRhdGFiYXNlLmgiCiAjZW5kaWYKQEAgLTUyMSw3ICs1MjYsMTMgQEAgdm9p
ZCBNYWluUmVzb3VyY2VMb2FkZXI6OmRpZEZpbmlzaExvYWRpbmcoZG91YmxlIGZpbmlzaFRpbWUp
CiAgICAgaWYgKG1fbG9hZGluZ011bHRpcGFydENvbnRlbnQpCiAgICAgICAgIGRsLT5tYXliZUZp
bmlzaExvYWRpbmdNdWx0aXBhcnRDb250ZW50KCk7CiAKKwogICAgIGRvY3VtZW50TG9hZGVyKCkt
PnRpbWluZygpLT5zZXRSZXNwb25zZUVuZChmaW5pc2hUaW1lID8gZmluaXNoVGltZSA6IChtX3Rp
bWVPZkxhc3REYXRhUmVjZWl2ZWQgPyBtX3RpbWVPZkxhc3REYXRhUmVjZWl2ZWQgOiBtb25vdG9u
aWNhbGx5SW5jcmVhc2luZ1RpbWUoKSkpOworI2lmIEVOQUJMRShSRVNPVVJDRV9USU1JTkcpCisg
ICAgaWYgKG1fZnJhbWUtPm93bmVyRWxlbWVudCgpKQorICAgICAgICBtX2ZyYW1lLT5vd25lckVs
ZW1lbnQoKS0+aW5pdGlhdG9yRG9jdW1lbnQoKS0+ZG9tV2luZG93KCktPnBlcmZvcm1hbmNlKCkt
PmFkZFJlc291cmNlVGltaW5nKCptX2ZyYW1lLT5vd25lckVsZW1lbnQoKSwgb3JpZ2luYWxSZXF1
ZXN0KCksIG1fcmVzcG9uc2UsIGRvY3VtZW50TG9hZGVyKCktPnRpbWluZygpLT5yZXNwb25zZUVu
ZCgpKTsKKyNlbmRpZgorCiAgICAgZG9jdW1lbnRMb2FkZXIoKS0+ZmluaXNoZWRMb2FkaW5nKCk7
CiAgICAgUmVzb3VyY2VMb2FkZXI6OmRpZEZpbmlzaExvYWRpbmcoZmluaXNoVGltZSk7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OdWxsTG9hZEluaXRpYXRvci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvTnVsbExvYWRJbml0aWF0b3IuY3BwCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI0
NzI3YmRhZTliOGE0MGM3MzBlMWQ5MDRhM2MwMTZiYWRjNWRiOTYKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTnVsbExvYWRJbml0aWF0b3IuY3BwCkBAIC0wLDAgKzEs
NDQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAq
CisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICog
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29n
bGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQK
KyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTnVsbExvYWRJbml0aWF0b3IuaCIK
KworI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgewor
Citjb25zdCBOdWxsTG9hZEluaXRpYXRvciYgTnVsbExvYWRJbml0aWF0b3I6Omluc3RhbmNlKCkK
K3sKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKE51bGxMb2FkSW5pdGlhdG9yLCBpbnN0YW5jZSwg
KCkpOworICAgIHJldHVybiBpbnN0YW5jZTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL051bGxMb2FkSW5pdGlhdG9yLmggYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvTnVsbExvYWRJbml0aWF0b3IuaApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMDZk
ZWFhODM4Nzg0NTBjZWQwZjRlN2I5Y2I4YmQxZjcyYjQ0M2U0Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL051bGxMb2FkSW5pdGlhdG9yLmgKQEAgLTAsMCArMSw1MyBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAq
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
CisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJ
bmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8g
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICog
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpZm5kZWYgTnVsbExvYWRJbml0aWF0b3JfaAorI2RlZmluZSBOdWxsTG9hZEluaXRpYXRvcl9o
CisKKyNpbmNsdWRlICJMb2FkSW5pdGlhdG9yLmgiCisjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWlj
U3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKK2NsYXNzIERvY3VtZW50OworCitjbGFz
cyBOdWxsTG9hZEluaXRpYXRvciA6IHB1YmxpYyBMb2FkSW5pdGlhdG9yIHsKK3B1YmxpYzoKKyAg
ICBzdGF0aWMgY29uc3QgTnVsbExvYWRJbml0aWF0b3ImIGluc3RhbmNlKCk7CisKKyAgICB2aXJ0
dWFsIGNvbnN0IFdURjo6QXRvbWljU3RyaW5nJiBpbml0aWF0b3JOYW1lKCkgY29uc3QgeyByZXR1
cm4gbV9uYW1lOyB9CisgICAgdmlydHVhbCBEb2N1bWVudCogaW5pdGlhdG9yRG9jdW1lbnQoKSBj
b25zdCB7IHJldHVybiAwOyB9CisKK3ByaXZhdGU6CisgICAgQXRvbWljU3RyaW5nIG1fbmFtZTsK
K307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIE51bGxMb2FkSW5pdGlh
dG9yX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWROb3Rp
Zmllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkTm90aWZpZXIuY3Bw
CmluZGV4IGM3MzQ5YTFlZDZhMjMzMzJkZjhjOTQyOTliMmYyOWMxNzM1MDAwNDcuLjI0ZGY0ODlj
NzkyZWIwOWZlZTA3YTQwNDE2NzAwOTVkNTg0MmI1OTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9SZXNvdXJjZUxvYWROb3RpZmllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL1Jlc291cmNlTG9hZE5vdGlmaWVyLmNwcApAQCAtMTIxLDYgKzEyMSwxMCBAQCB2b2lk
IFJlc291cmNlTG9hZE5vdGlmaWVyOjpkaXNwYXRjaFdpbGxTZW5kUmVxdWVzdChEb2N1bWVudExv
YWRlciogbG9hZGVyLCB1bnNpZwogICAgIC8vIFJlcG9ydCBXZWJUaW1pbmcgZm9yIGFsbCBmcmFt
ZXMuCiAgICAgaWYgKGxvYWRlciAmJiAhcmVxdWVzdC5pc051bGwoKSAmJiByZXF1ZXN0LnVybCgp
ID09IGxvYWRlci0+cmVxdWVzdFVSTCgpKQogICAgICAgICByZXF1ZXN0LnNldFJlcG9ydExvYWRU
aW1pbmcodHJ1ZSk7CisKKyNpZiBFTkFCTEUoUkVTT1VSQ0VfVElNSU5HKQorICAgIHJlcXVlc3Qu
c2V0UmVwb3J0TG9hZFRpbWluZyh0cnVlKTsKKyNlbmRpZgogfQogCiB2b2lkIFJlc291cmNlTG9h
ZE5vdGlmaWVyOjpkaXNwYXRjaERpZFJlY2VpdmVSZXNwb25zZShEb2N1bWVudExvYWRlciogbG9h
ZGVyLCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHIs
IFJlc291cmNlTG9hZGVyKiByZXNvdXJjZUxvYWRlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVz
b3VyY2VMb2FkZXIuY3BwCmluZGV4IGYwYTZjMzM1Y2NmOTY5MjZiNGIxMzE2OWY0MGU0MWNhODhl
ZWFjOWYuLmE3N2Q3NDc3ZGNhNTIyN2Y2NTgyOTMwOWUxYjY1OGY2YzZjNTQzMmYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmNwcApAQCAtMjM5LDYgKzIzOSw4IEBAIHZv
aWQgUmVzb3VyY2VMb2FkZXI6OndpbGxTZW5kUmVxdWVzdChSZXNvdXJjZVJlcXVlc3QmIHJlcXVl
c3QsIGNvbnN0IFJlc291cmNlUmVzCiAgICAgaWYgKCFyZWRpcmVjdFJlc3BvbnNlLmlzTnVsbCgp
KQogICAgICAgICByZXNvdXJjZUxvYWRTY2hlZHVsZXIoKS0+Y3Jvc3NPcmlnaW5SZWRpcmVjdFJl
Y2VpdmVkKHRoaXMsIHJlcXVlc3QudXJsKCkpOwogICAgIG1fcmVxdWVzdCA9IHJlcXVlc3Q7Cisg
ICAgaWYgKG1fb3JpZ2luYWxSZXF1ZXN0LmlzTnVsbCgpKQorICAgICAgICBtX29yaWdpbmFsUmVx
dWVzdCA9IHJlcXVlc3Q7CiB9CiAKIHZvaWQgUmVzb3VyY2VMb2FkZXI6OmRpZFNlbmREYXRhKHVu
c2lnbmVkIGxvbmcgbG9uZywgdW5zaWduZWQgbG9uZyBsb25nKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL1N1YnJlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggNTZkZTBkMzQxMzNjM2Y1YTQ3MmJmYzJi
YzZmNGU1Y2RmMzgzMDNmZC4uNTBlODAwNGE2ZDRiMzhkMTNiZTg1YzE5MTVmNTZhNWQ0NWJiOGI5
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnJlc291cmNlTG9hZGVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwCkBAIC02
LDEzICs2LDEzIEBACiAgKiBhcmUgbWV0OgogICoKICAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4g
CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgogICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CiAgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uIAorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCiAgKiAzLiAgTmVpdGhlciB0aGUgbmFt
ZSBvZiBBcHBsZSBDb21wdXRlciwgSW5jLiAoIkFwcGxlIikgbm9yIHRoZSBuYW1lcyBvZgogICog
ICAgIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQKLSAqICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uIAorICogICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KICAqCiAgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWQogICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRApAQCAtNDMsNiArNDMsMTEgQEAKICNpbmNsdWRl
IDx3dGYvU3RkTGliRXh0cmFzLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogCisj
aWYgRU5BQkxFKFJFU09VUkNFX1RJTUlORykKKyNpbmNsdWRlICJET01XaW5kb3cuaCIKKyNpbmNs
dWRlICJQZXJmb3JtYW5jZS5oIgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogREVG
SU5FX0RFQlVHX09OTFlfR0xPQkFMKFdURjo6UmVmQ291bnRlZExlYWtDb3VudGVyLCBzdWJyZXNv
dXJjZUxvYWRlckNvdW50ZXIsICgiU3VicmVzb3VyY2VMb2FkZXIiKSk7CkBAIC0xNjQsNyArMTY5
LDcgQEAgdm9pZCBTdWJyZXNvdXJjZUxvYWRlcjo6d2lsbFNlbmRSZXF1ZXN0KFJlc291cmNlUmVx
dWVzdCYgbmV3UmVxdWVzdCwgY29uc3QgUmVzb3UKIHsKICAgICAvLyBTdG9yZSB0aGUgcHJldmlv
dXMgVVJMIGJlY2F1c2UgdGhlIGNhbGwgdG8gUmVzb3VyY2VMb2FkZXI6OndpbGxTZW5kUmVxdWVz
dCB3aWxsIG1vZGlmeSBpdC4KICAgICBLVVJMIHByZXZpb3VzVVJMID0gcmVxdWVzdCgpLnVybCgp
OwotICAgIAorCiAgICAgUmVzb3VyY2VMb2FkZXI6OndpbGxTZW5kUmVxdWVzdChuZXdSZXF1ZXN0
LCByZWRpcmVjdFJlc3BvbnNlKTsKICAgICBpZiAoIXByZXZpb3VzVVJMLmlzTnVsbCgpICYmICFu
ZXdSZXF1ZXN0LmlzTnVsbCgpICYmIHByZXZpb3VzVVJMICE9IG5ld1JlcXVlc3QudXJsKCkpIHsK
ICAgICAgICAgaWYgKG1fZG9jdW1lbnQtPmNhY2hlZFJlc291cmNlTG9hZGVyKCktPmNhblJlcXVl
c3QobV9yZXNvdXJjZS0+dHlwZSgpLCBuZXdSZXF1ZXN0LnVybCgpKSkgewpAQCAtMjI2LDggKzIz
MSw4IEBAIHZvaWQgU3VicmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVSZXNwb25zZShjb25zdCBS
ZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkKICAgICBpZiAobV9sb2FkaW5nTXVsdGlwYXJ0Q29u
dGVudCAmJiBidWZmZXIgJiYgYnVmZmVyLT5zaXplKCkpIHsKICAgICAgICAgc2VuZERhdGFUb1Jl
c291cmNlKGJ1ZmZlci0+ZGF0YSgpLCBidWZmZXItPnNpemUoKSk7CiAgICAgICAgIGNsZWFyUmVz
b3VyY2VEYXRhKCk7Ci0gICAgICAgIC8vIFNpbmNlIGEgc3VicmVzb3VyY2UgbG9hZGVyIGRvZXMg
bm90IGxvYWQgbXVsdGlwYXJ0IHNlY3Rpb25zIHByb2dyZXNzaXZlbHksIGRhdGEgd2FzIGRlbGl2
ZXJlZCB0byB0aGUgbG9hZGVyIGFsbCBhdCBvbmNlLiAgICAgICAgCi0gICAgICAgIC8vIEFmdGVy
IHRoZSBmaXJzdCBtdWx0aXBhcnQgc2VjdGlvbiBpcyBjb21wbGV0ZSwgc2lnbmFsIHRvIGRlbGVn
YXRlcyB0aGF0IHRoaXMgbG9hZCBpcyAiZmluaXNoZWQiIAorICAgICAgICAvLyBTaW5jZSBhIHN1
YnJlc291cmNlIGxvYWRlciBkb2VzIG5vdCBsb2FkIG11bHRpcGFydCBzZWN0aW9ucyBwcm9ncmVz
c2l2ZWx5LCBkYXRhIHdhcyBkZWxpdmVyZWQgdG8gdGhlIGxvYWRlciBhbGwgYXQgb25jZS4KKyAg
ICAgICAgLy8gQWZ0ZXIgdGhlIGZpcnN0IG11bHRpcGFydCBzZWN0aW9uIGlzIGNvbXBsZXRlLCBz
aWduYWwgdG8gZGVsZWdhdGVzIHRoYXQgdGhpcyBsb2FkIGlzICJmaW5pc2hlZCIKICAgICAgICAg
bV9kb2N1bWVudExvYWRlci0+c3VicmVzb3VyY2VMb2FkZXJGaW5pc2hlZExvYWRpbmdPbmVQYXJ0
KHRoaXMpOwogICAgICAgICBkaWRGaW5pc2hMb2FkaW5nT25lUGFydCgwKTsKICAgICB9CkBAIC0y
NjQsMTYgKzI2OSwxNiBAQCBib29sIFN1YnJlc291cmNlTG9hZGVyOjpjaGVja0ZvckhUVFBTdGF0
dXNDb2RlRXJyb3IoKQogCiB2b2lkIFN1YnJlc291cmNlTG9hZGVyOjpzZW5kRGF0YVRvUmVzb3Vy
Y2UoY29uc3QgY2hhciogZGF0YSwgaW50IGxlbmd0aCkKIHsKLSAgICAvLyBUaGVyZSBhcmUgdHdv
IGNhc2VzIHdoZXJlIHdlIG1pZ2h0IG5lZWQgdG8gY3JlYXRlIG91ciBvd24gU2hhcmVkQnVmZmVy
IGluc3RlYWQgb2YgY29weWluZyB0aGUgb25lIGluIFJlc291cmNlTG9hZGVyLiAKLSAgICAvLyAo
MSkgTXVsdGlwYXJ0IGNvbnRlbnQ6IFRoZSBsb2FkZXIgZGVsaXZlcnMgdGhlIGRhdGEgaW4gYSBt
dWx0aXBhcnQgc2VjdGlvbiBhbGwgYXQgb25jZSwgdGhlbiBzZW5kcyBlb2YuIAotICAgIC8vICAg
ICBUaGUgcmVzb3VyY2UgZGF0YSB3aWxsIGNoYW5nZSBhcyB0aGUgbmV4dCBwYXJ0IGlzIGxvYWRl
ZCwgc28gd2UgbmVlZCB0byBtYWtlIGEgY29weS4gCi0gICAgLy8gKDIpIE91ciBjbGllbnQgcmVx
dWVzdGVkIHRoYXQgdGhlIGRhdGEgbm90IGJlIGJ1ZmZlcmVkIGF0IHRoZSBSZXNvdXJjZUxvYWRl
ciBsZXZlbCB2aWEgUmVzb3VyY2VMb2FkZXJPcHRpb25zLiBJbiB0aGlzIGNhc2UsIAotICAgIC8v
ICAgICBSZXNvdXJjZUxvYWRlcjo6cmVzb3VyY2VEYXRhKCkgd2lsbCBiZSBudWxsLiBIb3dldmVy
LCB1bmxpa2UgdGhlIG11bHRpcGFydCBjYXNlLCB3ZSBkb24ndCB3YW50IHRvIHRlbGwgdGhlIENh
Y2hlZFJlc291cmNlIAotICAgIC8vICAgICB0aGF0IGFsbCBkYXRhIGhhcyBiZWVuIHJlY2VpdmVk
IHlldC4gCi0gICAgaWYgKG1fbG9hZGluZ011bHRpcGFydENvbnRlbnQgfHwgIXJlc291cmNlRGF0
YSgpKSB7IAotICAgICAgICBSZWZQdHI8U2hhcmVkQnVmZmVyPiBjb3BpZWREYXRhID0gU2hhcmVk
QnVmZmVyOjpjcmVhdGUoZGF0YSwgbGVuZ3RoKTsgCi0gICAgICAgIG1fcmVzb3VyY2UtPmRhdGEo
Y29waWVkRGF0YS5yZWxlYXNlKCksIG1fbG9hZGluZ011bHRpcGFydENvbnRlbnQpOyAKLSAgICB9
IGVsc2UgCisgICAgLy8gVGhlcmUgYXJlIHR3byBjYXNlcyB3aGVyZSB3ZSBtaWdodCBuZWVkIHRv
IGNyZWF0ZSBvdXIgb3duIFNoYXJlZEJ1ZmZlciBpbnN0ZWFkIG9mIGNvcHlpbmcgdGhlIG9uZSBp
biBSZXNvdXJjZUxvYWRlci4KKyAgICAvLyAoMSkgTXVsdGlwYXJ0IGNvbnRlbnQ6IFRoZSBsb2Fk
ZXIgZGVsaXZlcnMgdGhlIGRhdGEgaW4gYSBtdWx0aXBhcnQgc2VjdGlvbiBhbGwgYXQgb25jZSwg
dGhlbiBzZW5kcyBlb2YuCisgICAgLy8gICAgIFRoZSByZXNvdXJjZSBkYXRhIHdpbGwgY2hhbmdl
IGFzIHRoZSBuZXh0IHBhcnQgaXMgbG9hZGVkLCBzbyB3ZSBuZWVkIHRvIG1ha2UgYSBjb3B5Lgor
ICAgIC8vICgyKSBPdXIgY2xpZW50IHJlcXVlc3RlZCB0aGF0IHRoZSBkYXRhIG5vdCBiZSBidWZm
ZXJlZCBhdCB0aGUgUmVzb3VyY2VMb2FkZXIgbGV2ZWwgdmlhIFJlc291cmNlTG9hZGVyT3B0aW9u
cy4gSW4gdGhpcyBjYXNlLAorICAgIC8vICAgICBSZXNvdXJjZUxvYWRlcjo6cmVzb3VyY2VEYXRh
KCkgd2lsbCBiZSBudWxsLiBIb3dldmVyLCB1bmxpa2UgdGhlIG11bHRpcGFydCBjYXNlLCB3ZSBk
b24ndCB3YW50IHRvIHRlbGwgdGhlIENhY2hlZFJlc291cmNlCisgICAgLy8gICAgIHRoYXQgYWxs
IGRhdGEgaGFzIGJlZW4gcmVjZWl2ZWQgeWV0LgorICAgIGlmIChtX2xvYWRpbmdNdWx0aXBhcnRD
b250ZW50IHx8ICFyZXNvdXJjZURhdGEoKSkgeworICAgICAgICBSZWZQdHI8U2hhcmVkQnVmZmVy
PiBjb3BpZWREYXRhID0gU2hhcmVkQnVmZmVyOjpjcmVhdGUoZGF0YSwgbGVuZ3RoKTsKKyAgICAg
ICAgbV9yZXNvdXJjZS0+ZGF0YShjb3BpZWREYXRhLnJlbGVhc2UoKSwgbV9sb2FkaW5nTXVsdGlw
YXJ0Q29udGVudCk7CisgICAgfSBlbHNlCiAgICAgICAgIG1fcmVzb3VyY2UtPmRhdGEocmVzb3Vy
Y2VEYXRhKCksIGZhbHNlKTsKIH0KIApAQCAtMjk2LDYgKzMwMSwxMSBAQCB2b2lkIFN1YnJlc291
cmNlTG9hZGVyOjpkaWRGaW5pc2hMb2FkaW5nKGRvdWJsZSBmaW5pc2hUaW1lKQogICAgIFJlZlB0
cjxTdWJyZXNvdXJjZUxvYWRlcj4gcHJvdGVjdCh0aGlzKTsKICAgICBDYWNoZWRSZXNvdXJjZUhh
bmRsZTxDYWNoZWRSZXNvdXJjZT4gcHJvdGVjdFJlc291cmNlKG1fcmVzb3VyY2UpOwogICAgIG1f
c3RhdGUgPSBGaW5pc2hpbmc7CisjaWYgRU5BQkxFKFJFU09VUkNFX1RJTUlORykKKyAgICBjb25z
dCBMb2FkSW5pdGlhdG9yJiBpbml0aWF0b3IgPSBtX3Jlc291cmNlLT5pbml0aWF0b3IoKTsKKyAg
ICBpZiAoaW5pdGlhdG9yLmluaXRpYXRvckRvY3VtZW50KCkpCisgICAgICAgIGluaXRpYXRvci5p
bml0aWF0b3JEb2N1bWVudCgpLT5kb21XaW5kb3coKS0+cGVyZm9ybWFuY2UoKS0+YWRkUmVzb3Vy
Y2VUaW1pbmcoaW5pdGlhdG9yLCBtX3Jlc291cmNlLT5yZXNvdXJjZVJlcXVlc3QoKSwgbV9yZXNv
dXJjZS0+cmVzcG9uc2UoKSwgZmluaXNoVGltZSk7CisjZW5kaWYKICAgICBtX3Jlc291cmNlLT5z
ZXRMb2FkRmluaXNoVGltZShmaW5pc2hUaW1lKTsKICAgICBtX3Jlc291cmNlLT5kYXRhKHJlc291
cmNlRGF0YSgpLCB0cnVlKTsKICAgICBtX3Jlc291cmNlLT5maW5pc2goKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UZXh0VHJhY2tMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL1RleHRUcmFja0xvYWRlci5jcHAKaW5kZXggMjAyNTcwZDFkMGE4ZDVlMzVmNmMx
NDRiODlhZmYyYzIwYTg4MTU3Ny4uYjk5NTNmYWU5NGMwZmYxNzNlNjdhYTZjYTViNTMyZTZmM2Nh
MjYxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RleHRUcmFja0xvYWRlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RleHRUcmFja0xvYWRlci5jcHAKQEAgLTQx
LDcgKzQxLDcgQEAKICNpbmNsdWRlICJXZWJWVFRQYXJzZXIuaCIKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewotICAgIAorCiBUZXh0VHJhY2tMb2FkZXI6OlRleHRUcmFja0xvYWRlcihUZXh0VHJhY2tM
b2FkZXJDbGllbnQqIGNsaWVudCwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkKICAg
ICA6IG1fY2xpZW50KGNsaWVudCkKICAgICAsIG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dChjb250
ZXh0KQpAQCAtNjEsMTIgKzYxLDEyIEBAIFRleHRUcmFja0xvYWRlcjo6flRleHRUcmFja0xvYWRl
cigpCiB2b2lkIFRleHRUcmFja0xvYWRlcjo6Y3VlTG9hZFRpbWVyRmlyZWQoVGltZXI8VGV4dFRy
YWNrTG9hZGVyPiogdGltZXIpCiB7CiAgICAgQVNTRVJUX1VOVVNFRCh0aW1lciwgdGltZXIgPT0g
Jm1fY3VlTG9hZFRpbWVyKTsKLSAgICAKKwogICAgIGlmIChtX25ld0N1ZXNBdmFpbGFibGUpIHsK
ICAgICAgICAgbV9uZXdDdWVzQXZhaWxhYmxlID0gZmFsc2U7Ci0gICAgICAgIG1fY2xpZW50LT5u
ZXdDdWVzQXZhaWxhYmxlKHRoaXMpOyAKKyAgICAgICAgbV9jbGllbnQtPm5ld0N1ZXNBdmFpbGFi
bGUodGhpcyk7CiAgICAgfQotICAgIAorCiAgICAgaWYgKG1fc3RhdGUgPj0gRmluaXNoZWQpCiAg
ICAgICAgIG1fY2xpZW50LT5jdWVMb2FkaW5nQ29tcGxldGVkKHRoaXMsIG1fc3RhdGUgPT0gRmFp
bGVkKTsKIH0KQEAgLTgyLDEwICs4MiwxMCBAQCB2b2lkIFRleHRUcmFja0xvYWRlcjo6Y2FuY2Vs
TG9hZCgpCiB2b2lkIFRleHRUcmFja0xvYWRlcjo6cHJvY2Vzc05ld0N1ZURhdGEoQ2FjaGVkUmVz
b3VyY2UqIHJlc291cmNlKQogewogICAgIEFTU0VSVChtX2NhY2hlZEN1ZURhdGEgPT0gcmVzb3Vy
Y2UpOwotICAgIAorCiAgICAgaWYgKG1fc3RhdGUgPT0gRmFpbGVkIHx8ICFyZXNvdXJjZS0+ZGF0
YSgpKQogICAgICAgICByZXR1cm47Ci0gICAgCisKICAgICBTaGFyZWRCdWZmZXIqIGJ1ZmZlciA9
IHJlc291cmNlLT5kYXRhKCk7CiAgICAgaWYgKG1fcGFyc2VPZmZzZXQgPT0gYnVmZmVyLT5zaXpl
KCkpCiAgICAgICAgIHJldHVybjsKQEAgLTEwNSwxMCArMTA1LDEwIEBAIHZvaWQgVGV4dFRyYWNr
TG9hZGVyOjpwcm9jZXNzTmV3Q3VlRGF0YShDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2UpCiB2b2lk
IFRleHRUcmFja0xvYWRlcjo6ZGlkUmVjZWl2ZURhdGEoQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNl
KQogewogICAgIEFTU0VSVChtX2NhY2hlZEN1ZURhdGEgPT0gcmVzb3VyY2UpOwotICAgIAorCiAg
ICAgaWYgKCFyZXNvdXJjZS0+ZGF0YSgpKQogICAgICAgICByZXR1cm47Ci0gICAgCisKICAgICBw
cm9jZXNzTmV3Q3VlRGF0YShyZXNvdXJjZSk7CiB9CiAKQEAgLTE0MCw3ICsxNDAsNyBAQCB2b2lk
IFRleHRUcmFja0xvYWRlcjo6bm90aWZ5RmluaXNoZWQoQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNl
KQogCiAgICAgaWYgKCFtX2N1ZUxvYWRUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICBtX2N1ZUxv
YWRUaW1lci5zdGFydE9uZVNob3QoMCk7Ci0gICAgCisKICAgICBjYW5jZWxMb2FkKCk7CiB9CiAK
QEAgLTE2OCwxMiArMTY4LDEyIEBAIGJvb2wgVGV4dFRyYWNrTG9hZGVyOjpsb2FkKGNvbnN0IEtV
UkwmIHVybCwgY29uc3QgU3RyaW5nJiBjcm9zc09yaWdpbk1vZGUpCiAgICAgfQogCiAgICAgQ2Fj
aGVkUmVzb3VyY2VMb2FkZXIqIGNhY2hlZFJlc291cmNlTG9hZGVyID0gZG9jdW1lbnQtPmNhY2hl
ZFJlc291cmNlTG9hZGVyKCk7Ci0gICAgbV9jYWNoZWRDdWVEYXRhID0gY2FjaGVkUmVzb3VyY2VM
b2FkZXItPnJlcXVlc3RUZXh0VHJhY2soY3VlUmVxdWVzdCk7CisgICAgbV9jYWNoZWRDdWVEYXRh
ID0gY2FjaGVkUmVzb3VyY2VMb2FkZXItPnJlcXVlc3RUZXh0VHJhY2soY3VlUmVxdWVzdCwgbV9j
bGllbnQtPmluaXRpYXRvcigpKTsKICAgICBpZiAobV9jYWNoZWRDdWVEYXRhKQogICAgICAgICBt
X2NhY2hlZEN1ZURhdGEtPmFkZENsaWVudCh0aGlzKTsKLSAgICAKKwogICAgIG1fY2xpZW50LT5j
dWVMb2FkaW5nU3RhcnRlZCh0aGlzKTsKLSAgICAKKwogICAgIHJldHVybiB0cnVlOwogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFRyYWNrTG9hZGVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvVGV4dFRyYWNrTG9hZGVyLmgKaW5kZXggNzQzMzRmOTA2NDZjZGZk
NDU4ZjljMjNmNjJmMDgxZjQ4NzViOGMzYy4uZWE5YjkwNzMzNjBiZWY2ZmMzYzU2NjIyMzJlYzNi
MWVjOThlMGU3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RleHRUcmFja0xv
YWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UZXh0VHJhY2tMb2FkZXIuaApAQCAt
MzgsMTcgKzM4LDE5IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIERvY3VtZW50Owor
Y2xhc3MgTG9hZEluaXRpYXRvcjsKIGNsYXNzIFRleHRUcmFja0xvYWRlcjsKIGNsYXNzIFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQ7CiAKIGNsYXNzIFRleHRUcmFja0xvYWRlckNsaWVudCB7CiBwdWJs
aWM6CiAgICAgdmlydHVhbCB+VGV4dFRyYWNrTG9hZGVyQ2xpZW50KCkgeyB9Ci0gICAgCisKICAg
ICB2aXJ0dWFsIGJvb2wgc2hvdWxkTG9hZEN1ZXMoVGV4dFRyYWNrTG9hZGVyKikgPSAwOwogICAg
IHZpcnR1YWwgdm9pZCBuZXdDdWVzQXZhaWxhYmxlKFRleHRUcmFja0xvYWRlciopID0gMDsKICAg
ICB2aXJ0dWFsIHZvaWQgY3VlTG9hZGluZ1N0YXJ0ZWQoVGV4dFRyYWNrTG9hZGVyKikgPSAwOwog
ICAgIHZpcnR1YWwgdm9pZCBjdWVMb2FkaW5nQ29tcGxldGVkKFRleHRUcmFja0xvYWRlciosIGJv
b2wgbG9hZGluZ0ZhaWxlZCkgPSAwOworICAgIHZpcnR1YWwgY29uc3QgTG9hZEluaXRpYXRvciYg
aW5pdGlhdG9yKCkgY29uc3QgPSAwOwogfTsKIAogY2xhc3MgVGV4dFRyYWNrTG9hZGVyIDogcHVi
bGljIENhY2hlZFJlc291cmNlQ2xpZW50LCBwcml2YXRlIFdlYlZUVFBhcnNlckNsaWVudCB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5jcHAKaW5kZXggNzIwYmE0ZWVh
MTU5MjdjYzI1ZGQwMDU3ODg0YTVkM2VmNmRkZjc2Ni4uOGQzN2U2NDQ3NWQyOWI0OTQ4OTE2ODFj
MjZhZjk0OGMxMTVjYjdkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVh
ZGFibGVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9h
ZGVyLmNwcApAQCAtNDAsNyArNDAsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVBhc3NS
ZWZQdHI8VGhyZWFkYWJsZUxvYWRlcj4gVGhyZWFkYWJsZUxvYWRlcjo6Y3JlYXRlKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFRocmVhZGFibGVMb2FkZXJDbGllbnQqIGNsaWVudCwg
Y29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBUaHJlYWRhYmxlTG9hZGVyT3B0
aW9ucyYgb3B0aW9ucykgCitQYXNzUmVmUHRyPFRocmVhZGFibGVMb2FkZXI+IFRocmVhZGFibGVM
b2FkZXI6OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBUaHJlYWRhYmxl
TG9hZGVyQ2xpZW50KiBjbGllbnQsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29u
c3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMmIG9wdGlvbnMsIGNvbnN0IExvYWRJbml0aWF0b3Im
IGluaXRpYXRvcikKIHsKICAgICBBU1NFUlQoY2xpZW50KTsKICAgICBBU1NFUlQoY29udGV4dCk7
CkBAIC01MSwxMCArNTEsMTAgQEAgUGFzc1JlZlB0cjxUaHJlYWRhYmxlTG9hZGVyPiBUaHJlYWRh
YmxlTG9hZGVyOjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY28KICNlbmRpZiAvLyBF
TkFCTEUoV09SS0VSUykKIAogICAgIEFTU0VSVChjb250ZXh0LT5pc0RvY3VtZW50KCkpOwotICAg
IHJldHVybiBEb2N1bWVudFRocmVhZGFibGVMb2FkZXI6OmNyZWF0ZShzdGF0aWNfY2FzdDxEb2N1
bWVudCo+KGNvbnRleHQpLCBjbGllbnQsIHJlcXVlc3QsIG9wdGlvbnMpOworICAgIHJldHVybiBE
b2N1bWVudFRocmVhZGFibGVMb2FkZXI6OmNyZWF0ZShzdGF0aWNfY2FzdDxEb2N1bWVudCo+KGNv
bnRleHQpLCBjbGllbnQsIHJlcXVlc3QsIG9wdGlvbnMsIGluaXRpYXRvcik7CiB9CiAKLXZvaWQg
VGhyZWFkYWJsZUxvYWRlcjo6bG9hZFJlc291cmNlU3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRp
b25Db250ZXh0KiBjb250ZXh0LCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFRocmVh
ZGFibGVMb2FkZXJDbGllbnQmIGNsaWVudCwgY29uc3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMm
IG9wdGlvbnMpCit2b2lkIFRocmVhZGFibGVMb2FkZXI6OmxvYWRSZXNvdXJjZVN5bmNocm9ub3Vz
bHkoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0
JiByZXF1ZXN0LCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50JiBjbGllbnQsIGNvbnN0IFRocmVhZGFi
bGVMb2FkZXJPcHRpb25zJiBvcHRpb25zLCBjb25zdCBMb2FkSW5pdGlhdG9yJiBpbml0aWF0b3Ip
CiB7CiAgICAgQVNTRVJUKGNvbnRleHQpOwogCkBAIC02Niw3ICs2Niw3IEBAIHZvaWQgVGhyZWFk
YWJsZUxvYWRlcjo6bG9hZFJlc291cmNlU3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25Db250
ZXh0KiBjb250ZXh0CiAjZW5kaWYgLy8gRU5BQkxFKFdPUktFUlMpCiAKICAgICBBU1NFUlQoY29u
dGV4dC0+aXNEb2N1bWVudCgpKTsKLSAgICBEb2N1bWVudFRocmVhZGFibGVMb2FkZXI6OmxvYWRS
ZXNvdXJjZVN5bmNocm9ub3VzbHkoc3RhdGljX2Nhc3Q8RG9jdW1lbnQqPihjb250ZXh0KSwgcmVx
dWVzdCwgY2xpZW50LCBvcHRpb25zKTsKKyAgICBEb2N1bWVudFRocmVhZGFibGVMb2FkZXI6Omxv
YWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoc3RhdGljX2Nhc3Q8RG9jdW1lbnQqPihjb250ZXh0KSwg
cmVxdWVzdCwgY2xpZW50LCBvcHRpb25zLCBpbml0aWF0b3IpOwogfQogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxv
YWRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuaAppbmRleCA4
OGU4ZGQxMGE1OGFjZWRiMDU5MDkxMWRmMGQ5Y2VhMjhjMzg0ZjZjLi4yNDliNTMwZTY0ZjFjZmVh
MWNjYWNkNzhiOWM2MjdiZDQyMzQ2YjQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvVGhyZWFkYWJsZUxvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UaHJlYWRh
YmxlTG9hZGVyLmgKQEAgLTMxLDYgKzMxLDcgQEAKICNpZm5kZWYgVGhyZWFkYWJsZUxvYWRlcl9o
CiAjZGVmaW5lIFRocmVhZGFibGVMb2FkZXJfaAogCisjaW5jbHVkZSAiTnVsbExvYWRJbml0aWF0
b3IuaCIKICNpbmNsdWRlICJSZXNvdXJjZUhhbmRsZS5oIgogI2luY2x1ZGUgIlJlc291cmNlTG9h
ZGVyT3B0aW9ucy5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCkBAIC00MSw0OSArNDIs
NTAgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0gICAgY2xhc3MgUmVzb3VyY2VFcnJvcjsK
LSAgICBjbGFzcyBSZXNvdXJjZVJlcXVlc3Q7Ci0gICAgY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsK
LSAgICBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwotICAgIGNsYXNzIFRocmVhZGFibGVM
b2FkZXJDbGllbnQ7Ci0gICAgCi0gICAgZW51bSBDcm9zc09yaWdpblJlcXVlc3RQb2xpY3kgewot
ICAgICAgICBEZW55Q3Jvc3NPcmlnaW5SZXF1ZXN0cywKLSAgICAgICAgVXNlQWNjZXNzQ29udHJv
bCwKLSAgICAgICAgQWxsb3dDcm9zc09yaWdpblJlcXVlc3RzCi0gICAgfTsKK2NsYXNzIExvYWRJ
bml0aWF0b3I7CitjbGFzcyBSZXNvdXJjZUVycm9yOworY2xhc3MgUmVzb3VyY2VSZXF1ZXN0Owor
Y2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKK2NsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7Citj
bGFzcyBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50OwogCi0gICAgZW51bSBQcmVmbGlnaHRQb2xpY3kg
ewotICAgICAgICBDb25zaWRlclByZWZsaWdodCwKLSAgICAgICAgRm9yY2VQcmVmbGlnaHQsCi0g
ICAgICAgIFByZXZlbnRQcmVmbGlnaHQKLSAgICB9OworZW51bSBDcm9zc09yaWdpblJlcXVlc3RQ
b2xpY3kgeworICAgIERlbnlDcm9zc09yaWdpblJlcXVlc3RzLAorICAgIFVzZUFjY2Vzc0NvbnRy
b2wsCisgICAgQWxsb3dDcm9zc09yaWdpblJlcXVlc3RzCit9OwogCi0gICAgc3RydWN0IFRocmVh
ZGFibGVMb2FkZXJPcHRpb25zIDogcHVibGljIFJlc291cmNlTG9hZGVyT3B0aW9ucyB7Ci0gICAg
ICAgIFRocmVhZGFibGVMb2FkZXJPcHRpb25zKCkgOiBwcmVmbGlnaHRQb2xpY3koQ29uc2lkZXJQ
cmVmbGlnaHQpLCBjcm9zc09yaWdpblJlcXVlc3RQb2xpY3koRGVueUNyb3NzT3JpZ2luUmVxdWVz
dHMpIHsgfQotICAgICAgICBQcmVmbGlnaHRQb2xpY3kgcHJlZmxpZ2h0UG9saWN5OyAvLyBJZiBB
Y2Nlc3NDb250cm9sIGlzIHVzZWQsIGhvdyB0byBkZXRlcm1pbmUgaWYgYSBwcmVmbGlnaHQgaXMg
bmVlZGVkLgotICAgICAgICBDcm9zc09yaWdpblJlcXVlc3RQb2xpY3kgY3Jvc3NPcmlnaW5SZXF1
ZXN0UG9saWN5OwotICAgICAgICBSZWZQdHI8U2VjdXJpdHlPcmlnaW4+IHNlY3VyaXR5T3JpZ2lu
OwotICAgIH07CitlbnVtIFByZWZsaWdodFBvbGljeSB7CisgICAgQ29uc2lkZXJQcmVmbGlnaHQs
CisgICAgRm9yY2VQcmVmbGlnaHQsCisgICAgUHJldmVudFByZWZsaWdodAorfTsKIAotICAgIC8v
IFVzZWZ1bCBmb3IgZG9pbmcgbG9hZGVyIG9wZXJhdGlvbnMgZnJvbSBhbnkgdGhyZWFkIChub3Qg
dGhyZWFkc2FmZSwgCi0gICAgLy8ganVzdCBhYmxlIHRvIHJ1biBvbiB0aHJlYWRzIG90aGVyIHRo
YW4gdGhlIG1haW4gdGhyZWFkKS4KLSAgICBjbGFzcyBUaHJlYWRhYmxlTG9hZGVyIHsKLSAgICAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGhyZWFkYWJsZUxvYWRlcik7Ci0gICAgcHVibGljOgot
ICAgICAgICBzdGF0aWMgdm9pZCBsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBUaHJlYWRhYmxlTG9hZGVyQ2xp
ZW50JiwgY29uc3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMmKTsKLSAgICAgICAgc3RhdGljIFBh
c3NSZWZQdHI8VGhyZWFkYWJsZUxvYWRlcj4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQq
LCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3Qg
VGhyZWFkYWJsZUxvYWRlck9wdGlvbnMmKTsKK3N0cnVjdCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9u
cyA6IHB1YmxpYyBSZXNvdXJjZUxvYWRlck9wdGlvbnMgeworICAgIFRocmVhZGFibGVMb2FkZXJP
cHRpb25zKCkgOiBwcmVmbGlnaHRQb2xpY3koQ29uc2lkZXJQcmVmbGlnaHQpLCBjcm9zc09yaWdp
blJlcXVlc3RQb2xpY3koRGVueUNyb3NzT3JpZ2luUmVxdWVzdHMpIHsgfQorICAgIFByZWZsaWdo
dFBvbGljeSBwcmVmbGlnaHRQb2xpY3k7IC8vIElmIEFjY2Vzc0NvbnRyb2wgaXMgdXNlZCwgaG93
IHRvIGRldGVybWluZSBpZiBhIHByZWZsaWdodCBpcyBuZWVkZWQuCisgICAgQ3Jvc3NPcmlnaW5S
ZXF1ZXN0UG9saWN5IGNyb3NzT3JpZ2luUmVxdWVzdFBvbGljeTsKKyAgICBSZWZQdHI8U2VjdXJp
dHlPcmlnaW4+IHNlY3VyaXR5T3JpZ2luOworfTsKIAotICAgICAgICB2aXJ0dWFsIHZvaWQgY2Fu
Y2VsKCkgPSAwOwotICAgICAgICB2b2lkIHJlZigpIHsgcmVmVGhyZWFkYWJsZUxvYWRlcigpOyB9
Ci0gICAgICAgIHZvaWQgZGVyZWYoKSB7IGRlcmVmVGhyZWFkYWJsZUxvYWRlcigpOyB9CisvLyBV
c2VmdWwgZm9yIGRvaW5nIGxvYWRlciBvcGVyYXRpb25zIGZyb20gYW55IHRocmVhZCAobm90IHRo
cmVhZHNhZmUsCisvLyBqdXN0IGFibGUgdG8gcnVuIG9uIHRocmVhZHMgb3RoZXIgdGhhbiB0aGUg
bWFpbiB0aHJlYWQpLgorY2xhc3MgVGhyZWFkYWJsZUxvYWRlciB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoVGhyZWFkYWJsZUxvYWRlcik7CitwdWJsaWM6CisgICAgc3RhdGljIHZvaWQgbG9h
ZFJlc291cmNlU3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgY29uc3QgUmVz
b3VyY2VSZXF1ZXN0JiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCYsIGNvbnN0IFRocmVhZGFibGVM
b2FkZXJPcHRpb25zJiwgY29uc3QgTG9hZEluaXRpYXRvciYgPSBOdWxsTG9hZEluaXRpYXRvcjo6
aW5zdGFuY2UoKSk7CisgICAgc3RhdGljIFBhc3NSZWZQdHI8VGhyZWFkYWJsZUxvYWRlcj4gY3Jl
YXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50KiwgY29u
c3QgUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMmLCBjb25z
dCBMb2FkSW5pdGlhdG9yJiA9IE51bGxMb2FkSW5pdGlhdG9yOjppbnN0YW5jZSgpKTsKIAotICAg
IHByb3RlY3RlZDoKLSAgICAgICAgVGhyZWFkYWJsZUxvYWRlcigpIHsgfQotICAgICAgICB2aXJ0
dWFsIH5UaHJlYWRhYmxlTG9hZGVyKCkgeyB9Ci0gICAgICAgIHZpcnR1YWwgdm9pZCByZWZUaHJl
YWRhYmxlTG9hZGVyKCkgPSAwOwotICAgICAgICB2aXJ0dWFsIHZvaWQgZGVyZWZUaHJlYWRhYmxl
TG9hZGVyKCkgPSAwOwotICAgIH07CisgICAgdmlydHVhbCB2b2lkIGNhbmNlbCgpID0gMDsKKyAg
ICB2b2lkIHJlZigpIHsgcmVmVGhyZWFkYWJsZUxvYWRlcigpOyB9CisgICAgdm9pZCBkZXJlZigp
IHsgZGVyZWZUaHJlYWRhYmxlTG9hZGVyKCk7IH0KKworcHJvdGVjdGVkOgorICAgIFRocmVhZGFi
bGVMb2FkZXIoKSB7IH0KKyAgICB2aXJ0dWFsIH5UaHJlYWRhYmxlTG9hZGVyKCkgeyB9CisgICAg
dmlydHVhbCB2b2lkIHJlZlRocmVhZGFibGVMb2FkZXIoKSA9IDA7CisgICAgdmlydHVhbCB2b2lk
IGRlcmVmVGhyZWFkYWJsZUxvYWRlcigpID0gMDsKK307CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291
cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAK
aW5kZXggZDI5MWQxNDNiMTNiYTFhMTkzZGJlMzA4MzVlN2M3OWZhNDgyOTQyZS4uNWE1N2ViYjhh
ZmY1YTZmYTY4OGU1MmUzYmRjNTFmMzFlODg1NzA2MyAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwCkBAIC01Myw3ICs1Myw3IEBACiB1c2luZyBu
YW1lc3BhY2UgV1RGOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7Ci0gICAgCisKIHN0YXRpYyBSZXNv
dXJjZUxvYWRQcmlvcml0eSBkZWZhdWx0UHJpb3JpdHlGb3JSZXNvdXJjZVR5cGUoQ2FjaGVkUmVz
b3VyY2U6OlR5cGUgdHlwZSkKIHsKICAgICBzd2l0Y2ggKHR5cGUpIHsKQEAgLTEwMSw3ICsxMDEs
NyBAQCBzdGF0aWMgUmVzb3VyY2VSZXF1ZXN0OjpUYXJnZXRUeXBlIGNhY2hlZFJlc291cmNlVHlw
ZVRvVGFyZ2V0VHlwZShDYWNoZWRSZXNvdXJjZQogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlhT
TFN0eWxlU2hlZXQ6CiAjZW5kaWYKICAgICAgICAgcmV0dXJuIFJlc291cmNlUmVxdWVzdDo6VGFy
Z2V0SXNTdHlsZVNoZWV0OwotICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlNjcmlwdDogCisgICAg
Y2FzZSBDYWNoZWRSZXNvdXJjZTo6U2NyaXB0OgogICAgICAgICByZXR1cm4gUmVzb3VyY2VSZXF1
ZXN0OjpUYXJnZXRJc1NjcmlwdDsKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpGb250UmVzb3Vy
Y2U6CiAgICAgICAgIHJldHVybiBSZXNvdXJjZVJlcXVlc3Q6OlRhcmdldElzRm9udFJlc291cmNl
OwpAQCAtMTExLDcgKzExMSw3IEBAIHN0YXRpYyBSZXNvdXJjZVJlcXVlc3Q6OlRhcmdldFR5cGUg
Y2FjaGVkUmVzb3VyY2VUeXBlVG9UYXJnZXRUeXBlKENhY2hlZFJlc291cmNlCiAgICAgY2FzZSBD
YWNoZWRSZXNvdXJjZTo6U2hhZGVyUmVzb3VyY2U6CiAjZW5kaWYKICAgICBjYXNlIENhY2hlZFJl
c291cmNlOjpSYXdSZXNvdXJjZToKLSAgICAgICAgcmV0dXJuIFJlc291cmNlUmVxdWVzdDo6VGFy
Z2V0SXNTdWJyZXNvdXJjZTsgICAgCisgICAgICAgIHJldHVybiBSZXNvdXJjZVJlcXVlc3Q6OlRh
cmdldElzU3VicmVzb3VyY2U7CiAjaWYgRU5BQkxFKExJTktfUFJFRkVUQ0gpCiAgICAgY2FzZSBD
YWNoZWRSZXNvdXJjZTo6TGlua1ByZWZldGNoOgogICAgICAgICByZXR1cm4gUmVzb3VyY2VSZXF1
ZXN0OjpUYXJnZXRJc1ByZWZldGNoOwpAQCAtMjI0LDEzICsyMjQsMTMgQEAgdm9pZCBDYWNoZWRS
ZXNvdXJjZTo6bG9hZChDYWNoZWRSZXNvdXJjZUxvYWRlciogY2FjaGVkUmVzb3VyY2VMb2FkZXIs
IGNvbnN0IFJlc28KICAgICAgICAgbV9yZXNvdXJjZVJlcXVlc3Quc2V0SFRUUEhlYWRlckZpZWxk
KCJQdXJwb3NlIiwgInByZWZldGNoIik7CiAjZW5kaWYKICAgICBtX3Jlc291cmNlUmVxdWVzdC5z
ZXRQcmlvcml0eShsb2FkUHJpb3JpdHkoKSk7Ci0gICAgCisKICAgICBtX2xvYWRlciA9IHJlc291
cmNlTG9hZFNjaGVkdWxlcigpLT5zY2hlZHVsZVN1YnJlc291cmNlTG9hZChjYWNoZWRSZXNvdXJj
ZUxvYWRlci0+ZG9jdW1lbnQoKS0+ZnJhbWUoKSwgdGhpcywgbV9yZXNvdXJjZVJlcXVlc3QsIG1f
cmVzb3VyY2VSZXF1ZXN0LnByaW9yaXR5KCksIG9wdGlvbnMpOwogICAgIGlmICghbV9sb2FkZXIp
IHsKICAgICAgICAgLy8gRklYTUU6IFdoYXQgaWYgcmVzb3VyY2VzIGluIG90aGVyIGZyYW1lcyB3
ZXJlIHdhaXRpbmcgZm9yIHRoaXMgcmV2YWxpZGF0aW9uPwogICAgICAgICBMT0coUmVzb3VyY2VM
b2FkaW5nLCAiQ2Fubm90IHN0YXJ0IGxvYWRpbmcgJyVzJyIsIHVybCgpLnN0cmluZygpLmxhdGlu
MSgpLmRhdGEoKSk7Ci0gICAgICAgIGlmIChtX3Jlc291cmNlVG9SZXZhbGlkYXRlKSAKLSAgICAg
ICAgICAgIG1lbW9yeUNhY2hlKCktPnJldmFsaWRhdGlvbkZhaWxlZCh0aGlzKTsgCisgICAgICAg
IGlmIChtX3Jlc291cmNlVG9SZXZhbGlkYXRlKQorICAgICAgICAgICAgbWVtb3J5Q2FjaGUoKS0+
cmV2YWxpZGF0aW9uRmFpbGVkKHRoaXMpOwogICAgICAgICBlcnJvcihDYWNoZWRSZXNvdXJjZTo6
TG9hZEVycm9yKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTI1Miw3ICsyNTIsNyBAQCB2
b2lkIENhY2hlZFJlc291cmNlOjpkYXRhKFBhc3NSZWZQdHI8U2hhcmVkQnVmZmVyPiwgYm9vbCBh
bGxEYXRhUmVjZWl2ZWQpCiB7CiAgICAgaWYgKCFhbGxEYXRhUmVjZWl2ZWQpCiAgICAgICAgIHJl
dHVybjsKLSAgICAKKwogICAgIHNldExvYWRpbmcoZmFsc2UpOwogICAgIGNoZWNrTm90aWZ5KCk7
CiB9CkBAIC0yNzEsNiArMjcxLDcgQEAgdm9pZCBDYWNoZWRSZXNvdXJjZTo6ZmluaXNoKCkKIHsK
ICAgICBpZiAoIWVycm9yT2NjdXJyZWQoKSkKICAgICAgICAgbV9zdGF0dXMgPSBDYWNoZWQ7Cisg
ICAgbV9pbml0aWF0b3IuY2xlYXIoKTsKIH0KIAogYm9vbCBDYWNoZWRSZXNvdXJjZTo6cGFzc2Vz
QWNjZXNzQ29udHJvbENoZWNrKFNlY3VyaXR5T3JpZ2luKiBzZWN1cml0eU9yaWdpbikKQEAgLTI4
Niw3ICsyODcsNyBAQCBib29sIENhY2hlZFJlc291cmNlOjppc0V4cGlyZWQoKSBjb25zdAogCiAg
ICAgcmV0dXJuIGN1cnJlbnRBZ2UoKSA+IGZyZXNobmVzc0xpZmV0aW1lKCk7CiB9Ci0gICAgCisK
IGRvdWJsZSBDYWNoZWRSZXNvdXJjZTo6Y3VycmVudEFnZSgpIGNvbnN0CiB7CiAgICAgLy8gUkZD
MjYxNiAxMy4yLjMKQEAgLTI5OCw3ICsyOTksNyBAQCBkb3VibGUgQ2FjaGVkUmVzb3VyY2U6OmN1
cnJlbnRBZ2UoKSBjb25zdAogICAgIGRvdWJsZSByZXNpZGVudFRpbWUgPSBjdXJyZW50VGltZSgp
IC0gbV9yZXNwb25zZVRpbWVzdGFtcDsKICAgICByZXR1cm4gY29ycmVjdGVkUmVjZWl2ZWRBZ2Ug
KyByZXNpZGVudFRpbWU7CiB9Ci0gICAgCisKIGRvdWJsZSBDYWNoZWRSZXNvdXJjZTo6ZnJlc2hu
ZXNzTGlmZXRpbWUoKSBjb25zdAogewogICAgIC8vIENhY2hlIG5vbi1odHRwIHJlc291cmNlcyBs
aWJlcmFsbHkKQEAgLTM2MCw3ICszNjEsNyBAQCBDYWNoZWRNZXRhZGF0YSogQ2FjaGVkUmVzb3Vy
Y2U6OmNhY2hlZE1ldGFkYXRhKHVuc2lnbmVkIGRhdGFUeXBlSUQpIGNvbnN0CiAKIHZvaWQgQ2Fj
aGVkUmVzb3VyY2U6OnN0b3BMb2FkaW5nKCkKIHsKLSAgICBBU1NFUlQobV9sb2FkZXIpOyAgICAg
ICAgICAgIAorICAgIEFTU0VSVChtX2xvYWRlcik7CiAgICAgbV9sb2FkZXIgPSAwOwogCiAgICAg
Q2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmVzb3VyY2U+IHByb3RlY3QodGhpcyk7CkBAIC00
OTEsMTMgKzQ5MiwxMyBAQCB2b2lkIENhY2hlZFJlc291cmNlOjpzZXREZWNvZGVkU2l6ZSh1bnNp
Z25lZCBzaXplKQogICAgIC8vIHF1ZXVlLgogICAgIGlmIChpbkNhY2hlKCkpCiAgICAgICAgIG1l
bW9yeUNhY2hlKCktPnJlbW92ZUZyb21MUlVMaXN0KHRoaXMpOwotICAgIAorCiAgICAgbV9kZWNv
ZGVkU2l6ZSA9IHNpemU7Ci0gICAKLSAgICBpZiAoaW5DYWNoZSgpKSB7IAorCisgICAgaWYgKGlu
Q2FjaGUoKSkgewogICAgICAgICAvLyBOb3cgaW5zZXJ0IGludG8gdGhlIG5ldyBMUlUgbGlzdC4K
ICAgICAgICAgbWVtb3J5Q2FjaGUoKS0+aW5zZXJ0SW5MUlVMaXN0KHRoaXMpOwotICAgICAgICAK
KwogICAgICAgICAvLyBJbnNlcnQgaW50byBvciByZW1vdmUgZnJvbSB0aGUgbGl2ZSBkZWNvZGVk
IGxpc3QgaWYgbmVjZXNzYXJ5LgogICAgICAgICAvLyBXaGVuIGluc2VydGluZyBpbnRvIHRoZSBM
aXZlRGVjb2RlZFJlc291cmNlc0xpc3QgaXQgaXMgcG9zc2libGUKICAgICAgICAgLy8gdGhhdCB0
aGUgbV9sYXN0RGVjb2RlZEFjY2Vzc1RpbWUgaXMgc3RpbGwgemVybyBvciBzbWFsbGVyIHRoYW4K
QEAgLTUyMiw3ICs1MjMsNyBAQCB2b2lkIENhY2hlZFJlc291cmNlOjpzZXRFbmNvZGVkU2l6ZSh1
bnNpZ25lZCBzaXplKQogCiAgICAgLy8gVGhlIHNpemUgY2Fubm90IGV2ZXIgc2hyaW5rICh1bmxl
c3MgaXQgaXMgYmVpbmcgbnVsbGVkIG91dCBiZWNhdXNlIG9mIGFuIGVycm9yKS4gIElmIGl0IGV2
ZXIgZG9lcywgYXNzZXJ0LgogICAgIEFTU0VSVChzaXplID09IDAgfHwgc2l6ZSA+PSBtX2VuY29k
ZWRTaXplKTsKLSAgICAKKwogICAgIGludCBkZWx0YSA9IHNpemUgLSBtX2VuY29kZWRTaXplOwog
CiAgICAgLy8gVGhlIG9iamVjdCBtdXN0IG5vdyBiZSBtb3ZlZCB0byBhIGRpZmZlcmVudCBxdWV1
ZSwgc2luY2UgaXRzIHNpemUgaGFzIGJlZW4gY2hhbmdlZC4KQEAgLTUzMCwxMyArNTMxLDEzIEBA
IHZvaWQgQ2FjaGVkUmVzb3VyY2U6OnNldEVuY29kZWRTaXplKHVuc2lnbmVkIHNpemUpCiAgICAg
Ly8gcXVldWUuCiAgICAgaWYgKGluQ2FjaGUoKSkKICAgICAgICAgbWVtb3J5Q2FjaGUoKS0+cmVt
b3ZlRnJvbUxSVUxpc3QodGhpcyk7Ci0gICAgCisKICAgICBtX2VuY29kZWRTaXplID0gc2l6ZTsK
LSAgIAotICAgIGlmIChpbkNhY2hlKCkpIHsgCisKKyAgICBpZiAoaW5DYWNoZSgpKSB7CiAgICAg
ICAgIC8vIE5vdyBpbnNlcnQgaW50byB0aGUgbmV3IExSVSBsaXN0LgogICAgICAgICBtZW1vcnlD
YWNoZSgpLT5pbnNlcnRJbkxSVUxpc3QodGhpcyk7Ci0gICAgICAgIAorCiAgICAgICAgIC8vIFVw
ZGF0ZSB0aGUgY2FjaGUncyBzaXplIHRvdGFscy4KICAgICAgICAgbWVtb3J5Q2FjaGUoKS0+YWRq
dXN0U2l6ZShoYXNDbGllbnRzKCksIGRlbHRhKTsKICAgICB9CkBAIC01NDUsNyArNTQ2LDcgQEAg
dm9pZCBDYWNoZWRSZXNvdXJjZTo6c2V0RW5jb2RlZFNpemUodW5zaWduZWQgc2l6ZSkKIHZvaWQg
Q2FjaGVkUmVzb3VyY2U6OmRpZEFjY2Vzc0RlY29kZWREYXRhKGRvdWJsZSB0aW1lU3RhbXApCiB7
CiAgICAgbV9sYXN0RGVjb2RlZEFjY2Vzc1RpbWUgPSB0aW1lU3RhbXA7Ci0gICAgCisKICAgICBp
ZiAoaW5DYWNoZSgpKSB7CiAgICAgICAgIGlmIChtX2luTGl2ZURlY29kZWRSZXNvdXJjZXNMaXN0
KSB7CiAgICAgICAgICAgICBtZW1vcnlDYWNoZSgpLT5yZW1vdmVGcm9tTGl2ZURlY29kZWRSZXNv
dXJjZXNMaXN0KHRoaXMpOwpAQCAtNTU0LDkgKzU1NSw5IEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2U6
OmRpZEFjY2Vzc0RlY29kZWREYXRhKGRvdWJsZSB0aW1lU3RhbXApCiAgICAgICAgIG1lbW9yeUNh
Y2hlKCktPnBydW5lKCk7CiAgICAgfQogfQotICAgIAotdm9pZCBDYWNoZWRSZXNvdXJjZTo6c2V0
UmVzb3VyY2VUb1JldmFsaWRhdGUoQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlKSAKLXsgCisKK3Zv
aWQgQ2FjaGVkUmVzb3VyY2U6OnNldFJlc291cmNlVG9SZXZhbGlkYXRlKENhY2hlZFJlc291cmNl
KiByZXNvdXJjZSkKK3sKICAgICBBU1NFUlQocmVzb3VyY2UpOwogICAgIEFTU0VSVCghbV9yZXNv
dXJjZVRvUmV2YWxpZGF0ZSk7CiAgICAgQVNTRVJUKHJlc291cmNlICE9IHRoaXMpOwpAQCAtNTc0
LDggKzU3NSw4IEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2U6OnNldFJlc291cmNlVG9SZXZhbGlkYXRl
KENhY2hlZFJlc291cmNlKiByZXNvdXJjZSkKICAgICBtX3Jlc291cmNlVG9SZXZhbGlkYXRlID0g
cmVzb3VyY2U7CiB9CiAKLXZvaWQgQ2FjaGVkUmVzb3VyY2U6OmNsZWFyUmVzb3VyY2VUb1JldmFs
aWRhdGUoKSAKLXsgCit2b2lkIENhY2hlZFJlc291cmNlOjpjbGVhclJlc291cmNlVG9SZXZhbGlk
YXRlKCkKK3sKICAgICBBU1NFUlQobV9yZXNvdXJjZVRvUmV2YWxpZGF0ZSk7CiAgICAgaWYgKG1f
c3dpdGNoaW5nQ2xpZW50c1RvUmV2YWxpZGF0ZWRSZXNvdXJjZSkKICAgICAgICAgcmV0dXJuOwpA
QCAtNTg5LDcgKzU5MCw3IEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2U6OmNsZWFyUmVzb3VyY2VUb1Jl
dmFsaWRhdGUoKQogICAgIG1fcmVzb3VyY2VUb1JldmFsaWRhdGUgPSAwOwogICAgIGRlbGV0ZUlm
UG9zc2libGUoKTsKIH0KLSAgICAKKwogdm9pZCBDYWNoZWRSZXNvdXJjZTo6c3dpdGNoQ2xpZW50
c1RvUmV2YWxpZGF0ZWRSZXNvdXJjZSgpCiB7CiAgICAgQVNTRVJUKG1fcmVzb3VyY2VUb1JldmFs
aWRhdGUpOwpAQCAtNjM1LDcgKzYzNiw3IEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2U6OnN3aXRjaENs
aWVudHNUb1JldmFsaWRhdGVkUmVzb3VyY2UoKQogICAgIH0KICAgICBtX3N3aXRjaGluZ0NsaWVu
dHNUb1JldmFsaWRhdGVkUmVzb3VyY2UgPSBmYWxzZTsKIH0KLSAgICAKKwogdm9pZCBDYWNoZWRS
ZXNvdXJjZTo6dXBkYXRlUmVzcG9uc2VBZnRlclJldmFsaWRhdGlvbihjb25zdCBSZXNvdXJjZVJl
c3BvbnNlJiB2YWxpZGF0aW5nUmVzcG9uc2UpCiB7CiAgICAgbV9yZXNwb25zZVRpbWVzdGFtcCA9
IGN1cnJlbnRUaW1lKCk7CkBAIC02ODMsNyArNjg0LDcgQEAgYm9vbCBDYWNoZWRSZXNvdXJjZTo6
Y2FuVXNlQ2FjaGVWYWxpZGF0b3IoKSBjb25zdAogfQogCiBib29sIENhY2hlZFJlc291cmNlOjpt
dXN0UmV2YWxpZGF0ZUR1ZVRvQ2FjaGVIZWFkZXJzKENhY2hlUG9saWN5IGNhY2hlUG9saWN5KSBj
b25zdAoteyAgICAKK3sKICAgICBBU1NFUlQoY2FjaGVQb2xpY3kgPT0gQ2FjaGVQb2xpY3lSZXZh
bGlkYXRlIHx8IGNhY2hlUG9saWN5ID09IENhY2hlUG9saWN5Q2FjaGUgfHwgY2FjaGVQb2xpY3kg
PT0gQ2FjaGVQb2xpY3lWZXJpZnkpOwogCiAgICAgaWYgKGNhY2hlUG9saWN5ID09IENhY2hlUG9s
aWN5UmV2YWxpZGF0ZSkKQEAgLTcxMiwxMiArNzEzLDEyIEBAIGJvb2wgQ2FjaGVkUmVzb3VyY2U6
Om11c3RSZXZhbGlkYXRlRHVlVG9DYWNoZUhlYWRlcnMoQ2FjaGVQb2xpY3kgY2FjaGVQb2xpY3kp
IGNvCiB9CiAKIGJvb2wgQ2FjaGVkUmVzb3VyY2U6OmlzU2FmZVRvTWFrZVB1cmdlYWJsZSgpIGNv
bnN0Ci17IAorewogICAgIHJldHVybiAhaGFzQ2xpZW50cygpICYmICFtX3Byb3h5UmVzb3VyY2Ug
JiYgIW1fcmVzb3VyY2VUb1JldmFsaWRhdGU7CiB9CiAKLWJvb2wgQ2FjaGVkUmVzb3VyY2U6Om1h
a2VQdXJnZWFibGUoYm9vbCBwdXJnZWFibGUpIAoteyAKK2Jvb2wgQ2FjaGVkUmVzb3VyY2U6Om1h
a2VQdXJnZWFibGUoYm9vbCBwdXJnZWFibGUpCit7CiAgICAgaWYgKHB1cmdlYWJsZSkgewogICAg
ICAgICBBU1NFUlQoaXNTYWZlVG9NYWtlUHVyZ2VhYmxlKCkpOwogCkBAIC03MjcsMTEgKzcyOCwx
MSBAQCBib29sIENhY2hlZFJlc291cmNlOjptYWtlUHVyZ2VhYmxlKGJvb2wgcHVyZ2VhYmxlKQog
ICAgICAgICB9CiAgICAgICAgIGlmICghbV9kYXRhKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OwotICAgICAgICAKKwogICAgICAgICAvLyBTaG91bGQgbm90IG1ha2UgYnVmZmVyIHB1cmdlYWJs
ZSBpZiBpdCBoYXMgcmVmcyBvdGhlciB0aGFuIHRoaXMgc2luY2Ugd2UgZG9uJ3Qgd2FudCB0d28g
Y29waWVzLgogICAgICAgICBpZiAoIW1fZGF0YS0+aGFzT25lUmVmKCkpCiAgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7Ci0gICAgICAgIAorCiAgICAgICAgIGlmIChtX2RhdGEtPmhhc1B1cmdlYWJs
ZUJ1ZmZlcigpKSB7CiAgICAgICAgICAgICBtX3B1cmdlYWJsZURhdGEgPSBtX2RhdGEtPnJlbGVh
c2VQdXJnZWFibGVCdWZmZXIoKTsKICAgICAgICAgfSBlbHNlIHsKQEAgLTc0MCw3ICs3NDEsNyBA
QCBib29sIENhY2hlZFJlc291cmNlOjptYWtlUHVyZ2VhYmxlKGJvb2wgcHVyZ2VhYmxlKQogICAg
ICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgIG1fcHVyZ2VhYmxlRGF0YS0+
c2V0UHVyZ2VQcmlvcml0eShwdXJnZVByaW9yaXR5KCkpOwogICAgICAgICB9Ci0gICAgICAgIAor
CiAgICAgICAgIG1fcHVyZ2VhYmxlRGF0YS0+bWFrZVB1cmdlYWJsZSh0cnVlKTsKICAgICAgICAg
bV9kYXRhLmNsZWFyKCk7CiAgICAgICAgIHJldHVybiB0cnVlOwpAQCAtNzUyLDcgKzc1Myw3IEBA
IGJvb2wgQ2FjaGVkUmVzb3VyY2U6Om1ha2VQdXJnZWFibGUoYm9vbCBwdXJnZWFibGUpCiAgICAg
QVNTRVJUKCFoYXNDbGllbnRzKCkpOwogCiAgICAgaWYgKCFtX3B1cmdlYWJsZURhdGEtPm1ha2VQ
dXJnZWFibGUoZmFsc2UpKQotICAgICAgICByZXR1cm4gZmFsc2U7IAorICAgICAgICByZXR1cm4g
ZmFsc2U7CiAKICAgICBtX2RhdGEgPSBTaGFyZWRCdWZmZXI6OmFkb3B0UHVyZ2VhYmxlQnVmZmVy
KG1fcHVyZ2VhYmxlRGF0YS5yZWxlYXNlKCkpOwogICAgIHJldHVybiB0cnVlOwpAQCAtNzczLDkg
Kzc3NCw5IEBAIHVuc2lnbmVkIENhY2hlZFJlc291cmNlOjpvdmVyaGVhZFNpemUoKSBjb25zdAog
ICAgIHN0YXRpYyBjb25zdCBpbnQga0F2ZXJhZ2VDbGllbnRzSGFzaE1hcFNpemUgPSAzODQ7CiAg
ICAgcmV0dXJuIHNpemVvZihDYWNoZWRSZXNvdXJjZSkgKyBtX3Jlc3BvbnNlLm1lbW9yeVVzYWdl
KCkgKyBrQXZlcmFnZUNsaWVudHNIYXNoTWFwU2l6ZSArIG1fcmVzb3VyY2VSZXF1ZXN0LnVybCgp
LnN0cmluZygpLmxlbmd0aCgpICogMjsKIH0KLSAgICAKLXZvaWQgQ2FjaGVkUmVzb3VyY2U6OnNl
dExvYWRQcmlvcml0eShSZXNvdXJjZUxvYWRQcmlvcml0eSBsb2FkUHJpb3JpdHkpIAoteyAKKwor
dm9pZCBDYWNoZWRSZXNvdXJjZTo6c2V0TG9hZFByaW9yaXR5KFJlc291cmNlTG9hZFByaW9yaXR5
IGxvYWRQcmlvcml0eSkKK3sKICAgICBpZiAobG9hZFByaW9yaXR5ID09IFJlc291cmNlTG9hZFBy
aW9yaXR5VW5yZXNvbHZlZCkKICAgICAgICAgcmV0dXJuOwogICAgIG1fbG9hZFByaW9yaXR5ID0g
bG9hZFByaW9yaXR5OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0Nh
Y2hlZFJlc291cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2UuaAppbmRleCBiNzM5ZDY4YWY4MWYyZGI3YjQ4NjJkZjE1OWFhY2YxNThlMGI1NzMzLi5iZjZh
YTg4ZmMwZGUyZDQyMDE5NTJiYjVlNTBlOWUwNDllNTkyMDFlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuaApAQCAtMjUsNiArMjUsOCBAQAogCiAjaW5j
bHVkZSAiQ2FjaGVQb2xpY3kuaCIKICNpbmNsdWRlICJGcmFtZUxvYWRlclR5cGVzLmgiCisjaW5j
bHVkZSAiTG9hZEluaXRpYXRvci5oIgorI2luY2x1ZGUgIkxvYWRJbml0aWF0b3JIYW5kbGUuaCIK
ICNpbmNsdWRlICJQdXJnZVByaW9yaXR5LmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VMb2FkUHJpb3Jp
dHkuaCIKICNpbmNsdWRlICJSZXNvdXJjZUxvYWRlck9wdGlvbnMuaCIKQEAgLTU3LDcgKzU5LDcg
QEAgY2xhc3MgQ2FjaGVkUmVzb3VyY2UgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENhY2hl
ZFJlc291cmNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgZnJpZW5kIGNsYXNzIE1l
bW9yeUNhY2hlOwogICAgIGZyaWVuZCBjbGFzcyBJbnNwZWN0b3JSZXNvdXJjZTsKLSAgICAKKwog
cHVibGljOgogICAgIGVudW0gVHlwZSB7CiAgICAgICAgIEltYWdlUmVzb3VyY2UsCkBAIC0xMDUs
OSArMTA3LDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkSWdub3JlSFRUUFN0
YXR1c0NvZGVFcnJvcnMoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogCiAgICAgUmVzb3VyY2VS
ZXF1ZXN0JiByZXNvdXJjZVJlcXVlc3QoKSB7IHJldHVybiBtX3Jlc291cmNlUmVxdWVzdDsgfQot
ICAgIGNvbnN0IEtVUkwmIHVybCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVzb3VyY2VSZXF1ZXN0LnVy
bCgpO30KKyAgICBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlc291cmNlUmVxdWVzdCgpIGNvbnN0
IHsgcmV0dXJuIG1fcmVzb3VyY2VSZXF1ZXN0OyB9CisgICAgY29uc3QgS1VSTCYgdXJsKCkgY29u
c3QgeyByZXR1cm4gbV9yZXNvdXJjZVJlcXVlc3QudXJsKCk7IH0KICAgICBUeXBlIHR5cGUoKSBj
b25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxUeXBlPihtX3R5cGUpOyB9Ci0gICAgCisKICAgICBS
ZXNvdXJjZUxvYWRQcmlvcml0eSBsb2FkUHJpb3JpdHkoKSBjb25zdCB7IHJldHVybiBtX2xvYWRQ
cmlvcml0eTsgfQogICAgIHZvaWQgc2V0TG9hZFByaW9yaXR5KFJlc291cmNlTG9hZFByaW9yaXR5
KTsKIApAQCAtMTM4LDcgKzE0MSw3IEBAIHB1YmxpYzoKICAgICB1bnNpZ25lZCBlbmNvZGVkU2l6
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fZW5jb2RlZFNpemU7IH0KICAgICB1bnNpZ25lZCBkZWNvZGVk
U2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fZGVjb2RlZFNpemU7IH0KICAgICB1bnNpZ25lZCBvdmVy
aGVhZFNpemUoKSBjb25zdDsKLSAgICAKKwogICAgIGJvb2wgaXNMb2FkZWQoKSBjb25zdCB7IHJl
dHVybiAhbV9sb2FkaW5nOyB9IC8vIEZJWE1FLiBNZXRob2QgbmFtZSBpcyBpbmFjY3VyYXRlLiBM
b2FkaW5nIG1pZ2h0IG5vdCBoYXZlIHN0YXJ0ZWQgeWV0LgogCiAgICAgYm9vbCBpc0xvYWRpbmco
KSBjb25zdCB7IHJldHVybiBtX2xvYWRpbmc7IH0KQEAgLTE2MSw3ICsxNjQsNyBAQCBwdWJsaWM6
CiAgICAgdW5zaWduZWQgYWNjZXNzQ291bnQoKSBjb25zdCB7IHJldHVybiBtX2FjY2Vzc0NvdW50
OyB9CiAgICAgdm9pZCBpbmNyZWFzZUFjY2Vzc0NvdW50KCkgeyBtX2FjY2Vzc0NvdW50Kys7IH0K
IAotICAgIC8vIENvbXB1dGVzIHRoZSBzdGF0dXMgb2YgYW4gb2JqZWN0IGFmdGVyIGxvYWRpbmcu
ICAKKyAgICAvLyBDb21wdXRlcyB0aGUgc3RhdHVzIG9mIGFuIG9iamVjdCBhZnRlciBsb2FkaW5n
LgogICAgIC8vIFVwZGF0ZXMgdGhlIGV4cGlyZSBkYXRlIG9uIHRoZSBjYWNoZSBlbnRyeSBmaWxl
CiAgICAgdm9pZCBmaW5pc2goKTsKIApAQCAtMTczLDkgKzE3Niw5IEBAIHB1YmxpYzoKICAgICAv
LyBUaGUgcmVzb3VyY2UgY2FuIGJlIGJyb3VnaHQgYmFjayB0byBjYWNoZSBhZnRlciBzdWNjZXNz
ZnVsIHJldmFsaWRhdGlvbi4KICAgICB2b2lkIHNldEluQ2FjaGUoYm9vbCBpbkNhY2hlKSB7IG1f
aW5DYWNoZSA9IGluQ2FjaGU7IH0KICAgICBib29sIGluQ2FjaGUoKSBjb25zdCB7IHJldHVybiBt
X2luQ2FjaGU7IH0KLSAgICAKKwogICAgIGJvb2wgaW5MaXZlRGVjb2RlZFJlc291cmNlc0xpc3Qo
KSB7IHJldHVybiBtX2luTGl2ZURlY29kZWRSZXNvdXJjZXNMaXN0OyB9Ci0gICAgCisKICAgICB2
b2lkIHN0b3BMb2FkaW5nKCk7CiAKICAgICBTaGFyZWRCdWZmZXIqIGRhdGEoKSBjb25zdCB7IEFT
U0VSVCghbV9wdXJnZWFibGVEYXRhKTsgcmV0dXJuIG1fZGF0YS5nZXQoKTsgfQpAQCAtMTkyLDYg
KzE5NSw5IEBAIHB1YmxpYzoKICAgICAvLyBpZGVudGlmaWVyIHRoYXQgaXMgdXNlZCB0byBkaXN0
aW5ndWlzaCBkYXRhIGdlbmVyYXRlZCBieSB0aGUgY2FsbGVyLgogICAgIHZvaWQgc2V0Q2FjaGVk
TWV0YWRhdGEodW5zaWduZWQgZGF0YVR5cGVJRCwgY29uc3QgY2hhciosIHNpemVfdCk7CiAKKyAg
ICB2b2lkIHNldEluaXRpYXRvcihjb25zdCBMb2FkSW5pdGlhdG9yJiBpbml0aWF0b3IpIHsgbV9p
bml0aWF0b3IgPSBpbml0aWF0b3I7IH0KKyAgICBjb25zdCBMb2FkSW5pdGlhdG9yJiBpbml0aWF0
b3IoKSBjb25zdCB7IHJldHVybiBtX2luaXRpYXRvcjsgfQorCiAgICAgLy8gUmV0dXJucyBjYWNo
ZWQgbWV0YWRhdGEgb2YgdGhlIGdpdmVuIHR5cGUgYXNzb2NpYXRlZCB3aXRoIHRoaXMgcmVzb3Vy
Y2UuCiAgICAgQ2FjaGVkTWV0YWRhdGEqIGNhY2hlZE1ldGFkYXRhKHVuc2lnbmVkIGRhdGFUeXBl
SUQpIGNvbnN0OwogCkBAIC0yMTAsNDAgKzIxNiw0MCBAQCBwdWJsaWM6CiAgICAgYm9vbCBsb2Fk
RmFpbGVkT3JDYW5jZWxlZCgpIHsgcmV0dXJuIG1fc3RhdHVzID09IENhbmNlbGVkIHx8IG1fc3Rh
dHVzID09IExvYWRFcnJvcjsgfQogCiAgICAgYm9vbCBzZW5kUmVzb3VyY2VMb2FkQ2FsbGJhY2tz
KCkgY29uc3QgeyByZXR1cm4gbV9vcHRpb25zLnNlbmRMb2FkQ2FsbGJhY2tzID09IFNlbmRDYWxs
YmFja3M7IH0KLSAgICAKKwogICAgIHZpcnR1YWwgdm9pZCBkZXN0cm95RGVjb2RlZERhdGEoKSB7
IH0KIAogICAgIHZvaWQgc2V0T3duaW5nQ2FjaGVkUmVzb3VyY2VMb2FkZXIoQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXIqIGNhY2hlZFJlc291cmNlTG9hZGVyKSB7IG1fb3duaW5nQ2FjaGVkUmVzb3VyY2VM
b2FkZXIgPSBjYWNoZWRSZXNvdXJjZUxvYWRlcjsgfQotICAgIAorCiAgICAgLy8gTWVtb3J5Q2Fj
aGUgZG9lcyBub3QgZGVzdHJveSB0aGUgZGVjb2RlZCBkYXRhIG9mIGEgQ2FjaGVkUmVzb3VyY2Ug
aWYgdGhlIGRlY29kZWQgZGF0YSB3aWxsIGJlIGxpa2VseSB1c2VkLgogICAgIHZpcnR1YWwgYm9v
bCBsaWtlbHlUb0JlVXNlZFNvb24oKSB7IHJldHVybiBmYWxzZTsgfQogCiAgICAgYm9vbCBpc1By
ZWxvYWRlZCgpIGNvbnN0IHsgcmV0dXJuIG1fcHJlbG9hZENvdW50OyB9CiAgICAgdm9pZCBpbmNy
ZWFzZVByZWxvYWRDb3VudCgpIHsgKyttX3ByZWxvYWRDb3VudDsgfQogICAgIHZvaWQgZGVjcmVh
c2VQcmVsb2FkQ291bnQoKSB7IEFTU0VSVChtX3ByZWxvYWRDb3VudCk7IC0tbV9wcmVsb2FkQ291
bnQ7IH0KLSAgICAKKwogICAgIHZvaWQgcmVnaXN0ZXJIYW5kbGUoQ2FjaGVkUmVzb3VyY2VIYW5k
bGVCYXNlKiBoKTsKICAgICB2b2lkIHVucmVnaXN0ZXJIYW5kbGUoQ2FjaGVkUmVzb3VyY2VIYW5k
bGVCYXNlKiBoKTsKLSAgICAKKwogICAgIGJvb2wgY2FuVXNlQ2FjaGVWYWxpZGF0b3IoKSBjb25z
dDsKICAgICBib29sIG11c3RSZXZhbGlkYXRlRHVlVG9DYWNoZUhlYWRlcnMoQ2FjaGVQb2xpY3kp
IGNvbnN0OwogICAgIGJvb2wgaXNDYWNoZVZhbGlkYXRvcigpIGNvbnN0IHsgcmV0dXJuIG1fcmVz
b3VyY2VUb1JldmFsaWRhdGU7IH0KICAgICBDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2VUb1JldmFs
aWRhdGUoKSBjb25zdCB7IHJldHVybiBtX3Jlc291cmNlVG9SZXZhbGlkYXRlOyB9Ci0gICAgCisK
ICAgICBib29sIGlzUHVyZ2VhYmxlKCkgY29uc3Q7CiAgICAgYm9vbCB3YXNQdXJnZWQoKSBjb25z
dDsKLSAgICAKKwogICAgIC8vIFRoaXMgaXMgdXNlZCBieSB0aGUgYXJjaGl2ZSBtYWNoaW5lcnkg
dG8gZ2V0IGF0IGEgcHVyZ2VkIHJlc291cmNlIHdpdGhvdXQKICAgICAvLyB0cmlnZ2VyaW5nIGEg
bG9hZC4gV2Ugc2hvdWxkIG1ha2UgaXQgcHJvdGVjdGVkIGFnYWluIGlmIHdlIGNhbiBmaW5kIGEK
ICAgICAvLyBiZXR0ZXIgd2F5IHRvIGhhbmRsZSB0aGUgYXJjaGl2ZSBjYXNlLgogICAgIGJvb2wg
bWFrZVB1cmdlYWJsZShib29sIHB1cmdlYWJsZSk7Ci0gICAgCisKICAgICAvLyBIVFRQIHJldmFs
aWRhdGlvbiBzdXBwb3J0IG1ldGhvZHMgZm9yIENhY2hlZFJlc291cmNlTG9hZGVyLgogICAgIHZv
aWQgc2V0UmVzb3VyY2VUb1JldmFsaWRhdGUoQ2FjaGVkUmVzb3VyY2UqKTsKICAgICB2b2lkIHN3
aXRjaENsaWVudHNUb1JldmFsaWRhdGVkUmVzb3VyY2UoKTsKICAgICB2b2lkIGNsZWFyUmVzb3Vy
Y2VUb1JldmFsaWRhdGUoKTsKICAgICB2b2lkIHVwZGF0ZVJlc3BvbnNlQWZ0ZXJSZXZhbGlkYXRp
b24oY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgdmFsaWRhdGluZ1Jlc3BvbnNlKTsKLSAgICAKKwog
ICAgIHZpcnR1YWwgdm9pZCBkaWRTZW5kRGF0YSh1bnNpZ25lZCBsb25nIGxvbmcgLyogYnl0ZXNT
ZW50ICovLCB1bnNpZ25lZCBsb25nIGxvbmcgLyogdG90YWxCeXRlc1RvQmVTZW50ICovKSB7IH0K
ICNpZiBQTEFURk9STShDSFJPTUlVTSkKICAgICB2aXJ0dWFsIHZvaWQgZGlkRG93bmxvYWREYXRh
KGludCkgeyB9CkBAIC0yNjIsNyArMjY4LDcgQEAgcHJvdGVjdGVkOgogICAgIHZvaWQgZGlkQWNj
ZXNzRGVjb2RlZERhdGEoZG91YmxlIHRpbWVTdGFtcCk7CiAKICAgICBib29sIGlzU2FmZVRvTWFr
ZVB1cmdlYWJsZSgpIGNvbnN0OwotICAgIAorCiAgICAgSGFzaENvdW50ZWRTZXQ8Q2FjaGVkUmVz
b3VyY2VDbGllbnQqPiBtX2NsaWVudHM7CiAKICAgICBjbGFzcyBDYWNoZWRSZXNvdXJjZUNhbGxi
YWNrIHsKQEAgLTMzNCwxMiArMzQwLDEyIEBAIHByaXZhdGU6CiAKICAgICBDYWNoZWRSZXNvdXJj
ZSogbV9uZXh0SW5BbGxSZXNvdXJjZXNMaXN0OwogICAgIENhY2hlZFJlc291cmNlKiBtX3ByZXZJ
bkFsbFJlc291cmNlc0xpc3Q7Ci0gICAgCisKICAgICBDYWNoZWRSZXNvdXJjZSogbV9uZXh0SW5M
aXZlUmVzb3VyY2VzTGlzdDsKICAgICBDYWNoZWRSZXNvdXJjZSogbV9wcmV2SW5MaXZlUmVzb3Vy
Y2VzTGlzdDsKIAogICAgIENhY2hlZFJlc291cmNlTG9hZGVyKiBtX293bmluZ0NhY2hlZFJlc291
cmNlTG9hZGVyOyAvLyBvbmx5IG5vbi0wIGZvciByZXNvdXJjZXMgdGhhdCBhcmUgbm90IGluIHRo
ZSBjYWNoZQotICAgIAorCiAgICAgLy8gSWYgdGhpcyBmaWVsZCBpcyBub24tbnVsbCB3ZSBhcmUg
dXNpbmcgdGhlIHJlc291cmNlIGFzIGEgcHJveHkgZm9yIGNoZWNraW5nIHdoZXRoZXIgYW4gZXhp
c3RpbmcgcmVzb3VyY2UgaXMgc3RpbGwgdXAgdG8gZGF0ZQogICAgIC8vIHVzaW5nIEhUVFAgSWYt
TW9kaWZpZWQtU2luY2UvSWYtTm9uZS1NYXRjaCBoZWFkZXJzLiBJZiB0aGUgcmVzcG9uc2UgaXMg
MzA0IGFsbCBjbGllbnRzIG9mIHRoaXMgcmVzb3VyY2UgYXJlIG1vdmVkCiAgICAgLy8gdG8gdG8g
YmUgY2xpZW50cyBvZiBtX3Jlc291cmNlVG9SZXZhbGlkYXRlIGFuZCB0aGUgcmVzb3VyY2UgaXMg
ZGVsZXRlZC4gSWYgbm90LCB0aGUgZmllbGQgaXMgemVyb2VkIGFuZCB0aGlzCkBAIC0zNTEsNiAr
MzU3LDggQEAgcHJpdmF0ZToKIAogICAgIC8vIFRoZXNlIGhhbmRsZXMgd2lsbCBuZWVkIHRvIGJl
IHVwZGF0ZWQgdG8gcG9pbnQgdG8gdGhlIG1fcmVzb3VyY2VUb1JldmFsaWRhdGUgaW4gY2FzZSB3
ZSBnZXQgMzA0IHJlc3BvbnNlLgogICAgIEhhc2hTZXQ8Q2FjaGVkUmVzb3VyY2VIYW5kbGVCYXNl
Kj4gbV9oYW5kbGVzVG9SZXZhbGlkYXRlOworCisgICAgTG9hZEluaXRpYXRvckhhbmRsZSBtX2lu
aXRpYXRvcjsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNo
ZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUv
Q2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IGJiNjg3NDA1MWJjYjk0ODFkZTRkMGZiNGFh
ZTQ2YzYyMTAyMjEzZjIuLjFkOTFjOTMxYzQ3YjBmZTk5YmEyZTJlOGVmM2I3MzAxMjhmYWRlNWUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxv
YWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNl
TG9hZGVyLmNwcApAQCAtMTUxLDcgKzE1MSw3IEBAIEZyYW1lKiBDYWNoZWRSZXNvdXJjZUxvYWRl
cjo6ZnJhbWUoKSBjb25zdAogICAgIHJldHVybiBtX2RvY3VtZW50ID8gbV9kb2N1bWVudC0+ZnJh
bWUoKSA6IDA7CiB9CiAKLUNhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZEltYWdlPiBDYWNoZWRS
ZXNvdXJjZUxvYWRlcjo6cmVxdWVzdEltYWdlKFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCkKK0Nh
Y2hlZFJlc291cmNlSGFuZGxlPENhY2hlZEltYWdlPiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVx
dWVzdEltYWdlKFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgTG9hZEluaXRpYXRvciYg
aW5pdGlhdG9yKQogewogICAgIGlmIChGcmFtZSogZiA9IGZyYW1lKCkpIHsKICAgICAgICAgaWYg
KGYtPmxvYWRlcigpLT5wYWdlRGlzbWlzc2FsRXZlbnRCZWluZ0Rpc3BhdGNoZWQoKSAhPSBGcmFt
ZUxvYWRlcjo6Tm9EaXNtaXNzYWwpIHsKQEAgLTE2MSwzNCArMTYxLDM0IEBAIENhY2hlZFJlc291
cmNlSGFuZGxlPENhY2hlZEltYWdlPiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdEltYWdl
KFJlc291cmNlUmVxCiAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgfQogICAgIH0KLSAg
ICByZXR1cm4gc3RhdGljX2Nhc3Q8Q2FjaGVkSW1hZ2UqPihyZXF1ZXN0UmVzb3VyY2UoQ2FjaGVk
UmVzb3VyY2U6OkltYWdlUmVzb3VyY2UsIHJlcXVlc3QsIFN0cmluZygpLCBkZWZhdWx0Q2FjaGVk
UmVzb3VyY2VPcHRpb25zKCksIFJlc291cmNlTG9hZFByaW9yaXR5VW5yZXNvbHZlZCwgZmFsc2Us
IGNsaWVudERlZmVyc0ltYWdlKHJlcXVlc3QudXJsKCkpID8gRGVmZXJyZWRCeUNsaWVudCA6IE5v
RGVmZXIpLmdldCgpKTsKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Q2FjaGVkSW1hZ2UqPihyZXF1
ZXN0UmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2U6OkltYWdlUmVzb3VyY2UsIHJlcXVlc3QsIFN0cmlu
ZygpLCBkZWZhdWx0Q2FjaGVkUmVzb3VyY2VPcHRpb25zKCksIGluaXRpYXRvciwgUmVzb3VyY2VM
b2FkUHJpb3JpdHlVbnJlc29sdmVkLCBmYWxzZSwgY2xpZW50RGVmZXJzSW1hZ2UocmVxdWVzdC51
cmwoKSkgPyBEZWZlcnJlZEJ5Q2xpZW50IDogTm9EZWZlcikuZ2V0KCkpOwogfQogCi1DYWNoZWRS
ZXNvdXJjZUhhbmRsZTxDYWNoZWRGb250PiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdEZv
bnQoUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0KQorQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVk
Rm9udD4gQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RGb250KFJlc291cmNlUmVxdWVzdCYg
cmVxdWVzdCwgY29uc3QgTG9hZEluaXRpYXRvciYgaW5pdGlhdG9yKQogewotICAgIHJldHVybiBz
dGF0aWNfY2FzdDxDYWNoZWRGb250Kj4ocmVxdWVzdFJlc291cmNlKENhY2hlZFJlc291cmNlOjpG
b250UmVzb3VyY2UsIHJlcXVlc3QsIFN0cmluZygpLCBkZWZhdWx0Q2FjaGVkUmVzb3VyY2VPcHRp
b25zKCkpLmdldCgpKTsKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Q2FjaGVkRm9udCo+KHJlcXVl
c3RSZXNvdXJjZShDYWNoZWRSZXNvdXJjZTo6Rm9udFJlc291cmNlLCByZXF1ZXN0LCBTdHJpbmco
KSwgZGVmYXVsdENhY2hlZFJlc291cmNlT3B0aW9ucygpLCBpbml0aWF0b3IpLmdldCgpKTsKIH0K
IAogI2lmIEVOQUJMRShWSURFT19UUkFDSykKLUNhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFRl
eHRUcmFjaz4gQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RUZXh0VHJhY2soUmVzb3VyY2VS
ZXF1ZXN0JiByZXF1ZXN0KQorQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkVGV4dFRyYWNrPiBD
YWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFRleHRUcmFjayhSZXNvdXJjZVJlcXVlc3QmIHJl
cXVlc3QsIGNvbnN0IExvYWRJbml0aWF0b3ImIGluaXRpYXRvcikKIHsKLSAgICByZXR1cm4gc3Rh
dGljX2Nhc3Q8Q2FjaGVkVGV4dFRyYWNrKj4ocmVxdWVzdFJlc291cmNlKENhY2hlZFJlc291cmNl
OjpUZXh0VHJhY2tSZXNvdXJjZSwgcmVxdWVzdCwgU3RyaW5nKCksIGRlZmF1bHRDYWNoZWRSZXNv
dXJjZU9wdGlvbnMoKSkuZ2V0KCkpOworICAgIHJldHVybiBzdGF0aWNfY2FzdDxDYWNoZWRUZXh0
VHJhY2sqPihyZXF1ZXN0UmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2U6OlRleHRUcmFja1Jlc291cmNl
LCByZXF1ZXN0LCBTdHJpbmcoKSwgZGVmYXVsdENhY2hlZFJlc291cmNlT3B0aW9ucygpLCBpbml0
aWF0b3IpLmdldCgpKTsKIH0KICNlbmRpZgogCiAjaWYgRU5BQkxFKENTU19TSEFERVJTKQotQ2Fj
aGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkU2hhZGVyPiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVx
dWVzdFNoYWRlcihSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QpCitDYWNoZWRSZXNvdXJjZUhhbmRs
ZTxDYWNoZWRTaGFkZXI+IENhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0U2hhZGVyKFJlc291
cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgTG9hZEluaXRpYXRvciYgaW5pdGlhdG9yKQogewot
ICAgIHJldHVybiBzdGF0aWNfY2FzdDxDYWNoZWRTaGFkZXIqPihyZXF1ZXN0UmVzb3VyY2UoQ2Fj
aGVkUmVzb3VyY2U6OlNoYWRlclJlc291cmNlLCByZXF1ZXN0LCBTdHJpbmcoKSwgZGVmYXVsdENh
Y2hlZFJlc291cmNlT3B0aW9ucygpKS5nZXQoKSk7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PENh
Y2hlZFNoYWRlcio+KHJlcXVlc3RSZXNvdXJjZShDYWNoZWRSZXNvdXJjZTo6U2hhZGVyUmVzb3Vy
Y2UsIHJlcXVlc3QsIFN0cmluZygpLCBkZWZhdWx0Q2FjaGVkUmVzb3VyY2VPcHRpb25zKCksIGlu
aXRpYXRvcikuZ2V0KCkpOwogfQogI2VuZGlmCiAKLUNhY2hlZFJlc291cmNlSGFuZGxlPENhY2hl
ZENTU1N0eWxlU2hlZXQ+IENhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0Q1NTU3R5bGVTaGVl
dChSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFN0cmluZyYgY2hhcnNldCwgUmVzb3Vy
Y2VMb2FkUHJpb3JpdHkgcHJpb3JpdHkpCitDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRDU1NT
dHlsZVNoZWV0PiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdENTU1N0eWxlU2hlZXQoUmVz
b3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBTdHJpbmcmIGNoYXJzZXQsIGNvbnN0IExvYWRJ
bml0aWF0b3ImIGluaXRpYXRvciwgUmVzb3VyY2VMb2FkUHJpb3JpdHkgcHJpb3JpdHkpCiB7Ci0g
ICAgcmV0dXJuIHN0YXRpY19jYXN0PENhY2hlZENTU1N0eWxlU2hlZXQqPihyZXF1ZXN0UmVzb3Vy
Y2UoQ2FjaGVkUmVzb3VyY2U6OkNTU1N0eWxlU2hlZXQsIHJlcXVlc3QsIGNoYXJzZXQsIGRlZmF1
bHRDYWNoZWRSZXNvdXJjZU9wdGlvbnMoKSwgcHJpb3JpdHkpLmdldCgpKTsKKyAgICByZXR1cm4g
c3RhdGljX2Nhc3Q8Q2FjaGVkQ1NTU3R5bGVTaGVldCo+KHJlcXVlc3RSZXNvdXJjZShDYWNoZWRS
ZXNvdXJjZTo6Q1NTU3R5bGVTaGVldCwgcmVxdWVzdCwgY2hhcnNldCwgZGVmYXVsdENhY2hlZFJl
c291cmNlT3B0aW9ucygpLCBpbml0aWF0b3IsIHByaW9yaXR5KS5nZXQoKSk7CiB9CiAKLUNhY2hl
ZFJlc291cmNlSGFuZGxlPENhY2hlZENTU1N0eWxlU2hlZXQ+IENhY2hlZFJlc291cmNlTG9hZGVy
OjpyZXF1ZXN0VXNlckNTU1N0eWxlU2hlZXQoUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25z
dCBTdHJpbmcmIGNoYXJzZXQpCitDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRDU1NTdHlsZVNo
ZWV0PiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFVzZXJDU1NTdHlsZVNoZWV0KFJlc291
cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgU3RyaW5nJiBjaGFyc2V0LCBjb25zdCBMb2FkSW5p
dGlhdG9yJiBpbml0aWF0b3IpCiB7CiAgICAgS1VSTCB1cmwgPSBNZW1vcnlDYWNoZTo6cmVtb3Zl
RnJhZ21lbnRJZGVudGlmaWVySWZOZWVkZWQocmVxdWVzdC51cmwoKSk7CiAKQEAgLTIwNSw0MiAr
MjA1LDQzIEBAIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZENTU1N0eWxlU2hlZXQ+IENhY2hl
ZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0VXNlckNTU1N0CiAgICAgbWVtb3J5Q2FjaGUoKS0+YWRk
KHVzZXJTaGVldC5nZXQoKSk7CiAgICAgLy8gRklYTUU6IGxvYWRSZXNvdXJjZSBjYWxscyBzZXRP
d25pbmdDYWNoZWRSZXNvdXJjZUxvYWRlcigpIGlmIHRoZSByZXNvdXJjZSBjb3VsZG4ndCBiZSBh
ZGRlZCB0byBjYWNoZS4gRG9lcyB0aGlzIGZ1bmN0aW9uIG5lZWQgdG8gY2FsbCBpdCwgdG9vPwog
CisgICAgdXNlclNoZWV0LT5zZXRJbml0aWF0b3IoaW5pdGlhdG9yKTsKICAgICB1c2VyU2hlZXQt
PmxvYWQodGhpcywgUmVzb3VyY2VMb2FkZXJPcHRpb25zKERvTm90U2VuZENhbGxiYWNrcywgU25p
ZmZDb250ZW50LCBCdWZmZXJEYXRhLCBBbGxvd1N0b3JlZENyZWRlbnRpYWxzLCBBc2tDbGllbnRG
b3JDcm9zc09yaWdpbkNyZWRlbnRpYWxzLCBTa2lwU2VjdXJpdHlDaGVjaykpOwotICAgIAorCiAg
ICAgcmV0dXJuIHVzZXJTaGVldDsKIH0KIAotQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkU2Ny
aXB0PiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFNjcmlwdChSZXNvdXJjZVJlcXVlc3Qm
IHJlcXVlc3QsIGNvbnN0IFN0cmluZyYgY2hhcnNldCkKK0NhY2hlZFJlc291cmNlSGFuZGxlPENh
Y2hlZFNjcmlwdD4gQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RTY3JpcHQoUmVzb3VyY2VS
ZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBTdHJpbmcmIGNoYXJzZXQsIGNvbnN0IExvYWRJbml0aWF0
b3ImIGluaXRpYXRvcikKIHsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Q2FjaGVkU2NyaXB0Kj4o
cmVxdWVzdFJlc291cmNlKENhY2hlZFJlc291cmNlOjpTY3JpcHQsIHJlcXVlc3QsIGNoYXJzZXQs
IGRlZmF1bHRDYWNoZWRSZXNvdXJjZU9wdGlvbnMoKSkuZ2V0KCkpOworICAgIHJldHVybiBzdGF0
aWNfY2FzdDxDYWNoZWRTY3JpcHQqPihyZXF1ZXN0UmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2U6OlNj
cmlwdCwgcmVxdWVzdCwgY2hhcnNldCwgZGVmYXVsdENhY2hlZFJlc291cmNlT3B0aW9ucygpLCBp
bml0aWF0b3IpLmdldCgpKTsKIH0KIAogI2lmIEVOQUJMRShYU0xUKQotQ2FjaGVkUmVzb3VyY2VI
YW5kbGU8Q2FjaGVkWFNMU3R5bGVTaGVldD4gQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RY
U0xTdHlsZVNoZWV0KFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCkKK0NhY2hlZFJlc291cmNlSGFu
ZGxlPENhY2hlZFhTTFN0eWxlU2hlZXQ+IENhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0WFNM
U3R5bGVTaGVldChSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IExvYWRJbml0aWF0b3Im
IGluaXRpYXRvcikKIHsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Q2FjaGVkWFNMU3R5bGVTaGVl
dCo+KHJlcXVlc3RSZXNvdXJjZShDYWNoZWRSZXNvdXJjZTo6WFNMU3R5bGVTaGVldCwgcmVxdWVz
dCwgU3RyaW5nKCksIGRlZmF1bHRDYWNoZWRSZXNvdXJjZU9wdGlvbnMoKSkuZ2V0KCkpOworICAg
IHJldHVybiBzdGF0aWNfY2FzdDxDYWNoZWRYU0xTdHlsZVNoZWV0Kj4ocmVxdWVzdFJlc291cmNl
KENhY2hlZFJlc291cmNlOjpYU0xTdHlsZVNoZWV0LCByZXF1ZXN0LCBTdHJpbmcoKSwgZGVmYXVs
dENhY2hlZFJlc291cmNlT3B0aW9ucygpLCBpbml0aWF0b3IpLmdldCgpKTsKIH0KICNlbmRpZgog
CiAjaWYgRU5BQkxFKFNWRykKLUNhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFNWR0RvY3VtZW50
PiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFNWR0RvY3VtZW50KFJlc291cmNlUmVxdWVz
dCYgcmVxdWVzdCkKK0NhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFNWR0RvY3VtZW50PiBDYWNo
ZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFNWR0RvY3VtZW50KFJlc291cmNlUmVxdWVzdCYgcmVx
dWVzdCwgY29uc3QgTG9hZEluaXRpYXRvciYgaW5pdGlhdG9yKQogewotICAgIHJldHVybiBzdGF0
aWNfY2FzdDxDYWNoZWRTVkdEb2N1bWVudCo+KHJlcXVlc3RSZXNvdXJjZShDYWNoZWRSZXNvdXJj
ZTo6U1ZHRG9jdW1lbnRSZXNvdXJjZSwgcmVxdWVzdCwgcmVxdWVzdC51cmwoKSwgZGVmYXVsdENh
Y2hlZFJlc291cmNlT3B0aW9ucygpKS5nZXQoKSk7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PENh
Y2hlZFNWR0RvY3VtZW50Kj4ocmVxdWVzdFJlc291cmNlKENhY2hlZFJlc291cmNlOjpTVkdEb2N1
bWVudFJlc291cmNlLCByZXF1ZXN0LCByZXF1ZXN0LnVybCgpLCBkZWZhdWx0Q2FjaGVkUmVzb3Vy
Y2VPcHRpb25zKCksIGluaXRpYXRvcikuZ2V0KCkpOwogfQogI2VuZGlmCiAKICNpZiBFTkFCTEUo
TElOS19QUkVGRVRDSCkKLUNhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFJlc291cmNlPiBDYWNo
ZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdExpbmtSZXNvdXJjZShDYWNoZWRSZXNvdXJjZTo6VHlw
ZSB0eXBlLCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFJlc291cmNlTG9hZFByaW9yaXR5IHBy
aW9yaXR5KQorQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmVzb3VyY2U+IENhY2hlZFJlc291
cmNlTG9hZGVyOjpyZXF1ZXN0TGlua1Jlc291cmNlKENhY2hlZFJlc291cmNlOjpUeXBlIHR5cGUs
IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgTG9hZEluaXRpYXRvciYgaW5pdGlhdG9y
LCBSZXNvdXJjZUxvYWRQcmlvcml0eSBwcmlvcml0eSkKIHsKICAgICBBU1NFUlQoZnJhbWUoKSk7
CiAgICAgQVNTRVJUKHR5cGUgPT0gQ2FjaGVkUmVzb3VyY2U6OkxpbmtQcmVmZXRjaCB8fCB0eXBl
ID09IENhY2hlZFJlc291cmNlOjpMaW5rU3VicmVzb3VyY2UpOwotICAgIHJldHVybiByZXF1ZXN0
UmVzb3VyY2UodHlwZSwgcmVxdWVzdCwgU3RyaW5nKCksIGRlZmF1bHRDYWNoZWRSZXNvdXJjZU9w
dGlvbnMoKSwgcHJpb3JpdHkpOworICAgIHJldHVybiByZXF1ZXN0UmVzb3VyY2UodHlwZSwgcmVx
dWVzdCwgU3RyaW5nKCksIGRlZmF1bHRDYWNoZWRSZXNvdXJjZU9wdGlvbnMoKSwgaW5pdGlhdG9y
LCBwcmlvcml0eSk7CiB9CiAjZW5kaWYKIAotQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmF3
UmVzb3VyY2U+IENhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0UmF3UmVzb3VyY2UoUmVzb3Vy
Y2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBSZXNvdXJjZUxvYWRlck9wdGlvbnMmIG9wdGlvbnMp
CitDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRSYXdSZXNvdXJjZT4gQ2FjaGVkUmVzb3VyY2VM
b2FkZXI6OnJlcXVlc3RSYXdSZXNvdXJjZShSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0
IFJlc291cmNlTG9hZGVyT3B0aW9ucyYgb3B0aW9ucywgY29uc3QgTG9hZEluaXRpYXRvciYgaW5p
dGlhdG9yKQogewotICAgIHJldHVybiBzdGF0aWNfY2FzdDxDYWNoZWRSYXdSZXNvdXJjZSo+KHJl
cXVlc3RSZXNvdXJjZShDYWNoZWRSZXNvdXJjZTo6UmF3UmVzb3VyY2UsIHJlcXVlc3QsIFN0cmlu
ZygpLCBvcHRpb25zLCBSZXNvdXJjZUxvYWRQcmlvcml0eVVucmVzb2x2ZWQsIGZhbHNlKS5nZXQo
KSk7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PENhY2hlZFJhd1Jlc291cmNlKj4ocmVxdWVzdFJl
c291cmNlKENhY2hlZFJlc291cmNlOjpSYXdSZXNvdXJjZSwgcmVxdWVzdCwgU3RyaW5nKCksIG9w
dGlvbnMsIGluaXRpYXRvciwgUmVzb3VyY2VMb2FkUHJpb3JpdHlVbnJlc29sdmVkLCBmYWxzZSku
Z2V0KCkpOwogfQogCiBib29sIENhY2hlZFJlc291cmNlTG9hZGVyOjpjaGVja0luc2VjdXJlQ29u
dGVudChDYWNoZWRSZXNvdXJjZTo6VHlwZSB0eXBlLCBjb25zdCBLVVJMJiB1cmwpIGNvbnN0CkBA
IC0zOTQsNyArMzk1LDcgQEAgYm9vbCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6Y2FuUmVxdWVzdChD
YWNoZWRSZXNvdXJjZTo6VHlwZSB0eXBlLCBjb25zdCBLVVJMJiB1cmwKICAgICByZXR1cm4gdHJ1
ZTsKIH0KIAotQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmVzb3VyY2U+IENhY2hlZFJlc291
cmNlTG9hZGVyOjpyZXF1ZXN0UmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2U6OlR5cGUgdHlwZSwgUmVz
b3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBTdHJpbmcmIGNoYXJzZXQsIGNvbnN0IFJlc291
cmNlTG9hZGVyT3B0aW9ucyYgb3B0aW9ucywgUmVzb3VyY2VMb2FkUHJpb3JpdHkgcHJpb3JpdHks
IGJvb2wgZm9yUHJlbG9hZCwgRGVmZXJPcHRpb24gZGVmZXIpCitDYWNoZWRSZXNvdXJjZUhhbmRs
ZTxDYWNoZWRSZXNvdXJjZT4gQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RSZXNvdXJjZShD
YWNoZWRSZXNvdXJjZTo6VHlwZSB0eXBlLCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0
IFN0cmluZyYgY2hhcnNldCwgY29uc3QgUmVzb3VyY2VMb2FkZXJPcHRpb25zJiBvcHRpb25zLCBj
b25zdCBMb2FkSW5pdGlhdG9yJiBpbml0aWF0b3IsIFJlc291cmNlTG9hZFByaW9yaXR5IHByaW9y
aXR5LCBib29sIGZvclByZWxvYWQsIERlZmVyT3B0aW9uIGRlZmVyKQogewogICAgIEtVUkwgdXJs
ID0gcmVxdWVzdC51cmwoKTsKICAgICAKQEAgLTQyOSwxMCArNDMwLDEwIEBAIENhY2hlZFJlc291
cmNlSGFuZGxlPENhY2hlZFJlc291cmNlPiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFJl
c291cmNlKENhY2hlCiAgICAgICAgIG1lbW9yeUNhY2hlKCktPnJlbW92ZShyZXNvdXJjZS5nZXQo
KSk7CiAgICAgICAgIC8vIEZhbGwgdGhyb3VnaAogICAgIGNhc2UgTG9hZDoKLSAgICAgICAgcmVz
b3VyY2UgPSBsb2FkUmVzb3VyY2UodHlwZSwgcmVxdWVzdCwgY2hhcnNldCk7CisgICAgICAgIHJl
c291cmNlID0gbG9hZFJlc291cmNlKHR5cGUsIHJlcXVlc3QsIGNoYXJzZXQsIGluaXRpYXRvcik7
CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUmV2YWxpZGF0ZToKLSAgICAgICAgcmVzb3VyY2Ug
PSByZXZhbGlkYXRlUmVzb3VyY2UocmVzb3VyY2UuZ2V0KCkpOworICAgICAgICByZXNvdXJjZSA9
IHJldmFsaWRhdGVSZXNvdXJjZShyZXNvdXJjZS5nZXQoKSwgaW5pdGlhdG9yKTsKICAgICAgICAg
YnJlYWs7CiAgICAgY2FzZSBVc2U6CiAgICAgICAgIG1lbW9yeUNhY2hlKCktPnJlc291cmNlQWNj
ZXNzZWQocmVzb3VyY2UuZ2V0KCkpOwpAQCAtNDYzLDM0ICs0NjQsMzYgQEAgQ2FjaGVkUmVzb3Vy
Y2VIYW5kbGU8Q2FjaGVkUmVzb3VyY2U+IENhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0UmVz
b3VyY2UoQ2FjaGUKICAgICByZXR1cm4gcmVzb3VyY2U7CiB9CiAKLUNhY2hlZFJlc291cmNlSGFu
ZGxlPENhY2hlZFJlc291cmNlPiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmV2YWxpZGF0ZVJlc291
cmNlKENhY2hlZFJlc291cmNlKiByZXNvdXJjZSkKK0NhY2hlZFJlc291cmNlSGFuZGxlPENhY2hl
ZFJlc291cmNlPiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmV2YWxpZGF0ZVJlc291cmNlKENhY2hl
ZFJlc291cmNlKiByZXNvdXJjZSwgY29uc3QgTG9hZEluaXRpYXRvciYgaW5pdGlhdG9yKQogewog
ICAgIEFTU0VSVChyZXNvdXJjZSk7CiAgICAgQVNTRVJUKHJlc291cmNlLT5pbkNhY2hlKCkpOwog
ICAgIEFTU0VSVCghbWVtb3J5Q2FjaGUoKS0+ZGlzYWJsZWQoKSk7CiAgICAgQVNTRVJUKHJlc291
cmNlLT5jYW5Vc2VDYWNoZVZhbGlkYXRvcigpKTsKICAgICBBU1NFUlQoIXJlc291cmNlLT5yZXNv
dXJjZVRvUmV2YWxpZGF0ZSgpKTsKLSAgICAKKwogICAgIC8vIENvcHkgdGhlIFVSTCBvdXQgb2Yg
dGhlIHJlc291cmNlIHRvIGJlIHJldmFsaWRhdGVkIGluIGNhc2UgaXQgZ2V0cyBkZWxldGVkIGJ5
IHRoZSByZW1vdmUoKSBjYWxsIGJlbG93LgogICAgIFN0cmluZyB1cmwgPSByZXNvdXJjZS0+dXJs
KCk7CiAgICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmVzb3VyY2U+IG5ld1Jlc291cmNl
ID0gY3JlYXRlUmVzb3VyY2UocmVzb3VyY2UtPnR5cGUoKSwgcmVzb3VyY2UtPnJlc291cmNlUmVx
dWVzdCgpLCByZXNvdXJjZS0+ZW5jb2RpbmcoKSk7CiAgICAgCiAgICAgTE9HKFJlc291cmNlTG9h
ZGluZywgIlJlc291cmNlICVwIGNyZWF0ZWQgdG8gcmV2YWxpZGF0ZSAlcCIsIG5ld1Jlc291cmNl
LmdldCgpLCByZXNvdXJjZSk7CiAgICAgbmV3UmVzb3VyY2UtPnNldFJlc291cmNlVG9SZXZhbGlk
YXRlKHJlc291cmNlKTsKKyAgICBuZXdSZXNvdXJjZS0+c2V0SW5pdGlhdG9yKGluaXRpYXRvcik7
CiAgICAgCiAgICAgbWVtb3J5Q2FjaGUoKS0+cmVtb3ZlKHJlc291cmNlKTsKICAgICBtZW1vcnlD
YWNoZSgpLT5hZGQobmV3UmVzb3VyY2UuZ2V0KCkpOwogICAgIHJldHVybiBuZXdSZXNvdXJjZTsK
IH0KIAotQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmVzb3VyY2U+IENhY2hlZFJlc291cmNl
TG9hZGVyOjpsb2FkUmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2U6OlR5cGUgdHlwZSwgUmVzb3VyY2VS
ZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBTdHJpbmcmIGNoYXJzZXQpCitDYWNoZWRSZXNvdXJjZUhh
bmRsZTxDYWNoZWRSZXNvdXJjZT4gQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmxvYWRSZXNvdXJjZShD
YWNoZWRSZXNvdXJjZTo6VHlwZSB0eXBlLCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0
IFN0cmluZyYgY2hhcnNldCwgY29uc3QgTG9hZEluaXRpYXRvciYgaW5pdGlhdG9yKQogewogICAg
IEFTU0VSVCghbWVtb3J5Q2FjaGUoKS0+cmVzb3VyY2VGb3JVUkwocmVxdWVzdC51cmwoKSkpOwot
ICAgIAorCiAgICAgTE9HKFJlc291cmNlTG9hZGluZywgIkxvYWRpbmcgQ2FjaGVkUmVzb3VyY2Ug
Zm9yICclcycuIiwgcmVxdWVzdC51cmwoKS5zdHJpbmcoKS5sYXRpbjEoKS5kYXRhKCkpOwotICAg
IAorCiAgICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmVzb3VyY2U+IHJlc291cmNlID0g
Y3JlYXRlUmVzb3VyY2UodHlwZSwgcmVxdWVzdCwgY2hhcnNldCk7Ci0gICAgCisgICAgcmVzb3Vy
Y2UtPnNldEluaXRpYXRvcihpbml0aWF0b3IpOworCiAgICAgaWYgKCFtZW1vcnlDYWNoZSgpLT5h
ZGQocmVzb3VyY2UuZ2V0KCkpKQogICAgICAgICByZXNvdXJjZS0+c2V0T3duaW5nQ2FjaGVkUmVz
b3VyY2VMb2FkZXIodGhpcyk7CiAgICAgcmV0dXJuIHJlc291cmNlOwpAQCAtNTAwLDExICs1MDMs
MTEgQEAgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OlJldmFsaWRhdGlvblBvbGljeSBDYWNoZWRSZXNv
dXJjZUxvYWRlcjo6ZGV0ZXJtaW5lUmV2YWxpZGEKIHsKICAgICBpZiAoIWV4aXN0aW5nUmVzb3Vy
Y2UpCiAgICAgICAgIHJldHVybiBMb2FkOwotCisgICAgCiAgICAgLy8gV2UgYWxyZWFkeSBoYXZl
IGEgcHJlbG9hZCBnb2luZyBmb3IgdGhpcyBVUkwuCiAgICAgaWYgKGZvclByZWxvYWQgJiYgZXhp
c3RpbmdSZXNvdXJjZS0+aXNQcmVsb2FkZWQoKSkKICAgICAgICAgcmV0dXJuIFVzZTsKLQorICAg
IAogICAgIC8vIElmIHRoZSBzYW1lIFVSTCBoYXMgYmVlbiBsb2FkZWQgYXMgYSBkaWZmZXJlbnQg
dHlwZSwgd2UgbmVlZCB0byByZWxvYWQuCiAgICAgaWYgKGV4aXN0aW5nUmVzb3VyY2UtPnR5cGUo
KSAhPSB0eXBlKSB7CiAgICAgICAgIExPRyhSZXNvdXJjZUxvYWRpbmcsICJDYWNoZWRSZXNvdXJj
ZUxvYWRlcjo6ZGV0ZXJtaW5lUmV2YWxpZGF0aW9uUG9saWN5IHJlbG9hZGluZyBkdWUgdG8gdHlw
ZSBtaXNtYXRjaC4iKTsKQEAgLTc0MSw4ICs3NDQsOCBAQCB2b2lkIENhY2hlZFJlc291cmNlTG9h
ZGVyOjpkZWNyZW1lbnRSZXF1ZXN0Q291bnQoY29uc3QgQ2FjaGVkUmVzb3VyY2UqIHJlcykKICAg
ICAtLW1fcmVxdWVzdENvdW50OwogICAgIEFTU0VSVChtX3JlcXVlc3RDb3VudCA+IC0xKTsKIH0K
LSAgICAKLXZvaWQgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnByZWxvYWQoQ2FjaGVkUmVzb3VyY2U6
OlR5cGUgdHlwZSwgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBTdHJpbmcmIGNoYXJz
ZXQsIGJvb2wgcmVmZXJlbmNlZEZyb21Cb2R5KQorCit2b2lkIENhY2hlZFJlc291cmNlTG9hZGVy
OjpwcmVsb2FkKENhY2hlZFJlc291cmNlOjpUeXBlIHR5cGUsIFJlc291cmNlUmVxdWVzdCYgcmVx
dWVzdCwgY29uc3QgU3RyaW5nJiBjaGFyc2V0LCBib29sIHJlZmVyZW5jZWRGcm9tQm9keSwgY29u
c3QgTG9hZEluaXRpYXRvciYgaW5pdGlhdG9yKQogewogICAgIC8vIEZJWE1FOiBSaXAgdGhpcyBv
dXQgd2hlbiB3ZSBhcmUgc3VyZSBpdCBpcyBubyBsb25nZXIgbmVjZXNzYXJ5IChldmVuIGZvciBt
b2JpbGUpLgogICAgIFVOVVNFRF9QQVJBTShyZWZlcmVuY2VkRnJvbUJvZHkpOwpAQCAtNzU3LDE1
ICs3NjAsMTUgQEAgdm9pZCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cHJlbG9hZChDYWNoZWRSZXNv
dXJjZTo6VHlwZSB0eXBlLCBSZXNvdXJjZVJlcXVlc3QmIHIKICAgICAgICAgaWYgKCFoYXNSZW5k
ZXJpbmcgJiYgIWNhbkJsb2NrUGFyc2VyKSB7CiAgICAgICAgICAgICAvLyBEb24ndCBwcmVsb2Fk
IHN1YnJlc291cmNlcyB0aGF0IGNhbid0IGJsb2NrIHRoZSBwYXJzZXIgYmVmb3JlIHdlIGhhdmUg
c29tZXRoaW5nIHRvIGRyYXcuCiAgICAgICAgICAgICAvLyBUaGlzIGhlbHBzIHByZXZlbnQgcHJl
bG9hZHMgZnJvbSBkZWxheWluZyBmaXJzdCBkaXNwbGF5IHdoZW4gYmFuZHdpZHRoIGlzIGxpbWl0
ZWQuCi0gICAgICAgICAgICBQZW5kaW5nUHJlbG9hZCBwZW5kaW5nUHJlbG9hZCA9IHsgdHlwZSwg
cmVxdWVzdCwgY2hhcnNldCB9OworICAgICAgICAgICAgUGVuZGluZ1ByZWxvYWQgcGVuZGluZ1By
ZWxvYWQgPSB7IHR5cGUsIHJlcXVlc3QsIGNoYXJzZXQsIGluaXRpYXRvciB9OwogICAgICAgICAg
ICAgbV9wZW5kaW5nUHJlbG9hZHMuYXBwZW5kKHBlbmRpbmdQcmVsb2FkKTsKICAgICAgICAgICAg
IHJldHVybjsKICAgICAgICAgfQogICAgIH0KLSAgICByZXF1ZXN0UHJlbG9hZCh0eXBlLCByZXF1
ZXN0LCBjaGFyc2V0KTsKKyAgICByZXF1ZXN0UHJlbG9hZCh0eXBlLCByZXF1ZXN0LCBjaGFyc2V0
LCBpbml0aWF0b3IpOwogfQogCi12b2lkIENhY2hlZFJlc291cmNlTG9hZGVyOjpjaGVja0ZvclBl
bmRpbmdQcmVsb2FkcygpIAordm9pZCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6Y2hlY2tGb3JQZW5k
aW5nUHJlbG9hZHMoKQogewogICAgIGlmIChtX3BlbmRpbmdQcmVsb2Fkcy5pc0VtcHR5KCkgfHwg
IW1fZG9jdW1lbnQtPmJvZHkoKSB8fCAhbV9kb2N1bWVudC0+Ym9keSgpLT5yZW5kZXJlcigpKQog
ICAgICAgICByZXR1cm47CkBAIC03NzMsMTggKzc3NiwxOCBAQCB2b2lkIENhY2hlZFJlc291cmNl
TG9hZGVyOjpjaGVja0ZvclBlbmRpbmdQcmVsb2FkcygpCiAgICAgICAgIFBlbmRpbmdQcmVsb2Fk
IHByZWxvYWQgPSBtX3BlbmRpbmdQcmVsb2Fkcy50YWtlRmlyc3QoKTsKICAgICAgICAgLy8gRG9u
J3QgcmVxdWVzdCBwcmVsb2FkIGlmIHRoZSByZXNvdXJjZSBhbHJlYWR5IGxvYWRlZCBub3JtYWxs
eSAodGhpcyB3aWxsIHJlc3VsdCBpbiBkb3VibGUgbG9hZCBpZiB0aGUgcGFnZSBpcyBiZWluZyBy
ZWxvYWRlZCB3aXRoIGNhY2hlZCByZXN1bHRzIGlnbm9yZWQpLgogICAgICAgICBpZiAoIWNhY2hl
ZFJlc291cmNlKHByZWxvYWQubV9yZXF1ZXN0LnVybCgpKSkKLSAgICAgICAgICAgIHJlcXVlc3RQ
cmVsb2FkKHByZWxvYWQubV90eXBlLCBwcmVsb2FkLm1fcmVxdWVzdCwgcHJlbG9hZC5tX2NoYXJz
ZXQpOworICAgICAgICAgICAgcmVxdWVzdFByZWxvYWQocHJlbG9hZC5tX3R5cGUsIHByZWxvYWQu
bV9yZXF1ZXN0LCBwcmVsb2FkLm1fY2hhcnNldCwgcHJlbG9hZC5tX2luaXRpYXRvcik7CiAgICAg
fQogICAgIG1fcGVuZGluZ1ByZWxvYWRzLmNsZWFyKCk7CiB9CiAKLXZvaWQgQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXI6OnJlcXVlc3RQcmVsb2FkKENhY2hlZFJlc291cmNlOjpUeXBlIHR5cGUsIFJlc291
cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgU3RyaW5nJiBjaGFyc2V0KQordm9pZCBDYWNoZWRS
ZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFByZWxvYWQoQ2FjaGVkUmVzb3VyY2U6OlR5cGUgdHlwZSwg
UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBTdHJpbmcmIGNoYXJzZXQsIGNvbnN0IExv
YWRJbml0aWF0b3ImIGluaXRpYXRvcikKIHsKICAgICBTdHJpbmcgZW5jb2Rpbmc7CiAgICAgaWYg
KHR5cGUgPT0gQ2FjaGVkUmVzb3VyY2U6OlNjcmlwdCB8fCB0eXBlID09IENhY2hlZFJlc291cmNl
OjpDU1NTdHlsZVNoZWV0KQogICAgICAgICBlbmNvZGluZyA9IGNoYXJzZXQuaXNFbXB0eSgpID8g
bV9kb2N1bWVudC0+Y2hhcnNldCgpIDogY2hhcnNldDsKIAotICAgIENhY2hlZFJlc291cmNlSGFu
ZGxlPENhY2hlZFJlc291cmNlPiByZXNvdXJjZSA9IHJlcXVlc3RSZXNvdXJjZSh0eXBlLCByZXF1
ZXN0LCBlbmNvZGluZywgZGVmYXVsdENhY2hlZFJlc291cmNlT3B0aW9ucygpLCBSZXNvdXJjZUxv
YWRQcmlvcml0eVVucmVzb2x2ZWQsIHRydWUpOworICAgIENhY2hlZFJlc291cmNlSGFuZGxlPENh
Y2hlZFJlc291cmNlPiByZXNvdXJjZSA9IHJlcXVlc3RSZXNvdXJjZSh0eXBlLCByZXF1ZXN0LCBl
bmNvZGluZywgZGVmYXVsdENhY2hlZFJlc291cmNlT3B0aW9ucygpLCBpbml0aWF0b3IsIFJlc291
cmNlTG9hZFByaW9yaXR5VW5yZXNvbHZlZCwgdHJ1ZSk7CiAgICAgaWYgKCFyZXNvdXJjZSB8fCAo
bV9wcmVsb2FkcyAmJiBtX3ByZWxvYWRzLT5jb250YWlucyhyZXNvdXJjZS5nZXQoKSkpKQogICAg
ICAgICByZXR1cm47CiAgICAgcmVzb3VyY2UtPmluY3JlYXNlUHJlbG9hZENvdW50KCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5oCmlu
ZGV4IGI1ZGM2OTQ4MmUxZGYxMTk3MTRhYjc4MzY3MWJkNTA2MmZiYWNjMDcuLmRhNDliM2NhNzBm
MmI0YmFiNzdhYWVmZTZkZWQ3ZTJiZmE1MTkwYjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5oCkBAIC0yOSw2ICsyOSw4IEBACiAj
aW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2UuaCIKICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUhhbmRs
ZS5oIgogI2luY2x1ZGUgIkNhY2hlUG9saWN5LmgiCisjaW5jbHVkZSAiTG9hZEluaXRpYXRvci5o
IgorI2luY2x1ZGUgIkxvYWRJbml0aWF0b3JIYW5kbGUuaCIKICNpbmNsdWRlICJSZXNvdXJjZUxv
YWRQcmlvcml0eS5oIgogI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSA8d3RmL0RlcXVlLmg+
CkBAIC02MywyNyArNjUsMjcgQEAgcHVibGljOgogICAgIENhY2hlZFJlc291cmNlTG9hZGVyKERv
Y3VtZW50Kik7CiAgICAgfkNhY2hlZFJlc291cmNlTG9hZGVyKCk7CiAKLSAgICBDYWNoZWRSZXNv
dXJjZUhhbmRsZTxDYWNoZWRJbWFnZT4gcmVxdWVzdEltYWdlKFJlc291cmNlUmVxdWVzdCYpOwot
ICAgIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZENTU1N0eWxlU2hlZXQ+IHJlcXVlc3RDU1NT
dHlsZVNoZWV0KFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFN0cmluZyYgY2hhcnNldCwgUmVzb3Vy
Y2VMb2FkUHJpb3JpdHkgPSBSZXNvdXJjZUxvYWRQcmlvcml0eVVucmVzb2x2ZWQpOwotICAgIENh
Y2hlZFJlc291cmNlSGFuZGxlPENhY2hlZENTU1N0eWxlU2hlZXQ+IHJlcXVlc3RVc2VyQ1NTU3R5
bGVTaGVldChSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBTdHJpbmcmIGNoYXJzZXQpOwotICAgIENh
Y2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFNjcmlwdD4gcmVxdWVzdFNjcmlwdChSZXNvdXJjZVJl
cXVlc3QmLCBjb25zdCBTdHJpbmcmIGNoYXJzZXQpOwotICAgIENhY2hlZFJlc291cmNlSGFuZGxl
PENhY2hlZEZvbnQ+IHJlcXVlc3RGb250KFJlc291cmNlUmVxdWVzdCYpOwotICAgIENhY2hlZFJl
c291cmNlSGFuZGxlPENhY2hlZFJhd1Jlc291cmNlPiByZXF1ZXN0UmF3UmVzb3VyY2UoUmVzb3Vy
Y2VSZXF1ZXN0JiwgY29uc3QgUmVzb3VyY2VMb2FkZXJPcHRpb25zJik7CisgICAgQ2FjaGVkUmVz
b3VyY2VIYW5kbGU8Q2FjaGVkSW1hZ2U+IHJlcXVlc3RJbWFnZShSZXNvdXJjZVJlcXVlc3QmLCBj
b25zdCBMb2FkSW5pdGlhdG9yJik7CisgICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkQ1NT
U3R5bGVTaGVldD4gcmVxdWVzdENTU1N0eWxlU2hlZXQoUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3Qg
U3RyaW5nJiBjaGFyc2V0LCBjb25zdCBMb2FkSW5pdGlhdG9yJiwgUmVzb3VyY2VMb2FkUHJpb3Jp
dHkgPSBSZXNvdXJjZUxvYWRQcmlvcml0eVVucmVzb2x2ZWQpOworICAgIENhY2hlZFJlc291cmNl
SGFuZGxlPENhY2hlZENTU1N0eWxlU2hlZXQ+IHJlcXVlc3RVc2VyQ1NTU3R5bGVTaGVldChSZXNv
dXJjZVJlcXVlc3QmLCBjb25zdCBTdHJpbmcmIGNoYXJzZXQsIGNvbnN0IExvYWRJbml0aWF0b3Im
KTsKKyAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRTY3JpcHQ+IHJlcXVlc3RTY3JpcHQo
UmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgU3RyaW5nJiBjaGFyc2V0LCBjb25zdCBMb2FkSW5pdGlh
dG9yJik7CisgICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkRm9udD4gcmVxdWVzdEZvbnQo
UmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgTG9hZEluaXRpYXRvciYpOworICAgIENhY2hlZFJlc291
cmNlSGFuZGxlPENhY2hlZFJhd1Jlc291cmNlPiByZXF1ZXN0UmF3UmVzb3VyY2UoUmVzb3VyY2VS
ZXF1ZXN0JiwgY29uc3QgUmVzb3VyY2VMb2FkZXJPcHRpb25zJiwgY29uc3QgTG9hZEluaXRpYXRv
ciYpOwogCiAjaWYgRU5BQkxFKFNWRykKLSAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRT
VkdEb2N1bWVudD4gcmVxdWVzdFNWR0RvY3VtZW50KFJlc291cmNlUmVxdWVzdCYpOworICAgIENh
Y2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFNWR0RvY3VtZW50PiByZXF1ZXN0U1ZHRG9jdW1lbnQo
UmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgTG9hZEluaXRpYXRvciYpOwogI2VuZGlmCiAjaWYgRU5B
QkxFKFhTTFQpCi0gICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkWFNMU3R5bGVTaGVldD4g
cmVxdWVzdFhTTFN0eWxlU2hlZXQoUmVzb3VyY2VSZXF1ZXN0Jik7CisgICAgQ2FjaGVkUmVzb3Vy
Y2VIYW5kbGU8Q2FjaGVkWFNMU3R5bGVTaGVldD4gcmVxdWVzdFhTTFN0eWxlU2hlZXQoUmVzb3Vy
Y2VSZXF1ZXN0JiwgY29uc3QgTG9hZEluaXRpYXRvciYpOwogI2VuZGlmCiAjaWYgRU5BQkxFKExJ
TktfUFJFRkVUQ0gpCi0gICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmVzb3VyY2U+IHJl
cXVlc3RMaW5rUmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2U6OlR5cGUsIFJlc291cmNlUmVxdWVzdCYs
IFJlc291cmNlTG9hZFByaW9yaXR5ID0gUmVzb3VyY2VMb2FkUHJpb3JpdHlVbnJlc29sdmVkKTsK
KyAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRSZXNvdXJjZT4gcmVxdWVzdExpbmtSZXNv
dXJjZShDYWNoZWRSZXNvdXJjZTo6VHlwZSwgUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgTG9hZElu
aXRpYXRvciYsIFJlc291cmNlTG9hZFByaW9yaXR5ID0gUmVzb3VyY2VMb2FkUHJpb3JpdHlVbnJl
c29sdmVkKTsKICNlbmRpZgogI2lmIEVOQUJMRShWSURFT19UUkFDSykKLSAgICBDYWNoZWRSZXNv
dXJjZUhhbmRsZTxDYWNoZWRUZXh0VHJhY2s+IHJlcXVlc3RUZXh0VHJhY2soUmVzb3VyY2VSZXF1
ZXN0Jik7CisgICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkVGV4dFRyYWNrPiByZXF1ZXN0
VGV4dFRyYWNrKFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IExvYWRJbml0aWF0b3ImKTsKICNlbmRp
ZgogI2lmIEVOQUJMRShDU1NfU0hBREVSUykKLSAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNo
ZWRTaGFkZXI+IHJlcXVlc3RTaGFkZXIoUmVzb3VyY2VSZXF1ZXN0Jik7CisgICAgQ2FjaGVkUmVz
b3VyY2VIYW5kbGU8Q2FjaGVkU2hhZGVyPiByZXF1ZXN0U2hhZGVyKFJlc291cmNlUmVxdWVzdCYs
IGNvbnN0IExvYWRJbml0aWF0b3ImKTsKICNlbmRpZgogCiAgICAgLy8gTG9ncyBhbiBhY2Nlc3Mg
ZGVuaWVkIG1lc3NhZ2UgdG8gdGhlIGNvbnNvbGUgZm9yIHRoZSBzcGVjaWZpZWQgVVJMLgpAQCAt
MTE4LDcgKzEyMCw3IEBAIHB1YmxpYzoKICAgICBib29sIGlzUHJlbG9hZGVkKGNvbnN0IFN0cmlu
ZyYgdXJsU3RyaW5nKSBjb25zdDsKICAgICB2b2lkIGNsZWFyUHJlbG9hZHMoKTsKICAgICB2b2lk
IGNsZWFyUGVuZGluZ1ByZWxvYWRzKCk7Ci0gICAgdm9pZCBwcmVsb2FkKENhY2hlZFJlc291cmNl
OjpUeXBlLCBSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBTdHJpbmcmIGNoYXJzZXQsIGJvb2wgcmVm
ZXJlbmNlZEZyb21Cb2R5KTsKKyAgICB2b2lkIHByZWxvYWQoQ2FjaGVkUmVzb3VyY2U6OlR5cGUs
IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFN0cmluZyYgY2hhcnNldCwgYm9vbCByZWZlcmVuY2Vk
RnJvbUJvZHksIGNvbnN0IExvYWRJbml0aWF0b3ImKTsKICAgICB2b2lkIGNoZWNrRm9yUGVuZGlu
Z1ByZWxvYWRzKCk7CiAgICAgdm9pZCBwcmludFByZWxvYWRTdGF0cygpOwogICAgIGJvb2wgY2Fu
UmVxdWVzdChDYWNoZWRSZXNvdXJjZTo6VHlwZSwgY29uc3QgS1VSTCYsIGJvb2wgZm9yUHJlbG9h
ZCA9IGZhbHNlKTsKQEAgLTEyNywxMCArMTI5LDEwIEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAg
ICBlbnVtIERlZmVyT3B0aW9uIHsgTm9EZWZlciwgRGVmZXJyZWRCeUNsaWVudCB9OwotICAgIENh
Y2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFJlc291cmNlPiByZXF1ZXN0UmVzb3VyY2UoQ2FjaGVk
UmVzb3VyY2U6OlR5cGUsIFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFN0cmluZyYgY2hhcnNldCwg
Y29uc3QgUmVzb3VyY2VMb2FkZXJPcHRpb25zJiwgUmVzb3VyY2VMb2FkUHJpb3JpdHkgPSBSZXNv
dXJjZUxvYWRQcmlvcml0eVVucmVzb2x2ZWQsIGJvb2wgaXNQcmVsb2FkID0gZmFsc2UsIERlZmVy
T3B0aW9uID0gTm9EZWZlcik7Ci0gICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmVzb3Vy
Y2U+IHJldmFsaWRhdGVSZXNvdXJjZShDYWNoZWRSZXNvdXJjZSopOwotICAgIENhY2hlZFJlc291
cmNlSGFuZGxlPENhY2hlZFJlc291cmNlPiBsb2FkUmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2U6OlR5
cGUsIFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFN0cmluZyYgY2hhcnNldCk7Ci0gICAgdm9pZCBy
ZXF1ZXN0UHJlbG9hZChDYWNoZWRSZXNvdXJjZTo6VHlwZSwgUmVzb3VyY2VSZXF1ZXN0JiwgY29u
c3QgU3RyaW5nJiBjaGFyc2V0KTsKKyAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRSZXNv
dXJjZT4gcmVxdWVzdFJlc291cmNlKENhY2hlZFJlc291cmNlOjpUeXBlLCBSZXNvdXJjZVJlcXVl
c3QmLCBjb25zdCBTdHJpbmcmIGNoYXJzZXQsIGNvbnN0IFJlc291cmNlTG9hZGVyT3B0aW9ucyYs
IGNvbnN0IExvYWRJbml0aWF0b3ImLCBSZXNvdXJjZUxvYWRQcmlvcml0eSA9IFJlc291cmNlTG9h
ZFByaW9yaXR5VW5yZXNvbHZlZCwgYm9vbCBpc1ByZWxvYWQgPSBmYWxzZSwgRGVmZXJPcHRpb24g
PSBOb0RlZmVyKTsKKyAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRSZXNvdXJjZT4gcmV2
YWxpZGF0ZVJlc291cmNlKENhY2hlZFJlc291cmNlKiwgY29uc3QgTG9hZEluaXRpYXRvciYpOwor
ICAgIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFJlc291cmNlPiBsb2FkUmVzb3VyY2UoQ2Fj
aGVkUmVzb3VyY2U6OlR5cGUsIFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFN0cmluZyYgY2hhcnNl
dCwgY29uc3QgTG9hZEluaXRpYXRvciYpOworICAgIHZvaWQgcmVxdWVzdFByZWxvYWQoQ2FjaGVk
UmVzb3VyY2U6OlR5cGUsIFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFN0cmluZyYgY2hhcnNldCwg
Y29uc3QgTG9hZEluaXRpYXRvciYpOwogCiAgICAgZW51bSBSZXZhbGlkYXRpb25Qb2xpY3kgeyBV
c2UsIFJldmFsaWRhdGUsIFJlbG9hZCwgTG9hZCB9OwogICAgIFJldmFsaWRhdGlvblBvbGljeSBk
ZXRlcm1pbmVSZXZhbGlkYXRpb25Qb2xpY3koQ2FjaGVkUmVzb3VyY2U6OlR5cGUsIFJlc291cmNl
UmVxdWVzdCYsIGJvb2wgZm9yUHJlbG9hZCwgQ2FjaGVkUmVzb3VyY2UqIGV4aXN0aW5nUmVzb3Vy
Y2UsIERlZmVyT3B0aW9uKSBjb25zdDsKQEAgLTE1NSw2ICsxNTcsNyBAQCBwcml2YXRlOgogICAg
ICAgICBDYWNoZWRSZXNvdXJjZTo6VHlwZSBtX3R5cGU7CiAgICAgICAgIFJlc291cmNlUmVxdWVz
dCBtX3JlcXVlc3Q7CiAgICAgICAgIFN0cmluZyBtX2NoYXJzZXQ7CisgICAgICAgIExvYWRJbml0
aWF0b3JIYW5kbGUgbV9pbml0aWF0b3I7CiAgICAgfTsKICAgICBEZXF1ZTxQZW5kaW5nUHJlbG9h
ZD4gbV9wZW5kaW5nUHJlbG9hZHM7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9pY29uL0ljb25Mb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkxv
YWRlci5jcHAKaW5kZXggOWQ3MzNkYTRkOGI5MDEwNjE5NmNhYzRiZWQzNDc5MTY4MGE1MGVjYS4u
NWQ1MzkwODVjODkzOTZjMWFmZmQ0MGUzMTNjNjUyY2M0MTBlZjM5NyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2ljb24vSWNvbkxvYWRlci5jcHAKQEAgLTY2LDcgKzY2LDggQEAgdm9pZCBJY29u
TG9hZGVyOjpzdGFydExvYWRpbmcoKQogICAgIHJlc291cmNlUmVxdWVzdC5zZXRQcmlvcml0eShS
ZXNvdXJjZUxvYWRQcmlvcml0eUxvdyk7CiAKICAgICBtX3Jlc291cmNlID0gbV9mcmFtZS0+ZG9j
dW1lbnQoKS0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKS0+cmVxdWVzdFJhd1Jlc291cmNlKHJlc291
cmNlUmVxdWVzdCwKLSAgICAgICAgUmVzb3VyY2VMb2FkZXJPcHRpb25zKFNlbmRDYWxsYmFja3Ms
IFNuaWZmQ29udGVudCwgQnVmZmVyRGF0YSwgRG9Ob3RBbGxvd1N0b3JlZENyZWRlbnRpYWxzLCBE
b05vdEFza0NsaWVudEZvckNyb3NzT3JpZ2luQ3JlZGVudGlhbHMsIERvU2VjdXJpdHlDaGVjaykp
OworICAgICAgICBSZXNvdXJjZUxvYWRlck9wdGlvbnMoU2VuZENhbGxiYWNrcywgU25pZmZDb250
ZW50LCBCdWZmZXJEYXRhLCBEb05vdEFsbG93U3RvcmVkQ3JlZGVudGlhbHMsIERvTm90QXNrQ2xp
ZW50Rm9yQ3Jvc3NPcmlnaW5DcmVkZW50aWFscywgRG9TZWN1cml0eUNoZWNrKSwKKyAgICAgICAg
KnRoaXMpOwogICAgIGlmIChtX3Jlc291cmNlKQogICAgICAgICBtX3Jlc291cmNlLT5hZGRDbGll
bnQodGhpcyk7CiAgICAgZWxzZQpAQCAtMTAyLDQgKzEwMywxNSBAQCB2b2lkIEljb25Mb2FkZXI6
Om5vdGlmeUZpbmlzaGVkKENhY2hlZFJlc291cmNlKiByZXNvdXJjZSkKICAgICBzdG9wTG9hZGlu
ZygpOwogfQogCitjb25zdCBXVEY6OkF0b21pY1N0cmluZyYgSWNvbkxvYWRlcjo6aW5pdGlhdG9y
TmFtZSgpIGNvbnN0Cit7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIG5h
bWUsICgiaWNvbiIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpKTsKKyAgICBy
ZXR1cm4gbmFtZTsKK30KKworRG9jdW1lbnQqIEljb25Mb2FkZXI6OmluaXRpYXRvckRvY3VtZW50
KCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9mcmFtZS0+ZG9jdW1lbnQoKTsKK30KKwogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkxvYWRlci5oIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkxvYWRlci5oCmluZGV4IDY1ZThiZDUyZjI3MDQyMTM1
YzVhYzc4MzFhNTc0ZGUyZGRlYTlkYzQuLjIwOTVjZDQyNzEyMjVmOWU1MDA4NjlmZGU4MGY5ZTVl
MmY0ZDYwZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25Mb2Fk
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uTG9hZGVyLmgKQEAgLTI4
LDYgKzI4LDcgQEAKIAogI2luY2x1ZGUgIkNhY2hlZFJhd1Jlc291cmNlLmgiCiAjaW5jbHVkZSAi
Q2FjaGVkUmVzb3VyY2VIYW5kbGUuaCIKKyNpbmNsdWRlICJMb2FkSW5pdGlhdG9yLmgiCiAjaW5j
bHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvUmVmUHRyLmg+CkBAIC0zNyw3ICszOCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IGNsYXNzIENhY2hlZFJhd1Jlc291cmNlOwogY2xhc3MgRnJhbWU7CiAKLWNsYXNzIEljb25Mb2Fk
ZXIgOiBwcml2YXRlIENhY2hlZFJhd1Jlc291cmNlQ2xpZW50IHsKK2NsYXNzIEljb25Mb2FkZXIg
OiBwcml2YXRlIENhY2hlZFJhd1Jlc291cmNlQ2xpZW50LCBwcml2YXRlIExvYWRJbml0aWF0b3Ig
ewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEljb25Mb2FkZXIpOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxJY29uTG9hZGVyPiBjcmVh
dGUoRnJhbWUqKTsKQEAgLTUwLDYgKzUxLDkgQEAgcHJpdmF0ZToKICAgICBleHBsaWNpdCBJY29u
TG9hZGVyKEZyYW1lKik7CiAgICAgdmlydHVhbCB2b2lkIG5vdGlmeUZpbmlzaGVkKENhY2hlZFJl
c291cmNlKik7CiAKKyAgICB2aXJ0dWFsIGNvbnN0IFdURjo6QXRvbWljU3RyaW5nJiBpbml0aWF0
b3JOYW1lKCkgY29uc3Q7CisgICAgdmlydHVhbCBEb2N1bWVudCogaW5pdGlhdG9yRG9jdW1lbnQo
KSBjb25zdDsKKwogICAgIEZyYW1lKiBtX2ZyYW1lOwogICAgIENhY2hlZFJlc291cmNlSGFuZGxl
PENhY2hlZFJhd1Jlc291cmNlPiBtX3Jlc291cmNlOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3Jt
YW5jZS5jcHAKaW5kZXggOTAzMzkzMDIxOWU2MDQxMTUxNGNjZGU1NmY2NmJlNmI4NTg4ZDUxOS4u
NGM0ZmJlNzczM2VkMWY0ZTA1ZmVhNzFjNmI3ODE2MmIwMDM3NGYwYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9QZXJmb3JtYW5jZS5jcHAKQEAgLTMzLDYgKzMzLDggQEAKIAogI2luY2x1ZGUgIkRvY3VtZW50
LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRMb2FkZXIuaCIKKyNpbmNsdWRlICJFbGVtZW50LmgiCisj
aW5jbHVkZSAiTG9hZEluaXRpYXRvci5oIgogI2luY2x1ZGUgIk1lbW9yeUluZm8uaCIKICNpbmNs
dWRlICJQZXJmb3JtYW5jZUVudHJ5LmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VOYXZpZ2F0aW9u
LmgiCkBAIC0xNDMsMTIgKzE0NSw5IEBAIHZvaWQgUGVyZm9ybWFuY2U6OndlYmtpdFNldFJlc291
cmNlVGltaW5nQnVmZmVyU2l6ZSh1bnNpZ25lZCBpbnQpCiAgICAgLy8gRklYTUU6IEltcGxlbWVu
dCB0aGlzLgogfQogCi12b2lkIFBlcmZvcm1hbmNlOjphZGRSZXNvdXJjZVRpbWluZyhjb25zdCBS
ZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNl
LCBkb3VibGUgZmluaXNoVGltZSwgRG9jdW1lbnQqIHJlcXVlc3RpbmdEb2N1bWVudCkKK3ZvaWQg
UGVyZm9ybWFuY2U6OmFkZFJlc291cmNlVGltaW5nKGNvbnN0IExvYWRJbml0aWF0b3ImIGluaXRp
YXRvciwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBSZXNvdXJjZVJlc3Bv
bnNlJiByZXNwb25zZSwgZG91YmxlIGZpbmlzaFRpbWUpCiB7Ci0gICAgaWYgKCFyZXNwb25zZS5y
ZXNvdXJjZUxvYWRUaW1pbmcoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgUmVmUHRyPFBlcmZv
cm1hbmNlRW50cnk+IGVudHJ5ID0gUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6Y3JlYXRlKHJl
cXVlc3QsIHJlc3BvbnNlLCBmaW5pc2hUaW1lLCByZXF1ZXN0aW5nRG9jdW1lbnQpOworICAgIFJl
ZlB0cjxQZXJmb3JtYW5jZUVudHJ5PiBlbnRyeSA9IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6
OmNyZWF0ZShpbml0aWF0b3IuaW5pdGlhdG9yTmFtZSgpLCByZXF1ZXN0LCByZXNwb25zZSwgZmlu
aXNoVGltZSwgaW5pdGlhdG9yLmluaXRpYXRvckRvY3VtZW50KCkpOwogICAgIC8vIEZJWE1FOiBO
ZWVkIHRvIGVuZm9yY2UgYnVmZmVyIGxpbWl0cy4KICAgICBtX3Jlc291cmNlVGltaW5nQnVmZmVy
LmFwcGVuZChlbnRyeSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZv
cm1hbmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmgKaW5kZXggOGJhOGM1
ZWVhOTVlZTVkNDNkOGNiZGU0NjcwZWQ5MmIyMTk2MWU2OC4uMmFjMmUyY2Q1MDI5M2U1MzIzOTVk
MmNjZWIwNTliMjJhYzBmMDlkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJm
b3JtYW5jZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuaApAQCAtNDcs
NiArNDcsOCBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBEb2N1bWVudDsKK2NsYXNz
IEVsZW1lbnQ7CitjbGFzcyBMb2FkSW5pdGlhdG9yOwogY2xhc3MgUmVzb3VyY2VSZXF1ZXN0Owog
Y2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIApAQCAtNzUsNyArNzcsNyBAQCBwdWJsaWM6CiAKICAg
ICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHdlYmtpdHJlc291cmNldGltaW5nYnVm
ZmVyZnVsbCk7CiAKLSAgICB2b2lkIGFkZFJlc291cmNlVGltaW5nKGNvbnN0IFJlc291cmNlUmVx
dWVzdCYsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmLCBkb3VibGUgZmluaXNoVGltZSwgRG9jdW1l
bnQqKTsKKyAgICB2b2lkIGFkZFJlc291cmNlVGltaW5nKGNvbnN0IExvYWRJbml0aWF0b3ImLCBj
b25zdCBSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiwgZG91YmxlIGZp
bmlzaFRpbWUpOwogI2VuZGlmCiAKICAgICB1c2luZyBSZWZDb3VudGVkPFBlcmZvcm1hbmNlPjo6
cmVmOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVJlc291cmNl
VGltaW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWlu
Zy5jcHAKaW5kZXggMDk3NmFkZDc4MDMyODgzYzNmNGE1YTE3YmZmYmVhYzZkZWY0ZGQxYy4uZjgw
NmIyMzNiZTg4ZWM1YzAzODc1ZGQ1Zjg0MjgyZmQwMGJjMDY2ZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuY3BwCkBAIC00NCw4ICs0NCw5
IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6
UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyhjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3Qs
IGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBkb3VibGUgZmluaXNoVGltZSwgRG9j
dW1lbnQqIHJlcXVlc3RpbmdEb2N1bWVudCkKLSAgICA6IFBlcmZvcm1hbmNlRW50cnkocmVxdWVz
dC51cmwoKS5zdHJpbmcoKSwgInJlc291cmNlIiwgcmVzcG9uc2UucmVzb3VyY2VMb2FkVGltaW5n
KCktPnJlcXVlc3RUaW1lLCBmaW5pc2hUaW1lKQorUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6
UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyhjb25zdCBBdG9taWNTdHJpbmcmIGluaXRpYXRvclR5
cGUsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgUmVzb3VyY2VSZXNwb25z
ZSYgcmVzcG9uc2UsIGRvdWJsZSBmaW5pc2hUaW1lLCBEb2N1bWVudCogcmVxdWVzdGluZ0RvY3Vt
ZW50KQorICAgIDogUGVyZm9ybWFuY2VFbnRyeShyZXF1ZXN0LnVybCgpLnN0cmluZygpLCAicmVz
b3VyY2UiLCByZXNwb25zZS5yZXNvdXJjZUxvYWRUaW1pbmcoKSA/IHJlc3BvbnNlLnJlc291cmNl
TG9hZFRpbWluZygpLT5yZXF1ZXN0VGltZSA6IDAsIGZpbmlzaFRpbWUpCisgICAgLCBtX2luaXRp
YXRvclR5cGUoaW5pdGlhdG9yVHlwZSkKICAgICAsIG1fdGltaW5nKHJlc3BvbnNlLnJlc291cmNl
TG9hZFRpbWluZygpKQogICAgICwgbV9maW5pc2hUaW1lKGZpbmlzaFRpbWUpCiAgICAgLCBtX3Jl
cXVlc3RpbmdEb2N1bWVudChyZXF1ZXN0aW5nRG9jdW1lbnQpCkBAIC01NiwxMCArNTcsOSBAQCBQ
ZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjp+UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZygpCiB7
CiB9CiAKLVN0cmluZyBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjppbml0aWF0b3JUeXBlKCkg
Y29uc3QKK0F0b21pY1N0cmluZyBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjppbml0aWF0b3JU
eXBlKCkgY29uc3QKIHsKLSAgICAvLyBGSVhNRTogVGhpcyBzaG91bGQgYmUgZGVjaWRlZCBieSB0
aGUgcmVzb3VyY2UgdHlwZS4KLSAgICByZXR1cm4gIm90aGVyIjsKKyAgICByZXR1cm4gbV9pbml0
aWF0b3JUeXBlOwogfQogCiAvLyBGSVhNRTogTmVlZCB0byBlbmZvcmNlIHNhbWUtb3JpZ2luIHBv
bGljeSBvbiB0aGVzZS4KQEAgLTc3LDExICs3NywxNSBAQCBkb3VibGUgUGVyZm9ybWFuY2VSZXNv
dXJjZVRpbWluZzo6cmVkaXJlY3RFbmQoKSBjb25zdAogCiBkb3VibGUgUGVyZm9ybWFuY2VSZXNv
dXJjZVRpbWluZzo6ZmV0Y2hTdGFydCgpIGNvbnN0CiB7CisgICAgaWYgKCFtX3RpbWluZykKKyAg
ICAgICAgcmV0dXJuIDAuMDsKICAgICByZXR1cm4gbW9ub3RvbmljVGltZVRvRG9jdW1lbnRNaWxs
aXNlY29uZHMobV90aW1pbmctPnJlcXVlc3RUaW1lKTsKIH0KIAogZG91YmxlIFBlcmZvcm1hbmNl
UmVzb3VyY2VUaW1pbmc6OmRvbWFpbkxvb2t1cFN0YXJ0KCkgY29uc3QKIHsKKyAgICBpZiAoIW1f
dGltaW5nKQorICAgICAgICByZXR1cm4gMC4wOwogICAgIGlmIChtX3RpbWluZy0+ZG5zU3RhcnQg
PCAwKQogICAgICAgICByZXR1cm4gZmV0Y2hTdGFydCgpOwogCkBAIC05MCw2ICs5NCw4IEBAIGRv
dWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpkb21haW5Mb29rdXBTdGFydCgpIGNvbnN0
CiAKIGRvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpkb21haW5Mb29rdXBFbmQoKSBj
b25zdAogeworICAgIGlmICghbV90aW1pbmcpCisgICAgICAgIHJldHVybiAwLjA7CiAgICAgaWYg
KG1fdGltaW5nLT5kbnNFbmQgPCAwKQogICAgICAgICByZXR1cm4gZG9tYWluTG9va3VwU3RhcnQo
KTsKIApAQCAtOTgsNiArMTA0LDggQEAgZG91YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6
OmRvbWFpbkxvb2t1cEVuZCgpIGNvbnN0CiAKIGRvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGlt
aW5nOjpjb25uZWN0U3RhcnQoKSBjb25zdAogeworICAgIGlmICghbV90aW1pbmcpCisgICAgICAg
IHJldHVybiAwLjA7CiAgICAgaWYgKG1fdGltaW5nLT5jb25uZWN0U3RhcnQgPCAwKSAvLyBDb25u
ZWN0aW9uIHdhcyByZXVzZWQuCiAgICAgICAgIHJldHVybiBkb21haW5Mb29rdXBFbmQoKTsKIApA
QCAtMTExLDYgKzExOSw4IEBAIGRvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpjb25u
ZWN0U3RhcnQoKSBjb25zdAogCiBkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6Y29u
bmVjdEVuZCgpIGNvbnN0CiB7CisgICAgaWYgKCFtX3RpbWluZykKKyAgICAgICAgcmV0dXJuIDAu
MDsKICAgICBpZiAobV90aW1pbmctPmNvbm5lY3RFbmQgPCAwKSAvLyBDb25uZWN0aW9uIHdhcyBy
ZXVzZWQuCiAgICAgICAgIHJldHVybiBjb25uZWN0U3RhcnQoKTsKIApAQCAtMTE5LDYgKzEyOSw4
IEBAIGRvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpjb25uZWN0RW5kKCkgY29uc3QK
IAogZG91YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnNlY3VyZUNvbm5lY3Rpb25TdGFy
dCgpIGNvbnN0CiB7CisgICAgaWYgKCFtX3RpbWluZykKKyAgICAgICAgcmV0dXJuIDAuMDsKICAg
ICBpZiAobV90aW1pbmctPnNzbFN0YXJ0IDwgMCkgLy8gU2VjdXJlIGNvbm5lY3Rpb24gbm90IG5l
Z290aWF0ZWQuCiAgICAgICAgIHJldHVybiAwOwogCkBAIC0xMjcsMjggKzEzOSwzOCBAQCBkb3Vi
bGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6c2VjdXJlQ29ubmVjdGlvblN0YXJ0KCkgY29u
c3QKIAogZG91YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnJlcXVlc3RTdGFydCgpIGNv
bnN0CiB7CisgICAgaWYgKCFtX3RpbWluZykKKyAgICAgICAgcmV0dXJuIDAuMDsKICAgICByZXR1
cm4gcmVzb3VyY2VUaW1lVG9Eb2N1bWVudE1pbGxpc2Vjb25kcyhtX3RpbWluZy0+c2VuZFN0YXJ0
KTsKIH0KIAogZG91YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnJlc3BvbnNlU3RhcnQo
KSBjb25zdAogeworICAgIGlmICghbV90aW1pbmcpCisgICAgICAgIHJldHVybiAwLjA7CiAgICAg
Ly8gRklYTUU6IFRoaXMgbnVtYmVyIGlzbid0IGV4YWN0bHkgY29ycmVjdC4gU2VlIHRoZSBub3Rl
cyBpbiBQZXJmb3JtYW5jZVRpbWluZzo6cmVzcG9uc2VTdGFydCgpLgogICAgIHJldHVybiByZXNv
dXJjZVRpbWVUb0RvY3VtZW50TWlsbGlzZWNvbmRzKG1fdGltaW5nLT5yZWNlaXZlSGVhZGVyc0Vu
ZCk7CiB9CiAKIGRvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpyZXNwb25zZUVuZCgp
IGNvbnN0CiB7CisgICAgaWYgKCFtX3RpbWluZykKKyAgICAgICAgcmV0dXJuIDAuMDsKICAgICBy
ZXR1cm4gbW9ub3RvbmljVGltZVRvRG9jdW1lbnRNaWxsaXNlY29uZHMobV9maW5pc2hUaW1lKTsK
IH0KIAogZG91YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6Om1vbm90b25pY1RpbWVUb0Rv
Y3VtZW50TWlsbGlzZWNvbmRzKGRvdWJsZSBzZWNvbmRzKSBjb25zdAogewogICAgIEFTU0VSVChz
ZWNvbmRzID49IDAuMCk7CisgICAgaWYgKCFzZWNvbmRzKQorICAgICAgICByZXR1cm4gMC4wOwog
ICAgIHJldHVybiBtX3JlcXVlc3RpbmdEb2N1bWVudC0+bG9hZGVyKCktPnRpbWluZygpLT5jb252
ZXJ0TW9ub3RvbmljVGltZVRvRG9jdW1lbnRUaW1lKHNlY29uZHMpICogMTAwMC4wOwogfQogCiBk
b3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6cmVzb3VyY2VUaW1lVG9Eb2N1bWVudE1p
bGxpc2Vjb25kcyhpbnQgZGVsdGFNaWxsaXNlY29uZHMpIGNvbnN0CiB7CisgICAgaWYgKCFkZWx0
YU1pbGxpc2Vjb25kcykKKyAgICAgICAgcmV0dXJuIDAuMDsKICAgICByZXR1cm4gbW9ub3Rvbmlj
VGltZVRvRG9jdW1lbnRNaWxsaXNlY29uZHMobV90aW1pbmctPnJlcXVlc3RUaW1lKSArIGRlbHRh
TWlsbGlzZWNvbmRzOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZv
cm1hbmNlUmVzb3VyY2VUaW1pbmcuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VS
ZXNvdXJjZVRpbWluZy5oCmluZGV4IDA4MmI4OTI1MTQ5NjI5ZTg4ZDNkNzFhYTY4YmIxMWI3NTI2
NjBhOTIuLjU4MWUxOTY0YjQxNmY2Y2FlMTY4ZjdjOGYxZmJjMTNiOTQ1ODBmMGUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oCkBAIC00OCwx
MiArNDgsMTIgQEAgY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIAogY2xhc3MgUGVyZm9ybWFuY2VS
ZXNvdXJjZVRpbWluZyA6IHB1YmxpYyBQZXJmb3JtYW5jZUVudHJ5IHsKIHB1YmxpYzoKLSAgICBz
dGF0aWMgUGFzc1JlZlB0cjxQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nPiBjcmVhdGUoY29uc3Qg
UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25z
ZSwgZG91YmxlIGZpbmlzaFRpbWUsIERvY3VtZW50KiByZXF1ZXN0aW5nRG9jdW1lbnQpCisgICAg
c3RhdGljIFBhc3NSZWZQdHI8UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZz4gY3JlYXRlKGNvbnN0
IEF0b21pY1N0cmluZyYgaW5pdGlhdG9yVHlwZSwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1
ZXN0LCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwgZG91YmxlIGZpbmlzaFRpbWUs
IERvY3VtZW50KiByZXF1ZXN0aW5nRG9jdW1lbnQpCiAgICAgewotICAgICAgICByZXR1cm4gYWRv
cHRSZWYobmV3IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcocmVxdWVzdCwgcmVzcG9uc2UsIGZp
bmlzaFRpbWUsIHJlcXVlc3RpbmdEb2N1bWVudCkpOworICAgICAgICByZXR1cm4gYWRvcHRSZWYo
bmV3IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcoaW5pdGlhdG9yVHlwZSwgcmVxdWVzdCwgcmVz
cG9uc2UsIGZpbmlzaFRpbWUsIHJlcXVlc3RpbmdEb2N1bWVudCkpOwogICAgIH0KIAotICAgIFN0
cmluZyBpbml0aWF0b3JUeXBlKCkgY29uc3Q7CisgICAgQXRvbWljU3RyaW5nIGluaXRpYXRvclR5
cGUoKSBjb25zdDsKIAogICAgIGRvdWJsZSByZWRpcmVjdFN0YXJ0KCkgY29uc3Q7CiAgICAgZG91
YmxlIHJlZGlyZWN0RW5kKCkgY29uc3Q7CkBAIC03MCwxMiArNzAsMTMgQEAgcHVibGljOgogICAg
IHZpcnR1YWwgYm9vbCBpc1Jlc291cmNlKCkgeyByZXR1cm4gdHJ1ZTsgfQogCiBwcml2YXRlOgot
ICAgIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgY29u
c3QgUmVzb3VyY2VSZXNwb25zZSYsIGRvdWJsZSBmaW5pc2hUaW1lLCBEb2N1bWVudCopOworICAg
IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcoY29uc3QgQXRvbWljU3RyaW5nJiBpbml0YXRvclR5
cGUsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmLCBkb3Vi
bGUgZmluaXNoVGltZSwgRG9jdW1lbnQqKTsKICAgICB+UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWlu
ZygpOwogCiAgICAgZG91YmxlIG1vbm90b25pY1RpbWVUb0RvY3VtZW50TWlsbGlzZWNvbmRzKGRv
dWJsZSBzZWNvbmRzKSBjb25zdDsKICAgICBkb3VibGUgcmVzb3VyY2VUaW1lVG9Eb2N1bWVudE1p
bGxpc2Vjb25kcyhpbnQgZGVsdGFNaWxsaXNlY29uZHMpIGNvbnN0OwogCisgICAgQXRvbWljU3Ry
aW5nIG1faW5pdGlhdG9yVHlwZTsKICAgICBSZWZQdHI8UmVzb3VyY2VMb2FkVGltaW5nPiBtX3Rp
bWluZzsKICAgICBkb3VibGUgbV9maW5pc2hUaW1lOwogICAgIFJlZlB0cjxEb2N1bWVudD4gbV9y
ZXF1ZXN0aW5nRG9jdW1lbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVJ
bWFnZUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFSW1hZ2VFbGVtZW50LmNw
cAppbmRleCA3NjM1NzM4ZmRlMTg0ZDFlMWRmNDhlYjZmYjM2YWVjYWEyMzVkNWZiLi41ZDc1OWVj
MjBkY2Q1ZjlkNzRkZTk2MjlkNWUxZWNiN2E2NzdjYWM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHRkVJbWFnZUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdGRUltYWdlRWxlbWVudC5jcHAKQEAgLTgxLDcgKzgxLDcgQEAgdm9pZCBTVkdGRUltYWdlRWxl
bWVudDo6Y2xlYXJSZXNvdXJjZVJlZmVyZW5jZXMoKQogdm9pZCBTVkdGRUltYWdlRWxlbWVudDo6
cmVxdWVzdEltYWdlUmVzb3VyY2UoKQogewogICAgIFJlc291cmNlUmVxdWVzdCByZXF1ZXN0KG93
bmVyRG9jdW1lbnQoKS0+Y29tcGxldGVVUkwoaHJlZigpKSk7Ci0gICAgbV9jYWNoZWRJbWFnZSA9
IGRvY3VtZW50KCktPmNhY2hlZFJlc291cmNlTG9hZGVyKCktPnJlcXVlc3RJbWFnZShyZXF1ZXN0
KTsKKyAgICBtX2NhY2hlZEltYWdlID0gZG9jdW1lbnQoKS0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIo
KS0+cmVxdWVzdEltYWdlKHJlcXVlc3QsICp0aGlzKTsKIAogICAgIGlmIChtX2NhY2hlZEltYWdl
KQogICAgICAgICBtX2NhY2hlZEltYWdlLT5hZGRDbGllbnQodGhpcyk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udEZhY2VVcmlFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdGb250RmFjZVVyaUVsZW1lbnQuY3BwCmluZGV4IGY2MTA1Mzc3MmI2MjJmYWZl
OTQ3NTBlMDk5MzQ4ZTY3NzBiN2U4MDcuLjFiYWQwYmQ0NjQzNTc4YjAzM2FhNGQ4NzM1ZGUzNDk2
OTQwOGI5MDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RmFjZVVyaUVs
ZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RmFjZVVyaUVsZW1lbnQu
Y3BwCkBAIC05Nyw3ICs5Nyw3IEBAIHZvaWQgU1ZHRm9udEZhY2VVcmlFbGVtZW50Ojpsb2FkRm9u
dCgpCiAgICAgaWYgKCFocmVmLmlzTnVsbCgpKSB7CiAgICAgICAgIENhY2hlZFJlc291cmNlTG9h
ZGVyKiBjYWNoZWRSZXNvdXJjZUxvYWRlciA9IGRvY3VtZW50KCktPmNhY2hlZFJlc291cmNlTG9h
ZGVyKCk7CiAgICAgICAgIFJlc291cmNlUmVxdWVzdCByZXF1ZXN0KGRvY3VtZW50KCktPmNvbXBs
ZXRlVVJMKGhyZWYpKTsKLSAgICAgICAgbV9jYWNoZWRGb250ID0gY2FjaGVkUmVzb3VyY2VMb2Fk
ZXItPnJlcXVlc3RGb250KHJlcXVlc3QpOworICAgICAgICBtX2NhY2hlZEZvbnQgPSBjYWNoZWRS
ZXNvdXJjZUxvYWRlci0+cmVxdWVzdEZvbnQocmVxdWVzdCwgKnRoaXMpOwogICAgICAgICBpZiAo
bV9jYWNoZWRGb250KSB7CiAgICAgICAgICAgICBtX2NhY2hlZEZvbnQtPmFkZENsaWVudCh0aGlz
KTsKICAgICAgICAgICAgIG1fY2FjaGVkRm9udC0+YmVnaW5Mb2FkSWZOZWVkZWQoY2FjaGVkUmVz
b3VyY2VMb2FkZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1VzZUVsZW1l
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1VzZUVsZW1lbnQuY3BwCmluZGV4IGQxOWVh
MTk1ZGYyMGEyZWY2MzlmNmExZTk5YTIwYjI1ODJiOTUwZTEuLjNmYTgxZmMwYmI0NGY1MmM3MDMz
OGE1ZTZiYTFkMTlkOWFjY2MxMmMgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdV
c2VFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVXNlRWxlbWVudC5jcHAK
QEAgLTI1NSw3ICsyNTUsNyBAQCB2b2lkIFNWR1VzZUVsZW1lbnQ6OnN2Z0F0dHJpYnV0ZUNoYW5n
ZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0ck5hbWUpCiAgICAgICAgICAgICBLVVJMIHVybCA9
IGRvY3VtZW50KCktPmNvbXBsZXRlVVJMKGhyZWYoKSk7CiAgICAgICAgICAgICBpZiAodXJsLmhh
c0ZyYWdtZW50SWRlbnRpZmllcigpKSB7CiAgICAgICAgICAgICAgICAgUmVzb3VyY2VSZXF1ZXN0
IHJlcXVlc3QodXJsLnN0cmluZygpKTsKLSAgICAgICAgICAgICAgICBtX2NhY2hlZERvY3VtZW50
ID0gZG9jdW1lbnQoKS0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKS0+cmVxdWVzdFNWR0RvY3VtZW50
KHJlcXVlc3QpOworICAgICAgICAgICAgICAgIG1fY2FjaGVkRG9jdW1lbnQgPSBkb2N1bWVudCgp
LT5jYWNoZWRSZXNvdXJjZUxvYWRlcigpLT5yZXF1ZXN0U1ZHRG9jdW1lbnQocmVxdWVzdCwgKnRo
aXMpOwogICAgICAgICAgICAgICAgIGlmIChtX2NhY2hlZERvY3VtZW50KQogICAgICAgICAgICAg
ICAgICAgICBtX2NhY2hlZERvY3VtZW50LT5hZGRDbGllbnQodGhpcyk7CiAgICAgICAgICAgICB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwIGIvU291
cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcAppbmRleCAwOTdiYzQ0MjdmMGQwYzRj
NjUxMjBhM2I3OWFhZmJmZGIzNGY0NGM4Li41NTdjYzRlMTI0ZGU4MjIzZTFkOWFmYTE3NmMzN2Ix
YThlODY2MmFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3Qu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAKQEAgLTc1Myw3
ICs3NTMsNyBAQCB2b2lkIFhNTEh0dHBSZXF1ZXN0OjpjcmVhdGVSZXF1ZXN0KEV4Y2VwdGlvbkNv
ZGUmIGVjKQogICAgICAgICAvLyBUaGlzIGlzIHRydWUgd2hpbGUgcnVubmluZyBvbnVubG9hZCBo
YW5kbGVycy4KICAgICAgICAgLy8gRklYTUU6IE1heWJlIHdlIG5lZWQgdG8gYmUgYWJsZSB0byBz
ZW5kIFhNTEh0dHBSZXF1ZXN0cyBmcm9tIG9udW5sb2FkLCA8aHR0cDovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTA5MDQ+LgogICAgICAgICAvLyBGSVhNRTogTWF5YmUgY3JlYXRl
KCkgY2FuIHJldHVybiBudWxsIGZvciBvdGhlciByZWFzb25zIHRvbz8KLSAgICAgICAgbV9sb2Fk
ZXIgPSBUaHJlYWRhYmxlTG9hZGVyOjpjcmVhdGUoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCB0
aGlzLCByZXF1ZXN0LCBvcHRpb25zKTsKKyAgICAgICAgbV9sb2FkZXIgPSBUaHJlYWRhYmxlTG9h
ZGVyOjpjcmVhdGUoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCB0aGlzLCByZXF1ZXN0LCBvcHRp
b25zLCAqdGhpcyk7CiAgICAgICAgIGlmIChtX2xvYWRlcikgewogICAgICAgICAgICAgLy8gTmVp
dGhlciB0aGlzIG9iamVjdCBub3IgdGhlIEphdmFTY3JpcHQgd3JhcHBlciBzaG91bGQgYmUgZGVs
ZXRlZCB3aGlsZQogICAgICAgICAgICAgLy8gYSByZXF1ZXN0IGlzIGluIHByb2dyZXNzIGJlY2F1
c2Ugd2UgbmVlZCB0byBrZWVwIHRoZSBsaXN0ZW5lcnMgYWxpdmUsCkBAIC03NjIsNyArNzYyLDcg
QEAgdm9pZCBYTUxIdHRwUmVxdWVzdDo6Y3JlYXRlUmVxdWVzdChFeGNlcHRpb25Db2RlJiBlYykK
ICAgICAgICAgfQogICAgIH0gZWxzZSB7CiAgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlv
bjo6d2lsbExvYWRYSFJTeW5jaHJvbm91c2x5KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7Ci0g
ICAgICAgIFRocmVhZGFibGVMb2FkZXI6OmxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoc2NyaXB0
RXhlY3V0aW9uQ29udGV4dCgpLCByZXF1ZXN0LCAqdGhpcywgb3B0aW9ucyk7CisgICAgICAgIFRo
cmVhZGFibGVMb2FkZXI6OmxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoc2NyaXB0RXhlY3V0aW9u
Q29udGV4dCgpLCByZXF1ZXN0LCAqdGhpcywgb3B0aW9ucywgKnRoaXMpOwogICAgICAgICBJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZExvYWRYSFJTeW5jaHJvbm91c2x5KHNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQoKSk7CiAgICAgfQogCkBAIC05ODUsNyArOTg1LDcgQEAgU3RyaW5nIFhNTEh0
dHBSZXF1ZXN0OjpnZXRSZXNwb25zZUhlYWRlcihjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUsIEV4
Y2VwdGlvbkNvZGUKICAgICAgICAgbG9nQ29uc29sZUVycm9yKHNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQoKSwgIlJlZnVzZWQgdG8gZ2V0IHVuc2FmZSBoZWFkZXIgXCIiICsgbmFtZSArICJcIiIpOwog
ICAgICAgICByZXR1cm4gU3RyaW5nKCk7CiAgICAgfQotICAgIAorCiAgICAgSFRUUEhlYWRlclNl
dCBhY2Nlc3NDb250cm9sRXhwb3NlSGVhZGVyU2V0OwogICAgIHBhcnNlQWNjZXNzQ29udHJvbEV4
cG9zZUhlYWRlcnNBbGxvd0xpc3QobV9yZXNwb25zZS5odHRwSGVhZGVyRmllbGQoIkFjY2Vzcy1D
b250cm9sLUV4cG9zZS1IZWFkZXJzIiksIGFjY2Vzc0NvbnRyb2xFeHBvc2VIZWFkZXJTZXQpOwog
CkBAIC0xMjI0LDQgKzEyMjQsMTAgQEAgRXZlbnRUYXJnZXREYXRhKiBYTUxIdHRwUmVxdWVzdDo6
ZW5zdXJlRXZlbnRUYXJnZXREYXRhKCkKICAgICByZXR1cm4gJm1fZXZlbnRUYXJnZXREYXRhOwog
fQogCitjb25zdCBBdG9taWNTdHJpbmcmIFhNTEh0dHBSZXF1ZXN0Ojppbml0aWF0b3JOYW1lKCkg
Y29uc3QKK3sKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEF0b21pY1N0cmluZywgbmFtZSwgKCJ4
bWxodHRwcmVxdWVzdCIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpKTsKKyAg
ICByZXR1cm4gbmFtZTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmggYi9Tb3VyY2UvV2ViQ29yZS94bWwv
WE1MSHR0cFJlcXVlc3QuaAppbmRleCBjYzZjYmM1MGMzNjAxNjUwODllMjY1OTk3NWNkMTBkMzEx
MjJlZjVkLi45ZGU4MmFhNDYxMWJkMmQzZjNlNjE5MmQxYzBhOTg5NzlhYTMwOThiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS94bWwvWE1MSHR0cFJlcXVlc3QuaApAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgIkV2
ZW50TmFtZXMuaCIKICNpbmNsdWRlICJFdmVudFRhcmdldC5oIgogI2luY2x1ZGUgIkZvcm1EYXRh
LmgiCisjaW5jbHVkZSAiTG9hZEluaXRpYXRvci5oIgogI2luY2x1ZGUgIlJlc291cmNlUmVzcG9u
c2UuaCIKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgogI2luY2x1ZGUgIlRocmVhZGFibGVM
b2FkZXJDbGllbnQuaCIKQEAgLTQ1LDcgKzQ2LDcgQEAgY2xhc3MgU2hhcmVkQnVmZmVyOwogY2xh
c3MgVGV4dFJlc291cmNlRGVjb2RlcjsKIGNsYXNzIFRocmVhZGFibGVMb2FkZXI7CiAKLWNsYXNz
IFhNTEh0dHBSZXF1ZXN0IDogcHVibGljIFJlZkNvdW50ZWQ8WE1MSHR0cFJlcXVlc3Q+LCBwdWJs
aWMgRXZlbnRUYXJnZXQsIHByaXZhdGUgVGhyZWFkYWJsZUxvYWRlckNsaWVudCwgcHVibGljIEFj
dGl2ZURPTU9iamVjdCB7CitjbGFzcyBYTUxIdHRwUmVxdWVzdCA6IHB1YmxpYyBSZWZDb3VudGVk
PFhNTEh0dHBSZXF1ZXN0PiwgcHVibGljIEV2ZW50VGFyZ2V0LCBwcml2YXRlIFRocmVhZGFibGVM
b2FkZXJDbGllbnQsIHB1YmxpYyBBY3RpdmVET01PYmplY3QsIHByaXZhdGUgTG9hZEluaXRpYXRv
ciB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBh
c3NSZWZQdHI8WE1MSHR0cFJlcXVlc3Q+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0Kiwg
UGFzc1JlZlB0cjxTZWN1cml0eU9yaWdpbj4gPSAwKTsKQEAgLTU5LDEwICs2MCwxMCBAQCBwdWJs
aWM6CiAgICAgICAgIExPQURJTkcgPSAzLAogICAgICAgICBET05FID0gNAogICAgIH07Ci0gICAg
CisKICAgICBlbnVtIFJlc3BvbnNlVHlwZUNvZGUgewogICAgICAgICBSZXNwb25zZVR5cGVEZWZh
dWx0LAotICAgICAgICBSZXNwb25zZVR5cGVUZXh0LCAKKyAgICAgICAgUmVzcG9uc2VUeXBlVGV4
dCwKICAgICAgICAgUmVzcG9uc2VUeXBlRG9jdW1lbnQsCiAgICAgICAgIFJlc3BvbnNlVHlwZUJs
b2IsCiAgICAgICAgIFJlc3BvbnNlVHlwZUFycmF5QnVmZmVyCkBAIC0xODIsNiArMTgzLDkgQEAg
cHJpdmF0ZToKICAgICB2b2lkIG5ldHdvcmtFcnJvcigpOwogICAgIHZvaWQgYWJvcnRFcnJvcigp
OwogCisgICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIGluaXRpYXRvck5hbWUoKSBjb25z
dDsKKyAgICB2aXJ0dWFsIERvY3VtZW50KiBpbml0aWF0b3JEb2N1bWVudCgpIGNvbnN0IHsgcmV0
dXJuIGRvY3VtZW50KCk7IH0KKwogICAgIE93blB0cjxYTUxIdHRwUmVxdWVzdFVwbG9hZD4gbV91
cGxvYWQ7CiAKICAgICBLVVJMIG1fdXJsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1s
L1hTTEltcG9ydFJ1bGUuY3BwIGIvU291cmNlL1dlYkNvcmUveG1sL1hTTEltcG9ydFJ1bGUuY3Bw
CmluZGV4IDBhMTc3MGQwMzQ1YThhMWZjODNkN2I3ZmIyZDQ0MmQyYmEzOWViMWYuLjc5ZTM2ZGM1
NDA4NTdjZjc2ZDUwMzRlNWZmZjFkZWY3ZWE3NzBmZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3htbC9YU0xJbXBvcnRSdWxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFNMSW1w
b3J0UnVsZS5jcHAKQEAgLTQzLDcgKzQzLDcgQEAgWFNMSW1wb3J0UnVsZTo6flhTTEltcG9ydFJ1
bGUoKQogewogICAgIGlmIChtX3N0eWxlU2hlZXQpCiAgICAgICAgIG1fc3R5bGVTaGVldC0+c2V0
UGFyZW50U3R5bGVTaGVldCgwKTsKLSAgICAKKwogICAgIGlmIChtX2NhY2hlZFNoZWV0KQogICAg
ICAgICBtX2NhY2hlZFNoZWV0LT5yZW1vdmVDbGllbnQodGhpcyk7CiB9CkBAIC02MSw3ICs2MSw3
IEBAIHZvaWQgWFNMSW1wb3J0UnVsZTo6c2V0WFNMU3R5bGVTaGVldChjb25zdCBTdHJpbmcmIGhy
ZWYsIGNvbnN0IEtVUkwmIGJhc2VVUkwsIGNvCiAKICAgICBtX3N0eWxlU2hlZXQtPnBhcnNlU3Ry
aW5nKHNoZWV0KTsKICAgICBtX2xvYWRpbmcgPSBmYWxzZTsKLSAgICAKKwogICAgIGlmIChwYXJl
bnQpCiAgICAgICAgIHBhcmVudC0+Y2hlY2tMb2FkZWQoKTsKIH0KQEAgLTg0LDI2ICs4NCwyNiBA
QCB2b2lkIFhTTEltcG9ydFJ1bGU6OmxvYWRTaGVldCgpCiAKICAgICBpZiAocm9vdFNoZWV0KQog
ICAgICAgICBjYWNoZWRSZXNvdXJjZUxvYWRlciA9IHJvb3RTaGVldC0+Y2FjaGVkUmVzb3VyY2VM
b2FkZXIoKTsKLSAgICAKKwogICAgIFN0cmluZyBhYnNIcmVmID0gbV9zdHJIcmVmOwogICAgIFhT
TFN0eWxlU2hlZXQqIHBhcmVudFNoZWV0ID0gcGFyZW50U3R5bGVTaGVldCgpOwogICAgIGlmICgh
cGFyZW50U2hlZXQtPmJhc2VVUkwoKS5pc051bGwoKSkKICAgICAgICAgLy8gdXNlIHBhcmVudCBz
dHlsZWhlZXQncyBVUkwgYXMgdGhlIGJhc2UgVVJMCiAgICAgICAgIGFic0hyZWYgPSBLVVJMKHBh
cmVudFNoZWV0LT5iYXNlVVJMKCksIG1fc3RySHJlZikuc3RyaW5nKCk7Ci0gICAgCisKICAgICAv
LyBDaGVjayBmb3IgYSBjeWNsZSBpbiBvdXIgaW1wb3J0IGNoYWluLiAgSWYgd2UgZW5jb3VudGVy
IGEgc3R5bGVzaGVldAogICAgIC8vIGluIG91ciBwYXJlbnQgY2hhaW4gd2l0aCB0aGUgc2FtZSBV
UkwsIHRoZW4ganVzdCBiYWlsLgogICAgIGZvciAoWFNMU3R5bGVTaGVldCogcGFyZW50U2hlZXQg
PSBwYXJlbnRTdHlsZVNoZWV0KCk7IHBhcmVudFNoZWV0OyBwYXJlbnRTaGVldCA9IHBhcmVudFNo
ZWV0LT5wYXJlbnRTdHlsZVNoZWV0KCkpIHsKICAgICAgICAgaWYgKGFic0hyZWYgPT0gcGFyZW50
U2hlZXQtPmJhc2VVUkwoKS5zdHJpbmcoKSkKICAgICAgICAgICAgIHJldHVybjsKICAgICB9Ci0g
ICAgCisKICAgICBSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdChjYWNoZWRSZXNvdXJjZUxvYWRlci0+
ZG9jdW1lbnQoKS0+Y29tcGxldGVVUkwoYWJzSHJlZikpOwotICAgIG1fY2FjaGVkU2hlZXQgPSBj
YWNoZWRSZXNvdXJjZUxvYWRlci0+cmVxdWVzdFhTTFN0eWxlU2hlZXQocmVxdWVzdCk7Ci0gICAg
CisgICAgbV9jYWNoZWRTaGVldCA9IGNhY2hlZFJlc291cmNlTG9hZGVyLT5yZXF1ZXN0WFNMU3R5
bGVTaGVldChyZXF1ZXN0LCAqdGhpcyk7CisKICAgICBpZiAobV9jYWNoZWRTaGVldCkgewogICAg
ICAgICBtX2NhY2hlZFNoZWV0LT5hZGRDbGllbnQodGhpcyk7Ci0gICAgICAgIAorCiAgICAgICAg
IC8vIElmIHRoZSBpbXBvcnRlZCBzaGVldCBpcyBpbiB0aGUgY2FjaGUsIHRoZW4gc2V0WFNMU3R5
bGVTaGVldCBnZXRzIGNhbGxlZCwKICAgICAgICAgLy8gYW5kIHRoZSBzaGVldCBldmVuIGdldHMg
cGFyc2VkICh2aWEgcGFyc2VTdHJpbmcpLiAgSW4gdGhpcyBjYXNlIHdlIGhhdmUKICAgICAgICAg
Ly8gbG9hZGVkIChldmVuIGlmIG91ciBzdWJyZXNvdXJjZXMgaGF2ZW4ndCksIHNvIGlmIHdlIGhh
dmUgYSBzdHlsZXNoZWV0IGFmdGVyCkBAIC0xMTMsNiArMTEzLDEyIEBAIHZvaWQgWFNMSW1wb3J0
UnVsZTo6bG9hZFNoZWV0KCkKICAgICB9CiB9CiAKK2NvbnN0IFdURjo6QXRvbWljU3RyaW5nJiBY
U0xJbXBvcnRSdWxlOjppbml0aWF0b3JOYW1lKCkgY29uc3QKK3sKKyAgICBERUZJTkVfU1RBVElD
X0xPQ0FMKEF0b21pY1N0cmluZywgbmFtZSwgKCJ4c2wiLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVj
dEZyb21MaXRlcmFsKSk7CisgICAgcmV0dXJuIG5hbWU7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShYU0xUKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUveG1sL1hTTEltcG9ydFJ1bGUuaCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YU0xJbXBvcnRSdWxl
LmgKaW5kZXggMzUwY2RkOWIxNjUzNGI2MTdmMDYyNzYyOTNjNDc0MGUyY2Y2YjE5ZS4uMGUyNGU5
MjlkN2VlYzk2ZDU3YmY1NjZlMzY3ZTE5ZTBhYTdmMWFiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUveG1sL1hTTEltcG9ydFJ1bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFNMSW1w
b3J0UnVsZS5oCkBAIC0yNyw2ICsyNyw3IEBACiAKICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUhh
bmRsZS5oIgogI2luY2x1ZGUgIkNhY2hlZFN0eWxlU2hlZXRDbGllbnQuaCIKKyNpbmNsdWRlICJM
b2FkSW5pdGlhdG9yLmgiCiAjaW5jbHVkZSAiWFNMU3R5bGVTaGVldC5oIgogI2luY2x1ZGUgPHd0
Zi9QYXNzT3duUHRyLmg+CiAKQEAgLTM0LDcgKzM1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBjbGFzcyBDYWNoZWRYU0xTdHlsZVNoZWV0OwogCi1jbGFzcyBYU0xJbXBvcnRSdWxlIDogcHJp
dmF0ZSBDYWNoZWRTdHlsZVNoZWV0Q2xpZW50IHsKK2NsYXNzIFhTTEltcG9ydFJ1bGUgOiBwcml2
YXRlIENhY2hlZFN0eWxlU2hlZXRDbGllbnQsIHByaXZhdGUgTG9hZEluaXRpYXRvciB7CiAgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8
WFNMSW1wb3J0UnVsZT4gY3JlYXRlKFhTTFN0eWxlU2hlZXQqIHBhcmVudFNoZWV0LCBjb25zdCBT
dHJpbmcmIGhyZWYpCkBAIC00Myw3ICs0NCw3IEBAIHB1YmxpYzoKICAgICB9CiAKICAgICB2aXJ0
dWFsIH5YU0xJbXBvcnRSdWxlKCk7Ci0gICAgCisKICAgICBjb25zdCBTdHJpbmcmIGhyZWYoKSBj
b25zdCB7IHJldHVybiBtX3N0ckhyZWY7IH0KICAgICBYU0xTdHlsZVNoZWV0KiBzdHlsZVNoZWV0
KCkgY29uc3QgeyByZXR1cm4gbV9zdHlsZVNoZWV0LmdldCgpOyB9CiAKQEAgLTUyLDEyICs1Mywx
NSBAQCBwdWJsaWM6CiAKICAgICBib29sIGlzTG9hZGluZygpOwogICAgIHZvaWQgbG9hZFNoZWV0
KCk7Ci0gICAgCisKIHByaXZhdGU6CiAgICAgWFNMSW1wb3J0UnVsZShYU0xTdHlsZVNoZWV0KiBw
YXJlbnRTaGVldCwgY29uc3QgU3RyaW5nJiBocmVmKTsKIAogICAgIHZpcnR1YWwgdm9pZCBzZXRY
U0xTdHlsZVNoZWV0KGNvbnN0IFN0cmluZyYgaHJlZiwgY29uc3QgS1VSTCYgYmFzZVVSTCwgY29u
c3QgU3RyaW5nJiBzaGVldCk7Ci0gICAgCisKKyAgICB2aXJ0dWFsIGNvbnN0IFdURjo6QXRvbWlj
U3RyaW5nJiBpbml0aWF0b3JOYW1lKCkgY29uc3Q7CisgICAgdmlydHVhbCBEb2N1bWVudCogaW5p
dGlhdG9yRG9jdW1lbnQoKSBjb25zdCB7IHJldHVybiBtX3BhcmVudFN0eWxlU2hlZXQtPm93bmVy
RG9jdW1lbnQoKTsgfQorCiAgICAgWFNMU3R5bGVTaGVldCogbV9wYXJlbnRTdHlsZVNoZWV0Owog
ICAgIFN0cmluZyBtX3N0ckhyZWY7CiAgICAgUmVmUHRyPFhTTFN0eWxlU2hlZXQ+IG1fc3R5bGVT
aGVldDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwppbmRleCA1MzM2YmUwYjBjN2YyYzcxZjgzMzljMDViMTJjMzliZjFlMzM1NjRjLi40
MGM2OTQ5NzExZDczZGQzZThiMWExNTY5NzQ4NDM1OGNlZWFlMjNhIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MzggQEAKKzIwMTItMTAtMDEgIEphbWVzIFNpbW9uc2VuICA8c2ltb25qYW1AY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIFtSZXNvdXJjZSBUaW1pbmddIEV4cG9zZSB0aW1pbmcgaW5mb3JtYXRpb24K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg0ODgzCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIHRlc3Rz
IGFyZSBkZXNpZ25lZCB0byBiZSB1cHN0cmVhbWVkLiBFdmVudHVhbGx5LCB0aGUgbG9jYWwgb25l
cyB3aWxsIGJlIHJlcGxhY2VkIGJ5IHRoZSBvZmZpY2lhbCB1cHN0cmVhbSB2ZXJzaW9ucy4KKwor
ICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL0FoZW0udHRmOiBBZGRl
ZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9hbGxfcmVzb3Vy
Y2VfdHlwZXMuaHRtOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jl
c291cmNlcy9ibGFua19pbWFnZS5wbmc6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNj
L3dlYnBlcmYvcmVzb3VyY2VzL2VtcHR5X3NjcmlwdC5qczogQWRkZWQuCisgICAgICAgICogaHR0
cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwOiBBZGRl
ZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9ncmF5X2JnLmNz
czogQWRkZWQuCisgICAgICAgIChib2R5KToKKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJw
ZXJmL3Jlc291cmNlcy9pbmplY3RfcmVzb3VyY2VfdGVzdC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9uZXN0ZWQuY3NzOiBBZGRlZC4KKyAg
ICAgICAgKEBmb250LWZhY2UpOgorICAgICAgICAob2wpOgorICAgICAgICAqIGh0dHAvdGVzdHMv
dzNjL3dlYnBlcmYvcmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVzcy5qczoKKyAgICAgICAgKHRl
c3RfZ3JlYXRlcl9vcl9lcXVhbHMpOgorICAgICAgICAodGVzdF9mYWlsKToKKyAgICAgICAgKHRl
c3RfcmVzb3VyY2VfZW50cmllcyk6CisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9z
dWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2VfYXR0cmlidXRlX29y
ZGVyLWV4cGVjdGVkLnR4dDogQWRkZWQuIE9uZSBmYWlscyBiZWNhdXNlIERSVCBkb2Vzbid0IGFj
dHVhbGx5IHBvcHVsYXRlIHZhbHVlcy4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJm
L3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9hdHRyaWJ1dGVf
b3JkZXIuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJt
aXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2VfZHluYW1pY19pbnNlcnRp
b24tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJm
L3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9keW5hbWljX2lu
c2VydGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1
Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9pbml0aWF0b3JfdHlw
ZXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJm
L3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9pbml0aWF0b3Jf
dHlwZXMuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJt
aXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2VfcmVkaXJlY3RzLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNz
aW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2VfcmVkaXJlY3RzLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJj
ZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX3NjcmlwdF90eXBlcy1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJj
ZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX3NjcmlwdF90eXBlcy5odG1sOiBBZGRlZC4KKwog
MjAxMi0xMC0wMSAgRG9taW5payBSw7Z0dHNjaGVzICA8ZG9taW5pay5yb3R0c2NoZXNAaW50ZWwu
Y29tPgogCiAgICAgICAgIFtFRkxdIFJlbW92ZSBFRkwtc3BlY2lmaWMgZXhwZWN0YXRpb25zIGZv
ciBmYXN0L3JlZ2lvbnMvd2Via2l0LW5hbWVkLWZsb3ctKgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvQWhlbS50dGYgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9BaGVtLnR0ZgpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5h
YzgxY2IwMzE2NWFiODMxYTM2YWJiNTkxNDVmZjdhMmY1Njc1ZmI5CkdJVCBiaW5hcnkgcGF0Y2gK
bGl0ZXJhbCAxMjQ4MAp6Y21lSE5aRm0mYjZAS1NxWEZxYD9WI0o4X1d7WigzMjc7QyVyTn5GNU5E
K31CcU5VMHZKSU15S3lLIzQ4ZiZ4V3IKeilrZ1UhVDgmQzZCNyVZPDNSKG44NWZLNFZzaXRUVm1v
IT5VWkImWTJlR3BqUkozQTIrK2RxQiRWTFArVz8ze2I8Cnp5PVR0Nz1iZH1jP3p+VXtfJVJiMmBk
KDdqcihlVV5RTF9NTDBKVzFWcU1fT0B5WWZjPnR7VDhkUkUzaFlJMGFzeQp6P0BIRl5STWt3YXls
N1F3SHgwQV4xPnVNcDNoIURwcmFTQV9eWHdtPyF0Sy1aREllaDNHWklaVEpSPmxqX0x+NSQKenho
N3JfNV9NKz1mdWQ2QytNfVV7VDZgKylFOFc7JCM2blNYTSVPI20wS05NMXsqbF52R0JzPUc+NVZg
IWA+V2pgCnplT0U5bkAwM2ZjdUlAN0VBaVA9fEhDUHFEYFUtajdjK1Q+UmZYbzFgTyVwNj9QXkZk
IWApTUxHZlp0WW9lb0lUbwp6OXx0WVhMM3Ijd1UjO2l1d0tpb2dUb2wlO15heWpaU0xKIzFRIzVM
IWF+JCVSMnxTKHlHMTRtVj4rKkFsMTRBSjgKenNrUlJTVExxTmRBKnxEYzwqQmVkPDIrP09sd0xa
Z0dZMVheelRGcyprOH0zYU44MmstY1dTdHtzNntZVHBNMmd+CnpgMDg0dGE1MmRxOWFwPH0hWD97
TmdVKXJ5ZlNhcUFUIVZhRS12ajdgJmdnPDE8UlQ5enAoez5DS0cqVllJMjhwcgp6NGMmMSVkZis8
e0NgMXQ3TU5nYzhCQWtne18jViF9KzMxYVBQPmVxNGl4VHcxeGl9QnNNfVBiUDE4X2JEOylmVzcK
ekE3TDtxO0pQKnghIVI3QnhEWEBvVn5vVF83PUBvO0clbSYlVCFPSzw2eXMyYUB3Zn5WYTUqTzgz
UzVid1ZpSkNhCnp0OGdfWSk4NyF2UUdxWl9SSDZ6SVJBVU9SS0BGbWFBJnkjSGl2KkhMcCReeGY5
dTFnXj52MDM3YWJLQiVwTDRsPQp6NkYxQH1gfm8tUUUmTEw8Ozh4cyp4QTd9OTsoZ3FYSko1eiVf
eV5pQzgqfWd1LW9AWTBqSzU8cGV2UXtLNHxuMSYKenswNFg5Sl5UcUQ7OG9tJUNacmpxYCoxKHo8
N0s+cEtWdWkoeitkb05FV3EjWkFyQGpNVEpab3tASy1BJGQkMCh2CnpWPmtCVktgaDJZU2MwV143
Pns1WG1nNy04I3heVlBJOUIyYkpjKDZVamk+TjVldmRWSDI1WWc3SkV1LUdmVWBBKAp6UVM4aHAl
c0BzZFFPY0FDV3VFJGl4PW5wY3lHd2dTVGQhPnRJaWptNTVJc2F0NnA2bEtwZVFYMjc4Vjg3cGJf
ajYKeiVuS0YtZGohdThqdG91P24hKXtOWX5RRDVHUEVsZyh9bEQqJmEkX0tfVEQoby1idGRIPXFg
azFAQkE7PiVNRzZUCnpnfXR6NDUxQ0JuP015M28qYyZzYEc3fmN3MDd1JCs0bkFfJDtuJDlJLUo1
Q0kxaGxNZ1M9WHxyPD8pdUtFZXJOTwp6eVo1bmxZa0VnfG16PH5jX1ZrQUlMK1FyIXQjNXR5WDN3
MERZfX04TWJAR3M0bWdqTkQoY3xSZiNkYiNGI04lR1oKelFSM2hNTSowcyNMbkNvOG0rYHpDbn45
MDFoPn1AJjBiN1pUSW1GMiMmaUB1LXBiNld0NEtFU31fYzMtNEdVXmhLCnp3LWI+fGlPSSFgPTVq
bGw4O0g7cVJ6Jjkkc21+S3hQZ3JyUyFiV1QmP3k4QzFEYTdxSE1EOUZkeDBkTFkqaTh8PQp6NjEj
c1NkWiFZPCpBdSVwNUpgNzMoJGcmakthMXl4cyNVfjc3OCZiXmxDPjd6VU1GNVIpN1NTTGx3PD8k
cHlXVEkKekw/KXVsQmVpUVohOE9iY29TUiNpZHEhYnk7ZEolR0JYZzdrTSsySFQrJWxhajRreXlp
bCh8US1RSzhtJHhFbXtGCnpDaHBZOVVsN2lgSUdBdnIyV0tzQykmZ2dMYVE0UDtJNEB3PCFUcStS
QE1MU3grM01zVio/JSRyWExBc1NgXjBzJQp6I21QT0xvWlFLfm8hP140P0A7R0FffUE8WS0qNjcl
e057SzUyWGcpY2I4O3t6MlhrXlRDa0p6S0ZlZUI1SCNyIXsKekMmKyQrV0MjckEreHsjMD8oO2du
YkRoV2NtQER7KFlDR1NVemwjSGtzXmxtPWwtfGxmV3UhN2UyYGRSQHJaUVdaCnp1UGpzNkN8aV9m
ckImSWQ5OTA4cWYhYSYkdWE+SWcpWDhkMG91KVJiUDNqVkx3WW97JnNpeEktXl5vUyNeMGw1Pwp6
S1cmSU1Nd19IZihIZ1d7XyNTKGF3bz09bT9hKzQ5KEAlNj0mKG5vb3RQaiNoPUBhI15wM3JDTnYt
U0Q8R0pURHsKek1RXyR5Xj9td0xTSE0tXj5nRFMxRHNfIT5PP0pneChfRD9OQ2Y1P3pZUyQqJFBG
TEYxP21BPzZqQ2BZfihhI3VTCnpqND50fFE7WWBWN1VNMnNrK0lVKVZDKm48OCpSb1hacno+ZDdW
Y3ZBQW9uUXVNMGNlLTwtVzsxKlMpfn5zQyV0QAp6dDl6SUc5cnUwQEplQHQ9SiFnM2FASDRfUS1j
IzxXXn5+X3g7a25RQXU7KiNkWDN3amg3U0QmQyEoTn1hbzQzZSYKem9fQ21jdG9KSCFqclYlKlpR
aUBSaUBpXkpIK288OD8oeDN3e25UZ3B5ODQyP3pQYGJ9KFlgQnY1I00jYm58PD9xCnozdzxrbT53
VmpPWn17SHo5cV9DRTlEZmdnWn5zOTVOZEUrWCpxYHZ2XncwTHNfYj5DV0BvKGByYCY8M3t7Nl88
VQp6S3RaNWFwbnNxPUZmSzRUNURRRVRHek9YaU85SEN7bip1dW49fEZxblAkeTVQezd5WVBePHlA
MG5zViROe1F7UD0KemhYUmslUUJ1KWFTel94bzJ4WVlgPnVsMyglUCE8QWR1LVhEZSFxT1d0bTc1
c2tTIX5HJWV+RShSaytvY1kqfEImCnorSEFgQCtxYDRURjhJfEJFfXVkRCRGQEYpXjFwMDNtdiVu
MDx2aSRgJURxaklUcz51aFg0bz52cUEjeyhqenhkZQp6bU5eIUV0dTFwYmBmZ2sxU29Cc349Mi1N
a1o4LS1YbTs0YDcrUnNJMm0mY2Ejc0x2LU9DVHtVcTFpMXdmdko0VkQKekU2NUhvRXE7cnpHJHNU
ITUkWGliRDhHfkI1WSpYcXkpQTc2ZHpvWXhxKnk4PD9gOX49YihTNHpCU3pNT0FnOEM2CnpyKSp6
T1l0X35yckw3MmtzSFprV1N6M3YpVW11SG1iRjNgTFpiLTE1eW5CWik8eUhAcT8xcE9nRzA2PVFX
YmBCewp6UnIyMDdFTEV+YyFzPW1DcFIoRmp2MFB6VWwzYSkrYnk2UnYxP2tJRnREUEtXKHl9KyF4
QCh5QnEtU3l6PCFtRiEKejlnNEZnJU9tSlRnc3IzcEA/T1g4blZxcldXRXohR1UmZU0oK0wxRntP
OyVIcXhebH5VSj5fZylJcSUyKEVhb2dxCno4JlJeQU90TyZWbX1HPHxTZ29iIVMrN2d6WCRoQCR3
Qz1jbWVMSzdNVik5cjtNSUA5NlJpdztCUWlLd3dOSlVJeAp6TW4mQDRJK2w3MXYhVE1RT15Lb2xo
Z1FfM09jOUVPTVgpeTVUaHZGWUQ8VUVwaVB3dXp2Y2ltfGBoLXBFRGs+QjQKenNBWikqbHIoRnFW
YGowcUVOTkVPKXJpVj9MWnItT3N5YkZCRCZrU0hYc2M3ekB0ODxYT3tVQ2Z2Ukk1dyNLVXpKCnpX
Pn1PQDczMVVLdW93fUZCd31WRittbnRCRkRueWVwPWV6cVJERVZybHFjZiNOIUhwbmktJChjPXMy
Xmd0fHBZMgp6en5NO0tDQi1FfHNeeGl7dTB2KEZtUE98Jl88d3kwekliTjd7RGdIcEwyN24wJGxT
b3A7c2hjWEgzejl3JCFfXkYKeit3dDRQYm9fNjVqeUdCeU42QiEhalUyV3thQDF5Iz1fWXhNY2Fy
MEZrSHJeVE5jUCh6aS0jIXJobXc2THhyYlIrCnoqOz15VnAwZ05tK25BcmRoI2gjejt5M09qXllK
eHVBfD1vOWImS2hebzFEciRXSypXZVhfUEYtSHU1Rmt3PlhwXgp6a2FfbkpfVGl0e2tCYGFuS1pz
QVB4Smg+N0kmJFM2Q2E+KiZpfDRyNlZtZHhnTSYyZn1AME9FbXd9QXx9Xjw+UjgKemshZzE/eHB3
byZ1YmdBQ0ZQRDt3X2JPUiomeXE+NkQhTS1BdmVCY31rPmo8fTNyRXdzWDBoXmZwcGVnfmVHVSFI
CkJjQGg4cwoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvYWxsX3Jlc291cmNlX3R5cGVzLmh0bSBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2FsbF9yZXNvdXJj
ZV90eXBlcy5odG0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDI5OGMzZTQxNDQ4NzIxNzNkZDY4ZmZiNGVhNTViNzZm
NjU5NzhkNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dl
YnBlcmYvcmVzb3VyY2VzL2FsbF9yZXNvdXJjZV90eXBlcy5odG0KQEAgLTAsMCArMSw0MSBAQAor
PCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgY29udGVu
dD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04IiBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIC8+
CisgICAgICAgIDx0aXRsZT5BbGwgUmVzb3VyY2UgVHlwZXMgVGVzdCBQYWdlPC90aXRsZT4KKyAg
ICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICBpZiAo
d2luZG93LnBhcmVudC5oYXNPd25Qcm9wZXJ0eSgnb25fdGVzdF9ib2R5X2NyZWF0ZWQnKSkKKyAg
ICAgICAgICAgICAgICB3aW5kb3cucGFyZW50Lm9uX3Rlc3RfYm9keV9jcmVhdGVkKCk7CisgICAg
ICAgIDwvc2NyaXB0PgorICAgICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Im5lc3Rl
ZC5jc3MiPjwvbGluaz4KKyAgICAgICAgPGltZyBzcmM9ImJsYW5rX2ltYWdlLnBuZyI+PC9pbWc+
CisgICAgICAgIDxpZnJhbWUgc3JjPSJibGFua19wYWdlX2dyZWVuLmh0bSIgd2lkdGg9IjEwMHB4
IiBoZWlnaHQ9IjEwMHB4Ij48L2lmcmFtZT4KKyAgICAgICAgPHNjcmlwdCBzcmM9ImVtcHR5X3Nj
cmlwdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICB2YXIgeGhy
ID0gbmV3IFhNTEh0dHBSZXF1ZXN0OworICAgICAgICAgICAgeGhyLm9wZW4oIkdFVCIsICJibGFu
a19wYWdlX3llbGxvdy5odG0iLCBmYWxzZSk7CisgICAgICAgICAgICB4aHIuc2VuZCgpOworICAg
ICAgICA8L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgQGZvbnQtZmFjZSB7
CisgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IHJlbW90ZUZvbnRBaGVtOworICAgICAgICAg
ICAgICAgIHNyYzogdXJsKCdBaGVtLnR0ZicpOworICAgICAgICAgICAgfQorICAgICAgICAgICAg
aWZyYW1lIHsKKyAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJ2dlbmVyYXRlX3Jlc291
cmNlLnBocD90eXBlPWltYWdlJmlkPTEnKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHVs
IHsKKyAgICAgICAgICAgICAgICBmb250LWZhbWlseTogcmVtb3RlRm9udEFoZW07CisgICAgICAg
ICAgICAgICAgbGlzdC1zdHlsZS1pbWFnZTogdXJsKCdnZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlw
ZT1pbWFnZSZpZD0yJyk7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgICAg
IDx1bD4KKyAgICAgICAgICAgIDxsaT5UZXN0PC9saT4KKyAgICAgICAgPC91bD4KKyAgICAgICAg
PG9sPgorICAgICAgICAgICAgPGxpPlRlc3Q8L2xpPgorICAgICAgICA8L29sPgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBl
cmYvcmVzb3VyY2VzL2JsYW5rX2ltYWdlLnBuZyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNj
L3dlYnBlcmYvcmVzb3VyY2VzL2JsYW5rX2ltYWdlLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jY2Y3YTZjYTA1
YmZmYzkzMDVjOGRlYmNiYzI5ZWYwZDFhNWM3Yjc0CkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAx
MDMKemNtZUFTQE4/KG9sSHlgdVZCcSFpYTB2cF5qM0NVeDFTQlZ2MmoyczZpaTZ5cDd9bE1XYz9z
bGo3STtKIUdjYSVxCnVnREBrKnRUX0B1S157KlIjfUpPfCR2Xik4d2BYQWUkTW87Y25hSmxyYVJ5
SVVLYkxoKjJ+N1lTaDhjX2kKCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2VtcHR5X3NjcmlwdC5q
cyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2VtcHR5X3Nj
cmlwdC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4wOTJiYzJiMDQxMjYxMDA4Nzg1MzA4ODhlNmIxYjMwNjAyZGNl
MjEzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVy
Zi9yZXNvdXJjZXMvZW1wdHlfc2NyaXB0LmpzCkBAIC0wLDAgKzEgQEAKKzsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jl
c291cmNlLnBocCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVzb3VyY2Vz
L2dlbmVyYXRlX3Jlc291cmNlLnBocApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMjkzODcyMWMxZjhlNmM4OTdhZjQz
ZTY1YmVkZDI1YTRkNjcyMGY4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwCkBAIC0wLDAg
KzEsNDMgQEAKKzw/cGhwCisgICR0eXBlID0gJF9HRVRbInR5cGUiXTsKKworICAkcmVzcG9uc2Vf
Y29kZSA9IDIwMDsKKyAgJGJvZHkgPSAiIjsKKyAgJGNvbnRlbnRfdHlwZSA9ICJ0ZXh0L3BsYWlu
IjsKKworICBzd2l0Y2ggKCR0eXBlKSB7CisgIGNhc2UgImNzcyI6CisgICAgICAkYm9keSA9IGZp
bGVfZ2V0X2NvbnRlbnRzKCJncmF5X2JnLmNzcyIpOworICAgICAgJGNvbnRlbnRfdHlwZSA9ICJ0
ZXh0L2NzcyI7CisgICAgICBicmVhazsKKworICBjYXNlICJmb250IjoKKyAgICAgICRib2R5ID0g
ZmlsZV9nZXRfY29udGVudHMoIkFoZW0udHRmIik7CisgICAgICAkY29udGVudF90eXBlID0gImFw
cGxpY2F0aW9uL29jdGV0LXN0cmVhbSI7CisgICAgICBicmVhazsKKworICBjYXNlICJpZnJhbWUi
OgorICAgICAgJGJvZHkgPSBmaWxlX2dldF9jb250ZW50cygiYmxhbmtfcGFnZV9ncmVlbi5odG0i
KTsKKyAgICAgICRjb250ZW50X3R5cGUgPSAidGV4dC9odG1sIjsKKyAgICAgIGJyZWFrOworCisg
IGNhc2UgImltYWdlIjoKKyAgICAgICRib2R5ID0gZmlsZV9nZXRfY29udGVudHMoImJsYW5rX2lt
YWdlLnBuZyIpOworICAgICAgJGNvbnRlbnRfdHlwZSA9ICJpbWFnZS9wbmciOworICAgICAgYnJl
YWs7CisKKyAgY2FzZSAic2NyaXB0IjoKKyAgICAgICRib2R5ID0gZmlsZV9nZXRfY29udGVudHMo
ImVtcHR5X3NjcmlwdC5qcyIpOworICAgICAgJGNvbnRlbnRfdHlwZSA9ICJ0ZXh0L2phdmFzY3Jp
cHQiOworICAgICAgYnJlYWs7CisKKyAgZGVmYXVsdDoKKyAgICAgICRyZXNwb25zZV9jb2RlID0g
NDA0OworICAgICAgYnJlYWs7CisgIH0KKworICBoZWFkZXIoIkhUVFAvMS4xICRyZXNwb25zZV9j
b2RlIik7CisgIGhlYWRlcigiQ29udGVudC10eXBlOiAkY29udGVudF90eXBlIik7CisgIHByaW50
KCRib2R5KTsKKyAgZXhpdDsKKz8+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3czYy93ZWJwZXJmL3Jlc291cmNlcy9ncmF5X2JnLmNzcyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dyYXlfYmcuY3NzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM3MDUxNDVm
Yjg3NzM1NThhNzk1MmRjMTRmMThmZGI0MWU0YjgyMzIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9ncmF5X2JnLmNzcwpAQCAt
MCwwICsxIEBACitib2R5IHsgYmFja2dyb3VuZC1jb2xvcjogI2JiYmJiYjsgfQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvaW5qZWN0X3Jl
c291cmNlX3Rlc3QuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVz
b3VyY2VzL2luamVjdF9yZXNvdXJjZV90ZXN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWYxMDA2MWNlYzg4
MTExNzdlZmU1OThlYjdmNTgzMTM4NGFlMTYzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2luamVjdF9yZXNvdXJjZV90ZXN0
Lmh0bWwKQEAgLTAsMCArMSwzIEBACis8c2NyaXB0Pgord2luZG93LnBhcmVudC5zZXR1cF9pZnJh
bWUoKTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mv
d2VicGVyZi9yZXNvdXJjZXMvbmVzdGVkLmNzcyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNj
L3dlYnBlcmYvcmVzb3VyY2VzL25lc3RlZC5jc3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmY1MDY1Zjg2ZWFjYWFj
NDBlNGVlMjBkNWFhMGYzZmE3OGMyMzM3MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL25lc3RlZC5jc3MKQEAgLTAsMCArMSwx
MCBAQAorQGltcG9ydCAiZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9Y3NzJmlkPW4xIjsKKwor
QGZvbnQtZmFjZSB7CisgICAgZm9udC1mYW1pbHk6IHJlbW90ZUZvbnQ7CisgICAgc3JjOiB1cmwo
J2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPWZvbnQmaWQ9bjEnKTsKK30KK29sIHsKKyAgICBm
b250LWZhbWlseTogcmVtb3RlRm9udDsKKyAgICBsaXN0LXN0eWxlLWltYWdlOiB1cmwoJ2dlbmVy
YXRlX3Jlc291cmNlLnBocD90eXBlPWltYWdlJmlkPW4xJyk7Cit9CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy93ZWJwZXJmdGVzdGhhcm5l
c3MuanMgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy93ZWJw
ZXJmdGVzdGhhcm5lc3MuanMKaW5kZXggODc3NDUwNmUyNDkyOGU3Yjk2MTRjMzBjOTgxYjEzMTEw
YWQwOGQ0My4uNDU0ZDI4ZTkxZjk4ODg3YmYxOTIwNjMxZGYxZjIwOTUxMzUxNzNhMSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvd2VicGVy
ZnRlc3RoYXJuZXNzLmpzCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYv
cmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVzcy5qcwpAQCAtMTUwLDcgKzE1MCw2MyBAQCBmdW5j
dGlvbiB0ZXN0X2dyZWF0ZXJfdGhhbih2YWx1ZSwgZ3JlYXRlcl90aGFuLCBtc2csIHByb3BlcnRp
ZXMpCiAgICAgd3BfdGVzdChmdW5jdGlvbiAoKSB7IGFzc2VydF90cnVlKHZhbHVlID4gZ3JlYXRl
cl90aGFuLCBtc2cpOyB9LCBtc2csIHByb3BlcnRpZXMpOwogfQogCitmdW5jdGlvbiB0ZXN0X2dy
ZWF0ZXJfb3JfZXF1YWxzKHZhbHVlLCBncmVhdGVyX3RoYW4sIG1zZywgcHJvcGVydGllcykKK3sK
KyAgICB3cF90ZXN0KGZ1bmN0aW9uICgpIHsgYXNzZXJ0X3RydWUodmFsdWUgPj0gZ3JlYXRlcl90
aGFuLCBtc2cpOyB9LCBtc2csIHByb3BlcnRpZXMpOworfQorCiBmdW5jdGlvbiB0ZXN0X25vdF9l
cXVhbHModmFsdWUsIG5vdGVxdWFscywgbXNnLCBwcm9wZXJ0aWVzKQogewogICAgIHdwX3Rlc3Qo
ZnVuY3Rpb24oKSB7IGFzc2VydF90cnVlKHZhbHVlICE9PSBub3RlcXVhbHMsIG1zZyk7IH0sIG1z
ZywgcHJvcGVydGllcyk7CiB9CisKK2Z1bmN0aW9uIHRlc3RfY29udGFpbnMobmVlZGxlLCBoYXlz
dGFjaywgbXNnLCBwcm9wZXJ0aWVzKQoreworICAgIHdwX3Rlc3QoZnVuY3Rpb24oKSB7IGFzc2Vy
dF90cnVlKG5lZWRsZSBpbiBoYXlzdGFjaywgbXNnKTsgfSwgbXNnLCBwcm9wZXJ0aWVzKTsKK30K
KworZnVuY3Rpb24gdGVzdF9mYWlsKG1zZywgcHJvcGVydGllcykKK3sKKyAgICB3cF90ZXN0KGZ1
bmN0aW9uKCkgeyBhc3NlcnRfdW5yZWFjaGVkKCk7IH0sIG1zZywgcHJvcGVydGllcyk7Cit9CisK
K2Z1bmN0aW9uIHRlc3RfcmVzb3VyY2VfZW50cmllcyhlbnRyaWVzLCBleHBlY3RlZF9lbnRyaWVz
KQoreworICAgIC8vIFRoaXMgaXMgc2xpZ2h0bHkgY29udm9sdXRlZCBzbyB0aGF0IHdlIGNhbiBz
b3J0IHRoZSBvdXRwdXQuCisgICAgdmFyIGFjdHVhbF9lbnRyaWVzID0ge307CisKKyAgICBmb3Ig
KHZhciBpID0gMDsgaSA8IGVudHJpZXMubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgdmFyIGVudHJ5
ID0gZW50cmllc1tpXTsKKyAgICAgICAgdmFyIGZvdW5kID0gZmFsc2U7CisgICAgICAgIGZvciAo
dmFyIGV4cGVjdGVkX2VudHJ5IGluIGV4cGVjdGVkX2VudHJpZXMpIHsKKyAgICAgICAgICAgIGlm
IChlbnRyeS5uYW1lID09IHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4gKyBleHBlY3RlZF9lbnRyeSkg
eworICAgICAgICAgICAgICAgIGZvdW5kID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICBpZiAoZXhw
ZWN0ZWRfZW50cnkgaW4gYWN0dWFsX2VudHJpZXMpIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dF9mYWlsKGV4cGVjdGVkX2VudHJ5ICsgJyBpcyBub3QgZXhwZWN0ZWQgdG8gaGF2ZSBkdXBsaWNh
dGUgZW50cmllcycpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBhY3R1YWxf
ZW50cmllc1tleHBlY3RlZF9lbnRyeV0gPSBlbnRyeTsKKyAgICAgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBpZiAoIWZvdW5kKSB7CisgICAgICAg
ICAgICB0ZXN0X2ZhaWwoZW50cmllc1tpXS5uYW1lICsgJyBpcyBub3QgZXhwZWN0ZWQgdG8gYmUg
aW4gdGhlIFJlc291cmNlIFRpbWluZyBidWZmZXInKTsKKyAgICAgICAgfQorICAgIH0KKworICAg
IHNvcnRlZF91cmxzID0gW107CisgICAgZm9yICh2YXIgaSBpbiBhY3R1YWxfZW50cmllcykgewor
ICAgICAgICBzb3J0ZWRfdXJscy5wdXNoKGkpOworICAgIH0KKyAgICBzb3J0ZWRfdXJscy5zb3J0
KCk7CisgICAgZm9yICh2YXIgaSBpbiBzb3J0ZWRfdXJscykgeworICAgICAgICB2YXIgdXJsID0g
c29ydGVkX3VybHNbaV07CisgICAgICAgIHRlc3RfZXF1YWxzKGFjdHVhbF9lbnRyaWVzW3VybF0u
aW5pdGlhdG9yVHlwZSwKKyAgICAgICAgICAgICAgICAgICAgZXhwZWN0ZWRfZW50cmllc1t1cmxd
LAorICAgICAgICAgICAgICAgICAgICB1cmwgKyAnIGlzIGV4cGVjdGVkIHRvIGhhdmUgaW5pdGlh
dG9yVHlwZSAnICsgZXhwZWN0ZWRfZW50cmllc1t1cmxdKTsKKyAgICB9CisgICAgZm9yICh2YXIg
aiBpbiBleHBlY3RlZF9lbnRyaWVzKSB7CisgICAgICAgIGlmICghKGogaW4gYWN0dWFsX2VudHJp
ZXMpKSB7CisgICAgICAgICAgICB0ZXN0X2ZhaWwoaiArICcgaXMgZXhwZWN0ZWQgdG8gYmUgaW4g
dGhlIFJlc291cmNlIFRpbWluZyBidWZmZXInKTsKKyAgICAgICAgfQorICAgIH0KK30KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNv
dXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX2F0dHJpYnV0ZV9vcmRlci1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3Vy
Y2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9hdHRyaWJ1dGVfb3JkZXItZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjQ4YTZmNDJjNjIzMmQ5ZDc5YWIzM2JmY2MwYmU5OTY5YWVjNzY2MWQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1p
c3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9hdHRyaWJ1dGVfb3JkZXIt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTggQEAKK0Rlc2NyaXB0aW9uCisKK1RoaXMgdGVzdCB2
YWxpZGF0ZXMgdGhhdCBhbGwgb2YgdGhlIGluaXRpYXRvciB0eXBlcyBhcmUgcmVwcmVzZW50ZWQu
CisKKworCitQQVNTIE9ubHkgMSBQZXJmb3JtYW5jZUVudHJ5IHNob3VsZCBtYXRjaCAKK1BBU1Mg
cmVkaXJlY3RTdGFydCBzaG91bGQgYmUgMCAKK1BBU1MgcmVkaXJlY3RFbmQgc2hvdWxkIGJlIDAg
CitGQUlMIGZldGNoU3RhcnQgc2hvdWxkIGJlIG5vbi16ZXJvIGFzc2VydF90cnVlOiBmZXRjaFN0
YXJ0IHNob3VsZCBiZSBub24temVybyBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorUEFTUyBkb21h
aW5Mb29rdXBTdGFydCBzaG91bGQgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIGZldGNoU3Rh
cnQgCitQQVNTIGRvbWFpbkxvb2t1cEVuZCBzaG91bGQgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFs
IHRvIGRvbWFpbkxvb2t1cFN0YXJ0IAorUEFTUyBjb25uZWN0U3RhcnQgc2hvdWxkIGJlIGdyZWF0
ZXIgdGhhbiBvciBlcXVhbCB0byBkb21haW5Mb29rdXBFbmQgCitQQVNTIGNvbm5lY3RFbmQgc2hv
dWxkIGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byBjb25uZWN0U3RhcnQgCitQQVNTIHJlcXVl
c3RTdGFydCBzaG91bGQgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIGNvbm5lY3RFbmQgCitQ
QVNTIHJlc3BvbnNlU3RhcnQgc2hvdWxkIGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byByZXF1
ZXN0U3RhcnQgCitQQVNTIHJlc3BvbnNlRW5kIHNob3VsZCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1
YWwgdG8gcmVzcG9uc2VTdGFydCAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3Vy
Y2VfYXR0cmlidXRlX29yZGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJw
ZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9hdHRyaWJ1
dGVfb3JkZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MzBkMzIzZjI3M2UxOTY2ODliZDRlY2UxNjEyMTM4
YTkwMTJhM2I3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mv
d2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2VfYXR0
cmlidXRlX29yZGVyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+Cis8dGl0bGU+UmVzb3VyY2UgVGlt
aW5nIGF0dHJpYnV0ZSBvcmRlcjwvdGl0bGU+Cis8bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ikdv
b2dsZSIgaHJlZj0iaHR0cDovL3d3dy5nb29nbGUuY29tLyIgLz4KKzxsaW5rIHJlbD0iaGVscCIg
aHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvcmVzb3VyY2UtdGltaW5nLyNwZXJmb3JtYW5jZXJl
c291cmNldGltaW5nIi8+Cis8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL3dl
YnBlcmZ0ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZnVuY3Rpb24gc2V0dXBf
aWZyYW1lKCkgeworICAgIGlmcmFtZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmcmFtZUNv
bnRleHQnKTsKKyAgICB2YXIgZCA9IGlmcmFtZS5jb250ZW50V2luZG93LmRvY3VtZW50OworICAg
IHZhciBib2R5ID0gZC5jcmVhdGVFbGVtZW50KCdib2R5Jyk7CisgICAgZC5nZXRFbGVtZW50c0J5
VGFnTmFtZSgnaHRtbCcpWzBdLmFwcGVuZENoaWxkKGJvZHkpOworCisgICAgdmFyIGltYWdlID0g
ZC5jcmVhdGVFbGVtZW50KCdpbWcnKTsKKyAgICBpbWFnZS5zcmMgPSAnL3czYy93ZWJwZXJmL3Jl
c291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1pbWFnZSc7CisgICAgYm9keS5hcHBl
bmRDaGlsZChpbWFnZSk7Cit9CitmdW5jdGlvbiBvbmxvYWRfdGVzdCgpIHsKKyAgICB2YXIgZW50
cmllcyA9IGlmcmFtZS5jb250ZW50V2luZG93LnBlcmZvcm1hbmNlLndlYmtpdEdldEVudHJpZXNC
eU5hbWUod2luZG93LmxvY2F0aW9uLm9yaWdpbiArICcvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dl
bmVyYXRlX3Jlc291cmNlLnBocD90eXBlPWltYWdlJyk7CisgICAgdGVzdF9lcXVhbHMoZW50cmll
cy5sZW5ndGgsIDEsICdPbmx5IDEgUGVyZm9ybWFuY2VFbnRyeSBzaG91bGQgbWF0Y2gnKTsKKyAg
ICB2YXIgZW50cnkgPSBlbnRyaWVzWzBdOworCisgICAgdGVzdF9lcXVhbHMoZW50cnkucmVkaXJl
Y3RTdGFydCwgMCwgInJlZGlyZWN0U3RhcnQgc2hvdWxkIGJlIDAiKTsKKyAgICB0ZXN0X2VxdWFs
cyhlbnRyeS5yZWRpcmVjdEVuZCwgMCwgInJlZGlyZWN0RW5kIHNob3VsZCBiZSAwIik7CisgICAg
dGVzdF9ncmVhdGVyX3RoYW4oZW50cnkuZmV0Y2hTdGFydCwgMCwgImZldGNoU3RhcnQgc2hvdWxk
IGJlIG5vbi16ZXJvIik7CisgICAgdGVzdF9ncmVhdGVyX29yX2VxdWFscyhlbnRyeS5kb21haW5M
b29rdXBTdGFydCwgZW50cnkuZmV0Y2hTdGFydCwgImRvbWFpbkxvb2t1cFN0YXJ0IHNob3VsZCBi
ZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gZmV0Y2hTdGFydCIpOworICAgIHRlc3RfZ3JlYXRl
cl9vcl9lcXVhbHMoZW50cnkuZG9tYWluTG9va3VwRW5kLCBlbnRyeS5kb21haW5Mb29rdXBTdGFy
dCwgImRvbWFpbkxvb2t1cEVuZCBzaG91bGQgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIGRv
bWFpbkxvb2t1cFN0YXJ0Iik7CisgICAgdGVzdF9ncmVhdGVyX29yX2VxdWFscyhlbnRyeS5jb25u
ZWN0U3RhcnQsIGVudHJ5LmRvbWFpbkxvb2t1cEVuZCwgImNvbm5lY3RTdGFydCBzaG91bGQgYmUg
Z3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIGRvbWFpbkxvb2t1cEVuZCIpOworICAgIHRlc3RfZ3Jl
YXRlcl9vcl9lcXVhbHMoZW50cnkuY29ubmVjdEVuZCwgZW50cnkuY29ubmVjdFN0YXJ0LCAiY29u
bmVjdEVuZCBzaG91bGQgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIGNvbm5lY3RTdGFydCIp
OworICAgIHRlc3RfZ3JlYXRlcl9vcl9lcXVhbHMoZW50cnkucmVxdWVzdFN0YXJ0LCBlbnRyeS5j
b25uZWN0RW5kLCAicmVxdWVzdFN0YXJ0IHNob3VsZCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwg
dG8gY29ubmVjdEVuZCIpOworICAgIHRlc3RfZ3JlYXRlcl9vcl9lcXVhbHMoZW50cnkucmVzcG9u
c2VTdGFydCwgZW50cnkucmVxdWVzdFN0YXJ0LCAicmVzcG9uc2VTdGFydCBzaG91bGQgYmUgZ3Jl
YXRlciB0aGFuIG9yIGVxdWFsIHRvIHJlcXVlc3RTdGFydCIpOworICAgIHRlc3RfZ3JlYXRlcl9v
cl9lcXVhbHMoZW50cnkucmVzcG9uc2VFbmQsIGVudHJ5LnJlc3BvbnNlU3RhcnQsICJyZXNwb25z
ZUVuZCBzaG91bGQgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIHJlc3BvbnNlU3RhcnQiKTsK
K30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8aDE+RGVzY3JpcHRpb248L2gxPgorPHA+
VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IGFsbCBvZiB0aGUgaW5pdGlhdG9yIHR5cGVzIGFyZSBy
ZXByZXNlbnRlZC48L3A+Cis8ZGl2IGlkPSJsb2ciPjwvZGl2PgorPGlmcmFtZSBpZD0iZnJhbWVD
b250ZXh0IiBvbmxvYWQ9Im9ubG9hZF90ZXN0KCk7IiBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJj
ZXMvaW5qZWN0X3Jlc291cmNlX3Rlc3QuaHRtbCI+PC9pZnJhbWU+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Np
b24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9keW5hbWljX2luc2VydGlvbi1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Np
b24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9keW5hbWljX2luc2VydGlvbi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTljNDAwZGRkYzI5ODhhMTMxNTYzYWQ0NzkyMmMyMjlh
NTEyNGM3YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dl
YnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX2R5bmFt
aWNfaW5zZXJ0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwIEBACitEZXNjcmlwdGlvbgor
CitUaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQgYWxsIG9mIHRoZSBpbml0aWF0b3IgdHlwZXMgYXJl
IHJlcHJlc2VudGVkIGV2ZW4gd2hlbiBkeW5hbWljYWxseSBpbnNlcnRlZC4KKworCisKK1BBU1Mg
L3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1jc3MgaXMg
ZXhwZWN0ZWQgdG8gaGF2ZSBpbml0aWF0b3JUeXBlIGxpbmsgCitQQVNTIC93M2Mvd2VicGVyZi9y
ZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9aWZyYW1lIGlzIGV4cGVjdGVkIHRv
IGhhdmUgaW5pdGlhdG9yVHlwZSBpZnJhbWUgCitQQVNTIC93M2Mvd2VicGVyZi9yZXNvdXJjZXMv
Z2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9aW1hZ2UgaXMgZXhwZWN0ZWQgdG8gaGF2ZSBpbml0
aWF0b3JUeXBlIGltZyAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mv
d2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2VfZHlu
YW1pY19pbnNlcnRpb24uaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYv
c3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX2R5bmFtaWNfaW5z
ZXJ0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmY3MzEwODQ3MWYxZTFiZmE4MDM0MGQzZDIxNzM2YjNl
ZWNhMTRmOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dl
YnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX2R5bmFt
aWNfaW5zZXJ0aW9uLmh0bWwKQEAgLTAsMCArMSw1MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+Cis8dGl0bGU+UmVzb3VyY2UgVGlt
aW5nIGluaXRpYXRvciB0eXBlcyB3aXRoIGR5bmFtaWMgaW5zZXJ0aW9uPC90aXRsZT4KKzxsaW5r
IHJlbD0iYXV0aG9yIiB0aXRsZT0iR29vZ2xlIiBocmVmPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20v
IiAvPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9yZXNvdXJj
ZS10aW1pbmcvI2RvbS1wZXJmb3JtYW5jZXJlc291cmNldGltaW5nLWluaXRpYXRvcnR5cGUiLz4K
KzxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+Cit2YXIgaWZyYW1lOworZnVuY3Rpb24gc2V0dXBfaWZy
YW1lKCkgeworICAgIGlmcmFtZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmcmFtZUNvbnRl
eHQnKTsKKyAgICB2YXIgZCA9IGlmcmFtZS5jb250ZW50V2luZG93LmRvY3VtZW50OworICAgIHZh
ciBib2R5ID0gZC5jcmVhdGVFbGVtZW50KCdib2R5Jyk7CisgICAgZC5nZXRFbGVtZW50c0J5VGFn
TmFtZSgnaHRtbCcpWzBdLmFwcGVuZENoaWxkKGJvZHkpOworCisgICAgdmFyIHN0eWxlID0gZC5j
cmVhdGVFbGVtZW50KCdsaW5rJyk7CisgICAgc3R5bGUucmVsID0gJ3N0eWxlc2hlZXQnOworICAg
IHN0eWxlLmhyZWYgPSAnL3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5w
aHA/dHlwZT1jc3MnOworICAgIGJvZHkuYXBwZW5kQ2hpbGQoc3R5bGUpOworCisgICAgdmFyIGlt
YWdlID0gZC5jcmVhdGVFbGVtZW50KCdpbWcnKTsKKyAgICBpbWFnZS5zcmMgPSAnL3czYy93ZWJw
ZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1pbWFnZSc7CisgICAgYm9k
eS5hcHBlbmRDaGlsZChpbWFnZSk7CisKKyAgICB2YXIgc3ViZnJhbWUgPSBkLmNyZWF0ZUVsZW1l
bnQoJ2lmcmFtZScpOworICAgIHN1YmZyYW1lLnNyYyA9ICcvdzNjL3dlYnBlcmYvcmVzb3VyY2Vz
L2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPWlmcmFtZSc7CisgICAgYm9keS5hcHBlbmRDaGls
ZChzdWJmcmFtZSk7Cit9CitmdW5jdGlvbiBvbmxvYWRfdGVzdCgpIHsKKyAgICB2YXIgZW50cmll
cyA9IGlmcmFtZS5jb250ZW50V2luZG93LnBlcmZvcm1hbmNlLndlYmtpdEdldEVudHJpZXMoKTsK
KworICAgIHZhciBleHBlY3RlZF9lbnRyaWVzID0geworICAgICAgICAnL3czYy93ZWJwZXJmL3Jl
c291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1jc3MnOiAnbGluaycsCisgICAgICAg
ICcvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPWltYWdl
JzogJ2ltZycsCisgICAgICAgICcvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291
cmNlLnBocD90eXBlPWlmcmFtZSc6ICdpZnJhbWUnLAorICAgIH07CisKKyAgICB0ZXN0X3Jlc291
cmNlX2VudHJpZXMoZW50cmllcywgZXhwZWN0ZWRfZW50cmllcyk7Cit9Cit3aW5kb3cuc2V0dXBf
aWZyYW1lID0gc2V0dXBfaWZyYW1lOworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxoMT5E
ZXNjcmlwdGlvbjwvaDE+Cis8cD5UaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQgYWxsIG9mIHRoZSBp
bml0aWF0b3IgdHlwZXMgYXJlIHJlcHJlc2VudGVkIGV2ZW4gd2hlbiBkeW5hbWljYWxseSBpbnNl
cnRlZC48L3A+Cis8ZGl2IGlkPSJsb2ciPjwvZGl2PgorPGlmcmFtZSBpZD0iZnJhbWVDb250ZXh0
IiBvbmxvYWQ9Im9ubG9hZF90ZXN0KCk7IiBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMvaW5q
ZWN0X3Jlc291cmNlX3Rlc3QuaHRtbCI+PC9pZnJhbWU+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVz
b3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9pbml0aWF0b3JfdHlwZXMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291
cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2VfaW5pdGlhdG9yX3R5cGVzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xZmM0NTIwNTExZjdkOWQ1MzFhYmFjMTk1OGQ5MDZmNjg5YWE1ZjZlCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJt
aXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2VfaW5pdGlhdG9yX3R5cGVz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE4IEBACitEZXNjcmlwdGlvbgorCitUaGlzIHRlc3Qg
dmFsaWRhdGVzIHRoYXQgYWxsIG9mIHRoZSBpbml0aWF0b3IgdHlwZXMgYXJlIHJlcHJlc2VudGVk
LgorCisKKworUEFTUyAvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL0FoZW0udHRmIGlzIGV4cGVjdGVk
IHRvIGhhdmUgaW5pdGlhdG9yVHlwZSBjc3MgCitQQVNTIC93M2Mvd2VicGVyZi9yZXNvdXJjZXMv
YmxhbmtfaW1hZ2UucG5nIGlzIGV4cGVjdGVkIHRvIGhhdmUgaW5pdGlhdG9yVHlwZSBpbWcgCitQ
QVNTIC93M2Mvd2VicGVyZi9yZXNvdXJjZXMvYmxhbmtfcGFnZV9ncmVlbi5odG0gaXMgZXhwZWN0
ZWQgdG8gaGF2ZSBpbml0aWF0b3JUeXBlIGlmcmFtZSAKK1BBU1MgL3czYy93ZWJwZXJmL3Jlc291
cmNlcy9ibGFua19wYWdlX3llbGxvdy5odG0gaXMgZXhwZWN0ZWQgdG8gaGF2ZSBpbml0aWF0b3JU
eXBlIHhtbGh0dHByZXF1ZXN0IAorUEFTUyAvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2VtcHR5X3Nj
cmlwdC5qcyBpcyBleHBlY3RlZCB0byBoYXZlIGluaXRpYXRvclR5cGUgc2NyaXB0IAorUEFTUyAv
dzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPWNzcyZpZD1u
MSBpcyBleHBlY3RlZCB0byBoYXZlIGluaXRpYXRvclR5cGUgY3NzIAorUEFTUyAvdzNjL3dlYnBl
cmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPWZvbnQmaWQ9bjEgaXMgZXhw
ZWN0ZWQgdG8gaGF2ZSBpbml0aWF0b3JUeXBlIGNzcyAKK1BBU1MgL3czYy93ZWJwZXJmL3Jlc291
cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1pbWFnZSZpZD0xIGlzIGV4cGVjdGVkIHRv
IGhhdmUgaW5pdGlhdG9yVHlwZSBjc3MgCitQQVNTIC93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2Vu
ZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9aW1hZ2UmaWQ9MiBpcyBleHBlY3RlZCB0byBoYXZlIGlu
aXRpYXRvclR5cGUgY3NzIAorUEFTUyAvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jl
c291cmNlLnBocD90eXBlPWltYWdlJmlkPW4xIGlzIGV4cGVjdGVkIHRvIGhhdmUgaW5pdGlhdG9y
VHlwZSBjc3MgCitQQVNTIC93M2Mvd2VicGVyZi9yZXNvdXJjZXMvbmVzdGVkLmNzcyBpcyBleHBl
Y3RlZCB0byBoYXZlIGluaXRpYXRvclR5cGUgbGluayAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1s
L3Rlc3RfcmVzb3VyY2VfaW5pdGlhdG9yX3R5cGVzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNv
dXJjZV9pbml0aWF0b3JfdHlwZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40Mzk2NzBkZTBhMzI5NjIzYjIx
NGVlZjEwYzNlNmQ2Mjk0NjYwNTJiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3Rf
cmVzb3VyY2VfaW5pdGlhdG9yX3R5cGVzLmh0bWwKQEAgLTAsMCArMSw5MiBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+Cis8dGl0bGU+
UmVzb3VyY2UgVGltaW5nIGluaXRpYXRvciB0eXBlczwvdGl0bGU+Cis8bGluayByZWw9ImF1dGhv
ciIgdGl0bGU9Ikdvb2dsZSIgaHJlZj0iaHR0cDovL3d3dy5nb29nbGUuY29tLyIgLz4KKzxsaW5r
IHJlbD0iaGVscCIgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvcmVzb3VyY2UtdGltaW5nLyNk
b20tcGVyZm9ybWFuY2VyZXNvdXJjZXRpbWluZy1pbml0aWF0b3J0eXBlIi8+Cis8c2NyaXB0IHNy
Yz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0Pgorc2V0dXAoe2V4cGxpY2l0X2RvbmU6IHRydWV9KTsKKwordmFyIGJhY2tn
cm91bmRfbG9hZGVkID0gZmFsc2U7Cit2YXIgcGFnZV9sb2FkZWQgPSBmYWxzZTsKK3ZhciBvbF9m
b250X2xvYWRlZCA9IGZhbHNlOwordmFyIHVsX2ZvbnRfbG9hZGVkID0gZmFsc2U7CisKK2Z1bmN0
aW9uIGNoZWNrX2ZpbmlzaGVkKCkgeworICAgIGlmICghdWxfZm9udF9sb2FkZWQpIHsKKyAgICAg
ICAgdWxfZm9udF9sb2FkZWQgPSBjaGVja19mb250X2xvYWRlZCgndWwnKTsKKyAgICB9CisgICAg
aWYgKCFvbF9mb250X2xvYWRlZCkgeworICAgICAgICBvbF9mb250X2xvYWRlZCA9IGNoZWNrX2Zv
bnRfbG9hZGVkKCdvbCcpOworICAgIH0KKyAgICBpZiAocGFnZV9sb2FkZWQgJiYgb2xfZm9udF9s
b2FkZWQgJiYgdWxfZm9udF9sb2FkZWQgJiYgYmFja2dyb3VuZF9sb2FkZWQpIHsKKyAgICAgICAg
cGVyZm9ybV90ZXN0KCk7CisgICAgfQorfQorCitmdW5jdGlvbiBjaGVja19mb250X2xvYWRlZCh0
eXBlKSB7CisgICAgdmFyIHdpZHRoX3Zhcl9uYW1lID0gJ29yaWdpbmFsX3dpZHRoXycgKyB0eXBl
OworICAgIHZhciBlbGVtZW50X3Zhcl9uYW1lID0gJ2VsZW1lbnRfJyArIHR5cGU7CisgICAgaWYg
KCF0aGlzLmhhc093blByb3BlcnR5KHdpZHRoX3Zhcl9uYW1lKSkgeworICAgICAgICB2YXIgZCA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmcmFtZUNvbnRleHQnKS5jb250ZW50V2luZG93LmRv
Y3VtZW50OworICAgICAgICB2YXIgbGlzdCA9IGQuY3JlYXRlRWxlbWVudCh0eXBlKTsKKyAgICAg
ICAgdmFyIGxpID0gZC5jcmVhdGVFbGVtZW50KCdsaScpOworICAgICAgICBsaS5pbm5lckhUTUwg
PSAnd2lkdGhfdGVzdCc7CisgICAgICAgIGxpc3QuYXBwZW5kQ2hpbGQobGkpOworICAgICAgICBk
LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdib2R5JylbMF0uYXBwZW5kQ2hpbGQobGlzdCk7CisgICAg
ICAgIHRoaXNbZWxlbWVudF92YXJfbmFtZV0gPSBsaXN0OworICAgICAgICB0aGlzW3dpZHRoX3Zh
cl9uYW1lXSA9IGxpLm9mZnNldEhlaWdodDsKKyAgICB9CisgICAgcmV0dXJuIHRoaXNbd2lkdGhf
dmFyX25hbWVdICE9IHRoaXNbZWxlbWVudF92YXJfbmFtZV0ub2Zmc2V0SGVpZ2h0OworfQorCitm
dW5jdGlvbiBvbmxvYWRfdGVzdCgpIHsKKyAgICBwYWdlX2xvYWRlZCA9IHRydWU7CisKKyAgICB2
YXIgaW1hZ2UgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbWcnKTsKKyAgICBpbWFnZS5zcmMg
PSAnL3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1pbWFn
ZSZpZD1uMSc7CisgICAgYmFja2dyb3VuZF9sb2FkZWQgPSBpbWFnZS5jb21wbGV0ZWQ7CisgICAg
aWYgKCFiYWNrZ3JvdW5kX2xvYWRlZCkgeworICAgICAgICBpbWFnZS5vbmxvYWQgPSBmdW5jdGlv
bigpIHsKKyAgICAgICAgICAgIGJhY2tncm91bmRfbG9hZGVkID0gdHJ1ZTsKKyAgICAgICAgfQor
ICAgIH0KKworICAgIHNldEludGVydmFsKGNoZWNrX2ZpbmlzaGVkLCAxMDApOworfQorCitmdW5j
dGlvbiBwZXJmb3JtX3Rlc3QoKSB7CisgICAgdmFyIGVudHJpZXMgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgnZnJhbWVDb250ZXh0JykuY29udGVudFdpbmRvdy5wZXJmb3JtYW5jZS53ZWJraXRH
ZXRFbnRyaWVzKCk7CisKKyAgICB2YXIgZXhwZWN0ZWRfZW50cmllcyA9IHsKKyAgICAgICAgJy93
M2Mvd2VicGVyZi9yZXNvdXJjZXMvbmVzdGVkLmNzcyc6ICdsaW5rJywKKyAgICAgICAgJy93M2Mv
d2VicGVyZi9yZXNvdXJjZXMvYmxhbmtfaW1hZ2UucG5nJzogJ2ltZycsCisgICAgICAgICcvdzNj
L3dlYnBlcmYvcmVzb3VyY2VzL2JsYW5rX3BhZ2VfZ3JlZW4uaHRtJzogJ2lmcmFtZScsCisgICAg
ICAgICcvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2VtcHR5X3NjcmlwdC5qcyc6ICdzY3JpcHQnLAor
ICAgICAgICAnL3czYy93ZWJwZXJmL3Jlc291cmNlcy9ibGFua19wYWdlX3llbGxvdy5odG0nOiAn
eG1saHR0cHJlcXVlc3QnLAorICAgICAgICAnL3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0
ZV9yZXNvdXJjZS5waHA/dHlwZT1pbWFnZSZpZD0xJzogJ2NzcycsCisgICAgICAgICcvdzNjL3dl
YnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPWltYWdlJmlkPTInOiAn
Y3NzJywKKyAgICAgICAgJy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvQWhlbS50dGYnOiAnY3NzJywK
KyAgICAgICAgJy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5
cGU9Y3NzJmlkPW4xJzogJ2NzcycsCisgICAgICAgICcvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dl
bmVyYXRlX3Jlc291cmNlLnBocD90eXBlPWZvbnQmaWQ9bjEnOiAnY3NzJywKKyAgICAgICAgJy93
M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9aW1hZ2UmaWQ9
bjEnOiAnY3NzJywKKyAgICB9OworCisgICAgdGVzdF9yZXNvdXJjZV9lbnRyaWVzKGVudHJpZXMs
IGV4cGVjdGVkX2VudHJpZXMpOworICAgIGRvbmUoKTsKK30KKword2luZG93Lm9uX3Rlc3RfYm9k
eV9jcmVhdGVkID0gY2hlY2tfZmluaXNoZWQ7Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PGgxPkRlc2NyaXB0aW9uPC9oMT4KKzxwPlRoaXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCBhbGwgb2Yg
dGhlIGluaXRpYXRvciB0eXBlcyBhcmUgcmVwcmVzZW50ZWQuPC9wPgorPGRpdiBpZD0ibG9nIj48
L2Rpdj4KKzxpZnJhbWUgaWQ9ImZyYW1lQ29udGV4dCIgb25sb2FkPSJvbmxvYWRfdGVzdCgpOyIg
c3JjPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2FsbF9yZXNvdXJjZV90eXBlcy5odG0iIHN0eWxl
PSJ3aWR0aDogMjUwcHg7IGhlaWdodDogMjUwcHg7Ij48L2lmcmFtZT4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlz
c2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX3JlZGlyZWN0cy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVz
b3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9yZWRpcmVjdHMtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmE3ODk4ZDA2ZTU5M2RmNmRiNjU4NTlhNzM4MmU0YTdjYzY3YTY2YjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Np
b24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9yZWRpcmVjdHMtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTIgQEAKK0Rlc2NyaXB0aW9uCisKK1RoaXMgdGVzdCB2YWxpZGF0ZXMg
dGhhdCByZWRpcmVjdHMgZG8gbm90IGFsdGVyIHRoZSBVUkwuCisKKworCitQQVNTIC93M2Mvd2Vi
cGVyZi9yZXNvdXJjZXMvcmVkaXJlY3QucGhwP2xvY2F0aW9uPS93M2Mvd2VicGVyZi9yZXNvdXJj
ZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwJTNGdHlwZT1jc3MgaXMgZXhwZWN0ZWQgdG8gaGF2ZSBp
bml0aWF0b3JUeXBlIGxpbmsgCitQQVNTIC93M2Mvd2VicGVyZi9yZXNvdXJjZXMvcmVkaXJlY3Qu
cGhwP2xvY2F0aW9uPS93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhw
JTNGdHlwZT1pZnJhbWUgaXMgZXhwZWN0ZWQgdG8gaGF2ZSBpbml0aWF0b3JUeXBlIGlmcmFtZSAK
K1BBU1MgL3czYy93ZWJwZXJmL3Jlc291cmNlcy9yZWRpcmVjdC5waHA/bG9jYXRpb249L3czYy93
ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHAlM0Z0eXBlPWlmcmFtZSUyNmlk
PXhociBpcyBleHBlY3RlZCB0byBoYXZlIGluaXRpYXRvclR5cGUgeG1saHR0cHJlcXVlc3QgCitQ
QVNTIC93M2Mvd2VicGVyZi9yZXNvdXJjZXMvcmVkaXJlY3QucGhwP2xvY2F0aW9uPS93M2Mvd2Vi
cGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwJTNGdHlwZT1pbWFnZSBpcyBleHBl
Y3RlZCB0byBoYXZlIGluaXRpYXRvclR5cGUgaW1nIAorUEFTUyAvdzNjL3dlYnBlcmYvcmVzb3Vy
Y2VzL3JlZGlyZWN0LnBocD9sb2NhdGlvbj0vdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRl
X3Jlc291cmNlLnBocCUzRnR5cGU9c2NyaXB0IGlzIGV4cGVjdGVkIHRvIGhhdmUgaW5pdGlhdG9y
VHlwZSBzY3JpcHQgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dl
YnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX3JlZGly
ZWN0cy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9u
L3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2VfcmVkaXJlY3RzLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjU4YjhmZjM0ZGI2MDIxN2ExYzk5MDBhNTljMjlhMDNlOWNmOWM2YQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9y
ZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX3JlZGlyZWN0cy5odG1sCkBAIC0wLDAg
KzEsNDkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9
InV0Zi04IiAvPgorPHRpdGxlPlJlc291cmNlIFRpbWluZyByZWRpcmVjdCBuYW1lczwvdGl0bGU+
Cis8bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ikdvb2dsZSIgaHJlZj0iaHR0cDovL3d3dy5nb29n
bGUuY29tLyIgLz4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIv
cmVzb3VyY2UtdGltaW5nLyNwZXJmb3JtYW5jZXJlc291cmNldGltaW5nIi8+Cis8c2NyaXB0IHNy
Yz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0PgordmFyIGlmcmFtZTsKK2Z1bmN0aW9uIHNldHVwX2lmcmFtZSgpIHsKKyAg
ICB2YXIgaWZyYW1lX2NvbnRlbnQgPQorICAgICAgICAnPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBo
cmVmPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL3JlZGlyZWN0LnBocD9sb2NhdGlvbj0vdzNjL3dl
YnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocCUzRnR5cGU9Y3NzIj48L2xpbms+
JyArCisgICAgICAgICc8aW1nIHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNlcy9yZWRpcmVjdC5w
aHA/bG9jYXRpb249L3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHAl
M0Z0eXBlPWltYWdlIj48L2ltZz4nICsKKyAgICAgICAgJzxpZnJhbWUgc3JjPSIvdzNjL3dlYnBl
cmYvcmVzb3VyY2VzL3JlZGlyZWN0LnBocD9sb2NhdGlvbj0vdzNjL3dlYnBlcmYvcmVzb3VyY2Vz
L2dlbmVyYXRlX3Jlc291cmNlLnBocCUzRnR5cGU9aWZyYW1lIj48L2lmcmFtZT4nICsKKyAgICAg
ICAgJzxzY3JpcHQgc3JjPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL3JlZGlyZWN0LnBocD9sb2Nh
dGlvbj0vdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocCUzRnR5cGU9
c2NyaXB0Ij48L3NjcicgKyAnaXB0PicgKworICAgICAgICAnPHNjcmlwdD4nICsKKyAgICAgICAg
J3ZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3Q7JyArCisgICAgICAgICd4aHIub3BlbigiR0VU
IiwgIi93M2Mvd2VicGVyZi9yZXNvdXJjZXMvcmVkaXJlY3QucGhwP2xvY2F0aW9uPS93M2Mvd2Vi
cGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwJTNGdHlwZT1pZnJhbWUlMjZpZD14
aHIiLCBmYWxzZSk7JyArCisgICAgICAgICd4aHIuc2VuZCgpOycgKworICAgICAgICAnPC9zY3In
ICsgJ2lwdD4nOworICAgIGlmcmFtZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmcmFtZUNv
bnRleHQnKTsKKyAgICBpZnJhbWUuY29udGVudFdpbmRvdy5kb2N1bWVudC53cml0ZShpZnJhbWVf
Y29udGVudCk7Cit9CitmdW5jdGlvbiBvbmxvYWRfdGVzdCgpIHsKKyAgICB2YXIgZW50cmllcyA9
IGlmcmFtZS5jb250ZW50V2luZG93LnBlcmZvcm1hbmNlLndlYmtpdEdldEVudHJpZXMoKTsKKwor
ICAgIHZhciBleHBlY3RlZF9lbnRyaWVzID0geworICAgICAgICAnL3czYy93ZWJwZXJmL3Jlc291
cmNlcy9yZWRpcmVjdC5waHA/bG9jYXRpb249L3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0
ZV9yZXNvdXJjZS5waHAlM0Z0eXBlPWNzcyc6ICdsaW5rJywKKyAgICAgICAgJy93M2Mvd2VicGVy
Zi9yZXNvdXJjZXMvcmVkaXJlY3QucGhwP2xvY2F0aW9uPS93M2Mvd2VicGVyZi9yZXNvdXJjZXMv
Z2VuZXJhdGVfcmVzb3VyY2UucGhwJTNGdHlwZT1pbWFnZSc6ICdpbWcnLAorICAgICAgICAnL3cz
Yy93ZWJwZXJmL3Jlc291cmNlcy9yZWRpcmVjdC5waHA/bG9jYXRpb249L3czYy93ZWJwZXJmL3Jl
c291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHAlM0Z0eXBlPWlmcmFtZSc6ICdpZnJhbWUnLAor
ICAgICAgICAnL3czYy93ZWJwZXJmL3Jlc291cmNlcy9yZWRpcmVjdC5waHA/bG9jYXRpb249L3cz
Yy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHAlM0Z0eXBlPXNjcmlwdCc6
ICdzY3JpcHQnLAorICAgICAgICAnL3czYy93ZWJwZXJmL3Jlc291cmNlcy9yZWRpcmVjdC5waHA/
bG9jYXRpb249L3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHAlM0Z0
eXBlPWlmcmFtZSUyNmlkPXhocic6ICd4bWxodHRwcmVxdWVzdCcsCisgICAgfTsKKworICAgIHRl
c3RfcmVzb3VyY2VfZW50cmllcyhlbnRyaWVzLCBleHBlY3RlZF9lbnRyaWVzKTsKK30KK3dpbmRv
dy5zZXR1cF9pZnJhbWUgPSBzZXR1cF9pZnJhbWU7Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPGgxPkRlc2NyaXB0aW9uPC9oMT4KKzxwPlRoaXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCByZWRp
cmVjdHMgZG8gbm90IGFsdGVyIHRoZSBVUkwuPC9wPgorPGRpdiBpZD0ibG9nIj48L2Rpdj4KKzxp
ZnJhbWUgaWQ9ImZyYW1lQ29udGV4dCIgb25sb2FkPSJvbmxvYWRfdGVzdCgpOyIgc3JjPSIvdzNj
L3dlYnBlcmYvcmVzb3VyY2VzL2luamVjdF9yZXNvdXJjZV90ZXN0Lmh0bWwiPjwvaWZyYW1lPgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mv
d2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2Vfc2Ny
aXB0X3R5cGVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBl
cmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX3NjcmlwdF90
eXBlcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTZjNmY5Mzg1ZjQxOWNhYjRkODllZDEwN2E2
Zjk1MWI4YjY5ZDcyMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
dzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNl
X3NjcmlwdF90eXBlcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNiBAQAorRGVzY3JpcHRpb24K
KworVGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IGFsbCBvZiB0aGUgZGlmZmVyZW50IHR5cGVzIG9m
IHNjcmlwdCBsb2FkcyBhcmUgcmVwb3J0ZWQgd2l0aCB0aGUgY29ycmVjdCBpbml0aWF0b3IuCisK
KworCitQQVNTIC93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5
cGU9c2NyaXB0JmlkPTEgaXMgZXhwZWN0ZWQgdG8gaGF2ZSBpbml0aWF0b3JUeXBlIHNjcmlwdCAK
K1BBU1MgL3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1z
Y3JpcHQmaWQ9MiBpcyBleHBlY3RlZCB0byBoYXZlIGluaXRpYXRvclR5cGUgc2NyaXB0IAorUEFT
UyAvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPXNjcmlw
dCZpZD0zIGlzIGV4cGVjdGVkIHRvIGhhdmUgaW5pdGlhdG9yVHlwZSBzY3JpcHQgCitQQVNTIC93
M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9c2NyaXB0Jmlk
PTQgaXMgZXhwZWN0ZWQgdG8gaGF2ZSBpbml0aWF0b3JUeXBlIHNjcmlwdCAKK1BBU1MgL3czYy93
ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1zY3JpcHQmaWQ9NSBp
cyBleHBlY3RlZCB0byBoYXZlIGluaXRpYXRvclR5cGUgc2NyaXB0IAorUEFTUyAvdzNjL3dlYnBl
cmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPXNjcmlwdCZpZD02IGlzIGV4
cGVjdGVkIHRvIGhhdmUgaW5pdGlhdG9yVHlwZSBzY3JpcHQgCitQQVNTIC93M2Mvd2VicGVyZi9y
ZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9c2NyaXB0JmlkPTcgaXMgZXhwZWN0
ZWQgdG8gaGF2ZSBpbml0aWF0b3JUeXBlIHNjcmlwdCAKK1BBU1MgL3czYy93ZWJwZXJmL3Jlc291
cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1zY3JpcHQmaWQ9OCBpcyBleHBlY3RlZCB0
byBoYXZlIGluaXRpYXRvclR5cGUgc2NyaXB0IAorUEFTUyAvdzNjL3dlYnBlcmYvcmVzb3VyY2Vz
L2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPXNjcmlwdCZpZD05IGlzIGV4cGVjdGVkIHRvIGhh
dmUgaW5pdGlhdG9yVHlwZSBzY3JpcHQgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jl
c291cmNlX3NjcmlwdF90eXBlcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2Vi
cGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2Vfc2NyaXB0
X3R5cGVzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTAwMzliYjNlMjdlYTYwYjkzYmEwODEwYjY2OGM2NWJi
N2FiZjAzMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dl
YnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX3Njcmlw
dF90eXBlcy5odG1sCkBAIC0wLDAgKzEsNjYgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPgorPHRpdGxlPlJlc291cmNlIFRpbWluZyBz
Y3JpcHQgaW5pdGlhdG9yIHR5cGVzPC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0i
R29vZ2xlIiBocmVmPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20vIiAvPgorPGxpbmsgcmVsPSJoZWxw
IiBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9yZXNvdXJjZS10aW1pbmcvI2RvbS1wZXJmb3Jt
YW5jZXJlc291cmNldGltaW5nLWluaXRpYXRvcnR5cGUiLz4KKzxzY3JpcHQgc3JjPSIvdzNjL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3czYy9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii93M2Mv
d2VicGVyZi9yZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQ+Cit2YXIgaWZyYW1lOworZnVuY3Rpb24gc2V0dXBfaWZyYW1lKCkgeworICAgIHZhciBpZnJh
bWVfY29udGVudCA9CisgICAgICAgICc8c2NyaXB0IHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNl
cy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1zY3JpcHQmaWQ9MSI+PC9zY3InICsgJ2lwdD4n
ICsKKyAgICAgICAgJzxzY3JpcHQgc3JjPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRl
X3Jlc291cmNlLnBocD90eXBlPXNjcmlwdCZpZD0yIiBhc3luYz48L3NjcicgKyAnaXB0PicgKwor
ICAgICAgICAnPHNjcmlwdCBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVz
b3VyY2UucGhwP3R5cGU9c2NyaXB0JmlkPTMiIGFzeW5jPWZhbHNlPjwvc2NyJyArICdpcHQ+JyAr
CisgICAgICAgICc8c2NyaXB0IHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9y
ZXNvdXJjZS5waHA/dHlwZT1zY3JpcHQmaWQ9NCIgZGVmZXI+PC9zY3InICsgJ2lwdD4nICsKKyAg
ICAgICAgJzxzY3JpcHQ+JyArCisgICAgICAgICdkb2N1bWVudC53cml0ZSgiPHNjcmlwdCBzcmM9
XFwiL3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1zY3Jp
cHQmaWQ9NVxcIj48L3NjciIgKyAiaXB0PiIpOycgKworICAgICAgICAndmFyIHMxID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7JyArCisgICAgICAgICdzMS5zcmMgPSAiL3czYy93
ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1zY3JpcHQmaWQ9NiI7
JyArCisgICAgICAgICdkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVhZCIpWzBdLmFw
cGVuZENoaWxkKHMxKTsnICsKKyAgICAgICAgJ3ZhciBzMiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInNjcmlwdCIpOycgKworICAgICAgICAnczIuc3JjID0gIi93M2Mvd2VicGVyZi9yZXNvdXJj
ZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9c2NyaXB0JmlkPTciOycgKworICAgICAgICAn
czIuYXN5bmMgPSB0cnVlOycgKworICAgICAgICAnZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05h
bWUoImhlYWQiKVswXS5hcHBlbmRDaGlsZChzMik7JyArCisgICAgICAgICd2YXIgczMgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTsnICsKKyAgICAgICAgJ3MzLnNyYyA9ICIvdzNj
L3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPXNjcmlwdCZpZD04
IjsnICsKKyAgICAgICAgJ3MzLmFzeW5jID0gZmFsc2U7JyArCisgICAgICAgICdkb2N1bWVudC5n
ZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVhZCIpWzBdLmFwcGVuZENoaWxkKHMzKTsnICsKKyAgICAg
ICAgJ3ZhciBzNCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpOycgKworICAgICAg
ICAnczQuc3JjID0gIi93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhw
P3R5cGU9c2NyaXB0JmlkPTkiOycgKworICAgICAgICAnczQuZGVmZXIgPSB0cnVlOycgKworICAg
ICAgICAnZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXS5hcHBlbmRDaGls
ZChzNCk7JyArCisgICAgICAgICc8L3NjcicgKyAnaXB0Pic7CisgICAgaWZyYW1lID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ2ZyYW1lQ29udGV4dCcpOworICAgIGlmcmFtZS5jb250ZW50V2lu
ZG93LmRvY3VtZW50LndyaXRlKGlmcmFtZV9jb250ZW50KTsKK30KK2Z1bmN0aW9uIG9ubG9hZF90
ZXN0KCkgeworICAgIHZhciBlbnRyaWVzID0gaWZyYW1lLmNvbnRlbnRXaW5kb3cucGVyZm9ybWFu
Y2Uud2Via2l0R2V0RW50cmllcygpOworCisgICAgdmFyIGV4cGVjdGVkX2VudHJpZXMgPSB7Cisg
ICAgICAgICcvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBl
PXNjcmlwdCZpZD0xJzogJ3NjcmlwdCcsCisgICAgICAgICcvdzNjL3dlYnBlcmYvcmVzb3VyY2Vz
L2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPXNjcmlwdCZpZD0yJzogJ3NjcmlwdCcsCisgICAg
ICAgICcvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPXNj
cmlwdCZpZD0zJzogJ3NjcmlwdCcsCisgICAgICAgICcvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dl
bmVyYXRlX3Jlc291cmNlLnBocD90eXBlPXNjcmlwdCZpZD00JzogJ3NjcmlwdCcsCisgICAgICAg
ICcvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPXNjcmlw
dCZpZD01JzogJ3NjcmlwdCcsCisgICAgICAgICcvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVy
YXRlX3Jlc291cmNlLnBocD90eXBlPXNjcmlwdCZpZD02JzogJ3NjcmlwdCcsCisgICAgICAgICcv
dzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPXNjcmlwdCZp
ZD03JzogJ3NjcmlwdCcsCisgICAgICAgICcvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRl
X3Jlc291cmNlLnBocD90eXBlPXNjcmlwdCZpZD04JzogJ3NjcmlwdCcsCisgICAgICAgICcvdzNj
L3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPXNjcmlwdCZpZD05
JzogJ3NjcmlwdCcsCisgICAgfTsKKworICAgIHRlc3RfcmVzb3VyY2VfZW50cmllcyhlbnRyaWVz
LCBleHBlY3RlZF9lbnRyaWVzKTsKK30KK3dpbmRvdy5zZXR1cF9pZnJhbWUgPSBzZXR1cF9pZnJh
bWU7Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGgxPkRlc2NyaXB0aW9uPC9oMT4KKzxw
PlRoaXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCBhbGwgb2YgdGhlIGRpZmZlcmVudCB0eXBlcyBvZiBz
Y3JpcHQgbG9hZHMgYXJlIHJlcG9ydGVkIHdpdGggdGhlIGNvcnJlY3QgaW5pdGlhdG9yLjwvcAor
PGRpdiBpZD0ibG9nIj48L2Rpdj4KKzxpZnJhbWUgaWQ9ImZyYW1lQ29udGV4dCIgb25sb2FkPSJv
bmxvYWRfdGVzdCgpOyIgc3JjPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2luamVjdF9yZXNvdXJj
ZV90ZXN0Lmh0bWwiPjwvaWZyYW1lPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggZGI5ZTFhMTZjYTVmZjdk
NzNiYWMzZjQxNTU3N2QwOGRkZmRkNThkZS4uODI5YzIyZjdjZGE2MmE2MTg1YTBhOWNjYmQ5MTQy
NjZmMTE3ODA0ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVz
dEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhw
ZWN0YXRpb25zCkBAIC0zNjk5LDMgKzM2OTksNiBAQCBjcmJ1Zy5jb20vMTUyMDA3IHBsYXRmb3Jt
L2Nocm9taXVtL3ZpcnR1YWwvc29mdHdhcmVjb21wb3NpdGluZy9jb2xvci1tYXRjaGluZy9pbQog
Y3JidWcuY29tLzE1MjAwNyBwbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL3NvZnR3YXJlY29tcG9z
aXRpbmcvZ2VvbWV0cnkvYm91bmRzLWlnbm9yZXMtaGlkZGVuLWR5bmFtaWMtbmVnemluZGV4Lmh0
bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGNyYnVnLmNvbS8xNTIwMDcgWyBMaW51eCBNYWMgXSBw
bGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL3NvZnR3YXJlY29tcG9zaXRpbmcvZ2VvbWV0cnkvY2xp
cHBpbmctZm9yZWdyb3VuZC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBjcmJ1Zy5jb20vMTUy
MDA3IHBsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvc29mdHdhcmVjb21wb3NpdGluZy92aXNpYmls
aXR5L3Zpc2liaWxpdHktaW1hZ2UtbGF5ZXJzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KKwor
IyBGYWlscyB1bnRpbCB3ZSBlbmFibGUgdGhlIFJlc291cmNlIFRpbWluZyBBUEkuCit3ZWJraXQu
b3JnL2IvNjExMzggaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRp
bWluZyBbIFNraXAgXQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>166726</attachid>
            <date>2012-10-02 12:03:46 -0700</date>
            <delta_ts>2012-10-02 15:53:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-84883-20121002120259.patch</filename>
            <type>text/plain</type>
            <size>184903</size>
            <attacher name="James Simonsen">simonjam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMwMDQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWE4ZWI5NTJhMjllNWQ1
NjMwOWUyYmM0MGIxYWYyMzJlNjJhMmE5Mi4uYTlkMDVkZDU2N2IzYjNiZWY5NjhmMjUwZTFjMGQx
NDdkNDQzZjAyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzNyBAQAorMjAxMi0xMC0wMSAgSmFt
ZXMgU2ltb25zZW4gIDxzaW1vbmphbUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW1Jlc291cmNl
IFRpbWluZ10gRXhwb3NlIHRpbWluZyBpbmZvcm1hdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODQ4ODMKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBOb3RlOiBTdGFydCByZXZpZXdpbmcgaW4gdGhlIGxv
YWRlci8gZGlyZWN0b3J5LgorCisgICAgICAgIEFkZGVkIGEgTG9hZEluaXRpYXRvciBpbnRlcmZh
Y2UgdGhhdCBtdXN0IGJlIHBhc3NlZCBpbiB3aGVuZXZlciBhIHJlc291cmNlIGlzIHJlcXVlc3Rl
ZC4gSXQncworICAgICAgICB0eXBpY2FsbHkgdGhlIG5vZGUgdGhhdCBpbml0aWF0ZWQgdGhlIGxv
YWQuIFRoZSBMb2FkSW5pdGlhdG9yIHBhc3NlcyB0aGUgZG9jdW1lbnQgYW5kIG5hbWUgb2YKKyAg
ICAgICAgdGhlIGluaXRpYXRvci4KKworICAgICAgICBUaGUgYnVmZmVyIGlzIHBvcHVsYXRlZCBl
dmVuIGlmIHRoZSBsb2FkIHRpbWUgaW5mb3JtYXRpb24gaXMgbWlzc2luZy4gVGhpcyBhbGxvd3Mg
dGVzdGluZyBmcm9tCisgICAgICAgIERSVC4KKworICAgICAgICBUZXN0czogaHR0cC90ZXN0cy93
M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2Vf
YXR0cmlidXRlX29yZGVyLmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvdzNjL3dlYnBl
cmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX2R5bmFtaWNf
aW5zZXJ0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3Vi
bWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX2luaXRpYXRvcl90eXBl
cy5odG1sCisgICAgICAgICAgICAgICBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24v
cmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9yZWRpcmVjdHMuaHRtbAorICAgICAg
ICAgICAgICAgaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWlu
Zy9odG1sL3Rlc3RfcmVzb3VyY2Vfc2NyaXB0X3R5cGVzLmh0bWwKKworICAgICAgICAqIFdlYkNv
cmUuZ3lwaToKKyAgICAgICAgKiBjc3MvQ1NTRm9udEZhY2VTcmNWYWx1ZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpDU1NGb250RmFjZVNyY1ZhbHVlOjpjYWNoZWRGb250KToKKyAgICAgICAgKiBj
c3MvQ1NTSW1hZ2VTZXRWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NJbWFnZVNldFZh
bHVlOjpjYWNoZWRJbWFnZVNldCk6CisgICAgICAgICogY3NzL0NTU0ltYWdlVmFsdWUuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Q1NTSW1hZ2VWYWx1ZTo6Y2FjaGVkSW1hZ2UpOgorICAgICAgICAq
IGNzcy9DU1NMb2FkSW5pdGlhdG9yLmNwcDogVXNlZCBieSBhbGwgQ1NTIGluaXRpYXRvcnMuCisg
ICAgICAgIChXZWJDb3JlOjpDU1NMb2FkSW5pdGlhdG9yOjpDU1NMb2FkSW5pdGlhdG9yKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNTU0xvYWRJbml0aWF0b3I6OmluaXRpYXRvck5hbWUpOgorICAgICAg
ICAqIGNzcy9DU1NMb2FkSW5pdGlhdG9yLmg6CisgICAgICAgIChXVEYpOgorICAgICAgICAoV2Vi
Q29yZSk6CisgICAgICAgIChDU1NMb2FkSW5pdGlhdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OkNT
U0xvYWRJbml0aWF0b3I6OmluaXRpYXRvckRvY3VtZW50KToKKyAgICAgICAgKiBjc3MvU3R5bGVS
dWxlSW1wb3J0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZUltcG9ydDo6cmVxdWVz
dFN0eWxlU2hlZXQpOgorICAgICAgICAqIGNzcy9XZWJLaXRDU1NTVkdEb2N1bWVudFZhbHVlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OldlYktpdENTU1NWR0RvY3VtZW50VmFsdWU6OmxvYWQpOgor
ICAgICAgICAqIGNzcy9XZWJLaXRDU1NTaGFkZXJWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpXZWJLaXRDU1NTaGFkZXJWYWx1ZTo6Y2FjaGVkU2hhZGVyKToKKyAgICAgICAgKiBkb20vTm9k
ZS5oOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6aW5pdGlhdG9yTmFtZSk6CisgICAgICAgIChX
ZWJDb3JlOjpOb2RlOjppbml0aWF0b3JEb2N1bWVudCk6CisgICAgICAgIChOb2RlKToKKyAgICAg
ICAgKiBkb20vUHJvY2Vzc2luZ0luc3RydWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBy
b2Nlc3NpbmdJbnN0cnVjdGlvbjo6Y2hlY2tTdHlsZVNoZWV0KToKKyAgICAgICAgKiBkb20vU2Ny
aXB0RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRFbGVtZW50OjpyZXF1ZXN0
U2NyaXB0KToKKyAgICAgICAgKiBodG1sL0hUTUxMaW5rRWxlbWVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MTGlua0VsZW1lbnQ6OnByb2Nlc3MpOgorICAgICAgICAqIGh0bWwvSFRNTExp
bmtFbGVtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTGlua0VsZW1lbnQ6OmluaXRpYXRv
cik6CisgICAgICAgICogaHRtbC9wYXJzZXIvQ1NTUHJlbG9hZFNjYW5uZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTUHJlbG9hZFNjYW5uZXI6OmVtaXRSdWxlKToKKyAgICAgICAgKFdlYkNv
cmU6OkNTU1ByZWxvYWRTY2FubmVyOjppbml0aWF0b3JOYW1lKToKKyAgICAgICAgKFdlYkNvcmUp
OgorICAgICAgICAqIGh0bWwvcGFyc2VyL0NTU1ByZWxvYWRTY2FubmVyLmg6CisgICAgICAgIChD
U1NQcmVsb2FkU2Nhbm5lcik6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmVsb2FkU2Nhbm5lcjo6
aW5pdGlhdG9yRG9jdW1lbnQpOgorICAgICAgICAqIGh0bWwvcGFyc2VyL0hUTUxQcmVsb2FkU2Nh
bm5lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQcmVsb2FkVGFzazo6UHJlbG9hZFRhc2spOgor
ICAgICAgICAoV2ViQ29yZTo6UHJlbG9hZFRhc2s6OnByZWxvYWQpOgorICAgICAgICAoV2ViQ29y
ZTo6UHJlbG9hZFRhc2s6OmluaXRpYXRvck5hbWUpOgorICAgICAgICAoV2ViQ29yZTo6UHJlbG9h
ZFRhc2s6OmluaXRpYXRvckRvY3VtZW50KToKKyAgICAgICAgKFByZWxvYWRUYXNrKToKKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxQcmVsb2FkU2Nhbm5lcjo6cHJvY2Vzc1Rva2VuKToKKyAgICAgICAg
KiBodG1sL3RyYWNrL0xvYWRhYmxlVGV4dFRyYWNrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okxv
YWRhYmxlVGV4dFRyYWNrOjppbml0aWF0b3IpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAg
ICogaHRtbC90cmFjay9Mb2FkYWJsZVRleHRUcmFjay5oOgorICAgICAgICAoTG9hZGFibGVUZXh0
VHJhY2tDbGllbnQpOgorICAgICAgICAoTG9hZGFibGVUZXh0VHJhY2spOgorICAgICAgICAqIGxv
YWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9j
dW1lbnRUaHJlYWRhYmxlTG9hZGVyOjpsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KToKKyAgICAg
ICAgKFdlYkNvcmU6OkRvY3VtZW50VGhyZWFkYWJsZUxvYWRlcjo6Y3JlYXRlKToKKyAgICAgICAg
KFdlYkNvcmU6OkRvY3VtZW50VGhyZWFkYWJsZUxvYWRlcjo6RG9jdW1lbnRUaHJlYWRhYmxlTG9h
ZGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50VGhyZWFkYWJsZUxvYWRlcjo6bm90aWZ5
RmluaXNoZWQpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyOjps
b2FkUmVxdWVzdCk6CisgICAgICAgICogbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5o
OgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChEb2N1bWVudFRocmVhZGFibGVMb2FkZXIp
OgorICAgICAgICAqIGxvYWRlci9JbWFnZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJ
bWFnZUxvYWRlcjo6dXBkYXRlRnJvbUVsZW1lbnQpOgorICAgICAgICAqIGxvYWRlci9MaW5rTG9h
ZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxpbmtMb2FkZXI6OmxvYWRMaW5rKToKKyAgICAg
ICAgKiBsb2FkZXIvTGlua0xvYWRlckNsaWVudC5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgIChMaW5rTG9hZGVyQ2xpZW50KToKKyAgICAgICAgKiBsb2FkZXIvTG9hZEluaXRpYXRvci5o
OgorICAgICAgICAoV1RGKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoTG9hZEluaXRp
YXRvcik6CisgICAgICAgICogbG9hZGVyL0xvYWRJbml0aWF0b3JIYW5kbGUuY3BwOiBTYXZlcyBM
b2FkSW5pdGlhdG9yIGRhdGEgdW50aWwgdGhlIGxvYWQgY29tcGxldGVzLgorICAgICAgICAoV2Vi
Q29yZTo6TG9hZEluaXRpYXRvckhhbmRsZTo6TG9hZEluaXRpYXRvckhhbmRsZSk6CisgICAgICAg
IChXZWJDb3JlOjpMb2FkSW5pdGlhdG9ySGFuZGxlOjpjbGVhcik6CisgICAgICAgICogbG9hZGVy
L0xvYWRJbml0aWF0b3JIYW5kbGUuaDoKKyAgICAgICAgKExvYWRJbml0aWF0b3JIYW5kbGUpOgor
ICAgICAgICAoV2ViQ29yZTo6TG9hZEluaXRpYXRvckhhbmRsZTo6aW5pdGlhdG9yTmFtZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpMb2FkSW5pdGlhdG9ySGFuZGxlOjppbml0aWF0b3JEb2N1bWVudCk6
CisgICAgICAgICogbG9hZGVyL01haW5SZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpNYWluUmVzb3VyY2VMb2FkZXI6OmRpZEZpbmlzaExvYWRpbmcpOgorICAgICAgICAqIGxv
YWRlci9OdWxsTG9hZEluaXRpYXRvci5jcHA6IERlZmF1bHQgTG9hZEluaXRpdG9yIHVzZWQgaWYg
bm8gaW5mb3JtYXRpb24gaXMgYXZhaWxhYmxlLgorICAgICAgICAoV2ViQ29yZTo6TnVsbExvYWRJ
bml0aWF0b3I6Omluc3RhbmNlKToKKyAgICAgICAgKiBsb2FkZXIvTnVsbExvYWRJbml0aWF0b3Iu
aDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoTnVsbExvYWRJbml0aWF0b3IpOgorICAg
ICAgICAoV2ViQ29yZTo6TnVsbExvYWRJbml0aWF0b3I6OmluaXRpYXRvck5hbWUpOgorICAgICAg
ICAoV2ViQ29yZTo6TnVsbExvYWRJbml0aWF0b3I6OmluaXRpYXRvckRvY3VtZW50KToKKyAgICAg
ICAgKiBsb2FkZXIvUmVzb3VyY2VMb2FkTm90aWZpZXIuY3BwOiBDb2xsZWN0IHRpbWluZyBpbmZv
IGZvciBzdWJyZXNvdXJjZXMgd2hlbiBSRVNPVVJDRV9USU1JTkcgaXMgZW5hYmxlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OlJlc291cmNlTG9hZE5vdGlmaWVyOjpkaXNwYXRjaFdpbGxTZW5kUmVxdWVz
dCk6CisgICAgICAgICogbG9hZGVyL1Jlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlc291cmNlTG9hZGVyOjp3aWxsU2VuZFJlcXVlc3QpOiBLZWVwIHRyYWNrIG9mIHRoZSBv
cmlnaW5hbCByZXF1ZXN0IGV2ZW4gd2hlbiBjYWxsZWQgYnkgTWFpblJlc291cmNlTG9hZGVyLCB3
aGljaCBieXBhc3NlcyBpbml0KCkuCisgICAgICAgICogbG9hZGVyL1N1YnJlc291cmNlTG9hZGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN1YnJlc291cmNlTG9hZGVyOjp3aWxsU2VuZFJlcXVl
c3QpOgorICAgICAgICAoV2ViQ29yZTo6U3VicmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVSZXNw
b25zZSk6CisgICAgICAgIChXZWJDb3JlOjpTdWJyZXNvdXJjZUxvYWRlcjo6c2VuZERhdGFUb1Jl
c291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OlN1YnJlc291cmNlTG9hZGVyOjpkaWRGaW5pc2hM
b2FkaW5nKTogUG9wdWxhdGUgUmVzb3VyY2UgVGltaW5nIGJ1ZmZlciBoZXJlLgorICAgICAgICAq
IGxvYWRlci9UZXh0VHJhY2tMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAg
IChXZWJDb3JlOjpUZXh0VHJhY2tMb2FkZXI6OmN1ZUxvYWRUaW1lckZpcmVkKToKKyAgICAgICAg
KFdlYkNvcmU6OlRleHRUcmFja0xvYWRlcjo6cHJvY2Vzc05ld0N1ZURhdGEpOgorICAgICAgICAo
V2ViQ29yZTo6VGV4dFRyYWNrTG9hZGVyOjpkaWRSZWNlaXZlRGF0YSk6CisgICAgICAgIChXZWJD
b3JlOjpUZXh0VHJhY2tMb2FkZXI6Om5vdGlmeUZpbmlzaGVkKToKKyAgICAgICAgKFdlYkNvcmU6
OlRleHRUcmFja0xvYWRlcjo6bG9hZCk6CisgICAgICAgICogbG9hZGVyL1RleHRUcmFja0xvYWRl
ci5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChUZXh0VHJhY2tMb2FkZXJDbGllbnQp
OgorICAgICAgICAqIGxvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlRocmVhZGFibGVMb2FkZXI6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpUaHJlYWRh
YmxlTG9hZGVyOjpsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KToKKyAgICAgICAgKiBsb2FkZXIv
VGhyZWFkYWJsZUxvYWRlci5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChUaHJlYWRh
YmxlTG9hZGVyKToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwOgor
ICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpjYWNoZWRSZXNvdXJjZVR5cGVU
b1RhcmdldFR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OmxvYWQpOgor
ICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OmRhdGEpOgorICAgICAgICAoV2ViQ29y
ZTo6Q2FjaGVkUmVzb3VyY2U6OmZpbmlzaCk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNv
dXJjZTo6c3RvcExvYWRpbmcpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OnNl
dERlY29kZWRTaXplKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlOjpzZXRFbmNv
ZGVkU2l6ZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZTo6ZGlkQWNjZXNzRGVj
b2RlZERhdGEpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OnNldFJlc291cmNl
VG9SZXZhbGlkYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlOjpjbGVhclJl
c291cmNlVG9SZXZhbGlkYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlOjpt
dXN0UmV2YWxpZGF0ZUR1ZVRvQ2FjaGVIZWFkZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hl
ZFJlc291cmNlOjppc1NhZmVUb01ha2VQdXJnZWFibGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2Fj
aGVkUmVzb3VyY2U6Om1ha2VQdXJnZWFibGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVz
b3VyY2U6OnNldExvYWRQcmlvcml0eSk6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJl
c291cmNlLmg6CisgICAgICAgIChDYWNoZWRSZXNvdXJjZSk6CisgICAgICAgIChXZWJDb3JlOjpD
YWNoZWRSZXNvdXJjZTo6cmVzb3VyY2VSZXF1ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hl
ZFJlc291cmNlOjp1cmwpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OnNldElu
aXRpYXRvcik6IFRyYWNrIHRoaXMgZm9yIHRoZSBsaWZlIG9mIHRoZSBsb2FkLgorICAgICAgICAo
V2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OmluaXRpYXRvcik6CisgICAgICAgICogbG9hZGVyL2Nh
Y2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcDogUGFzcyB0aGUgaW5pdGlhdG9yIHRocm91Z2gu
CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdEltYWdlKToK
KyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0Rm9udCk6Cisg
ICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFRleHRUcmFjayk6
CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFNoYWRlcik6
CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdENTU1N0eWxl
U2hlZXQpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RV
c2VyQ1NTU3R5bGVTaGVldCk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRl
cjo6cmVxdWVzdFNjcmlwdCk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRl
cjo6cmVxdWVzdFhTTFN0eWxlU2hlZXQpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3Vy
Y2VMb2FkZXI6OnJlcXVlc3RTVkdEb2N1bWVudCk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRS
ZXNvdXJjZUxvYWRlcjo6cmVxdWVzdExpbmtSZXNvdXJjZSk6CisgICAgICAgIChXZWJDb3JlOjpD
YWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFJhd1Jlc291cmNlKToKKyAgICAgICAgKFdlYkNv
cmU6OkNhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0UmVzb3VyY2UpOgorICAgICAgICAoV2Vi
Q29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJldmFsaWRhdGVSZXNvdXJjZSk6CisgICAgICAg
IChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6bG9hZFJlc291cmNlKToKKyAgICAgICAg
KFdlYkNvcmU6OkNhY2hlZFJlc291cmNlTG9hZGVyOjpkZXRlcm1pbmVSZXZhbGlkYXRpb25Qb2xp
Y3kpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJj
ZUxvYWRlcjo6cHJlbG9hZCk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRl
cjo6Y2hlY2tGb3JQZW5kaW5nUHJlbG9hZHMpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVz
b3VyY2VMb2FkZXI6OnJlcXVlc3RQcmVsb2FkKToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2Fj
aGVkUmVzb3VyY2VMb2FkZXIuaDoKKyAgICAgICAgKENhY2hlZFJlc291cmNlTG9hZGVyKToKKyAg
ICAgICAgKFBlbmRpbmdQcmVsb2FkKToKKyAgICAgICAgKiBsb2FkZXIvaWNvbi9JY29uTG9hZGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okljb25Mb2FkZXI6OnN0YXJ0TG9hZGluZyk6CisgICAg
ICAgIChXZWJDb3JlOjpJY29uTG9hZGVyOjppbml0aWF0b3JOYW1lKToKKyAgICAgICAgKFdlYkNv
cmUpOgorICAgICAgICAoV2ViQ29yZTo6SWNvbkxvYWRlcjo6aW5pdGlhdG9yRG9jdW1lbnQpOgor
ICAgICAgICAqIGxvYWRlci9pY29uL0ljb25Mb2FkZXIuaDoKKyAgICAgICAgKEljb25Mb2FkZXIp
OgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGVy
Zm9ybWFuY2U6OmFkZFJlc291cmNlVGltaW5nKToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNl
Lmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFBlcmZvcm1hbmNlKToKKyAgICAgICAg
KiBwYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyk6Cisg
ICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjppbml0aWF0b3JUeXBl
KTogUmV0dXJucyB0aGUgcHJvcGVyIHZhbHVlIG5vdy4KKyAgICAgICAgKFdlYkNvcmU6OlBlcmZv
cm1hbmNlUmVzb3VyY2VUaW1pbmc6OmZldGNoU3RhcnQpOiBSZXR1cm5zIDAgaWYgbm90aGluZyBp
cyBhdmFpbGFibGUuCisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVJlc291cmNlVGltaW5n
Ojpkb21haW5Mb29rdXBTdGFydCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVJlc291
cmNlVGltaW5nOjpkb21haW5Mb29rdXBFbmQpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFu
Y2VSZXNvdXJjZVRpbWluZzo6Y29ubmVjdFN0YXJ0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZv
cm1hbmNlUmVzb3VyY2VUaW1pbmc6OmNvbm5lY3RFbmQpOgorICAgICAgICAoV2ViQ29yZTo6UGVy
Zm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6c2VjdXJlQ29ubmVjdGlvblN0YXJ0KToKKyAgICAgICAg
KFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnJlcXVlc3RTdGFydCk6CisgICAg
ICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpyZXNwb25zZVN0YXJ0KToK
KyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnJlc3BvbnNlRW5k
KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6Om1vbm90b25p
Y1RpbWVUb0RvY3VtZW50TWlsbGlzZWNvbmRzKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1h
bmNlUmVzb3VyY2VUaW1pbmc6OnJlc291cmNlVGltZVRvRG9jdW1lbnRNaWxsaXNlY29uZHMpOgor
ICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oOgorICAgICAgICAoV2Vi
Q29yZTo6UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6Y3JlYXRlKToKKyAgICAgICAgKFBlcmZv
cm1hbmNlUmVzb3VyY2VUaW1pbmcpOgorICAgICAgICAqIHN2Zy9TVkdGRUltYWdlRWxlbWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdGRUltYWdlRWxlbWVudDo6cmVxdWVzdEltYWdlUmVz
b3VyY2UpOgorICAgICAgICAqIHN2Zy9TVkdGb250RmFjZVVyaUVsZW1lbnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHRm9udEZhY2VVcmlFbGVtZW50Ojpsb2FkRm9udCk6CisgICAgICAgICog
c3ZnL1NWR1VzZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVXNlRWxlbWVudDo6
c3ZnQXR0cmlidXRlQ2hhbmdlZCk6CisgICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1ZXN0OjpjcmVhdGVSZXF1ZXN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1ZXN0OjpnZXRSZXNwb25zZUhlYWRlcik6CisgICAgICAg
IChXZWJDb3JlOjpYTUxIdHRwUmVxdWVzdDo6aW5pdGlhdG9yTmFtZSk6CisgICAgICAgIChXZWJD
b3JlKToKKyAgICAgICAgKiB4bWwvWE1MSHR0cFJlcXVlc3QuaDoKKyAgICAgICAgKFhNTEh0dHBS
ZXF1ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1ZXN0Ojppbml0aWF0b3JEb2N1
bWVudCk6CisgICAgICAgICogeG1sL1hTTEltcG9ydFJ1bGUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6WFNMSW1wb3J0UnVsZTo6flhTTEltcG9ydFJ1bGUpOgorICAgICAgICAoV2ViQ29yZTo6WFNM
SW1wb3J0UnVsZTo6c2V0WFNMU3R5bGVTaGVldCk6CisgICAgICAgIChXZWJDb3JlOjpYU0xJbXBv
cnRSdWxlOjpsb2FkU2hlZXQpOgorICAgICAgICAoV2ViQ29yZTo6WFNMSW1wb3J0UnVsZTo6aW5p
dGlhdG9yTmFtZSk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiB4bWwvWFNMSW1wb3J0
UnVsZS5oOgorICAgICAgICAoWFNMSW1wb3J0UnVsZSk6CisgICAgICAgIChXZWJDb3JlOjpYU0xJ
bXBvcnRSdWxlOjppbml0aWF0b3JEb2N1bWVudCk6CisKIDIwMTItMTAtMDEgIEFuZHJlaSBCdWN1
ciAgPGFidWN1ckBhZG9iZS5jb20+CiAKICAgICAgICAgW0NTUyBSZWdpb25zXSBSZW1vdmUgdGhl
IGRlcHJlY2F0ZWQgQVBJIERvY3VtZW50LndlYmtpdEdldEZsb3dCeU5hbWUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQKaW5kZXggNGI2OTI2OTNmYWJmMWZkZjIxMzFmYzUzNjRjODljODkxNTg5ZGU0OS4uNDVh
N2YzMDcyMmZlMTAyOTQwZTNjMTQyNDNhZGVlZTdlNzU4ZWIwNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50
eHQKQEAgLTEwMzAsNiArMTAzMCw3IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBjc3MvQ1NT
SW5oZXJpdGVkVmFsdWUuY3BwCiAgICAgY3NzL0NTU0luaXRpYWxWYWx1ZS5jcHAKICAgICBjc3Mv
Q1NTTGluZUJveENvbnRhaW5WYWx1ZS5jcHAKKyAgICBjc3MvQ1NTTG9hZEluaXRpYXRvci5jcHAK
ICAgICBjc3MvQ1NTTWVkaWFSdWxlLmNwcAogICAgIGNzcy9DU1NPTVV0aWxzLmNwcAogICAgIGNz
cy9DU1NQYWdlUnVsZS5jcHAKQEAgLTE2MjEsOCArMTYyMiwxMCBAQCBTRVQoV2ViQ29yZV9TT1VS
Q0VTCiAgICAgbG9hZGVyL0hpc3RvcnlDb250cm9sbGVyLmNwcAogICAgIGxvYWRlci9JbWFnZUxv
YWRlci5jcHAKICAgICBsb2FkZXIvTGlua0xvYWRlci5jcHAKKyAgICBsb2FkZXIvTG9hZEluaXRp
YXRvckhhbmRsZS5jcHAKICAgICBsb2FkZXIvTWFpblJlc291cmNlTG9hZGVyLmNwcAogICAgIGxv
YWRlci9OYXZpZ2F0aW9uQWN0aW9uLmNwcAorICAgIGxvYWRlci9OdWxsTG9hZEluaXRpYXRvci5j
cHAKICAgICBsb2FkZXIvTmV0c2NhcGVQbHVnSW5TdHJlYW1Mb2FkZXIuY3BwCiAgICAgbG9hZGVy
L1BpbmdMb2FkZXIuY3BwCiAgICAgbG9hZGVyL1BsYWNlaG9sZGVyRG9jdW1lbnQuY3BwCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNv
cmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCAyMmMzMTJjNWFkMzVjYmNhMmEwZjY1YTc0MjIx
MjU1ZjRhYjViNTE1Li5mNzc2NjVhYWU1NWEyMGY4MjNjM2RiNjllZWRmNDVkNDAwNDllODI4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTI1MzQsNiArMjUzNCw4IEBAIHdlYmNv
cmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvY3NzL0NTU0luaXRpYWxWYWx1ZS5oIFwK
IAlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTGluZUJveENvbnRhaW5WYWx1ZS5jcHAgXAogCVNvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NMaW5lQm94Q29udGFpblZhbHVlLmggXAorCVNvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NMb2FkSW5pdGlhdG9yLmNwcCBcCisJU291cmNlL1dlYkNvcmUvY3NzL0NTU0xvYWRJ
bml0aWF0b3IuaCBcCiAJU291cmNlL1dlYkNvcmUvY3NzL0NTU01lZGlhUnVsZS5jcHAgXAogCVNv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NNZWRpYVJ1bGUuaCBcCiAJU291cmNlL1dlYkNvcmUvY3NzL0NT
U05hbWVzcGFjZS5oIFwKQEAgLTM4ODMsMTIgKzM4ODUsMTcgQEAgd2ViY29yZV9zb3VyY2VzICs9
IFwKIAlTb3VyY2UvV2ViQ29yZS9sb2FkZXIvTGlua0xvYWRlci5oIFwKIAlTb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvTGlua0xvYWRlci5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2xvYWRlci9MaW5rTG9h
ZGVyQ2xpZW50LmggXAorCVNvdXJjZS9XZWJDb3JlL2xvYWRlci9Mb2FkSW5pdGlhdG9yLmggXAor
CVNvdXJjZS9XZWJDb3JlL2xvYWRlci9Mb2FkSW5pdGlhdG9ySGFuZGxlLmNwcCBcCisJU291cmNl
L1dlYkNvcmUvbG9hZGVyL0xvYWRJbml0aWF0b3JIYW5kbGUuaCBcCiAJU291cmNlL1dlYkNvcmUv
bG9hZGVyL01haW5SZXNvdXJjZUxvYWRlci5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2xvYWRlci9N
YWluUmVzb3VyY2VMb2FkZXIuaCBcCiAJU291cmNlL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25B
Y3Rpb24uY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvbkFjdGlvbi5oIFwK
IAlTb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmV0c2NhcGVQbHVnSW5TdHJlYW1Mb2FkZXIuY3BwIFwK
IAlTb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmV0c2NhcGVQbHVnSW5TdHJlYW1Mb2FkZXIuaCBcCisJ
U291cmNlL1dlYkNvcmUvbG9hZGVyL051bGxMb2FkSW5pdGlhdG9yLmNwcCBcCisJU291cmNlL1dl
YkNvcmUvbG9hZGVyL051bGxMb2FkSW5pdGlhdG9yLmggXAogCVNvdXJjZS9XZWJDb3JlL2xvYWRl
ci9QaW5nTG9hZGVyLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvbG9hZGVyL1BpbmdMb2FkZXIuaCBc
CiAJU291cmNlL1dlYkNvcmUvbG9hZGVyL1BsYWNlaG9sZGVyRG9jdW1lbnQuY3BwIFwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQu
cHJpCmluZGV4IDZjOWU0Y2NkODQ3ZDc0M2Y0N2VhYmIzYmIzN2VjMzMwYWE3ZTNjMjQuLjExZTFj
YzJlZmI5MThjMjA4YjBiMDk2YWE4MmY4MzYyZWU0OWJmZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1RhcmdldC5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQpAQCAtMjc4
LDYgKzI3OCw3IEBAIFNPVVJDRVMgKz0gXAogICAgIGNzcy9DU1NJbmhlcml0ZWRWYWx1ZS5jcHAg
XAogICAgIGNzcy9DU1NJbml0aWFsVmFsdWUuY3BwIFwKICAgICBjc3MvQ1NTTGluZUJveENvbnRh
aW5WYWx1ZS5jcHAgXAorICAgIGNzcy9DU1NMb2FkSW5pdGlhdG9yLmNwcCBcCiAgICAgY3NzL0NT
U01lZGlhUnVsZS5jcHAgXAogICAgIGNzcy9DU1NPTVV0aWxzLmNwcCBcCiAgICAgY3NzL0NTU1Bh
Z2VSdWxlLmNwcCBcCkBAIC04MjksOSArODMwLDExIEBAIFNPVVJDRVMgKz0gXAogICAgIGxvYWRl
ci9pY29uL0ljb25Mb2FkZXIuY3BwIFwKICAgICBsb2FkZXIvSW1hZ2VMb2FkZXIuY3BwIFwKICAg
ICBsb2FkZXIvTGlua0xvYWRlci5jcHAgXAorICAgIGxvYWRlci9Mb2FkSW5pdGlhdG9ySGFuZGxl
LmNwcCBcCiAgICAgbG9hZGVyL01haW5SZXNvdXJjZUxvYWRlci5jcHAgXAogICAgIGxvYWRlci9O
YXZpZ2F0aW9uQWN0aW9uLmNwcCBcCiAgICAgbG9hZGVyL05ldHNjYXBlUGx1Z0luU3RyZWFtTG9h
ZGVyLmNwcCBcCisgICAgbG9hZGVyL051bGxMb2FkSW5pdGlhdG9yLmNwcCBcCiAgICAgbG9hZGVy
L1BpbmdMb2FkZXIuY3BwIFwKICAgICBsb2FkZXIvUGxhY2Vob2xkZXJEb2N1bWVudC5jcHAgXAog
ICAgIGxvYWRlci9Qb2xpY3lDYWxsYmFjay5jcHAgXApAQCAtMTQ0MCw2ICsxNDQzLDcgQEAgSEVB
REVSUyArPSBcCiAgICAgY3NzL0NTU0ltcG9ydFJ1bGUuaCBcCiAgICAgY3NzL0NTU0luaGVyaXRl
ZFZhbHVlLmggXAogICAgIGNzcy9DU1NJbml0aWFsVmFsdWUuaCBcCisgICAgY3NzL0NTU0xvYWRJ
bml0aWF0b3IuaCBcCiAgICAgY3NzL0NTU01lZGlhUnVsZS5oIFwKICAgICBjc3MvQ1NTT01VdGls
cy5oIFwKICAgICBjc3MvQ1NTUGFnZVJ1bGUuaCBcCkBAIC0xOTUwLDkgKzE5NTQsMTIgQEAgSEVB
REVSUyArPSBcCiAgICAgbG9hZGVyL0ltYWdlTG9hZGVyLmggXAogICAgIGxvYWRlci9MaW5rTG9h
ZGVyLmggXAogICAgIGxvYWRlci9MaW5rTG9hZGVyQ2xpZW50LmggXAorICAgIGxvYWRlci9Mb2Fk
SW5pdGlhdG9yLmggXAorICAgIGxvYWRlci9Mb2FkSW5pdGlhdG9ySGFuZGxlLmggXAogICAgIGxv
YWRlci9NYWluUmVzb3VyY2VMb2FkZXIuaCBcCiAgICAgbG9hZGVyL05hdmlnYXRpb25BY3Rpb24u
aCBcCiAgICAgbG9hZGVyL05ldHNjYXBlUGx1Z0luU3RyZWFtTG9hZGVyLmggXAorICAgIGxvYWRl
ci9OdWxsTG9hZEluaXRpYXRvci5oIFwKICAgICBsb2FkZXIvUGxhY2Vob2xkZXJEb2N1bWVudC5o
IFwKICAgICBsb2FkZXIvUHJlcmVuZGVyZXIuaCBcCiAgICAgbG9hZGVyL1ByZXJlbmRlcmVyQ2xp
ZW50LmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDNiZTRlNmE4M2JmMjA5NzNkZGU1OTVkMjZmMmU0
N2ViNGI3MDQxOTQuLjQxYzUxZDUzMTY5MWU3N2RkNjM4ZTk5YzdmMTI3MTE1YWUxYjc3OWIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmd5cGkKQEAgLTI1NDEsNiArMjU0MSw4IEBACiAgICAgICAgICAgICAnY3NzL0NT
U0luaXRpYWxWYWx1ZS5jcHAnLAogICAgICAgICAgICAgJ2Nzcy9DU1NJbml0aWFsVmFsdWUuaCcs
CiAgICAgICAgICAgICAnY3NzL0NTU0xpbmVCb3hDb250YWluVmFsdWUuY3BwJywKKyAgICAgICAg
ICAgICdjc3MvQ1NTTG9hZEluaXRpYXRvci5jcHAnLAorICAgICAgICAgICAgJ2Nzcy9DU1NMb2Fk
SW5pdGlhdG9yLmgnLAogICAgICAgICAgICAgJ2Nzcy9DU1NNZWRpYVJ1bGUuY3BwJywKICAgICAg
ICAgICAgICdjc3MvQ1NTTWVkaWFSdWxlLmgnLAogICAgICAgICAgICAgJ2Nzcy9DU1NOYW1lc3Bh
Y2UuaCcsCkBAIC0yOTc0LDExICsyOTc2LDE2IEBACiAgICAgICAgICAgICAnbG9hZGVyL0xpbmtM
b2FkZXIuY3BwJywKICAgICAgICAgICAgICdsb2FkZXIvTGlua0xvYWRlci5oJywKICAgICAgICAg
ICAgICdsb2FkZXIvTGlua0xvYWRlckNsaWVudC5oJywKKyAgICAgICAgICAgICdsb2FkZXIvTG9h
ZEluaXRpYXRvci5oJywKKyAgICAgICAgICAgICdsb2FkZXIvTG9hZEluaXRpYXRvckhhbmRsZS5j
cHAnLAorICAgICAgICAgICAgJ2xvYWRlci9Mb2FkSW5pdGlhdG9ySGFuZGxlLmgnLAogICAgICAg
ICAgICAgJ2xvYWRlci9NYWluUmVzb3VyY2VMb2FkZXIuY3BwJywKICAgICAgICAgICAgICdsb2Fk
ZXIvTWFpblJlc291cmNlTG9hZGVyLmgnLAogICAgICAgICAgICAgJ2xvYWRlci9OYXZpZ2F0aW9u
QWN0aW9uLmNwcCcsCiAgICAgICAgICAgICAnbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3Bw
JywKICAgICAgICAgICAgICdsb2FkZXIvTmV0c2NhcGVQbHVnSW5TdHJlYW1Mb2FkZXIuY3BwJywK
KyAgICAgICAgICAgICdsb2FkZXIvTnVsbExvYWRJbml0aWF0b3IuY3BwJywKKyAgICAgICAgICAg
ICdsb2FkZXIvTnVsbExvYWRJbml0aWF0b3IuaCcsCiAgICAgICAgICAgICAnbG9hZGVyL1BpbmdM
b2FkZXIuY3BwJywKICAgICAgICAgICAgICdsb2FkZXIvUGluZ0xvYWRlci5oJywKICAgICAgICAg
ICAgICdsb2FkZXIvUGxhY2Vob2xkZXJEb2N1bWVudC5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCAwMjI2YTc5ZWE1N2IzZjU2OTkwZTdi
NDVlZmE2ODRmM2Q5NTM5NGU5Li40OGUyMGFiZDhjZTNmNzUzMTY0ZjA2MTI0NDdhNDliNWI2OGMx
NWQwIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZj
cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpA
QCAtMjc2NTksNiArMjc2NTksMTggQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJ
CVJlbGF0aXZlUGF0aD0iLi5cbG9hZGVyXExvYWRJbml0aWF0b3IuaCIKKwkJCQk+CisJCQk8L0Zp
bGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cbG9hZGVyXExvYWRJbml0aWF0b3JI
YW5kbGUuY3BwIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRo
PSIuLlxsb2FkZXJcTG9hZEluaXRpYXRvckhhbmRsZS5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJ
CTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxsb2FkZXJcTWFpblJlc291cmNlTG9hZGVyLmNw
cCIKIAkJCQk+CiAJCQk8L0ZpbGU+CkBAIC0yNzY5MSw2ICsyNzcwMywxNCBAQAogCQkJCT4KIAkJ
CTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxsb2FkZXJcTnVsbExvYWRJ
bml0aWF0b3IuY3BwIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQ
YXRoPSIuLlxsb2FkZXJcTnVsbExvYWRJbml0aWF0b3IuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJ
CQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cbG9hZGVyXFBpbmdMb2FkZXIuY3BwIgogCQkJ
CT4KIAkJCTwvRmlsZT4KQEAgLTM2MjU5LDYgKzM2Mjc5LDE0IEBACiAJCQkJPgogCQkJPC9GaWxl
PgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGNzc1xDU1NMb2FkSW5pdGlhdG9yLmNw
cCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cY3Nz
XENTU0xvYWRJbml0aWF0b3IuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJl
bGF0aXZlUGF0aD0iLi5cY3NzXENTU01lZGlhUnVsZS5jcHAiCiAJCQkJPgogCQkJCTxGaWxlQ29u
ZmlndXJhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCmluZGV4IDVlNTY4MzA0NGI3YThiMzI2ODA2MWFmYmExMTE2YTVmN2NlMWZkZTgu
LjFiMTM1YjIxNmEwMDMwOTk0ZDc4ZTlkOTZkNDkyNDdhMGI2MWExMWUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTI5NTEsNiAr
Mjk1MSwxMyBAQAogCQk4NjFDMkVBNDEzRkI0RkREMDAwNjJBQkIgLyogRG9jdW1lbnRMb2FkVGlt
aW5nLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2
MUMyRUEzMTNGQjRGREQwMDA2MkFCQiAvKiBEb2N1bWVudExvYWRUaW1pbmcuY3BwICovOyB9Owog
CQk4NjFDMkVBNjEzRkI0RkZGMDAwNjJBQkIgLyogUmVzb3VyY2VMb2FkVGltaW5nLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2MUMyRUE1MTNGQjRG
RkYwMDA2MkFCQiAvKiBSZXNvdXJjZUxvYWRUaW1pbmcuY3BwICovOyB9OwogCQk4NjI0M0QwMTEx
QkMzMUY3MDBDQzAwNkEgLyogSlNBcnJheUJ1ZmZlclZpZXdIZWxwZXIuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2MjQzRDAwMTFCQzMxRjcwMENDMDA2
QSAvKiBKU0FycmF5QnVmZmVyVmlld0hlbHBlci5oICovOyB9OworCQk4NjQ4MDlBNDE2MUE5QTFF
MDAyODIwRkEgLyogQ1NTTG9hZEluaXRpYXRvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBDU1NMb2FkSW5pdGlhdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJODY0ODA5QTUxNjFBOUExRTAwMjgyMEZBIC8qIENTU0xvYWRJbml0aWF0b3IuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ1NTTG9hZEluaXRpYXRvci5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NjQ4MDlBNjE2MUE5QTYxMDAyODIwRkEgLyogTG9h
ZEluaXRpYXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMb2FkSW5pdGlh
dG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg2NDgwOUE3MTYxQTlBNjEwMDI4
MjBGQSAvKiBMb2FkSW5pdGlhdG9ySGFuZGxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IExvYWRJbml0aWF0b3JIYW5kbGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk4NjQ4MDlBODE2MUE5QTYxMDAyODIwRkEgLyogTG9hZEluaXRpYXRvckhhbmRs
ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMb2FkSW5pdGlhdG9ySGFuZGxl
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg2NDgwOUE5MTYxQTlBNjEwMDI4MjBG
QSAvKiBOdWxsTG9hZEluaXRpYXRvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBOdWxsTG9hZEluaXRpYXRvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTg2NDgwOUFBMTYxQTlBNjEwMDI4MjBGQSAvKiBOdWxsTG9hZEluaXRpYXRvci5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOdWxsTG9hZEluaXRpYXRvci5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk4NjUxMkVERTE1NEEyQUVGMDBBOTA0MjYgLyogUGVyZm9y
bWFuY2VSZXNvdXJjZVRpbWluZy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA4NjUxMkVEQjE1NEEyQUVFMDBBOTA0MjYgLyogUGVyZm9ybWFuY2VSZXNv
dXJjZVRpbWluZy5jcHAgKi87IH07CiAJCTg2NTEyRURGMTU0QTJBRUYwMEE5MDQyNiAvKiBQZXJm
b3JtYW5jZVJlc291cmNlVGltaW5nLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA4NjUxMkVEQzE1NEEyQUVGMDBBOTA0MjYgLyogUGVyZm9ybWFuY2VSZXNv
dXJjZVRpbWluZy5oICovOyB9OwogCQk4NkJFMzQwMDE1MDU4Q0IyMDBDRTBGRDggLyogUGVyZm9y
bWFuY2VFbnRyeS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA4NkJFMzNGQTE1MDU4Q0IyMDBDRTBGRDggLyogUGVyZm9ybWFuY2VFbnRyeS5jcHAgKi87
IH07CkBAIC0xMDExMyw2ICsxMDEyMCwxMyBAQAogCQk4NjFDMkVBMzEzRkI0RkREMDAwNjJBQkIg
LyogRG9jdW1lbnRMb2FkVGltaW5nLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IERvY3VtZW50TG9hZFRpbWluZy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTg2MUMyRUE1MTNGQjRGRkYwMDA2MkFCQiAvKiBSZXNvdXJjZUxvYWRUaW1pbmcuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVzb3VyY2VMb2FkVGltaW5nLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODYyNDNEMDAxMUJDMzFGNzAwQ0MwMDZB
IC8qIEpTQXJyYXlCdWZmZXJWaWV3SGVscGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEpTQXJyYXlCdWZmZXJWaWV3SGVscGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTg2NDgwOUE0MTYxQTlBMUUwMDI4MjBGQSAvKiBDU1NMb2FkSW5pdGlhdG9yLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENTU0xvYWRJbml0aWF0b3IuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NjQ4MDlBNTE2MUE5QTFFMDAyODIwRkEg
LyogQ1NTTG9hZEluaXRpYXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBD
U1NMb2FkSW5pdGlhdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg2NDgwOUE2
MTYxQTlBNjEwMDI4MjBGQSAvKiBMb2FkSW5pdGlhdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IExvYWRJbml0aWF0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJODY0ODA5QTcxNjFBOUE2MTAwMjgyMEZBIC8qIExvYWRJbml0aWF0b3JIYW5kbGUuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTG9hZEluaXRpYXRvckhhbmRsZS5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg2NDgwOUE4MTYxQTlBNjEwMDI4MjBG
QSAvKiBMb2FkSW5pdGlhdG9ySGFuZGxlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IExvYWRJbml0aWF0b3JIYW5kbGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
ODY0ODA5QTkxNjFBOUE2MTAwMjgyMEZBIC8qIE51bGxMb2FkSW5pdGlhdG9yLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE51bGxMb2FkSW5pdGlhdG9yLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODY0ODA5QUExNjFBOUE2MTAwMjgyMEZBIC8qIE51
bGxMb2FkSW5pdGlhdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE51bGxM
b2FkSW5pdGlhdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg2NTEyRURCMTU0
QTJBRUUwMEE5MDQyNiAvKiBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NjUxMkVEQzE1NEEyQUVGMDBBOTA0MjYg
LyogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTg2NTEyRUREMTU0QTJBRUYwMEE5MDQyNiAvKiBQZXJmb3JtYW5jZVJlc291cmNl
VGltaW5nLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBQZXJmb3JtYW5jZVJlc291cmNlVGlt
aW5nLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIwNTk2LDYgKzIwNjEwLDkg
QEAKIAkJCQk5OENFNDMyNTEyOUUwMEJEMDA1ODIxREMgLyogTGlua0xvYWRlci5jcHAgKi8sCiAJ
CQkJOThDRTQzMjkxMjlFMDBFNTAwNTgyMURDIC8qIExpbmtMb2FkZXIuaCAqLywKIAkJCQk5ODQy
NjRFRjEyRDUyODBBMDAwRDg4QTQgLyogTGlua0xvYWRlckNsaWVudC5oICovLAorCQkJCTg2NDgw
OUE2MTYxQTlBNjEwMDI4MjBGQSAvKiBMb2FkSW5pdGlhdG9yLmggKi8sCisJCQkJODY0ODA5QTcx
NjFBOUE2MTAwMjgyMEZBIC8qIExvYWRJbml0aWF0b3JIYW5kbGUuY3BwICovLAorCQkJCTg2NDgw
OUE4MTYxQTlBNjEwMDI4MjBGQSAvKiBMb2FkSW5pdGlhdG9ySGFuZGxlLmggKi8sCiAJCQkJOTNF
MjI3REMwQUY1ODlBRDAwRDQ4MzI0IC8qIE1haW5SZXNvdXJjZUxvYWRlci5jcHAgKi8sCiAJCQkJ
NjU2RDM3MjkwQURCQTVERTAwQTQ1NTREIC8qIE1haW5SZXNvdXJjZUxvYWRlci5oICovLAogCQkJ
CTkzQ0NGMDVGMEFGNkNBNzYwMDAxOEU4OSAvKiBOYXZpZ2F0aW9uQWN0aW9uLmNwcCAqLywKQEAg
LTIwNjA0LDYgKzIwNjIxLDggQEAKIAkJCQk5NzlGNDNEMjEwNzVFNDRBMDAwMEY4M0IgLyogTmF2
aWdhdGlvblNjaGVkdWxlci5oICovLAogCQkJCTkzRTIyN0REMEFGNTg5QUQwMEQ0ODMyNCAvKiBO
ZXRzY2FwZVBsdWdJblN0cmVhbUxvYWRlci5jcHAgKi8sCiAJCQkJNjU2RDM3MkIwQURCQTVERTAw
QTQ1NTREIC8qIE5ldHNjYXBlUGx1Z0luU3RyZWFtTG9hZGVyLmggKi8sCisJCQkJODY0ODA5QTkx
NjFBOUE2MTAwMjgyMEZBIC8qIE51bGxMb2FkSW5pdGlhdG9yLmNwcCAqLywKKwkJCQk4NjQ4MDlB
QTE2MUE5QTYxMDAyODIwRkEgLyogTnVsbExvYWRJbml0aWF0b3IuaCAqLywKIAkJCQlEMEZGMkE1
QjExRjhDNDVBMDA3RTc0RTAgLyogUGluZ0xvYWRlci5jcHAgKi8sCiAJCQkJRDBGRjJBNUMxMUY4
QzQ1QTAwN0U3NEUwIC8qIFBpbmdMb2FkZXIuaCAqLywKIAkJCQkzNzdDNENERTEwMTRFOUY2MDBC
OUFFNDIgLyogUGxhY2Vob2xkZXJEb2N1bWVudC5jcHAgKi8sCkBAIC0yMTA5Myw2ICsyMTExMiw4
IEBACiAJCQkJQTgwRTZDREUwQTE5ODlDQTAwN0ZCOEM1IC8qIENTU0luaXRpYWxWYWx1ZS5oICov
LAogCQkJCUJDNzcyRTE1MTMzMTYyQzIwMDFFQzlDRSAvKiBDU1NMaW5lQm94Q29udGFpblZhbHVl
LmNwcCAqLywKIAkJCQlCQzc3MkUxMjEzMzE2MjBDMDAxRUM5Q0UgLyogQ1NTTGluZUJveENvbnRh
aW5WYWx1ZS5oICovLAorCQkJCTg2NDgwOUE0MTYxQTlBMUUwMDI4MjBGQSAvKiBDU1NMb2FkSW5p
dGlhdG9yLmNwcCAqLywKKwkJCQk4NjQ4MDlBNTE2MUE5QTFFMDAyODIwRkEgLyogQ1NTTG9hZElu
aXRpYXRvci5oICovLAogCQkJCUE4MEU2Q0QyMEExOTg5Q0EwMDdGQjhDNSAvKiBDU1NNZWRpYVJ1
bGUuY3BwICovLAogCQkJCUE4MEU2Q0Q5MEExOTg5Q0EwMDdGQjhDNSAvKiBDU1NNZWRpYVJ1bGUu
aCAqLywKIAkJCQk4NUM1NkNBMjBBQTg5QzEwMDBEOTU3NTUgLyogQ1NTTWVkaWFSdWxlLmlkbCAq
LywKQEAgLTIyNTA3LDYgKzIyNTI4LDcgQEAKIAkJCQlBODBFNkQwMTBBMTk4OUNBMDA3RkI4QzUg
LyogQ1NTSW5oZXJpdGVkVmFsdWUuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4MEU2RDA4MEExOTg5
Q0EwMDdGQjhDNSAvKiBDU1NJbml0aWFsVmFsdWUuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDNzcy
RTEzMTMzMTYyMEMwMDFFQzlDRSAvKiBDU1NMaW5lQm94Q29udGFpblZhbHVlLmggaW4gSGVhZGVy
cyAqLywKKwkJCQk4NjQ4MDlBNTE2MUE5QTFFMDAyODIwRkEgLyogQ1NTTG9hZEluaXRpYXRvci5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQTgwRTZEMDMwQTE5ODlDQTAwN0ZCOEM1IC8qIENTU01lZGlh
UnVsZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTgwRTczNEUwQTE5OUM3NzAwN0ZCOEM1IC8qIENT
U05hbWVzcGFjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRjk4RkZGNDUxMUEyNjc2MjAwRjU0OEU4
IC8qIENTU09NVXRpbHMuaCBpbiBIZWFkZXJzICovLApAQCAtMjQzNDYsNiArMjQzNjgsOCBAQAog
CQkJCTk4Q0U0MzJBMTI5RTAwRTUwMDU4MjFEQyAvKiBMaW5rTG9hZGVyLmggaW4gSGVhZGVycyAq
LywKIAkJCQk5ODQyNjRGMTEyRDUyODBBMDAwRDg4QTQgLyogTGlua0xvYWRlckNsaWVudC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJOTg1QkI5NkUxM0E5NDA1ODAwN0EwQjY5IC8qIExpbmtSZWxBdHRy
aWJ1dGUuaCBpbiBIZWFkZXJzICovLAorCQkJCTg2NDgwOUE2MTYxQTlBNjEwMDI4MjBGQSAvKiBM
b2FkSW5pdGlhdG9yLmggaW4gSGVhZGVycyAqLywKKwkJCQk4NjQ4MDlBODE2MUE5QTYxMDAyODIw
RkEgLyogTG9hZEluaXRpYXRvckhhbmRsZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTc1OUU5NDkx
NEVGMUQ0OTAwMjZBMkREIC8qIExvYWRhYmxlVGV4dFRyYWNrLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk2NTZEMzczMjBBREJBNURFMDBBNDU1NEQgLyogTG9hZGVyTlNVUkxFeHRyYXMuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTdFRTY4NDY5MTJEMjZFMzgwMEU3OTQxNSAvKiBMb2FkZXJSdW5Mb29wQ0Yu
aCBpbiBIZWFkZXJzICovLApAQCAtMjQ0NzAsNiArMjQ0OTQsNyBAQAogCQkJCTFBNTY5RDExMEQ3
RTJCODIwMDdDMzk4MyAvKiBucHJ1bnRpbWVfcHJpdi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUE5
MjdGRDQxNDE2QTE1QjAwM0E4M0M4IC8qIG5wdHlwZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTkz
NTAwRjMyMTNGREUzQkUwMDk5RUMyNCAvKiBOU1Njcm9sbGVySW1wRGV0YWlscy5oIGluIEhlYWRl
cnMgKi8sCisJCQkJODY0ODA5QUExNjFBOUE2MTAwMjgyMEZBIC8qIE51bGxMb2FkSW5pdGlhdG9y
LmggaW4gSGVhZGVycyAqLywKIAkJCQlGNTVCM0RDODEyNTFGMTJEMDAzRUYyNjkgLyogTnVtYmVy
SW5wdXRUeXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTU2OUQxMjBEN0UyQjgyMDA3QzM5ODMg
Lyogb2JqY19jbGFzcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUE1NjlEMTQwRDdFMkI4MjAwN0Mz
OTgzIC8qIG9iamNfaGVhZGVyLmggaW4gSGVhZGVycyAqLywKQEAgLTI2MDk0LDYgKzI2MTE5LDcg
QEAKIAkJCQlBODBFNkNGMDBBMTk4OUNBMDA3RkI4QzUgLyogQ1NTSW5oZXJpdGVkVmFsdWUuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJQTgwRTZEMDIwQTE5ODlDQTAwN0ZCOEM1IC8qIENTU0luaXRp
YWxWYWx1ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzc3MkUxNjEzMzE2MkMyMDAxRUM5Q0Ug
LyogQ1NTTGluZUJveENvbnRhaW5WYWx1ZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk4NjQ4MDlB
NDE2MUE5QTFFMDAyODIwRkEgLyogQ1NTTG9hZEluaXRpYXRvci5jcHAgaW4gU291cmNlcyovLAog
CQkJCUE4MEU2Q0ZDMEExOTg5Q0EwMDdGQjhDNSAvKiBDU1NNZWRpYVJ1bGUuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJRjk4RkZGNDQxMUEyNjc2MjAwRjU0OEU4IC8qIENTU09NVXRpbHMuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJQTgwRTZDRjUwQTE5ODlDQTAwN0ZCOEM1IC8qIENTU1BhZ2VSdWxl
LmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjc2NTMsNiArMjc2NzksNyBAQAogCQkJCUE3QUQyRjg3
MEVDODlEMDcwMDhBQjAwMiAvKiBMaW5rSGFzaC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5OENF
NDMyNjEyOUUwMEJEMDA1ODIxREMgLyogTGlua0xvYWRlci5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQk5ODVCQjk2RDEzQTk0MDU4MDA3QTBCNjkgLyogTGlua1JlbEF0dHJpYnV0ZS5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQk4NjQ4MDlBNzE2MUE5QTYxMDAyODIwRkEgLyogTG9hZEluaXRpYXRvckhh
bmRsZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5NzU5RTkzRTE0RUYxQ0Y4MDAyNkEyREQgLyog
TG9hZGFibGVUZXh0VHJhY2suY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNjU2RDM3MzMwQURCQTVE
RTAwQTQ1NTREIC8qIExvYWRlck5TVVJMRXh0cmFzLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJN0VF
Njg0NjgxMkQyNkUzODAwRTc5NDE1IC8qIExvYWRlclJ1bkxvb3BDRi5jcHAgaW4gU291cmNlcyAq
LywKQEAgLTI3NzU3LDYgKzI3Nzg0LDcgQEAKIAkJCQkxQTU2OUQwQTBEN0UyQjgyMDA3QzM5ODMg
LyogTlBfanNvYmplY3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUE1NjlEMEQwRDdFMkI4MjAw
N0MzOTgzIC8qIG5wcnVudGltZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MkY1MkUxMTE0QTAx
MzRGMDBBQ0MzOTcgLyogTlNTY3JvbGxlckltcERldGFpbHMubW0gaW4gU291cmNlcyAqLywKKwkJ
CQk4NjQ4MDlBOTE2MUE5QTYxMDAyODIwRkEgLyogTnVsbExvYWRJbml0aWF0b3IuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJRjU1QjNEQzcxMjUxRjEyRDAwM0VGMjY5IC8qIE51bWJlcklucHV0VHlw
ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQTU2OUQxMzBEN0UyQjgyMDA3QzM5ODMgLyogb2Jq
Y19jbGFzcy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTFBNTY5RDE2MEQ3RTJCODIwMDdDMzk4MyAv
KiBvYmpjX2luc3RhbmNlLm1tIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTRm9udEZhY2VTcmNWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
Rm9udEZhY2VTcmNWYWx1ZS5jcHAKaW5kZXggMmExYzA0Nzg3ZDZhMGM0Yzg3MTM4MDQ0YTJjMTc1
NTg5ODcxMGNmYi4uMDc3MmY0MDk1OTFkZmZjODg1YmU3ZmI0OGNjZWYwNGE0YzcyYTdiNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlU3JjVmFsdWUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZVNyY1ZhbHVlLmNwcApAQCAtMjUsNiArMjUs
NyBAQAogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiQ1NTRm9udEZhY2VTcmNWYWx1
ZS5oIgorI2luY2x1ZGUgIkNTU0xvYWRJbml0aWF0b3IuaCIKICNpbmNsdWRlICJDYWNoZWRGb250
LmgiCiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaCIKICNpbmNsdWRlICJEb2N1bWVu
dC5oIgpAQCAtOTYsNyArOTcsNyBAQCBDYWNoZWRGb250KiBDU1NGb250RmFjZVNyY1ZhbHVlOjpj
YWNoZWRGb250KERvY3VtZW50KiBkb2N1bWVudCkKIHsKICAgICBpZiAoIW1fY2FjaGVkRm9udCkg
ewogICAgICAgICBSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdChkb2N1bWVudC0+Y29tcGxldGVVUkwo
bV9yZXNvdXJjZSkpOwotICAgICAgICBtX2NhY2hlZEZvbnQgPSBkb2N1bWVudC0+Y2FjaGVkUmVz
b3VyY2VMb2FkZXIoKS0+cmVxdWVzdEZvbnQocmVxdWVzdCk7CisgICAgICAgIG1fY2FjaGVkRm9u
dCA9IGRvY3VtZW50LT5jYWNoZWRSZXNvdXJjZUxvYWRlcigpLT5yZXF1ZXN0Rm9udChyZXF1ZXN0
LCBDU1NMb2FkSW5pdGlhdG9yKGRvY3VtZW50KSk7CiAgICAgfQogICAgIHJldHVybiBtX2NhY2hl
ZEZvbnQuZ2V0KCk7CiB9CkBAIC0xMTMsNCArMTE0LDMgQEAgdm9pZCBDU1NGb250RmFjZVNyY1Zh
bHVlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5
T2IKIH0KIAogfQotCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VTZXRW
YWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VTZXRWYWx1ZS5jcHAKaW5kZXgg
NmUwMmEyMGY5NWFjM2YxNGY0NjFhMWM1MTAwYjRhZDYyYmQ5ZWYwYS4uMTlmY2JlNTViN2FmOGE4
ZjJkMzdmMTY2YTExOGMxOTcwM2I3YTNiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0ltYWdlU2V0VmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZVNl
dFZhbHVlLmNwcApAQCAtMjksNiArMjksNyBAQAogI2lmIEVOQUJMRShDU1NfSU1BR0VfU0VUKQog
CiAjaW5jbHVkZSAiQ1NTSW1hZ2VWYWx1ZS5oIgorI2luY2x1ZGUgIkNTU0xvYWRJbml0aWF0b3Iu
aCIKICNpbmNsdWRlICJDU1NQcmltaXRpdmVWYWx1ZS5oIgogI2luY2x1ZGUgIkNhY2hlZEltYWdl
LmgiCiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaCIKQEAgLTEwOSw3ICsxMTAsNyBA
QCBTdHlsZUNhY2hlZEltYWdlU2V0KiBDU1NJbWFnZVNldFZhbHVlOjpjYWNoZWRJbWFnZVNldChD
YWNoZWRSZXNvdXJjZUxvYWRlciogbG9hZAogICAgICAgICAvLyBhbmQgYW55IENTUyB0cmFuc2Zv
cm1zLiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODE2OTgKICAgICAg
ICAgSW1hZ2VXaXRoU2NhbGUgaW1hZ2UgPSBiZXN0SW1hZ2VGb3JTY2FsZUZhY3RvcigpOwogICAg
ICAgICBSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdChsb2FkZXItPmRvY3VtZW50KCktPmNvbXBsZXRl
VVJMKGltYWdlLmltYWdlVVJMKSk7Ci0gICAgICAgIGlmIChDYWNoZWRSZXNvdXJjZUhhbmRsZTxD
YWNoZWRJbWFnZT4gY2FjaGVkSW1hZ2UgPSBsb2FkZXItPnJlcXVlc3RJbWFnZShyZXF1ZXN0KSkg
eworICAgICAgICBpZiAoQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkSW1hZ2U+IGNhY2hlZElt
YWdlID0gbG9hZGVyLT5yZXF1ZXN0SW1hZ2UocmVxdWVzdCwgQ1NTTG9hZEluaXRpYXRvcihkb2N1
bWVudCkpKSB7CiAgICAgICAgICAgICBtX2ltYWdlU2V0ID0gU3R5bGVDYWNoZWRJbWFnZVNldDo6
Y3JlYXRlKGNhY2hlZEltYWdlLmdldCgpLCBpbWFnZS5zY2FsZUZhY3RvciwgdGhpcyk7CiAgICAg
ICAgICAgICBtX2FjY2Vzc2VkQmVzdEZpdEltYWdlID0gdHJ1ZTsKICAgICAgICAgfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlVmFsdWUuY3BwIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0ltYWdlVmFsdWUuY3BwCmluZGV4IDcyNmMyYzA0MzQ3MWU5NjdiOTJiYzlmYTc2
NGMzMjM5ZjJiN2E1NDYuLmI3MjI3Yzk0YjhiMWZmMDNkN2Y2ZWFmZTkwNDFhNTg3MDE3MGY5ZWUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZVZhbHVlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VWYWx1ZS5jcHAKQEAgLTIyLDYgKzIyLDcgQEAKICNp
bmNsdWRlICJDU1NJbWFnZVZhbHVlLmgiCiAKICNpbmNsdWRlICJDU1NDdXJzb3JJbWFnZVZhbHVl
LmgiCisjaW5jbHVkZSAiQ1NTTG9hZEluaXRpYXRvci5oIgogI2luY2x1ZGUgIkNTU1BhcnNlci5o
IgogI2luY2x1ZGUgIkNTU1ZhbHVlS2V5d29yZHMuaCIKICNpbmNsdWRlICJDYWNoZWRJbWFnZS5o
IgpAQCAtODMsNyArODQsNyBAQCBTdHlsZUNhY2hlZEltYWdlKiBDU1NJbWFnZVZhbHVlOjpjYWNo
ZWRJbWFnZShDYWNoZWRSZXNvdXJjZUxvYWRlciogbG9hZGVyLCBjb25zdAogICAgICAgICBtX2Fj
Y2Vzc2VkSW1hZ2UgPSB0cnVlOwogCiAgICAgICAgIFJlc291cmNlUmVxdWVzdCByZXF1ZXN0KGxv
YWRlci0+ZG9jdW1lbnQoKS0+Y29tcGxldGVVUkwodXJsKSk7Ci0gICAgICAgIGlmIChDYWNoZWRS
ZXNvdXJjZUhhbmRsZTxDYWNoZWRJbWFnZT4gY2FjaGVkSW1hZ2UgPSBsb2FkZXItPnJlcXVlc3RJ
bWFnZShyZXF1ZXN0KSkKKyAgICAgICAgaWYgKENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZElt
YWdlPiBjYWNoZWRJbWFnZSA9IGxvYWRlci0+cmVxdWVzdEltYWdlKHJlcXVlc3QsIENTU0xvYWRJ
bml0aWF0b3IobG9hZGVyLT5kb2N1bWVudCgpKSkpCiAgICAgICAgICAgICBtX2ltYWdlID0gU3R5
bGVDYWNoZWRJbWFnZTo6Y3JlYXRlKGNhY2hlZEltYWdlLmdldCgpKTsKICAgICB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NMb2FkSW5pdGlhdG9yLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NMb2FkSW5pdGlhdG9yLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yYzZhMDlhYTk3Yzc0
MmU0NTBiODRkNjhiMmIzYjQ3NjUyMWZiMGU5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0xvYWRJbml0aWF0b3IuY3BwCkBAIC0wLDAgKzEsNTAgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJp
YnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhl
IG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICog
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaW5jbHVkZSAiQ1NTTG9hZEluaXRpYXRvci5oIgorCisjaW5jbHVkZSA8d3Rm
L1N0ZExpYkV4dHJhcy5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmluZy5oPgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK0NTU0xvYWRJbml0aWF0b3I6OkNTU0xvYWRJbml0aWF0b3Io
RG9jdW1lbnQqIGRvY3VtZW50KQorICAgIDogbV9kb2N1bWVudChkb2N1bWVudCkKK3sKK30KKwor
Y29uc3QgV1RGOjpBdG9taWNTdHJpbmcmIENTU0xvYWRJbml0aWF0b3I6OmluaXRpYXRvck5hbWUo
KSBjb25zdAoreworICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCBuYW1lLCAo
ImNzcyIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpKTsKKyAgICByZXR1cm4g
bmFtZTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0xvYWRJbml0aWF0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NMb2Fk
SW5pdGlhdG9yLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTU4ZmFjYTBjYTI3NjVlZjNlYzlhYTYxMjMxOTM3ZTk2
NjYwOTdkMgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NMb2FkSW5p
dGlhdG9yLmgKQEAgLTAsMCArMSw1NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29n
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisg
KiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgQ1NTTG9hZEluaXRpYXRvcl9oCisjZGVm
aW5lIENTU0xvYWRJbml0aWF0b3JfaAorCisjaW5jbHVkZSAiTG9hZEluaXRpYXRvci5oIgorCitu
YW1lc3BhY2UgV1RGIHsKK2NsYXNzIEF0b21pY1N0cmluZzsKK30KKworbmFtZXNwYWNlIFdlYkNv
cmUgeworY2xhc3MgRG9jdW1lbnQ7CisKK2NsYXNzIENTU0xvYWRJbml0aWF0b3IgOiBwdWJsaWMg
TG9hZEluaXRpYXRvciB7CitwdWJsaWM6CisgICAgQ1NTTG9hZEluaXRpYXRvcihEb2N1bWVudCop
OworCisgICAgdmlydHVhbCBjb25zdCBXVEY6OkF0b21pY1N0cmluZyYgaW5pdGlhdG9yTmFtZSgp
IGNvbnN0OworICAgIHZpcnR1YWwgRG9jdW1lbnQqIGluaXRpYXRvckRvY3VtZW50KCkgY29uc3Qg
eyByZXR1cm4gbV9kb2N1bWVudDsgfQorCitwcml2YXRlOgorICAgIERvY3VtZW50KiBtX2RvY3Vt
ZW50OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gQ1NTTG9hZElu
aXRpYXRvcl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlSW1wb3J0
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGVJbXBvcnQuY3BwCmluZGV4IDI2ZjI5
ZTgyZjgwYTlmZjUxZGFjZTU3MGQ4ZjQ3ZTkzOGFlNWRlMGEuLjkzZmNlMjVjMmQ0NmZiNDFjYjgy
ZDFlMTdhNjM5M2EzNTgwMDcyN2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHls
ZVJ1bGVJbXBvcnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGVJbXBvcnQu
Y3BwCkBAIC0yMiw2ICsyMiw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiU3R5
bGVSdWxlSW1wb3J0LmgiCiAKKyNpbmNsdWRlICJDU1NMb2FkSW5pdGlhdG9yLmgiCiAjaW5jbHVk
ZSAiQ1NTU3R5bGVTaGVldC5oIgogI2luY2x1ZGUgIkNhY2hlZENTU1N0eWxlU2hlZXQuaCIKICNp
bmNsdWRlICJDYWNoZWRSZXNvdXJjZUxvYWRlci5oIgpAQCAtMTE3LDkgKzExOCw5IEBAIHZvaWQg
U3R5bGVSdWxlSW1wb3J0OjpyZXF1ZXN0U3R5bGVTaGVldCgpCiAKICAgICBSZXNvdXJjZVJlcXVl
c3QgcmVxdWVzdChhYnNVUkwpOwogICAgIGlmIChtX3BhcmVudFN0eWxlU2hlZXQtPmlzVXNlclN0
eWxlU2hlZXQoKSkKLSAgICAgICAgbV9jYWNoZWRTaGVldCA9IGNhY2hlZFJlc291cmNlTG9hZGVy
LT5yZXF1ZXN0VXNlckNTU1N0eWxlU2hlZXQocmVxdWVzdCwgbV9wYXJlbnRTdHlsZVNoZWV0LT5j
aGFyc2V0KCkpOworICAgICAgICBtX2NhY2hlZFNoZWV0ID0gY2FjaGVkUmVzb3VyY2VMb2FkZXIt
PnJlcXVlc3RVc2VyQ1NTU3R5bGVTaGVldChyZXF1ZXN0LCBtX3BhcmVudFN0eWxlU2hlZXQtPmNo
YXJzZXQoKSwgQ1NTTG9hZEluaXRpYXRvcihkb2N1bWVudCkpOwogICAgIGVsc2UKLSAgICAgICAg
bV9jYWNoZWRTaGVldCA9IGNhY2hlZFJlc291cmNlTG9hZGVyLT5yZXF1ZXN0Q1NTU3R5bGVTaGVl
dChyZXF1ZXN0LCBtX3BhcmVudFN0eWxlU2hlZXQtPmNoYXJzZXQoKSk7CisgICAgICAgIG1fY2Fj
aGVkU2hlZXQgPSBjYWNoZWRSZXNvdXJjZUxvYWRlci0+cmVxdWVzdENTU1N0eWxlU2hlZXQocmVx
dWVzdCwgbV9wYXJlbnRTdHlsZVNoZWV0LT5jaGFyc2V0KCksIENTU0xvYWRJbml0aWF0b3IoZG9j
dW1lbnQpKTsKICAgICBpZiAobV9jYWNoZWRTaGVldCkgewogICAgICAgICAvLyBpZiB0aGUgaW1w
b3J0IHJ1bGUgaXMgaXNzdWVkIGR5bmFtaWNhbGx5LCB0aGUgc2hlZXQgbWF5IGJlCiAgICAgICAg
IC8vIHJlbW92ZWQgZnJvbSB0aGUgcGVuZGluZyBzaGVldCBjb3VudCwgc28gbGV0IHRoZSBkb2Mg
a25vdwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1NWR0RvY3VtZW50
VmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1NWR0RvY3VtZW50VmFsdWUu
Y3BwCmluZGV4IDQ0Yzg4MDg5NDcwZTgzOWQ5NzRlYmEwMWNjMDZmN2Q5MjBjMTgxMjIuLmFmMjhm
Zjk3Yzk4YjkxMDEzNTE5MGZlZTI4NzVmZjc3MTdlYjk3M2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9XZWJLaXRDU1NTVkdEb2N1bWVudFZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvV2ViS2l0Q1NTU1ZHRG9jdW1lbnRWYWx1ZS5jcHAKQEAgLTI3LDYgKzI3LDcgQEAK
ICNpZiBFTkFCTEUoU1ZHKQogI2luY2x1ZGUgIldlYktpdENTU1NWR0RvY3VtZW50VmFsdWUuaCIK
IAorI2luY2x1ZGUgIkNTU0xvYWRJbml0aWF0b3IuaCIKICNpbmNsdWRlICJDU1NQYXJzZXIuaCIK
ICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUxvYWRlci5oIgogI2luY2x1ZGUgIkRvY3VtZW50Lmgi
CkBAIC01Myw3ICs1NCw3IEBAIENhY2hlZFNWR0RvY3VtZW50KiBXZWJLaXRDU1NTVkdEb2N1bWVu
dFZhbHVlOjpsb2FkKENhY2hlZFJlc291cmNlTG9hZGVyKiBsb2FkZXIpCiAgICAgICAgIG1fbG9h
ZFJlcXVlc3RlZCA9IHRydWU7CiAKICAgICAgICAgUmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QobG9h
ZGVyLT5kb2N1bWVudCgpLT5jb21wbGV0ZVVSTChtX3VybCkpOwotICAgICAgICBtX2RvY3VtZW50
ID0gbG9hZGVyLT5yZXF1ZXN0U1ZHRG9jdW1lbnQocmVxdWVzdCk7CisgICAgICAgIG1fZG9jdW1l
bnQgPSBsb2FkZXItPnJlcXVlc3RTVkdEb2N1bWVudChyZXF1ZXN0LCBDU1NMb2FkSW5pdGlhdG9y
KGxvYWRlci0+ZG9jdW1lbnQoKSkpOwogICAgIH0KIAogICAgIHJldHVybiBtX2RvY3VtZW50Lmdl
dCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1NoYWRlclZhbHVl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NTaGFkZXJWYWx1ZS5jcHAKaW5kZXgg
NmY5MzczZTBmMGZhMmRmOGJmNDk0MjgxYjVjMmQ4NzcyOWFiYjk2MS4uZTIyMDJkZWQ4OWZkM2Vm
NzM5NzQ2OTc2OWE5ZmY4MTE5NTMyMTczZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L1dlYktpdENTU1NoYWRlclZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0
Q1NTU2hhZGVyVmFsdWUuY3BwCkBAIC0zMiw4ICszMiw5IEBACiAjaWYgRU5BQkxFKENTU19TSEFE
RVJTKQogI2luY2x1ZGUgIldlYktpdENTU1NoYWRlclZhbHVlLmgiCiAKLSNpbmNsdWRlICJDYWNo
ZWRSZXNvdXJjZUxvYWRlci5oIgorI2luY2x1ZGUgIkNTU0xvYWRJbml0aWF0b3IuaCIKICNpbmNs
dWRlICJDU1NQYXJzZXIuaCIKKyNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUxvYWRlci5oIgogI2lu
Y2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiU3R5bGVDYWNoZWRTaGFkZXIuaCIKICNpbmNs
dWRlICJTdHlsZVBlbmRpbmdTaGFkZXIuaCIKQEAgLTYwLDcgKzYxLDcgQEAgU3R5bGVDYWNoZWRT
aGFkZXIqIFdlYktpdENTU1NoYWRlclZhbHVlOjpjYWNoZWRTaGFkZXIoQ2FjaGVkUmVzb3VyY2VM
b2FkZXIqIGxvYWQKICAgICAgICAgbV9hY2Nlc3NlZFNoYWRlciA9IHRydWU7CiAKICAgICAgICAg
UmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QobG9hZGVyLT5kb2N1bWVudCgpLT5jb21wbGV0ZVVSTCht
X3VybCkpOwotICAgICAgICBpZiAoQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkU2hhZGVyPiBj
YWNoZWRTaGFkZXIgPSBsb2FkZXItPnJlcXVlc3RTaGFkZXIocmVxdWVzdCkpCisgICAgICAgIGlm
IChDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRTaGFkZXI+IGNhY2hlZFNoYWRlciA9IGxvYWRl
ci0+cmVxdWVzdFNoYWRlcihyZXF1ZXN0LCBDU1NMb2FkSW5pdGlhdG9yKGxvYWRlci0+ZG9jdW1l
bnQoKSkpKQogICAgICAgICAgICAgbV9zaGFkZXIgPSBTdHlsZUNhY2hlZFNoYWRlcjo6Y3JlYXRl
KGNhY2hlZFNoYWRlci5nZXQoKSk7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vTm9kZS5oIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaAppbmRleCA5ZjNjZmYxMDEz
YmRhZDMzOGE0ZGU5ZThjOWFiYzA3Y2IyOTZhNDRhLi45MGQzZjZjOTNhMzk5NTA0YzM2ZDFkMzYx
MTgxNjI2NWZhM2U4NWE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmgKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRl
ICJGcmFjdGlvbmFsTGF5b3V0UmVjdC5oIgogI2luY2x1ZGUgIktVUkxIYXNoLmgiCiAjaW5jbHVk
ZSAiTGF5b3V0VHlwZXMuaCIKKyNpbmNsdWRlICJMb2FkSW5pdGlhdG9yLmgiCiAjaW5jbHVkZSAi
TXV0YXRpb25PYnNlcnZlci5oIgogI2luY2x1ZGUgIlJlbmRlclN0eWxlQ29uc3RhbnRzLmgiCiAj
aW5jbHVkZSAiU2NyaXB0V3JhcHBhYmxlLmgiCkBAIC0xMTEsNyArMTEyLDcgQEAgZW51bSBTdHls
ZUNoYW5nZVR5cGUgewogICAgIFN5bnRoZXRpY1N0eWxlQ2hhbmdlID0gMyA8PCBub2RlU3R5bGVD
aGFuZ2VTaGlmdAogfTsKIAotY2xhc3MgTm9kZSA6IHB1YmxpYyBFdmVudFRhcmdldCwgcHVibGlj
IFNjcmlwdFdyYXBwYWJsZSwgcHVibGljIFRyZWVTaGFyZWQ8Tm9kZSwgQ29udGFpbmVyTm9kZT4g
eworY2xhc3MgTm9kZSA6IHB1YmxpYyBFdmVudFRhcmdldCwgcHVibGljIFNjcmlwdFdyYXBwYWJs
ZSwgcHVibGljIFRyZWVTaGFyZWQ8Tm9kZSwgQ29udGFpbmVyTm9kZT4sIHB1YmxpYyBMb2FkSW5p
dGlhdG9yIHsKICAgICBmcmllbmQgY2xhc3MgRG9jdW1lbnQ7CiAgICAgZnJpZW5kIGNsYXNzIFRy
ZWVTY29wZTsKICAgICBmcmllbmQgY2xhc3MgVHJlZVNjb3BlQWRvcHRlcjsKQEAgLTY2OSw2ICs2
NzAsOSBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgcmVwb3J0TWVtb3J5VXNhZ2UoTWVt
b3J5T2JqZWN0SW5mbyopIGNvbnN0OwogCisgICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcm
IGluaXRpYXRvck5hbWUoKSBjb25zdCB7IHJldHVybiBsb2NhbE5hbWUoKTsgfQorICAgIHZpcnR1
YWwgRG9jdW1lbnQqIGluaXRpYXRvckRvY3VtZW50KCkgY29uc3QgeyByZXR1cm4gZG9jdW1lbnQo
KTsgfQorCiBwcml2YXRlOgogICAgIGVudW0gTm9kZUZsYWdzIHsKICAgICAgICAgSXNUZXh0Rmxh
ZyA9IDEsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vUHJvY2Vzc2luZ0luc3RydWN0
aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uY3BwCmlu
ZGV4IDY3NTliZWNiYzZhZGE0MjhhZWQ2NzIyM2QwMjNmODRjOTVlOTVlOWIuLjEzM2JkNTNkY2Rl
OGEwZTQ4YzcwYzQ0Y2M0MjEwMTZmN2ZmYmQ4NzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Q
cm9jZXNzaW5nSW5zdHJ1Y3Rpb24uY3BwCkBAIC0xNjYsNyArMTY2LDcgQEAgdm9pZCBQcm9jZXNz
aW5nSW5zdHJ1Y3Rpb246OmNoZWNrU3R5bGVTaGVldCgpCiAgICAgICAgICAgICBSZXNvdXJjZVJl
cXVlc3QgcmVxdWVzdChkb2N1bWVudCgpLT5jb21wbGV0ZVVSTChocmVmKSk7CiAjaWYgRU5BQkxF
KFhTTFQpCiAgICAgICAgICAgICBpZiAobV9pc1hTTCkKLSAgICAgICAgICAgICAgICBtX2NhY2hl
ZFNoZWV0ID0gZG9jdW1lbnQoKS0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKS0+cmVxdWVzdFhTTFN0
eWxlU2hlZXQocmVxdWVzdCk7CisgICAgICAgICAgICAgICAgbV9jYWNoZWRTaGVldCA9IGRvY3Vt
ZW50KCktPmNhY2hlZFJlc291cmNlTG9hZGVyKCktPnJlcXVlc3RYU0xTdHlsZVNoZWV0KHJlcXVl
c3QsICp0aGlzKTsKICAgICAgICAgICAgIGVsc2UKICNlbmRpZgogICAgICAgICAgICAgewpAQCAt
MTc0LDcgKzE3NCw3IEBAIHZvaWQgUHJvY2Vzc2luZ0luc3RydWN0aW9uOjpjaGVja1N0eWxlU2hl
ZXQoKQogICAgICAgICAgICAgICAgIGlmIChjaGFyc2V0LmlzRW1wdHkoKSkKICAgICAgICAgICAg
ICAgICAgICAgY2hhcnNldCA9IGRvY3VtZW50KCktPmNoYXJzZXQoKTsKIAotICAgICAgICAgICAg
ICAgIG1fY2FjaGVkU2hlZXQgPSBkb2N1bWVudCgpLT5jYWNoZWRSZXNvdXJjZUxvYWRlcigpLT5y
ZXF1ZXN0Q1NTU3R5bGVTaGVldChyZXF1ZXN0LCBjaGFyc2V0KTsKKyAgICAgICAgICAgICAgICBt
X2NhY2hlZFNoZWV0ID0gZG9jdW1lbnQoKS0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKS0+cmVxdWVz
dENTU1N0eWxlU2hlZXQocmVxdWVzdCwgY2hhcnNldCwgKnRoaXMpOwogICAgICAgICAgICAgfQog
ICAgICAgICAgICAgaWYgKG1fY2FjaGVkU2hlZXQpCiAgICAgICAgICAgICAgICAgbV9jYWNoZWRT
aGVldC0+YWRkQ2xpZW50KHRoaXMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1Nj
cmlwdEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuY3BwCmlu
ZGV4IDIwOWZjNzljMWM4YzA4YTRmNjlhOTk5OTgzZmIwNzE5ODYzOGU2OTYuLmM2YTRkYjcwMDcy
NjlmM2M0ODEzYmMwYTQ5MjFhYjI0MDJkNmFmMDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9TY3JpcHRFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RWxl
bWVudC5jcHAKQEAgLTI2NSw3ICsyNjUsNyBAQCBib29sIFNjcmlwdEVsZW1lbnQ6OnJlcXVlc3RT
Y3JpcHQoY29uc3QgU3RyaW5nJiBzb3VyY2VVcmwpCiAgICAgICAgICAgICB1cGRhdGVSZXF1ZXN0
Rm9yQWNjZXNzQ29udHJvbChyZXF1ZXN0LCBtX2VsZW1lbnQtPmRvY3VtZW50KCktPnNlY3VyaXR5
T3JpZ2luKCksIGFsbG93Q3JlZGVudGlhbHMpOwogICAgICAgICB9CiAKLSAgICAgICAgbV9jYWNo
ZWRTY3JpcHQgPSBtX2VsZW1lbnQtPmRvY3VtZW50KCktPmNhY2hlZFJlc291cmNlTG9hZGVyKCkt
PnJlcXVlc3RTY3JpcHQocmVxdWVzdCwgc2NyaXB0Q2hhcnNldCgpKTsKKyAgICAgICAgbV9jYWNo
ZWRTY3JpcHQgPSBtX2VsZW1lbnQtPmRvY3VtZW50KCktPmNhY2hlZFJlc291cmNlTG9hZGVyKCkt
PnJlcXVlc3RTY3JpcHQocmVxdWVzdCwgc2NyaXB0Q2hhcnNldCgpLCAqZWxlbWVudCgpKTsKICAg
ICAgICAgbV9pc0V4dGVybmFsU2NyaXB0ID0gdHJ1ZTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTExpbmtFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTExpbmtFbGVtZW50LmNwcAppbmRleCBmZGM3YTVjY2UzMjMxYWY5YzIyNDRlMWM5ZjQ0
NDgzYjg0YmYwMTMxLi45ODg2NTQ0Y2IyMzA3ZWZlNzM1MGFjOTE1NGZmNjE2ODRmNTM2MzQ4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMaW5rRWxlbWVudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGlua0VsZW1lbnQuY3BwCkBAIC0yMjEsOCArMjIxLDgg
QEAgdm9pZCBIVE1MTGlua0VsZW1lbnQ6OnByb2Nlc3MoKQogICAgICAgICAvLyBMb2FkIHN0eWxl
c2hlZXRzIHRoYXQgYXJlIG5vdCBuZWVkZWQgZm9yIHRoZSByZW5kZXJpbmcgaW1tZWRpYXRlbHkg
d2l0aCBsb3cgcHJpb3JpdHkuCiAgICAgICAgIFJlc291cmNlTG9hZFByaW9yaXR5IHByaW9yaXR5
ID0gYmxvY2tpbmcgPyBSZXNvdXJjZUxvYWRQcmlvcml0eVVucmVzb2x2ZWQgOiBSZXNvdXJjZUxv
YWRQcmlvcml0eVZlcnlMb3c7CiAgICAgICAgIFJlc291cmNlUmVxdWVzdCByZXF1ZXN0KGRvY3Vt
ZW50KCktPmNvbXBsZXRlVVJMKG1fdXJsKSk7Ci0gICAgICAgIG1fY2FjaGVkU2hlZXQgPSBkb2N1
bWVudCgpLT5jYWNoZWRSZXNvdXJjZUxvYWRlcigpLT5yZXF1ZXN0Q1NTU3R5bGVTaGVldChyZXF1
ZXN0LCBjaGFyc2V0LCBwcmlvcml0eSk7Ci0gICAgICAgIAorICAgICAgICBtX2NhY2hlZFNoZWV0
ID0gZG9jdW1lbnQoKS0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKS0+cmVxdWVzdENTU1N0eWxlU2hl
ZXQocmVxdWVzdCwgY2hhcnNldCwgKnRoaXMsIHByaW9yaXR5KTsKKwogICAgICAgICBpZiAobV9j
YWNoZWRTaGVldCkKICAgICAgICAgICAgIG1fY2FjaGVkU2hlZXQtPmFkZENsaWVudCh0aGlzKTsK
ICAgICAgICAgZWxzZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMaW5r
RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGlua0VsZW1lbnQuaAppbmRleCAw
YjZjNmM5OTdmMjhhZTM0MTI1MzYzODNlMGMwMTA0MDhkNWZmZDFhLi4zY2E4NDViMDcyYWFiYmE3
ZDExYjA1MGUwMDM5ZjZlZmM3ZGU3MTk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxMaW5rRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExpbmtFbGVt
ZW50LmgKQEAgLTc1LDYgKzc1LDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZv
aWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgQXR0cmlidXRlJikgT1ZFUlJJREU7CiAKKyAgICB2aXJ0
dWFsIGNvbnN0IExvYWRJbml0aWF0b3ImIGluaXRpYXRvcigpIGNvbnN0IHsgcmV0dXJuICp0aGlz
OyB9CiAgICAgdmlydHVhbCBib29sIHNob3VsZExvYWRMaW5rKCk7CiAgICAgdm9pZCBwcm9jZXNz
KCk7CiAgICAgc3RhdGljIHZvaWQgcHJvY2Vzc0NhbGxiYWNrKE5vZGUqKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0NTU1ByZWxvYWRTY2FubmVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0NTU1ByZWxvYWRTY2FubmVyLmNwcAppbmRleCAyOWYxY2Nk
NDY4YmFkZDhkZTVjM2IxOWU3MmYyZDg1MmNkMzAwODkzLi5iNmEwMzNhNjUxNzUwOWYwMDMzNWIy
ZDhjOTM2YjcwZmEzZTU1NjgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNl
ci9DU1NQcmVsb2FkU2Nhbm5lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIv
Q1NTUHJlbG9hZFNjYW5uZXIuY3BwCkBAIC0xOTcsNyArMTk3LDcgQEAgdm9pZCBDU1NQcmVsb2Fk
U2Nhbm5lcjo6ZW1pdFJ1bGUoKQogICAgICAgICBTdHJpbmcgdmFsdWUgPSBwYXJzZUNTU1N0cmlu
Z09yVVJMKG1fcnVsZVZhbHVlLmNoYXJhY3RlcnMoKSwgbV9ydWxlVmFsdWUubGVuZ3RoKCkpOwog
ICAgICAgICBpZiAoIXZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgUmVzb3VyY2VSZXF1
ZXN0IHJlcXVlc3QobV9kb2N1bWVudC0+Y29tcGxldGVVUkwodmFsdWUpKTsKLSAgICAgICAgICAg
IG1fZG9jdW1lbnQtPmNhY2hlZFJlc291cmNlTG9hZGVyKCktPnByZWxvYWQoQ2FjaGVkUmVzb3Vy
Y2U6OkNTU1N0eWxlU2hlZXQsIHJlcXVlc3QsIFN0cmluZygpLCBtX3NjYW5uaW5nQm9keSk7Cisg
ICAgICAgICAgICBtX2RvY3VtZW50LT5jYWNoZWRSZXNvdXJjZUxvYWRlcigpLT5wcmVsb2FkKENh
Y2hlZFJlc291cmNlOjpDU1NTdHlsZVNoZWV0LCByZXF1ZXN0LCBTdHJpbmcoKSwgbV9zY2Fubmlu
Z0JvZHksICp0aGlzKTsKICAgICAgICAgfQogICAgICAgICBtX3N0YXRlID0gSW5pdGlhbDsKICAg
ICB9IGVsc2UgaWYgKGVxdWFsSWdub3JpbmdDYXNlKCJjaGFyc2V0IiwgbV9ydWxlLmNoYXJhY3Rl
cnMoKSwgbV9ydWxlLmxlbmd0aCgpKSkKQEAgLTIwOCw0ICsyMDgsMTAgQEAgdm9pZCBDU1NQcmVs
b2FkU2Nhbm5lcjo6ZW1pdFJ1bGUoKQogICAgIG1fcnVsZVZhbHVlLmNsZWFyKCk7CiB9CiAKK2Nv
bnN0IEF0b21pY1N0cmluZyYgQ1NTUHJlbG9hZFNjYW5uZXI6OmluaXRpYXRvck5hbWUoKSBjb25z
dAoreworICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCBuYW1lLCAoImNzcyIs
IEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpKTsKKyAgICByZXR1cm4gbmFtZTsK
K30KKwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvQ1NTUHJlbG9h
ZFNjYW5uZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0NTU1ByZWxvYWRTY2FubmVy
LmgKaW5kZXggYzNkYmI4MDBlZGQ4ZWExMGFiMjRlYjNjMTIzYjdjYTk4ZjJjYjQyNy4uMTU1YmE1
OTljMWQ1Y2IyOGZiYmQyMGRmOGEzYWFkZjVjZDAzYThiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9wYXJzZXIvQ1NTUHJlbG9hZFNjYW5uZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3BhcnNlci9DU1NQcmVsb2FkU2Nhbm5lci5oCkBAIC0yNyw2ICsyNyw3IEBACiAjaWZu
ZGVmIENTU1ByZWxvYWRTY2FubmVyX2gKICNkZWZpbmUgQ1NTUHJlbG9hZFNjYW5uZXJfaAogCisj
aW5jbHVkZSAiTG9hZEluaXRpYXRvci5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxk
ZXIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMzQsNyArMzUsNyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiBjbGFzcyBEb2N1bWVudDsKIGNsYXNzIEhUTUxUb2tlbjsKIAotY2xhc3MgQ1NT
UHJlbG9hZFNjYW5uZXIgeworY2xhc3MgQ1NTUHJlbG9hZFNjYW5uZXIgOiBwcml2YXRlIExvYWRJ
bml0aWF0b3IgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENTU1ByZWxvYWRTY2FubmVyKTsK
IHB1YmxpYzoKICAgICBDU1NQcmVsb2FkU2Nhbm5lcihEb2N1bWVudCopOwpAQCAtNDMsNiArNDQs
OSBAQCBwdWJsaWM6CiAgICAgdm9pZCBzY2FuKGNvbnN0IEhUTUxUb2tlbiYsIGJvb2wgc2Nhbm5p
bmdCb2R5KTsKIAogcHJpdmF0ZToKKyAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgaW5p
dGlhdG9yTmFtZSgpIGNvbnN0OworICAgIHZpcnR1YWwgRG9jdW1lbnQqIGluaXRpYXRvckRvY3Vt
ZW50KCkgY29uc3QgeyByZXR1cm4gbV9kb2N1bWVudDsgfQorCiAgICAgZW51bSBTdGF0ZSB7CiAg
ICAgICAgIEluaXRpYWwsCiAgICAgICAgIE1heWJlQ29tbWVudCwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQcmVsb2FkU2Nhbm5lci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3BhcnNlci9IVE1MUHJlbG9hZFNjYW5uZXIuY3BwCmluZGV4IGE3NWI1MmUzNTUw
NmFhMzBlNWU5YmYzMDlmMDIwZDg3MTkxY2NmZjQuLjI4NDJkYTkyMjViMDhjYjNlOTFlYmIzZmIw
MWUxMTUyNWM4Zjk1NjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hU
TUxQcmVsb2FkU2Nhbm5lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRN
TFByZWxvYWRTY2FubmVyLmNwcApAQCAtMzYsNiArMzYsNyBAQAogI2luY2x1ZGUgIkhUTUxQYXJz
ZXJJZGlvbXMuaCIKICNpbmNsdWRlICJJbnB1dFR5cGVOYW1lcy5oIgogI2luY2x1ZGUgIkxpbmtS
ZWxBdHRyaWJ1dGUuaCIKKyNpbmNsdWRlICJMb2FkSW5pdGlhdG9yLmgiCiAjaW5jbHVkZSAiTWVk
aWFMaXN0LmgiCiAjaW5jbHVkZSAiTWVkaWFRdWVyeUV2YWx1YXRvci5oIgogCkBAIC00MywxMCAr
NDQsMTEgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVz
OwogCi1jbGFzcyBQcmVsb2FkVGFzayB7CitjbGFzcyBQcmVsb2FkVGFzayA6IHByaXZhdGUgTG9h
ZEluaXRpYXRvciB7CiBwdWJsaWM6Ci0gICAgZXhwbGljaXQgUHJlbG9hZFRhc2soY29uc3QgSFRN
TFRva2VuJiB0b2tlbikKKyAgICBleHBsaWNpdCBQcmVsb2FkVGFzayhjb25zdCBIVE1MVG9rZW4m
IHRva2VuLCBEb2N1bWVudCogZG9jdW1lbnQpCiAgICAgICAgIDogbV90YWdOYW1lKHRva2VuLm5h
bWUoKS5kYXRhKCksIHRva2VuLm5hbWUoKS5zaXplKCkpCisgICAgICAgICwgbV9kb2N1bWVudChk
b2N1bWVudCkKICAgICAgICAgLCBtX2xpbmtJc1N0eWxlU2hlZXQoZmFsc2UpCiAgICAgICAgICwg
bV9saW5rTWVkaWFBdHRyaWJ1dGVJc1NjcmVlbih0cnVlKQogICAgICAgICAsIG1faW5wdXRJc0lt
YWdlKGZhbHNlKQpAQCAtMTIxLDI2ICsxMjMsMzAgQEAgcHVibGljOgogICAgICAgICBtX3VybFRv
TG9hZCA9IHN0cmlwTGVhZGluZ0FuZFRyYWlsaW5nSFRNTFNwYWNlcyhhdHRyaWJ1dGVWYWx1ZSk7
CiAgICAgfQogCi0gICAgdm9pZCBwcmVsb2FkKERvY3VtZW50KiBkb2N1bWVudCwgYm9vbCBzY2Fu
bmluZ0JvZHksIGNvbnN0IEtVUkwmIGJhc2VVUkwpCisgICAgdm9pZCBwcmVsb2FkKGJvb2wgc2Nh
bm5pbmdCb2R5LCBjb25zdCBLVVJMJiBiYXNlVVJMKQogICAgIHsKICAgICAgICAgaWYgKG1fdXJs
VG9Mb2FkLmlzRW1wdHkoKSkKICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICBDYWNoZWRS
ZXNvdXJjZUxvYWRlciogY2FjaGVkUmVzb3VyY2VMb2FkZXIgPSBkb2N1bWVudC0+Y2FjaGVkUmVz
b3VyY2VMb2FkZXIoKTsKLSAgICAgICAgUmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QgPSBkb2N1bWVu
dC0+Y29tcGxldGVVUkwobV91cmxUb0xvYWQsIGJhc2VVUkwpOworICAgICAgICBDYWNoZWRSZXNv
dXJjZUxvYWRlciogY2FjaGVkUmVzb3VyY2VMb2FkZXIgPSBtX2RvY3VtZW50LT5jYWNoZWRSZXNv
dXJjZUxvYWRlcigpOworICAgICAgICBSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdCA9IG1fZG9jdW1l
bnQtPmNvbXBsZXRlVVJMKG1fdXJsVG9Mb2FkLCBiYXNlVVJMKTsKICAgICAgICAgaWYgKG1fdGFn
TmFtZSA9PSBzY3JpcHRUYWcpCi0gICAgICAgICAgICBjYWNoZWRSZXNvdXJjZUxvYWRlci0+cHJl
bG9hZChDYWNoZWRSZXNvdXJjZTo6U2NyaXB0LCByZXF1ZXN0LCBtX2NoYXJzZXQsIHNjYW5uaW5n
Qm9keSk7CisgICAgICAgICAgICBjYWNoZWRSZXNvdXJjZUxvYWRlci0+cHJlbG9hZChDYWNoZWRS
ZXNvdXJjZTo6U2NyaXB0LCByZXF1ZXN0LCBtX2NoYXJzZXQsIHNjYW5uaW5nQm9keSwgKnRoaXMp
OwogICAgICAgICBlbHNlIGlmIChtX3RhZ05hbWUgPT0gaW1nVGFnIHx8IChtX3RhZ05hbWUgPT0g
aW5wdXRUYWcgJiYgbV9pbnB1dElzSW1hZ2UpKQotICAgICAgICAgICAgY2FjaGVkUmVzb3VyY2VM
b2FkZXItPnByZWxvYWQoQ2FjaGVkUmVzb3VyY2U6OkltYWdlUmVzb3VyY2UsIHJlcXVlc3QsIFN0
cmluZygpLCBzY2FubmluZ0JvZHkpOworICAgICAgICAgICAgY2FjaGVkUmVzb3VyY2VMb2FkZXIt
PnByZWxvYWQoQ2FjaGVkUmVzb3VyY2U6OkltYWdlUmVzb3VyY2UsIHJlcXVlc3QsIFN0cmluZygp
LCBzY2FubmluZ0JvZHksICp0aGlzKTsKICAgICAgICAgZWxzZSBpZiAobV90YWdOYW1lID09IGxp
bmtUYWcgJiYgbV9saW5rSXNTdHlsZVNoZWV0ICYmIG1fbGlua01lZGlhQXR0cmlidXRlSXNTY3Jl
ZW4pIAotICAgICAgICAgICAgY2FjaGVkUmVzb3VyY2VMb2FkZXItPnByZWxvYWQoQ2FjaGVkUmVz
b3VyY2U6OkNTU1N0eWxlU2hlZXQsIHJlcXVlc3QsIG1fY2hhcnNldCwgc2Nhbm5pbmdCb2R5KTsK
KyAgICAgICAgICAgIGNhY2hlZFJlc291cmNlTG9hZGVyLT5wcmVsb2FkKENhY2hlZFJlc291cmNl
OjpDU1NTdHlsZVNoZWV0LCByZXF1ZXN0LCBtX2NoYXJzZXQsIHNjYW5uaW5nQm9keSwgKnRoaXMp
OwogICAgIH0KIAogICAgIGNvbnN0IEF0b21pY1N0cmluZyYgdGFnTmFtZSgpIGNvbnN0IHsgcmV0
dXJuIG1fdGFnTmFtZTsgfQogICAgIGNvbnN0IFN0cmluZyYgYmFzZUVsZW1lbnRIcmVmKCkgY29u
c3QgeyByZXR1cm4gbV9iYXNlRWxlbWVudEhyZWY7IH0KIAogcHJpdmF0ZToKKyAgICB2aXJ0dWFs
IGNvbnN0IEF0b21pY1N0cmluZyYgaW5pdGlhdG9yTmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fdGFn
TmFtZTsgfQorICAgIHZpcnR1YWwgRG9jdW1lbnQqIGluaXRpYXRvckRvY3VtZW50KCkgY29uc3Qg
eyByZXR1cm4gbV9kb2N1bWVudDsgfQorCiAgICAgQXRvbWljU3RyaW5nIG1fdGFnTmFtZTsKKyAg
ICBEb2N1bWVudCogbV9kb2N1bWVudDsKICAgICBTdHJpbmcgbV91cmxUb0xvYWQ7CiAgICAgU3Ry
aW5nIG1fY2hhcnNldDsKICAgICBTdHJpbmcgbV9iYXNlRWxlbWVudEhyZWY7CkBAIC0xOTAsNyAr
MTk2LDcgQEAgdm9pZCBIVE1MUHJlbG9hZFNjYW5uZXI6OnByb2Nlc3NUb2tlbigpCiAgICAgaWYg
KG1fdG9rZW4udHlwZSgpICE9IEhUTUxUb2tlblR5cGVzOjpTdGFydFRhZykKICAgICAgICAgcmV0
dXJuOwogCi0gICAgUHJlbG9hZFRhc2sgdGFzayhtX3Rva2VuKTsKKyAgICBQcmVsb2FkVGFzayB0
YXNrKG1fdG9rZW4sIG1fZG9jdW1lbnQpOwogICAgIG1fdG9rZW5pemVyLT51cGRhdGVTdGF0ZUZv
cih0YXNrLnRhZ05hbWUoKSwgbV9kb2N1bWVudC0+ZnJhbWUoKSk7CiAKICAgICBpZiAodGFzay50
YWdOYW1lKCkgPT0gYm9keVRhZykKQEAgLTIwMiw3ICsyMDgsNyBAQCB2b2lkIEhUTUxQcmVsb2Fk
U2Nhbm5lcjo6cHJvY2Vzc1Rva2VuKCkKICAgICBpZiAodGFzay50YWdOYW1lKCkgPT0gYmFzZVRh
ZykKICAgICAgICAgdXBkYXRlUHJlZGljdGVkQmFzZUVsZW1lbnRVUkwoS1VSTChtX2RvY3VtZW50
LT51cmwoKSwgdGFzay5iYXNlRWxlbWVudEhyZWYoKSkpOwogCi0gICAgdGFzay5wcmVsb2FkKG1f
ZG9jdW1lbnQsIHNjYW5uaW5nQm9keSgpLCBtX3ByZWRpY3RlZEJhc2VFbGVtZW50VVJMLmlzRW1w
dHkoKSA/IG1fZG9jdW1lbnQtPmJhc2VVUkwoKSA6IG1fcHJlZGljdGVkQmFzZUVsZW1lbnRVUkwp
OworICAgIHRhc2sucHJlbG9hZChzY2FubmluZ0JvZHkoKSwgbV9wcmVkaWN0ZWRCYXNlRWxlbWVu
dFVSTC5pc0VtcHR5KCkgPyBtX2RvY3VtZW50LT5iYXNlVVJMKCkgOiBtX3ByZWRpY3RlZEJhc2VF
bGVtZW50VVJMKTsKIH0KIAogYm9vbCBIVE1MUHJlbG9hZFNjYW5uZXI6OnNjYW5uaW5nQm9keSgp
IGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL0xvYWRhYmxlVGV4
dFRyYWNrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svTG9hZGFibGVUZXh0VHJhY2su
Y3BwCmluZGV4IGQ5NWU4Y2NmOWQ2ZWExZjhhNTE2OGIzZTZjZmMyNjc3ZDg5MWE0MjkuLjgzMThh
NTQyOTQ2M2JkOGVmZGQ5NTRhMGNmYWUwNGRmNTFhNDI0MDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvdHJhY2svTG9hZGFibGVUZXh0VHJhY2suY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvdHJhY2svTG9hZGFibGVUZXh0VHJhY2suY3BwCkBAIC0xMjIsNiArMTIyLDExIEBA
IHZvaWQgTG9hZGFibGVUZXh0VHJhY2s6OmN1ZUxvYWRpbmdDb21wbGV0ZWQoVGV4dFRyYWNrTG9h
ZGVyKiBsb2FkZXIsIGJvb2wgbG9hZGluCiAgICAgbV90cmFja0VsZW1lbnQtPmRpZENvbXBsZXRl
TG9hZCh0aGlzLCBsb2FkaW5nRmFpbGVkID8gSFRNTFRyYWNrRWxlbWVudDo6RmFpbHVyZSA6IEhU
TUxUcmFja0VsZW1lbnQ6OlN1Y2Nlc3MpOwogfQogCitjb25zdCBMb2FkSW5pdGlhdG9yJiBMb2Fk
YWJsZVRleHRUcmFjazo6aW5pdGlhdG9yKCkgY29uc3QKK3sKKyAgICByZXR1cm4gKm1fdHJhY2tF
bGVtZW50OworfQorCiBzaXplX3QgTG9hZGFibGVUZXh0VHJhY2s6OnRyYWNrRWxlbWVudEluZGV4
KCkKIHsKICAgICBBU1NFUlQobV90cmFja0VsZW1lbnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC90cmFjay9Mb2FkYWJsZVRleHRUcmFjay5oIGIvU291cmNlL1dlYkNvcmUvaHRt
bC90cmFjay9Mb2FkYWJsZVRleHRUcmFjay5oCmluZGV4IDMzMTgzZGI5YjQ3MWIyMWQzYWJjZDE0
NzEzN2IzMzI3NzQzZmI4NDYuLjI1MjFmNTVkOGIxNTBiZGYzNTcwNmZkNmE5Mjg5MDUwMmIyN2Nk
NzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svTG9hZGFibGVUZXh0VHJh
Y2suaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL0xvYWRhYmxlVGV4dFRyYWNrLmgK
QEAgLTQxLDcgKzQxLDcgQEAgY2xhc3MgTG9hZGFibGVUZXh0VHJhY2s7CiBjbGFzcyBMb2FkYWJs
ZVRleHRUcmFja0NsaWVudCA6IHB1YmxpYyBUZXh0VHJhY2tDbGllbnQgewogcHVibGljOgogICAg
IHZpcnR1YWwgfkxvYWRhYmxlVGV4dFRyYWNrQ2xpZW50KCkgeyB9Ci0gICAgCisKICAgICB2aXJ0
dWFsIGJvb2wgY2FuTG9hZFVybChMb2FkYWJsZVRleHRUcmFjayosIGNvbnN0IEtVUkwmKSB7IHJl
dHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgdm9pZCBsb2FkaW5nQ29tcGxldGVkKExvYWRhYmxl
VGV4dFRyYWNrKiwgYm9vbCAvKiBsb2FkaW5nRmFpbGVkICovKSB7IH0KIH07CkBAIC02Nyw2ICs2
Nyw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIG5ld0N1ZXNBdmFpbGFibGUoVGV4dFRy
YWNrTG9hZGVyKik7CiAgICAgdmlydHVhbCB2b2lkIGN1ZUxvYWRpbmdTdGFydGVkKFRleHRUcmFj
a0xvYWRlciopOwogICAgIHZpcnR1YWwgdm9pZCBjdWVMb2FkaW5nQ29tcGxldGVkKFRleHRUcmFj
a0xvYWRlciosIGJvb2wgbG9hZGluZ0ZhaWxlZCk7CisgICAgdmlydHVhbCBjb25zdCBMb2FkSW5p
dGlhdG9yJiBpbml0aWF0b3IoKSBjb25zdDsKIAogICAgIExvYWRhYmxlVGV4dFRyYWNrKEhUTUxU
cmFja0VsZW1lbnQqLCBjb25zdCBTdHJpbmcmIGtpbmQsIGNvbnN0IFN0cmluZyYgbGFiZWwsIGNv
bnN0IFN0cmluZyYgbGFuZ3VhZ2UsIGJvb2wgaXNEZWZhdWx0KTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmNwcAppbmRleCA3MWExYWQz
YjE5NzExOGMyYWIxYmNkZTI5MGEzMTkyZDVjNjkwNzRmLi4xYThiNzU0NWY4MDdhMmQzYzIzNGY0
ZjZkYTgxODQwM2EzZjRhMTBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9j
dW1lbnRUaHJlYWRhYmxlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9j
dW1lbnRUaHJlYWRhYmxlTG9hZGVyLmNwcApAQCAtNTUsMjggKzU1LDI5IEBACiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotdm9pZCBEb2N1bWVudFRocmVhZGFibGVMb2FkZXI6OmxvYWRSZXNvdXJj
ZVN5bmNocm9ub3VzbHkoRG9jdW1lbnQqIGRvY3VtZW50LCBjb25zdCBSZXNvdXJjZVJlcXVlc3Qm
IHJlcXVlc3QsIFRocmVhZGFibGVMb2FkZXJDbGllbnQmIGNsaWVudCwgY29uc3QgVGhyZWFkYWJs
ZUxvYWRlck9wdGlvbnMmIG9wdGlvbnMpCit2b2lkIERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcjo6
bG9hZFJlc291cmNlU3luY2hyb25vdXNseShEb2N1bWVudCogZG9jdW1lbnQsIGNvbnN0IFJlc291
cmNlUmVxdWVzdCYgcmVxdWVzdCwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCYgY2xpZW50LCBjb25z
dCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9ucyYgb3B0aW9ucywgY29uc3QgTG9hZEluaXRpYXRvciYg
aW5pdGlhdG9yKQogewogICAgIC8vIFRoZSBsb2FkZXIgd2lsbCBiZSBkZWxldGVkIGFzIHNvb24g
YXMgdGhpcyBmdW5jdGlvbiBleGl0cy4KLSAgICBSZWZQdHI8RG9jdW1lbnRUaHJlYWRhYmxlTG9h
ZGVyPiBsb2FkZXIgPSBhZG9wdFJlZihuZXcgRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyKGRvY3Vt
ZW50LCAmY2xpZW50LCBMb2FkU3luY2hyb25vdXNseSwgcmVxdWVzdCwgb3B0aW9ucykpOworICAg
IFJlZlB0cjxEb2N1bWVudFRocmVhZGFibGVMb2FkZXI+IGxvYWRlciA9IGFkb3B0UmVmKG5ldyBE
b2N1bWVudFRocmVhZGFibGVMb2FkZXIoZG9jdW1lbnQsICZjbGllbnQsIExvYWRTeW5jaHJvbm91
c2x5LCByZXF1ZXN0LCBvcHRpb25zLCBpbml0aWF0b3IpKTsKICAgICBBU1NFUlQobG9hZGVyLT5o
YXNPbmVSZWYoKSk7CiB9CiAKLVBhc3NSZWZQdHI8RG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyPiBE
b2N1bWVudFRocmVhZGFibGVMb2FkZXI6OmNyZWF0ZShEb2N1bWVudCogZG9jdW1lbnQsIFRocmVh
ZGFibGVMb2FkZXJDbGllbnQqIGNsaWVudCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0
LCBjb25zdCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9ucyYgb3B0aW9ucykKK1Bhc3NSZWZQdHI8RG9j
dW1lbnRUaHJlYWRhYmxlTG9hZGVyPiBEb2N1bWVudFRocmVhZGFibGVMb2FkZXI6OmNyZWF0ZShE
b2N1bWVudCogZG9jdW1lbnQsIFRocmVhZGFibGVMb2FkZXJDbGllbnQqIGNsaWVudCwgY29uc3Qg
UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9ucyYg
b3B0aW9ucywgY29uc3QgTG9hZEluaXRpYXRvciYgaW5pdGlhdG9yKQogewotICAgIFJlZlB0cjxE
b2N1bWVudFRocmVhZGFibGVMb2FkZXI+IGxvYWRlciA9IGFkb3B0UmVmKG5ldyBEb2N1bWVudFRo
cmVhZGFibGVMb2FkZXIoZG9jdW1lbnQsIGNsaWVudCwgTG9hZEFzeW5jaHJvbm91c2x5LCByZXF1
ZXN0LCBvcHRpb25zKSk7CisgICAgUmVmUHRyPERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcj4gbG9h
ZGVyID0gYWRvcHRSZWYobmV3IERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcihkb2N1bWVudCwgY2xp
ZW50LCBMb2FkQXN5bmNocm9ub3VzbHksIHJlcXVlc3QsIG9wdGlvbnMsIGluaXRpYXRvcikpOwog
ICAgIGlmICghbG9hZGVyLT5tX3Jlc291cmNlKQogICAgICAgICBsb2FkZXIgPSAwOwogICAgIHJl
dHVybiBsb2FkZXIucmVsZWFzZSgpOwogfQogCi1Eb2N1bWVudFRocmVhZGFibGVMb2FkZXI6OkRv
Y3VtZW50VGhyZWFkYWJsZUxvYWRlcihEb2N1bWVudCogZG9jdW1lbnQsIFRocmVhZGFibGVMb2Fk
ZXJDbGllbnQqIGNsaWVudCwgQmxvY2tpbmdCZWhhdmlvciBibG9ja2luZ0JlaGF2aW9yLCBjb25z
dCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25z
JiBvcHRpb25zKQorRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyOjpEb2N1bWVudFRocmVhZGFibGVM
b2FkZXIoRG9jdW1lbnQqIGRvY3VtZW50LCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50KiBjbGllbnQs
IEJsb2NraW5nQmVoYXZpb3IgYmxvY2tpbmdCZWhhdmlvciwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0
JiByZXF1ZXN0LCBjb25zdCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9ucyYgb3B0aW9ucywgY29uc3Qg
TG9hZEluaXRpYXRvciYgaW5pdGlhdG9yKQogICAgIDogbV9jbGllbnQoY2xpZW50KQogICAgICwg
bV9kb2N1bWVudChkb2N1bWVudCkKICAgICAsIG1fb3B0aW9ucyhvcHRpb25zKQogICAgICwgbV9z
YW1lT3JpZ2luUmVxdWVzdChzZWN1cml0eU9yaWdpbigpLT5jYW5SZXF1ZXN0KHJlcXVlc3QudXJs
KCkpKQogICAgICwgbV9zaW1wbGVSZXF1ZXN0KHRydWUpCiAgICAgLCBtX2FzeW5jKGJsb2NraW5n
QmVoYXZpb3IgPT0gTG9hZEFzeW5jaHJvbm91c2x5KQorICAgICwgbV9pbml0aWF0b3IoaW5pdGlh
dG9yKQogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgLCBtX3ByZWZsaWdodFJlcXVlc3RJZGVu
dGlmaWVyKDApCiAjZW5kaWYKQEAgLTMwMyw3ICszMDQsNyBAQCB2b2lkIERvY3VtZW50VGhyZWFk
YWJsZUxvYWRlcjo6bm90aWZ5RmluaXNoZWQoQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlKQogewog
ICAgIEFTU0VSVChtX2NsaWVudCk7CiAgICAgQVNTRVJUX1VOVVNFRChyZXNvdXJjZSwgcmVzb3Vy
Y2UgPT0gbV9yZXNvdXJjZSk7Ci0gICAgICAgIAorCiAgICAgaWYgKG1fcmVzb3VyY2UgJiYgKG1f
cmVzb3VyY2UtPmVycm9yT2NjdXJyZWQoKSB8fCBtX3Jlc291cmNlLT53YXNDYW5jZWxlZCgpKSkg
ewogICAgICAgICBSZXNvdXJjZUVycm9yIGVycm9yKCJOZXR3b3JrIFJlcXVlc3QgRmFpbGVkIiwg
MCwgbV9yZXNvdXJjZS0+dXJsKCksICJSZXNvdXJjZSBmYWlsZWQgdG8gbG9hZCIpOwogICAgICAg
ICBpZiAobV9yZXNvdXJjZS0+d2FzQ2FuY2VsZWQoKSkKQEAgLTM4Niw3ICszODcsNyBAQCB2b2lk
IERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcjo6bG9hZFJlcXVlc3QoY29uc3QgUmVzb3VyY2VSZXF1
ZXN0JiByZXF1ZXN0LCBTZWN1cgogICAgICAgICB9CiAjZW5kaWYKICAgICAgICAgQVNTRVJUKCFt
X3Jlc291cmNlKTsKLSAgICAgICAgbV9yZXNvdXJjZSA9IG1fZG9jdW1lbnQtPmNhY2hlZFJlc291
cmNlTG9hZGVyKCktPnJlcXVlc3RSYXdSZXNvdXJjZShuZXdSZXF1ZXN0LCBvcHRpb25zKTsKKyAg
ICAgICAgbV9yZXNvdXJjZSA9IG1fZG9jdW1lbnQtPmNhY2hlZFJlc291cmNlTG9hZGVyKCktPnJl
cXVlc3RSYXdSZXNvdXJjZShuZXdSZXF1ZXN0LCBvcHRpb25zLCBtX2luaXRpYXRvcik7CiAgICAg
ICAgIGlmIChtX3Jlc291cmNlKSB7CiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICAgICAgICAg
IGlmIChtX3Jlc291cmNlLT5sb2FkZXIoKSkgewpAQCAtMzk4LDcgKzM5OSw3IEBAIHZvaWQgRG9j
dW1lbnRUaHJlYWRhYmxlTG9hZGVyOjpsb2FkUmVxdWVzdChjb25zdCBSZXNvdXJjZVJlcXVlc3Qm
IHJlcXVlc3QsIFNlY3VyCiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuOwogICAgIH0KLSAgICAK
KwogICAgIC8vIEZJWE1FOiBUaHJlYWRhYmxlTG9hZGVyT3B0aW9ucy5zbmlmZkNvbnRlbnQgaXMg
bm90IHN1cHBvcnRlZCBmb3Igc3luY2hyb25vdXMgcmVxdWVzdHMuCiAgICAgVmVjdG9yPGNoYXI+
IGRhdGE7CiAgICAgUmVzb3VyY2VFcnJvciBlcnJvcjsKQEAgLTQzMCw3ICs0MzEsMTMgQEAgdm9p
ZCBEb2N1bWVudFRocmVhZGFibGVMb2FkZXI6OmxvYWRSZXF1ZXN0KGNvbnN0IFJlc291cmNlUmVx
dWVzdCYgcmVxdWVzdCwgU2VjdXIKICAgICBpbnQgbGVuID0gc3RhdGljX2Nhc3Q8aW50PihkYXRh
LnNpemUoKSk7CiAgICAgZGF0YVJlY2VpdmVkKDAsIGJ5dGVzLCBsZW4pOwogCi0gICAgZGlkRmlu
aXNoTG9hZGluZyhpZGVudGlmaWVyLCAwLjApOworICAgIGRvdWJsZSBmaW5pc2hUaW1lID0gbW9u
b3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CisjaWYgRU5BQkxFKFJFU09VUkNFX1RJTUlORykK
KyAgICBpZiAobV9pbml0aWF0b3IuaW5pdGlhdG9yRG9jdW1lbnQoKSkKKyAgICAgICAgbV9pbml0
aWF0b3IuaW5pdGlhdG9yRG9jdW1lbnQoKS0+ZG9tV2luZG93KCktPnBlcmZvcm1hbmNlKCktPmFk
ZFJlc291cmNlVGltaW5nKG1faW5pdGlhdG9yLCByZXF1ZXN0LCByZXNwb25zZSwgZmluaXNoVGlt
ZSk7CisjZW5kaWYKKworICAgIGRpZEZpbmlzaExvYWRpbmcoaWRlbnRpZmllciwgZmluaXNoVGlt
ZSk7CiB9CiAKIGJvb2wgRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyOjppc0FsbG93ZWRSZWRpcmVj
dChjb25zdCBLVVJMJiB1cmwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9j
dW1lbnRUaHJlYWRhYmxlTG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRU
aHJlYWRhYmxlTG9hZGVyLmgKaW5kZXggODc5OTE5ZmVjYTU1YTIxZGNjZTNiZDAxY2I5ZGQ5OGM1
OWY0MTA1Yy4uNDkwZjk2NzZjZTRkYjIyZDA4ZGEwYjM0ZTZkODU1NTk1OTRlMTIyYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuaApAQCAt
MzQsNiArMzQsOCBAQAogI2luY2x1ZGUgIkNhY2hlZFJhd1Jlc291cmNlLmgiCiAjaW5jbHVkZSAi
Q2FjaGVkUmVzb3VyY2VIYW5kbGUuaCIKICNpbmNsdWRlICJGcmFtZUxvYWRlclR5cGVzLmgiCisj
aW5jbHVkZSAiTG9hZEluaXRpYXRvckhhbmRsZS5oIgorI2luY2x1ZGUgIk51bGxMb2FkSW5pdGlh
dG9yLmgiCiAjaW5jbHVkZSAiVGhyZWFkYWJsZUxvYWRlci5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3
YXJkLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgpAQCAtNDUsNiArNDcsNyBAQAogbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgIGNsYXNzIERvY3VtZW50OwogICAgIGNsYXNzIEtVUkw7CisgICAg
Y2xhc3MgTG9hZEluaXRpYXRvcjsKICAgICBjbGFzcyBSZXNvdXJjZVJlcXVlc3Q7CiAgICAgY2xh
c3MgU2VjdXJpdHlPcmlnaW47CiAgICAgY2xhc3MgVGhyZWFkYWJsZUxvYWRlckNsaWVudDsKQEAg
LTUyLDggKzU1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIERvY3VtZW50VGhy
ZWFkYWJsZUxvYWRlciA6IHB1YmxpYyBSZWZDb3VudGVkPERvY3VtZW50VGhyZWFkYWJsZUxvYWRl
cj4sIHB1YmxpYyBUaHJlYWRhYmxlTG9hZGVyLCBwcml2YXRlIENhY2hlZFJhd1Jlc291cmNlQ2xp
ZW50ICB7CiAgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKLSAg
ICAgICAgc3RhdGljIHZvaWQgbG9hZFJlc291cmNlU3luY2hyb25vdXNseShEb2N1bWVudCosIGNv
bnN0IFJlc291cmNlUmVxdWVzdCYsIFRocmVhZGFibGVMb2FkZXJDbGllbnQmLCBjb25zdCBUaHJl
YWRhYmxlTG9hZGVyT3B0aW9ucyYpOwotICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxEb2N1bWVu
dFRocmVhZGFibGVMb2FkZXI+IGNyZWF0ZShEb2N1bWVudCosIFRocmVhZGFibGVMb2FkZXJDbGll
bnQqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9u
cyYpOworICAgICAgICBzdGF0aWMgdm9pZCBsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KERvY3Vt
ZW50KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCYsIGNv
bnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJiwgY29uc3QgTG9hZEluaXRpYXRvciYgPSBOdWxs
TG9hZEluaXRpYXRvcjo6aW5zdGFuY2UoKSk7CisgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPERv
Y3VtZW50VGhyZWFkYWJsZUxvYWRlcj4gY3JlYXRlKERvY3VtZW50KiwgVGhyZWFkYWJsZUxvYWRl
ckNsaWVudCosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJP
cHRpb25zJiwgY29uc3QgTG9hZEluaXRpYXRvciYgPSBOdWxsTG9hZEluaXRpYXRvcjo6aW5zdGFu
Y2UoKSk7CiAgICAgICAgIHZpcnR1YWwgfkRvY3VtZW50VGhyZWFkYWJsZUxvYWRlcigpOwogCiAg
ICAgICAgIHZpcnR1YWwgdm9pZCBjYW5jZWwoKTsKQEAgLTcyLDcgKzc1LDcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgICAgICAgICAgTG9hZEFzeW5jaHJvbm91c2x5CiAgICAgICAgIH07CiAK
LSAgICAgICAgRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyKERvY3VtZW50KiwgVGhyZWFkYWJsZUxv
YWRlckNsaWVudCosIEJsb2NraW5nQmVoYXZpb3IsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIGNv
bnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJik7CisgICAgICAgIERvY3VtZW50VGhyZWFkYWJs
ZUxvYWRlcihEb2N1bWVudCosIFRocmVhZGFibGVMb2FkZXJDbGllbnQqLCBCbG9ja2luZ0JlaGF2
aW9yLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9u
cyYsIGNvbnN0IExvYWRJbml0aWF0b3ImKTsKIAogICAgICAgICB2b2lkIGNsZWFyUmVzb3VyY2Uo
KTsKIApAQCAtMTA4LDYgKzExMSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgYm9v
bCBtX3NpbXBsZVJlcXVlc3Q7CiAgICAgICAgIGJvb2wgbV9hc3luYzsKICAgICAgICAgT3duUHRy
PFJlc291cmNlUmVxdWVzdD4gbV9hY3R1YWxSZXF1ZXN0OyAgLy8gbm9uLW51bGwgZHVyaW5nIEFj
Y2VzcyBDb250cm9sIHByZWZsaWdodCBjaGVja3MKKyAgICAgICAgTG9hZEluaXRpYXRvckhhbmRs
ZSBtX2luaXRpYXRvcjsKIAogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgICAgIHVuc2lnbmVk
IGxvbmcgbV9wcmVmbGlnaHRSZXF1ZXN0SWRlbnRpZmllcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1h
Z2VMb2FkZXIuY3BwCmluZGV4IDA1MjNiM2E4OWYzMTY3NWNjNjk5ZTE1ZDlkMTYxNjA3ZjdlNzVi
MTEuLmU2Y2M0NzRlNmM1OTQ0MTUzM2VlM2M0Nzk0OTRjYmIzOTA1MjkxNzUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL0ltYWdlTG9hZGVyLmNwcApAQCAtMTk0LDcgKzE5NCw3IEBAIHZvaWQgSW1hZ2VM
b2FkZXI6OnVwZGF0ZUZyb21FbGVtZW50KCkKICAgICAgICAgICAgIGRvY3VtZW50KCktPmNhY2hl
ZFJlc291cmNlTG9hZGVyKCktPm1fZG9jdW1lbnRSZXNvdXJjZXMuc2V0KG5ld0ltYWdlLT51cmwo
KSwgbmV3SW1hZ2UuZ2V0KCkpOwogICAgICAgICAgICAgZG9jdW1lbnQoKS0+Y2FjaGVkUmVzb3Vy
Y2VMb2FkZXIoKS0+c2V0QXV0b0xvYWRJbWFnZXMoYXV0b0xvYWRPdGhlckltYWdlcyk7CiAgICAg
ICAgIH0gZWxzZQotICAgICAgICAgICAgbmV3SW1hZ2UgPSBkb2N1bWVudCgpLT5jYWNoZWRSZXNv
dXJjZUxvYWRlcigpLT5yZXF1ZXN0SW1hZ2UocmVxdWVzdCk7CisgICAgICAgICAgICBuZXdJbWFn
ZSA9IGRvY3VtZW50KCktPmNhY2hlZFJlc291cmNlTG9hZGVyKCktPnJlcXVlc3RJbWFnZShyZXF1
ZXN0LCAqY2xpZW50KCktPnNvdXJjZUVsZW1lbnQoKSk7CiAKICAgICAgICAgLy8gSWYgd2UgZG8g
bm90IGhhdmUgYW4gaW1hZ2UgaGVyZSwgaXQgbWVhbnMgdGhhdCBhIGNyb3NzLXNpdGUKICAgICAg
ICAgLy8gdmlvbGF0aW9uIG9jY3VycmVkLCBvciB0aGF0IHRoZSBpbWFnZSB3YXMgYmxvY2tlZCB2
aWEgQ29udGVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0xpbmtMb2FkZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0xpbmtMb2FkZXIuY3BwCmluZGV4IGFmMjVhODY4
MDNjNDA3NDc5YzEwMjY3YWYyNjY3ZWEwMmFlNWQyZjMuLmUxNjU1MGRiZThlNTBmNzYyYzIwZmNi
MWUwYTMzN2FhMzI3NDc2ZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9MaW5r
TG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTGlua0xvYWRlci5jcHAKQEAg
LTEyMCwxMiArMTIwLDEyIEBAIGJvb2wgTGlua0xvYWRlcjo6bG9hZExpbmsoY29uc3QgTGlua1Jl
bEF0dHJpYnV0ZSYgcmVsQXR0cmlidXRlLCBjb25zdCBTdHJpbmcmIHR5CiAgICAgICAgICAgICB0
eXBlID0gQ2FjaGVkUmVzb3VyY2U6OkxpbmtTdWJyZXNvdXJjZTsKICAgICAgICAgfQogICAgICAg
ICBSZXNvdXJjZVJlcXVlc3QgbGlua1JlcXVlc3QoZG9jdW1lbnQtPmNvbXBsZXRlVVJMKGhyZWYp
KTsKLSAgICAgICAgCisKICAgICAgICAgaWYgKG1fY2FjaGVkTGlua1Jlc291cmNlKSB7CiAgICAg
ICAgICAgICBtX2NhY2hlZExpbmtSZXNvdXJjZS0+cmVtb3ZlQ2xpZW50KHRoaXMpOwogICAgICAg
ICAgICAgbV9jYWNoZWRMaW5rUmVzb3VyY2UgPSAwOwogICAgICAgICB9Ci0gICAgICAgIG1fY2Fj
aGVkTGlua1Jlc291cmNlID0gZG9jdW1lbnQtPmNhY2hlZFJlc291cmNlTG9hZGVyKCktPnJlcXVl
c3RMaW5rUmVzb3VyY2UodHlwZSwgbGlua1JlcXVlc3QsIHByaW9yaXR5KTsKKyAgICAgICAgbV9j
YWNoZWRMaW5rUmVzb3VyY2UgPSBkb2N1bWVudC0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKS0+cmVx
dWVzdExpbmtSZXNvdXJjZSh0eXBlLCBsaW5rUmVxdWVzdCwgbV9jbGllbnQtPmluaXRpYXRvcigp
LCBwcmlvcml0eSk7CiAgICAgICAgIGlmIChtX2NhY2hlZExpbmtSZXNvdXJjZSkKICAgICAgICAg
ICAgIG1fY2FjaGVkTGlua1Jlc291cmNlLT5hZGRDbGllbnQodGhpcyk7CiAgICAgfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0xpbmtMb2FkZXJDbGllbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9MaW5rTG9hZGVyQ2xpZW50LmgKaW5kZXggNDM1MGVlNzhjOTVhNzYzZjlj
YzVkNDVlNWE4ZTE2MmE5YjFhNTA2My4uNjZmMjBjNTk3YTk2MmU5NGJhZDEyZTU1MWRjMWVjNGFk
OGY3MWZhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0xpbmtMb2FkZXJDbGll
bnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTGlua0xvYWRlckNsaWVudC5oCkBAIC0z
MiwxMSArMzIsMTQgQEAKICNkZWZpbmUgTGlua0xvYWRlckNsaWVudF9oCiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKK2NsYXNzIExvYWRJbml0aWF0b3I7CiAKIGNsYXNzIExpbmtMb2FkZXJDbGllbnQg
ewogcHVibGljOgogICAgIHZpcnR1YWwgfkxpbmtMb2FkZXJDbGllbnQoKSB7IH0KIAorICAgIHZp
cnR1YWwgY29uc3QgTG9hZEluaXRpYXRvciYgaW5pdGlhdG9yKCkgY29uc3QgPSAwOworCiAgICAg
dmlydHVhbCBib29sIHNob3VsZExvYWRMaW5rKCkgPSAwOwogCiAgICAgdmlydHVhbCB2b2lkIGxp
bmtMb2FkZWQoKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTG9hZElu
aXRpYXRvci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0xvYWRJbml0aWF0b3IuaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yNTZmZjMzYWM1YjJkMGVmMWMxM2RlYWM3NzdiMDQyM2I4NmNmNDgxCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0xvYWRJbml0aWF0b3IuaApAQCAtMCwwICsx
LDUxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6Cisg
KgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAq
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29v
Z2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
CisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2lmbmRlZiBMb2FkSW5pdGlhdG9yX2gKKyNkZWZpbmUgTG9hZEluaXRpYXRvcl9oCisK
K25hbWVzcGFjZSBXVEYgeworY2xhc3MgQXRvbWljU3RyaW5nOworfQorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CitjbGFzcyBEb2N1bWVudDsKKworY2xhc3MgTG9hZEluaXRpYXRvciB7CitwdWJsaWM6
CisgICAgdmlydHVhbCB+TG9hZEluaXRpYXRvcigpIHsgfQorCisgICAgdmlydHVhbCBjb25zdCBX
VEY6OkF0b21pY1N0cmluZyYgaW5pdGlhdG9yTmFtZSgpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFs
IERvY3VtZW50KiBpbml0aWF0b3JEb2N1bWVudCgpIGNvbnN0ID0gMDsKK307CisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIExvYWRJbml0aWF0b3JfaApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL0xvYWRJbml0aWF0b3JIYW5kbGUuY3BwIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0xvYWRJbml0aWF0b3JIYW5kbGUuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ2ZGY3YmQz
NTY1M2U0MDQ2MzkyYjFiMDdlMzcyYzJjNGU5NTUwM2QKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvTG9hZEluaXRpYXRvckhhbmRsZS5jcHAKQEAgLTAsMCArMSw1OCBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAq
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
CisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJ
bmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8g
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICog
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJMb2FkSW5pdGlhdG9ySGFuZGxlLmgiCisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworTG9hZEluaXRpYXRvckhhbmRsZTo6TG9hZEluaXRpYXRv
ckhhbmRsZSgpCit7CisgICAgY2xlYXIoKTsKK30KKworTG9hZEluaXRpYXRvckhhbmRsZTo6TG9h
ZEluaXRpYXRvckhhbmRsZShjb25zdCBMb2FkSW5pdGlhdG9yJiBpbml0aWF0b3IpCisgICAgOiBt
X25hbWUoaW5pdGlhdG9yLmluaXRpYXRvck5hbWUoKSkKKyAgICAsIG1fZG9jdW1lbnQoaW5pdGlh
dG9yLmluaXRpYXRvckRvY3VtZW50KCkpCit7Cit9CisKK0xvYWRJbml0aWF0b3JIYW5kbGU6On5M
b2FkSW5pdGlhdG9ySGFuZGxlKCkKK3sKK30KKwordm9pZCBMb2FkSW5pdGlhdG9ySGFuZGxlOjpj
bGVhcigpCit7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIG5hbWUsICgi
cmVzb3VyY2UiLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKSk7CisgICAgbV9u
YW1lID0gbmFtZTsKKyAgICBtX2RvY3VtZW50LmNsZWFyKCk7Cit9CisKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Mb2FkSW5pdGlhdG9y
SGFuZGxlLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTG9hZEluaXRpYXRvckhhbmRsZS5oCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgzNmQxNjZiZjY0NWRiZDdlZWQwNDI2NGI0MmQ1Yzc1NjQ3YjU2ZmMKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTG9hZEluaXRpYXRvckhhbmRsZS5o
CkBAIC0wLDAgKzEsNjQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUK
KyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20K
KyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICog
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
CisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaWZuZGVmIExvYWRJbml0aWF0b3JIYW5kbGVfaAorI2RlZmluZSBM
b2FkSW5pdGlhdG9ySGFuZGxlX2gKKworI2luY2x1ZGUgIkRvY3VtZW50LmgiCisjaW5jbHVkZSAi
TG9hZEluaXRpYXRvci5oIgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYv
dGV4dC9BdG9taWNTdHJpbmcuaD4KKworI2lmIEVOQUJMRShSRVNPVVJDRV9USU1JTkcpCisjaW5j
bHVkZSAiRE9NV2luZG93LmgiCisjaW5jbHVkZSAiUGVyZm9ybWFuY2UuaCIKKyNlbmRpZgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIExvYWRJbml0aWF0b3JIYW5kbGUgOiBwdWJsaWMg
TG9hZEluaXRpYXRvciB7CitwdWJsaWM6CisgICAgTG9hZEluaXRpYXRvckhhbmRsZSgpOworICAg
IExvYWRJbml0aWF0b3JIYW5kbGUoY29uc3QgTG9hZEluaXRpYXRvciYpOworICAgIHZpcnR1YWwg
fkxvYWRJbml0aWF0b3JIYW5kbGUoKTsKKworICAgIHZvaWQgY2xlYXIoKTsKKworICAgIHZpcnR1
YWwgY29uc3QgQXRvbWljU3RyaW5nJiBpbml0aWF0b3JOYW1lKCkgY29uc3QgeyByZXR1cm4gbV9u
YW1lOyB9CisgICAgdmlydHVhbCBEb2N1bWVudCogaW5pdGlhdG9yRG9jdW1lbnQoKSBjb25zdCB7
IHJldHVybiBtX2RvY3VtZW50LmdldCgpOyB9CisKK3ByaXZhdGU6CisgICAgQXRvbWljU3RyaW5n
IG1fbmFtZTsKKyAgICBSZWZQdHI8RG9jdW1lbnQ+IG1fZG9jdW1lbnQ7Cit9OworCit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBMb2FkSW5pdGlhdG9ySGFuZGxlX2gKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9NYWluUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL01haW5SZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggZWE2NjcwMzZj
OGMzOWY2NjI0OGQ4ZTI1ZDhjZTFiMTgxZjc0Y2UxYy4uYmUxM2Q4MzM2NDA0NGUwY2QzNzFhMDMz
YzMzMzQ2N2MyNmE0MjMxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL01haW5S
ZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL01haW5SZXNvdXJj
ZUxvYWRlci5jcHAKQEAgLTUzLDYgKzUzLDExIEBACiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKICNp
bmNsdWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KIAorI2lmIEVOQUJMRShSRVNPVVJDRV9USU1JTkcp
CisjaW5jbHVkZSAiSFRNTEZyYW1lT3duZXJFbGVtZW50LmgiCisjaW5jbHVkZSAiUGVyZm9ybWFu
Y2UuaCIKKyNlbmRpZgorCiAjaWYgUExBVEZPUk0oUVQpCiAjaW5jbHVkZSAiUGx1Z2luRGF0YWJh
c2UuaCIKICNlbmRpZgpAQCAtNTIxLDcgKzUyNiwxMyBAQCB2b2lkIE1haW5SZXNvdXJjZUxvYWRl
cjo6ZGlkRmluaXNoTG9hZGluZyhkb3VibGUgZmluaXNoVGltZSkKICAgICBpZiAobV9sb2FkaW5n
TXVsdGlwYXJ0Q29udGVudCkKICAgICAgICAgZGwtPm1heWJlRmluaXNoTG9hZGluZ011bHRpcGFy
dENvbnRlbnQoKTsKIAorCiAgICAgZG9jdW1lbnRMb2FkZXIoKS0+dGltaW5nKCktPnNldFJlc3Bv
bnNlRW5kKGZpbmlzaFRpbWUgPyBmaW5pc2hUaW1lIDogKG1fdGltZU9mTGFzdERhdGFSZWNlaXZl
ZCA/IG1fdGltZU9mTGFzdERhdGFSZWNlaXZlZCA6IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGlt
ZSgpKSk7CisjaWYgRU5BQkxFKFJFU09VUkNFX1RJTUlORykKKyAgICBpZiAobV9mcmFtZS0+b3du
ZXJFbGVtZW50KCkpCisgICAgICAgIG1fZnJhbWUtPm93bmVyRWxlbWVudCgpLT5pbml0aWF0b3JE
b2N1bWVudCgpLT5kb21XaW5kb3coKS0+cGVyZm9ybWFuY2UoKS0+YWRkUmVzb3VyY2VUaW1pbmco
Km1fZnJhbWUtPm93bmVyRWxlbWVudCgpLCBvcmlnaW5hbFJlcXVlc3QoKSwgbV9yZXNwb25zZSwg
ZG9jdW1lbnRMb2FkZXIoKS0+dGltaW5nKCktPnJlc3BvbnNlRW5kKCkpOworI2VuZGlmCisKICAg
ICBkb2N1bWVudExvYWRlcigpLT5maW5pc2hlZExvYWRpbmcoKTsKICAgICBSZXNvdXJjZUxvYWRl
cjo6ZGlkRmluaXNoTG9hZGluZyhmaW5pc2hUaW1lKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL051bGxMb2FkSW5pdGlhdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9OdWxsTG9hZEluaXRpYXRvci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjQ3MjdiZGFlOWI4YTQwYzczMGUx
ZDkwNGEzYzAxNmJhZGM1ZGI5NgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9OdWxsTG9hZEluaXRpYXRvci5jcHAKQEAgLTAsMCArMSw0NCBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRp
b24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFt
ZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisg
KiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25m
aWcuaCIKKyNpbmNsdWRlICJOdWxsTG9hZEluaXRpYXRvci5oIgorCisjaW5jbHVkZSA8d3RmL1N0
ZExpYkV4dHJhcy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NvbnN0IE51bGxMb2FkSW5p
dGlhdG9yJiBOdWxsTG9hZEluaXRpYXRvcjo6aW5zdGFuY2UoKQoreworICAgIERFRklORV9TVEFU
SUNfTE9DQUwoTnVsbExvYWRJbml0aWF0b3IsIGluc3RhbmNlLCAoKSk7CisgICAgcmV0dXJuIGlu
c3RhbmNlOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvTnVsbExvYWRJbml0aWF0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9OdWxsTG9hZEluaXRpYXRvci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmIwNmRlYWE4Mzg3ODQ1MGNlZDBmNGU3
YjljYjhiZDFmNzJiNDQzZTQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvTnVsbExvYWRJbml0aWF0b3IuaApAQCAtMCwwICsxLDUzIEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4K
KyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBv
ZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
CisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBOdWxsTG9hZElu
aXRpYXRvcl9oCisjZGVmaW5lIE51bGxMb2FkSW5pdGlhdG9yX2gKKworI2luY2x1ZGUgIkxvYWRJ
bml0aWF0b3IuaCIKKyNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJpbmcuaD4KKworbmFtZXNw
YWNlIFdlYkNvcmUgeworY2xhc3MgRG9jdW1lbnQ7CisKK2NsYXNzIE51bGxMb2FkSW5pdGlhdG9y
IDogcHVibGljIExvYWRJbml0aWF0b3IgeworcHVibGljOgorICAgIHN0YXRpYyBjb25zdCBOdWxs
TG9hZEluaXRpYXRvciYgaW5zdGFuY2UoKTsKKworICAgIHZpcnR1YWwgY29uc3QgV1RGOjpBdG9t
aWNTdHJpbmcmIGluaXRpYXRvck5hbWUoKSBjb25zdCB7IHJldHVybiBtX25hbWU7IH0KKyAgICB2
aXJ0dWFsIERvY3VtZW50KiBpbml0aWF0b3JEb2N1bWVudCgpIGNvbnN0IHsgcmV0dXJuIDA7IH0K
KworcHJpdmF0ZToKKyAgICBBdG9taWNTdHJpbmcgbV9uYW1lOworfTsKKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQorCisjZW5kaWYgLy8gTnVsbExvYWRJbml0aWF0b3JfaApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZE5vdGlmaWVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWROb3RpZmllci5jcHAKaW5kZXggYzczNDlhMWVkNmEy
MzMzMmRmOGM5NDI5OWIyZjI5YzE3MzUwMDA0Ny4uMjRkZjQ4OWM3OTJlYjA5ZmVlMDdhNDA0MTY3
MDA5NWQ1ODQyYjU5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNl
TG9hZE5vdGlmaWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2Fk
Tm90aWZpZXIuY3BwCkBAIC0xMjEsNiArMTIxLDEwIEBAIHZvaWQgUmVzb3VyY2VMb2FkTm90aWZp
ZXI6OmRpc3BhdGNoV2lsbFNlbmRSZXF1ZXN0KERvY3VtZW50TG9hZGVyKiBsb2FkZXIsIHVuc2ln
CiAgICAgLy8gUmVwb3J0IFdlYlRpbWluZyBmb3IgYWxsIGZyYW1lcy4KICAgICBpZiAobG9hZGVy
ICYmICFyZXF1ZXN0LmlzTnVsbCgpICYmIHJlcXVlc3QudXJsKCkgPT0gbG9hZGVyLT5yZXF1ZXN0
VVJMKCkpCiAgICAgICAgIHJlcXVlc3Quc2V0UmVwb3J0TG9hZFRpbWluZyh0cnVlKTsKKworI2lm
IEVOQUJMRShSRVNPVVJDRV9USU1JTkcpCisgICAgcmVxdWVzdC5zZXRSZXBvcnRMb2FkVGltaW5n
KHRydWUpOworI2VuZGlmCiB9CiAKIHZvaWQgUmVzb3VyY2VMb2FkTm90aWZpZXI6OmRpc3BhdGNo
RGlkUmVjZWl2ZVJlc3BvbnNlKERvY3VtZW50TG9hZGVyKiBsb2FkZXIsIHVuc2lnbmVkIGxvbmcg
aWRlbnRpZmllciwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgciwgUmVzb3VyY2VMb2FkZXIqIHJl
c291cmNlTG9hZGVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNl
TG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5jcHAKaW5k
ZXggZjBhNmMzMzVjY2Y5NjkyNmI0YjEzMTY5ZjQwZTQxY2E4OGVlYWM5Zi4uYTc3ZDc0NzdkY2E1
MjI3ZjY1ODI5MzA5ZTFiNjU4ZjZjNmM1NDMyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL1Jlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVz
b3VyY2VMb2FkZXIuY3BwCkBAIC0yMzksNiArMjM5LDggQEAgdm9pZCBSZXNvdXJjZUxvYWRlcjo6
d2lsbFNlbmRSZXF1ZXN0KFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgUmVzb3VyY2VS
ZXMKICAgICBpZiAoIXJlZGlyZWN0UmVzcG9uc2UuaXNOdWxsKCkpCiAgICAgICAgIHJlc291cmNl
TG9hZFNjaGVkdWxlcigpLT5jcm9zc09yaWdpblJlZGlyZWN0UmVjZWl2ZWQodGhpcywgcmVxdWVz
dC51cmwoKSk7CiAgICAgbV9yZXF1ZXN0ID0gcmVxdWVzdDsKKyAgICBpZiAobV9vcmlnaW5hbFJl
cXVlc3QuaXNOdWxsKCkpCisgICAgICAgIG1fb3JpZ2luYWxSZXF1ZXN0ID0gcmVxdWVzdDsKIH0K
IAogdm9pZCBSZXNvdXJjZUxvYWRlcjo6ZGlkU2VuZERhdGEodW5zaWduZWQgbG9uZyBsb25nLCB1
bnNpZ25lZCBsb25nIGxvbmcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3Vi
cmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnJlc291cmNlTG9h
ZGVyLmNwcAppbmRleCA1NmRlMGQzNDEzM2MzZjVhNDcyYmZjMmJjNmY0ZTVjZGYzODMwM2ZkLi41
MGU4MDA0YTZkNGIzOGQxM2JlODVjMTkxNWY1NmE1ZDQ1YmI4Yjk5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHAKQEAgLTYsMTMgKzYsMTMgQEAKICAqIGFy
ZSBtZXQ6CiAgKgogICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKyAqICAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCiAgKiAy
LiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKICAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gCisgKiAg
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KICAqIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVy
LCBJbmMuICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCiAgKiAgICAgaXRzIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAotICog
ICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4gCisgKiAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLgogICoKICAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCiAgKiBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVECkBAIC00Myw2ICs0MywxMSBAQAogI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMu
aD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAKKyNpZiBFTkFCTEUoUkVTT1VSQ0Vf
VElNSU5HKQorI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgorI2luY2x1ZGUgIlBlcmZvcm1hbmNlLmgi
CisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBERUZJTkVfREVCVUdfT05MWV9HTE9C
QUwoV1RGOjpSZWZDb3VudGVkTGVha0NvdW50ZXIsIHN1YnJlc291cmNlTG9hZGVyQ291bnRlciwg
KCJTdWJyZXNvdXJjZUxvYWRlciIpKTsKQEAgLTE2NCw3ICsxNjksNyBAQCB2b2lkIFN1YnJlc291
cmNlTG9hZGVyOjp3aWxsU2VuZFJlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0JiBuZXdSZXF1ZXN0LCBj
b25zdCBSZXNvdQogewogICAgIC8vIFN0b3JlIHRoZSBwcmV2aW91cyBVUkwgYmVjYXVzZSB0aGUg
Y2FsbCB0byBSZXNvdXJjZUxvYWRlcjo6d2lsbFNlbmRSZXF1ZXN0IHdpbGwgbW9kaWZ5IGl0Lgog
ICAgIEtVUkwgcHJldmlvdXNVUkwgPSByZXF1ZXN0KCkudXJsKCk7Ci0gICAgCisKICAgICBSZXNv
dXJjZUxvYWRlcjo6d2lsbFNlbmRSZXF1ZXN0KG5ld1JlcXVlc3QsIHJlZGlyZWN0UmVzcG9uc2Up
OwogICAgIGlmICghcHJldmlvdXNVUkwuaXNOdWxsKCkgJiYgIW5ld1JlcXVlc3QuaXNOdWxsKCkg
JiYgcHJldmlvdXNVUkwgIT0gbmV3UmVxdWVzdC51cmwoKSkgewogICAgICAgICBpZiAobV9kb2N1
bWVudC0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKS0+Y2FuUmVxdWVzdChtX3Jlc291cmNlLT50eXBl
KCksIG5ld1JlcXVlc3QudXJsKCkpKSB7CkBAIC0yMjYsOCArMjMxLDggQEAgdm9pZCBTdWJyZXNv
dXJjZUxvYWRlcjo6ZGlkUmVjZWl2ZVJlc3BvbnNlKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJl
c3BvbnNlKQogICAgIGlmIChtX2xvYWRpbmdNdWx0aXBhcnRDb250ZW50ICYmIGJ1ZmZlciAmJiBi
dWZmZXItPnNpemUoKSkgewogICAgICAgICBzZW5kRGF0YVRvUmVzb3VyY2UoYnVmZmVyLT5kYXRh
KCksIGJ1ZmZlci0+c2l6ZSgpKTsKICAgICAgICAgY2xlYXJSZXNvdXJjZURhdGEoKTsKLSAgICAg
ICAgLy8gU2luY2UgYSBzdWJyZXNvdXJjZSBsb2FkZXIgZG9lcyBub3QgbG9hZCBtdWx0aXBhcnQg
c2VjdGlvbnMgcHJvZ3Jlc3NpdmVseSwgZGF0YSB3YXMgZGVsaXZlcmVkIHRvIHRoZSBsb2FkZXIg
YWxsIGF0IG9uY2UuICAgICAgICAKLSAgICAgICAgLy8gQWZ0ZXIgdGhlIGZpcnN0IG11bHRpcGFy
dCBzZWN0aW9uIGlzIGNvbXBsZXRlLCBzaWduYWwgdG8gZGVsZWdhdGVzIHRoYXQgdGhpcyBsb2Fk
IGlzICJmaW5pc2hlZCIgCisgICAgICAgIC8vIFNpbmNlIGEgc3VicmVzb3VyY2UgbG9hZGVyIGRv
ZXMgbm90IGxvYWQgbXVsdGlwYXJ0IHNlY3Rpb25zIHByb2dyZXNzaXZlbHksIGRhdGEgd2FzIGRl
bGl2ZXJlZCB0byB0aGUgbG9hZGVyIGFsbCBhdCBvbmNlLgorICAgICAgICAvLyBBZnRlciB0aGUg
Zmlyc3QgbXVsdGlwYXJ0IHNlY3Rpb24gaXMgY29tcGxldGUsIHNpZ25hbCB0byBkZWxlZ2F0ZXMg
dGhhdCB0aGlzIGxvYWQgaXMgImZpbmlzaGVkIgogICAgICAgICBtX2RvY3VtZW50TG9hZGVyLT5z
dWJyZXNvdXJjZUxvYWRlckZpbmlzaGVkTG9hZGluZ09uZVBhcnQodGhpcyk7CiAgICAgICAgIGRp
ZEZpbmlzaExvYWRpbmdPbmVQYXJ0KDApOwogICAgIH0KQEAgLTI2NCwxNiArMjY5LDE2IEBAIGJv
b2wgU3VicmVzb3VyY2VMb2FkZXI6OmNoZWNrRm9ySFRUUFN0YXR1c0NvZGVFcnJvcigpCiAKIHZv
aWQgU3VicmVzb3VyY2VMb2FkZXI6OnNlbmREYXRhVG9SZXNvdXJjZShjb25zdCBjaGFyKiBkYXRh
LCBpbnQgbGVuZ3RoKQogewotICAgIC8vIFRoZXJlIGFyZSB0d28gY2FzZXMgd2hlcmUgd2UgbWln
aHQgbmVlZCB0byBjcmVhdGUgb3VyIG93biBTaGFyZWRCdWZmZXIgaW5zdGVhZCBvZiBjb3B5aW5n
IHRoZSBvbmUgaW4gUmVzb3VyY2VMb2FkZXIuIAotICAgIC8vICgxKSBNdWx0aXBhcnQgY29udGVu
dDogVGhlIGxvYWRlciBkZWxpdmVycyB0aGUgZGF0YSBpbiBhIG11bHRpcGFydCBzZWN0aW9uIGFs
bCBhdCBvbmNlLCB0aGVuIHNlbmRzIGVvZi4gCi0gICAgLy8gICAgIFRoZSByZXNvdXJjZSBkYXRh
IHdpbGwgY2hhbmdlIGFzIHRoZSBuZXh0IHBhcnQgaXMgbG9hZGVkLCBzbyB3ZSBuZWVkIHRvIG1h
a2UgYSBjb3B5LiAKLSAgICAvLyAoMikgT3VyIGNsaWVudCByZXF1ZXN0ZWQgdGhhdCB0aGUgZGF0
YSBub3QgYmUgYnVmZmVyZWQgYXQgdGhlIFJlc291cmNlTG9hZGVyIGxldmVsIHZpYSBSZXNvdXJj
ZUxvYWRlck9wdGlvbnMuIEluIHRoaXMgY2FzZSwgCi0gICAgLy8gICAgIFJlc291cmNlTG9hZGVy
OjpyZXNvdXJjZURhdGEoKSB3aWxsIGJlIG51bGwuIEhvd2V2ZXIsIHVubGlrZSB0aGUgbXVsdGlw
YXJ0IGNhc2UsIHdlIGRvbid0IHdhbnQgdG8gdGVsbCB0aGUgQ2FjaGVkUmVzb3VyY2UgCi0gICAg
Ly8gICAgIHRoYXQgYWxsIGRhdGEgaGFzIGJlZW4gcmVjZWl2ZWQgeWV0LiAKLSAgICBpZiAobV9s
b2FkaW5nTXVsdGlwYXJ0Q29udGVudCB8fCAhcmVzb3VyY2VEYXRhKCkpIHsgCi0gICAgICAgIFJl
ZlB0cjxTaGFyZWRCdWZmZXI+IGNvcGllZERhdGEgPSBTaGFyZWRCdWZmZXI6OmNyZWF0ZShkYXRh
LCBsZW5ndGgpOyAKLSAgICAgICAgbV9yZXNvdXJjZS0+ZGF0YShjb3BpZWREYXRhLnJlbGVhc2Uo
KSwgbV9sb2FkaW5nTXVsdGlwYXJ0Q29udGVudCk7IAotICAgIH0gZWxzZSAKKyAgICAvLyBUaGVy
ZSBhcmUgdHdvIGNhc2VzIHdoZXJlIHdlIG1pZ2h0IG5lZWQgdG8gY3JlYXRlIG91ciBvd24gU2hh
cmVkQnVmZmVyIGluc3RlYWQgb2YgY29weWluZyB0aGUgb25lIGluIFJlc291cmNlTG9hZGVyLgor
ICAgIC8vICgxKSBNdWx0aXBhcnQgY29udGVudDogVGhlIGxvYWRlciBkZWxpdmVycyB0aGUgZGF0
YSBpbiBhIG11bHRpcGFydCBzZWN0aW9uIGFsbCBhdCBvbmNlLCB0aGVuIHNlbmRzIGVvZi4KKyAg
ICAvLyAgICAgVGhlIHJlc291cmNlIGRhdGEgd2lsbCBjaGFuZ2UgYXMgdGhlIG5leHQgcGFydCBp
cyBsb2FkZWQsIHNvIHdlIG5lZWQgdG8gbWFrZSBhIGNvcHkuCisgICAgLy8gKDIpIE91ciBjbGll
bnQgcmVxdWVzdGVkIHRoYXQgdGhlIGRhdGEgbm90IGJlIGJ1ZmZlcmVkIGF0IHRoZSBSZXNvdXJj
ZUxvYWRlciBsZXZlbCB2aWEgUmVzb3VyY2VMb2FkZXJPcHRpb25zLiBJbiB0aGlzIGNhc2UsCisg
ICAgLy8gICAgIFJlc291cmNlTG9hZGVyOjpyZXNvdXJjZURhdGEoKSB3aWxsIGJlIG51bGwuIEhv
d2V2ZXIsIHVubGlrZSB0aGUgbXVsdGlwYXJ0IGNhc2UsIHdlIGRvbid0IHdhbnQgdG8gdGVsbCB0
aGUgQ2FjaGVkUmVzb3VyY2UKKyAgICAvLyAgICAgdGhhdCBhbGwgZGF0YSBoYXMgYmVlbiByZWNl
aXZlZCB5ZXQuCisgICAgaWYgKG1fbG9hZGluZ011bHRpcGFydENvbnRlbnQgfHwgIXJlc291cmNl
RGF0YSgpKSB7CisgICAgICAgIFJlZlB0cjxTaGFyZWRCdWZmZXI+IGNvcGllZERhdGEgPSBTaGFy
ZWRCdWZmZXI6OmNyZWF0ZShkYXRhLCBsZW5ndGgpOworICAgICAgICBtX3Jlc291cmNlLT5kYXRh
KGNvcGllZERhdGEucmVsZWFzZSgpLCBtX2xvYWRpbmdNdWx0aXBhcnRDb250ZW50KTsKKyAgICB9
IGVsc2UKICAgICAgICAgbV9yZXNvdXJjZS0+ZGF0YShyZXNvdXJjZURhdGEoKSwgZmFsc2UpOwog
fQogCkBAIC0yOTYsNiArMzAxLDExIEBAIHZvaWQgU3VicmVzb3VyY2VMb2FkZXI6OmRpZEZpbmlz
aExvYWRpbmcoZG91YmxlIGZpbmlzaFRpbWUpCiAgICAgUmVmUHRyPFN1YnJlc291cmNlTG9hZGVy
PiBwcm90ZWN0KHRoaXMpOwogICAgIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFJlc291cmNl
PiBwcm90ZWN0UmVzb3VyY2UobV9yZXNvdXJjZSk7CiAgICAgbV9zdGF0ZSA9IEZpbmlzaGluZzsK
KyNpZiBFTkFCTEUoUkVTT1VSQ0VfVElNSU5HKQorICAgIGNvbnN0IExvYWRJbml0aWF0b3ImIGlu
aXRpYXRvciA9IG1fcmVzb3VyY2UtPmluaXRpYXRvcigpOworICAgIGlmIChpbml0aWF0b3IuaW5p
dGlhdG9yRG9jdW1lbnQoKSkKKyAgICAgICAgaW5pdGlhdG9yLmluaXRpYXRvckRvY3VtZW50KCkt
PmRvbVdpbmRvdygpLT5wZXJmb3JtYW5jZSgpLT5hZGRSZXNvdXJjZVRpbWluZyhpbml0aWF0b3Is
IG1fcmVzb3VyY2UtPnJlc291cmNlUmVxdWVzdCgpLCBtX3Jlc291cmNlLT5yZXNwb25zZSgpLCBm
aW5pc2hUaW1lKTsKKyNlbmRpZgogICAgIG1fcmVzb3VyY2UtPnNldExvYWRGaW5pc2hUaW1lKGZp
bmlzaFRpbWUpOwogICAgIG1fcmVzb3VyY2UtPmRhdGEocmVzb3VyY2VEYXRhKCksIHRydWUpOwog
ICAgIG1fcmVzb3VyY2UtPmZpbmlzaCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL1RleHRUcmFja0xvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFRyYWNr
TG9hZGVyLmNwcAppbmRleCAyMDI1NzBkMWQwYThkNWUzNWY2YzE0NGI4OWFmZjJjMjBhODgxNTc3
Li5iOTk1M2ZhZTk0YzBmZjE3M2U2N2FhNmNhNWI1MzJlNmYzY2EyNjFiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFRyYWNrTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvVGV4dFRyYWNrTG9hZGVyLmNwcApAQCAtNDEsNyArNDEsNyBAQAogI2luY2x1
ZGUgIldlYlZUVFBhcnNlci5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7Ci0gICAgCisKIFRleHRU
cmFja0xvYWRlcjo6VGV4dFRyYWNrTG9hZGVyKFRleHRUcmFja0xvYWRlckNsaWVudCogY2xpZW50
LCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQogICAgIDogbV9jbGllbnQoY2xpZW50
KQogICAgICwgbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0KGNvbnRleHQpCkBAIC02MSwxMiArNjEs
MTIgQEAgVGV4dFRyYWNrTG9hZGVyOjp+VGV4dFRyYWNrTG9hZGVyKCkKIHZvaWQgVGV4dFRyYWNr
TG9hZGVyOjpjdWVMb2FkVGltZXJGaXJlZChUaW1lcjxUZXh0VHJhY2tMb2FkZXI+KiB0aW1lcikK
IHsKICAgICBBU1NFUlRfVU5VU0VEKHRpbWVyLCB0aW1lciA9PSAmbV9jdWVMb2FkVGltZXIpOwot
ICAgIAorCiAgICAgaWYgKG1fbmV3Q3Vlc0F2YWlsYWJsZSkgewogICAgICAgICBtX25ld0N1ZXNB
dmFpbGFibGUgPSBmYWxzZTsKLSAgICAgICAgbV9jbGllbnQtPm5ld0N1ZXNBdmFpbGFibGUodGhp
cyk7IAorICAgICAgICBtX2NsaWVudC0+bmV3Q3Vlc0F2YWlsYWJsZSh0aGlzKTsKICAgICB9Ci0g
ICAgCisKICAgICBpZiAobV9zdGF0ZSA+PSBGaW5pc2hlZCkKICAgICAgICAgbV9jbGllbnQtPmN1
ZUxvYWRpbmdDb21wbGV0ZWQodGhpcywgbV9zdGF0ZSA9PSBGYWlsZWQpOwogfQpAQCAtODIsMTAg
KzgyLDEwIEBAIHZvaWQgVGV4dFRyYWNrTG9hZGVyOjpjYW5jZWxMb2FkKCkKIHZvaWQgVGV4dFRy
YWNrTG9hZGVyOjpwcm9jZXNzTmV3Q3VlRGF0YShDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2UpCiB7
CiAgICAgQVNTRVJUKG1fY2FjaGVkQ3VlRGF0YSA9PSByZXNvdXJjZSk7Ci0gICAgCisKICAgICBp
ZiAobV9zdGF0ZSA9PSBGYWlsZWQgfHwgIXJlc291cmNlLT5kYXRhKCkpCiAgICAgICAgIHJldHVy
bjsKLSAgICAKKwogICAgIFNoYXJlZEJ1ZmZlciogYnVmZmVyID0gcmVzb3VyY2UtPmRhdGEoKTsK
ICAgICBpZiAobV9wYXJzZU9mZnNldCA9PSBidWZmZXItPnNpemUoKSkKICAgICAgICAgcmV0dXJu
OwpAQCAtMTA1LDEwICsxMDUsMTAgQEAgdm9pZCBUZXh0VHJhY2tMb2FkZXI6OnByb2Nlc3NOZXdD
dWVEYXRhKENhY2hlZFJlc291cmNlKiByZXNvdXJjZSkKIHZvaWQgVGV4dFRyYWNrTG9hZGVyOjpk
aWRSZWNlaXZlRGF0YShDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2UpCiB7CiAgICAgQVNTRVJUKG1f
Y2FjaGVkQ3VlRGF0YSA9PSByZXNvdXJjZSk7Ci0gICAgCisKICAgICBpZiAoIXJlc291cmNlLT5k
YXRhKCkpCiAgICAgICAgIHJldHVybjsKLSAgICAKKwogICAgIHByb2Nlc3NOZXdDdWVEYXRhKHJl
c291cmNlKTsKIH0KIApAQCAtMTQwLDcgKzE0MCw3IEBAIHZvaWQgVGV4dFRyYWNrTG9hZGVyOjpu
b3RpZnlGaW5pc2hlZChDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2UpCiAKICAgICBpZiAoIW1fY3Vl
TG9hZFRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIG1fY3VlTG9hZFRpbWVyLnN0YXJ0T25lU2hv
dCgwKTsKLSAgICAKKwogICAgIGNhbmNlbExvYWQoKTsKIH0KIApAQCAtMTY4LDEyICsxNjgsMTIg
QEAgYm9vbCBUZXh0VHJhY2tMb2FkZXI6OmxvYWQoY29uc3QgS1VSTCYgdXJsLCBjb25zdCBTdHJp
bmcmIGNyb3NzT3JpZ2luTW9kZSkKICAgICB9CiAKICAgICBDYWNoZWRSZXNvdXJjZUxvYWRlciog
Y2FjaGVkUmVzb3VyY2VMb2FkZXIgPSBkb2N1bWVudC0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKTsK
LSAgICBtX2NhY2hlZEN1ZURhdGEgPSBjYWNoZWRSZXNvdXJjZUxvYWRlci0+cmVxdWVzdFRleHRU
cmFjayhjdWVSZXF1ZXN0KTsKKyAgICBtX2NhY2hlZEN1ZURhdGEgPSBjYWNoZWRSZXNvdXJjZUxv
YWRlci0+cmVxdWVzdFRleHRUcmFjayhjdWVSZXF1ZXN0LCBtX2NsaWVudC0+aW5pdGlhdG9yKCkp
OwogICAgIGlmIChtX2NhY2hlZEN1ZURhdGEpCiAgICAgICAgIG1fY2FjaGVkQ3VlRGF0YS0+YWRk
Q2xpZW50KHRoaXMpOwotICAgIAorCiAgICAgbV9jbGllbnQtPmN1ZUxvYWRpbmdTdGFydGVkKHRo
aXMpOwotICAgIAorCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9UZXh0VHJhY2tMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9U
ZXh0VHJhY2tMb2FkZXIuaAppbmRleCA3NDMzNGY5MDY0NmNkZmQ0NThmOWMyM2Y2MmYwODFmNDg3
NWI4YzNjLi5lYTliOTA3MzM2MGJlZjZmYzNjNTY2MjIzMmVjM2IxZWM5OGUwZTcwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFRyYWNrTG9hZGVyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL1RleHRUcmFja0xvYWRlci5oCkBAIC0zOCwxNyArMzgsMTkgQEAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRG9jdW1lbnQ7CitjbGFzcyBMb2FkSW5pdGlhdG9y
OwogY2xhc3MgVGV4dFRyYWNrTG9hZGVyOwogY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsK
IAogY2xhc3MgVGV4dFRyYWNrTG9hZGVyQ2xpZW50IHsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5U
ZXh0VHJhY2tMb2FkZXJDbGllbnQoKSB7IH0KLSAgICAKKwogICAgIHZpcnR1YWwgYm9vbCBzaG91
bGRMb2FkQ3VlcyhUZXh0VHJhY2tMb2FkZXIqKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIG5ld0N1
ZXNBdmFpbGFibGUoVGV4dFRyYWNrTG9hZGVyKikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBjdWVM
b2FkaW5nU3RhcnRlZChUZXh0VHJhY2tMb2FkZXIqKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGN1
ZUxvYWRpbmdDb21wbGV0ZWQoVGV4dFRyYWNrTG9hZGVyKiwgYm9vbCBsb2FkaW5nRmFpbGVkKSA9
IDA7CisgICAgdmlydHVhbCBjb25zdCBMb2FkSW5pdGlhdG9yJiBpbml0aWF0b3IoKSBjb25zdCA9
IDA7CiB9OwogCiBjbGFzcyBUZXh0VHJhY2tMb2FkZXIgOiBwdWJsaWMgQ2FjaGVkUmVzb3VyY2VD
bGllbnQsIHByaXZhdGUgV2ViVlRUUGFyc2VyQ2xpZW50IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9UaHJlYWRhYmxlTG9hZGVyLmNwcAppbmRleCA3MjBiYTRlZWExNTkyN2NjMjVkZDAwNTc4ODRh
NWQzZWY2ZGRmNzY2Li44ZDM3ZTY0NDc1ZDI5YjQ5NDg5MTY4MWMyNmFmOTQ4YzExNWNiN2QzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuY3BwCkBAIC00MCw3ICs0
MCw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotUGFzc1JlZlB0cjxUaHJlYWRhYmxlTG9h
ZGVyPiBUaHJlYWRhYmxlTG9hZGVyOjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29u
dGV4dCwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCogY2xpZW50LCBjb25zdCBSZXNvdXJjZVJlcXVl
c3QmIHJlcXVlc3QsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJiBvcHRpb25zKSAKK1Bh
c3NSZWZQdHI8VGhyZWFkYWJsZUxvYWRlcj4gVGhyZWFkYWJsZUxvYWRlcjo6Y3JlYXRlKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFRocmVhZGFibGVMb2FkZXJDbGllbnQqIGNsaWVu
dCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBUaHJlYWRhYmxlTG9hZGVy
T3B0aW9ucyYgb3B0aW9ucywgY29uc3QgTG9hZEluaXRpYXRvciYgaW5pdGlhdG9yKQogewogICAg
IEFTU0VSVChjbGllbnQpOwogICAgIEFTU0VSVChjb250ZXh0KTsKQEAgLTUxLDEwICs1MSwxMCBA
QCBQYXNzUmVmUHRyPFRocmVhZGFibGVMb2FkZXI+IFRocmVhZGFibGVMb2FkZXI6OmNyZWF0ZShT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KiBjbwogI2VuZGlmIC8vIEVOQUJMRShXT1JLRVJTKQogCiAg
ICAgQVNTRVJUKGNvbnRleHQtPmlzRG9jdW1lbnQoKSk7Ci0gICAgcmV0dXJuIERvY3VtZW50VGhy
ZWFkYWJsZUxvYWRlcjo6Y3JlYXRlKHN0YXRpY19jYXN0PERvY3VtZW50Kj4oY29udGV4dCksIGNs
aWVudCwgcmVxdWVzdCwgb3B0aW9ucyk7CisgICAgcmV0dXJuIERvY3VtZW50VGhyZWFkYWJsZUxv
YWRlcjo6Y3JlYXRlKHN0YXRpY19jYXN0PERvY3VtZW50Kj4oY29udGV4dCksIGNsaWVudCwgcmVx
dWVzdCwgb3B0aW9ucywgaW5pdGlhdG9yKTsKIH0KIAotdm9pZCBUaHJlYWRhYmxlTG9hZGVyOjps
b2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQs
IGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCYg
Y2xpZW50LCBjb25zdCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9ucyYgb3B0aW9ucykKK3ZvaWQgVGhy
ZWFkYWJsZUxvYWRlcjo6bG9hZFJlc291cmNlU3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25D
b250ZXh0KiBjb250ZXh0LCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFRocmVhZGFi
bGVMb2FkZXJDbGllbnQmIGNsaWVudCwgY29uc3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMmIG9w
dGlvbnMsIGNvbnN0IExvYWRJbml0aWF0b3ImIGluaXRpYXRvcikKIHsKICAgICBBU1NFUlQoY29u
dGV4dCk7CiAKQEAgLTY2LDcgKzY2LDcgQEAgdm9pZCBUaHJlYWRhYmxlTG9hZGVyOjpsb2FkUmVz
b3VyY2VTeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQKICNlbmRp
ZiAvLyBFTkFCTEUoV09SS0VSUykKIAogICAgIEFTU0VSVChjb250ZXh0LT5pc0RvY3VtZW50KCkp
OwotICAgIERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcjo6bG9hZFJlc291cmNlU3luY2hyb25vdXNs
eShzdGF0aWNfY2FzdDxEb2N1bWVudCo+KGNvbnRleHQpLCByZXF1ZXN0LCBjbGllbnQsIG9wdGlv
bnMpOworICAgIERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcjo6bG9hZFJlc291cmNlU3luY2hyb25v
dXNseShzdGF0aWNfY2FzdDxEb2N1bWVudCo+KGNvbnRleHQpLCByZXF1ZXN0LCBjbGllbnQsIG9w
dGlvbnMsIGluaXRpYXRvcik7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmggYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5oCmluZGV4IDg4ZThkZDEwYTU4YWNlZGIwNTkw
OTExZGYwZDljZWEyOGMzODRmNmMuLjI0OWI1MzBlNjRmMWNmZWExY2NhY2Q3OGI5YzYyN2JkNDIz
NDZiNDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuaApAQCAtMzEs
NiArMzEsNyBAQAogI2lmbmRlZiBUaHJlYWRhYmxlTG9hZGVyX2gKICNkZWZpbmUgVGhyZWFkYWJs
ZUxvYWRlcl9oCiAKKyNpbmNsdWRlICJOdWxsTG9hZEluaXRpYXRvci5oIgogI2luY2x1ZGUgIlJl
c291cmNlSGFuZGxlLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VMb2FkZXJPcHRpb25zLmgiCiAjaW5j
bHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKQEAgLTQxLDQ5ICs0Miw1MCBAQAogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKLSAgICBjbGFzcyBSZXNvdXJjZUVycm9yOwotICAgIGNsYXNzIFJlc291cmNl
UmVxdWVzdDsKLSAgICBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwotICAgIGNsYXNzIFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQ7Ci0gICAgY2xhc3MgVGhyZWFkYWJsZUxvYWRlckNsaWVudDsKLSAgICAK
LSAgICBlbnVtIENyb3NzT3JpZ2luUmVxdWVzdFBvbGljeSB7Ci0gICAgICAgIERlbnlDcm9zc09y
aWdpblJlcXVlc3RzLAotICAgICAgICBVc2VBY2Nlc3NDb250cm9sLAotICAgICAgICBBbGxvd0Ny
b3NzT3JpZ2luUmVxdWVzdHMKLSAgICB9OworY2xhc3MgTG9hZEluaXRpYXRvcjsKK2NsYXNzIFJl
c291cmNlRXJyb3I7CitjbGFzcyBSZXNvdXJjZVJlcXVlc3Q7CitjbGFzcyBSZXNvdXJjZVJlc3Bv
bnNlOworY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKK2NsYXNzIFRocmVhZGFibGVMb2Fk
ZXJDbGllbnQ7CiAKLSAgICBlbnVtIFByZWZsaWdodFBvbGljeSB7Ci0gICAgICAgIENvbnNpZGVy
UHJlZmxpZ2h0LAotICAgICAgICBGb3JjZVByZWZsaWdodCwKLSAgICAgICAgUHJldmVudFByZWZs
aWdodAotICAgIH07CitlbnVtIENyb3NzT3JpZ2luUmVxdWVzdFBvbGljeSB7CisgICAgRGVueUNy
b3NzT3JpZ2luUmVxdWVzdHMsCisgICAgVXNlQWNjZXNzQ29udHJvbCwKKyAgICBBbGxvd0Nyb3Nz
T3JpZ2luUmVxdWVzdHMKK307CiAKLSAgICBzdHJ1Y3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMg
OiBwdWJsaWMgUmVzb3VyY2VMb2FkZXJPcHRpb25zIHsKLSAgICAgICAgVGhyZWFkYWJsZUxvYWRl
ck9wdGlvbnMoKSA6IHByZWZsaWdodFBvbGljeShDb25zaWRlclByZWZsaWdodCksIGNyb3NzT3Jp
Z2luUmVxdWVzdFBvbGljeShEZW55Q3Jvc3NPcmlnaW5SZXF1ZXN0cykgeyB9Ci0gICAgICAgIFBy
ZWZsaWdodFBvbGljeSBwcmVmbGlnaHRQb2xpY3k7IC8vIElmIEFjY2Vzc0NvbnRyb2wgaXMgdXNl
ZCwgaG93IHRvIGRldGVybWluZSBpZiBhIHByZWZsaWdodCBpcyBuZWVkZWQuCi0gICAgICAgIENy
b3NzT3JpZ2luUmVxdWVzdFBvbGljeSBjcm9zc09yaWdpblJlcXVlc3RQb2xpY3k7Ci0gICAgICAg
IFJlZlB0cjxTZWN1cml0eU9yaWdpbj4gc2VjdXJpdHlPcmlnaW47Ci0gICAgfTsKK2VudW0gUHJl
ZmxpZ2h0UG9saWN5IHsKKyAgICBDb25zaWRlclByZWZsaWdodCwKKyAgICBGb3JjZVByZWZsaWdo
dCwKKyAgICBQcmV2ZW50UHJlZmxpZ2h0Cit9OwogCi0gICAgLy8gVXNlZnVsIGZvciBkb2luZyBs
b2FkZXIgb3BlcmF0aW9ucyBmcm9tIGFueSB0aHJlYWQgKG5vdCB0aHJlYWRzYWZlLCAKLSAgICAv
LyBqdXN0IGFibGUgdG8gcnVuIG9uIHRocmVhZHMgb3RoZXIgdGhhbiB0aGUgbWFpbiB0aHJlYWQp
LgotICAgIGNsYXNzIFRocmVhZGFibGVMb2FkZXIgewotICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShUaHJlYWRhYmxlTG9hZGVyKTsKLSAgICBwdWJsaWM6Ci0gICAgICAgIHN0YXRpYyB2b2lk
IGxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIGNvbnN0
IFJlc291cmNlUmVxdWVzdCYsIFRocmVhZGFibGVMb2FkZXJDbGllbnQmLCBjb25zdCBUaHJlYWRh
YmxlTG9hZGVyT3B0aW9ucyYpOwotICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxUaHJlYWRhYmxl
TG9hZGVyPiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFRocmVhZGFibGVMb2FkZXJD
bGllbnQqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBUaHJlYWRhYmxlTG9hZGVyT3B0
aW9ucyYpOworc3RydWN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zIDogcHVibGljIFJlc291cmNl
TG9hZGVyT3B0aW9ucyB7CisgICAgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMoKSA6IHByZWZsaWdo
dFBvbGljeShDb25zaWRlclByZWZsaWdodCksIGNyb3NzT3JpZ2luUmVxdWVzdFBvbGljeShEZW55
Q3Jvc3NPcmlnaW5SZXF1ZXN0cykgeyB9CisgICAgUHJlZmxpZ2h0UG9saWN5IHByZWZsaWdodFBv
bGljeTsgLy8gSWYgQWNjZXNzQ29udHJvbCBpcyB1c2VkLCBob3cgdG8gZGV0ZXJtaW5lIGlmIGEg
cHJlZmxpZ2h0IGlzIG5lZWRlZC4KKyAgICBDcm9zc09yaWdpblJlcXVlc3RQb2xpY3kgY3Jvc3NP
cmlnaW5SZXF1ZXN0UG9saWN5OworICAgIFJlZlB0cjxTZWN1cml0eU9yaWdpbj4gc2VjdXJpdHlP
cmlnaW47Cit9OwogCi0gICAgICAgIHZpcnR1YWwgdm9pZCBjYW5jZWwoKSA9IDA7Ci0gICAgICAg
IHZvaWQgcmVmKCkgeyByZWZUaHJlYWRhYmxlTG9hZGVyKCk7IH0KLSAgICAgICAgdm9pZCBkZXJl
ZigpIHsgZGVyZWZUaHJlYWRhYmxlTG9hZGVyKCk7IH0KKy8vIFVzZWZ1bCBmb3IgZG9pbmcgbG9h
ZGVyIG9wZXJhdGlvbnMgZnJvbSBhbnkgdGhyZWFkIChub3QgdGhyZWFkc2FmZSwKKy8vIGp1c3Qg
YWJsZSB0byBydW4gb24gdGhyZWFkcyBvdGhlciB0aGFuIHRoZSBtYWluIHRocmVhZCkuCitjbGFz
cyBUaHJlYWRhYmxlTG9hZGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUaHJlYWRhYmxl
TG9hZGVyKTsKK3B1YmxpYzoKKyAgICBzdGF0aWMgdm9pZCBsb2FkUmVzb3VyY2VTeW5jaHJvbm91
c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBUaHJl
YWRhYmxlTG9hZGVyQ2xpZW50JiwgY29uc3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMmLCBjb25z
dCBMb2FkSW5pdGlhdG9yJiA9IE51bGxMb2FkSW5pdGlhdG9yOjppbnN0YW5jZSgpKTsKKyAgICBz
dGF0aWMgUGFzc1JlZlB0cjxUaHJlYWRhYmxlTG9hZGVyPiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCosIFRocmVhZGFibGVMb2FkZXJDbGllbnQqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3Qm
LCBjb25zdCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9ucyYsIGNvbnN0IExvYWRJbml0aWF0b3ImID0g
TnVsbExvYWRJbml0aWF0b3I6Omluc3RhbmNlKCkpOwogCi0gICAgcHJvdGVjdGVkOgotICAgICAg
ICBUaHJlYWRhYmxlTG9hZGVyKCkgeyB9Ci0gICAgICAgIHZpcnR1YWwgflRocmVhZGFibGVMb2Fk
ZXIoKSB7IH0KLSAgICAgICAgdmlydHVhbCB2b2lkIHJlZlRocmVhZGFibGVMb2FkZXIoKSA9IDA7
Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBkZXJlZlRocmVhZGFibGVMb2FkZXIoKSA9IDA7Ci0gICAg
fTsKKyAgICB2aXJ0dWFsIHZvaWQgY2FuY2VsKCkgPSAwOworICAgIHZvaWQgcmVmKCkgeyByZWZU
aHJlYWRhYmxlTG9hZGVyKCk7IH0KKyAgICB2b2lkIGRlcmVmKCkgeyBkZXJlZlRocmVhZGFibGVM
b2FkZXIoKTsgfQorCitwcm90ZWN0ZWQ6CisgICAgVGhyZWFkYWJsZUxvYWRlcigpIHsgfQorICAg
IHZpcnR1YWwgflRocmVhZGFibGVMb2FkZXIoKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgcmVmVGhy
ZWFkYWJsZUxvYWRlcigpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZGVyZWZUaHJlYWRhYmxlTG9h
ZGVyKCkgPSAwOworfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcAppbmRleCBkMjkxZDE0M2IxM2Jh
MWExOTNkYmUzMDgzNWU3Yzc5ZmE0ODI5NDJlLi41YTU3ZWJiOGFmZjVhNmZhNjg4ZTUyZTNiZGM1
MWYzMWU4ODU3MDYzIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2Fj
aGVkUmVzb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRS
ZXNvdXJjZS5jcHAKQEAgLTUzLDcgKzUzLDcgQEAKIHVzaW5nIG5hbWVzcGFjZSBXVEY7CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKLSAgICAKKwogc3RhdGljIFJlc291cmNlTG9hZFByaW9yaXR5IGRl
ZmF1bHRQcmlvcml0eUZvclJlc291cmNlVHlwZShDYWNoZWRSZXNvdXJjZTo6VHlwZSB0eXBlKQog
ewogICAgIHN3aXRjaCAodHlwZSkgewpAQCAtMTAxLDcgKzEwMSw3IEBAIHN0YXRpYyBSZXNvdXJj
ZVJlcXVlc3Q6OlRhcmdldFR5cGUgY2FjaGVkUmVzb3VyY2VUeXBlVG9UYXJnZXRUeXBlKENhY2hl
ZFJlc291cmNlCiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6WFNMU3R5bGVTaGVldDoKICNlbmRp
ZgogICAgICAgICByZXR1cm4gUmVzb3VyY2VSZXF1ZXN0OjpUYXJnZXRJc1N0eWxlU2hlZXQ7Ci0g
ICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6U2NyaXB0OiAKKyAgICBjYXNlIENhY2hlZFJlc291cmNl
OjpTY3JpcHQ6CiAgICAgICAgIHJldHVybiBSZXNvdXJjZVJlcXVlc3Q6OlRhcmdldElzU2NyaXB0
OwogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OkZvbnRSZXNvdXJjZToKICAgICAgICAgcmV0dXJu
IFJlc291cmNlUmVxdWVzdDo6VGFyZ2V0SXNGb250UmVzb3VyY2U7CkBAIC0xMTEsNyArMTExLDcg
QEAgc3RhdGljIFJlc291cmNlUmVxdWVzdDo6VGFyZ2V0VHlwZSBjYWNoZWRSZXNvdXJjZVR5cGVU
b1RhcmdldFR5cGUoQ2FjaGVkUmVzb3VyY2UKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpTaGFk
ZXJSZXNvdXJjZToKICNlbmRpZgogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlJhd1Jlc291cmNl
OgotICAgICAgICByZXR1cm4gUmVzb3VyY2VSZXF1ZXN0OjpUYXJnZXRJc1N1YnJlc291cmNlOyAg
ICAKKyAgICAgICAgcmV0dXJuIFJlc291cmNlUmVxdWVzdDo6VGFyZ2V0SXNTdWJyZXNvdXJjZTsK
ICNpZiBFTkFCTEUoTElOS19QUkVGRVRDSCkKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpMaW5r
UHJlZmV0Y2g6CiAgICAgICAgIHJldHVybiBSZXNvdXJjZVJlcXVlc3Q6OlRhcmdldElzUHJlZmV0
Y2g7CkBAIC0yMjQsMTMgKzIyNCwxMyBAQCB2b2lkIENhY2hlZFJlc291cmNlOjpsb2FkKENhY2hl
ZFJlc291cmNlTG9hZGVyKiBjYWNoZWRSZXNvdXJjZUxvYWRlciwgY29uc3QgUmVzbwogICAgICAg
ICBtX3Jlc291cmNlUmVxdWVzdC5zZXRIVFRQSGVhZGVyRmllbGQoIlB1cnBvc2UiLCAicHJlZmV0
Y2giKTsKICNlbmRpZgogICAgIG1fcmVzb3VyY2VSZXF1ZXN0LnNldFByaW9yaXR5KGxvYWRQcmlv
cml0eSgpKTsKLSAgICAKKwogICAgIG1fbG9hZGVyID0gcmVzb3VyY2VMb2FkU2NoZWR1bGVyKCkt
PnNjaGVkdWxlU3VicmVzb3VyY2VMb2FkKGNhY2hlZFJlc291cmNlTG9hZGVyLT5kb2N1bWVudCgp
LT5mcmFtZSgpLCB0aGlzLCBtX3Jlc291cmNlUmVxdWVzdCwgbV9yZXNvdXJjZVJlcXVlc3QucHJp
b3JpdHkoKSwgb3B0aW9ucyk7CiAgICAgaWYgKCFtX2xvYWRlcikgewogICAgICAgICAvLyBGSVhN
RTogV2hhdCBpZiByZXNvdXJjZXMgaW4gb3RoZXIgZnJhbWVzIHdlcmUgd2FpdGluZyBmb3IgdGhp
cyByZXZhbGlkYXRpb24/CiAgICAgICAgIExPRyhSZXNvdXJjZUxvYWRpbmcsICJDYW5ub3Qgc3Rh
cnQgbG9hZGluZyAnJXMnIiwgdXJsKCkuc3RyaW5nKCkubGF0aW4xKCkuZGF0YSgpKTsKLSAgICAg
ICAgaWYgKG1fcmVzb3VyY2VUb1JldmFsaWRhdGUpIAotICAgICAgICAgICAgbWVtb3J5Q2FjaGUo
KS0+cmV2YWxpZGF0aW9uRmFpbGVkKHRoaXMpOyAKKyAgICAgICAgaWYgKG1fcmVzb3VyY2VUb1Jl
dmFsaWRhdGUpCisgICAgICAgICAgICBtZW1vcnlDYWNoZSgpLT5yZXZhbGlkYXRpb25GYWlsZWQo
dGhpcyk7CiAgICAgICAgIGVycm9yKENhY2hlZFJlc291cmNlOjpMb2FkRXJyb3IpOwogICAgICAg
ICByZXR1cm47CiAgICAgfQpAQCAtMjUyLDcgKzI1Miw3IEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2U6
OmRhdGEoUGFzc1JlZlB0cjxTaGFyZWRCdWZmZXI+LCBib29sIGFsbERhdGFSZWNlaXZlZCkKIHsK
ICAgICBpZiAoIWFsbERhdGFSZWNlaXZlZCkKICAgICAgICAgcmV0dXJuOwotICAgIAorCiAgICAg
c2V0TG9hZGluZyhmYWxzZSk7CiAgICAgY2hlY2tOb3RpZnkoKTsKIH0KQEAgLTI3MSw2ICsyNzEs
NyBAQCB2b2lkIENhY2hlZFJlc291cmNlOjpmaW5pc2goKQogewogICAgIGlmICghZXJyb3JPY2N1
cnJlZCgpKQogICAgICAgICBtX3N0YXR1cyA9IENhY2hlZDsKKyAgICBtX2luaXRpYXRvci5jbGVh
cigpOwogfQogCiBib29sIENhY2hlZFJlc291cmNlOjpwYXNzZXNBY2Nlc3NDb250cm9sQ2hlY2so
U2VjdXJpdHlPcmlnaW4qIHNlY3VyaXR5T3JpZ2luKQpAQCAtMjg2LDcgKzI4Nyw3IEBAIGJvb2wg
Q2FjaGVkUmVzb3VyY2U6OmlzRXhwaXJlZCgpIGNvbnN0CiAKICAgICByZXR1cm4gY3VycmVudEFn
ZSgpID4gZnJlc2huZXNzTGlmZXRpbWUoKTsKIH0KLSAgICAKKwogZG91YmxlIENhY2hlZFJlc291
cmNlOjpjdXJyZW50QWdlKCkgY29uc3QKIHsKICAgICAvLyBSRkMyNjE2IDEzLjIuMwpAQCAtMjk4
LDcgKzI5OSw3IEBAIGRvdWJsZSBDYWNoZWRSZXNvdXJjZTo6Y3VycmVudEFnZSgpIGNvbnN0CiAg
ICAgZG91YmxlIHJlc2lkZW50VGltZSA9IGN1cnJlbnRUaW1lKCkgLSBtX3Jlc3BvbnNlVGltZXN0
YW1wOwogICAgIHJldHVybiBjb3JyZWN0ZWRSZWNlaXZlZEFnZSArIHJlc2lkZW50VGltZTsKIH0K
LSAgICAKKwogZG91YmxlIENhY2hlZFJlc291cmNlOjpmcmVzaG5lc3NMaWZldGltZSgpIGNvbnN0
CiB7CiAgICAgLy8gQ2FjaGUgbm9uLWh0dHAgcmVzb3VyY2VzIGxpYmVyYWxseQpAQCAtMzYwLDcg
KzM2MSw3IEBAIENhY2hlZE1ldGFkYXRhKiBDYWNoZWRSZXNvdXJjZTo6Y2FjaGVkTWV0YWRhdGEo
dW5zaWduZWQgZGF0YVR5cGVJRCkgY29uc3QKIAogdm9pZCBDYWNoZWRSZXNvdXJjZTo6c3RvcExv
YWRpbmcoKQogewotICAgIEFTU0VSVChtX2xvYWRlcik7ICAgICAgICAgICAgCisgICAgQVNTRVJU
KG1fbG9hZGVyKTsKICAgICBtX2xvYWRlciA9IDA7CiAKICAgICBDYWNoZWRSZXNvdXJjZUhhbmRs
ZTxDYWNoZWRSZXNvdXJjZT4gcHJvdGVjdCh0aGlzKTsKQEAgLTQ5MSwxMyArNDkyLDEzIEBAIHZv
aWQgQ2FjaGVkUmVzb3VyY2U6OnNldERlY29kZWRTaXplKHVuc2lnbmVkIHNpemUpCiAgICAgLy8g
cXVldWUuCiAgICAgaWYgKGluQ2FjaGUoKSkKICAgICAgICAgbWVtb3J5Q2FjaGUoKS0+cmVtb3Zl
RnJvbUxSVUxpc3QodGhpcyk7Ci0gICAgCisKICAgICBtX2RlY29kZWRTaXplID0gc2l6ZTsKLSAg
IAotICAgIGlmIChpbkNhY2hlKCkpIHsgCisKKyAgICBpZiAoaW5DYWNoZSgpKSB7CiAgICAgICAg
IC8vIE5vdyBpbnNlcnQgaW50byB0aGUgbmV3IExSVSBsaXN0LgogICAgICAgICBtZW1vcnlDYWNo
ZSgpLT5pbnNlcnRJbkxSVUxpc3QodGhpcyk7Ci0gICAgICAgIAorCiAgICAgICAgIC8vIEluc2Vy
dCBpbnRvIG9yIHJlbW92ZSBmcm9tIHRoZSBsaXZlIGRlY29kZWQgbGlzdCBpZiBuZWNlc3Nhcnku
CiAgICAgICAgIC8vIFdoZW4gaW5zZXJ0aW5nIGludG8gdGhlIExpdmVEZWNvZGVkUmVzb3VyY2Vz
TGlzdCBpdCBpcyBwb3NzaWJsZQogICAgICAgICAvLyB0aGF0IHRoZSBtX2xhc3REZWNvZGVkQWNj
ZXNzVGltZSBpcyBzdGlsbCB6ZXJvIG9yIHNtYWxsZXIgdGhhbgpAQCAtNTIyLDcgKzUyMyw3IEBA
IHZvaWQgQ2FjaGVkUmVzb3VyY2U6OnNldEVuY29kZWRTaXplKHVuc2lnbmVkIHNpemUpCiAKICAg
ICAvLyBUaGUgc2l6ZSBjYW5ub3QgZXZlciBzaHJpbmsgKHVubGVzcyBpdCBpcyBiZWluZyBudWxs
ZWQgb3V0IGJlY2F1c2Ugb2YgYW4gZXJyb3IpLiAgSWYgaXQgZXZlciBkb2VzLCBhc3NlcnQuCiAg
ICAgQVNTRVJUKHNpemUgPT0gMCB8fCBzaXplID49IG1fZW5jb2RlZFNpemUpOwotICAgIAorCiAg
ICAgaW50IGRlbHRhID0gc2l6ZSAtIG1fZW5jb2RlZFNpemU7CiAKICAgICAvLyBUaGUgb2JqZWN0
IG11c3Qgbm93IGJlIG1vdmVkIHRvIGEgZGlmZmVyZW50IHF1ZXVlLCBzaW5jZSBpdHMgc2l6ZSBo
YXMgYmVlbiBjaGFuZ2VkLgpAQCAtNTMwLDEzICs1MzEsMTMgQEAgdm9pZCBDYWNoZWRSZXNvdXJj
ZTo6c2V0RW5jb2RlZFNpemUodW5zaWduZWQgc2l6ZSkKICAgICAvLyBxdWV1ZS4KICAgICBpZiAo
aW5DYWNoZSgpKQogICAgICAgICBtZW1vcnlDYWNoZSgpLT5yZW1vdmVGcm9tTFJVTGlzdCh0aGlz
KTsKLSAgICAKKwogICAgIG1fZW5jb2RlZFNpemUgPSBzaXplOwotICAgCi0gICAgaWYgKGluQ2Fj
aGUoKSkgeyAKKworICAgIGlmIChpbkNhY2hlKCkpIHsKICAgICAgICAgLy8gTm93IGluc2VydCBp
bnRvIHRoZSBuZXcgTFJVIGxpc3QuCiAgICAgICAgIG1lbW9yeUNhY2hlKCktPmluc2VydEluTFJV
TGlzdCh0aGlzKTsKLSAgICAgICAgCisKICAgICAgICAgLy8gVXBkYXRlIHRoZSBjYWNoZSdzIHNp
emUgdG90YWxzLgogICAgICAgICBtZW1vcnlDYWNoZSgpLT5hZGp1c3RTaXplKGhhc0NsaWVudHMo
KSwgZGVsdGEpOwogICAgIH0KQEAgLTU0NSw3ICs1NDYsNyBAQCB2b2lkIENhY2hlZFJlc291cmNl
OjpzZXRFbmNvZGVkU2l6ZSh1bnNpZ25lZCBzaXplKQogdm9pZCBDYWNoZWRSZXNvdXJjZTo6ZGlk
QWNjZXNzRGVjb2RlZERhdGEoZG91YmxlIHRpbWVTdGFtcCkKIHsKICAgICBtX2xhc3REZWNvZGVk
QWNjZXNzVGltZSA9IHRpbWVTdGFtcDsKLSAgICAKKwogICAgIGlmIChpbkNhY2hlKCkpIHsKICAg
ICAgICAgaWYgKG1faW5MaXZlRGVjb2RlZFJlc291cmNlc0xpc3QpIHsKICAgICAgICAgICAgIG1l
bW9yeUNhY2hlKCktPnJlbW92ZUZyb21MaXZlRGVjb2RlZFJlc291cmNlc0xpc3QodGhpcyk7CkBA
IC01NTQsOSArNTU1LDkgQEAgdm9pZCBDYWNoZWRSZXNvdXJjZTo6ZGlkQWNjZXNzRGVjb2RlZERh
dGEoZG91YmxlIHRpbWVTdGFtcCkKICAgICAgICAgbWVtb3J5Q2FjaGUoKS0+cHJ1bmUoKTsKICAg
ICB9CiB9Ci0gICAgCi12b2lkIENhY2hlZFJlc291cmNlOjpzZXRSZXNvdXJjZVRvUmV2YWxpZGF0
ZShDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2UpIAoteyAKKwordm9pZCBDYWNoZWRSZXNvdXJjZTo6
c2V0UmVzb3VyY2VUb1JldmFsaWRhdGUoQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlKQorewogICAg
IEFTU0VSVChyZXNvdXJjZSk7CiAgICAgQVNTRVJUKCFtX3Jlc291cmNlVG9SZXZhbGlkYXRlKTsK
ICAgICBBU1NFUlQocmVzb3VyY2UgIT0gdGhpcyk7CkBAIC01NzQsOCArNTc1LDggQEAgdm9pZCBD
YWNoZWRSZXNvdXJjZTo6c2V0UmVzb3VyY2VUb1JldmFsaWRhdGUoQ2FjaGVkUmVzb3VyY2UqIHJl
c291cmNlKQogICAgIG1fcmVzb3VyY2VUb1JldmFsaWRhdGUgPSByZXNvdXJjZTsKIH0KIAotdm9p
ZCBDYWNoZWRSZXNvdXJjZTo6Y2xlYXJSZXNvdXJjZVRvUmV2YWxpZGF0ZSgpIAoteyAKK3ZvaWQg
Q2FjaGVkUmVzb3VyY2U6OmNsZWFyUmVzb3VyY2VUb1JldmFsaWRhdGUoKQorewogICAgIEFTU0VS
VChtX3Jlc291cmNlVG9SZXZhbGlkYXRlKTsKICAgICBpZiAobV9zd2l0Y2hpbmdDbGllbnRzVG9S
ZXZhbGlkYXRlZFJlc291cmNlKQogICAgICAgICByZXR1cm47CkBAIC01ODksNyArNTkwLDcgQEAg
dm9pZCBDYWNoZWRSZXNvdXJjZTo6Y2xlYXJSZXNvdXJjZVRvUmV2YWxpZGF0ZSgpCiAgICAgbV9y
ZXNvdXJjZVRvUmV2YWxpZGF0ZSA9IDA7CiAgICAgZGVsZXRlSWZQb3NzaWJsZSgpOwogfQotICAg
IAorCiB2b2lkIENhY2hlZFJlc291cmNlOjpzd2l0Y2hDbGllbnRzVG9SZXZhbGlkYXRlZFJlc291
cmNlKCkKIHsKICAgICBBU1NFUlQobV9yZXNvdXJjZVRvUmV2YWxpZGF0ZSk7CkBAIC02MzUsNyAr
NjM2LDcgQEAgdm9pZCBDYWNoZWRSZXNvdXJjZTo6c3dpdGNoQ2xpZW50c1RvUmV2YWxpZGF0ZWRS
ZXNvdXJjZSgpCiAgICAgfQogICAgIG1fc3dpdGNoaW5nQ2xpZW50c1RvUmV2YWxpZGF0ZWRSZXNv
dXJjZSA9IGZhbHNlOwogfQotICAgIAorCiB2b2lkIENhY2hlZFJlc291cmNlOjp1cGRhdGVSZXNw
b25zZUFmdGVyUmV2YWxpZGF0aW9uKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHZhbGlkYXRpbmdS
ZXNwb25zZSkKIHsKICAgICBtX3Jlc3BvbnNlVGltZXN0YW1wID0gY3VycmVudFRpbWUoKTsKQEAg
LTY4Myw3ICs2ODQsNyBAQCBib29sIENhY2hlZFJlc291cmNlOjpjYW5Vc2VDYWNoZVZhbGlkYXRv
cigpIGNvbnN0CiB9CiAKIGJvb2wgQ2FjaGVkUmVzb3VyY2U6Om11c3RSZXZhbGlkYXRlRHVlVG9D
YWNoZUhlYWRlcnMoQ2FjaGVQb2xpY3kgY2FjaGVQb2xpY3kpIGNvbnN0Ci17ICAgIAorewogICAg
IEFTU0VSVChjYWNoZVBvbGljeSA9PSBDYWNoZVBvbGljeVJldmFsaWRhdGUgfHwgY2FjaGVQb2xp
Y3kgPT0gQ2FjaGVQb2xpY3lDYWNoZSB8fCBjYWNoZVBvbGljeSA9PSBDYWNoZVBvbGljeVZlcmlm
eSk7CiAKICAgICBpZiAoY2FjaGVQb2xpY3kgPT0gQ2FjaGVQb2xpY3lSZXZhbGlkYXRlKQpAQCAt
NzEyLDEyICs3MTMsMTIgQEAgYm9vbCBDYWNoZWRSZXNvdXJjZTo6bXVzdFJldmFsaWRhdGVEdWVU
b0NhY2hlSGVhZGVycyhDYWNoZVBvbGljeSBjYWNoZVBvbGljeSkgY28KIH0KIAogYm9vbCBDYWNo
ZWRSZXNvdXJjZTo6aXNTYWZlVG9NYWtlUHVyZ2VhYmxlKCkgY29uc3QKLXsgCit7CiAgICAgcmV0
dXJuICFoYXNDbGllbnRzKCkgJiYgIW1fcHJveHlSZXNvdXJjZSAmJiAhbV9yZXNvdXJjZVRvUmV2
YWxpZGF0ZTsKIH0KIAotYm9vbCBDYWNoZWRSZXNvdXJjZTo6bWFrZVB1cmdlYWJsZShib29sIHB1
cmdlYWJsZSkgCi17IAorYm9vbCBDYWNoZWRSZXNvdXJjZTo6bWFrZVB1cmdlYWJsZShib29sIHB1
cmdlYWJsZSkKK3sKICAgICBpZiAocHVyZ2VhYmxlKSB7CiAgICAgICAgIEFTU0VSVChpc1NhZmVU
b01ha2VQdXJnZWFibGUoKSk7CiAKQEAgLTcyNywxMSArNzI4LDExIEBAIGJvb2wgQ2FjaGVkUmVz
b3VyY2U6Om1ha2VQdXJnZWFibGUoYm9vbCBwdXJnZWFibGUpCiAgICAgICAgIH0KICAgICAgICAg
aWYgKCFtX2RhdGEpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIAorCiAgICAg
ICAgIC8vIFNob3VsZCBub3QgbWFrZSBidWZmZXIgcHVyZ2VhYmxlIGlmIGl0IGhhcyByZWZzIG90
aGVyIHRoYW4gdGhpcyBzaW5jZSB3ZSBkb24ndCB3YW50IHR3byBjb3BpZXMuCiAgICAgICAgIGlm
ICghbV9kYXRhLT5oYXNPbmVSZWYoKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAg
ICAgCisKICAgICAgICAgaWYgKG1fZGF0YS0+aGFzUHVyZ2VhYmxlQnVmZmVyKCkpIHsKICAgICAg
ICAgICAgIG1fcHVyZ2VhYmxlRGF0YSA9IG1fZGF0YS0+cmVsZWFzZVB1cmdlYWJsZUJ1ZmZlcigp
OwogICAgICAgICB9IGVsc2UgewpAQCAtNzQwLDcgKzc0MSw3IEBAIGJvb2wgQ2FjaGVkUmVzb3Vy
Y2U6Om1ha2VQdXJnZWFibGUoYm9vbCBwdXJnZWFibGUpCiAgICAgICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOwogICAgICAgICAgICAgbV9wdXJnZWFibGVEYXRhLT5zZXRQdXJnZVByaW9yaXR5KHB1
cmdlUHJpb3JpdHkoKSk7CiAgICAgICAgIH0KLSAgICAgICAgCisKICAgICAgICAgbV9wdXJnZWFi
bGVEYXRhLT5tYWtlUHVyZ2VhYmxlKHRydWUpOwogICAgICAgICBtX2RhdGEuY2xlYXIoKTsKICAg
ICAgICAgcmV0dXJuIHRydWU7CkBAIC03NTIsNyArNzUzLDcgQEAgYm9vbCBDYWNoZWRSZXNvdXJj
ZTo6bWFrZVB1cmdlYWJsZShib29sIHB1cmdlYWJsZSkKICAgICBBU1NFUlQoIWhhc0NsaWVudHMo
KSk7CiAKICAgICBpZiAoIW1fcHVyZ2VhYmxlRGF0YS0+bWFrZVB1cmdlYWJsZShmYWxzZSkpCi0g
ICAgICAgIHJldHVybiBmYWxzZTsgCisgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIG1fZGF0
YSA9IFNoYXJlZEJ1ZmZlcjo6YWRvcHRQdXJnZWFibGVCdWZmZXIobV9wdXJnZWFibGVEYXRhLnJl
bGVhc2UoKSk7CiAgICAgcmV0dXJuIHRydWU7CkBAIC03NzMsOSArNzc0LDkgQEAgdW5zaWduZWQg
Q2FjaGVkUmVzb3VyY2U6Om92ZXJoZWFkU2l6ZSgpIGNvbnN0CiAgICAgc3RhdGljIGNvbnN0IGlu
dCBrQXZlcmFnZUNsaWVudHNIYXNoTWFwU2l6ZSA9IDM4NDsKICAgICByZXR1cm4gc2l6ZW9mKENh
Y2hlZFJlc291cmNlKSArIG1fcmVzcG9uc2UubWVtb3J5VXNhZ2UoKSArIGtBdmVyYWdlQ2xpZW50
c0hhc2hNYXBTaXplICsgbV9yZXNvdXJjZVJlcXVlc3QudXJsKCkuc3RyaW5nKCkubGVuZ3RoKCkg
KiAyOwogfQotICAgIAotdm9pZCBDYWNoZWRSZXNvdXJjZTo6c2V0TG9hZFByaW9yaXR5KFJlc291
cmNlTG9hZFByaW9yaXR5IGxvYWRQcmlvcml0eSkgCi17IAorCit2b2lkIENhY2hlZFJlc291cmNl
OjpzZXRMb2FkUHJpb3JpdHkoUmVzb3VyY2VMb2FkUHJpb3JpdHkgbG9hZFByaW9yaXR5KQorewog
ICAgIGlmIChsb2FkUHJpb3JpdHkgPT0gUmVzb3VyY2VMb2FkUHJpb3JpdHlVbnJlc29sdmVkKQog
ICAgICAgICByZXR1cm47CiAgICAgbV9sb2FkUHJpb3JpdHkgPSBsb2FkUHJpb3JpdHk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuaCBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oCmluZGV4IGI3MzlkNjhh
ZjgxZjJkYjdiNDg2MmRmMTU5YWFjZjE1OGUwYjU3MzMuLmJmNmFhODhmYzBkZTJkNDIwMTk1MmJi
NWU1MGU5ZTA0OWU1OTIwMWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNo
ZS9DYWNoZWRSZXNvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNo
ZWRSZXNvdXJjZS5oCkBAIC0yNSw2ICsyNSw4IEBACiAKICNpbmNsdWRlICJDYWNoZVBvbGljeS5o
IgogI2luY2x1ZGUgIkZyYW1lTG9hZGVyVHlwZXMuaCIKKyNpbmNsdWRlICJMb2FkSW5pdGlhdG9y
LmgiCisjaW5jbHVkZSAiTG9hZEluaXRpYXRvckhhbmRsZS5oIgogI2luY2x1ZGUgIlB1cmdlUHJp
b3JpdHkuaCIKICNpbmNsdWRlICJSZXNvdXJjZUxvYWRQcmlvcml0eS5oIgogI2luY2x1ZGUgIlJl
c291cmNlTG9hZGVyT3B0aW9ucy5oIgpAQCAtNTcsNyArNTksNyBAQCBjbGFzcyBDYWNoZWRSZXNv
dXJjZSB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2FjaGVkUmVzb3VyY2UpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKICAgICBmcmllbmQgY2xhc3MgTWVtb3J5Q2FjaGU7CiAgICAgZnJp
ZW5kIGNsYXNzIEluc3BlY3RvclJlc291cmNlOwotICAgIAorCiBwdWJsaWM6CiAgICAgZW51bSBU
eXBlIHsKICAgICAgICAgSW1hZ2VSZXNvdXJjZSwKQEAgLTEwNSw5ICsxMDcsMTAgQEAgcHVibGlj
OgogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRJZ25vcmVIVFRQU3RhdHVzQ29kZUVycm9ycygpIGNv
bnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAKICAgICBSZXNvdXJjZVJlcXVlc3QmIHJlc291cmNlUmVx
dWVzdCgpIHsgcmV0dXJuIG1fcmVzb3VyY2VSZXF1ZXN0OyB9Ci0gICAgY29uc3QgS1VSTCYgdXJs
KCkgY29uc3QgeyByZXR1cm4gbV9yZXNvdXJjZVJlcXVlc3QudXJsKCk7fQorICAgIGNvbnN0IFJl
c291cmNlUmVxdWVzdCYgcmVzb3VyY2VSZXF1ZXN0KCkgY29uc3QgeyByZXR1cm4gbV9yZXNvdXJj
ZVJlcXVlc3Q7IH0KKyAgICBjb25zdCBLVVJMJiB1cmwoKSBjb25zdCB7IHJldHVybiBtX3Jlc291
cmNlUmVxdWVzdC51cmwoKTsgfQogICAgIFR5cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJuIHN0YXRp
Y19jYXN0PFR5cGU+KG1fdHlwZSk7IH0KLSAgICAKKwogICAgIFJlc291cmNlTG9hZFByaW9yaXR5
IGxvYWRQcmlvcml0eSgpIGNvbnN0IHsgcmV0dXJuIG1fbG9hZFByaW9yaXR5OyB9CiAgICAgdm9p
ZCBzZXRMb2FkUHJpb3JpdHkoUmVzb3VyY2VMb2FkUHJpb3JpdHkpOwogCkBAIC0xMzgsNyArMTQx
LDcgQEAgcHVibGljOgogICAgIHVuc2lnbmVkIGVuY29kZWRTaXplKCkgY29uc3QgeyByZXR1cm4g
bV9lbmNvZGVkU2l6ZTsgfQogICAgIHVuc2lnbmVkIGRlY29kZWRTaXplKCkgY29uc3QgeyByZXR1
cm4gbV9kZWNvZGVkU2l6ZTsgfQogICAgIHVuc2lnbmVkIG92ZXJoZWFkU2l6ZSgpIGNvbnN0Owot
ICAgIAorCiAgICAgYm9vbCBpc0xvYWRlZCgpIGNvbnN0IHsgcmV0dXJuICFtX2xvYWRpbmc7IH0g
Ly8gRklYTUUuIE1ldGhvZCBuYW1lIGlzIGluYWNjdXJhdGUuIExvYWRpbmcgbWlnaHQgbm90IGhh
dmUgc3RhcnRlZCB5ZXQuCiAKICAgICBib29sIGlzTG9hZGluZygpIGNvbnN0IHsgcmV0dXJuIG1f
bG9hZGluZzsgfQpAQCAtMTYxLDcgKzE2NCw3IEBAIHB1YmxpYzoKICAgICB1bnNpZ25lZCBhY2Nl
c3NDb3VudCgpIGNvbnN0IHsgcmV0dXJuIG1fYWNjZXNzQ291bnQ7IH0KICAgICB2b2lkIGluY3Jl
YXNlQWNjZXNzQ291bnQoKSB7IG1fYWNjZXNzQ291bnQrKzsgfQogCi0gICAgLy8gQ29tcHV0ZXMg
dGhlIHN0YXR1cyBvZiBhbiBvYmplY3QgYWZ0ZXIgbG9hZGluZy4gIAorICAgIC8vIENvbXB1dGVz
IHRoZSBzdGF0dXMgb2YgYW4gb2JqZWN0IGFmdGVyIGxvYWRpbmcuCiAgICAgLy8gVXBkYXRlcyB0
aGUgZXhwaXJlIGRhdGUgb24gdGhlIGNhY2hlIGVudHJ5IGZpbGUKICAgICB2b2lkIGZpbmlzaCgp
OwogCkBAIC0xNzMsOSArMTc2LDkgQEAgcHVibGljOgogICAgIC8vIFRoZSByZXNvdXJjZSBjYW4g
YmUgYnJvdWdodCBiYWNrIHRvIGNhY2hlIGFmdGVyIHN1Y2Nlc3NmdWwgcmV2YWxpZGF0aW9uLgog
ICAgIHZvaWQgc2V0SW5DYWNoZShib29sIGluQ2FjaGUpIHsgbV9pbkNhY2hlID0gaW5DYWNoZTsg
fQogICAgIGJvb2wgaW5DYWNoZSgpIGNvbnN0IHsgcmV0dXJuIG1faW5DYWNoZTsgfQotICAgIAor
CiAgICAgYm9vbCBpbkxpdmVEZWNvZGVkUmVzb3VyY2VzTGlzdCgpIHsgcmV0dXJuIG1faW5MaXZl
RGVjb2RlZFJlc291cmNlc0xpc3Q7IH0KLSAgICAKKwogICAgIHZvaWQgc3RvcExvYWRpbmcoKTsK
IAogICAgIFNoYXJlZEJ1ZmZlciogZGF0YSgpIGNvbnN0IHsgQVNTRVJUKCFtX3B1cmdlYWJsZURh
dGEpOyByZXR1cm4gbV9kYXRhLmdldCgpOyB9CkBAIC0xOTIsNiArMTk1LDkgQEAgcHVibGljOgog
ICAgIC8vIGlkZW50aWZpZXIgdGhhdCBpcyB1c2VkIHRvIGRpc3Rpbmd1aXNoIGRhdGEgZ2VuZXJh
dGVkIGJ5IHRoZSBjYWxsZXIuCiAgICAgdm9pZCBzZXRDYWNoZWRNZXRhZGF0YSh1bnNpZ25lZCBk
YXRhVHlwZUlELCBjb25zdCBjaGFyKiwgc2l6ZV90KTsKIAorICAgIHZvaWQgc2V0SW5pdGlhdG9y
KGNvbnN0IExvYWRJbml0aWF0b3ImIGluaXRpYXRvcikgeyBtX2luaXRpYXRvciA9IGluaXRpYXRv
cjsgfQorICAgIGNvbnN0IExvYWRJbml0aWF0b3ImIGluaXRpYXRvcigpIGNvbnN0IHsgcmV0dXJu
IG1faW5pdGlhdG9yOyB9CisKICAgICAvLyBSZXR1cm5zIGNhY2hlZCBtZXRhZGF0YSBvZiB0aGUg
Z2l2ZW4gdHlwZSBhc3NvY2lhdGVkIHdpdGggdGhpcyByZXNvdXJjZS4KICAgICBDYWNoZWRNZXRh
ZGF0YSogY2FjaGVkTWV0YWRhdGEodW5zaWduZWQgZGF0YVR5cGVJRCkgY29uc3Q7CiAKQEAgLTIx
MCw0MCArMjE2LDQwIEBAIHB1YmxpYzoKICAgICBib29sIGxvYWRGYWlsZWRPckNhbmNlbGVkKCkg
eyByZXR1cm4gbV9zdGF0dXMgPT0gQ2FuY2VsZWQgfHwgbV9zdGF0dXMgPT0gTG9hZEVycm9yOyB9
CiAKICAgICBib29sIHNlbmRSZXNvdXJjZUxvYWRDYWxsYmFja3MoKSBjb25zdCB7IHJldHVybiBt
X29wdGlvbnMuc2VuZExvYWRDYWxsYmFja3MgPT0gU2VuZENhbGxiYWNrczsgfQotICAgIAorCiAg
ICAgdmlydHVhbCB2b2lkIGRlc3Ryb3lEZWNvZGVkRGF0YSgpIHsgfQogCiAgICAgdm9pZCBzZXRP
d25pbmdDYWNoZWRSZXNvdXJjZUxvYWRlcihDYWNoZWRSZXNvdXJjZUxvYWRlciogY2FjaGVkUmVz
b3VyY2VMb2FkZXIpIHsgbV9vd25pbmdDYWNoZWRSZXNvdXJjZUxvYWRlciA9IGNhY2hlZFJlc291
cmNlTG9hZGVyOyB9Ci0gICAgCisKICAgICAvLyBNZW1vcnlDYWNoZSBkb2VzIG5vdCBkZXN0cm95
IHRoZSBkZWNvZGVkIGRhdGEgb2YgYSBDYWNoZWRSZXNvdXJjZSBpZiB0aGUgZGVjb2RlZCBkYXRh
IHdpbGwgYmUgbGlrZWx5IHVzZWQuCiAgICAgdmlydHVhbCBib29sIGxpa2VseVRvQmVVc2VkU29v
bigpIHsgcmV0dXJuIGZhbHNlOyB9CiAKICAgICBib29sIGlzUHJlbG9hZGVkKCkgY29uc3QgeyBy
ZXR1cm4gbV9wcmVsb2FkQ291bnQ7IH0KICAgICB2b2lkIGluY3JlYXNlUHJlbG9hZENvdW50KCkg
eyArK21fcHJlbG9hZENvdW50OyB9CiAgICAgdm9pZCBkZWNyZWFzZVByZWxvYWRDb3VudCgpIHsg
QVNTRVJUKG1fcHJlbG9hZENvdW50KTsgLS1tX3ByZWxvYWRDb3VudDsgfQotICAgIAorCiAgICAg
dm9pZCByZWdpc3RlckhhbmRsZShDYWNoZWRSZXNvdXJjZUhhbmRsZUJhc2UqIGgpOwogICAgIHZv
aWQgdW5yZWdpc3RlckhhbmRsZShDYWNoZWRSZXNvdXJjZUhhbmRsZUJhc2UqIGgpOwotICAgIAor
CiAgICAgYm9vbCBjYW5Vc2VDYWNoZVZhbGlkYXRvcigpIGNvbnN0OwogICAgIGJvb2wgbXVzdFJl
dmFsaWRhdGVEdWVUb0NhY2hlSGVhZGVycyhDYWNoZVBvbGljeSkgY29uc3Q7CiAgICAgYm9vbCBp
c0NhY2hlVmFsaWRhdG9yKCkgY29uc3QgeyByZXR1cm4gbV9yZXNvdXJjZVRvUmV2YWxpZGF0ZTsg
fQogICAgIENhY2hlZFJlc291cmNlKiByZXNvdXJjZVRvUmV2YWxpZGF0ZSgpIGNvbnN0IHsgcmV0
dXJuIG1fcmVzb3VyY2VUb1JldmFsaWRhdGU7IH0KLSAgICAKKwogICAgIGJvb2wgaXNQdXJnZWFi
bGUoKSBjb25zdDsKICAgICBib29sIHdhc1B1cmdlZCgpIGNvbnN0OwotICAgIAorCiAgICAgLy8g
VGhpcyBpcyB1c2VkIGJ5IHRoZSBhcmNoaXZlIG1hY2hpbmVyeSB0byBnZXQgYXQgYSBwdXJnZWQg
cmVzb3VyY2Ugd2l0aG91dAogICAgIC8vIHRyaWdnZXJpbmcgYSBsb2FkLiBXZSBzaG91bGQgbWFr
ZSBpdCBwcm90ZWN0ZWQgYWdhaW4gaWYgd2UgY2FuIGZpbmQgYQogICAgIC8vIGJldHRlciB3YXkg
dG8gaGFuZGxlIHRoZSBhcmNoaXZlIGNhc2UuCiAgICAgYm9vbCBtYWtlUHVyZ2VhYmxlKGJvb2wg
cHVyZ2VhYmxlKTsKLSAgICAKKwogICAgIC8vIEhUVFAgcmV2YWxpZGF0aW9uIHN1cHBvcnQgbWV0
aG9kcyBmb3IgQ2FjaGVkUmVzb3VyY2VMb2FkZXIuCiAgICAgdm9pZCBzZXRSZXNvdXJjZVRvUmV2
YWxpZGF0ZShDYWNoZWRSZXNvdXJjZSopOwogICAgIHZvaWQgc3dpdGNoQ2xpZW50c1RvUmV2YWxp
ZGF0ZWRSZXNvdXJjZSgpOwogICAgIHZvaWQgY2xlYXJSZXNvdXJjZVRvUmV2YWxpZGF0ZSgpOwog
ICAgIHZvaWQgdXBkYXRlUmVzcG9uc2VBZnRlclJldmFsaWRhdGlvbihjb25zdCBSZXNvdXJjZVJl
c3BvbnNlJiB2YWxpZGF0aW5nUmVzcG9uc2UpOwotICAgIAorCiAgICAgdmlydHVhbCB2b2lkIGRp
ZFNlbmREYXRhKHVuc2lnbmVkIGxvbmcgbG9uZyAvKiBieXRlc1NlbnQgKi8sIHVuc2lnbmVkIGxv
bmcgbG9uZyAvKiB0b3RhbEJ5dGVzVG9CZVNlbnQgKi8pIHsgfQogI2lmIFBMQVRGT1JNKENIUk9N
SVVNKQogICAgIHZpcnR1YWwgdm9pZCBkaWREb3dubG9hZERhdGEoaW50KSB7IH0KQEAgLTI2Miw3
ICsyNjgsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgdm9pZCBkaWRBY2Nlc3NEZWNvZGVkRGF0YShkb3Vi
bGUgdGltZVN0YW1wKTsKIAogICAgIGJvb2wgaXNTYWZlVG9NYWtlUHVyZ2VhYmxlKCkgY29uc3Q7
Ci0gICAgCisKICAgICBIYXNoQ291bnRlZFNldDxDYWNoZWRSZXNvdXJjZUNsaWVudCo+IG1fY2xp
ZW50czsKIAogICAgIGNsYXNzIENhY2hlZFJlc291cmNlQ2FsbGJhY2sgewpAQCAtMzM0LDEyICsz
NDAsMTIgQEAgcHJpdmF0ZToKIAogICAgIENhY2hlZFJlc291cmNlKiBtX25leHRJbkFsbFJlc291
cmNlc0xpc3Q7CiAgICAgQ2FjaGVkUmVzb3VyY2UqIG1fcHJldkluQWxsUmVzb3VyY2VzTGlzdDsK
LSAgICAKKwogICAgIENhY2hlZFJlc291cmNlKiBtX25leHRJbkxpdmVSZXNvdXJjZXNMaXN0Owog
ICAgIENhY2hlZFJlc291cmNlKiBtX3ByZXZJbkxpdmVSZXNvdXJjZXNMaXN0OwogCiAgICAgQ2Fj
aGVkUmVzb3VyY2VMb2FkZXIqIG1fb3duaW5nQ2FjaGVkUmVzb3VyY2VMb2FkZXI7IC8vIG9ubHkg
bm9uLTAgZm9yIHJlc291cmNlcyB0aGF0IGFyZSBub3QgaW4gdGhlIGNhY2hlCi0gICAgCisKICAg
ICAvLyBJZiB0aGlzIGZpZWxkIGlzIG5vbi1udWxsIHdlIGFyZSB1c2luZyB0aGUgcmVzb3VyY2Ug
YXMgYSBwcm94eSBmb3IgY2hlY2tpbmcgd2hldGhlciBhbiBleGlzdGluZyByZXNvdXJjZSBpcyBz
dGlsbCB1cCB0byBkYXRlCiAgICAgLy8gdXNpbmcgSFRUUCBJZi1Nb2RpZmllZC1TaW5jZS9JZi1O
b25lLU1hdGNoIGhlYWRlcnMuIElmIHRoZSByZXNwb25zZSBpcyAzMDQgYWxsIGNsaWVudHMgb2Yg
dGhpcyByZXNvdXJjZSBhcmUgbW92ZWQKICAgICAvLyB0byB0byBiZSBjbGllbnRzIG9mIG1fcmVz
b3VyY2VUb1JldmFsaWRhdGUgYW5kIHRoZSByZXNvdXJjZSBpcyBkZWxldGVkLiBJZiBub3QsIHRo
ZSBmaWVsZCBpcyB6ZXJvZWQgYW5kIHRoaXMKQEAgLTM1MSw2ICszNTcsOCBAQCBwcml2YXRlOgog
CiAgICAgLy8gVGhlc2UgaGFuZGxlcyB3aWxsIG5lZWQgdG8gYmUgdXBkYXRlZCB0byBwb2ludCB0
byB0aGUgbV9yZXNvdXJjZVRvUmV2YWxpZGF0ZSBpbiBjYXNlIHdlIGdldCAzMDQgcmVzcG9uc2Uu
CiAgICAgSGFzaFNldDxDYWNoZWRSZXNvdXJjZUhhbmRsZUJhc2UqPiBtX2hhbmRsZXNUb1JldmFs
aWRhdGU7CisKKyAgICBMb2FkSW5pdGlhdG9ySGFuZGxlIG1faW5pdGlhdG9yOwogfTsKIAogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9h
ZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRl
ci5jcHAKaW5kZXggYmI2ODc0MDUxYmNiOTQ4MWRlNGQwZmI0YWFlNDZjNjIxMDIyMTNmMi4uMWQ5
MWM5MzFjNDdiMGZlOTliYTJlMmU4ZWYzYjczMDEyOGZhZGU1ZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0xNTEs
NyArMTUxLDcgQEAgRnJhbWUqIENhY2hlZFJlc291cmNlTG9hZGVyOjpmcmFtZSgpIGNvbnN0CiAg
ICAgcmV0dXJuIG1fZG9jdW1lbnQgPyBtX2RvY3VtZW50LT5mcmFtZSgpIDogMDsKIH0KIAotQ2Fj
aGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkSW1hZ2U+IENhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1
ZXN0SW1hZ2UoUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0KQorQ2FjaGVkUmVzb3VyY2VIYW5kbGU8
Q2FjaGVkSW1hZ2U+IENhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0SW1hZ2UoUmVzb3VyY2VS
ZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBMb2FkSW5pdGlhdG9yJiBpbml0aWF0b3IpCiB7CiAgICAg
aWYgKEZyYW1lKiBmID0gZnJhbWUoKSkgewogICAgICAgICBpZiAoZi0+bG9hZGVyKCktPnBhZ2VE
aXNtaXNzYWxFdmVudEJlaW5nRGlzcGF0Y2hlZCgpICE9IEZyYW1lTG9hZGVyOjpOb0Rpc21pc3Nh
bCkgewpAQCAtMTYxLDM0ICsxNjEsMzQgQEAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkSW1h
Z2U+IENhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0SW1hZ2UoUmVzb3VyY2VSZXEKICAgICAg
ICAgICAgIHJldHVybiAwOwogICAgICAgICB9CiAgICAgfQotICAgIHJldHVybiBzdGF0aWNfY2Fz
dDxDYWNoZWRJbWFnZSo+KHJlcXVlc3RSZXNvdXJjZShDYWNoZWRSZXNvdXJjZTo6SW1hZ2VSZXNv
dXJjZSwgcmVxdWVzdCwgU3RyaW5nKCksIGRlZmF1bHRDYWNoZWRSZXNvdXJjZU9wdGlvbnMoKSwg
UmVzb3VyY2VMb2FkUHJpb3JpdHlVbnJlc29sdmVkLCBmYWxzZSwgY2xpZW50RGVmZXJzSW1hZ2Uo
cmVxdWVzdC51cmwoKSkgPyBEZWZlcnJlZEJ5Q2xpZW50IDogTm9EZWZlcikuZ2V0KCkpOworICAg
IHJldHVybiBzdGF0aWNfY2FzdDxDYWNoZWRJbWFnZSo+KHJlcXVlc3RSZXNvdXJjZShDYWNoZWRS
ZXNvdXJjZTo6SW1hZ2VSZXNvdXJjZSwgcmVxdWVzdCwgU3RyaW5nKCksIGRlZmF1bHRDYWNoZWRS
ZXNvdXJjZU9wdGlvbnMoKSwgaW5pdGlhdG9yLCBSZXNvdXJjZUxvYWRQcmlvcml0eVVucmVzb2x2
ZWQsIGZhbHNlLCBjbGllbnREZWZlcnNJbWFnZShyZXF1ZXN0LnVybCgpKSA/IERlZmVycmVkQnlD
bGllbnQgOiBOb0RlZmVyKS5nZXQoKSk7CiB9CiAKLUNhY2hlZFJlc291cmNlSGFuZGxlPENhY2hl
ZEZvbnQ+IENhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0Rm9udChSZXNvdXJjZVJlcXVlc3Qm
IHJlcXVlc3QpCitDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRGb250PiBDYWNoZWRSZXNvdXJj
ZUxvYWRlcjo6cmVxdWVzdEZvbnQoUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBMb2Fk
SW5pdGlhdG9yJiBpbml0aWF0b3IpCiB7Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PENhY2hlZEZv
bnQqPihyZXF1ZXN0UmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2U6OkZvbnRSZXNvdXJjZSwgcmVxdWVz
dCwgU3RyaW5nKCksIGRlZmF1bHRDYWNoZWRSZXNvdXJjZU9wdGlvbnMoKSkuZ2V0KCkpOworICAg
IHJldHVybiBzdGF0aWNfY2FzdDxDYWNoZWRGb250Kj4ocmVxdWVzdFJlc291cmNlKENhY2hlZFJl
c291cmNlOjpGb250UmVzb3VyY2UsIHJlcXVlc3QsIFN0cmluZygpLCBkZWZhdWx0Q2FjaGVkUmVz
b3VyY2VPcHRpb25zKCksIGluaXRpYXRvcikuZ2V0KCkpOwogfQogCiAjaWYgRU5BQkxFKFZJREVP
X1RSQUNLKQotQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkVGV4dFRyYWNrPiBDYWNoZWRSZXNv
dXJjZUxvYWRlcjo6cmVxdWVzdFRleHRUcmFjayhSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QpCitD
YWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRUZXh0VHJhY2s+IENhY2hlZFJlc291cmNlTG9hZGVy
OjpyZXF1ZXN0VGV4dFRyYWNrKFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgTG9hZElu
aXRpYXRvciYgaW5pdGlhdG9yKQogewotICAgIHJldHVybiBzdGF0aWNfY2FzdDxDYWNoZWRUZXh0
VHJhY2sqPihyZXF1ZXN0UmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2U6OlRleHRUcmFja1Jlc291cmNl
LCByZXF1ZXN0LCBTdHJpbmcoKSwgZGVmYXVsdENhY2hlZFJlc291cmNlT3B0aW9ucygpKS5nZXQo
KSk7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PENhY2hlZFRleHRUcmFjayo+KHJlcXVlc3RSZXNv
dXJjZShDYWNoZWRSZXNvdXJjZTo6VGV4dFRyYWNrUmVzb3VyY2UsIHJlcXVlc3QsIFN0cmluZygp
LCBkZWZhdWx0Q2FjaGVkUmVzb3VyY2VPcHRpb25zKCksIGluaXRpYXRvcikuZ2V0KCkpOwogfQog
I2VuZGlmCiAKICNpZiBFTkFCTEUoQ1NTX1NIQURFUlMpCi1DYWNoZWRSZXNvdXJjZUhhbmRsZTxD
YWNoZWRTaGFkZXI+IENhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0U2hhZGVyKFJlc291cmNl
UmVxdWVzdCYgcmVxdWVzdCkKK0NhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFNoYWRlcj4gQ2Fj
aGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RTaGFkZXIoUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0
LCBjb25zdCBMb2FkSW5pdGlhdG9yJiBpbml0aWF0b3IpCiB7Ci0gICAgcmV0dXJuIHN0YXRpY19j
YXN0PENhY2hlZFNoYWRlcio+KHJlcXVlc3RSZXNvdXJjZShDYWNoZWRSZXNvdXJjZTo6U2hhZGVy
UmVzb3VyY2UsIHJlcXVlc3QsIFN0cmluZygpLCBkZWZhdWx0Q2FjaGVkUmVzb3VyY2VPcHRpb25z
KCkpLmdldCgpKTsKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Q2FjaGVkU2hhZGVyKj4ocmVxdWVz
dFJlc291cmNlKENhY2hlZFJlc291cmNlOjpTaGFkZXJSZXNvdXJjZSwgcmVxdWVzdCwgU3RyaW5n
KCksIGRlZmF1bHRDYWNoZWRSZXNvdXJjZU9wdGlvbnMoKSwgaW5pdGlhdG9yKS5nZXQoKSk7CiB9
CiAjZW5kaWYKIAotQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkQ1NTU3R5bGVTaGVldD4gQ2Fj
aGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RDU1NTdHlsZVNoZWV0KFJlc291cmNlUmVxdWVzdCYg
cmVxdWVzdCwgY29uc3QgU3RyaW5nJiBjaGFyc2V0LCBSZXNvdXJjZUxvYWRQcmlvcml0eSBwcmlv
cml0eSkKK0NhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZENTU1N0eWxlU2hlZXQ+IENhY2hlZFJl
c291cmNlTG9hZGVyOjpyZXF1ZXN0Q1NTU3R5bGVTaGVldChSZXNvdXJjZVJlcXVlc3QmIHJlcXVl
c3QsIGNvbnN0IFN0cmluZyYgY2hhcnNldCwgY29uc3QgTG9hZEluaXRpYXRvciYgaW5pdGlhdG9y
LCBSZXNvdXJjZUxvYWRQcmlvcml0eSBwcmlvcml0eSkKIHsKLSAgICByZXR1cm4gc3RhdGljX2Nh
c3Q8Q2FjaGVkQ1NTU3R5bGVTaGVldCo+KHJlcXVlc3RSZXNvdXJjZShDYWNoZWRSZXNvdXJjZTo6
Q1NTU3R5bGVTaGVldCwgcmVxdWVzdCwgY2hhcnNldCwgZGVmYXVsdENhY2hlZFJlc291cmNlT3B0
aW9ucygpLCBwcmlvcml0eSkuZ2V0KCkpOworICAgIHJldHVybiBzdGF0aWNfY2FzdDxDYWNoZWRD
U1NTdHlsZVNoZWV0Kj4ocmVxdWVzdFJlc291cmNlKENhY2hlZFJlc291cmNlOjpDU1NTdHlsZVNo
ZWV0LCByZXF1ZXN0LCBjaGFyc2V0LCBkZWZhdWx0Q2FjaGVkUmVzb3VyY2VPcHRpb25zKCksIGlu
aXRpYXRvciwgcHJpb3JpdHkpLmdldCgpKTsKIH0KIAotQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2Fj
aGVkQ1NTU3R5bGVTaGVldD4gQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RVc2VyQ1NTU3R5
bGVTaGVldChSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFN0cmluZyYgY2hhcnNldCkK
K0NhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZENTU1N0eWxlU2hlZXQ+IENhY2hlZFJlc291cmNl
TG9hZGVyOjpyZXF1ZXN0VXNlckNTU1N0eWxlU2hlZXQoUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0
LCBjb25zdCBTdHJpbmcmIGNoYXJzZXQsIGNvbnN0IExvYWRJbml0aWF0b3ImIGluaXRpYXRvcikK
IHsKICAgICBLVVJMIHVybCA9IE1lbW9yeUNhY2hlOjpyZW1vdmVGcmFnbWVudElkZW50aWZpZXJJ
Zk5lZWRlZChyZXF1ZXN0LnVybCgpKTsKIApAQCAtMjA1LDQyICsyMDUsNDMgQEAgQ2FjaGVkUmVz
b3VyY2VIYW5kbGU8Q2FjaGVkQ1NTU3R5bGVTaGVldD4gQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJl
cXVlc3RVc2VyQ1NTU3QKICAgICBtZW1vcnlDYWNoZSgpLT5hZGQodXNlclNoZWV0LmdldCgpKTsK
ICAgICAvLyBGSVhNRTogbG9hZFJlc291cmNlIGNhbGxzIHNldE93bmluZ0NhY2hlZFJlc291cmNl
TG9hZGVyKCkgaWYgdGhlIHJlc291cmNlIGNvdWxkbid0IGJlIGFkZGVkIHRvIGNhY2hlLiBEb2Vz
IHRoaXMgZnVuY3Rpb24gbmVlZCB0byBjYWxsIGl0LCB0b28/CiAKKyAgICB1c2VyU2hlZXQtPnNl
dEluaXRpYXRvcihpbml0aWF0b3IpOwogICAgIHVzZXJTaGVldC0+bG9hZCh0aGlzLCBSZXNvdXJj
ZUxvYWRlck9wdGlvbnMoRG9Ob3RTZW5kQ2FsbGJhY2tzLCBTbmlmZkNvbnRlbnQsIEJ1ZmZlckRh
dGEsIEFsbG93U3RvcmVkQ3JlZGVudGlhbHMsIEFza0NsaWVudEZvckNyb3NzT3JpZ2luQ3JlZGVu
dGlhbHMsIFNraXBTZWN1cml0eUNoZWNrKSk7Ci0gICAgCisKICAgICByZXR1cm4gdXNlclNoZWV0
OwogfQogCi1DYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRTY3JpcHQ+IENhY2hlZFJlc291cmNl
TG9hZGVyOjpyZXF1ZXN0U2NyaXB0KFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgU3Ry
aW5nJiBjaGFyc2V0KQorQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkU2NyaXB0PiBDYWNoZWRS
ZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFNjcmlwdChSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNv
bnN0IFN0cmluZyYgY2hhcnNldCwgY29uc3QgTG9hZEluaXRpYXRvciYgaW5pdGlhdG9yKQogewot
ICAgIHJldHVybiBzdGF0aWNfY2FzdDxDYWNoZWRTY3JpcHQqPihyZXF1ZXN0UmVzb3VyY2UoQ2Fj
aGVkUmVzb3VyY2U6OlNjcmlwdCwgcmVxdWVzdCwgY2hhcnNldCwgZGVmYXVsdENhY2hlZFJlc291
cmNlT3B0aW9ucygpKS5nZXQoKSk7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PENhY2hlZFNjcmlw
dCo+KHJlcXVlc3RSZXNvdXJjZShDYWNoZWRSZXNvdXJjZTo6U2NyaXB0LCByZXF1ZXN0LCBjaGFy
c2V0LCBkZWZhdWx0Q2FjaGVkUmVzb3VyY2VPcHRpb25zKCksIGluaXRpYXRvcikuZ2V0KCkpOwog
fQogCiAjaWYgRU5BQkxFKFhTTFQpCi1DYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRYU0xTdHls
ZVNoZWV0PiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFhTTFN0eWxlU2hlZXQoUmVzb3Vy
Y2VSZXF1ZXN0JiByZXF1ZXN0KQorQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkWFNMU3R5bGVT
aGVldD4gQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RYU0xTdHlsZVNoZWV0KFJlc291cmNl
UmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgTG9hZEluaXRpYXRvciYgaW5pdGlhdG9yKQogewotICAg
IHJldHVybiBzdGF0aWNfY2FzdDxDYWNoZWRYU0xTdHlsZVNoZWV0Kj4ocmVxdWVzdFJlc291cmNl
KENhY2hlZFJlc291cmNlOjpYU0xTdHlsZVNoZWV0LCByZXF1ZXN0LCBTdHJpbmcoKSwgZGVmYXVs
dENhY2hlZFJlc291cmNlT3B0aW9ucygpKS5nZXQoKSk7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0
PENhY2hlZFhTTFN0eWxlU2hlZXQqPihyZXF1ZXN0UmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2U6OlhT
TFN0eWxlU2hlZXQsIHJlcXVlc3QsIFN0cmluZygpLCBkZWZhdWx0Q2FjaGVkUmVzb3VyY2VPcHRp
b25zKCksIGluaXRpYXRvcikuZ2V0KCkpOwogfQogI2VuZGlmCiAKICNpZiBFTkFCTEUoU1ZHKQot
Q2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkU1ZHRG9jdW1lbnQ+IENhY2hlZFJlc291cmNlTG9h
ZGVyOjpyZXF1ZXN0U1ZHRG9jdW1lbnQoUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0KQorQ2FjaGVk
UmVzb3VyY2VIYW5kbGU8Q2FjaGVkU1ZHRG9jdW1lbnQ+IENhY2hlZFJlc291cmNlTG9hZGVyOjpy
ZXF1ZXN0U1ZHRG9jdW1lbnQoUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBMb2FkSW5p
dGlhdG9yJiBpbml0aWF0b3IpCiB7Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PENhY2hlZFNWR0Rv
Y3VtZW50Kj4ocmVxdWVzdFJlc291cmNlKENhY2hlZFJlc291cmNlOjpTVkdEb2N1bWVudFJlc291
cmNlLCByZXF1ZXN0LCByZXF1ZXN0LnVybCgpLCBkZWZhdWx0Q2FjaGVkUmVzb3VyY2VPcHRpb25z
KCkpLmdldCgpKTsKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Q2FjaGVkU1ZHRG9jdW1lbnQqPihy
ZXF1ZXN0UmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2U6OlNWR0RvY3VtZW50UmVzb3VyY2UsIHJlcXVl
c3QsIHJlcXVlc3QudXJsKCksIGRlZmF1bHRDYWNoZWRSZXNvdXJjZU9wdGlvbnMoKSwgaW5pdGlh
dG9yKS5nZXQoKSk7CiB9CiAjZW5kaWYKIAogI2lmIEVOQUJMRShMSU5LX1BSRUZFVENIKQotQ2Fj
aGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmVzb3VyY2U+IENhY2hlZFJlc291cmNlTG9hZGVyOjpy
ZXF1ZXN0TGlua1Jlc291cmNlKENhY2hlZFJlc291cmNlOjpUeXBlIHR5cGUsIFJlc291cmNlUmVx
dWVzdCYgcmVxdWVzdCwgUmVzb3VyY2VMb2FkUHJpb3JpdHkgcHJpb3JpdHkpCitDYWNoZWRSZXNv
dXJjZUhhbmRsZTxDYWNoZWRSZXNvdXJjZT4gQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RM
aW5rUmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2U6OlR5cGUgdHlwZSwgUmVzb3VyY2VSZXF1ZXN0JiBy
ZXF1ZXN0LCBjb25zdCBMb2FkSW5pdGlhdG9yJiBpbml0aWF0b3IsIFJlc291cmNlTG9hZFByaW9y
aXR5IHByaW9yaXR5KQogewogICAgIEFTU0VSVChmcmFtZSgpKTsKICAgICBBU1NFUlQodHlwZSA9
PSBDYWNoZWRSZXNvdXJjZTo6TGlua1ByZWZldGNoIHx8IHR5cGUgPT0gQ2FjaGVkUmVzb3VyY2U6
OkxpbmtTdWJyZXNvdXJjZSk7Ci0gICAgcmV0dXJuIHJlcXVlc3RSZXNvdXJjZSh0eXBlLCByZXF1
ZXN0LCBTdHJpbmcoKSwgZGVmYXVsdENhY2hlZFJlc291cmNlT3B0aW9ucygpLCBwcmlvcml0eSk7
CisgICAgcmV0dXJuIHJlcXVlc3RSZXNvdXJjZSh0eXBlLCByZXF1ZXN0LCBTdHJpbmcoKSwgZGVm
YXVsdENhY2hlZFJlc291cmNlT3B0aW9ucygpLCBpbml0aWF0b3IsIHByaW9yaXR5KTsKIH0KICNl
bmRpZgogCi1DYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRSYXdSZXNvdXJjZT4gQ2FjaGVkUmVz
b3VyY2VMb2FkZXI6OnJlcXVlc3RSYXdSZXNvdXJjZShSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3Qs
IGNvbnN0IFJlc291cmNlTG9hZGVyT3B0aW9ucyYgb3B0aW9ucykKK0NhY2hlZFJlc291cmNlSGFu
ZGxlPENhY2hlZFJhd1Jlc291cmNlPiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFJhd1Jl
c291cmNlKFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgUmVzb3VyY2VMb2FkZXJPcHRp
b25zJiBvcHRpb25zLCBjb25zdCBMb2FkSW5pdGlhdG9yJiBpbml0aWF0b3IpCiB7Ci0gICAgcmV0
dXJuIHN0YXRpY19jYXN0PENhY2hlZFJhd1Jlc291cmNlKj4ocmVxdWVzdFJlc291cmNlKENhY2hl
ZFJlc291cmNlOjpSYXdSZXNvdXJjZSwgcmVxdWVzdCwgU3RyaW5nKCksIG9wdGlvbnMsIFJlc291
cmNlTG9hZFByaW9yaXR5VW5yZXNvbHZlZCwgZmFsc2UpLmdldCgpKTsKKyAgICByZXR1cm4gc3Rh
dGljX2Nhc3Q8Q2FjaGVkUmF3UmVzb3VyY2UqPihyZXF1ZXN0UmVzb3VyY2UoQ2FjaGVkUmVzb3Vy
Y2U6OlJhd1Jlc291cmNlLCByZXF1ZXN0LCBTdHJpbmcoKSwgb3B0aW9ucywgaW5pdGlhdG9yLCBS
ZXNvdXJjZUxvYWRQcmlvcml0eVVucmVzb2x2ZWQsIGZhbHNlKS5nZXQoKSk7CiB9CiAKIGJvb2wg
Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OmNoZWNrSW5zZWN1cmVDb250ZW50KENhY2hlZFJlc291cmNl
OjpUeXBlIHR5cGUsIGNvbnN0IEtVUkwmIHVybCkgY29uc3QKQEAgLTM5NCw3ICszOTUsNyBAQCBi
b29sIENhY2hlZFJlc291cmNlTG9hZGVyOjpjYW5SZXF1ZXN0KENhY2hlZFJlc291cmNlOjpUeXBl
IHR5cGUsIGNvbnN0IEtVUkwmIHVybAogICAgIHJldHVybiB0cnVlOwogfQogCi1DYWNoZWRSZXNv
dXJjZUhhbmRsZTxDYWNoZWRSZXNvdXJjZT4gQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RS
ZXNvdXJjZShDYWNoZWRSZXNvdXJjZTo6VHlwZSB0eXBlLCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVl
c3QsIGNvbnN0IFN0cmluZyYgY2hhcnNldCwgY29uc3QgUmVzb3VyY2VMb2FkZXJPcHRpb25zJiBv
cHRpb25zLCBSZXNvdXJjZUxvYWRQcmlvcml0eSBwcmlvcml0eSwgYm9vbCBmb3JQcmVsb2FkLCBE
ZWZlck9wdGlvbiBkZWZlcikKK0NhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFJlc291cmNlPiBD
YWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFJlc291cmNlKENhY2hlZFJlc291cmNlOjpUeXBl
IHR5cGUsIFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgU3RyaW5nJiBjaGFyc2V0LCBj
b25zdCBSZXNvdXJjZUxvYWRlck9wdGlvbnMmIG9wdGlvbnMsIGNvbnN0IExvYWRJbml0aWF0b3Im
IGluaXRpYXRvciwgUmVzb3VyY2VMb2FkUHJpb3JpdHkgcHJpb3JpdHksIGJvb2wgZm9yUHJlbG9h
ZCwgRGVmZXJPcHRpb24gZGVmZXIpCiB7CiAgICAgS1VSTCB1cmwgPSByZXF1ZXN0LnVybCgpOwog
ICAgIApAQCAtNDI5LDEwICs0MzAsMTAgQEAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmVz
b3VyY2U+IENhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0UmVzb3VyY2UoQ2FjaGUKICAgICAg
ICAgbWVtb3J5Q2FjaGUoKS0+cmVtb3ZlKHJlc291cmNlLmdldCgpKTsKICAgICAgICAgLy8gRmFs
bCB0aHJvdWdoCiAgICAgY2FzZSBMb2FkOgotICAgICAgICByZXNvdXJjZSA9IGxvYWRSZXNvdXJj
ZSh0eXBlLCByZXF1ZXN0LCBjaGFyc2V0KTsKKyAgICAgICAgcmVzb3VyY2UgPSBsb2FkUmVzb3Vy
Y2UodHlwZSwgcmVxdWVzdCwgY2hhcnNldCwgaW5pdGlhdG9yKTsKICAgICAgICAgYnJlYWs7CiAg
ICAgY2FzZSBSZXZhbGlkYXRlOgotICAgICAgICByZXNvdXJjZSA9IHJldmFsaWRhdGVSZXNvdXJj
ZShyZXNvdXJjZS5nZXQoKSk7CisgICAgICAgIHJlc291cmNlID0gcmV2YWxpZGF0ZVJlc291cmNl
KHJlc291cmNlLmdldCgpLCBpbml0aWF0b3IpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFVz
ZToKICAgICAgICAgbWVtb3J5Q2FjaGUoKS0+cmVzb3VyY2VBY2Nlc3NlZChyZXNvdXJjZS5nZXQo
KSk7CkBAIC00NjMsMzQgKzQ2NCwzNiBAQCBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRSZXNv
dXJjZT4gQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RSZXNvdXJjZShDYWNoZQogICAgIHJl
dHVybiByZXNvdXJjZTsKIH0KIAotQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmVzb3VyY2U+
IENhY2hlZFJlc291cmNlTG9hZGVyOjpyZXZhbGlkYXRlUmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2Uq
IHJlc291cmNlKQorQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmVzb3VyY2U+IENhY2hlZFJl
c291cmNlTG9hZGVyOjpyZXZhbGlkYXRlUmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNl
LCBjb25zdCBMb2FkSW5pdGlhdG9yJiBpbml0aWF0b3IpCiB7CiAgICAgQVNTRVJUKHJlc291cmNl
KTsKICAgICBBU1NFUlQocmVzb3VyY2UtPmluQ2FjaGUoKSk7CiAgICAgQVNTRVJUKCFtZW1vcnlD
YWNoZSgpLT5kaXNhYmxlZCgpKTsKICAgICBBU1NFUlQocmVzb3VyY2UtPmNhblVzZUNhY2hlVmFs
aWRhdG9yKCkpOwogICAgIEFTU0VSVCghcmVzb3VyY2UtPnJlc291cmNlVG9SZXZhbGlkYXRlKCkp
OwotICAgIAorCiAgICAgLy8gQ29weSB0aGUgVVJMIG91dCBvZiB0aGUgcmVzb3VyY2UgdG8gYmUg
cmV2YWxpZGF0ZWQgaW4gY2FzZSBpdCBnZXRzIGRlbGV0ZWQgYnkgdGhlIHJlbW92ZSgpIGNhbGwg
YmVsb3cuCiAgICAgU3RyaW5nIHVybCA9IHJlc291cmNlLT51cmwoKTsKICAgICBDYWNoZWRSZXNv
dXJjZUhhbmRsZTxDYWNoZWRSZXNvdXJjZT4gbmV3UmVzb3VyY2UgPSBjcmVhdGVSZXNvdXJjZShy
ZXNvdXJjZS0+dHlwZSgpLCByZXNvdXJjZS0+cmVzb3VyY2VSZXF1ZXN0KCksIHJlc291cmNlLT5l
bmNvZGluZygpKTsKICAgICAKICAgICBMT0coUmVzb3VyY2VMb2FkaW5nLCAiUmVzb3VyY2UgJXAg
Y3JlYXRlZCB0byByZXZhbGlkYXRlICVwIiwgbmV3UmVzb3VyY2UuZ2V0KCksIHJlc291cmNlKTsK
ICAgICBuZXdSZXNvdXJjZS0+c2V0UmVzb3VyY2VUb1JldmFsaWRhdGUocmVzb3VyY2UpOworICAg
IG5ld1Jlc291cmNlLT5zZXRJbml0aWF0b3IoaW5pdGlhdG9yKTsKICAgICAKICAgICBtZW1vcnlD
YWNoZSgpLT5yZW1vdmUocmVzb3VyY2UpOwogICAgIG1lbW9yeUNhY2hlKCktPmFkZChuZXdSZXNv
dXJjZS5nZXQoKSk7CiAgICAgcmV0dXJuIG5ld1Jlc291cmNlOwogfQogCi1DYWNoZWRSZXNvdXJj
ZUhhbmRsZTxDYWNoZWRSZXNvdXJjZT4gQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmxvYWRSZXNvdXJj
ZShDYWNoZWRSZXNvdXJjZTo6VHlwZSB0eXBlLCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNv
bnN0IFN0cmluZyYgY2hhcnNldCkKK0NhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFJlc291cmNl
PiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6bG9hZFJlc291cmNlKENhY2hlZFJlc291cmNlOjpUeXBl
IHR5cGUsIFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgU3RyaW5nJiBjaGFyc2V0LCBj
b25zdCBMb2FkSW5pdGlhdG9yJiBpbml0aWF0b3IpCiB7CiAgICAgQVNTRVJUKCFtZW1vcnlDYWNo
ZSgpLT5yZXNvdXJjZUZvclVSTChyZXF1ZXN0LnVybCgpKSk7Ci0gICAgCisKICAgICBMT0coUmVz
b3VyY2VMb2FkaW5nLCAiTG9hZGluZyBDYWNoZWRSZXNvdXJjZSBmb3IgJyVzJy4iLCByZXF1ZXN0
LnVybCgpLnN0cmluZygpLmxhdGluMSgpLmRhdGEoKSk7Ci0gICAgCisKICAgICBDYWNoZWRSZXNv
dXJjZUhhbmRsZTxDYWNoZWRSZXNvdXJjZT4gcmVzb3VyY2UgPSBjcmVhdGVSZXNvdXJjZSh0eXBl
LCByZXF1ZXN0LCBjaGFyc2V0KTsKLSAgICAKKyAgICByZXNvdXJjZS0+c2V0SW5pdGlhdG9yKGlu
aXRpYXRvcik7CisKICAgICBpZiAoIW1lbW9yeUNhY2hlKCktPmFkZChyZXNvdXJjZS5nZXQoKSkp
CiAgICAgICAgIHJlc291cmNlLT5zZXRPd25pbmdDYWNoZWRSZXNvdXJjZUxvYWRlcih0aGlzKTsK
ICAgICByZXR1cm4gcmVzb3VyY2U7CkBAIC01MDAsMTEgKzUwMywxMSBAQCBDYWNoZWRSZXNvdXJj
ZUxvYWRlcjo6UmV2YWxpZGF0aW9uUG9saWN5IENhY2hlZFJlc291cmNlTG9hZGVyOjpkZXRlcm1p
bmVSZXZhbGlkYQogewogICAgIGlmICghZXhpc3RpbmdSZXNvdXJjZSkKICAgICAgICAgcmV0dXJu
IExvYWQ7Ci0KKyAgICAKICAgICAvLyBXZSBhbHJlYWR5IGhhdmUgYSBwcmVsb2FkIGdvaW5nIGZv
ciB0aGlzIFVSTC4KICAgICBpZiAoZm9yUHJlbG9hZCAmJiBleGlzdGluZ1Jlc291cmNlLT5pc1By
ZWxvYWRlZCgpKQogICAgICAgICByZXR1cm4gVXNlOwotCisgICAgCiAgICAgLy8gSWYgdGhlIHNh
bWUgVVJMIGhhcyBiZWVuIGxvYWRlZCBhcyBhIGRpZmZlcmVudCB0eXBlLCB3ZSBuZWVkIHRvIHJl
bG9hZC4KICAgICBpZiAoZXhpc3RpbmdSZXNvdXJjZS0+dHlwZSgpICE9IHR5cGUpIHsKICAgICAg
ICAgTE9HKFJlc291cmNlTG9hZGluZywgIkNhY2hlZFJlc291cmNlTG9hZGVyOjpkZXRlcm1pbmVS
ZXZhbGlkYXRpb25Qb2xpY3kgcmVsb2FkaW5nIGR1ZSB0byB0eXBlIG1pc21hdGNoLiIpOwpAQCAt
NzQxLDggKzc0NCw4IEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmRlY3JlbWVudFJlcXVl
c3RDb3VudChjb25zdCBDYWNoZWRSZXNvdXJjZSogcmVzKQogICAgIC0tbV9yZXF1ZXN0Q291bnQ7
CiAgICAgQVNTRVJUKG1fcmVxdWVzdENvdW50ID4gLTEpOwogfQotICAgIAotdm9pZCBDYWNoZWRS
ZXNvdXJjZUxvYWRlcjo6cHJlbG9hZChDYWNoZWRSZXNvdXJjZTo6VHlwZSB0eXBlLCBSZXNvdXJj
ZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFN0cmluZyYgY2hhcnNldCwgYm9vbCByZWZlcmVuY2Vk
RnJvbUJvZHkpCisKK3ZvaWQgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnByZWxvYWQoQ2FjaGVkUmVz
b3VyY2U6OlR5cGUgdHlwZSwgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBTdHJpbmcm
IGNoYXJzZXQsIGJvb2wgcmVmZXJlbmNlZEZyb21Cb2R5LCBjb25zdCBMb2FkSW5pdGlhdG9yJiBp
bml0aWF0b3IpCiB7CiAgICAgLy8gRklYTUU6IFJpcCB0aGlzIG91dCB3aGVuIHdlIGFyZSBzdXJl
IGl0IGlzIG5vIGxvbmdlciBuZWNlc3NhcnkgKGV2ZW4gZm9yIG1vYmlsZSkuCiAgICAgVU5VU0VE
X1BBUkFNKHJlZmVyZW5jZWRGcm9tQm9keSk7CkBAIC03NTcsMTUgKzc2MCwxNSBAQCB2b2lkIENh
Y2hlZFJlc291cmNlTG9hZGVyOjpwcmVsb2FkKENhY2hlZFJlc291cmNlOjpUeXBlIHR5cGUsIFJl
c291cmNlUmVxdWVzdCYgcgogICAgICAgICBpZiAoIWhhc1JlbmRlcmluZyAmJiAhY2FuQmxvY2tQ
YXJzZXIpIHsKICAgICAgICAgICAgIC8vIERvbid0IHByZWxvYWQgc3VicmVzb3VyY2VzIHRoYXQg
Y2FuJ3QgYmxvY2sgdGhlIHBhcnNlciBiZWZvcmUgd2UgaGF2ZSBzb21ldGhpbmcgdG8gZHJhdy4K
ICAgICAgICAgICAgIC8vIFRoaXMgaGVscHMgcHJldmVudCBwcmVsb2FkcyBmcm9tIGRlbGF5aW5n
IGZpcnN0IGRpc3BsYXkgd2hlbiBiYW5kd2lkdGggaXMgbGltaXRlZC4KLSAgICAgICAgICAgIFBl
bmRpbmdQcmVsb2FkIHBlbmRpbmdQcmVsb2FkID0geyB0eXBlLCByZXF1ZXN0LCBjaGFyc2V0IH07
CisgICAgICAgICAgICBQZW5kaW5nUHJlbG9hZCBwZW5kaW5nUHJlbG9hZCA9IHsgdHlwZSwgcmVx
dWVzdCwgY2hhcnNldCwgaW5pdGlhdG9yIH07CiAgICAgICAgICAgICBtX3BlbmRpbmdQcmVsb2Fk
cy5hcHBlbmQocGVuZGluZ1ByZWxvYWQpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9
CiAgICAgfQotICAgIHJlcXVlc3RQcmVsb2FkKHR5cGUsIHJlcXVlc3QsIGNoYXJzZXQpOworICAg
IHJlcXVlc3RQcmVsb2FkKHR5cGUsIHJlcXVlc3QsIGNoYXJzZXQsIGluaXRpYXRvcik7CiB9CiAK
LXZvaWQgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmNoZWNrRm9yUGVuZGluZ1ByZWxvYWRzKCkgCit2
b2lkIENhY2hlZFJlc291cmNlTG9hZGVyOjpjaGVja0ZvclBlbmRpbmdQcmVsb2FkcygpCiB7CiAg
ICAgaWYgKG1fcGVuZGluZ1ByZWxvYWRzLmlzRW1wdHkoKSB8fCAhbV9kb2N1bWVudC0+Ym9keSgp
IHx8ICFtX2RvY3VtZW50LT5ib2R5KCktPnJlbmRlcmVyKCkpCiAgICAgICAgIHJldHVybjsKQEAg
LTc3MywxOCArNzc2LDE4IEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmNoZWNrRm9yUGVu
ZGluZ1ByZWxvYWRzKCkKICAgICAgICAgUGVuZGluZ1ByZWxvYWQgcHJlbG9hZCA9IG1fcGVuZGlu
Z1ByZWxvYWRzLnRha2VGaXJzdCgpOwogICAgICAgICAvLyBEb24ndCByZXF1ZXN0IHByZWxvYWQg
aWYgdGhlIHJlc291cmNlIGFscmVhZHkgbG9hZGVkIG5vcm1hbGx5ICh0aGlzIHdpbGwgcmVzdWx0
IGluIGRvdWJsZSBsb2FkIGlmIHRoZSBwYWdlIGlzIGJlaW5nIHJlbG9hZGVkIHdpdGggY2FjaGVk
IHJlc3VsdHMgaWdub3JlZCkuCiAgICAgICAgIGlmICghY2FjaGVkUmVzb3VyY2UocHJlbG9hZC5t
X3JlcXVlc3QudXJsKCkpKQotICAgICAgICAgICAgcmVxdWVzdFByZWxvYWQocHJlbG9hZC5tX3R5
cGUsIHByZWxvYWQubV9yZXF1ZXN0LCBwcmVsb2FkLm1fY2hhcnNldCk7CisgICAgICAgICAgICBy
ZXF1ZXN0UHJlbG9hZChwcmVsb2FkLm1fdHlwZSwgcHJlbG9hZC5tX3JlcXVlc3QsIHByZWxvYWQu
bV9jaGFyc2V0LCBwcmVsb2FkLm1faW5pdGlhdG9yKTsKICAgICB9CiAgICAgbV9wZW5kaW5nUHJl
bG9hZHMuY2xlYXIoKTsKIH0KIAotdm9pZCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFBy
ZWxvYWQoQ2FjaGVkUmVzb3VyY2U6OlR5cGUgdHlwZSwgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0
LCBjb25zdCBTdHJpbmcmIGNoYXJzZXQpCit2b2lkIENhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1
ZXN0UHJlbG9hZChDYWNoZWRSZXNvdXJjZTo6VHlwZSB0eXBlLCBSZXNvdXJjZVJlcXVlc3QmIHJl
cXVlc3QsIGNvbnN0IFN0cmluZyYgY2hhcnNldCwgY29uc3QgTG9hZEluaXRpYXRvciYgaW5pdGlh
dG9yKQogewogICAgIFN0cmluZyBlbmNvZGluZzsKICAgICBpZiAodHlwZSA9PSBDYWNoZWRSZXNv
dXJjZTo6U2NyaXB0IHx8IHR5cGUgPT0gQ2FjaGVkUmVzb3VyY2U6OkNTU1N0eWxlU2hlZXQpCiAg
ICAgICAgIGVuY29kaW5nID0gY2hhcnNldC5pc0VtcHR5KCkgPyBtX2RvY3VtZW50LT5jaGFyc2V0
KCkgOiBjaGFyc2V0OwogCi0gICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmVzb3VyY2U+
IHJlc291cmNlID0gcmVxdWVzdFJlc291cmNlKHR5cGUsIHJlcXVlc3QsIGVuY29kaW5nLCBkZWZh
dWx0Q2FjaGVkUmVzb3VyY2VPcHRpb25zKCksIFJlc291cmNlTG9hZFByaW9yaXR5VW5yZXNvbHZl
ZCwgdHJ1ZSk7CisgICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmVzb3VyY2U+IHJlc291
cmNlID0gcmVxdWVzdFJlc291cmNlKHR5cGUsIHJlcXVlc3QsIGVuY29kaW5nLCBkZWZhdWx0Q2Fj
aGVkUmVzb3VyY2VPcHRpb25zKCksIGluaXRpYXRvciwgUmVzb3VyY2VMb2FkUHJpb3JpdHlVbnJl
c29sdmVkLCB0cnVlKTsKICAgICBpZiAoIXJlc291cmNlIHx8IChtX3ByZWxvYWRzICYmIG1fcHJl
bG9hZHMtPmNvbnRhaW5zKHJlc291cmNlLmdldCgpKSkpCiAgICAgICAgIHJldHVybjsKICAgICBy
ZXNvdXJjZS0+aW5jcmVhc2VQcmVsb2FkQ291bnQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5oIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmgKaW5kZXggYjVkYzY5NDgyZTFkZjEx
OTcxNGFiNzgzNjcxYmQ1MDYyZmJhY2MwNy4uZGE0OWIzY2E3MGYyYjRiYWI3N2FhZWZlNmRlZDdl
MmJmYTUxOTBiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hl
ZFJlc291cmNlTG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hl
ZFJlc291cmNlTG9hZGVyLmgKQEAgLTI5LDYgKzI5LDggQEAKICNpbmNsdWRlICJDYWNoZWRSZXNv
dXJjZS5oIgogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlSGFuZGxlLmgiCiAjaW5jbHVkZSAiQ2Fj
aGVQb2xpY3kuaCIKKyNpbmNsdWRlICJMb2FkSW5pdGlhdG9yLmgiCisjaW5jbHVkZSAiTG9hZElu
aXRpYXRvckhhbmRsZS5oIgogI2luY2x1ZGUgIlJlc291cmNlTG9hZFByaW9yaXR5LmgiCiAjaW5j
bHVkZSAiVGltZXIuaCIKICNpbmNsdWRlIDx3dGYvRGVxdWUuaD4KQEAgLTYzLDI3ICs2NSwyNyBA
QCBwdWJsaWM6CiAgICAgQ2FjaGVkUmVzb3VyY2VMb2FkZXIoRG9jdW1lbnQqKTsKICAgICB+Q2Fj
aGVkUmVzb3VyY2VMb2FkZXIoKTsKIAotICAgIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZElt
YWdlPiByZXF1ZXN0SW1hZ2UoUmVzb3VyY2VSZXF1ZXN0Jik7Ci0gICAgQ2FjaGVkUmVzb3VyY2VI
YW5kbGU8Q2FjaGVkQ1NTU3R5bGVTaGVldD4gcmVxdWVzdENTU1N0eWxlU2hlZXQoUmVzb3VyY2VS
ZXF1ZXN0JiwgY29uc3QgU3RyaW5nJiBjaGFyc2V0LCBSZXNvdXJjZUxvYWRQcmlvcml0eSA9IFJl
c291cmNlTG9hZFByaW9yaXR5VW5yZXNvbHZlZCk7Ci0gICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8
Q2FjaGVkQ1NTU3R5bGVTaGVldD4gcmVxdWVzdFVzZXJDU1NTdHlsZVNoZWV0KFJlc291cmNlUmVx
dWVzdCYsIGNvbnN0IFN0cmluZyYgY2hhcnNldCk7Ci0gICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8
Q2FjaGVkU2NyaXB0PiByZXF1ZXN0U2NyaXB0KFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFN0cmlu
ZyYgY2hhcnNldCk7Ci0gICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkRm9udD4gcmVxdWVz
dEZvbnQoUmVzb3VyY2VSZXF1ZXN0Jik7Ci0gICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVk
UmF3UmVzb3VyY2U+IHJlcXVlc3RSYXdSZXNvdXJjZShSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBS
ZXNvdXJjZUxvYWRlck9wdGlvbnMmKTsKKyAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRJ
bWFnZT4gcmVxdWVzdEltYWdlKFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IExvYWRJbml0aWF0b3Im
KTsKKyAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRDU1NTdHlsZVNoZWV0PiByZXF1ZXN0
Q1NTU3R5bGVTaGVldChSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBTdHJpbmcmIGNoYXJzZXQsIGNv
bnN0IExvYWRJbml0aWF0b3ImLCBSZXNvdXJjZUxvYWRQcmlvcml0eSA9IFJlc291cmNlTG9hZFBy
aW9yaXR5VW5yZXNvbHZlZCk7CisgICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkQ1NTU3R5
bGVTaGVldD4gcmVxdWVzdFVzZXJDU1NTdHlsZVNoZWV0KFJlc291cmNlUmVxdWVzdCYsIGNvbnN0
IFN0cmluZyYgY2hhcnNldCwgY29uc3QgTG9hZEluaXRpYXRvciYpOworICAgIENhY2hlZFJlc291
cmNlSGFuZGxlPENhY2hlZFNjcmlwdD4gcmVxdWVzdFNjcmlwdChSZXNvdXJjZVJlcXVlc3QmLCBj
b25zdCBTdHJpbmcmIGNoYXJzZXQsIGNvbnN0IExvYWRJbml0aWF0b3ImKTsKKyAgICBDYWNoZWRS
ZXNvdXJjZUhhbmRsZTxDYWNoZWRGb250PiByZXF1ZXN0Rm9udChSZXNvdXJjZVJlcXVlc3QmLCBj
b25zdCBMb2FkSW5pdGlhdG9yJik7CisgICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmF3
UmVzb3VyY2U+IHJlcXVlc3RSYXdSZXNvdXJjZShSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBSZXNv
dXJjZUxvYWRlck9wdGlvbnMmLCBjb25zdCBMb2FkSW5pdGlhdG9yJik7CiAKICNpZiBFTkFCTEUo
U1ZHKQotICAgIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFNWR0RvY3VtZW50PiByZXF1ZXN0
U1ZHRG9jdW1lbnQoUmVzb3VyY2VSZXF1ZXN0Jik7CisgICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8
Q2FjaGVkU1ZHRG9jdW1lbnQ+IHJlcXVlc3RTVkdEb2N1bWVudChSZXNvdXJjZVJlcXVlc3QmLCBj
b25zdCBMb2FkSW5pdGlhdG9yJik7CiAjZW5kaWYKICNpZiBFTkFCTEUoWFNMVCkKLSAgICBDYWNo
ZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRYU0xTdHlsZVNoZWV0PiByZXF1ZXN0WFNMU3R5bGVTaGVl
dChSZXNvdXJjZVJlcXVlc3QmKTsKKyAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRYU0xT
dHlsZVNoZWV0PiByZXF1ZXN0WFNMU3R5bGVTaGVldChSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBM
b2FkSW5pdGlhdG9yJik7CiAjZW5kaWYKICNpZiBFTkFCTEUoTElOS19QUkVGRVRDSCkKLSAgICBD
YWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRSZXNvdXJjZT4gcmVxdWVzdExpbmtSZXNvdXJjZShD
YWNoZWRSZXNvdXJjZTo6VHlwZSwgUmVzb3VyY2VSZXF1ZXN0JiwgUmVzb3VyY2VMb2FkUHJpb3Jp
dHkgPSBSZXNvdXJjZUxvYWRQcmlvcml0eVVucmVzb2x2ZWQpOworICAgIENhY2hlZFJlc291cmNl
SGFuZGxlPENhY2hlZFJlc291cmNlPiByZXF1ZXN0TGlua1Jlc291cmNlKENhY2hlZFJlc291cmNl
OjpUeXBlLCBSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBMb2FkSW5pdGlhdG9yJiwgUmVzb3VyY2VM
b2FkUHJpb3JpdHkgPSBSZXNvdXJjZUxvYWRQcmlvcml0eVVucmVzb2x2ZWQpOwogI2VuZGlmCiAj
aWYgRU5BQkxFKFZJREVPX1RSQUNLKQotICAgIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFRl
eHRUcmFjaz4gcmVxdWVzdFRleHRUcmFjayhSZXNvdXJjZVJlcXVlc3QmKTsKKyAgICBDYWNoZWRS
ZXNvdXJjZUhhbmRsZTxDYWNoZWRUZXh0VHJhY2s+IHJlcXVlc3RUZXh0VHJhY2soUmVzb3VyY2VS
ZXF1ZXN0JiwgY29uc3QgTG9hZEluaXRpYXRvciYpOwogI2VuZGlmCiAjaWYgRU5BQkxFKENTU19T
SEFERVJTKQotICAgIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFNoYWRlcj4gcmVxdWVzdFNo
YWRlcihSZXNvdXJjZVJlcXVlc3QmKTsKKyAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRT
aGFkZXI+IHJlcXVlc3RTaGFkZXIoUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgTG9hZEluaXRpYXRv
ciYpOwogI2VuZGlmCiAKICAgICAvLyBMb2dzIGFuIGFjY2VzcyBkZW5pZWQgbWVzc2FnZSB0byB0
aGUgY29uc29sZSBmb3IgdGhlIHNwZWNpZmllZCBVUkwuCkBAIC0xMTgsNyArMTIwLDcgQEAgcHVi
bGljOgogICAgIGJvb2wgaXNQcmVsb2FkZWQoY29uc3QgU3RyaW5nJiB1cmxTdHJpbmcpIGNvbnN0
OwogICAgIHZvaWQgY2xlYXJQcmVsb2FkcygpOwogICAgIHZvaWQgY2xlYXJQZW5kaW5nUHJlbG9h
ZHMoKTsKLSAgICB2b2lkIHByZWxvYWQoQ2FjaGVkUmVzb3VyY2U6OlR5cGUsIFJlc291cmNlUmVx
dWVzdCYsIGNvbnN0IFN0cmluZyYgY2hhcnNldCwgYm9vbCByZWZlcmVuY2VkRnJvbUJvZHkpOwor
ICAgIHZvaWQgcHJlbG9hZChDYWNoZWRSZXNvdXJjZTo6VHlwZSwgUmVzb3VyY2VSZXF1ZXN0Jiwg
Y29uc3QgU3RyaW5nJiBjaGFyc2V0LCBib29sIHJlZmVyZW5jZWRGcm9tQm9keSwgY29uc3QgTG9h
ZEluaXRpYXRvciYpOwogICAgIHZvaWQgY2hlY2tGb3JQZW5kaW5nUHJlbG9hZHMoKTsKICAgICB2
b2lkIHByaW50UHJlbG9hZFN0YXRzKCk7CiAgICAgYm9vbCBjYW5SZXF1ZXN0KENhY2hlZFJlc291
cmNlOjpUeXBlLCBjb25zdCBLVVJMJiwgYm9vbCBmb3JQcmVsb2FkID0gZmFsc2UpOwpAQCAtMTI3
LDEwICsxMjksMTAgQEAgcHVibGljOgogCiBwcml2YXRlOgogICAgIGVudW0gRGVmZXJPcHRpb24g
eyBOb0RlZmVyLCBEZWZlcnJlZEJ5Q2xpZW50IH07Ci0gICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8
Q2FjaGVkUmVzb3VyY2U+IHJlcXVlc3RSZXNvdXJjZShDYWNoZWRSZXNvdXJjZTo6VHlwZSwgUmVz
b3VyY2VSZXF1ZXN0JiwgY29uc3QgU3RyaW5nJiBjaGFyc2V0LCBjb25zdCBSZXNvdXJjZUxvYWRl
ck9wdGlvbnMmLCBSZXNvdXJjZUxvYWRQcmlvcml0eSA9IFJlc291cmNlTG9hZFByaW9yaXR5VW5y
ZXNvbHZlZCwgYm9vbCBpc1ByZWxvYWQgPSBmYWxzZSwgRGVmZXJPcHRpb24gPSBOb0RlZmVyKTsK
LSAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRSZXNvdXJjZT4gcmV2YWxpZGF0ZVJlc291
cmNlKENhY2hlZFJlc291cmNlKik7Ci0gICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmVz
b3VyY2U+IGxvYWRSZXNvdXJjZShDYWNoZWRSZXNvdXJjZTo6VHlwZSwgUmVzb3VyY2VSZXF1ZXN0
JiwgY29uc3QgU3RyaW5nJiBjaGFyc2V0KTsKLSAgICB2b2lkIHJlcXVlc3RQcmVsb2FkKENhY2hl
ZFJlc291cmNlOjpUeXBlLCBSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBTdHJpbmcmIGNoYXJzZXQp
OworICAgIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFJlc291cmNlPiByZXF1ZXN0UmVzb3Vy
Y2UoQ2FjaGVkUmVzb3VyY2U6OlR5cGUsIFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFN0cmluZyYg
Y2hhcnNldCwgY29uc3QgUmVzb3VyY2VMb2FkZXJPcHRpb25zJiwgY29uc3QgTG9hZEluaXRpYXRv
ciYsIFJlc291cmNlTG9hZFByaW9yaXR5ID0gUmVzb3VyY2VMb2FkUHJpb3JpdHlVbnJlc29sdmVk
LCBib29sIGlzUHJlbG9hZCA9IGZhbHNlLCBEZWZlck9wdGlvbiA9IE5vRGVmZXIpOworICAgIENh
Y2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFJlc291cmNlPiByZXZhbGlkYXRlUmVzb3VyY2UoQ2Fj
aGVkUmVzb3VyY2UqLCBjb25zdCBMb2FkSW5pdGlhdG9yJik7CisgICAgQ2FjaGVkUmVzb3VyY2VI
YW5kbGU8Q2FjaGVkUmVzb3VyY2U+IGxvYWRSZXNvdXJjZShDYWNoZWRSZXNvdXJjZTo6VHlwZSwg
UmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgU3RyaW5nJiBjaGFyc2V0LCBjb25zdCBMb2FkSW5pdGlh
dG9yJik7CisgICAgdm9pZCByZXF1ZXN0UHJlbG9hZChDYWNoZWRSZXNvdXJjZTo6VHlwZSwgUmVz
b3VyY2VSZXF1ZXN0JiwgY29uc3QgU3RyaW5nJiBjaGFyc2V0LCBjb25zdCBMb2FkSW5pdGlhdG9y
Jik7CiAKICAgICBlbnVtIFJldmFsaWRhdGlvblBvbGljeSB7IFVzZSwgUmV2YWxpZGF0ZSwgUmVs
b2FkLCBMb2FkIH07CiAgICAgUmV2YWxpZGF0aW9uUG9saWN5IGRldGVybWluZVJldmFsaWRhdGlv
blBvbGljeShDYWNoZWRSZXNvdXJjZTo6VHlwZSwgUmVzb3VyY2VSZXF1ZXN0JiwgYm9vbCBmb3JQ
cmVsb2FkLCBDYWNoZWRSZXNvdXJjZSogZXhpc3RpbmdSZXNvdXJjZSwgRGVmZXJPcHRpb24pIGNv
bnN0OwpAQCAtMTU1LDYgKzE1Nyw3IEBAIHByaXZhdGU6CiAgICAgICAgIENhY2hlZFJlc291cmNl
OjpUeXBlIG1fdHlwZTsKICAgICAgICAgUmVzb3VyY2VSZXF1ZXN0IG1fcmVxdWVzdDsKICAgICAg
ICAgU3RyaW5nIG1fY2hhcnNldDsKKyAgICAgICAgTG9hZEluaXRpYXRvckhhbmRsZSBtX2luaXRp
YXRvcjsKICAgICB9OwogICAgIERlcXVlPFBlbmRpbmdQcmVsb2FkPiBtX3BlbmRpbmdQcmVsb2Fk
czsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkxvYWRlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uTG9hZGVyLmNwcAppbmRleCA5ZDcz
M2RhNGQ4YjkwMTA2MTk2Y2FjNGJlZDM0NzkxNjgwYTUwZWNhLi41ZDUzOTA4NWM4OTM5NmMxYWZm
ZDQwZTMxM2M2NTJjYzQxMGVmMzk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
aWNvbi9JY29uTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29u
TG9hZGVyLmNwcApAQCAtNjYsNyArNjYsOCBAQCB2b2lkIEljb25Mb2FkZXI6OnN0YXJ0TG9hZGlu
ZygpCiAgICAgcmVzb3VyY2VSZXF1ZXN0LnNldFByaW9yaXR5KFJlc291cmNlTG9hZFByaW9yaXR5
TG93KTsKIAogICAgIG1fcmVzb3VyY2UgPSBtX2ZyYW1lLT5kb2N1bWVudCgpLT5jYWNoZWRSZXNv
dXJjZUxvYWRlcigpLT5yZXF1ZXN0UmF3UmVzb3VyY2UocmVzb3VyY2VSZXF1ZXN0LAotICAgICAg
ICBSZXNvdXJjZUxvYWRlck9wdGlvbnMoU2VuZENhbGxiYWNrcywgU25pZmZDb250ZW50LCBCdWZm
ZXJEYXRhLCBEb05vdEFsbG93U3RvcmVkQ3JlZGVudGlhbHMsIERvTm90QXNrQ2xpZW50Rm9yQ3Jv
c3NPcmlnaW5DcmVkZW50aWFscywgRG9TZWN1cml0eUNoZWNrKSk7CisgICAgICAgIFJlc291cmNl
TG9hZGVyT3B0aW9ucyhTZW5kQ2FsbGJhY2tzLCBTbmlmZkNvbnRlbnQsIEJ1ZmZlckRhdGEsIERv
Tm90QWxsb3dTdG9yZWRDcmVkZW50aWFscywgRG9Ob3RBc2tDbGllbnRGb3JDcm9zc09yaWdpbkNy
ZWRlbnRpYWxzLCBEb1NlY3VyaXR5Q2hlY2spLAorICAgICAgICAqdGhpcyk7CiAgICAgaWYgKG1f
cmVzb3VyY2UpCiAgICAgICAgIG1fcmVzb3VyY2UtPmFkZENsaWVudCh0aGlzKTsKICAgICBlbHNl
CkBAIC0xMDIsNCArMTAzLDE1IEBAIHZvaWQgSWNvbkxvYWRlcjo6bm90aWZ5RmluaXNoZWQoQ2Fj
aGVkUmVzb3VyY2UqIHJlc291cmNlKQogICAgIHN0b3BMb2FkaW5nKCk7CiB9CiAKK2NvbnN0IFdU
Rjo6QXRvbWljU3RyaW5nJiBJY29uTG9hZGVyOjppbml0aWF0b3JOYW1lKCkgY29uc3QKK3sKKyAg
ICBERUZJTkVfU1RBVElDX0xPQ0FMKEF0b21pY1N0cmluZywgbmFtZSwgKCJpY29uIiwgQXRvbWlj
U3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCkpOworICAgIHJldHVybiBuYW1lOworfQorCitE
b2N1bWVudCogSWNvbkxvYWRlcjo6aW5pdGlhdG9yRG9jdW1lbnQoKSBjb25zdAoreworICAgIHJl
dHVybiBtX2ZyYW1lLT5kb2N1bWVudCgpOworfQorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvaWNvbi9JY29uTG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNv
bi9JY29uTG9hZGVyLmgKaW5kZXggNjVlOGJkNTJmMjcwNDIxMzVjNWFjNzgzMWE1NzRkZTJkZGVh
OWRjNC4uMjA5NWNkNDI3MTIyNWY5ZTUwMDg2OWZkZTgwZjllNWUyZjRkNjBkOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkxvYWRlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9pY29uL0ljb25Mb2FkZXIuaApAQCAtMjgsNiArMjgsNyBAQAogCiAjaW5j
bHVkZSAiQ2FjaGVkUmF3UmVzb3VyY2UuaCIKICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUhhbmRs
ZS5oIgorI2luY2x1ZGUgIkxvYWRJbml0aWF0b3IuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5o
PgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4K
QEAgLTM3LDcgKzM4LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgQ2FjaGVkUmF3UmVz
b3VyY2U7CiBjbGFzcyBGcmFtZTsKIAotY2xhc3MgSWNvbkxvYWRlciA6IHByaXZhdGUgQ2FjaGVk
UmF3UmVzb3VyY2VDbGllbnQgeworY2xhc3MgSWNvbkxvYWRlciA6IHByaXZhdGUgQ2FjaGVkUmF3
UmVzb3VyY2VDbGllbnQsIHByaXZhdGUgTG9hZEluaXRpYXRvciB7CiAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoSWNvbkxvYWRlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgog
ICAgIHN0YXRpYyBQYXNzT3duUHRyPEljb25Mb2FkZXI+IGNyZWF0ZShGcmFtZSopOwpAQCAtNTAs
NiArNTEsOSBAQCBwcml2YXRlOgogICAgIGV4cGxpY2l0IEljb25Mb2FkZXIoRnJhbWUqKTsKICAg
ICB2aXJ0dWFsIHZvaWQgbm90aWZ5RmluaXNoZWQoQ2FjaGVkUmVzb3VyY2UqKTsKIAorICAgIHZp
cnR1YWwgY29uc3QgV1RGOjpBdG9taWNTdHJpbmcmIGluaXRpYXRvck5hbWUoKSBjb25zdDsKKyAg
ICB2aXJ0dWFsIERvY3VtZW50KiBpbml0aWF0b3JEb2N1bWVudCgpIGNvbnN0OworCiAgICAgRnJh
bWUqIG1fZnJhbWU7CiAgICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmF3UmVzb3VyY2U+
IG1fcmVzb3VyY2U7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3Jt
YW5jZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcAppbmRleCA5MDMz
OTMwMjE5ZTYwNDExNTE0Y2NkZTU2ZjY2YmU2Yjg1ODhkNTE5Li40YzRmYmU3NzMzZWQxZjRlMDVm
ZWE3MWM2Yjc4MTYyYjAwMzc0ZjBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bl
cmZvcm1hbmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcApA
QCAtMzMsNiArMzMsOCBAQAogCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJEb2N1
bWVudExvYWRlci5oIgorI2luY2x1ZGUgIkVsZW1lbnQuaCIKKyNpbmNsdWRlICJMb2FkSW5pdGlh
dG9yLmgiCiAjaW5jbHVkZSAiTWVtb3J5SW5mby5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlRW50
cnkuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZU5hdmlnYXRpb24uaCIKQEAgLTE0MywxMiArMTQ1
LDkgQEAgdm9pZCBQZXJmb3JtYW5jZTo6d2Via2l0U2V0UmVzb3VyY2VUaW1pbmdCdWZmZXJTaXpl
KHVuc2lnbmVkIGludCkKICAgICAvLyBGSVhNRTogSW1wbGVtZW50IHRoaXMuCiB9CiAKLXZvaWQg
UGVyZm9ybWFuY2U6OmFkZFJlc291cmNlVGltaW5nKGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVx
dWVzdCwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIGRvdWJsZSBmaW5pc2hUaW1l
LCBEb2N1bWVudCogcmVxdWVzdGluZ0RvY3VtZW50KQordm9pZCBQZXJmb3JtYW5jZTo6YWRkUmVz
b3VyY2VUaW1pbmcoY29uc3QgTG9hZEluaXRpYXRvciYgaW5pdGlhdG9yLCBjb25zdCBSZXNvdXJj
ZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBkb3Vi
bGUgZmluaXNoVGltZSkKIHsKLSAgICBpZiAoIXJlc3BvbnNlLnJlc291cmNlTG9hZFRpbWluZygp
KQotICAgICAgICByZXR1cm47Ci0KLSAgICBSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4gZW50cnkg
PSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpjcmVhdGUocmVxdWVzdCwgcmVzcG9uc2UsIGZp
bmlzaFRpbWUsIHJlcXVlc3RpbmdEb2N1bWVudCk7CisgICAgUmVmUHRyPFBlcmZvcm1hbmNlRW50
cnk+IGVudHJ5ID0gUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6Y3JlYXRlKGluaXRpYXRvci5p
bml0aWF0b3JOYW1lKCksIHJlcXVlc3QsIHJlc3BvbnNlLCBmaW5pc2hUaW1lLCBpbml0aWF0b3Iu
aW5pdGlhdG9yRG9jdW1lbnQoKSk7CiAgICAgLy8gRklYTUU6IE5lZWQgdG8gZW5mb3JjZSBidWZm
ZXIgbGltaXRzLgogICAgIG1fcmVzb3VyY2VUaW1pbmdCdWZmZXIuYXBwZW5kKGVudHJ5KTsKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuaAppbmRleCA4YmE4YzVlZWE5NWVlNWQ0M2Q4Y2JkZTQ2
NzBlZDkyYjIxOTYxZTY4Li4yYWMyZTJjZDUwMjkzZTUzMjM5NWQyY2NlYjA1OWIyMmFjMGYwOWQ2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5oCkBAIC00Nyw2ICs0Nyw4IEBACiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIGNsYXNzIERvY3VtZW50OworY2xhc3MgRWxlbWVudDsKK2NsYXNzIExv
YWRJbml0aWF0b3I7CiBjbGFzcyBSZXNvdXJjZVJlcXVlc3Q7CiBjbGFzcyBSZXNvdXJjZVJlc3Bv
bnNlOwogCkBAIC03NSw3ICs3Nyw3IEBAIHB1YmxpYzoKIAogICAgIERFRklORV9BVFRSSUJVVEVf
RVZFTlRfTElTVEVORVIod2Via2l0cmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsKTsKIAotICAgIHZv
aWQgYWRkUmVzb3VyY2VUaW1pbmcoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgUmVzb3Vy
Y2VSZXNwb25zZSYsIGRvdWJsZSBmaW5pc2hUaW1lLCBEb2N1bWVudCopOworICAgIHZvaWQgYWRk
UmVzb3VyY2VUaW1pbmcoY29uc3QgTG9hZEluaXRpYXRvciYsIGNvbnN0IFJlc291cmNlUmVxdWVz
dCYsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmLCBkb3VibGUgZmluaXNoVGltZSk7CiAjZW5kaWYK
IAogICAgIHVzaW5nIFJlZkNvdW50ZWQ8UGVyZm9ybWFuY2U+OjpyZWY7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmNwcAppbmRleCAwOTc2YWRk
NzgwMzI4ODNjM2Y0YTVhMTdiZmZiZWFjNmRlZjRkZDFjLi5mODA2YjIzM2JlODhlYzVjMDM4NzVk
ZDVmODQyODJmZDAwYmMwNjZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZv
cm1hbmNlUmVzb3VyY2VUaW1pbmcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9y
bWFuY2VSZXNvdXJjZVRpbWluZy5jcHAKQEAgLTQ0LDggKzQ0LDkgQEAKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi1QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpQZXJmb3JtYW5jZVJlc291cmNl
VGltaW5nKGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgUmVzb3VyY2VSZXNw
b25zZSYgcmVzcG9uc2UsIGRvdWJsZSBmaW5pc2hUaW1lLCBEb2N1bWVudCogcmVxdWVzdGluZ0Rv
Y3VtZW50KQotICAgIDogUGVyZm9ybWFuY2VFbnRyeShyZXF1ZXN0LnVybCgpLnN0cmluZygpLCAi
cmVzb3VyY2UiLCByZXNwb25zZS5yZXNvdXJjZUxvYWRUaW1pbmcoKS0+cmVxdWVzdFRpbWUsIGZp
bmlzaFRpbWUpCitQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpQZXJmb3JtYW5jZVJlc291cmNl
VGltaW5nKGNvbnN0IEF0b21pY1N0cmluZyYgaW5pdGlhdG9yVHlwZSwgY29uc3QgUmVzb3VyY2VS
ZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwgZG91Ymxl
IGZpbmlzaFRpbWUsIERvY3VtZW50KiByZXF1ZXN0aW5nRG9jdW1lbnQpCisgICAgOiBQZXJmb3Jt
YW5jZUVudHJ5KHJlcXVlc3QudXJsKCkuc3RyaW5nKCksICJyZXNvdXJjZSIsIHJlc3BvbnNlLnJl
c291cmNlTG9hZFRpbWluZygpID8gcmVzcG9uc2UucmVzb3VyY2VMb2FkVGltaW5nKCktPnJlcXVl
c3RUaW1lIDogMCwgZmluaXNoVGltZSkKKyAgICAsIG1faW5pdGlhdG9yVHlwZShpbml0aWF0b3JU
eXBlKQogICAgICwgbV90aW1pbmcocmVzcG9uc2UucmVzb3VyY2VMb2FkVGltaW5nKCkpCiAgICAg
LCBtX2ZpbmlzaFRpbWUoZmluaXNoVGltZSkKICAgICAsIG1fcmVxdWVzdGluZ0RvY3VtZW50KHJl
cXVlc3RpbmdEb2N1bWVudCkKQEAgLTU2LDEwICs1Nyw5IEBAIFBlcmZvcm1hbmNlUmVzb3VyY2VU
aW1pbmc6On5QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nKCkKIHsKIH0KIAotU3RyaW5nIFBlcmZv
cm1hbmNlUmVzb3VyY2VUaW1pbmc6OmluaXRpYXRvclR5cGUoKSBjb25zdAorQXRvbWljU3RyaW5n
IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmluaXRpYXRvclR5cGUoKSBjb25zdAogewotICAg
IC8vIEZJWE1FOiBUaGlzIHNob3VsZCBiZSBkZWNpZGVkIGJ5IHRoZSByZXNvdXJjZSB0eXBlLgot
ICAgIHJldHVybiAib3RoZXIiOworICAgIHJldHVybiBtX2luaXRpYXRvclR5cGU7CiB9CiAKIC8v
IEZJWE1FOiBOZWVkIHRvIGVuZm9yY2Ugc2FtZS1vcmlnaW4gcG9saWN5IG9uIHRoZXNlLgpAQCAt
NzcsMTEgKzc3LDE1IEBAIGRvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpyZWRpcmVj
dEVuZCgpIGNvbnN0CiAKIGRvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpmZXRjaFN0
YXJ0KCkgY29uc3QKIHsKKyAgICBpZiAoIW1fdGltaW5nKQorICAgICAgICByZXR1cm4gMC4wOwog
ICAgIHJldHVybiBtb25vdG9uaWNUaW1lVG9Eb2N1bWVudE1pbGxpc2Vjb25kcyhtX3RpbWluZy0+
cmVxdWVzdFRpbWUpOwogfQogCiBkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6ZG9t
YWluTG9va3VwU3RhcnQoKSBjb25zdAogeworICAgIGlmICghbV90aW1pbmcpCisgICAgICAgIHJl
dHVybiAwLjA7CiAgICAgaWYgKG1fdGltaW5nLT5kbnNTdGFydCA8IDApCiAgICAgICAgIHJldHVy
biBmZXRjaFN0YXJ0KCk7CiAKQEAgLTkwLDYgKzk0LDggQEAgZG91YmxlIFBlcmZvcm1hbmNlUmVz
b3VyY2VUaW1pbmc6OmRvbWFpbkxvb2t1cFN0YXJ0KCkgY29uc3QKIAogZG91YmxlIFBlcmZvcm1h
bmNlUmVzb3VyY2VUaW1pbmc6OmRvbWFpbkxvb2t1cEVuZCgpIGNvbnN0CiB7CisgICAgaWYgKCFt
X3RpbWluZykKKyAgICAgICAgcmV0dXJuIDAuMDsKICAgICBpZiAobV90aW1pbmctPmRuc0VuZCA8
IDApCiAgICAgICAgIHJldHVybiBkb21haW5Mb29rdXBTdGFydCgpOwogCkBAIC05OCw2ICsxMDQs
OCBAQCBkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6ZG9tYWluTG9va3VwRW5kKCkg
Y29uc3QKIAogZG91YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmNvbm5lY3RTdGFydCgp
IGNvbnN0CiB7CisgICAgaWYgKCFtX3RpbWluZykKKyAgICAgICAgcmV0dXJuIDAuMDsKICAgICBp
ZiAobV90aW1pbmctPmNvbm5lY3RTdGFydCA8IDApIC8vIENvbm5lY3Rpb24gd2FzIHJldXNlZC4K
ICAgICAgICAgcmV0dXJuIGRvbWFpbkxvb2t1cEVuZCgpOwogCkBAIC0xMTEsNiArMTE5LDggQEAg
ZG91YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmNvbm5lY3RTdGFydCgpIGNvbnN0CiAK
IGRvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpjb25uZWN0RW5kKCkgY29uc3QKIHsK
KyAgICBpZiAoIW1fdGltaW5nKQorICAgICAgICByZXR1cm4gMC4wOwogICAgIGlmIChtX3RpbWlu
Zy0+Y29ubmVjdEVuZCA8IDApIC8vIENvbm5lY3Rpb24gd2FzIHJldXNlZC4KICAgICAgICAgcmV0
dXJuIGNvbm5lY3RTdGFydCgpOwogCkBAIC0xMTksNiArMTI5LDggQEAgZG91YmxlIFBlcmZvcm1h
bmNlUmVzb3VyY2VUaW1pbmc6OmNvbm5lY3RFbmQoKSBjb25zdAogCiBkb3VibGUgUGVyZm9ybWFu
Y2VSZXNvdXJjZVRpbWluZzo6c2VjdXJlQ29ubmVjdGlvblN0YXJ0KCkgY29uc3QKIHsKKyAgICBp
ZiAoIW1fdGltaW5nKQorICAgICAgICByZXR1cm4gMC4wOwogICAgIGlmIChtX3RpbWluZy0+c3Ns
U3RhcnQgPCAwKSAvLyBTZWN1cmUgY29ubmVjdGlvbiBub3QgbmVnb3RpYXRlZC4KICAgICAgICAg
cmV0dXJuIDA7CiAKQEAgLTEyNywyOCArMTM5LDM4IEBAIGRvdWJsZSBQZXJmb3JtYW5jZVJlc291
cmNlVGltaW5nOjpzZWN1cmVDb25uZWN0aW9uU3RhcnQoKSBjb25zdAogCiBkb3VibGUgUGVyZm9y
bWFuY2VSZXNvdXJjZVRpbWluZzo6cmVxdWVzdFN0YXJ0KCkgY29uc3QKIHsKKyAgICBpZiAoIW1f
dGltaW5nKQorICAgICAgICByZXR1cm4gMC4wOwogICAgIHJldHVybiByZXNvdXJjZVRpbWVUb0Rv
Y3VtZW50TWlsbGlzZWNvbmRzKG1fdGltaW5nLT5zZW5kU3RhcnQpOwogfQogCiBkb3VibGUgUGVy
Zm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6cmVzcG9uc2VTdGFydCgpIGNvbnN0CiB7CisgICAgaWYg
KCFtX3RpbWluZykKKyAgICAgICAgcmV0dXJuIDAuMDsKICAgICAvLyBGSVhNRTogVGhpcyBudW1i
ZXIgaXNuJ3QgZXhhY3RseSBjb3JyZWN0LiBTZWUgdGhlIG5vdGVzIGluIFBlcmZvcm1hbmNlVGlt
aW5nOjpyZXNwb25zZVN0YXJ0KCkuCiAgICAgcmV0dXJuIHJlc291cmNlVGltZVRvRG9jdW1lbnRN
aWxsaXNlY29uZHMobV90aW1pbmctPnJlY2VpdmVIZWFkZXJzRW5kKTsKIH0KIAogZG91YmxlIFBl
cmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnJlc3BvbnNlRW5kKCkgY29uc3QKIHsKKyAgICBpZiAo
IW1fdGltaW5nKQorICAgICAgICByZXR1cm4gMC4wOwogICAgIHJldHVybiBtb25vdG9uaWNUaW1l
VG9Eb2N1bWVudE1pbGxpc2Vjb25kcyhtX2ZpbmlzaFRpbWUpOwogfQogCiBkb3VibGUgUGVyZm9y
bWFuY2VSZXNvdXJjZVRpbWluZzo6bW9ub3RvbmljVGltZVRvRG9jdW1lbnRNaWxsaXNlY29uZHMo
ZG91YmxlIHNlY29uZHMpIGNvbnN0CiB7CiAgICAgQVNTRVJUKHNlY29uZHMgPj0gMC4wKTsKKyAg
ICBpZiAoIXNlY29uZHMpCisgICAgICAgIHJldHVybiAwLjA7CiAgICAgcmV0dXJuIG1fcmVxdWVz
dGluZ0RvY3VtZW50LT5sb2FkZXIoKS0+dGltaW5nKCktPmNvbnZlcnRNb25vdG9uaWNUaW1lVG9E
b2N1bWVudFRpbWUoc2Vjb25kcykgKiAxMDAwLjA7CiB9CiAKIGRvdWJsZSBQZXJmb3JtYW5jZVJl
c291cmNlVGltaW5nOjpyZXNvdXJjZVRpbWVUb0RvY3VtZW50TWlsbGlzZWNvbmRzKGludCBkZWx0
YU1pbGxpc2Vjb25kcykgY29uc3QKIHsKKyAgICBpZiAoIWRlbHRhTWlsbGlzZWNvbmRzKQorICAg
ICAgICByZXR1cm4gMC4wOwogICAgIHJldHVybiBtb25vdG9uaWNUaW1lVG9Eb2N1bWVudE1pbGxp
c2Vjb25kcyhtX3RpbWluZy0+cmVxdWVzdFRpbWUpICsgZGVsdGFNaWxsaXNlY29uZHM7CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWlu
Zy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmgKaW5k
ZXggMDgyYjg5MjUxNDk2MjllODhkM2Q3MWFhNjhiYjExYjc1MjY2MGE5Mi4uNTgxZTE5NjRiNDE2
ZjZjYWUxNjhmN2M4ZjFmYmMxM2I5NDU4MGYwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmgKQEAgLTQ4LDEyICs0OCwxMiBAQCBjbGFzcyBS
ZXNvdXJjZVJlc3BvbnNlOwogCiBjbGFzcyBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nIDogcHVi
bGljIFBlcmZvcm1hbmNlRW50cnkgewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFBl
cmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc+IGNyZWF0ZShjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJl
cXVlc3QsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBkb3VibGUgZmluaXNoVGlt
ZSwgRG9jdW1lbnQqIHJlcXVlc3RpbmdEb2N1bWVudCkKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxQ
ZXJmb3JtYW5jZVJlc291cmNlVGltaW5nPiBjcmVhdGUoY29uc3QgQXRvbWljU3RyaW5nJiBpbml0
aWF0b3JUeXBlLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFJlc291cmNl
UmVzcG9uc2UmIHJlc3BvbnNlLCBkb3VibGUgZmluaXNoVGltZSwgRG9jdW1lbnQqIHJlcXVlc3Rp
bmdEb2N1bWVudCkKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgUGVyZm9ybWFu
Y2VSZXNvdXJjZVRpbWluZyhyZXF1ZXN0LCByZXNwb25zZSwgZmluaXNoVGltZSwgcmVxdWVzdGlu
Z0RvY3VtZW50KSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgUGVyZm9ybWFuY2VSZXNv
dXJjZVRpbWluZyhpbml0aWF0b3JUeXBlLCByZXF1ZXN0LCByZXNwb25zZSwgZmluaXNoVGltZSwg
cmVxdWVzdGluZ0RvY3VtZW50KSk7CiAgICAgfQogCi0gICAgU3RyaW5nIGluaXRpYXRvclR5cGUo
KSBjb25zdDsKKyAgICBBdG9taWNTdHJpbmcgaW5pdGlhdG9yVHlwZSgpIGNvbnN0OwogCiAgICAg
ZG91YmxlIHJlZGlyZWN0U3RhcnQoKSBjb25zdDsKICAgICBkb3VibGUgcmVkaXJlY3RFbmQoKSBj
b25zdDsKQEAgLTcwLDEyICs3MCwxMyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIGlzUmVz
b3VyY2UoKSB7IHJldHVybiB0cnVlOyB9CiAKIHByaXZhdGU6Ci0gICAgUGVyZm9ybWFuY2VSZXNv
dXJjZVRpbWluZyhjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNl
JiwgZG91YmxlIGZpbmlzaFRpbWUsIERvY3VtZW50Kik7CisgICAgUGVyZm9ybWFuY2VSZXNvdXJj
ZVRpbWluZyhjb25zdCBBdG9taWNTdHJpbmcmIGluaXRhdG9yVHlwZSwgY29uc3QgUmVzb3VyY2VS
ZXF1ZXN0JiwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYsIGRvdWJsZSBmaW5pc2hUaW1lLCBEb2N1
bWVudCopOwogICAgIH5QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nKCk7CiAKICAgICBkb3VibGUg
bW9ub3RvbmljVGltZVRvRG9jdW1lbnRNaWxsaXNlY29uZHMoZG91YmxlIHNlY29uZHMpIGNvbnN0
OwogICAgIGRvdWJsZSByZXNvdXJjZVRpbWVUb0RvY3VtZW50TWlsbGlzZWNvbmRzKGludCBkZWx0
YU1pbGxpc2Vjb25kcykgY29uc3Q7CiAKKyAgICBBdG9taWNTdHJpbmcgbV9pbml0aWF0b3JUeXBl
OwogICAgIFJlZlB0cjxSZXNvdXJjZUxvYWRUaW1pbmc+IG1fdGltaW5nOwogICAgIGRvdWJsZSBt
X2ZpbmlzaFRpbWU7CiAgICAgUmVmUHRyPERvY3VtZW50PiBtX3JlcXVlc3RpbmdEb2N1bWVudDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUltYWdlRWxlbWVudC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVJbWFnZUVsZW1lbnQuY3BwCmluZGV4IDc2MzU3MzhmZGUx
ODRkMWUxZGY0OGViNmZiMzZhZWNhYTIzNWQ1ZmIuLjVkNzU5ZWMyMGRjZDVmOWQ3NGRlOTYyOWQ1
ZTFlY2I3YTY3N2NhYzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUltYWdl
RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFSW1hZ2VFbGVtZW50LmNw
cApAQCAtODEsNyArODEsNyBAQCB2b2lkIFNWR0ZFSW1hZ2VFbGVtZW50OjpjbGVhclJlc291cmNl
UmVmZXJlbmNlcygpCiB2b2lkIFNWR0ZFSW1hZ2VFbGVtZW50OjpyZXF1ZXN0SW1hZ2VSZXNvdXJj
ZSgpCiB7CiAgICAgUmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3Qob3duZXJEb2N1bWVudCgpLT5jb21w
bGV0ZVVSTChocmVmKCkpKTsKLSAgICBtX2NhY2hlZEltYWdlID0gZG9jdW1lbnQoKS0+Y2FjaGVk
UmVzb3VyY2VMb2FkZXIoKS0+cmVxdWVzdEltYWdlKHJlcXVlc3QpOworICAgIG1fY2FjaGVkSW1h
Z2UgPSBkb2N1bWVudCgpLT5jYWNoZWRSZXNvdXJjZUxvYWRlcigpLT5yZXF1ZXN0SW1hZ2UocmVx
dWVzdCwgKnRoaXMpOwogCiAgICAgaWYgKG1fY2FjaGVkSW1hZ2UpCiAgICAgICAgIG1fY2FjaGVk
SW1hZ2UtPmFkZENsaWVudCh0aGlzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdGb250RmFjZVVyaUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRGYWNl
VXJpRWxlbWVudC5jcHAKaW5kZXggZjYxMDUzNzcyYjYyMmZhZmU5NDc1MGUwOTkzNDhlNjc3MGI3
ZTgwNy4uMWJhZDBiZDQ2NDM1NzhiMDMzYWE0ZDg3MzVkZTM0OTY5NDA4YjkwMiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRGYWNlVXJpRWxlbWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRGYWNlVXJpRWxlbWVudC5jcHAKQEAgLTk3LDcgKzk3LDcg
QEAgdm9pZCBTVkdGb250RmFjZVVyaUVsZW1lbnQ6OmxvYWRGb250KCkKICAgICBpZiAoIWhyZWYu
aXNOdWxsKCkpIHsKICAgICAgICAgQ2FjaGVkUmVzb3VyY2VMb2FkZXIqIGNhY2hlZFJlc291cmNl
TG9hZGVyID0gZG9jdW1lbnQoKS0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKTsKICAgICAgICAgUmVz
b3VyY2VSZXF1ZXN0IHJlcXVlc3QoZG9jdW1lbnQoKS0+Y29tcGxldGVVUkwoaHJlZikpOwotICAg
ICAgICBtX2NhY2hlZEZvbnQgPSBjYWNoZWRSZXNvdXJjZUxvYWRlci0+cmVxdWVzdEZvbnQocmVx
dWVzdCk7CisgICAgICAgIG1fY2FjaGVkRm9udCA9IGNhY2hlZFJlc291cmNlTG9hZGVyLT5yZXF1
ZXN0Rm9udChyZXF1ZXN0LCAqdGhpcyk7CiAgICAgICAgIGlmIChtX2NhY2hlZEZvbnQpIHsKICAg
ICAgICAgICAgIG1fY2FjaGVkRm9udC0+YWRkQ2xpZW50KHRoaXMpOwogICAgICAgICAgICAgbV9j
YWNoZWRGb250LT5iZWdpbkxvYWRJZk5lZWRlZChjYWNoZWRSZXNvdXJjZUxvYWRlcik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVXNlRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHVXNlRWxlbWVudC5jcHAKaW5kZXggZDE5ZWExOTVkZjIwYTJlZjYzOWY2YTFl
OTlhMjBiMjU4MmI5NTBlMS4uM2ZhODFmYzBiYjQ0ZjUyYzcwMzM4YTVlNmJhMWQxOWQ5YWNjYzEy
YyAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1VzZUVsZW1lbnQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdVc2VFbGVtZW50LmNwcApAQCAtMjU1LDcgKzI1NSw3IEBA
IHZvaWQgU1ZHVXNlRWxlbWVudDo6c3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWRO
YW1lJiBhdHRyTmFtZSkKICAgICAgICAgICAgIEtVUkwgdXJsID0gZG9jdW1lbnQoKS0+Y29tcGxl
dGVVUkwoaHJlZigpKTsKICAgICAgICAgICAgIGlmICh1cmwuaGFzRnJhZ21lbnRJZGVudGlmaWVy
KCkpIHsKICAgICAgICAgICAgICAgICBSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdCh1cmwuc3RyaW5n
KCkpOwotICAgICAgICAgICAgICAgIG1fY2FjaGVkRG9jdW1lbnQgPSBkb2N1bWVudCgpLT5jYWNo
ZWRSZXNvdXJjZUxvYWRlcigpLT5yZXF1ZXN0U1ZHRG9jdW1lbnQocmVxdWVzdCk7CisgICAgICAg
ICAgICAgICAgbV9jYWNoZWREb2N1bWVudCA9IGRvY3VtZW50KCktPmNhY2hlZFJlc291cmNlTG9h
ZGVyKCktPnJlcXVlc3RTVkdEb2N1bWVudChyZXF1ZXN0LCAqdGhpcyk7CiAgICAgICAgICAgICAg
ICAgaWYgKG1fY2FjaGVkRG9jdW1lbnQpCiAgICAgICAgICAgICAgICAgICAgIG1fY2FjaGVkRG9j
dW1lbnQtPmFkZENsaWVudCh0aGlzKTsKICAgICAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1M
SHR0cFJlcXVlc3QuY3BwCmluZGV4IDA5N2JjNDQyN2YwZDBjNGM2NTEyMGEzYjc5YWFmYmZkYjM0
ZjQ0YzguLjU1N2NjNGUxMjRkZTgyMjNlMWQ5YWZhMTc2YzM3YjFhOGU4NjYyYWIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcApAQCAtNzUzLDcgKzc1Myw3IEBAIHZvaWQgWE1M
SHR0cFJlcXVlc3Q6OmNyZWF0ZVJlcXVlc3QoRXhjZXB0aW9uQ29kZSYgZWMpCiAgICAgICAgIC8v
IFRoaXMgaXMgdHJ1ZSB3aGlsZSBydW5uaW5nIG9udW5sb2FkIGhhbmRsZXJzLgogICAgICAgICAv
LyBGSVhNRTogTWF5YmUgd2UgbmVlZCB0byBiZSBhYmxlIHRvIHNlbmQgWE1MSHR0cFJlcXVlc3Rz
IGZyb20gb251bmxvYWQsIDxodHRwOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MDkwND4uCiAgICAgICAgIC8vIEZJWE1FOiBNYXliZSBjcmVhdGUoKSBjYW4gcmV0dXJuIG51bGwg
Zm9yIG90aGVyIHJlYXNvbnMgdG9vPwotICAgICAgICBtX2xvYWRlciA9IFRocmVhZGFibGVMb2Fk
ZXI6OmNyZWF0ZShzY3JpcHRFeGVjdXRpb25Db250ZXh0KCksIHRoaXMsIHJlcXVlc3QsIG9wdGlv
bnMpOworICAgICAgICBtX2xvYWRlciA9IFRocmVhZGFibGVMb2FkZXI6OmNyZWF0ZShzY3JpcHRF
eGVjdXRpb25Db250ZXh0KCksIHRoaXMsIHJlcXVlc3QsIG9wdGlvbnMsICp0aGlzKTsKICAgICAg
ICAgaWYgKG1fbG9hZGVyKSB7CiAgICAgICAgICAgICAvLyBOZWl0aGVyIHRoaXMgb2JqZWN0IG5v
ciB0aGUgSmF2YVNjcmlwdCB3cmFwcGVyIHNob3VsZCBiZSBkZWxldGVkIHdoaWxlCiAgICAgICAg
ICAgICAvLyBhIHJlcXVlc3QgaXMgaW4gcHJvZ3Jlc3MgYmVjYXVzZSB3ZSBuZWVkIHRvIGtlZXAg
dGhlIGxpc3RlbmVycyBhbGl2ZSwKQEAgLTc2Miw3ICs3NjIsNyBAQCB2b2lkIFhNTEh0dHBSZXF1
ZXN0OjpjcmVhdGVSZXF1ZXN0KEV4Y2VwdGlvbkNvZGUmIGVjKQogICAgICAgICB9CiAgICAgfSBl
bHNlIHsKICAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsTG9hZFhIUlN5bmNo
cm9ub3VzbHkoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKLSAgICAgICAgVGhyZWFkYWJsZUxv
YWRlcjo6bG9hZFJlc291cmNlU3luY2hyb25vdXNseShzY3JpcHRFeGVjdXRpb25Db250ZXh0KCks
IHJlcXVlc3QsICp0aGlzLCBvcHRpb25zKTsKKyAgICAgICAgVGhyZWFkYWJsZUxvYWRlcjo6bG9h
ZFJlc291cmNlU3luY2hyb25vdXNseShzY3JpcHRFeGVjdXRpb25Db250ZXh0KCksIHJlcXVlc3Qs
ICp0aGlzLCBvcHRpb25zLCAqdGhpcyk7CiAgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlv
bjo6ZGlkTG9hZFhIUlN5bmNocm9ub3VzbHkoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKICAg
ICB9CiAKQEAgLTk4NSw3ICs5ODUsNyBAQCBTdHJpbmcgWE1MSHR0cFJlcXVlc3Q6OmdldFJlc3Bv
bnNlSGVhZGVyKGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZSwgRXhjZXB0aW9uQ29kZQogICAgICAg
ICBsb2dDb25zb2xlRXJyb3Ioc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCAiUmVmdXNlZCB0byBn
ZXQgdW5zYWZlIGhlYWRlciBcIiIgKyBuYW1lICsgIlwiIik7CiAgICAgICAgIHJldHVybiBTdHJp
bmcoKTsKICAgICB9Ci0gICAgCisKICAgICBIVFRQSGVhZGVyU2V0IGFjY2Vzc0NvbnRyb2xFeHBv
c2VIZWFkZXJTZXQ7CiAgICAgcGFyc2VBY2Nlc3NDb250cm9sRXhwb3NlSGVhZGVyc0FsbG93TGlz
dChtX3Jlc3BvbnNlLmh0dHBIZWFkZXJGaWVsZCgiQWNjZXNzLUNvbnRyb2wtRXhwb3NlLUhlYWRl
cnMiKSwgYWNjZXNzQ29udHJvbEV4cG9zZUhlYWRlclNldCk7CiAKQEAgLTEyMjQsNCArMTIyNCwx
MCBAQCBFdmVudFRhcmdldERhdGEqIFhNTEh0dHBSZXF1ZXN0OjplbnN1cmVFdmVudFRhcmdldERh
dGEoKQogICAgIHJldHVybiAmbV9ldmVudFRhcmdldERhdGE7CiB9CiAKK2NvbnN0IEF0b21pY1N0
cmluZyYgWE1MSHR0cFJlcXVlc3Q6OmluaXRpYXRvck5hbWUoKSBjb25zdAoreworICAgIERFRklO
RV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCBuYW1lLCAoInhtbGh0dHByZXF1ZXN0IiwgQXRv
bWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCkpOworICAgIHJldHVybiBuYW1lOworfQor
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwv
WE1MSHR0cFJlcXVlc3QuaCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5oCmlu
ZGV4IGNjNmNiYzUwYzM2MDE2NTA4OWUyNjU5OTc1Y2QxMGQzMTEyMmVmNWQuLjlkZTgyYWE0NjEx
YmQyZDNmM2U2MTkyZDFjMGE5ODk3OWFhMzA5OGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3htbC9YTUxIdHRwUmVxdWVzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVx
dWVzdC5oCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgogI2luY2x1
ZGUgIkV2ZW50VGFyZ2V0LmgiCiAjaW5jbHVkZSAiRm9ybURhdGEuaCIKKyNpbmNsdWRlICJMb2Fk
SW5pdGlhdG9yLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VSZXNwb25zZS5oIgogI2luY2x1ZGUgIlNl
Y3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVkZSAiVGhyZWFkYWJsZUxvYWRlckNsaWVudC5oIgpAQCAt
NDUsNyArNDYsNyBAQCBjbGFzcyBTaGFyZWRCdWZmZXI7CiBjbGFzcyBUZXh0UmVzb3VyY2VEZWNv
ZGVyOwogY2xhc3MgVGhyZWFkYWJsZUxvYWRlcjsKIAotY2xhc3MgWE1MSHR0cFJlcXVlc3QgOiBw
dWJsaWMgUmVmQ291bnRlZDxYTUxIdHRwUmVxdWVzdD4sIHB1YmxpYyBFdmVudFRhcmdldCwgcHJp
dmF0ZSBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50LCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0IHsKK2Ns
YXNzIFhNTEh0dHBSZXF1ZXN0IDogcHVibGljIFJlZkNvdW50ZWQ8WE1MSHR0cFJlcXVlc3Q+LCBw
dWJsaWMgRXZlbnRUYXJnZXQsIHByaXZhdGUgVGhyZWFkYWJsZUxvYWRlckNsaWVudCwgcHVibGlj
IEFjdGl2ZURPTU9iamVjdCwgcHJpdmF0ZSBMb2FkSW5pdGlhdG9yIHsKICAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxYTUxIdHRwUmVx
dWVzdD4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPFNlY3VyaXR5
T3JpZ2luPiA9IDApOwpAQCAtNTksMTAgKzYwLDEwIEBAIHB1YmxpYzoKICAgICAgICAgTE9BRElO
RyA9IDMsCiAgICAgICAgIERPTkUgPSA0CiAgICAgfTsKLSAgICAKKwogICAgIGVudW0gUmVzcG9u
c2VUeXBlQ29kZSB7CiAgICAgICAgIFJlc3BvbnNlVHlwZURlZmF1bHQsCi0gICAgICAgIFJlc3Bv
bnNlVHlwZVRleHQsIAorICAgICAgICBSZXNwb25zZVR5cGVUZXh0LAogICAgICAgICBSZXNwb25z
ZVR5cGVEb2N1bWVudCwKICAgICAgICAgUmVzcG9uc2VUeXBlQmxvYiwKICAgICAgICAgUmVzcG9u
c2VUeXBlQXJyYXlCdWZmZXIKQEAgLTE4Miw2ICsxODMsOSBAQCBwcml2YXRlOgogICAgIHZvaWQg
bmV0d29ya0Vycm9yKCk7CiAgICAgdm9pZCBhYm9ydEVycm9yKCk7CiAKKyAgICB2aXJ0dWFsIGNv
bnN0IEF0b21pY1N0cmluZyYgaW5pdGlhdG9yTmFtZSgpIGNvbnN0OworICAgIHZpcnR1YWwgRG9j
dW1lbnQqIGluaXRpYXRvckRvY3VtZW50KCkgY29uc3QgeyByZXR1cm4gZG9jdW1lbnQoKTsgfQor
CiAgICAgT3duUHRyPFhNTEh0dHBSZXF1ZXN0VXBsb2FkPiBtX3VwbG9hZDsKIAogICAgIEtVUkwg
bV91cmw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFNMSW1wb3J0UnVsZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS94bWwvWFNMSW1wb3J0UnVsZS5jcHAKaW5kZXggMGExNzcwZDAzNDVh
OGExZmM4M2Q3YjdmYjJkNDQyZDJiYTM5ZWIxZi4uNzllMzZkYzU0MDg1N2NmNzZkNTAzNGU1ZmZm
MWRlZjdlYTc3MGZlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hTTEltcG9ydFJ1
bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YU0xJbXBvcnRSdWxlLmNwcApAQCAtNDMs
NyArNDMsNyBAQCBYU0xJbXBvcnRSdWxlOjp+WFNMSW1wb3J0UnVsZSgpCiB7CiAgICAgaWYgKG1f
c3R5bGVTaGVldCkKICAgICAgICAgbV9zdHlsZVNoZWV0LT5zZXRQYXJlbnRTdHlsZVNoZWV0KDAp
OwotICAgIAorCiAgICAgaWYgKG1fY2FjaGVkU2hlZXQpCiAgICAgICAgIG1fY2FjaGVkU2hlZXQt
PnJlbW92ZUNsaWVudCh0aGlzKTsKIH0KQEAgLTYxLDcgKzYxLDcgQEAgdm9pZCBYU0xJbXBvcnRS
dWxlOjpzZXRYU0xTdHlsZVNoZWV0KGNvbnN0IFN0cmluZyYgaHJlZiwgY29uc3QgS1VSTCYgYmFz
ZVVSTCwgY28KIAogICAgIG1fc3R5bGVTaGVldC0+cGFyc2VTdHJpbmcoc2hlZXQpOwogICAgIG1f
bG9hZGluZyA9IGZhbHNlOwotICAgIAorCiAgICAgaWYgKHBhcmVudCkKICAgICAgICAgcGFyZW50
LT5jaGVja0xvYWRlZCgpOwogfQpAQCAtODQsMjYgKzg0LDI2IEBAIHZvaWQgWFNMSW1wb3J0UnVs
ZTo6bG9hZFNoZWV0KCkKIAogICAgIGlmIChyb290U2hlZXQpCiAgICAgICAgIGNhY2hlZFJlc291
cmNlTG9hZGVyID0gcm9vdFNoZWV0LT5jYWNoZWRSZXNvdXJjZUxvYWRlcigpOwotICAgIAorCiAg
ICAgU3RyaW5nIGFic0hyZWYgPSBtX3N0ckhyZWY7CiAgICAgWFNMU3R5bGVTaGVldCogcGFyZW50
U2hlZXQgPSBwYXJlbnRTdHlsZVNoZWV0KCk7CiAgICAgaWYgKCFwYXJlbnRTaGVldC0+YmFzZVVS
TCgpLmlzTnVsbCgpKQogICAgICAgICAvLyB1c2UgcGFyZW50IHN0eWxlaGVldCdzIFVSTCBhcyB0
aGUgYmFzZSBVUkwKICAgICAgICAgYWJzSHJlZiA9IEtVUkwocGFyZW50U2hlZXQtPmJhc2VVUkwo
KSwgbV9zdHJIcmVmKS5zdHJpbmcoKTsKLSAgICAKKwogICAgIC8vIENoZWNrIGZvciBhIGN5Y2xl
IGluIG91ciBpbXBvcnQgY2hhaW4uICBJZiB3ZSBlbmNvdW50ZXIgYSBzdHlsZXNoZWV0CiAgICAg
Ly8gaW4gb3VyIHBhcmVudCBjaGFpbiB3aXRoIHRoZSBzYW1lIFVSTCwgdGhlbiBqdXN0IGJhaWwu
CiAgICAgZm9yIChYU0xTdHlsZVNoZWV0KiBwYXJlbnRTaGVldCA9IHBhcmVudFN0eWxlU2hlZXQo
KTsgcGFyZW50U2hlZXQ7IHBhcmVudFNoZWV0ID0gcGFyZW50U2hlZXQtPnBhcmVudFN0eWxlU2hl
ZXQoKSkgewogICAgICAgICBpZiAoYWJzSHJlZiA9PSBwYXJlbnRTaGVldC0+YmFzZVVSTCgpLnN0
cmluZygpKQogICAgICAgICAgICAgcmV0dXJuOwogICAgIH0KLSAgICAKKwogICAgIFJlc291cmNl
UmVxdWVzdCByZXF1ZXN0KGNhY2hlZFJlc291cmNlTG9hZGVyLT5kb2N1bWVudCgpLT5jb21wbGV0
ZVVSTChhYnNIcmVmKSk7Ci0gICAgbV9jYWNoZWRTaGVldCA9IGNhY2hlZFJlc291cmNlTG9hZGVy
LT5yZXF1ZXN0WFNMU3R5bGVTaGVldChyZXF1ZXN0KTsKLSAgICAKKyAgICBtX2NhY2hlZFNoZWV0
ID0gY2FjaGVkUmVzb3VyY2VMb2FkZXItPnJlcXVlc3RYU0xTdHlsZVNoZWV0KHJlcXVlc3QsICp0
aGlzKTsKKwogICAgIGlmIChtX2NhY2hlZFNoZWV0KSB7CiAgICAgICAgIG1fY2FjaGVkU2hlZXQt
PmFkZENsaWVudCh0aGlzKTsKLSAgICAgICAgCisKICAgICAgICAgLy8gSWYgdGhlIGltcG9ydGVk
IHNoZWV0IGlzIGluIHRoZSBjYWNoZSwgdGhlbiBzZXRYU0xTdHlsZVNoZWV0IGdldHMgY2FsbGVk
LAogICAgICAgICAvLyBhbmQgdGhlIHNoZWV0IGV2ZW4gZ2V0cyBwYXJzZWQgKHZpYSBwYXJzZVN0
cmluZykuICBJbiB0aGlzIGNhc2Ugd2UgaGF2ZQogICAgICAgICAvLyBsb2FkZWQgKGV2ZW4gaWYg
b3VyIHN1YnJlc291cmNlcyBoYXZlbid0KSwgc28gaWYgd2UgaGF2ZSBhIHN0eWxlc2hlZXQgYWZ0
ZXIKQEAgLTExMyw2ICsxMTMsMTIgQEAgdm9pZCBYU0xJbXBvcnRSdWxlOjpsb2FkU2hlZXQoKQog
ICAgIH0KIH0KIAorY29uc3QgV1RGOjpBdG9taWNTdHJpbmcmIFhTTEltcG9ydFJ1bGU6OmluaXRp
YXRvck5hbWUoKSBjb25zdAoreworICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5n
LCBuYW1lLCAoInhzbCIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpKTsKKyAg
ICByZXR1cm4gbmFtZTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8g
RU5BQkxFKFhTTFQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFNMSW1wb3J0UnVs
ZS5oIGIvU291cmNlL1dlYkNvcmUveG1sL1hTTEltcG9ydFJ1bGUuaAppbmRleCAzNTBjZGQ5YjE2
NTM0YjYxN2YwNjI3NjI5M2M0NzQwZTJjZjZiMTllLi4wZTI0ZTkyOWQ3ZWVjOTZkNTdiZjU2NmUz
NjdlMTllMGFhN2YxYWI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFNMSW1wb3J0
UnVsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YU0xJbXBvcnRSdWxlLmgKQEAgLTI3LDYg
KzI3LDcgQEAKIAogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlSGFuZGxlLmgiCiAjaW5jbHVkZSAi
Q2FjaGVkU3R5bGVTaGVldENsaWVudC5oIgorI2luY2x1ZGUgIkxvYWRJbml0aWF0b3IuaCIKICNp
bmNsdWRlICJYU0xTdHlsZVNoZWV0LmgiCiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIApA
QCAtMzQsNyArMzUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIENhY2hlZFhTTFN0
eWxlU2hlZXQ7CiAKLWNsYXNzIFhTTEltcG9ydFJ1bGUgOiBwcml2YXRlIENhY2hlZFN0eWxlU2hl
ZXRDbGllbnQgeworY2xhc3MgWFNMSW1wb3J0UnVsZSA6IHByaXZhdGUgQ2FjaGVkU3R5bGVTaGVl
dENsaWVudCwgcHJpdmF0ZSBMb2FkSW5pdGlhdG9yIHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxYU0xJbXBvcnRSdWxlPiBjcmVh
dGUoWFNMU3R5bGVTaGVldCogcGFyZW50U2hlZXQsIGNvbnN0IFN0cmluZyYgaHJlZikKQEAgLTQz
LDcgKzQ0LDcgQEAgcHVibGljOgogICAgIH0KIAogICAgIHZpcnR1YWwgflhTTEltcG9ydFJ1bGUo
KTsKLSAgICAKKwogICAgIGNvbnN0IFN0cmluZyYgaHJlZigpIGNvbnN0IHsgcmV0dXJuIG1fc3Ry
SHJlZjsgfQogICAgIFhTTFN0eWxlU2hlZXQqIHN0eWxlU2hlZXQoKSBjb25zdCB7IHJldHVybiBt
X3N0eWxlU2hlZXQuZ2V0KCk7IH0KIApAQCAtNTIsMTIgKzUzLDE1IEBAIHB1YmxpYzoKIAogICAg
IGJvb2wgaXNMb2FkaW5nKCk7CiAgICAgdm9pZCBsb2FkU2hlZXQoKTsKLSAgICAKKwogcHJpdmF0
ZToKICAgICBYU0xJbXBvcnRSdWxlKFhTTFN0eWxlU2hlZXQqIHBhcmVudFNoZWV0LCBjb25zdCBT
dHJpbmcmIGhyZWYpOwogCiAgICAgdmlydHVhbCB2b2lkIHNldFhTTFN0eWxlU2hlZXQoY29uc3Qg
U3RyaW5nJiBocmVmLCBjb25zdCBLVVJMJiBiYXNlVVJMLCBjb25zdCBTdHJpbmcmIHNoZWV0KTsK
LSAgICAKKworICAgIHZpcnR1YWwgY29uc3QgV1RGOjpBdG9taWNTdHJpbmcmIGluaXRpYXRvck5h
bWUoKSBjb25zdDsKKyAgICB2aXJ0dWFsIERvY3VtZW50KiBpbml0aWF0b3JEb2N1bWVudCgpIGNv
bnN0IHsgcmV0dXJuIG1fcGFyZW50U3R5bGVTaGVldC0+b3duZXJEb2N1bWVudCgpOyB9CisKICAg
ICBYU0xTdHlsZVNoZWV0KiBtX3BhcmVudFN0eWxlU2hlZXQ7CiAgICAgU3RyaW5nIG1fc3RySHJl
ZjsKICAgICBSZWZQdHI8WFNMU3R5bGVTaGVldD4gbV9zdHlsZVNoZWV0OwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDUzMzZi
ZTBiMGM3ZjJjNzFmODMzOWMwNWIxMmMzOWJmMWUzMzU2NGMuLjQwYzY5NDk3MTFkNzNkZDNlOGIx
YTE1Njk3NDg0MzU4Y2VlYWUyM2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzOCBAQAorMjAxMi0xMC0wMSAg
SmFtZXMgU2ltb25zZW4gIDxzaW1vbmphbUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW1Jlc291
cmNlIFRpbWluZ10gRXhwb3NlIHRpbWluZyBpbmZvcm1hdGlvbgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODQ4ODMKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgdGVzdHMgYXJlIGRlc2lnbmVkIHRvIGJl
IHVwc3RyZWFtZWQuIEV2ZW50dWFsbHksIHRoZSBsb2NhbCBvbmVzIHdpbGwgYmUgcmVwbGFjZWQg
YnkgdGhlIG9mZmljaWFsIHVwc3RyZWFtIHZlcnNpb25zLgorCisgICAgICAgICogaHR0cC90ZXN0
cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvQWhlbS50dGY6IEFkZGVkLgorICAgICAgICAqIGh0dHAv
dGVzdHMvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2FsbF9yZXNvdXJjZV90eXBlcy5odG06IEFkZGVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2JsYW5rX2ltYWdl
LnBuZzogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMv
ZW1wdHlfc2NyaXB0LmpzOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJm
L3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA6IEFkZGVkLgorICAgICAgICAqIGh0dHAv
dGVzdHMvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dyYXlfYmcuY3NzOiBBZGRlZC4KKyAgICAgICAg
KGJvZHkpOgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2luamVj
dF9yZXNvdXJjZV90ZXN0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dl
YnBlcmYvcmVzb3VyY2VzL25lc3RlZC5jc3M6IEFkZGVkLgorICAgICAgICAoQGZvbnQtZmFjZSk6
CisgICAgICAgIChvbCk6CisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJj
ZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpzOgorICAgICAgICAodGVzdF9ncmVhdGVyX29yX2VxdWFs
cyk6CisgICAgICAgICh0ZXN0X2ZhaWwpOgorICAgICAgICAodGVzdF9yZXNvdXJjZV9lbnRyaWVz
KToKKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2Ut
dGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9hdHRyaWJ1dGVfb3JkZXItZXhwZWN0ZWQudHh0OiBB
ZGRlZC4gT25lIGZhaWxzIGJlY2F1c2UgRFJUIGRvZXNuJ3QgYWN0dWFsbHkgcG9wdWxhdGUgdmFs
dWVzLgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJj
ZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX2F0dHJpYnV0ZV9vcmRlci5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGlt
aW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9keW5hbWljX2luc2VydGlvbi1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJj
ZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX2R5bmFtaWNfaW5zZXJ0aW9uLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10
aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX2luaXRpYXRvcl90eXBlcy1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJj
ZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX2luaXRpYXRvcl90eXBlcy5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGlt
aW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9yZWRpcmVjdHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5n
L2h0bWwvdGVzdF9yZXNvdXJjZV9yZWRpcmVjdHMuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0
cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3Rf
cmVzb3VyY2Vfc2NyaXB0X3R5cGVzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0
cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3Rf
cmVzb3VyY2Vfc2NyaXB0X3R5cGVzLmh0bWw6IEFkZGVkLgorCiAyMDEyLTEwLTAxICBEb21pbmlr
IFLDtnR0c2NoZXMgIDxkb21pbmlrLnJvdHRzY2hlc0BpbnRlbC5jb20+CiAKICAgICAgICAgW0VG
TF0gUmVtb3ZlIEVGTC1zcGVjaWZpYyBleHBlY3RhdGlvbnMgZm9yIGZhc3QvcmVnaW9ucy93ZWJr
aXQtbmFtZWQtZmxvdy0qCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93
ZWJwZXJmL3Jlc291cmNlcy9BaGVtLnR0ZiBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dl
YnBlcmYvcmVzb3VyY2VzL0FoZW0udHRmCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFjODFjYjAzMTY1YWI4MzFhMzZh
YmI1OTE0NWZmN2EyZjU2NzVmYjkKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDEyNDgwCnpjbWVI
TlpGbSZiNkBLU3FYRnFgP1YjSjhfV3taKDMyNztDJXJOfkY1TkQrfUJxTlUwdkpJTXlLeUsjNDhm
JnhXcgp6KWtnVSFUOCZDNkI3JVk8M1Iobjg1Zks0VnNpdFRWbW8hPlVaQiZZMmVHcGpSSjNBMisr
ZHFCJFZMUCtXPzN7YjwKenk9VHQ3PWJkfWM/en5Ve18lUmIyYGQoN2pyKGVVXlFMX01MMEpXMVZx
TV9PQHlZZmM+dHtUOGRSRTNoWUkwYXN5Cno/QEhGXlJNa3dheWw3UXdIeDBBXjE+dU1wM2ghRHBy
YVNBX15Yd20/IXRLLVpESWVoM0daSVpUSlI+bGpfTH41JAp6eGg3cl81X00rPWZ1ZDZDK019VXtU
NmArKUU4VzskIzZuU1hNJU8jbTBLTk0xeypsXnZHQnM9Rz41VmAhYD5XamAKemVPRTluQDAzZmN1
SUA3RUFpUD18SENQcURgVS1qN2MrVD5SZlhvMWBPJXA2P1BeRmQhYClNTEdmWnRZb2VvSVRvCno5
fHRZWEwzciN3VSM7aXV3S2lvZ1RvbCU7XmF5alpTTEojMVEjNUwhYX4kJVIyfFMoeUcxNG1WPisq
QWwxNEFKOAp6c2tSUlNUTHFOZEEqfERjPCpCZWQ8Mis/T2x3TFpnR1kxWF56VEZzKms4fTNhTjgy
ay1jV1N0e3M2e1lUcE0yZ34KemAwODR0YTUyZHE5YXA8fSFYP3tOZ1UpcnlmU2FxQVQhVmFFLXZq
N2AmZ2c8MTxSVDl6cCh7PkNLRypWWUkyOHByCno0YyYxJWRmKzx7Q2AxdDdNTmdjOEJBa2d7XyNW
IX0rMzFhUFA+ZXE0aXhUdzF4aX1Cc019UGJQMThfYkQ7KWZXNwp6QTdMO3E7SlAqeCEhUjdCeERY
QG9Wfm9UXzc9QG87RyVtJiVUIU9LPDZ5czJhQHdmflZhNSpPODNTNWJ3VmlKQ2EKenQ4Z19ZKTg3
IXZRR3FaX1JINnpJUkFVT1JLQEZtYUEmeSNIaXYqSExwJF54Zjl1MWdePnYwMzdhYktCJXBMNGw9
Cno2RjFAfWB+by1RRSZMTDw7OHhzKnhBN305OyhncVhKSjV6JV95XmlDOCp9Z3Utb0BZMGpLNTxw
ZXZRe0s0fG4xJgp6ezA0WDlKXlRxRDs4b20lQ1pyanFgKjEoejw3Sz5wS1Z1aSh6K2RvTkVXcSNa
QXJAak1USlpve0BLLUEkZCQwKHYKelY+a0JWS2BoMllTYzBXXjc+ezVYbWc3LTgjeF5WUEk5QjJi
SmMoNlVqaT5ONWV2ZFZIMjVZZzdKRXUtR2ZVYEEoCnpRUzhocCVzQHNkUU9jQUNXdUUkaXg9bnBj
eUd3Z1NUZCE+dElpam01NUlzYXQ2cDZsS3BlUVgyNzhWODdwYl9qNgp6JW5LRi1kaiF1OGp0b3U/
biEpe05ZflFENUdQRWxnKH1sRComYSRfS19URChvLWJ0ZEg9cWBrMUBCQTs+JU1HNlQKemd9dHo0
NTFDQm4/TXkzbypjJnNgRzd+Y3cwN3UkKzRuQV8kO24kOUktSjVDSTFobE1nUz1YfHI8Pyl1S0Vl
ck5PCnp5WjVubFlrRWd8bXo8fmNfVmtBSUwrUXIhdCM1dHlYM3cwRFl9fThNYkBHczRtZ2pORChj
fFJmI2RiI0YjTiVHWgp6UVIzaE1NKjBzI0xuQ284bStgekNufjkwMWg+fUAmMGI3WlRJbUYyIyZp
QHUtcGI2V3Q0S0VTfV9jMy00R1VeaEsKenctYj58aU9JIWA9NWpsbDg7SDtxUnomOSRzbX5LeFBn
cnJTIWJXVCY/eThDMURhN3FITUQ5RmR4MGRMWSppOHw9Cno2MSNzU2RaIVk8KkF1JXA1SmA3Mygk
ZyZqS2ExeXhzI1V+Nzc4JmJebEM+N3pVTUY1Uik3U1NMbHc8PyRweVdUSQp6TD8pdWxCZWlRWiE4
T2Jjb1NSI2lkcSFieTtkSiVHQlhnN2tNKzJIVCslbGFqNGt5eWlsKHxRLVFLOG0keEVte0YKekNo
cFk5VWw3aWBJR0F2cjJXS3NDKSZnZ0xhUTRQO0k0QHc8IVRxK1JATUxTeCszTXNWKj8lJHJYTEFz
U2BeMHMlCnojbVBPTG9aUUt+byE/XjQ/QDtHQV99QTxZLSo2NyV7TntLNTJYZyljYjg7e3oyWGte
VENrSnpLRmVlQjVII3Ihewp6QyYrJCtXQyNyQSt4eyMwPyg7Z25iRGhXY21ARHsoWUNHU1V6bCNI
a3NebG09bC18bGZXdSE3ZTJgZFJAclpRV1oKenVQanM2Q3xpX2ZyQiZJZDk5MDhxZiFhJiR1YT5J
ZylYOGQwb3UpUmJQM2pWTHdZb3smc2l4SS1eXm9TI14wbDU/CnpLVyZJTU13X0hmKEhnV3tfI1Mo
YXdvPT1tP2ErNDkoQCU2PSYobm9vdFBqI2g9QGEjXnAzckNOdi1TRDxHSlREewp6TVFfJHleP213
TFNITS1ePmdEUzFEc18hPk8/Smd4KF9EP05DZjU/ellTJCokUEZMRjE/bUE/NmpDYFl+KGEjdVMK
emo0PnR8UTtZYFY3VU0yc2srSVUpVkMqbjw4KlJvWFpyej5kN1ZjdkFBb25RdU0wY2UtPC1XOzEq
Uyl+fnNDJXRACnp0OXpJRzlydTBASmVAdD1KIWczYUBINF9RLWMjPFdefn5feDtrblFBdTsqI2RY
M3dqaDdTRCZDIShOfWFvNDNlJgp6b19DbWN0b0pIIWpyViUqWlFpQFJpQGleSkgrbzw4Pyh4M3d7
blRncHk4NDI/elBgYn0oWWBCdjUjTSNibnw8P3EKejN3PGttPndWak9afXtIejlxX0NFOURmZ2da
fnM5NU5kRStYKnFgdnZedzBMc19iPkNXQG8oYHJgJjwze3s2XzxVCnpLdFo1YXBuc3E9RmZLNFQ1
RFFFVEd6T1hpTzlIQ3tuKnV1bj18RnFuUCR5NVB7N3lZUF48eUAwbnNWJE57UXtQPQp6aFhSayVR
QnUpYVN6X3hvMnhZWWA+dWwzKCVQITxBZHUtWERlIXFPV3RtNzVza1MhfkclZX5FKFJrK29jWSp8
QiYKeitIQWBAK3FgNFRGOEl8QkV9dWREJEZARileMXAwM212JW4wPHZpJGAlRHFqSVRzPnVoWDRv
PnZxQSN7KGp6eGRlCnptTl4hRXR1MXBiYGZnazFTb0Jzfj0yLU1rWjgtLVhtOzRgNytSc0kybSZj
YSNzTHYtT0NUe1VxMWkxd2Z2SjRWRAp6RTY1SG9FcTtyekckc1QhNSRYaWJEOEd+QjVZKlhxeSlB
NzZkem9ZeHEqeTg8P2A5fj1iKFM0ekJTek1PQWc4QzYKenIpKnpPWXRffnJyTDcya3NIWmtXU3oz
dilVbXVIbWJGM2BMWmItMTV5bkJaKTx5SEBxPzFwT2dHMDY9UVdiYEJ7CnpScjIwN0VMRX5jIXM9
bUNwUihGanYwUHpVbDNhKStieTZSdjE/a0lGdERQS1coeX0rIXhAKHlCcS1TeXo8IW1GIQp6OWc0
RmclT21KVGdzcjNwQD9PWDhuVnFyV1dFeiFHVSZlTSgrTDFGe087JUhxeF5sflVKPl9nKUlxJTIo
RWFvZ3EKejgmUl5BT3RPJlZtfUc8fFNnb2IhUys3Z3pYJGhAJHdDPWNtZUxLN01WKTlyO01JQDk2
Uml3O0JRaUt3d05KVUl4CnpNbiZANEkrbDcxdiFUTVFPXktvbGhnUV8zT2M5RU9NWCl5NVRodkZZ
RDxVRXBpUHd1enZjaW18YGgtcEVEaz5CNAp6c0FaKSpscihGcVZgajBxRU5ORU8pcmlWP0xaci1P
c3liRkJEJmtTSFhzYzd6QHQ4PFhPe1VDZnZSSTV3I0tVekoKelc+fU9ANzMxVUt1b3d9RkJ3fVZG
K21udEJGRG55ZXA9ZXpxUkRFVnJscWNmI04hSHBuaS0kKGM9czJeZ3R8cFkyCnp6fk07S0NCLUV8
c154aXt1MHYoRm1QT3wmXzx3eTB6SWJON3tEZ0hwTDI3bjAkbFNvcDtzaGNYSDN6OXckIV9eRgp6
K3d0NFBib182NWp5R0J5TjZCISFqVTJXe2FAMXkjPV9ZeE1jYXIwRmtIcl5UTmNQKHppLSMhcmht
dzZMeHJiUisKeio7PXlWcDBnTm0rbkFyZGgjaCN6O3kzT2peWUp4dUF8PW85YiZLaF5vMURyJFdL
KldlWF9QRi1IdTVGa3c+WHBeCnprYV9uSl9UaXR7a0JgYW5LWnNBUHhKaD43SSYkUzZDYT4qJml8
NHI2Vm1keGdNJjJmfUAwT0Vtd31BfH1ePD5SOAp6ayFnMT94cHdvJnViZ0FDRlBEO3dfYk9SKiZ5
cT42RCFNLUF2ZUJjfWs+ajx9M3JFd3NYMGheZnBwZWd+ZUdVIUgKQmNAaDhzCgpsaXRlcmFsIDAK
SGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJw
ZXJmL3Jlc291cmNlcy9hbGxfcmVzb3VyY2VfdHlwZXMuaHRtIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvYWxsX3Jlc291cmNlX3R5cGVzLmh0bQpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5kMjk4YzNlNDE0NDg3MjE3M2RkNjhmZmI0ZWE1NWI3NmY2NTk3OGQ0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvYWxs
X3Jlc291cmNlX3R5cGVzLmh0bQpAQCAtMCwwICsxLDQxIEBACis8IURPQ1RZUEUgSFRNTD4KKzxo
dG1sPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJz
ZXQ9dXRmLTgiIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgLz4KKyAgICAgICAgPHRpdGxlPkFs
bCBSZXNvdXJjZSBUeXBlcyBUZXN0IFBhZ2U8L3RpdGxlPgorICAgIDwvaGVhZD4KKyAgICA8Ym9k
eT4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIGlmICh3aW5kb3cucGFyZW50Lmhhc093
blByb3BlcnR5KCdvbl90ZXN0X2JvZHlfY3JlYXRlZCcpKQorICAgICAgICAgICAgICAgIHdpbmRv
dy5wYXJlbnQub25fdGVzdF9ib2R5X2NyZWF0ZWQoKTsKKyAgICAgICAgPC9zY3JpcHQ+CisgICAg
ICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0ibmVzdGVkLmNzcyI+PC9saW5rPgorICAg
ICAgICA8aW1nIHNyYz0iYmxhbmtfaW1hZ2UucG5nIj48L2ltZz4KKyAgICAgICAgPGlmcmFtZSBz
cmM9ImJsYW5rX3BhZ2VfZ3JlZW4uaHRtIiB3aWR0aD0iMTAwcHgiIGhlaWdodD0iMTAwcHgiPjwv
aWZyYW1lPgorICAgICAgICA8c2NyaXB0IHNyYz0iZW1wdHlfc2NyaXB0LmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIHZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVl
c3Q7CisgICAgICAgICAgICB4aHIub3BlbigiR0VUIiwgImJsYW5rX3BhZ2VfeWVsbG93Lmh0bSIs
IGZhbHNlKTsKKyAgICAgICAgICAgIHhoci5zZW5kKCk7CisgICAgICAgIDwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBAZm9udC1mYWNlIHsKKyAgICAgICAgICAgICAgICBm
b250LWZhbWlseTogcmVtb3RlRm9udEFoZW07CisgICAgICAgICAgICAgICAgc3JjOiB1cmwoJ0Fo
ZW0udHRmJyk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZnJhbWUgeworICAgICAgICAg
ICAgICAgIGJhY2tncm91bmQ6IHVybCgnZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9aW1hZ2Um
aWQ9MScpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgdWwgeworICAgICAgICAgICAgICAg
IGZvbnQtZmFtaWx5OiByZW1vdGVGb250QWhlbTsKKyAgICAgICAgICAgICAgICBsaXN0LXN0eWxl
LWltYWdlOiB1cmwoJ2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPWltYWdlJmlkPTInKTsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICAgICAgPHVsPgorICAgICAgICAgICAg
PGxpPlRlc3Q8L2xpPgorICAgICAgICA8L3VsPgorICAgICAgICA8b2w+CisgICAgICAgICAgICA8
bGk+VGVzdDwvbGk+CisgICAgICAgIDwvb2w+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvYmxhbmtf
aW1hZ2UucG5nIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMv
YmxhbmtfaW1hZ2UucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNjZjdhNmNhMDViZmZjOTMwNWM4ZGViY2JjMjll
ZjBkMWE1YzdiNzQKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDEwMwp6Y21lQVNATj8ob2xIeWB1
VkJxIWlhMHZwXmozQ1V4MVNCVnYyajJzNmlpNnlwN31sTVdjP3NsajdJO0ohR2NhJXEKdWdEQGsq
dFRfQHVLXnsqUiN9Sk98JHZeKTh3YFhBZSRNbztjbmFKbHJhUnlJVUtiTGgqMn43WVNoOGNfaQoK
bGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZW1wdHlfc2NyaXB0LmpzIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZW1wdHlfc2NyaXB0LmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjA5MmJjMmIwNDEyNjEwMDg3ODUzMDg4OGU2YjFiMzA2MDJkY2UyMTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9lbXB0eV9z
Y3JpcHQuanMKQEAgLTAsMCArMSBAQAorOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2Uu
cGhwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEyOTM4NzIxYzFmOGU2Yzg5N2FmNDNlNjViZWRkMjVhNGQ2NzIwZjgK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jl
c291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHAKQEAgLTAsMCArMSw0MyBAQAorPD9waHAKKyAg
JHR5cGUgPSAkX0dFVFsidHlwZSJdOworCisgICRyZXNwb25zZV9jb2RlID0gMjAwOworICAkYm9k
eSA9ICIiOworICAkY29udGVudF90eXBlID0gInRleHQvcGxhaW4iOworCisgIHN3aXRjaCAoJHR5
cGUpIHsKKyAgY2FzZSAiY3NzIjoKKyAgICAgICRib2R5ID0gZmlsZV9nZXRfY29udGVudHMoImdy
YXlfYmcuY3NzIik7CisgICAgICAkY29udGVudF90eXBlID0gInRleHQvY3NzIjsKKyAgICAgIGJy
ZWFrOworCisgIGNhc2UgImZvbnQiOgorICAgICAgJGJvZHkgPSBmaWxlX2dldF9jb250ZW50cygi
QWhlbS50dGYiKTsKKyAgICAgICRjb250ZW50X3R5cGUgPSAiYXBwbGljYXRpb24vb2N0ZXQtc3Ry
ZWFtIjsKKyAgICAgIGJyZWFrOworCisgIGNhc2UgImlmcmFtZSI6CisgICAgICAkYm9keSA9IGZp
bGVfZ2V0X2NvbnRlbnRzKCJibGFua19wYWdlX2dyZWVuLmh0bSIpOworICAgICAgJGNvbnRlbnRf
dHlwZSA9ICJ0ZXh0L2h0bWwiOworICAgICAgYnJlYWs7CisKKyAgY2FzZSAiaW1hZ2UiOgorICAg
ICAgJGJvZHkgPSBmaWxlX2dldF9jb250ZW50cygiYmxhbmtfaW1hZ2UucG5nIik7CisgICAgICAk
Y29udGVudF90eXBlID0gImltYWdlL3BuZyI7CisgICAgICBicmVhazsKKworICBjYXNlICJzY3Jp
cHQiOgorICAgICAgJGJvZHkgPSBmaWxlX2dldF9jb250ZW50cygiZW1wdHlfc2NyaXB0LmpzIik7
CisgICAgICAkY29udGVudF90eXBlID0gInRleHQvamF2YXNjcmlwdCI7CisgICAgICBicmVhazsK
KworICBkZWZhdWx0OgorICAgICAgJHJlc3BvbnNlX2NvZGUgPSA0MDQ7CisgICAgICBicmVhazsK
KyAgfQorCisgIGhlYWRlcigiSFRUUC8xLjEgJHJlc3BvbnNlX2NvZGUiKTsKKyAgaGVhZGVyKCJD
b250ZW50LXR5cGU6ICRjb250ZW50X3R5cGUiKTsKKyAgcHJpbnQoJGJvZHkpOworICBleGl0Owor
Pz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVzb3Vy
Y2VzL2dyYXlfYmcuY3NzIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNv
dXJjZXMvZ3JheV9iZy5jc3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzcwNTE0NWZiODc3MzU1OGE3OTUyZGMxNGYx
OGZkYjQxZTRiODIzMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
dzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dyYXlfYmcuY3NzCkBAIC0wLDAgKzEgQEAKK2JvZHkgeyBi
YWNrZ3JvdW5kLWNvbG9yOiAjYmJiYmJiOyB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9pbmplY3RfcmVzb3VyY2VfdGVzdC5odG1sIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvaW5qZWN0X3Jlc291
cmNlX3Rlc3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xZjEwMDYxY2VjODgxMTE3N2VmZTU5OGViN2Y1ODMx
Mzg0YWUxNjM4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mv
d2VicGVyZi9yZXNvdXJjZXMvaW5qZWN0X3Jlc291cmNlX3Rlc3QuaHRtbApAQCAtMCwwICsxLDMg
QEAKKzxzY3JpcHQ+Cit3aW5kb3cucGFyZW50LnNldHVwX2lmcmFtZSgpOworPC9zY3JpcHQ+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9u
ZXN0ZWQuY3NzIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMv
bmVzdGVkLmNzcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iZjUwNjVmODZlYWNhYWM0MGU0ZWUyMGQ1YWEwZjNmYTc4
YzIzMzczCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2Vi
cGVyZi9yZXNvdXJjZXMvbmVzdGVkLmNzcwpAQCAtMCwwICsxLDEwIEBACitAaW1wb3J0ICJnZW5l
cmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1jc3MmaWQ9bjEiOworCitAZm9udC1mYWNlIHsKKyAgICBm
b250LWZhbWlseTogcmVtb3RlRm9udDsKKyAgICBzcmM6IHVybCgnZ2VuZXJhdGVfcmVzb3VyY2Uu
cGhwP3R5cGU9Zm9udCZpZD1uMScpOworfQorb2wgeworICAgIGZvbnQtZmFtaWx5OiByZW1vdGVG
b250OworICAgIGxpc3Qtc3R5bGUtaW1hZ2U6IHVybCgnZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5
cGU9aW1hZ2UmaWQ9bjEnKTsKK30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
dzNjL3dlYnBlcmYvcmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVzcy5qcyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVzcy5qcwpp
bmRleCA4Nzc0NTA2ZTI0OTI4ZTdiOTYxNGMzMGM5ODFiMTMxMTBhZDA4ZDQzLi40NTRkMjhlOTFm
OTg4ODdiZjE5MjA2MzFkZjFmMjA5NTEzNTE3M2ExIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3MuanMKKysr
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvd2VicGVyZnRl
c3RoYXJuZXNzLmpzCkBAIC0xNTAsNyArMTUwLDYzIEBAIGZ1bmN0aW9uIHRlc3RfZ3JlYXRlcl90
aGFuKHZhbHVlLCBncmVhdGVyX3RoYW4sIG1zZywgcHJvcGVydGllcykKICAgICB3cF90ZXN0KGZ1
bmN0aW9uICgpIHsgYXNzZXJ0X3RydWUodmFsdWUgPiBncmVhdGVyX3RoYW4sIG1zZyk7IH0sIG1z
ZywgcHJvcGVydGllcyk7CiB9CiAKK2Z1bmN0aW9uIHRlc3RfZ3JlYXRlcl9vcl9lcXVhbHModmFs
dWUsIGdyZWF0ZXJfdGhhbiwgbXNnLCBwcm9wZXJ0aWVzKQoreworICAgIHdwX3Rlc3QoZnVuY3Rp
b24gKCkgeyBhc3NlcnRfdHJ1ZSh2YWx1ZSA+PSBncmVhdGVyX3RoYW4sIG1zZyk7IH0sIG1zZywg
cHJvcGVydGllcyk7Cit9CisKIGZ1bmN0aW9uIHRlc3Rfbm90X2VxdWFscyh2YWx1ZSwgbm90ZXF1
YWxzLCBtc2csIHByb3BlcnRpZXMpCiB7CiAgICAgd3BfdGVzdChmdW5jdGlvbigpIHsgYXNzZXJ0
X3RydWUodmFsdWUgIT09IG5vdGVxdWFscywgbXNnKTsgfSwgbXNnLCBwcm9wZXJ0aWVzKTsKIH0K
KworZnVuY3Rpb24gdGVzdF9jb250YWlucyhuZWVkbGUsIGhheXN0YWNrLCBtc2csIHByb3BlcnRp
ZXMpCit7CisgICAgd3BfdGVzdChmdW5jdGlvbigpIHsgYXNzZXJ0X3RydWUobmVlZGxlIGluIGhh
eXN0YWNrLCBtc2cpOyB9LCBtc2csIHByb3BlcnRpZXMpOworfQorCitmdW5jdGlvbiB0ZXN0X2Zh
aWwobXNnLCBwcm9wZXJ0aWVzKQoreworICAgIHdwX3Rlc3QoZnVuY3Rpb24oKSB7IGFzc2VydF91
bnJlYWNoZWQoKTsgfSwgbXNnLCBwcm9wZXJ0aWVzKTsKK30KKworZnVuY3Rpb24gdGVzdF9yZXNv
dXJjZV9lbnRyaWVzKGVudHJpZXMsIGV4cGVjdGVkX2VudHJpZXMpCit7CisgICAgLy8gVGhpcyBp
cyBzbGlnaHRseSBjb252b2x1dGVkIHNvIHRoYXQgd2UgY2FuIHNvcnQgdGhlIG91dHB1dC4KKyAg
ICB2YXIgYWN0dWFsX2VudHJpZXMgPSB7fTsKKworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZW50
cmllcy5sZW5ndGg7ICsraSkgeworICAgICAgICB2YXIgZW50cnkgPSBlbnRyaWVzW2ldOworICAg
ICAgICB2YXIgZm91bmQgPSBmYWxzZTsKKyAgICAgICAgZm9yICh2YXIgZXhwZWN0ZWRfZW50cnkg
aW4gZXhwZWN0ZWRfZW50cmllcykgeworICAgICAgICAgICAgaWYgKGVudHJ5Lm5hbWUgPT0gd2lu
ZG93LmxvY2F0aW9uLm9yaWdpbiArIGV4cGVjdGVkX2VudHJ5KSB7CisgICAgICAgICAgICAgICAg
Zm91bmQgPSB0cnVlOworICAgICAgICAgICAgICAgIGlmIChleHBlY3RlZF9lbnRyeSBpbiBhY3R1
YWxfZW50cmllcykgeworICAgICAgICAgICAgICAgICAgICB0ZXN0X2ZhaWwoZXhwZWN0ZWRfZW50
cnkgKyAnIGlzIG5vdCBleHBlY3RlZCB0byBoYXZlIGR1cGxpY2F0ZSBlbnRyaWVzJyk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGFjdHVhbF9lbnRyaWVzW2V4cGVjdGVkX2Vu
dHJ5XSA9IGVudHJ5OworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAg
ICAgICB9CisgICAgICAgIGlmICghZm91bmQpIHsKKyAgICAgICAgICAgIHRlc3RfZmFpbChlbnRy
aWVzW2ldLm5hbWUgKyAnIGlzIG5vdCBleHBlY3RlZCB0byBiZSBpbiB0aGUgUmVzb3VyY2UgVGlt
aW5nIGJ1ZmZlcicpOworICAgICAgICB9CisgICAgfQorCisgICAgc29ydGVkX3VybHMgPSBbXTsK
KyAgICBmb3IgKHZhciBpIGluIGFjdHVhbF9lbnRyaWVzKSB7CisgICAgICAgIHNvcnRlZF91cmxz
LnB1c2goaSk7CisgICAgfQorICAgIHNvcnRlZF91cmxzLnNvcnQoKTsKKyAgICBmb3IgKHZhciBp
IGluIHNvcnRlZF91cmxzKSB7CisgICAgICAgIHZhciB1cmwgPSBzb3J0ZWRfdXJsc1tpXTsKKyAg
ICAgICAgdGVzdF9lcXVhbHMoYWN0dWFsX2VudHJpZXNbdXJsXS5pbml0aWF0b3JUeXBlLAorICAg
ICAgICAgICAgICAgICAgICBleHBlY3RlZF9lbnRyaWVzW3VybF0sCisgICAgICAgICAgICAgICAg
ICAgIHVybCArICcgaXMgZXhwZWN0ZWQgdG8gaGF2ZSBpbml0aWF0b3JUeXBlICcgKyBleHBlY3Rl
ZF9lbnRyaWVzW3VybF0pOworICAgIH0KKyAgICBmb3IgKHZhciBqIGluIGV4cGVjdGVkX2VudHJp
ZXMpIHsKKyAgICAgICAgaWYgKCEoaiBpbiBhY3R1YWxfZW50cmllcykpIHsKKyAgICAgICAgICAg
IHRlc3RfZmFpbChqICsgJyBpcyBleHBlY3RlZCB0byBiZSBpbiB0aGUgUmVzb3VyY2UgVGltaW5n
IGJ1ZmZlcicpOworICAgICAgICB9CisgICAgfQorfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rl
c3RfcmVzb3VyY2VfYXR0cmlidXRlX29yZGVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0
X3Jlc291cmNlX2F0dHJpYnV0ZV9vcmRlci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDhhNmY0
MmM2MjMyZDlkNzlhYjMzYmZjYzBiZTk5NjlhZWM3NjYxZAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1p
bmcvaHRtbC90ZXN0X3Jlc291cmNlX2F0dHJpYnV0ZV9vcmRlci1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxOCBAQAorRGVzY3JpcHRpb24KKworVGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IGFsbCBv
ZiB0aGUgaW5pdGlhdG9yIHR5cGVzIGFyZSByZXByZXNlbnRlZC4KKworCisKK1BBU1MgT25seSAx
IFBlcmZvcm1hbmNlRW50cnkgc2hvdWxkIG1hdGNoIAorUEFTUyByZWRpcmVjdFN0YXJ0IHNob3Vs
ZCBiZSAwIAorUEFTUyByZWRpcmVjdEVuZCBzaG91bGQgYmUgMCAKK0ZBSUwgZmV0Y2hTdGFydCBz
aG91bGQgYmUgbm9uLXplcm8gYXNzZXJ0X3RydWU6IGZldGNoU3RhcnQgc2hvdWxkIGJlIG5vbi16
ZXJvIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitQQVNTIGRvbWFpbkxvb2t1cFN0YXJ0IHNob3Vs
ZCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gZmV0Y2hTdGFydCAKK1BBU1MgZG9tYWluTG9v
a3VwRW5kIHNob3VsZCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gZG9tYWluTG9va3VwU3Rh
cnQgCitQQVNTIGNvbm5lY3RTdGFydCBzaG91bGQgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRv
IGRvbWFpbkxvb2t1cEVuZCAKK1BBU1MgY29ubmVjdEVuZCBzaG91bGQgYmUgZ3JlYXRlciB0aGFu
IG9yIGVxdWFsIHRvIGNvbm5lY3RTdGFydCAKK1BBU1MgcmVxdWVzdFN0YXJ0IHNob3VsZCBiZSBn
cmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gY29ubmVjdEVuZCAKK1BBU1MgcmVzcG9uc2VTdGFydCBz
aG91bGQgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIHJlcXVlc3RTdGFydCAKK1BBU1MgcmVz
cG9uc2VFbmQgc2hvdWxkIGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byByZXNwb25zZVN0YXJ0
IAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1p
c3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9hdHRyaWJ1dGVfb3JkZXIu
aHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNv
dXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX2F0dHJpYnV0ZV9vcmRlci5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgzMGQzMjNmMjczZTE5NjY4OWJkNGVjZTE2MTIxMzhhOTAxMmEzYjcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24v
cmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9hdHRyaWJ1dGVfb3JkZXIuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBj
aGFyc2V0PSJ1dGYtOCIgLz4KKzx0aXRsZT5SZXNvdXJjZSBUaW1pbmcgYXR0cmlidXRlIG9yZGVy
PC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iR29vZ2xlIiBocmVmPSJodHRwOi8v
d3d3Lmdvb2dsZS5jb20vIiAvPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwOi8vd3d3Lncz
Lm9yZy9UUi9yZXNvdXJjZS10aW1pbmcvI3BlcmZvcm1hbmNlcmVzb3VyY2V0aW1pbmciLz4KKzxz
Y3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQ+CitmdW5jdGlvbiBzZXR1cF9pZnJhbWUoKSB7CisgICAgaWZy
YW1lID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ZyYW1lQ29udGV4dCcpOworICAgIHZhciBk
ID0gaWZyYW1lLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQ7CisgICAgdmFyIGJvZHkgPSBkLmNyZWF0
ZUVsZW1lbnQoJ2JvZHknKTsKKyAgICBkLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdodG1sJylbMF0u
YXBwZW5kQ2hpbGQoYm9keSk7CisKKyAgICB2YXIgaW1hZ2UgPSBkLmNyZWF0ZUVsZW1lbnQoJ2lt
ZycpOworICAgIGltYWdlLnNyYyA9ICcvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jl
c291cmNlLnBocD90eXBlPWltYWdlJzsKKyAgICBib2R5LmFwcGVuZENoaWxkKGltYWdlKTsKK30K
K2Z1bmN0aW9uIG9ubG9hZF90ZXN0KCkgeworICAgIHZhciBlbnRyaWVzID0gaWZyYW1lLmNvbnRl
bnRXaW5kb3cucGVyZm9ybWFuY2Uud2Via2l0R2V0RW50cmllc0J5TmFtZSh3aW5kb3cubG9jYXRp
b24ub3JpZ2luICsgJy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhw
P3R5cGU9aW1hZ2UnKTsKKyAgICB0ZXN0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSwgJ09ubHkg
MSBQZXJmb3JtYW5jZUVudHJ5IHNob3VsZCBtYXRjaCcpOworICAgIHZhciBlbnRyeSA9IGVudHJp
ZXNbMF07CisKKyAgICB0ZXN0X2VxdWFscyhlbnRyeS5yZWRpcmVjdFN0YXJ0LCAwLCAicmVkaXJl
Y3RTdGFydCBzaG91bGQgYmUgMCIpOworICAgIHRlc3RfZXF1YWxzKGVudHJ5LnJlZGlyZWN0RW5k
LCAwLCAicmVkaXJlY3RFbmQgc2hvdWxkIGJlIDAiKTsKKyAgICB0ZXN0X2dyZWF0ZXJfdGhhbihl
bnRyeS5mZXRjaFN0YXJ0LCAwLCAiZmV0Y2hTdGFydCBzaG91bGQgYmUgbm9uLXplcm8iKTsKKyAg
ICB0ZXN0X2dyZWF0ZXJfb3JfZXF1YWxzKGVudHJ5LmRvbWFpbkxvb2t1cFN0YXJ0LCBlbnRyeS5m
ZXRjaFN0YXJ0LCAiZG9tYWluTG9va3VwU3RhcnQgc2hvdWxkIGJlIGdyZWF0ZXIgdGhhbiBvciBl
cXVhbCB0byBmZXRjaFN0YXJ0Iik7CisgICAgdGVzdF9ncmVhdGVyX29yX2VxdWFscyhlbnRyeS5k
b21haW5Mb29rdXBFbmQsIGVudHJ5LmRvbWFpbkxvb2t1cFN0YXJ0LCAiZG9tYWluTG9va3VwRW5k
IHNob3VsZCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gZG9tYWluTG9va3VwU3RhcnQiKTsK
KyAgICB0ZXN0X2dyZWF0ZXJfb3JfZXF1YWxzKGVudHJ5LmNvbm5lY3RTdGFydCwgZW50cnkuZG9t
YWluTG9va3VwRW5kLCAiY29ubmVjdFN0YXJ0IHNob3VsZCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1
YWwgdG8gZG9tYWluTG9va3VwRW5kIik7CisgICAgdGVzdF9ncmVhdGVyX29yX2VxdWFscyhlbnRy
eS5jb25uZWN0RW5kLCBlbnRyeS5jb25uZWN0U3RhcnQsICJjb25uZWN0RW5kIHNob3VsZCBiZSBn
cmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gY29ubmVjdFN0YXJ0Iik7CisgICAgdGVzdF9ncmVhdGVy
X29yX2VxdWFscyhlbnRyeS5yZXF1ZXN0U3RhcnQsIGVudHJ5LmNvbm5lY3RFbmQsICJyZXF1ZXN0
U3RhcnQgc2hvdWxkIGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byBjb25uZWN0RW5kIik7Cisg
ICAgdGVzdF9ncmVhdGVyX29yX2VxdWFscyhlbnRyeS5yZXNwb25zZVN0YXJ0LCBlbnRyeS5yZXF1
ZXN0U3RhcnQsICJyZXNwb25zZVN0YXJ0IHNob3VsZCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwg
dG8gcmVxdWVzdFN0YXJ0Iik7CisgICAgdGVzdF9ncmVhdGVyX29yX2VxdWFscyhlbnRyeS5yZXNw
b25zZUVuZCwgZW50cnkucmVzcG9uc2VTdGFydCwgInJlc3BvbnNlRW5kIHNob3VsZCBiZSBncmVh
dGVyIHRoYW4gb3IgZXF1YWwgdG8gcmVzcG9uc2VTdGFydCIpOworfQorPC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxoMT5EZXNjcmlwdGlvbjwvaDE+Cis8cD5UaGlzIHRlc3QgdmFsaWRhdGVz
IHRoYXQgYWxsIG9mIHRoZSBpbml0aWF0b3IgdHlwZXMgYXJlIHJlcHJlc2VudGVkLjwvcD4KKzxk
aXYgaWQ9ImxvZyI+PC9kaXY+Cis8aWZyYW1lIGlkPSJmcmFtZUNvbnRleHQiIG9ubG9hZD0ib25s
b2FkX3Rlc3QoKTsiIHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNlcy9pbmplY3RfcmVzb3VyY2Vf
dGVzdC5odG1sIj48L2lmcmFtZT4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcv
aHRtbC90ZXN0X3Jlc291cmNlX2R5bmFtaWNfaW5zZXJ0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcv
aHRtbC90ZXN0X3Jlc291cmNlX2R5bmFtaWNfaW5zZXJ0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi41OWM0MDBkZGRjMjk4OGExMzE1NjNhZDQ3OTIyYzIyOWE1MTI0YzdiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jl
c291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2VfZHluYW1pY19pbnNlcnRpb24tZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAKK0Rlc2NyaXB0aW9uCisKK1RoaXMgdGVzdCB2YWxpZGF0
ZXMgdGhhdCBhbGwgb2YgdGhlIGluaXRpYXRvciB0eXBlcyBhcmUgcmVwcmVzZW50ZWQgZXZlbiB3
aGVuIGR5bmFtaWNhbGx5IGluc2VydGVkLgorCisKKworUEFTUyAvdzNjL3dlYnBlcmYvcmVzb3Vy
Y2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPWNzcyBpcyBleHBlY3RlZCB0byBoYXZlIGlu
aXRpYXRvclR5cGUgbGluayAKK1BBU1MgL3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9y
ZXNvdXJjZS5waHA/dHlwZT1pZnJhbWUgaXMgZXhwZWN0ZWQgdG8gaGF2ZSBpbml0aWF0b3JUeXBl
IGlmcmFtZSAKK1BBU1MgL3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5w
aHA/dHlwZT1pbWFnZSBpcyBleHBlY3RlZCB0byBoYXZlIGluaXRpYXRvclR5cGUgaW1nIAorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24v
cmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9keW5hbWljX2luc2VydGlvbi5odG1s
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNl
LXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2VfZHluYW1pY19pbnNlcnRpb24uaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5iZjczMTA4NDcxZjFlMWJmYTgwMzQwZDNkMjE3MzZiM2VlY2ExNGY5Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jl
c291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2VfZHluYW1pY19pbnNlcnRpb24uaHRtbApA
QCAtMCwwICsxLDUyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBj
aGFyc2V0PSJ1dGYtOCIgLz4KKzx0aXRsZT5SZXNvdXJjZSBUaW1pbmcgaW5pdGlhdG9yIHR5cGVz
IHdpdGggZHluYW1pYyBpbnNlcnRpb248L3RpdGxlPgorPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxl
PSJHb29nbGUiIGhyZWY9Imh0dHA6Ly93d3cuZ29vZ2xlLmNvbS8iIC8+Cis8bGluayByZWw9Imhl
bHAiIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRpbWluZy8jZG9tLXBlcmZv
cm1hbmNlcmVzb3VyY2V0aW1pbmctaW5pdGlhdG9ydHlwZSIvPgorPHNjcmlwdCBzcmM9Ii93M2Mv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvdzNjL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3cz
Yy93ZWJwZXJmL3Jlc291cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNj
cmlwdD4KK3ZhciBpZnJhbWU7CitmdW5jdGlvbiBzZXR1cF9pZnJhbWUoKSB7CisgICAgaWZyYW1l
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ZyYW1lQ29udGV4dCcpOworICAgIHZhciBkID0g
aWZyYW1lLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQ7CisgICAgdmFyIGJvZHkgPSBkLmNyZWF0ZUVs
ZW1lbnQoJ2JvZHknKTsKKyAgICBkLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdodG1sJylbMF0uYXBw
ZW5kQ2hpbGQoYm9keSk7CisKKyAgICB2YXIgc3R5bGUgPSBkLmNyZWF0ZUVsZW1lbnQoJ2xpbmsn
KTsKKyAgICBzdHlsZS5yZWwgPSAnc3R5bGVzaGVldCc7CisgICAgc3R5bGUuaHJlZiA9ICcvdzNj
L3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPWNzcyc7CisgICAg
Ym9keS5hcHBlbmRDaGlsZChzdHlsZSk7CisKKyAgICB2YXIgaW1hZ2UgPSBkLmNyZWF0ZUVsZW1l
bnQoJ2ltZycpOworICAgIGltYWdlLnNyYyA9ICcvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVy
YXRlX3Jlc291cmNlLnBocD90eXBlPWltYWdlJzsKKyAgICBib2R5LmFwcGVuZENoaWxkKGltYWdl
KTsKKworICAgIHZhciBzdWJmcmFtZSA9IGQuY3JlYXRlRWxlbWVudCgnaWZyYW1lJyk7CisgICAg
c3ViZnJhbWUuc3JjID0gJy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2Uu
cGhwP3R5cGU9aWZyYW1lJzsKKyAgICBib2R5LmFwcGVuZENoaWxkKHN1YmZyYW1lKTsKK30KK2Z1
bmN0aW9uIG9ubG9hZF90ZXN0KCkgeworICAgIHZhciBlbnRyaWVzID0gaWZyYW1lLmNvbnRlbnRX
aW5kb3cucGVyZm9ybWFuY2Uud2Via2l0R2V0RW50cmllcygpOworCisgICAgdmFyIGV4cGVjdGVk
X2VudHJpZXMgPSB7CisgICAgICAgICcvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jl
c291cmNlLnBocD90eXBlPWNzcyc6ICdsaW5rJywKKyAgICAgICAgJy93M2Mvd2VicGVyZi9yZXNv
dXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9aW1hZ2UnOiAnaW1nJywKKyAgICAgICAg
Jy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9aWZyYW1l
JzogJ2lmcmFtZScsCisgICAgfTsKKworICAgIHRlc3RfcmVzb3VyY2VfZW50cmllcyhlbnRyaWVz
LCBleHBlY3RlZF9lbnRyaWVzKTsKK30KK3dpbmRvdy5zZXR1cF9pZnJhbWUgPSBzZXR1cF9pZnJh
bWU7Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGgxPkRlc2NyaXB0aW9uPC9oMT4KKzxw
PlRoaXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCBhbGwgb2YgdGhlIGluaXRpYXRvciB0eXBlcyBhcmUg
cmVwcmVzZW50ZWQgZXZlbiB3aGVuIGR5bmFtaWNhbGx5IGluc2VydGVkLjwvcD4KKzxkaXYgaWQ9
ImxvZyI+PC9kaXY+Cis8aWZyYW1lIGlkPSJmcmFtZUNvbnRleHQiIG9ubG9hZD0ib25sb2FkX3Rl
c3QoKTsiIHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNlcy9pbmplY3RfcmVzb3VyY2VfdGVzdC5o
dG1sIj48L2lmcmFtZT4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90
ZXN0X3Jlc291cmNlX2luaXRpYXRvcl90eXBlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVz
dF9yZXNvdXJjZV9pbml0aWF0b3JfdHlwZXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFmYzQ1
MjA1MTFmN2Q5ZDUzMWFiYWMxOTU4ZDkwNmY2ODlhYTVmNmUKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGlt
aW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9pbml0aWF0b3JfdHlwZXMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTggQEAKK0Rlc2NyaXB0aW9uCisKK1RoaXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCBhbGwg
b2YgdGhlIGluaXRpYXRvciB0eXBlcyBhcmUgcmVwcmVzZW50ZWQuCisKKworCitQQVNTIC93M2Mv
d2VicGVyZi9yZXNvdXJjZXMvQWhlbS50dGYgaXMgZXhwZWN0ZWQgdG8gaGF2ZSBpbml0aWF0b3JU
eXBlIGNzcyAKK1BBU1MgL3czYy93ZWJwZXJmL3Jlc291cmNlcy9ibGFua19pbWFnZS5wbmcgaXMg
ZXhwZWN0ZWQgdG8gaGF2ZSBpbml0aWF0b3JUeXBlIGltZyAKK1BBU1MgL3czYy93ZWJwZXJmL3Jl
c291cmNlcy9ibGFua19wYWdlX2dyZWVuLmh0bSBpcyBleHBlY3RlZCB0byBoYXZlIGluaXRpYXRv
clR5cGUgaWZyYW1lIAorUEFTUyAvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2JsYW5rX3BhZ2VfeWVs
bG93Lmh0bSBpcyBleHBlY3RlZCB0byBoYXZlIGluaXRpYXRvclR5cGUgeG1saHR0cHJlcXVlc3Qg
CitQQVNTIC93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZW1wdHlfc2NyaXB0LmpzIGlzIGV4cGVjdGVk
IHRvIGhhdmUgaW5pdGlhdG9yVHlwZSBzY3JpcHQgCitQQVNTIC93M2Mvd2VicGVyZi9yZXNvdXJj
ZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9Y3NzJmlkPW4xIGlzIGV4cGVjdGVkIHRvIGhh
dmUgaW5pdGlhdG9yVHlwZSBjc3MgCitQQVNTIC93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJh
dGVfcmVzb3VyY2UucGhwP3R5cGU9Zm9udCZpZD1uMSBpcyBleHBlY3RlZCB0byBoYXZlIGluaXRp
YXRvclR5cGUgY3NzIAorUEFTUyAvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291
cmNlLnBocD90eXBlPWltYWdlJmlkPTEgaXMgZXhwZWN0ZWQgdG8gaGF2ZSBpbml0aWF0b3JUeXBl
IGNzcyAKK1BBU1MgL3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/
dHlwZT1pbWFnZSZpZD0yIGlzIGV4cGVjdGVkIHRvIGhhdmUgaW5pdGlhdG9yVHlwZSBjc3MgCitQ
QVNTIC93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9aW1h
Z2UmaWQ9bjEgaXMgZXhwZWN0ZWQgdG8gaGF2ZSBpbml0aWF0b3JUeXBlIGNzcyAKK1BBU1MgL3cz
Yy93ZWJwZXJmL3Jlc291cmNlcy9uZXN0ZWQuY3NzIGlzIGV4cGVjdGVkIHRvIGhhdmUgaW5pdGlh
dG9yVHlwZSBsaW5rIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93
ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9pbml0
aWF0b3JfdHlwZXMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3Vi
bWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX2luaXRpYXRvcl90eXBl
cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjQzOTY3MGRlMGEzMjk2MjNiMjE0ZWVmMTBjM2U2ZDYyOTQ2NjA1
MmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJm
L3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9pbml0aWF0b3Jf
dHlwZXMuaHRtbApAQCAtMCwwICsxLDkyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4KKzx0aXRsZT5SZXNvdXJjZSBUaW1pbmcgaW5p
dGlhdG9yIHR5cGVzPC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iR29vZ2xlIiBo
cmVmPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20vIiAvPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJo
dHRwOi8vd3d3LnczLm9yZy9UUi9yZXNvdXJjZS10aW1pbmcvI2RvbS1wZXJmb3JtYW5jZXJlc291
cmNldGltaW5nLWluaXRpYXRvcnR5cGUiLz4KKzxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii93M2Mvd2VicGVyZi9y
ZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitzZXR1
cCh7ZXhwbGljaXRfZG9uZTogdHJ1ZX0pOworCit2YXIgYmFja2dyb3VuZF9sb2FkZWQgPSBmYWxz
ZTsKK3ZhciBwYWdlX2xvYWRlZCA9IGZhbHNlOwordmFyIG9sX2ZvbnRfbG9hZGVkID0gZmFsc2U7
Cit2YXIgdWxfZm9udF9sb2FkZWQgPSBmYWxzZTsKKworZnVuY3Rpb24gY2hlY2tfZmluaXNoZWQo
KSB7CisgICAgaWYgKCF1bF9mb250X2xvYWRlZCkgeworICAgICAgICB1bF9mb250X2xvYWRlZCA9
IGNoZWNrX2ZvbnRfbG9hZGVkKCd1bCcpOworICAgIH0KKyAgICBpZiAoIW9sX2ZvbnRfbG9hZGVk
KSB7CisgICAgICAgIG9sX2ZvbnRfbG9hZGVkID0gY2hlY2tfZm9udF9sb2FkZWQoJ29sJyk7Cisg
ICAgfQorICAgIGlmIChwYWdlX2xvYWRlZCAmJiBvbF9mb250X2xvYWRlZCAmJiB1bF9mb250X2xv
YWRlZCAmJiBiYWNrZ3JvdW5kX2xvYWRlZCkgeworICAgICAgICBwZXJmb3JtX3Rlc3QoKTsKKyAg
ICB9Cit9CisKK2Z1bmN0aW9uIGNoZWNrX2ZvbnRfbG9hZGVkKHR5cGUpIHsKKyAgICB2YXIgd2lk
dGhfdmFyX25hbWUgPSAnb3JpZ2luYWxfd2lkdGhfJyArIHR5cGU7CisgICAgdmFyIGVsZW1lbnRf
dmFyX25hbWUgPSAnZWxlbWVudF8nICsgdHlwZTsKKyAgICBpZiAoIXRoaXMuaGFzT3duUHJvcGVy
dHkod2lkdGhfdmFyX25hbWUpKSB7CisgICAgICAgIHZhciBkID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ2ZyYW1lQ29udGV4dCcpLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQ7CisgICAgICAgIHZh
ciBsaXN0ID0gZC5jcmVhdGVFbGVtZW50KHR5cGUpOworICAgICAgICB2YXIgbGkgPSBkLmNyZWF0
ZUVsZW1lbnQoJ2xpJyk7CisgICAgICAgIGxpLmlubmVySFRNTCA9ICd3aWR0aF90ZXN0JzsKKyAg
ICAgICAgbGlzdC5hcHBlbmRDaGlsZChsaSk7CisgICAgICAgIGQuZ2V0RWxlbWVudHNCeVRhZ05h
bWUoJ2JvZHknKVswXS5hcHBlbmRDaGlsZChsaXN0KTsKKyAgICAgICAgdGhpc1tlbGVtZW50X3Zh
cl9uYW1lXSA9IGxpc3Q7CisgICAgICAgIHRoaXNbd2lkdGhfdmFyX25hbWVdID0gbGkub2Zmc2V0
SGVpZ2h0OworICAgIH0KKyAgICByZXR1cm4gdGhpc1t3aWR0aF92YXJfbmFtZV0gIT0gdGhpc1tl
bGVtZW50X3Zhcl9uYW1lXS5vZmZzZXRIZWlnaHQ7Cit9CisKK2Z1bmN0aW9uIG9ubG9hZF90ZXN0
KCkgeworICAgIHBhZ2VfbG9hZGVkID0gdHJ1ZTsKKworICAgIHZhciBpbWFnZSA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoJ2ltZycpOworICAgIGltYWdlLnNyYyA9ICcvdzNjL3dlYnBlcmYvcmVz
b3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPWltYWdlJmlkPW4xJzsKKyAgICBiYWNr
Z3JvdW5kX2xvYWRlZCA9IGltYWdlLmNvbXBsZXRlZDsKKyAgICBpZiAoIWJhY2tncm91bmRfbG9h
ZGVkKSB7CisgICAgICAgIGltYWdlLm9ubG9hZCA9IGZ1bmN0aW9uKCkgeworICAgICAgICAgICAg
YmFja2dyb3VuZF9sb2FkZWQgPSB0cnVlOworICAgICAgICB9CisgICAgfQorCisgICAgc2V0SW50
ZXJ2YWwoY2hlY2tfZmluaXNoZWQsIDEwMCk7Cit9CisKK2Z1bmN0aW9uIHBlcmZvcm1fdGVzdCgp
IHsKKyAgICB2YXIgZW50cmllcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmcmFtZUNvbnRl
eHQnKS5jb250ZW50V2luZG93LnBlcmZvcm1hbmNlLndlYmtpdEdldEVudHJpZXMoKTsKKworICAg
IHZhciBleHBlY3RlZF9lbnRyaWVzID0geworICAgICAgICAnL3czYy93ZWJwZXJmL3Jlc291cmNl
cy9uZXN0ZWQuY3NzJzogJ2xpbmsnLAorICAgICAgICAnL3czYy93ZWJwZXJmL3Jlc291cmNlcy9i
bGFua19pbWFnZS5wbmcnOiAnaW1nJywKKyAgICAgICAgJy93M2Mvd2VicGVyZi9yZXNvdXJjZXMv
YmxhbmtfcGFnZV9ncmVlbi5odG0nOiAnaWZyYW1lJywKKyAgICAgICAgJy93M2Mvd2VicGVyZi9y
ZXNvdXJjZXMvZW1wdHlfc2NyaXB0LmpzJzogJ3NjcmlwdCcsCisgICAgICAgICcvdzNjL3dlYnBl
cmYvcmVzb3VyY2VzL2JsYW5rX3BhZ2VfeWVsbG93Lmh0bSc6ICd4bWxodHRwcmVxdWVzdCcsCisg
ICAgICAgICcvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBl
PWltYWdlJmlkPTEnOiAnY3NzJywKKyAgICAgICAgJy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2Vu
ZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9aW1hZ2UmaWQ9Mic6ICdjc3MnLAorICAgICAgICAnL3cz
Yy93ZWJwZXJmL3Jlc291cmNlcy9BaGVtLnR0Zic6ICdjc3MnLAorICAgICAgICAnL3czYy93ZWJw
ZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1jc3MmaWQ9bjEnOiAnY3Nz
JywKKyAgICAgICAgJy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhw
P3R5cGU9Zm9udCZpZD1uMSc6ICdjc3MnLAorICAgICAgICAnL3czYy93ZWJwZXJmL3Jlc291cmNl
cy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1pbWFnZSZpZD1uMSc6ICdjc3MnLAorICAgIH07
CisKKyAgICB0ZXN0X3Jlc291cmNlX2VudHJpZXMoZW50cmllcywgZXhwZWN0ZWRfZW50cmllcyk7
CisgICAgZG9uZSgpOworfQorCit3aW5kb3cub25fdGVzdF9ib2R5X2NyZWF0ZWQgPSBjaGVja19m
aW5pc2hlZDsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8aDE+RGVzY3JpcHRpb248L2gx
PgorPHA+VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IGFsbCBvZiB0aGUgaW5pdGlhdG9yIHR5cGVz
IGFyZSByZXByZXNlbnRlZC48L3A+Cis8ZGl2IGlkPSJsb2ciPjwvZGl2PgorPGlmcmFtZSBpZD0i
ZnJhbWVDb250ZXh0IiBvbmxvYWQ9Im9ubG9hZF90ZXN0KCk7IiBzcmM9Ii93M2Mvd2VicGVyZi9y
ZXNvdXJjZXMvYWxsX3Jlc291cmNlX3R5cGVzLmh0bSIgc3R5bGU9IndpZHRoOiAyNTBweDsgaGVp
Z2h0OiAyNTBweDsiPjwvaWZyYW1lPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWlu
Zy9odG1sL3Rlc3RfcmVzb3VyY2VfcmVkaXJlY3RzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90
ZXN0X3Jlc291cmNlX3JlZGlyZWN0cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTc4OThkMDZl
NTkzZGY2ZGI2NTg1OWE3MzgyZTRhN2NjNjdhNjZiNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcv
aHRtbC90ZXN0X3Jlc291cmNlX3JlZGlyZWN0cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMiBA
QAorRGVzY3JpcHRpb24KKworVGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IHJlZGlyZWN0cyBkbyBu
b3QgYWx0ZXIgdGhlIFVSTC4KKworCisKK1BBU1MgL3czYy93ZWJwZXJmL3Jlc291cmNlcy9yZWRp
cmVjdC5waHA/bG9jYXRpb249L3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJj
ZS5waHAlM0Z0eXBlPWNzcyBpcyBleHBlY3RlZCB0byBoYXZlIGluaXRpYXRvclR5cGUgbGluayAK
K1BBU1MgL3czYy93ZWJwZXJmL3Jlc291cmNlcy9yZWRpcmVjdC5waHA/bG9jYXRpb249L3czYy93
ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHAlM0Z0eXBlPWlmcmFtZSBpcyBl
eHBlY3RlZCB0byBoYXZlIGluaXRpYXRvclR5cGUgaWZyYW1lIAorUEFTUyAvdzNjL3dlYnBlcmYv
cmVzb3VyY2VzL3JlZGlyZWN0LnBocD9sb2NhdGlvbj0vdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dl
bmVyYXRlX3Jlc291cmNlLnBocCUzRnR5cGU9aWZyYW1lJTI2aWQ9eGhyIGlzIGV4cGVjdGVkIHRv
IGhhdmUgaW5pdGlhdG9yVHlwZSB4bWxodHRwcmVxdWVzdCAKK1BBU1MgL3czYy93ZWJwZXJmL3Jl
c291cmNlcy9yZWRpcmVjdC5waHA/bG9jYXRpb249L3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5l
cmF0ZV9yZXNvdXJjZS5waHAlM0Z0eXBlPWltYWdlIGlzIGV4cGVjdGVkIHRvIGhhdmUgaW5pdGlh
dG9yVHlwZSBpbWcgCitQQVNTIC93M2Mvd2VicGVyZi9yZXNvdXJjZXMvcmVkaXJlY3QucGhwP2xv
Y2F0aW9uPS93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwJTNGdHlw
ZT1zY3JpcHQgaXMgZXhwZWN0ZWQgdG8gaGF2ZSBpbml0aWF0b3JUeXBlIHNjcmlwdCAKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jl
c291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2VfcmVkaXJlY3RzLmh0bWwgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0
bWwvdGVzdF9yZXNvdXJjZV9yZWRpcmVjdHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNThiOGZmMzRkYjYw
MjE3YTFjOTkwMGE1OWMyOWEwM2U5Y2Y5YzZhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1s
L3Rlc3RfcmVzb3VyY2VfcmVkaXJlY3RzLmh0bWwKQEAgLTAsMCArMSw0OSBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+Cis8dGl0bGU+
UmVzb3VyY2UgVGltaW5nIHJlZGlyZWN0IG5hbWVzPC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9y
IiB0aXRsZT0iR29vZ2xlIiBocmVmPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20vIiAvPgorPGxpbmsg
cmVsPSJoZWxwIiBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9yZXNvdXJjZS10aW1pbmcvI3Bl
cmZvcm1hbmNlcmVzb3VyY2V0aW1pbmciLz4KKzxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii93M2Mvd2VicGVyZi9y
ZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+Cit2YXIg
aWZyYW1lOworZnVuY3Rpb24gc2V0dXBfaWZyYW1lKCkgeworICAgIHZhciBpZnJhbWVfY29udGVu
dCA9CisgICAgICAgICc8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii93M2Mvd2VicGVyZi9y
ZXNvdXJjZXMvcmVkaXJlY3QucGhwP2xvY2F0aW9uPS93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2Vu
ZXJhdGVfcmVzb3VyY2UucGhwJTNGdHlwZT1jc3MiPjwvbGluaz4nICsKKyAgICAgICAgJzxpbWcg
c3JjPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL3JlZGlyZWN0LnBocD9sb2NhdGlvbj0vdzNjL3dl
YnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocCUzRnR5cGU9aW1hZ2UiPjwvaW1n
PicgKworICAgICAgICAnPGlmcmFtZSBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMvcmVkaXJl
Y3QucGhwP2xvY2F0aW9uPS93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2Uu
cGhwJTNGdHlwZT1pZnJhbWUiPjwvaWZyYW1lPicgKworICAgICAgICAnPHNjcmlwdCBzcmM9Ii93
M2Mvd2VicGVyZi9yZXNvdXJjZXMvcmVkaXJlY3QucGhwP2xvY2F0aW9uPS93M2Mvd2VicGVyZi9y
ZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwJTNGdHlwZT1zY3JpcHQiPjwvc2NyJyArICdp
cHQ+JyArCisgICAgICAgICc8c2NyaXB0PicgKworICAgICAgICAndmFyIHhociA9IG5ldyBYTUxI
dHRwUmVxdWVzdDsnICsKKyAgICAgICAgJ3hoci5vcGVuKCJHRVQiLCAiL3czYy93ZWJwZXJmL3Jl
c291cmNlcy9yZWRpcmVjdC5waHA/bG9jYXRpb249L3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5l
cmF0ZV9yZXNvdXJjZS5waHAlM0Z0eXBlPWlmcmFtZSUyNmlkPXhociIsIGZhbHNlKTsnICsKKyAg
ICAgICAgJ3hoci5zZW5kKCk7JyArCisgICAgICAgICc8L3NjcicgKyAnaXB0Pic7CisgICAgaWZy
YW1lID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ZyYW1lQ29udGV4dCcpOworICAgIGlmcmFt
ZS5jb250ZW50V2luZG93LmRvY3VtZW50LndyaXRlKGlmcmFtZV9jb250ZW50KTsKK30KK2Z1bmN0
aW9uIG9ubG9hZF90ZXN0KCkgeworICAgIHZhciBlbnRyaWVzID0gaWZyYW1lLmNvbnRlbnRXaW5k
b3cucGVyZm9ybWFuY2Uud2Via2l0R2V0RW50cmllcygpOworCisgICAgdmFyIGV4cGVjdGVkX2Vu
dHJpZXMgPSB7CisgICAgICAgICcvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL3JlZGlyZWN0LnBocD9s
b2NhdGlvbj0vdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocCUzRnR5
cGU9Y3NzJzogJ2xpbmsnLAorICAgICAgICAnL3czYy93ZWJwZXJmL3Jlc291cmNlcy9yZWRpcmVj
dC5waHA/bG9jYXRpb249L3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5w
aHAlM0Z0eXBlPWltYWdlJzogJ2ltZycsCisgICAgICAgICcvdzNjL3dlYnBlcmYvcmVzb3VyY2Vz
L3JlZGlyZWN0LnBocD9sb2NhdGlvbj0vdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jl
c291cmNlLnBocCUzRnR5cGU9aWZyYW1lJzogJ2lmcmFtZScsCisgICAgICAgICcvdzNjL3dlYnBl
cmYvcmVzb3VyY2VzL3JlZGlyZWN0LnBocD9sb2NhdGlvbj0vdzNjL3dlYnBlcmYvcmVzb3VyY2Vz
L2dlbmVyYXRlX3Jlc291cmNlLnBocCUzRnR5cGU9c2NyaXB0JzogJ3NjcmlwdCcsCisgICAgICAg
ICcvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL3JlZGlyZWN0LnBocD9sb2NhdGlvbj0vdzNjL3dlYnBl
cmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocCUzRnR5cGU9aWZyYW1lJTI2aWQ9eGhy
JzogJ3htbGh0dHByZXF1ZXN0JywKKyAgICB9OworCisgICAgdGVzdF9yZXNvdXJjZV9lbnRyaWVz
KGVudHJpZXMsIGV4cGVjdGVkX2VudHJpZXMpOworfQord2luZG93LnNldHVwX2lmcmFtZSA9IHNl
dHVwX2lmcmFtZTsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8aDE+RGVzY3JpcHRpb248
L2gxPgorPHA+VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IHJlZGlyZWN0cyBkbyBub3QgYWx0ZXIg
dGhlIFVSTC48L3A+Cis8ZGl2IGlkPSJsb2ciPjwvZGl2PgorPGlmcmFtZSBpZD0iZnJhbWVDb250
ZXh0IiBvbmxvYWQ9Im9ubG9hZF90ZXN0KCk7IiBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMv
aW5qZWN0X3Jlc291cmNlX3Rlc3QuaHRtbCI+PC9pZnJhbWU+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24v
cmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9zY3JpcHRfdHlwZXMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291
cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2Vfc2NyaXB0X3R5cGVzLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5hNmM2ZjkzODVmNDE5Y2FiNGQ4OWVkMTA3YTZmOTUxYjhiNjlkNzIwCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNz
aW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2Vfc2NyaXB0X3R5cGVzLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDE2IEBACitEZXNjcmlwdGlvbgorCitUaGlzIHRlc3QgdmFsaWRh
dGVzIHRoYXQgYWxsIG9mIHRoZSBkaWZmZXJlbnQgdHlwZXMgb2Ygc2NyaXB0IGxvYWRzIGFyZSBy
ZXBvcnRlZCB3aXRoIHRoZSBjb3JyZWN0IGluaXRpYXRvci4KKworCisKK1BBU1MgL3czYy93ZWJw
ZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1zY3JpcHQmaWQ9MSBpcyBl
eHBlY3RlZCB0byBoYXZlIGluaXRpYXRvclR5cGUgc2NyaXB0IAorUEFTUyAvdzNjL3dlYnBlcmYv
cmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPXNjcmlwdCZpZD0yIGlzIGV4cGVj
dGVkIHRvIGhhdmUgaW5pdGlhdG9yVHlwZSBzY3JpcHQgCitQQVNTIC93M2Mvd2VicGVyZi9yZXNv
dXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9c2NyaXB0JmlkPTMgaXMgZXhwZWN0ZWQg
dG8gaGF2ZSBpbml0aWF0b3JUeXBlIHNjcmlwdCAKK1BBU1MgL3czYy93ZWJwZXJmL3Jlc291cmNl
cy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1zY3JpcHQmaWQ9NCBpcyBleHBlY3RlZCB0byBo
YXZlIGluaXRpYXRvclR5cGUgc2NyaXB0IAorUEFTUyAvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dl
bmVyYXRlX3Jlc291cmNlLnBocD90eXBlPXNjcmlwdCZpZD01IGlzIGV4cGVjdGVkIHRvIGhhdmUg
aW5pdGlhdG9yVHlwZSBzY3JpcHQgCitQQVNTIC93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJh
dGVfcmVzb3VyY2UucGhwP3R5cGU9c2NyaXB0JmlkPTYgaXMgZXhwZWN0ZWQgdG8gaGF2ZSBpbml0
aWF0b3JUeXBlIHNjcmlwdCAKK1BBU1MgL3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9y
ZXNvdXJjZS5waHA/dHlwZT1zY3JpcHQmaWQ9NyBpcyBleHBlY3RlZCB0byBoYXZlIGluaXRpYXRv
clR5cGUgc2NyaXB0IAorUEFTUyAvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291
cmNlLnBocD90eXBlPXNjcmlwdCZpZD04IGlzIGV4cGVjdGVkIHRvIGhhdmUgaW5pdGlhdG9yVHlw
ZSBzY3JpcHQgCitQQVNTIC93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2Uu
cGhwP3R5cGU9c2NyaXB0JmlkPTkgaXMgZXhwZWN0ZWQgdG8gaGF2ZSBpbml0aWF0b3JUeXBlIHNj
cmlwdCAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9z
dWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2Vfc2NyaXB0X3R5cGVz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVz
b3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9zY3JpcHRfdHlwZXMuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi41MDAzOWJiM2UyN2VhNjBiOTNiYTA4MTBiNjY4YzY1YmI3YWJmMDMxCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jl
c291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2Vfc2NyaXB0X3R5cGVzLmh0bWwKQEAgLTAs
MCArMSw2NiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNl
dD0idXRmLTgiIC8+Cis8dGl0bGU+UmVzb3VyY2UgVGltaW5nIHNjcmlwdCBpbml0aWF0b3IgdHlw
ZXM8L3RpdGxlPgorPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJHb29nbGUiIGhyZWY9Imh0dHA6
Ly93d3cuZ29vZ2xlLmNvbS8iIC8+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6Ly93d3cu
dzMub3JnL1RSL3Jlc291cmNlLXRpbWluZy8jZG9tLXBlcmZvcm1hbmNlcmVzb3VyY2V0aW1pbmct
aW5pdGlhdG9ydHlwZSIvPgorPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNlcy93
ZWJwZXJmdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK3ZhciBpZnJhbWU7Citm
dW5jdGlvbiBzZXR1cF9pZnJhbWUoKSB7CisgICAgdmFyIGlmcmFtZV9jb250ZW50ID0KKyAgICAg
ICAgJzxzY3JpcHQgc3JjPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNl
LnBocD90eXBlPXNjcmlwdCZpZD0xIj48L3NjcicgKyAnaXB0PicgKworICAgICAgICAnPHNjcmlw
dCBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9
c2NyaXB0JmlkPTIiIGFzeW5jPjwvc2NyJyArICdpcHQ+JyArCisgICAgICAgICc8c2NyaXB0IHNy
Yz0iL3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1zY3Jp
cHQmaWQ9MyIgYXN5bmM9ZmFsc2U+PC9zY3InICsgJ2lwdD4nICsKKyAgICAgICAgJzxzY3JpcHQg
c3JjPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPXNj
cmlwdCZpZD00IiBkZWZlcj48L3NjcicgKyAnaXB0PicgKworICAgICAgICAnPHNjcmlwdD4nICsK
KyAgICAgICAgJ2RvY3VtZW50LndyaXRlKCI8c2NyaXB0IHNyYz1cXCIvdzNjL3dlYnBlcmYvcmVz
b3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPXNjcmlwdCZpZD01XFwiPjwvc2NyIiAr
ICJpcHQ+Iik7JyArCisgICAgICAgICd2YXIgczEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJz
Y3JpcHQiKTsnICsKKyAgICAgICAgJ3MxLnNyYyA9ICIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dl
bmVyYXRlX3Jlc291cmNlLnBocD90eXBlPXNjcmlwdCZpZD02IjsnICsKKyAgICAgICAgJ2RvY3Vt
ZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF0uYXBwZW5kQ2hpbGQoczEpOycgKwor
ICAgICAgICAndmFyIHMyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7JyArCisg
ICAgICAgICdzMi5zcmMgPSAiL3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJj
ZS5waHA/dHlwZT1zY3JpcHQmaWQ9NyI7JyArCisgICAgICAgICdzMi5hc3luYyA9IHRydWU7JyAr
CisgICAgICAgICdkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVhZCIpWzBdLmFwcGVu
ZENoaWxkKHMyKTsnICsKKyAgICAgICAgJ3ZhciBzMyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InNjcmlwdCIpOycgKworICAgICAgICAnczMuc3JjID0gIi93M2Mvd2VicGVyZi9yZXNvdXJjZXMv
Z2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9c2NyaXB0JmlkPTgiOycgKworICAgICAgICAnczMu
YXN5bmMgPSBmYWxzZTsnICsKKyAgICAgICAgJ2RvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1l
KCJoZWFkIilbMF0uYXBwZW5kQ2hpbGQoczMpOycgKworICAgICAgICAndmFyIHM0ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7JyArCisgICAgICAgICdzNC5zcmMgPSAiL3czYy93
ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1zY3JpcHQmaWQ9OSI7
JyArCisgICAgICAgICdzNC5kZWZlciA9IHRydWU7JyArCisgICAgICAgICdkb2N1bWVudC5nZXRF
bGVtZW50c0J5VGFnTmFtZSgiaGVhZCIpWzBdLmFwcGVuZENoaWxkKHM0KTsnICsKKyAgICAgICAg
Jzwvc2NyJyArICdpcHQ+JzsKKyAgICBpZnJhbWUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
ZnJhbWVDb250ZXh0Jyk7CisgICAgaWZyYW1lLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQud3JpdGUo
aWZyYW1lX2NvbnRlbnQpOworfQorZnVuY3Rpb24gb25sb2FkX3Rlc3QoKSB7CisgICAgdmFyIGVu
dHJpZXMgPSBpZnJhbWUuY29udGVudFdpbmRvdy5wZXJmb3JtYW5jZS53ZWJraXRHZXRFbnRyaWVz
KCk7CisKKyAgICB2YXIgZXhwZWN0ZWRfZW50cmllcyA9IHsKKyAgICAgICAgJy93M2Mvd2VicGVy
Zi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9c2NyaXB0JmlkPTEnOiAnc2Ny
aXB0JywKKyAgICAgICAgJy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2Uu
cGhwP3R5cGU9c2NyaXB0JmlkPTInOiAnc2NyaXB0JywKKyAgICAgICAgJy93M2Mvd2VicGVyZi9y
ZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9c2NyaXB0JmlkPTMnOiAnc2NyaXB0
JywKKyAgICAgICAgJy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhw
P3R5cGU9c2NyaXB0JmlkPTQnOiAnc2NyaXB0JywKKyAgICAgICAgJy93M2Mvd2VicGVyZi9yZXNv
dXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9c2NyaXB0JmlkPTUnOiAnc2NyaXB0JywK
KyAgICAgICAgJy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5
cGU9c2NyaXB0JmlkPTYnOiAnc2NyaXB0JywKKyAgICAgICAgJy93M2Mvd2VicGVyZi9yZXNvdXJj
ZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9c2NyaXB0JmlkPTcnOiAnc2NyaXB0JywKKyAg
ICAgICAgJy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9
c2NyaXB0JmlkPTgnOiAnc2NyaXB0JywKKyAgICAgICAgJy93M2Mvd2VicGVyZi9yZXNvdXJjZXMv
Z2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9c2NyaXB0JmlkPTknOiAnc2NyaXB0JywKKyAgICB9
OworCisgICAgdGVzdF9yZXNvdXJjZV9lbnRyaWVzKGVudHJpZXMsIGV4cGVjdGVkX2VudHJpZXMp
OworfQord2luZG93LnNldHVwX2lmcmFtZSA9IHNldHVwX2lmcmFtZTsKKzwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8aDE+RGVzY3JpcHRpb248L2gxPgorPHA+VGhpcyB0ZXN0IHZhbGlkYXRl
cyB0aGF0IGFsbCBvZiB0aGUgZGlmZmVyZW50IHR5cGVzIG9mIHNjcmlwdCBsb2FkcyBhcmUgcmVw
b3J0ZWQgd2l0aCB0aGUgY29ycmVjdCBpbml0aWF0b3IuPC9wCis8ZGl2IGlkPSJsb2ciPjwvZGl2
PgorPGlmcmFtZSBpZD0iZnJhbWVDb250ZXh0IiBvbmxvYWQ9Im9ubG9hZF90ZXN0KCk7IiBzcmM9
Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMvaW5qZWN0X3Jlc291cmNlX3Rlc3QuaHRtbCI+PC9pZnJh
bWU+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
VGVzdEV4cGVjdGF0aW9ucwppbmRleCBkYjllMWExNmNhNWZmN2Q3M2JhYzNmNDE1NTc3ZDA4ZGRm
ZGQ1OGRlLi44MjljMjJmN2NkYTYyYTYxODVhMGE5Y2NiZDkxNDI2NmYxMTc4MDRkIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTM2OTks
MyArMzY5OSw2IEBAIGNyYnVnLmNvbS8xNTIwMDcgcGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9z
b2Z0d2FyZWNvbXBvc2l0aW5nL2NvbG9yLW1hdGNoaW5nL2ltCiBjcmJ1Zy5jb20vMTUyMDA3IHBs
YXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvc29mdHdhcmVjb21wb3NpdGluZy9nZW9tZXRyeS9ib3Vu
ZHMtaWdub3Jlcy1oaWRkZW4tZHluYW1pYy1uZWd6aW5kZXguaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQogY3JidWcuY29tLzE1MjAwNyBbIExpbnV4IE1hYyBdIHBsYXRmb3JtL2Nocm9taXVtL3Zp
cnR1YWwvc29mdHdhcmVjb21wb3NpdGluZy9nZW9tZXRyeS9jbGlwcGluZy1mb3JlZ3JvdW5kLmh0
bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGNyYnVnLmNvbS8xNTIwMDcgcGxhdGZvcm0vY2hyb21p
dW0vdmlydHVhbC9zb2Z0d2FyZWNvbXBvc2l0aW5nL3Zpc2liaWxpdHkvdmlzaWJpbGl0eS1pbWFn
ZS1sYXllcnMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQorCisjIEZhaWxzIHVudGlsIHdlIGVu
YWJsZSB0aGUgUmVzb3VyY2UgVGltaW5nIEFQSS4KK3dlYmtpdC5vcmcvYi82MTEzOCBodHRwL3Rl
c3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nIFsgU2tpcCBdCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>166768</attachid>
            <date>2012-10-02 15:53:55 -0700</date>
            <delta_ts>2012-10-09 17:36:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-84883-20121002155308.patch</filename>
            <type>text/plain</type>
            <size>182749</size>
            <attacher name="James Simonsen">simonjam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMwMTc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDc4NGU4Njg3NDc3NGRi
MzQ1NTFkYjMxNmRiYjNmNGQxNzc4ODFjYi4uOGJhN2Q5ZjYyM2E3NWJkMDk5NzQ4ZTM0ZTY1YzYx
ZGY3NzcwYTgxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzNyBAQAorMjAxMi0xMC0wMiAgSmFt
ZXMgU2ltb25zZW4gIDxzaW1vbmphbUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW1Jlc291cmNl
IFRpbWluZ10gRXhwb3NlIHRpbWluZyBpbmZvcm1hdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODQ4ODMKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBOb3RlOiBTdGFydCByZXZpZXdpbmcgaW4gdGhlIGxv
YWRlci8gZGlyZWN0b3J5LgorCisgICAgICAgIEFkZGVkIGEgTG9hZEluaXRpYXRvciBpbnRlcmZh
Y2UgdGhhdCBtdXN0IGJlIHBhc3NlZCBpbiB3aGVuZXZlciBhIHJlc291cmNlIGlzIHJlcXVlc3Rl
ZC4gSXQncworICAgICAgICB0eXBpY2FsbHkgdGhlIG5vZGUgdGhhdCBpbml0aWF0ZWQgdGhlIGxv
YWQuIFRoZSBMb2FkSW5pdGlhdG9yIHBhc3NlcyB0aGUgZG9jdW1lbnQgYW5kIG5hbWUgb2YKKyAg
ICAgICAgdGhlIGluaXRpYXRvci4KKworICAgICAgICBUaGUgYnVmZmVyIGlzIHBvcHVsYXRlZCBl
dmVuIGlmIHRoZSBsb2FkIHRpbWUgaW5mb3JtYXRpb24gaXMgbWlzc2luZy4gVGhpcyBhbGxvd3Mg
dGVzdGluZyBmcm9tCisgICAgICAgIERSVC4KKworICAgICAgICBUZXN0czogaHR0cC90ZXN0cy93
M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2Vf
YXR0cmlidXRlX29yZGVyLmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvdzNjL3dlYnBl
cmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX2R5bmFtaWNf
aW5zZXJ0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3Vi
bWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX2luaXRpYXRvcl90eXBl
cy5odG1sCisgICAgICAgICAgICAgICBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24v
cmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9yZWRpcmVjdHMuaHRtbAorICAgICAg
ICAgICAgICAgaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWlu
Zy9odG1sL3Rlc3RfcmVzb3VyY2Vfc2NyaXB0X3R5cGVzLmh0bWwKKworICAgICAgICAqIFdlYkNv
cmUuZ3lwaToKKyAgICAgICAgKiBjc3MvQ1NTRm9udEZhY2VTcmNWYWx1ZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpDU1NGb250RmFjZVNyY1ZhbHVlOjpjYWNoZWRGb250KToKKyAgICAgICAgKiBj
c3MvQ1NTSW1hZ2VTZXRWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NJbWFnZVNldFZh
bHVlOjpjYWNoZWRJbWFnZVNldCk6CisgICAgICAgICogY3NzL0NTU0ltYWdlVmFsdWUuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Q1NTSW1hZ2VWYWx1ZTo6Y2FjaGVkSW1hZ2UpOgorICAgICAgICAq
IGNzcy9DU1NMb2FkSW5pdGlhdG9yLmNwcDogVXNlZCBieSBhbGwgQ1NTIGluaXRpYXRvcnMuCisg
ICAgICAgIChXZWJDb3JlOjpDU1NMb2FkSW5pdGlhdG9yOjpDU1NMb2FkSW5pdGlhdG9yKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNTU0xvYWRJbml0aWF0b3I6OmluaXRpYXRvck5hbWUpOgorICAgICAg
ICAqIGNzcy9DU1NMb2FkSW5pdGlhdG9yLmg6CisgICAgICAgIChXVEYpOgorICAgICAgICAoV2Vi
Q29yZSk6CisgICAgICAgIChDU1NMb2FkSW5pdGlhdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OkNT
U0xvYWRJbml0aWF0b3I6OmluaXRpYXRvckRvY3VtZW50KToKKyAgICAgICAgKiBjc3MvU3R5bGVS
dWxlSW1wb3J0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZUltcG9ydDo6cmVxdWVz
dFN0eWxlU2hlZXQpOgorICAgICAgICAqIGNzcy9XZWJLaXRDU1NTVkdEb2N1bWVudFZhbHVlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OldlYktpdENTU1NWR0RvY3VtZW50VmFsdWU6OmxvYWQpOgor
ICAgICAgICAqIGNzcy9XZWJLaXRDU1NTaGFkZXJWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpXZWJLaXRDU1NTaGFkZXJWYWx1ZTo6Y2FjaGVkU2hhZGVyKToKKyAgICAgICAgKiBkb20vTm9k
ZS5oOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6aW5pdGlhdG9yTmFtZSk6CisgICAgICAgIChX
ZWJDb3JlOjpOb2RlOjppbml0aWF0b3JEb2N1bWVudCk6CisgICAgICAgIChOb2RlKToKKyAgICAg
ICAgKiBkb20vUHJvY2Vzc2luZ0luc3RydWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBy
b2Nlc3NpbmdJbnN0cnVjdGlvbjo6Y2hlY2tTdHlsZVNoZWV0KToKKyAgICAgICAgKiBkb20vU2Ny
aXB0RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRFbGVtZW50OjpyZXF1ZXN0
U2NyaXB0KToKKyAgICAgICAgKiBodG1sL0hUTUxMaW5rRWxlbWVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MTGlua0VsZW1lbnQ6OnByb2Nlc3MpOgorICAgICAgICAqIGh0bWwvSFRNTExp
bmtFbGVtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTGlua0VsZW1lbnQ6OmluaXRpYXRv
cik6CisgICAgICAgICogaHRtbC9wYXJzZXIvQ1NTUHJlbG9hZFNjYW5uZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTUHJlbG9hZFNjYW5uZXI6OmVtaXRSdWxlKToKKyAgICAgICAgKFdlYkNv
cmU6OkNTU1ByZWxvYWRTY2FubmVyOjppbml0aWF0b3JOYW1lKToKKyAgICAgICAgKFdlYkNvcmUp
OgorICAgICAgICAqIGh0bWwvcGFyc2VyL0NTU1ByZWxvYWRTY2FubmVyLmg6CisgICAgICAgIChD
U1NQcmVsb2FkU2Nhbm5lcik6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmVsb2FkU2Nhbm5lcjo6
aW5pdGlhdG9yRG9jdW1lbnQpOgorICAgICAgICAqIGh0bWwvcGFyc2VyL0hUTUxQcmVsb2FkU2Nh
bm5lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQcmVsb2FkVGFzazo6UHJlbG9hZFRhc2spOgor
ICAgICAgICAoV2ViQ29yZTo6UHJlbG9hZFRhc2s6OnByZWxvYWQpOgorICAgICAgICAoV2ViQ29y
ZTo6UHJlbG9hZFRhc2s6OmluaXRpYXRvck5hbWUpOgorICAgICAgICAoV2ViQ29yZTo6UHJlbG9h
ZFRhc2s6OmluaXRpYXRvckRvY3VtZW50KToKKyAgICAgICAgKFByZWxvYWRUYXNrKToKKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxQcmVsb2FkU2Nhbm5lcjo6cHJvY2Vzc1Rva2VuKToKKyAgICAgICAg
KiBodG1sL3RyYWNrL0xvYWRhYmxlVGV4dFRyYWNrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okxv
YWRhYmxlVGV4dFRyYWNrOjppbml0aWF0b3IpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAg
ICogaHRtbC90cmFjay9Mb2FkYWJsZVRleHRUcmFjay5oOgorICAgICAgICAoTG9hZGFibGVUZXh0
VHJhY2tDbGllbnQpOgorICAgICAgICAoTG9hZGFibGVUZXh0VHJhY2spOgorICAgICAgICAqIGxv
YWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9j
dW1lbnRUaHJlYWRhYmxlTG9hZGVyOjpsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KToKKyAgICAg
ICAgKFdlYkNvcmU6OkRvY3VtZW50VGhyZWFkYWJsZUxvYWRlcjo6Y3JlYXRlKToKKyAgICAgICAg
KFdlYkNvcmU6OkRvY3VtZW50VGhyZWFkYWJsZUxvYWRlcjo6RG9jdW1lbnRUaHJlYWRhYmxlTG9h
ZGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50VGhyZWFkYWJsZUxvYWRlcjo6bm90aWZ5
RmluaXNoZWQpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyOjps
b2FkUmVxdWVzdCk6CisgICAgICAgICogbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5o
OgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChEb2N1bWVudFRocmVhZGFibGVMb2FkZXIp
OgorICAgICAgICAqIGxvYWRlci9JbWFnZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJ
bWFnZUxvYWRlcjo6dXBkYXRlRnJvbUVsZW1lbnQpOgorICAgICAgICAqIGxvYWRlci9MaW5rTG9h
ZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxpbmtMb2FkZXI6OmxvYWRMaW5rKToKKyAgICAg
ICAgKiBsb2FkZXIvTGlua0xvYWRlckNsaWVudC5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgIChMaW5rTG9hZGVyQ2xpZW50KToKKyAgICAgICAgKiBsb2FkZXIvTG9hZEluaXRpYXRvci5o
OgorICAgICAgICAoV1RGKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoTG9hZEluaXRp
YXRvcik6CisgICAgICAgICogbG9hZGVyL0xvYWRJbml0aWF0b3JIYW5kbGUuY3BwOiBTYXZlcyBM
b2FkSW5pdGlhdG9yIGRhdGEgdW50aWwgdGhlIGxvYWQgY29tcGxldGVzLgorICAgICAgICAoV2Vi
Q29yZTo6TG9hZEluaXRpYXRvckhhbmRsZTo6TG9hZEluaXRpYXRvckhhbmRsZSk6CisgICAgICAg
IChXZWJDb3JlOjpMb2FkSW5pdGlhdG9ySGFuZGxlOjpjbGVhcik6CisgICAgICAgICogbG9hZGVy
L0xvYWRJbml0aWF0b3JIYW5kbGUuaDoKKyAgICAgICAgKExvYWRJbml0aWF0b3JIYW5kbGUpOgor
ICAgICAgICAoV2ViQ29yZTo6TG9hZEluaXRpYXRvckhhbmRsZTo6aW5pdGlhdG9yTmFtZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpMb2FkSW5pdGlhdG9ySGFuZGxlOjppbml0aWF0b3JEb2N1bWVudCk6
CisgICAgICAgICogbG9hZGVyL01haW5SZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpNYWluUmVzb3VyY2VMb2FkZXI6OmRpZEZpbmlzaExvYWRpbmcpOgorICAgICAgICAqIGxv
YWRlci9OdWxsTG9hZEluaXRpYXRvci5jcHA6IERlZmF1bHQgTG9hZEluaXRpdG9yIHVzZWQgaWYg
bm8gaW5mb3JtYXRpb24gaXMgYXZhaWxhYmxlLgorICAgICAgICAoV2ViQ29yZTo6TnVsbExvYWRJ
bml0aWF0b3I6Omluc3RhbmNlKToKKyAgICAgICAgKiBsb2FkZXIvTnVsbExvYWRJbml0aWF0b3Iu
aDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoTnVsbExvYWRJbml0aWF0b3IpOgorICAg
ICAgICAoV2ViQ29yZTo6TnVsbExvYWRJbml0aWF0b3I6OmluaXRpYXRvck5hbWUpOgorICAgICAg
ICAoV2ViQ29yZTo6TnVsbExvYWRJbml0aWF0b3I6OmluaXRpYXRvckRvY3VtZW50KToKKyAgICAg
ICAgKiBsb2FkZXIvUmVzb3VyY2VMb2FkTm90aWZpZXIuY3BwOiBDb2xsZWN0IHRpbWluZyBpbmZv
IGZvciBzdWJyZXNvdXJjZXMgd2hlbiBSRVNPVVJDRV9USU1JTkcgaXMgZW5hYmxlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OlJlc291cmNlTG9hZE5vdGlmaWVyOjpkaXNwYXRjaFdpbGxTZW5kUmVxdWVz
dCk6CisgICAgICAgICogbG9hZGVyL1Jlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlc291cmNlTG9hZGVyOjp3aWxsU2VuZFJlcXVlc3QpOiBLZWVwIHRyYWNrIG9mIHRoZSBv
cmlnaW5hbCByZXF1ZXN0IGV2ZW4gd2hlbiBjYWxsZWQgYnkgTWFpblJlc291cmNlTG9hZGVyLCB3
aGljaCBieXBhc3NlcyBpbml0KCkuCisgICAgICAgICogbG9hZGVyL1N1YnJlc291cmNlTG9hZGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN1YnJlc291cmNlTG9hZGVyOjp3aWxsU2VuZFJlcXVl
c3QpOgorICAgICAgICAoV2ViQ29yZTo6U3VicmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVSZXNw
b25zZSk6CisgICAgICAgIChXZWJDb3JlOjpTdWJyZXNvdXJjZUxvYWRlcjo6c2VuZERhdGFUb1Jl
c291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OlN1YnJlc291cmNlTG9hZGVyOjpkaWRGaW5pc2hM
b2FkaW5nKTogUG9wdWxhdGUgUmVzb3VyY2UgVGltaW5nIGJ1ZmZlciBoZXJlLgorICAgICAgICAq
IGxvYWRlci9UZXh0VHJhY2tMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAg
IChXZWJDb3JlOjpUZXh0VHJhY2tMb2FkZXI6OmN1ZUxvYWRUaW1lckZpcmVkKToKKyAgICAgICAg
KFdlYkNvcmU6OlRleHRUcmFja0xvYWRlcjo6cHJvY2Vzc05ld0N1ZURhdGEpOgorICAgICAgICAo
V2ViQ29yZTo6VGV4dFRyYWNrTG9hZGVyOjpkaWRSZWNlaXZlRGF0YSk6CisgICAgICAgIChXZWJD
b3JlOjpUZXh0VHJhY2tMb2FkZXI6Om5vdGlmeUZpbmlzaGVkKToKKyAgICAgICAgKFdlYkNvcmU6
OlRleHRUcmFja0xvYWRlcjo6bG9hZCk6CisgICAgICAgICogbG9hZGVyL1RleHRUcmFja0xvYWRl
ci5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChUZXh0VHJhY2tMb2FkZXJDbGllbnQp
OgorICAgICAgICAqIGxvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlRocmVhZGFibGVMb2FkZXI6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpUaHJlYWRh
YmxlTG9hZGVyOjpsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KToKKyAgICAgICAgKiBsb2FkZXIv
VGhyZWFkYWJsZUxvYWRlci5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChUaHJlYWRh
YmxlTG9hZGVyKToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwOgor
ICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpjYWNoZWRSZXNvdXJjZVR5cGVU
b1RhcmdldFR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OmxvYWQpOgor
ICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OmRhdGEpOgorICAgICAgICAoV2ViQ29y
ZTo6Q2FjaGVkUmVzb3VyY2U6OmZpbmlzaCk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNv
dXJjZTo6c3RvcExvYWRpbmcpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OnNl
dERlY29kZWRTaXplKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlOjpzZXRFbmNv
ZGVkU2l6ZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZTo6ZGlkQWNjZXNzRGVj
b2RlZERhdGEpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OnNldFJlc291cmNl
VG9SZXZhbGlkYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlOjpjbGVhclJl
c291cmNlVG9SZXZhbGlkYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlOjpt
dXN0UmV2YWxpZGF0ZUR1ZVRvQ2FjaGVIZWFkZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hl
ZFJlc291cmNlOjppc1NhZmVUb01ha2VQdXJnZWFibGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2Fj
aGVkUmVzb3VyY2U6Om1ha2VQdXJnZWFibGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVz
b3VyY2U6OnNldExvYWRQcmlvcml0eSk6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJl
c291cmNlLmg6CisgICAgICAgIChDYWNoZWRSZXNvdXJjZSk6CisgICAgICAgIChXZWJDb3JlOjpD
YWNoZWRSZXNvdXJjZTo6cmVzb3VyY2VSZXF1ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hl
ZFJlc291cmNlOjp1cmwpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OnNldElu
aXRpYXRvcik6IFRyYWNrIHRoaXMgZm9yIHRoZSBsaWZlIG9mIHRoZSBsb2FkLgorICAgICAgICAo
V2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OmluaXRpYXRvcik6CisgICAgICAgICogbG9hZGVyL2Nh
Y2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcDogUGFzcyB0aGUgaW5pdGlhdG9yIHRocm91Z2gu
CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdEltYWdlKToK
KyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0Rm9udCk6Cisg
ICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFRleHRUcmFjayk6
CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFNoYWRlcik6
CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdENTU1N0eWxl
U2hlZXQpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RV
c2VyQ1NTU3R5bGVTaGVldCk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRl
cjo6cmVxdWVzdFNjcmlwdCk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRl
cjo6cmVxdWVzdFhTTFN0eWxlU2hlZXQpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3Vy
Y2VMb2FkZXI6OnJlcXVlc3RTVkdEb2N1bWVudCk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRS
ZXNvdXJjZUxvYWRlcjo6cmVxdWVzdExpbmtSZXNvdXJjZSk6CisgICAgICAgIChXZWJDb3JlOjpD
YWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFJhd1Jlc291cmNlKToKKyAgICAgICAgKFdlYkNv
cmU6OkNhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0UmVzb3VyY2UpOgorICAgICAgICAoV2Vi
Q29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJldmFsaWRhdGVSZXNvdXJjZSk6CisgICAgICAg
IChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6bG9hZFJlc291cmNlKToKKyAgICAgICAg
KFdlYkNvcmU6OkNhY2hlZFJlc291cmNlTG9hZGVyOjpkZXRlcm1pbmVSZXZhbGlkYXRpb25Qb2xp
Y3kpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJj
ZUxvYWRlcjo6cHJlbG9hZCk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRl
cjo6Y2hlY2tGb3JQZW5kaW5nUHJlbG9hZHMpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVz
b3VyY2VMb2FkZXI6OnJlcXVlc3RQcmVsb2FkKToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2Fj
aGVkUmVzb3VyY2VMb2FkZXIuaDoKKyAgICAgICAgKENhY2hlZFJlc291cmNlTG9hZGVyKToKKyAg
ICAgICAgKFBlbmRpbmdQcmVsb2FkKToKKyAgICAgICAgKiBsb2FkZXIvaWNvbi9JY29uTG9hZGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okljb25Mb2FkZXI6OnN0YXJ0TG9hZGluZyk6CisgICAg
ICAgIChXZWJDb3JlOjpJY29uTG9hZGVyOjppbml0aWF0b3JOYW1lKToKKyAgICAgICAgKFdlYkNv
cmUpOgorICAgICAgICAoV2ViQ29yZTo6SWNvbkxvYWRlcjo6aW5pdGlhdG9yRG9jdW1lbnQpOgor
ICAgICAgICAqIGxvYWRlci9pY29uL0ljb25Mb2FkZXIuaDoKKyAgICAgICAgKEljb25Mb2FkZXIp
OgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGVy
Zm9ybWFuY2U6OmFkZFJlc291cmNlVGltaW5nKToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNl
Lmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFBlcmZvcm1hbmNlKToKKyAgICAgICAg
KiBwYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyk6Cisg
ICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjppbml0aWF0b3JUeXBl
KTogUmV0dXJucyB0aGUgcHJvcGVyIHZhbHVlIG5vdy4KKyAgICAgICAgKFdlYkNvcmU6OlBlcmZv
cm1hbmNlUmVzb3VyY2VUaW1pbmc6OmZldGNoU3RhcnQpOiBSZXR1cm5zIDAgaWYgbm90aGluZyBp
cyBhdmFpbGFibGUuCisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVJlc291cmNlVGltaW5n
Ojpkb21haW5Mb29rdXBTdGFydCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVJlc291
cmNlVGltaW5nOjpkb21haW5Mb29rdXBFbmQpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFu
Y2VSZXNvdXJjZVRpbWluZzo6Y29ubmVjdFN0YXJ0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZv
cm1hbmNlUmVzb3VyY2VUaW1pbmc6OmNvbm5lY3RFbmQpOgorICAgICAgICAoV2ViQ29yZTo6UGVy
Zm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6c2VjdXJlQ29ubmVjdGlvblN0YXJ0KToKKyAgICAgICAg
KFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnJlcXVlc3RTdGFydCk6CisgICAg
ICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpyZXNwb25zZVN0YXJ0KToK
KyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnJlc3BvbnNlRW5k
KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6Om1vbm90b25p
Y1RpbWVUb0RvY3VtZW50TWlsbGlzZWNvbmRzKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1h
bmNlUmVzb3VyY2VUaW1pbmc6OnJlc291cmNlVGltZVRvRG9jdW1lbnRNaWxsaXNlY29uZHMpOgor
ICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oOgorICAgICAgICAoV2Vi
Q29yZTo6UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6Y3JlYXRlKToKKyAgICAgICAgKFBlcmZv
cm1hbmNlUmVzb3VyY2VUaW1pbmcpOgorICAgICAgICAqIHN2Zy9TVkdGRUltYWdlRWxlbWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdGRUltYWdlRWxlbWVudDo6cmVxdWVzdEltYWdlUmVz
b3VyY2UpOgorICAgICAgICAqIHN2Zy9TVkdGb250RmFjZVVyaUVsZW1lbnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHRm9udEZhY2VVcmlFbGVtZW50Ojpsb2FkRm9udCk6CisgICAgICAgICog
c3ZnL1NWR1VzZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVXNlRWxlbWVudDo6
c3ZnQXR0cmlidXRlQ2hhbmdlZCk6CisgICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1ZXN0OjpjcmVhdGVSZXF1ZXN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1ZXN0OjpnZXRSZXNwb25zZUhlYWRlcik6CisgICAgICAg
IChXZWJDb3JlOjpYTUxIdHRwUmVxdWVzdDo6aW5pdGlhdG9yTmFtZSk6CisgICAgICAgIChXZWJD
b3JlKToKKyAgICAgICAgKiB4bWwvWE1MSHR0cFJlcXVlc3QuaDoKKyAgICAgICAgKFhNTEh0dHBS
ZXF1ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1ZXN0Ojppbml0aWF0b3JEb2N1
bWVudCk6CisgICAgICAgICogeG1sL1hTTEltcG9ydFJ1bGUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6WFNMSW1wb3J0UnVsZTo6flhTTEltcG9ydFJ1bGUpOgorICAgICAgICAoV2ViQ29yZTo6WFNM
SW1wb3J0UnVsZTo6c2V0WFNMU3R5bGVTaGVldCk6CisgICAgICAgIChXZWJDb3JlOjpYU0xJbXBv
cnRSdWxlOjpsb2FkU2hlZXQpOgorICAgICAgICAoV2ViQ29yZTo6WFNMSW1wb3J0UnVsZTo6aW5p
dGlhdG9yTmFtZSk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiB4bWwvWFNMSW1wb3J0
UnVsZS5oOgorICAgICAgICAoWFNMSW1wb3J0UnVsZSk6CisgICAgICAgIChXZWJDb3JlOjpYU0xJ
bXBvcnRSdWxlOjppbml0aWF0b3JEb2N1bWVudCk6CisKIDIwMTItMTAtMDIgIFZzZXZvbG9kIFZs
YXNvdiAgPHZzZXZpa0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogW1Jl
Z3Jlc3Npb25dIERldlRvb2xzRXh0ZW5zaW9uVGVzdC5UZXN0Q29udGVudFNjcmlwdElzUHJlc2Vu
dCBmYWlscwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBkYTE0YzA5ZTZhNTM3NjkwZmRiM2RlOGY5
OTIxZWM1ZDNlZTIxZjI3Li43ZWVjYzhlMTA2NTc4YmU5ZTMyNjA0MjQxNTE1ZTg5NDU4ZGE5NDY5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTAzMCw2ICsxMDMwLDcgQEAgU0VUKFdlYkNvcmVf
U09VUkNFUwogICAgIGNzcy9DU1NJbmhlcml0ZWRWYWx1ZS5jcHAKICAgICBjc3MvQ1NTSW5pdGlh
bFZhbHVlLmNwcAogICAgIGNzcy9DU1NMaW5lQm94Q29udGFpblZhbHVlLmNwcAorICAgIGNzcy9D
U1NMb2FkSW5pdGlhdG9yLmNwcAogICAgIGNzcy9DU1NNZWRpYVJ1bGUuY3BwCiAgICAgY3NzL0NT
U09NVXRpbHMuY3BwCiAgICAgY3NzL0NTU1BhZ2VSdWxlLmNwcApAQCAtMTYyMSw4ICsxNjIyLDEw
IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBsb2FkZXIvSGlzdG9yeUNvbnRyb2xsZXIuY3Bw
CiAgICAgbG9hZGVyL0ltYWdlTG9hZGVyLmNwcAogICAgIGxvYWRlci9MaW5rTG9hZGVyLmNwcAor
ICAgIGxvYWRlci9Mb2FkSW5pdGlhdG9ySGFuZGxlLmNwcAogICAgIGxvYWRlci9NYWluUmVzb3Vy
Y2VMb2FkZXIuY3BwCiAgICAgbG9hZGVyL05hdmlnYXRpb25BY3Rpb24uY3BwCisgICAgbG9hZGVy
L051bGxMb2FkSW5pdGlhdG9yLmNwcAogICAgIGxvYWRlci9OZXRzY2FwZVBsdWdJblN0cmVhbUxv
YWRlci5jcHAKICAgICBsb2FkZXIvUGluZ0xvYWRlci5jcHAKICAgICBsb2FkZXIvUGxhY2Vob2xk
ZXJEb2N1bWVudC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxp
c3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IGVmZDg1YjQx
NWRiYjA0MzJjZjNlMTgwY2Q1NGNhYWYyZWRhMWNkNDMuLjA1MDBiMjVhOTFjYzc0NmUzNzQzYTJm
ODJiNjZiMzdmMDdhZDQ1ZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxl
Lmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtMjUz
NCw2ICsyNTM0LDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTSW5pdGlhbFZhbHVlLmggXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NMaW5lQm94Q29udGFp
blZhbHVlLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvY3NzL0NTU0xpbmVCb3hDb250YWluVmFsdWUu
aCBcCisJU291cmNlL1dlYkNvcmUvY3NzL0NTU0xvYWRJbml0aWF0b3IuY3BwIFwKKwlTb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTTG9hZEluaXRpYXRvci5oIFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
TWVkaWFSdWxlLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvY3NzL0NTU01lZGlhUnVsZS5oIFwKIAlT
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTTmFtZXNwYWNlLmggXApAQCAtMzg4MywxMiArMzg4NSwxNyBA
QCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL2xvYWRlci9MaW5rTG9hZGVy
LmggXAogCVNvdXJjZS9XZWJDb3JlL2xvYWRlci9MaW5rTG9hZGVyLmNwcCBcCiAJU291cmNlL1dl
YkNvcmUvbG9hZGVyL0xpbmtMb2FkZXJDbGllbnQuaCBcCisJU291cmNlL1dlYkNvcmUvbG9hZGVy
L0xvYWRJbml0aWF0b3IuaCBcCisJU291cmNlL1dlYkNvcmUvbG9hZGVyL0xvYWRJbml0aWF0b3JI
YW5kbGUuY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9sb2FkZXIvTG9hZEluaXRpYXRvckhhbmRsZS5o
IFwKIAlTb3VyY2UvV2ViQ29yZS9sb2FkZXIvTWFpblJlc291cmNlTG9hZGVyLmNwcCBcCiAJU291
cmNlL1dlYkNvcmUvbG9hZGVyL01haW5SZXNvdXJjZUxvYWRlci5oIFwKIAlTb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvTmF2aWdhdGlvbkFjdGlvbi5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2xvYWRlci9O
YXZpZ2F0aW9uQWN0aW9uLmggXAogCVNvdXJjZS9XZWJDb3JlL2xvYWRlci9OZXRzY2FwZVBsdWdJ
blN0cmVhbUxvYWRlci5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2xvYWRlci9OZXRzY2FwZVBsdWdJ
blN0cmVhbUxvYWRlci5oIFwKKwlTb3VyY2UvV2ViQ29yZS9sb2FkZXIvTnVsbExvYWRJbml0aWF0
b3IuY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9sb2FkZXIvTnVsbExvYWRJbml0aWF0b3IuaCBcCiAJ
U291cmNlL1dlYkNvcmUvbG9hZGVyL1BpbmdMb2FkZXIuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9s
b2FkZXIvUGluZ0xvYWRlci5oIFwKIAlTb3VyY2UvV2ViQ29yZS9sb2FkZXIvUGxhY2Vob2xkZXJE
b2N1bWVudC5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaSBiL1Nv
dXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKaW5kZXggYTRkODc1NDdhNGE5ZDBhNTA5ZTEzZjk0ZmIw
ZGU1M2IyZDhkZjE0OC4uM2Q0Yzk0NzU1OTY5NWUzODFlOWRiNTk1ZDdkNWFiYjZlY2QwYzE2YyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9UYXJnZXQucHJpCkBAIC0yNzgsNiArMjc4LDcgQEAgU09VUkNFUyArPSBcCiAgICAgY3NzL0NT
U0luaGVyaXRlZFZhbHVlLmNwcCBcCiAgICAgY3NzL0NTU0luaXRpYWxWYWx1ZS5jcHAgXAogICAg
IGNzcy9DU1NMaW5lQm94Q29udGFpblZhbHVlLmNwcCBcCisgICAgY3NzL0NTU0xvYWRJbml0aWF0
b3IuY3BwIFwKICAgICBjc3MvQ1NTTWVkaWFSdWxlLmNwcCBcCiAgICAgY3NzL0NTU09NVXRpbHMu
Y3BwIFwKICAgICBjc3MvQ1NTUGFnZVJ1bGUuY3BwIFwKQEAgLTgyOSw5ICs4MzAsMTEgQEAgU09V
UkNFUyArPSBcCiAgICAgbG9hZGVyL2ljb24vSWNvbkxvYWRlci5jcHAgXAogICAgIGxvYWRlci9J
bWFnZUxvYWRlci5jcHAgXAogICAgIGxvYWRlci9MaW5rTG9hZGVyLmNwcCBcCisgICAgbG9hZGVy
L0xvYWRJbml0aWF0b3JIYW5kbGUuY3BwIFwKICAgICBsb2FkZXIvTWFpblJlc291cmNlTG9hZGVy
LmNwcCBcCiAgICAgbG9hZGVyL05hdmlnYXRpb25BY3Rpb24uY3BwIFwKICAgICBsb2FkZXIvTmV0
c2NhcGVQbHVnSW5TdHJlYW1Mb2FkZXIuY3BwIFwKKyAgICBsb2FkZXIvTnVsbExvYWRJbml0aWF0
b3IuY3BwIFwKICAgICBsb2FkZXIvUGluZ0xvYWRlci5jcHAgXAogICAgIGxvYWRlci9QbGFjZWhv
bGRlckRvY3VtZW50LmNwcCBcCiAgICAgbG9hZGVyL1BvbGljeUNhbGxiYWNrLmNwcCBcCkBAIC0x
NDQxLDYgKzE0NDQsNyBAQCBIRUFERVJTICs9IFwKICAgICBjc3MvQ1NTSW1wb3J0UnVsZS5oIFwK
ICAgICBjc3MvQ1NTSW5oZXJpdGVkVmFsdWUuaCBcCiAgICAgY3NzL0NTU0luaXRpYWxWYWx1ZS5o
IFwKKyAgICBjc3MvQ1NTTG9hZEluaXRpYXRvci5oIFwKICAgICBjc3MvQ1NTTWVkaWFSdWxlLmgg
XAogICAgIGNzcy9DU1NPTVV0aWxzLmggXAogICAgIGNzcy9DU1NQYWdlUnVsZS5oIFwKQEAgLTE5
NTEsOSArMTk1NSwxMiBAQCBIRUFERVJTICs9IFwKICAgICBsb2FkZXIvSW1hZ2VMb2FkZXIuaCBc
CiAgICAgbG9hZGVyL0xpbmtMb2FkZXIuaCBcCiAgICAgbG9hZGVyL0xpbmtMb2FkZXJDbGllbnQu
aCBcCisgICAgbG9hZGVyL0xvYWRJbml0aWF0b3IuaCBcCisgICAgbG9hZGVyL0xvYWRJbml0aWF0
b3JIYW5kbGUuaCBcCiAgICAgbG9hZGVyL01haW5SZXNvdXJjZUxvYWRlci5oIFwKICAgICBsb2Fk
ZXIvTmF2aWdhdGlvbkFjdGlvbi5oIFwKICAgICBsb2FkZXIvTmV0c2NhcGVQbHVnSW5TdHJlYW1M
b2FkZXIuaCBcCisgICAgbG9hZGVyL051bGxMb2FkSW5pdGlhdG9yLmggXAogICAgIGxvYWRlci9Q
bGFjZWhvbGRlckRvY3VtZW50LmggXAogICAgIGxvYWRlci9QcmVyZW5kZXJlci5oIFwKICAgICBs
b2FkZXIvUHJlcmVuZGVyZXJDbGllbnQuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggYTEyNzE2MmIw
ODg4ZGY4ZDRkZmEzODgwYTM3NDIxNWU2YjFlMTFlMC4uNjA5YzJiYzMzMjJhOTNkMmJlZjI2NTg2
OTNjNzJkZDgyMTE0MzcxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBp
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMjU0Miw2ICsyNTQyLDggQEAK
ICAgICAgICAgICAgICdjc3MvQ1NTSW5pdGlhbFZhbHVlLmNwcCcsCiAgICAgICAgICAgICAnY3Nz
L0NTU0luaXRpYWxWYWx1ZS5oJywKICAgICAgICAgICAgICdjc3MvQ1NTTGluZUJveENvbnRhaW5W
YWx1ZS5jcHAnLAorICAgICAgICAgICAgJ2Nzcy9DU1NMb2FkSW5pdGlhdG9yLmNwcCcsCisgICAg
ICAgICAgICAnY3NzL0NTU0xvYWRJbml0aWF0b3IuaCcsCiAgICAgICAgICAgICAnY3NzL0NTU01l
ZGlhUnVsZS5jcHAnLAogICAgICAgICAgICAgJ2Nzcy9DU1NNZWRpYVJ1bGUuaCcsCiAgICAgICAg
ICAgICAnY3NzL0NTU05hbWVzcGFjZS5oJywKQEAgLTI5NzUsMTEgKzI5NzcsMTYgQEAKICAgICAg
ICAgICAgICdsb2FkZXIvTGlua0xvYWRlci5jcHAnLAogICAgICAgICAgICAgJ2xvYWRlci9MaW5r
TG9hZGVyLmgnLAogICAgICAgICAgICAgJ2xvYWRlci9MaW5rTG9hZGVyQ2xpZW50LmgnLAorICAg
ICAgICAgICAgJ2xvYWRlci9Mb2FkSW5pdGlhdG9yLmgnLAorICAgICAgICAgICAgJ2xvYWRlci9M
b2FkSW5pdGlhdG9ySGFuZGxlLmNwcCcsCisgICAgICAgICAgICAnbG9hZGVyL0xvYWRJbml0aWF0
b3JIYW5kbGUuaCcsCiAgICAgICAgICAgICAnbG9hZGVyL01haW5SZXNvdXJjZUxvYWRlci5jcHAn
LAogICAgICAgICAgICAgJ2xvYWRlci9NYWluUmVzb3VyY2VMb2FkZXIuaCcsCiAgICAgICAgICAg
ICAnbG9hZGVyL05hdmlnYXRpb25BY3Rpb24uY3BwJywKICAgICAgICAgICAgICdsb2FkZXIvTmF2
aWdhdGlvblNjaGVkdWxlci5jcHAnLAogICAgICAgICAgICAgJ2xvYWRlci9OZXRzY2FwZVBsdWdJ
blN0cmVhbUxvYWRlci5jcHAnLAorICAgICAgICAgICAgJ2xvYWRlci9OdWxsTG9hZEluaXRpYXRv
ci5jcHAnLAorICAgICAgICAgICAgJ2xvYWRlci9OdWxsTG9hZEluaXRpYXRvci5oJywKICAgICAg
ICAgICAgICdsb2FkZXIvUGluZ0xvYWRlci5jcHAnLAogICAgICAgICAgICAgJ2xvYWRlci9QaW5n
TG9hZGVyLmgnLAogICAgICAgICAgICAgJ2xvYWRlci9QbGFjZWhvbGRlckRvY3VtZW50LmNwcCcs
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJv
aiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IDdh
NzU3NWE4ODkzNzExYzAwYjA4ZTIzYzA0YjE2MjExMjMzMDIxYjEuLjkwNzA2ZGNiZGI1ZjU2MTFj
M2FjNjBjZDdkZjhkNDg2ODBjMmJmNzYgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNw
cm9qL1dlYkNvcmUudmNwcm9qCkBAIC0yNzY1OSw2ICsyNzY1OSwxOCBAQAogCQkJCT4KIAkJCTwv
RmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxsb2FkZXJcTG9hZEluaXRpYXRv
ci5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxs
b2FkZXJcTG9hZEluaXRpYXRvckhhbmRsZS5jcHAiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZp
bGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGxvYWRlclxMb2FkSW5pdGlhdG9ySGFuZGxlLmgiCisJ
CQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGxvYWRlclxN
YWluUmVzb3VyY2VMb2FkZXIuY3BwIgogCQkJCT4KIAkJCTwvRmlsZT4KQEAgLTI3NjkxLDYgKzI3
NzAzLDE0IEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9
Ii4uXGxvYWRlclxOdWxsTG9hZEluaXRpYXRvci5jcHAiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJ
PEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGxvYWRlclxOdWxsTG9hZEluaXRpYXRvci5oIgor
CQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxsb2FkZXJc
UGluZ0xvYWRlci5jcHAiCiAJCQkJPgogCQkJPC9GaWxlPgpAQCAtMzYyNTksNiArMzYyNzksMTQg
QEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cY3Nz
XENTU0xvYWRJbml0aWF0b3IuY3BwIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJ
UmVsYXRpdmVQYXRoPSIuLlxjc3NcQ1NTTG9hZEluaXRpYXRvci5oIgorCQkJCT4KKwkJCTwvRmls
ZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxjc3NcQ1NTTWVkaWFSdWxlLmNwcCIK
IAkJCQk+CiAJCQkJPEZpbGVDb25maWd1cmF0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggOTgwODE3ZTFmYmI2ZDY5ZjdkMzk5
MzFjMmEzZTJmOTY5YTllYzkwNi4uOWZjZTk4NTZlNzNjMGYxYWUxMzE1NWU5NWUzNjFlNzhlNTk3
MmNiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagpAQCAtMjk1OCw2ICsyOTU4LDEzIEBACiAJCTg2QkUzNDAzMTUwNThDQjIwMENFMEZE
OCAvKiBQZXJmb3JtYW5jZUVudHJ5TGlzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA4NkJFMzNGRDE1MDU4Q0IyMDBDRTBGRDggLyogUGVyZm9ybWFu
Y2VFbnRyeUxpc3QuY3BwICovOyB9OwogCQk4NkJFMzQwNDE1MDU4Q0IyMDBDRTBGRDggLyogUGVy
Zm9ybWFuY2VFbnRyeUxpc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDg2QkUzM0ZFMTUwNThDQjIwMENFMEZEOCAvKiBQZXJmb3JtYW5jZUVudHJ5TGlz
dC5oICovOyB9OwogCQk4NkQ5ODJGNzEyNUMxNTQwMDBBRDlFM0QgLyogRG9jdW1lbnRUaW1pbmcu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2RDk4MkY2
MTI1QzE1NDAwMEFEOUUzRCAvKiBEb2N1bWVudFRpbWluZy5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTg2RkVERjAwMTYxQjlFNUYwMDJBMjQxOSAv
KiBMb2FkSW5pdGlhdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA4Njg2QzhGRjE2MUI5ODFFMDBDMkYwQUUgLyogTG9hZEluaXRpYXRvci5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTg2RkVERjAxMTYx
QjlFNUYwMDJBMjQxOSAvKiBMb2FkSW5pdGlhdG9ySGFuZGxlLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2ODZDOTAwMTYxQjk4MUUwMEMyRjBBRSAv
KiBMb2FkSW5pdGlhdG9ySGFuZGxlLmNwcCAqLzsgfTsKKwkJODZGRURGMDIxNjFCOUU1RjAwMkEy
NDE5IC8qIExvYWRJbml0aWF0b3JIYW5kbGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDg2ODZDOTAxMTYxQjk4MUUwMEMyRjBBRSAvKiBMb2FkSW5pdGlh
dG9ySGFuZGxlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKKwkJODZGRURGMDMxNjFCOUU2OTAwMkEyNDE5IC8qIE51bGxMb2FkSW5pdGlhdG9yLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2ODZDOTAyMTYx
Qjk4MUUwMEMyRjBBRSAvKiBOdWxsTG9hZEluaXRpYXRvci5jcHAgKi87IH07CisJCTg2RkVERjA0
MTYxQjlFNjkwMDJBMjQxOSAvKiBOdWxsTG9hZEluaXRpYXRvci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODY4NkM5MDMxNjFCOTgxRTAwQzJGMEFFIC8q
IE51bGxMb2FkSW5pdGlhdG9yLmggKi87IH07CisJCTg2RkVERjA1MTYxQjlFOEQwMDJBMjQxOSAv
KiBDU1NMb2FkSW5pdGlhdG9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDg2ODZDOEZEMTYxQjk3RjYwMEMyRjBBRSAvKiBDU1NMb2FkSW5pdGlhdG9y
LmNwcCAqLzsgfTsKKwkJODZGRURGMDYxNjFCOUU4RDAwMkEyNDE5IC8qIENTU0xvYWRJbml0aWF0
b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2ODZD
OEZFMTYxQjk3RjYwMEMyRjBBRSAvKiBDU1NMb2FkSW5pdGlhdG9yLmggKi87IH07CiAJCTg2RkY4
ODYxMTVERTNEMDcwMEJENkIyOCAvKiBSZW5kZXJUZXh0VHJhY2tDdWUuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODZGRjg4NUUxNURFM0I4MjAwQkQ2
QjI4IC8qIFJlbmRlclRleHRUcmFja0N1ZS5jcHAgKi87IH07CiAJCTg2RkY4ODYyMTVERTNEMDcw
MEJENkIyOCAvKiBSZW5kZXJUZXh0VHJhY2tDdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2RkY4ODVGMTVERTNCODIwMEJENkIyOCAvKiBSZW5kZXJU
ZXh0VHJhY2tDdWUuaCAqLzsgfTsKIAkJODkwQUUwRTExMjU2QTA3OTAwRjU5NjhDIC8qIERpcmVj
dG9yeVJlYWRlckJhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDg5MEFFMEUwMTI1NkEwNzkwMEY1OTY4QyAvKiBEaXJlY3RvcnlSZWFkZXJCYXNlLmgg
Ki87IH07CkBAIC0xMDEyMyw2ICsxMDEzMCwxMyBAQAogCQk4NjUxMkVEQjE1NEEyQUVFMDBBOTA0
MjYgLyogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODY1MTJFREMxNTRBMkFFRjAwQTkwNDI2IC8qIFBlcmZvcm1h
bmNlUmVzb3VyY2VUaW1pbmcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGVy
Zm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4
NjUxMkVERDE1NEEyQUVGMDBBOTA0MjYgLyogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5pZGwg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5pZGw7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg2ODZDOEZEMTYxQjk3RjYwMEMyRjBBRSAvKiBD
U1NMb2FkSW5pdGlhdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IENTU0xvYWRJbml0aWF0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4Njg2
QzhGRTE2MUI5N0Y2MDBDMkYwQUUgLyogQ1NTTG9hZEluaXRpYXRvci5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBDU1NMb2FkSW5pdGlhdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTg2ODZDOEZGMTYxQjk4MUUwMEMyRjBBRSAvKiBMb2FkSW5pdGlhdG9yLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExvYWRJbml0aWF0b3IuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODY4NkM5MDAxNjFCOTgxRTAwQzJGMEFFIC8qIExvYWRJ
bml0aWF0b3JIYW5kbGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
TG9hZEluaXRpYXRvckhhbmRsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg2
ODZDOTAxMTYxQjk4MUUwMEMyRjBBRSAvKiBMb2FkSW5pdGlhdG9ySGFuZGxlLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExvYWRJbml0aWF0b3JIYW5kbGUuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODY4NkM5MDIxNjFCOTgxRTAwQzJGMEFFIC8qIE51bGxMb2Fk
SW5pdGlhdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE51bGxM
b2FkSW5pdGlhdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODY4NkM5MDMx
NjFCOTgxRTAwQzJGMEFFIC8qIE51bGxMb2FkSW5pdGlhdG9yLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IE51bGxMb2FkSW5pdGlhdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTg2QkUzM0ZBMTUwNThDQjIwMENFMEZEOCAvKiBQZXJmb3JtYW5jZUVudHJ5LmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBlcmZvcm1hbmNlRW50cnku
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NkJFMzNGQjE1MDU4Q0IyMDBDRTBG
RDggLyogUGVyZm9ybWFuY2VFbnRyeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBQZXJmb3JtYW5jZUVudHJ5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg2QkUz
M0ZDMTUwNThDQjIwMENFMEZEOCAvKiBQZXJmb3JtYW5jZUVudHJ5LmlkbCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQ7IHBhdGggPSBQZXJmb3JtYW5jZUVudHJ5LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKQEAgLTIwNjE1LDYgKzIwNjI5LDkgQEAKIAkJCQk5OENFNDMyNTEyOUUwMEJEMDA1ODIxREMg
LyogTGlua0xvYWRlci5jcHAgKi8sCiAJCQkJOThDRTQzMjkxMjlFMDBFNTAwNTgyMURDIC8qIExp
bmtMb2FkZXIuaCAqLywKIAkJCQk5ODQyNjRFRjEyRDUyODBBMDAwRDg4QTQgLyogTGlua0xvYWRl
ckNsaWVudC5oICovLAorCQkJCTg2ODZDOEZGMTYxQjk4MUUwMEMyRjBBRSAvKiBMb2FkSW5pdGlh
dG9yLmggKi8sCisJCQkJODY4NkM5MDAxNjFCOTgxRTAwQzJGMEFFIC8qIExvYWRJbml0aWF0b3JI
YW5kbGUuY3BwICovLAorCQkJCTg2ODZDOTAxMTYxQjk4MUUwMEMyRjBBRSAvKiBMb2FkSW5pdGlh
dG9ySGFuZGxlLmggKi8sCiAJCQkJOTNFMjI3REMwQUY1ODlBRDAwRDQ4MzI0IC8qIE1haW5SZXNv
dXJjZUxvYWRlci5jcHAgKi8sCiAJCQkJNjU2RDM3MjkwQURCQTVERTAwQTQ1NTREIC8qIE1haW5S
ZXNvdXJjZUxvYWRlci5oICovLAogCQkJCTkzQ0NGMDVGMEFGNkNBNzYwMDAxOEU4OSAvKiBOYXZp
Z2F0aW9uQWN0aW9uLmNwcCAqLywKQEAgLTIwNjIzLDYgKzIwNjQwLDggQEAKIAkJCQk5NzlGNDNE
MjEwNzVFNDRBMDAwMEY4M0IgLyogTmF2aWdhdGlvblNjaGVkdWxlci5oICovLAogCQkJCTkzRTIy
N0REMEFGNTg5QUQwMEQ0ODMyNCAvKiBOZXRzY2FwZVBsdWdJblN0cmVhbUxvYWRlci5jcHAgKi8s
CiAJCQkJNjU2RDM3MkIwQURCQTVERTAwQTQ1NTREIC8qIE5ldHNjYXBlUGx1Z0luU3RyZWFtTG9h
ZGVyLmggKi8sCisJCQkJODY4NkM5MDIxNjFCOTgxRTAwQzJGMEFFIC8qIE51bGxMb2FkSW5pdGlh
dG9yLmNwcCAqLywKKwkJCQk4Njg2QzkwMzE2MUI5ODFFMDBDMkYwQUUgLyogTnVsbExvYWRJbml0
aWF0b3IuaCAqLywKIAkJCQlEMEZGMkE1QjExRjhDNDVBMDA3RTc0RTAgLyogUGluZ0xvYWRlci5j
cHAgKi8sCiAJCQkJRDBGRjJBNUMxMUY4QzQ1QTAwN0U3NEUwIC8qIFBpbmdMb2FkZXIuaCAqLywK
IAkJCQkzNzdDNENERTEwMTRFOUY2MDBCOUFFNDIgLyogUGxhY2Vob2xkZXJEb2N1bWVudC5jcHAg
Ki8sCkBAIC0yMTExMiw2ICsyMTEzMSw4IEBACiAJCQkJQTgwRTZDREUwQTE5ODlDQTAwN0ZCOEM1
IC8qIENTU0luaXRpYWxWYWx1ZS5oICovLAogCQkJCUJDNzcyRTE1MTMzMTYyQzIwMDFFQzlDRSAv
KiBDU1NMaW5lQm94Q29udGFpblZhbHVlLmNwcCAqLywKIAkJCQlCQzc3MkUxMjEzMzE2MjBDMDAx
RUM5Q0UgLyogQ1NTTGluZUJveENvbnRhaW5WYWx1ZS5oICovLAorCQkJCTg2ODZDOEZEMTYxQjk3
RjYwMEMyRjBBRSAvKiBDU1NMb2FkSW5pdGlhdG9yLmNwcCAqLywKKwkJCQk4Njg2QzhGRTE2MUI5
N0Y2MDBDMkYwQUUgLyogQ1NTTG9hZEluaXRpYXRvci5oICovLAogCQkJCUE4MEU2Q0QyMEExOTg5
Q0EwMDdGQjhDNSAvKiBDU1NNZWRpYVJ1bGUuY3BwICovLAogCQkJCUE4MEU2Q0Q5MEExOTg5Q0Ew
MDdGQjhDNSAvKiBDU1NNZWRpYVJ1bGUuaCAqLywKIAkJCQk4NUM1NkNBMjBBQTg5QzEwMDBEOTU3
NTUgLyogQ1NTTWVkaWFSdWxlLmlkbCAqLywKQEAgLTI1NTI5LDYgKzI1NTUwLDEwIEBACiAJCQkJ
OTMxQ0JEMEQxNjFBNDRFOTAwRTRDODc0IC8qIFNjcm9sbGluZ1N0YXRlTm9kZS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJOTMxQ0JEMEYxNjFBNDRFOTAwRTRDODc0IC8qIFNjcm9sbGluZ1N0YXRlU2Ny
b2xsaW5nTm9kZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTMxQ0JEMTExNjFBNDRFOTAwRTRDODc0
IC8qIFNjcm9sbGluZ1N0YXRlVHJlZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJODZGRURGMDAxNjFC
OUU1RjAwMkEyNDE5IC8qIExvYWRJbml0aWF0b3IuaCBpbiBIZWFkZXJzICovLAorCQkJCTg2RkVE
RjAyMTYxQjlFNUYwMDJBMjQxOSAvKiBMb2FkSW5pdGlhdG9ySGFuZGxlLmggaW4gSGVhZGVycyAq
LywKKwkJCQk4NkZFREYwNDE2MUI5RTY5MDAyQTI0MTkgLyogTnVsbExvYWRJbml0aWF0b3IuaCBp
biBIZWFkZXJzICovLAorCQkJCTg2RkVERjA2MTYxQjlFOEQwMDJBMjQxOSAvKiBDU1NMb2FkSW5p
dGlhdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBv
c3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTI4NjI0LDYgKzI4NjQ5LDkgQEAKIAkJCQk5MzFD
QkQwRTE2MUE0NEU5MDBFNEM4NzQgLyogU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTkzMUNCRDEwMTYxQTQ0RTkwMEU0Qzg3NCAvKiBTY3JvbGxpbmdT
dGF0ZVRyZWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTMxQ0JEMTMxNjFBNDRGODAwRTRDODc0
IC8qIFNjcm9sbGluZ1N0YXRlTm9kZU1hYy5tbSBpbiBTb3VyY2VzICovLAorCQkJCTg2RkVERjAx
MTYxQjlFNUYwMDJBMjQxOSAvKiBMb2FkSW5pdGlhdG9ySGFuZGxlLmNwcCBpbiBTb3VyY2VzICov
LAorCQkJCTg2RkVERjAzMTYxQjlFNjkwMDJBMjQxOSAvKiBOdWxsTG9hZEluaXRpYXRvci5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQk4NkZFREYwNTE2MUI5RThEMDAyQTI0MTkgLyogQ1NTTG9hZElu
aXRpYXRvci5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVu
dFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NGb250RmFjZVNyY1ZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFj
ZVNyY1ZhbHVlLmNwcAppbmRleCAyYTFjMDQ3ODdkNmEwYzRjODcxMzgwNDRhMmMxNzU1ODk4NzEw
Y2ZiLi4wNzcyZjQwOTU5MWRmZmM4ODViZTdmYjQ4Y2NlZjA0YTRjNzJhN2I1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VTcmNWYWx1ZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlU3JjVmFsdWUuY3BwCkBAIC0yNSw2ICsyNSw3IEBACiAK
ICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJDU1NGb250RmFjZVNyY1ZhbHVlLmgiCisj
aW5jbHVkZSAiQ1NTTG9hZEluaXRpYXRvci5oIgogI2luY2x1ZGUgIkNhY2hlZEZvbnQuaCIKICNp
bmNsdWRlICJDYWNoZWRSZXNvdXJjZUxvYWRlci5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCkBA
IC05Niw3ICs5Nyw3IEBAIENhY2hlZEZvbnQqIENTU0ZvbnRGYWNlU3JjVmFsdWU6OmNhY2hlZEZv
bnQoRG9jdW1lbnQqIGRvY3VtZW50KQogewogICAgIGlmICghbV9jYWNoZWRGb250KSB7CiAgICAg
ICAgIFJlc291cmNlUmVxdWVzdCByZXF1ZXN0KGRvY3VtZW50LT5jb21wbGV0ZVVSTChtX3Jlc291
cmNlKSk7Ci0gICAgICAgIG1fY2FjaGVkRm9udCA9IGRvY3VtZW50LT5jYWNoZWRSZXNvdXJjZUxv
YWRlcigpLT5yZXF1ZXN0Rm9udChyZXF1ZXN0KTsKKyAgICAgICAgbV9jYWNoZWRGb250ID0gZG9j
dW1lbnQtPmNhY2hlZFJlc291cmNlTG9hZGVyKCktPnJlcXVlc3RGb250KHJlcXVlc3QsIENTU0xv
YWRJbml0aWF0b3IoZG9jdW1lbnQpKTsKICAgICB9CiAgICAgcmV0dXJuIG1fY2FjaGVkRm9udC5n
ZXQoKTsKIH0KQEAgLTExMyw0ICsxMTQsMyBAQCB2b2lkIENTU0ZvbnRGYWNlU3JjVmFsdWU6OnJl
cG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYgogfQog
CiB9Ci0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZVNldFZhbHVlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZVNldFZhbHVlLmNwcAppbmRleCA2ZTAyYTIw
Zjk1YWMzZjE0ZjQ2MWExYzUxMDBiNGFkNjJiZDllZjBhLi4xOWZjYmU1NWI3YWY4YThmMmQzN2Yx
NjZhMTE4YzE5NzAzYjdhM2IyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1h
Z2VTZXRWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlU2V0VmFsdWUu
Y3BwCkBAIC0yOSw2ICsyOSw3IEBACiAjaWYgRU5BQkxFKENTU19JTUFHRV9TRVQpCiAKICNpbmNs
dWRlICJDU1NJbWFnZVZhbHVlLmgiCisjaW5jbHVkZSAiQ1NTTG9hZEluaXRpYXRvci5oIgogI2lu
Y2x1ZGUgIkNTU1ByaW1pdGl2ZVZhbHVlLmgiCiAjaW5jbHVkZSAiQ2FjaGVkSW1hZ2UuaCIKICNp
bmNsdWRlICJDYWNoZWRSZXNvdXJjZUxvYWRlci5oIgpAQCAtMTA5LDcgKzExMCw3IEBAIFN0eWxl
Q2FjaGVkSW1hZ2VTZXQqIENTU0ltYWdlU2V0VmFsdWU6OmNhY2hlZEltYWdlU2V0KENhY2hlZFJl
c291cmNlTG9hZGVyKiBsb2FkCiAgICAgICAgIC8vIGFuZCBhbnkgQ1NTIHRyYW5zZm9ybXMuIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MTY5OAogICAgICAgICBJbWFn
ZVdpdGhTY2FsZSBpbWFnZSA9IGJlc3RJbWFnZUZvclNjYWxlRmFjdG9yKCk7CiAgICAgICAgIFJl
c291cmNlUmVxdWVzdCByZXF1ZXN0KGxvYWRlci0+ZG9jdW1lbnQoKS0+Y29tcGxldGVVUkwoaW1h
Z2UuaW1hZ2VVUkwpKTsKLSAgICAgICAgaWYgKENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZElt
YWdlPiBjYWNoZWRJbWFnZSA9IGxvYWRlci0+cmVxdWVzdEltYWdlKHJlcXVlc3QpKSB7CisgICAg
ICAgIGlmIChDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRJbWFnZT4gY2FjaGVkSW1hZ2UgPSBs
b2FkZXItPnJlcXVlc3RJbWFnZShyZXF1ZXN0LCBDU1NMb2FkSW5pdGlhdG9yKGRvY3VtZW50KSkp
IHsKICAgICAgICAgICAgIG1faW1hZ2VTZXQgPSBTdHlsZUNhY2hlZEltYWdlU2V0OjpjcmVhdGUo
Y2FjaGVkSW1hZ2UuZ2V0KCksIGltYWdlLnNjYWxlRmFjdG9yLCB0aGlzKTsKICAgICAgICAgICAg
IG1fYWNjZXNzZWRCZXN0Rml0SW1hZ2UgPSB0cnVlOwogICAgICAgICB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTSW1hZ2VWYWx1ZS5jcHAKaW5kZXggNzI2YzJjMDQzNDcxZTk2N2I5MmJjOWZhNzY0YzMyMzlm
MmI3YTU0Ni4uYjcyMjdjOTRiOGIxZmYwM2Q3ZjZlYWZlOTA0MWE1ODcwMTcwZjllZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NJbWFnZVZhbHVlLmNwcApAQCAtMjIsNiArMjIsNyBAQAogI2luY2x1ZGUg
IkNTU0ltYWdlVmFsdWUuaCIKIAogI2luY2x1ZGUgIkNTU0N1cnNvckltYWdlVmFsdWUuaCIKKyNp
bmNsdWRlICJDU1NMb2FkSW5pdGlhdG9yLmgiCiAjaW5jbHVkZSAiQ1NTUGFyc2VyLmgiCiAjaW5j
bHVkZSAiQ1NTVmFsdWVLZXl3b3Jkcy5oIgogI2luY2x1ZGUgIkNhY2hlZEltYWdlLmgiCkBAIC04
Myw3ICs4NCw3IEBAIFN0eWxlQ2FjaGVkSW1hZ2UqIENTU0ltYWdlVmFsdWU6OmNhY2hlZEltYWdl
KENhY2hlZFJlc291cmNlTG9hZGVyKiBsb2FkZXIsIGNvbnN0CiAgICAgICAgIG1fYWNjZXNzZWRJ
bWFnZSA9IHRydWU7CiAKICAgICAgICAgUmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QobG9hZGVyLT5k
b2N1bWVudCgpLT5jb21wbGV0ZVVSTCh1cmwpKTsKLSAgICAgICAgaWYgKENhY2hlZFJlc291cmNl
SGFuZGxlPENhY2hlZEltYWdlPiBjYWNoZWRJbWFnZSA9IGxvYWRlci0+cmVxdWVzdEltYWdlKHJl
cXVlc3QpKQorICAgICAgICBpZiAoQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkSW1hZ2U+IGNh
Y2hlZEltYWdlID0gbG9hZGVyLT5yZXF1ZXN0SW1hZ2UocmVxdWVzdCwgQ1NTTG9hZEluaXRpYXRv
cihsb2FkZXItPmRvY3VtZW50KCkpKSkKICAgICAgICAgICAgIG1faW1hZ2UgPSBTdHlsZUNhY2hl
ZEltYWdlOjpjcmVhdGUoY2FjaGVkSW1hZ2UuZ2V0KCkpOwogICAgIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU0xvYWRJbml0aWF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0xvYWRJbml0aWF0b3IuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJjNmEwOWFhOTdjNzQyZTQ1MGI4
NGQ2OGIyYjNiNDc2NTIxZmIwZTkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTTG9hZEluaXRpYXRvci5jcHAKQEAgLTAsMCArMSw1MCBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24u
CisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMg
b2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcu
aCIKKyNpbmNsdWRlICJDU1NMb2FkSW5pdGlhdG9yLmgiCisKKyNpbmNsdWRlIDx3dGYvU3RkTGli
RXh0cmFzLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nLmg+CisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKworQ1NTTG9hZEluaXRpYXRvcjo6Q1NTTG9hZEluaXRpYXRvcihEb2N1bWVu
dCogZG9jdW1lbnQpCisgICAgOiBtX2RvY3VtZW50KGRvY3VtZW50KQoreworfQorCitjb25zdCBX
VEY6OkF0b21pY1N0cmluZyYgQ1NTTG9hZEluaXRpYXRvcjo6aW5pdGlhdG9yTmFtZSgpIGNvbnN0
Cit7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIG5hbWUsICgiY3NzIiwg
QXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCkpOworICAgIHJldHVybiBuYW1lOwor
fQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTTG9hZEluaXRpYXRvci5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0xvYWRJbml0aWF0
b3IuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi41NThmYWNhMGNhMjc2NWVmM2VjOWFhNjEyMzE5MzdlOTY2NjA5N2Qy
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0xvYWRJbml0aWF0b3Iu
aApAQCAtMCwwICsxLDU2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
CisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
CisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAq
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBDU1NMb2FkSW5pdGlhdG9yX2gKKyNkZWZpbmUgQ1NT
TG9hZEluaXRpYXRvcl9oCisKKyNpbmNsdWRlICJMb2FkSW5pdGlhdG9yLmgiCisKK25hbWVzcGFj
ZSBXVEYgeworY2xhc3MgQXRvbWljU3RyaW5nOworfQorCituYW1lc3BhY2UgV2ViQ29yZSB7Citj
bGFzcyBEb2N1bWVudDsKKworY2xhc3MgQ1NTTG9hZEluaXRpYXRvciA6IHB1YmxpYyBMb2FkSW5p
dGlhdG9yIHsKK3B1YmxpYzoKKyAgICBDU1NMb2FkSW5pdGlhdG9yKERvY3VtZW50Kik7CisKKyAg
ICB2aXJ0dWFsIGNvbnN0IFdURjo6QXRvbWljU3RyaW5nJiBpbml0aWF0b3JOYW1lKCkgY29uc3Q7
CisgICAgdmlydHVhbCBEb2N1bWVudCogaW5pdGlhdG9yRG9jdW1lbnQoKSBjb25zdCB7IHJldHVy
biBtX2RvY3VtZW50OyB9CisKK3ByaXZhdGU6CisgICAgRG9jdW1lbnQqIG1fZG9jdW1lbnQ7Cit9
OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBDU1NMb2FkSW5pdGlhdG9y
X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGVJbXBvcnQuY3BwIGIv
U291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZUltcG9ydC5jcHAKaW5kZXggMjZmMjllODJmODBh
OWZmNTFkYWNlNTcwZDhmNDdlOTM4YWU1ZGUwYS4uOTNmY2UyNWMyZDQ2ZmI0MWNiODJkMWUxN2E2
MzkzYTM1ODAwNzI3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZUlt
cG9ydC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZUltcG9ydC5jcHAKQEAg
LTIyLDYgKzIyLDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJTdHlsZVJ1bGVJ
bXBvcnQuaCIKIAorI2luY2x1ZGUgIkNTU0xvYWRJbml0aWF0b3IuaCIKICNpbmNsdWRlICJDU1NT
dHlsZVNoZWV0LmgiCiAjaW5jbHVkZSAiQ2FjaGVkQ1NTU3R5bGVTaGVldC5oIgogI2luY2x1ZGUg
IkNhY2hlZFJlc291cmNlTG9hZGVyLmgiCkBAIC0xMTcsOSArMTE4LDkgQEAgdm9pZCBTdHlsZVJ1
bGVJbXBvcnQ6OnJlcXVlc3RTdHlsZVNoZWV0KCkKIAogICAgIFJlc291cmNlUmVxdWVzdCByZXF1
ZXN0KGFic1VSTCk7CiAgICAgaWYgKG1fcGFyZW50U3R5bGVTaGVldC0+aXNVc2VyU3R5bGVTaGVl
dCgpKQotICAgICAgICBtX2NhY2hlZFNoZWV0ID0gY2FjaGVkUmVzb3VyY2VMb2FkZXItPnJlcXVl
c3RVc2VyQ1NTU3R5bGVTaGVldChyZXF1ZXN0LCBtX3BhcmVudFN0eWxlU2hlZXQtPmNoYXJzZXQo
KSk7CisgICAgICAgIG1fY2FjaGVkU2hlZXQgPSBjYWNoZWRSZXNvdXJjZUxvYWRlci0+cmVxdWVz
dFVzZXJDU1NTdHlsZVNoZWV0KHJlcXVlc3QsIG1fcGFyZW50U3R5bGVTaGVldC0+Y2hhcnNldCgp
LCBDU1NMb2FkSW5pdGlhdG9yKGRvY3VtZW50KSk7CiAgICAgZWxzZQotICAgICAgICBtX2NhY2hl
ZFNoZWV0ID0gY2FjaGVkUmVzb3VyY2VMb2FkZXItPnJlcXVlc3RDU1NTdHlsZVNoZWV0KHJlcXVl
c3QsIG1fcGFyZW50U3R5bGVTaGVldC0+Y2hhcnNldCgpKTsKKyAgICAgICAgbV9jYWNoZWRTaGVl
dCA9IGNhY2hlZFJlc291cmNlTG9hZGVyLT5yZXF1ZXN0Q1NTU3R5bGVTaGVldChyZXF1ZXN0LCBt
X3BhcmVudFN0eWxlU2hlZXQtPmNoYXJzZXQoKSwgQ1NTTG9hZEluaXRpYXRvcihkb2N1bWVudCkp
OwogICAgIGlmIChtX2NhY2hlZFNoZWV0KSB7CiAgICAgICAgIC8vIGlmIHRoZSBpbXBvcnQgcnVs
ZSBpcyBpc3N1ZWQgZHluYW1pY2FsbHksIHRoZSBzaGVldCBtYXkgYmUKICAgICAgICAgLy8gcmVt
b3ZlZCBmcm9tIHRoZSBwZW5kaW5nIHNoZWV0IGNvdW50LCBzbyBsZXQgdGhlIGRvYyBrbm93CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTU1ZHRG9jdW1lbnRWYWx1ZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTU1ZHRG9jdW1lbnRWYWx1ZS5jcHAKaW5k
ZXggNDRjODgwODk0NzBlODM5ZDk3NGViYTAxY2MwNmY3ZDkyMGMxODEyMi4uYWYyOGZmOTdjOThi
OTEwMTM1MTkwZmVlMjg3NWZmNzcxN2ViOTczYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3NzL1dlYktpdENTU1NWR0RvY3VtZW50VmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9XZWJLaXRDU1NTVkdEb2N1bWVudFZhbHVlLmNwcApAQCAtMjcsNiArMjcsNyBAQAogI2lmIEVO
QUJMRShTVkcpCiAjaW5jbHVkZSAiV2ViS2l0Q1NTU1ZHRG9jdW1lbnRWYWx1ZS5oIgogCisjaW5j
bHVkZSAiQ1NTTG9hZEluaXRpYXRvci5oIgogI2luY2x1ZGUgIkNTU1BhcnNlci5oIgogI2luY2x1
ZGUgIkNhY2hlZFJlc291cmNlTG9hZGVyLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKQEAgLTUz
LDcgKzU0LDcgQEAgQ2FjaGVkU1ZHRG9jdW1lbnQqIFdlYktpdENTU1NWR0RvY3VtZW50VmFsdWU6
OmxvYWQoQ2FjaGVkUmVzb3VyY2VMb2FkZXIqIGxvYWRlcikKICAgICAgICAgbV9sb2FkUmVxdWVz
dGVkID0gdHJ1ZTsKIAogICAgICAgICBSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdChsb2FkZXItPmRv
Y3VtZW50KCktPmNvbXBsZXRlVVJMKG1fdXJsKSk7Ci0gICAgICAgIG1fZG9jdW1lbnQgPSBsb2Fk
ZXItPnJlcXVlc3RTVkdEb2N1bWVudChyZXF1ZXN0KTsKKyAgICAgICAgbV9kb2N1bWVudCA9IGxv
YWRlci0+cmVxdWVzdFNWR0RvY3VtZW50KHJlcXVlc3QsIENTU0xvYWRJbml0aWF0b3IobG9hZGVy
LT5kb2N1bWVudCgpKSk7CiAgICAgfQogCiAgICAgcmV0dXJuIG1fZG9jdW1lbnQuZ2V0KCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTU2hhZGVyVmFsdWUuY3BwIGIv
U291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1NoYWRlclZhbHVlLmNwcAppbmRleCA2ZjkzNzNl
MGYwZmEyZGY4YmY0OTQyODFiNWMyZDg3NzI5YWJiOTYxLi5lMjIwMmRlZDg5ZmQzZWY3Mzk3NDY5
NzY5YTlmZjgxMTk1MzIxNzNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0
Q1NTU2hhZGVyVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NTaGFk
ZXJWYWx1ZS5jcHAKQEAgLTMyLDggKzMyLDkgQEAKICNpZiBFTkFCTEUoQ1NTX1NIQURFUlMpCiAj
aW5jbHVkZSAiV2ViS2l0Q1NTU2hhZGVyVmFsdWUuaCIKIAotI2luY2x1ZGUgIkNhY2hlZFJlc291
cmNlTG9hZGVyLmgiCisjaW5jbHVkZSAiQ1NTTG9hZEluaXRpYXRvci5oIgogI2luY2x1ZGUgIkNT
U1BhcnNlci5oIgorI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlTG9hZGVyLmgiCiAjaW5jbHVkZSAi
RG9jdW1lbnQuaCIKICNpbmNsdWRlICJTdHlsZUNhY2hlZFNoYWRlci5oIgogI2luY2x1ZGUgIlN0
eWxlUGVuZGluZ1NoYWRlci5oIgpAQCAtNjAsNyArNjEsNyBAQCBTdHlsZUNhY2hlZFNoYWRlciog
V2ViS2l0Q1NTU2hhZGVyVmFsdWU6OmNhY2hlZFNoYWRlcihDYWNoZWRSZXNvdXJjZUxvYWRlciog
bG9hZAogICAgICAgICBtX2FjY2Vzc2VkU2hhZGVyID0gdHJ1ZTsKIAogICAgICAgICBSZXNvdXJj
ZVJlcXVlc3QgcmVxdWVzdChsb2FkZXItPmRvY3VtZW50KCktPmNvbXBsZXRlVVJMKG1fdXJsKSk7
Ci0gICAgICAgIGlmIChDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRTaGFkZXI+IGNhY2hlZFNo
YWRlciA9IGxvYWRlci0+cmVxdWVzdFNoYWRlcihyZXF1ZXN0KSkKKyAgICAgICAgaWYgKENhY2hl
ZFJlc291cmNlSGFuZGxlPENhY2hlZFNoYWRlcj4gY2FjaGVkU2hhZGVyID0gbG9hZGVyLT5yZXF1
ZXN0U2hhZGVyKHJlcXVlc3QsIENTU0xvYWRJbml0aWF0b3IobG9hZGVyLT5kb2N1bWVudCgpKSkp
CiAgICAgICAgICAgICBtX3NoYWRlciA9IFN0eWxlQ2FjaGVkU2hhZGVyOjpjcmVhdGUoY2FjaGVk
U2hhZGVyLmdldCgpKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9O
b2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oCmluZGV4IGYyOTk2ZTgwZDk0Y2QwNjAx
Zjc3YzY5MGFiNThmYjBkNjM1MjQyZjguLjFkNjAzZTYyMmQzNmQ2YzcxYzcyMmJiOTQ3NWYzYjZj
ODczMjAyYjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL05vZGUuaApAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIkZyYWN0
aW9uYWxMYXlvdXRSZWN0LmgiCiAjaW5jbHVkZSAiS1VSTEhhc2guaCIKICNpbmNsdWRlICJMYXlv
dXRUeXBlcy5oIgorI2luY2x1ZGUgIkxvYWRJbml0aWF0b3IuaCIKICNpbmNsdWRlICJNdXRhdGlv
bk9ic2VydmVyLmgiCiAjaW5jbHVkZSAiUmVuZGVyU3R5bGVDb25zdGFudHMuaCIKICNpbmNsdWRl
ICJTY3JpcHRXcmFwcGFibGUuaCIKQEAgLTExMSw3ICsxMTIsNyBAQCBlbnVtIFN0eWxlQ2hhbmdl
VHlwZSB7CiAgICAgU3ludGhldGljU3R5bGVDaGFuZ2UgPSAzIDw8IG5vZGVTdHlsZUNoYW5nZVNo
aWZ0CiB9OwogCi1jbGFzcyBOb2RlIDogcHVibGljIEV2ZW50VGFyZ2V0LCBwdWJsaWMgU2NyaXB0
V3JhcHBhYmxlLCBwdWJsaWMgVHJlZVNoYXJlZDxOb2RlLCBDb250YWluZXJOb2RlPiB7CitjbGFz
cyBOb2RlIDogcHVibGljIEV2ZW50VGFyZ2V0LCBwdWJsaWMgU2NyaXB0V3JhcHBhYmxlLCBwdWJs
aWMgVHJlZVNoYXJlZDxOb2RlLCBDb250YWluZXJOb2RlPiwgcHVibGljIExvYWRJbml0aWF0b3Ig
ewogICAgIGZyaWVuZCBjbGFzcyBEb2N1bWVudDsKICAgICBmcmllbmQgY2xhc3MgVHJlZVNjb3Bl
OwogICAgIGZyaWVuZCBjbGFzcyBUcmVlU2NvcGVBZG9wdGVyOwpAQCAtNjY5LDYgKzY3MCw5IEBA
IHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCByZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmpl
Y3RJbmZvKikgY29uc3Q7CiAKKyAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgaW5pdGlh
dG9yTmFtZSgpIGNvbnN0IHsgcmV0dXJuIGxvY2FsTmFtZSgpOyB9CisgICAgdmlydHVhbCBEb2N1
bWVudCogaW5pdGlhdG9yRG9jdW1lbnQoKSBjb25zdCB7IHJldHVybiBkb2N1bWVudCgpOyB9CisK
IHByaXZhdGU6CiAgICAgZW51bSBOb2RlRmxhZ3MgewogICAgICAgICBJc1RleHRGbGFnID0gMSwK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uY3Bw
IGIvU291cmNlL1dlYkNvcmUvZG9tL1Byb2Nlc3NpbmdJbnN0cnVjdGlvbi5jcHAKaW5kZXggNjc1
OWJlY2JjNmFkYTQyOGFlZDY3MjIzZDAyM2Y4NGM5NWU5NWU5Yi4uMTMzYmQ1M2RjZGU4YTBlNDhj
NzBjNDRjYzQyMTAxNmY3ZmZiZDg3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1By
b2Nlc3NpbmdJbnN0cnVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1Byb2Nlc3Np
bmdJbnN0cnVjdGlvbi5jcHAKQEAgLTE2Niw3ICsxNjYsNyBAQCB2b2lkIFByb2Nlc3NpbmdJbnN0
cnVjdGlvbjo6Y2hlY2tTdHlsZVNoZWV0KCkKICAgICAgICAgICAgIFJlc291cmNlUmVxdWVzdCBy
ZXF1ZXN0KGRvY3VtZW50KCktPmNvbXBsZXRlVVJMKGhyZWYpKTsKICNpZiBFTkFCTEUoWFNMVCkK
ICAgICAgICAgICAgIGlmIChtX2lzWFNMKQotICAgICAgICAgICAgICAgIG1fY2FjaGVkU2hlZXQg
PSBkb2N1bWVudCgpLT5jYWNoZWRSZXNvdXJjZUxvYWRlcigpLT5yZXF1ZXN0WFNMU3R5bGVTaGVl
dChyZXF1ZXN0KTsKKyAgICAgICAgICAgICAgICBtX2NhY2hlZFNoZWV0ID0gZG9jdW1lbnQoKS0+
Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKS0+cmVxdWVzdFhTTFN0eWxlU2hlZXQocmVxdWVzdCwgKnRo
aXMpOwogICAgICAgICAgICAgZWxzZQogI2VuZGlmCiAgICAgICAgICAgICB7CkBAIC0xNzQsNyAr
MTc0LDcgQEAgdm9pZCBQcm9jZXNzaW5nSW5zdHJ1Y3Rpb246OmNoZWNrU3R5bGVTaGVldCgpCiAg
ICAgICAgICAgICAgICAgaWYgKGNoYXJzZXQuaXNFbXB0eSgpKQogICAgICAgICAgICAgICAgICAg
ICBjaGFyc2V0ID0gZG9jdW1lbnQoKS0+Y2hhcnNldCgpOwogCi0gICAgICAgICAgICAgICAgbV9j
YWNoZWRTaGVldCA9IGRvY3VtZW50KCktPmNhY2hlZFJlc291cmNlTG9hZGVyKCktPnJlcXVlc3RD
U1NTdHlsZVNoZWV0KHJlcXVlc3QsIGNoYXJzZXQpOworICAgICAgICAgICAgICAgIG1fY2FjaGVk
U2hlZXQgPSBkb2N1bWVudCgpLT5jYWNoZWRSZXNvdXJjZUxvYWRlcigpLT5yZXF1ZXN0Q1NTU3R5
bGVTaGVldChyZXF1ZXN0LCBjaGFyc2V0LCAqdGhpcyk7CiAgICAgICAgICAgICB9CiAgICAgICAg
ICAgICBpZiAobV9jYWNoZWRTaGVldCkKICAgICAgICAgICAgICAgICBtX2NhY2hlZFNoZWV0LT5h
ZGRDbGllbnQodGhpcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RWxl
bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5jcHAKaW5kZXggMjA5
ZmM3OWMxYzhjMDhhNGY2OWE5OTk5ODNmYjA3MTk4NjM4ZTY5Ni4uYzZhNGRiNzAwNzI2OWYzYzQ4
MTNiYzBhNDkyMWFiMjQwMmQ2YWYwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1Nj
cmlwdEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmNw
cApAQCAtMjY1LDcgKzI2NSw3IEBAIGJvb2wgU2NyaXB0RWxlbWVudDo6cmVxdWVzdFNjcmlwdChj
b25zdCBTdHJpbmcmIHNvdXJjZVVybCkKICAgICAgICAgICAgIHVwZGF0ZVJlcXVlc3RGb3JBY2Nl
c3NDb250cm9sKHJlcXVlc3QsIG1fZWxlbWVudC0+ZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4o
KSwgYWxsb3dDcmVkZW50aWFscyk7CiAgICAgICAgIH0KIAotICAgICAgICBtX2NhY2hlZFNjcmlw
dCA9IG1fZWxlbWVudC0+ZG9jdW1lbnQoKS0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKS0+cmVxdWVz
dFNjcmlwdChyZXF1ZXN0LCBzY3JpcHRDaGFyc2V0KCkpOworICAgICAgICBtX2NhY2hlZFNjcmlw
dCA9IG1fZWxlbWVudC0+ZG9jdW1lbnQoKS0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKS0+cmVxdWVz
dFNjcmlwdChyZXF1ZXN0LCBzY3JpcHRDaGFyc2V0KCksICplbGVtZW50KCkpOwogICAgICAgICBt
X2lzRXh0ZXJuYWxTY3JpcHQgPSB0cnVlOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MTGlua0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
TGlua0VsZW1lbnQuY3BwCmluZGV4IGZkYzdhNWNjZTMyMzFhZjljMjI0NGUxYzlmNDQ0ODNiODRi
ZjAxMzEuLjk4ODY1NDRjYjIzMDdlZmU3MzUwYWM5MTU0ZmY2MTY4NGY1MzYzNDggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExpbmtFbGVtZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxMaW5rRWxlbWVudC5jcHAKQEAgLTIyMSw4ICsyMjEsOCBAQCB2b2lk
IEhUTUxMaW5rRWxlbWVudDo6cHJvY2VzcygpCiAgICAgICAgIC8vIExvYWQgc3R5bGVzaGVldHMg
dGhhdCBhcmUgbm90IG5lZWRlZCBmb3IgdGhlIHJlbmRlcmluZyBpbW1lZGlhdGVseSB3aXRoIGxv
dyBwcmlvcml0eS4KICAgICAgICAgUmVzb3VyY2VMb2FkUHJpb3JpdHkgcHJpb3JpdHkgPSBibG9j
a2luZyA/IFJlc291cmNlTG9hZFByaW9yaXR5VW5yZXNvbHZlZCA6IFJlc291cmNlTG9hZFByaW9y
aXR5VmVyeUxvdzsKICAgICAgICAgUmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QoZG9jdW1lbnQoKS0+
Y29tcGxldGVVUkwobV91cmwpKTsKLSAgICAgICAgbV9jYWNoZWRTaGVldCA9IGRvY3VtZW50KCkt
PmNhY2hlZFJlc291cmNlTG9hZGVyKCktPnJlcXVlc3RDU1NTdHlsZVNoZWV0KHJlcXVlc3QsIGNo
YXJzZXQsIHByaW9yaXR5KTsKLSAgICAgICAgCisgICAgICAgIG1fY2FjaGVkU2hlZXQgPSBkb2N1
bWVudCgpLT5jYWNoZWRSZXNvdXJjZUxvYWRlcigpLT5yZXF1ZXN0Q1NTU3R5bGVTaGVldChyZXF1
ZXN0LCBjaGFyc2V0LCAqdGhpcywgcHJpb3JpdHkpOworCiAgICAgICAgIGlmIChtX2NhY2hlZFNo
ZWV0KQogICAgICAgICAgICAgbV9jYWNoZWRTaGVldC0+YWRkQ2xpZW50KHRoaXMpOwogICAgICAg
ICBlbHNlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExpbmtFbGVtZW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMaW5rRWxlbWVudC5oCmluZGV4IDBiNmM2Yzk5
N2YyOGFlMzQxMjUzNjM4M2UwYzAxMDQwOGQ1ZmZkMWEuLjNjYTg0NWIwNzJhYWJiYTdkMTFiMDUw
ZTAwMzlmNmVmYzdkZTcxOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExp
bmtFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGlua0VsZW1lbnQuaApA
QCAtNzUsNiArNzUsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBwYXJz
ZUF0dHJpYnV0ZShjb25zdCBBdHRyaWJ1dGUmKSBPVkVSUklERTsKIAorICAgIHZpcnR1YWwgY29u
c3QgTG9hZEluaXRpYXRvciYgaW5pdGlhdG9yKCkgY29uc3QgeyByZXR1cm4gKnRoaXM7IH0KICAg
ICB2aXJ0dWFsIGJvb2wgc2hvdWxkTG9hZExpbmsoKTsKICAgICB2b2lkIHByb2Nlc3MoKTsKICAg
ICBzdGF0aWMgdm9pZCBwcm9jZXNzQ2FsbGJhY2soTm9kZSopOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9wYXJzZXIvQ1NTUHJlbG9hZFNjYW5uZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9wYXJzZXIvQ1NTUHJlbG9hZFNjYW5uZXIuY3BwCmluZGV4IDI5ZjFjY2Q0NjhiYWRk
OGRlNWMzYjE5ZTcyZjJkODUyY2QzMDA4OTMuLmI2YTAzM2E2NTE3NTA5ZjAwMzM1YjJkOGM5MzZi
NzBmYTNlNTU2ODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0NTU1By
ZWxvYWRTY2FubmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9DU1NQcmVs
b2FkU2Nhbm5lci5jcHAKQEAgLTE5Nyw3ICsxOTcsNyBAQCB2b2lkIENTU1ByZWxvYWRTY2FubmVy
OjplbWl0UnVsZSgpCiAgICAgICAgIFN0cmluZyB2YWx1ZSA9IHBhcnNlQ1NTU3RyaW5nT3JVUkwo
bV9ydWxlVmFsdWUuY2hhcmFjdGVycygpLCBtX3J1bGVWYWx1ZS5sZW5ndGgoKSk7CiAgICAgICAg
IGlmICghdmFsdWUuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICBSZXNvdXJjZVJlcXVlc3QgcmVx
dWVzdChtX2RvY3VtZW50LT5jb21wbGV0ZVVSTCh2YWx1ZSkpOwotICAgICAgICAgICAgbV9kb2N1
bWVudC0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKS0+cHJlbG9hZChDYWNoZWRSZXNvdXJjZTo6Q1NT
U3R5bGVTaGVldCwgcmVxdWVzdCwgU3RyaW5nKCksIG1fc2Nhbm5pbmdCb2R5KTsKKyAgICAgICAg
ICAgIG1fZG9jdW1lbnQtPmNhY2hlZFJlc291cmNlTG9hZGVyKCktPnByZWxvYWQoQ2FjaGVkUmVz
b3VyY2U6OkNTU1N0eWxlU2hlZXQsIHJlcXVlc3QsIFN0cmluZygpLCBtX3NjYW5uaW5nQm9keSwg
KnRoaXMpOwogICAgICAgICB9CiAgICAgICAgIG1fc3RhdGUgPSBJbml0aWFsOwogICAgIH0gZWxz
ZSBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UoImNoYXJzZXQiLCBtX3J1bGUuY2hhcmFjdGVycygpLCBt
X3J1bGUubGVuZ3RoKCkpKQpAQCAtMjA4LDQgKzIwOCwxMCBAQCB2b2lkIENTU1ByZWxvYWRTY2Fu
bmVyOjplbWl0UnVsZSgpCiAgICAgbV9ydWxlVmFsdWUuY2xlYXIoKTsKIH0KIAorY29uc3QgQXRv
bWljU3RyaW5nJiBDU1NQcmVsb2FkU2Nhbm5lcjo6aW5pdGlhdG9yTmFtZSgpIGNvbnN0Cit7Cisg
ICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIG5hbWUsICgiY3NzIiwgQXRvbWlj
U3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCkpOworICAgIHJldHVybiBuYW1lOworfQorCiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9DU1NQcmVsb2FkU2Nhbm5l
ci5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvQ1NTUHJlbG9hZFNjYW5uZXIuaAppbmRl
eCBjM2RiYjgwMGVkZDhlYTEwYWIyNGViM2MxMjNiN2NhOThmMmNiNDI3Li4xNTViYTU5OWMxZDVj
YjI4ZmJiZDIwZGY4YTNhYWRmNWNkMDNhOGJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3BhcnNlci9DU1NQcmVsb2FkU2Nhbm5lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
cGFyc2VyL0NTU1ByZWxvYWRTY2FubmVyLmgKQEAgLTI3LDYgKzI3LDcgQEAKICNpZm5kZWYgQ1NT
UHJlbG9hZFNjYW5uZXJfaAogI2RlZmluZSBDU1NQcmVsb2FkU2Nhbm5lcl9oCiAKKyNpbmNsdWRl
ICJMb2FkSW5pdGlhdG9yLmgiCiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQnVpbGRlci5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zNCw3ICszNSw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIGNsYXNzIERvY3VtZW50OwogY2xhc3MgSFRNTFRva2VuOwogCi1jbGFzcyBDU1NQcmVsb2Fk
U2Nhbm5lciB7CitjbGFzcyBDU1NQcmVsb2FkU2Nhbm5lciA6IHByaXZhdGUgTG9hZEluaXRpYXRv
ciB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ1NTUHJlbG9hZFNjYW5uZXIpOwogcHVibGlj
OgogICAgIENTU1ByZWxvYWRTY2FubmVyKERvY3VtZW50Kik7CkBAIC00Myw2ICs0NCw5IEBAIHB1
YmxpYzoKICAgICB2b2lkIHNjYW4oY29uc3QgSFRNTFRva2VuJiwgYm9vbCBzY2FubmluZ0JvZHkp
OwogCiBwcml2YXRlOgorICAgIHZpcnR1YWwgY29uc3QgQXRvbWljU3RyaW5nJiBpbml0aWF0b3JO
YW1lKCkgY29uc3Q7CisgICAgdmlydHVhbCBEb2N1bWVudCogaW5pdGlhdG9yRG9jdW1lbnQoKSBj
b25zdCB7IHJldHVybiBtX2RvY3VtZW50OyB9CisKICAgICBlbnVtIFN0YXRlIHsKICAgICAgICAg
SW5pdGlhbCwKICAgICAgICAgTWF5YmVDb21tZW50LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9wYXJzZXIvSFRNTFByZWxvYWRTY2FubmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvcGFyc2VyL0hUTUxQcmVsb2FkU2Nhbm5lci5jcHAKaW5kZXggYTc1YjUyZTM1NTA2YWEzMGU1
ZTliZjMwOWYwMjBkODcxOTFjY2ZmNC4uMjg0MmRhOTIyNWIwOGNiM2U5MWViYjNmYjAxZTExNTI1
YzhmOTU2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFByZWxv
YWRTY2FubmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUHJlbG9h
ZFNjYW5uZXIuY3BwCkBAIC0zNiw2ICszNiw3IEBACiAjaW5jbHVkZSAiSFRNTFBhcnNlcklkaW9t
cy5oIgogI2luY2x1ZGUgIklucHV0VHlwZU5hbWVzLmgiCiAjaW5jbHVkZSAiTGlua1JlbEF0dHJp
YnV0ZS5oIgorI2luY2x1ZGUgIkxvYWRJbml0aWF0b3IuaCIKICNpbmNsdWRlICJNZWRpYUxpc3Qu
aCIKICNpbmNsdWRlICJNZWRpYVF1ZXJ5RXZhbHVhdG9yLmgiCiAKQEAgLTQzLDEwICs0NCwxMSBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiAKLWNs
YXNzIFByZWxvYWRUYXNrIHsKK2NsYXNzIFByZWxvYWRUYXNrIDogcHJpdmF0ZSBMb2FkSW5pdGlh
dG9yIHsKIHB1YmxpYzoKLSAgICBleHBsaWNpdCBQcmVsb2FkVGFzayhjb25zdCBIVE1MVG9rZW4m
IHRva2VuKQorICAgIGV4cGxpY2l0IFByZWxvYWRUYXNrKGNvbnN0IEhUTUxUb2tlbiYgdG9rZW4s
IERvY3VtZW50KiBkb2N1bWVudCkKICAgICAgICAgOiBtX3RhZ05hbWUodG9rZW4ubmFtZSgpLmRh
dGEoKSwgdG9rZW4ubmFtZSgpLnNpemUoKSkKKyAgICAgICAgLCBtX2RvY3VtZW50KGRvY3VtZW50
KQogICAgICAgICAsIG1fbGlua0lzU3R5bGVTaGVldChmYWxzZSkKICAgICAgICAgLCBtX2xpbmtN
ZWRpYUF0dHJpYnV0ZUlzU2NyZWVuKHRydWUpCiAgICAgICAgICwgbV9pbnB1dElzSW1hZ2UoZmFs
c2UpCkBAIC0xMjEsMjYgKzEyMywzMCBAQCBwdWJsaWM6CiAgICAgICAgIG1fdXJsVG9Mb2FkID0g
c3RyaXBMZWFkaW5nQW5kVHJhaWxpbmdIVE1MU3BhY2VzKGF0dHJpYnV0ZVZhbHVlKTsKICAgICB9
CiAKLSAgICB2b2lkIHByZWxvYWQoRG9jdW1lbnQqIGRvY3VtZW50LCBib29sIHNjYW5uaW5nQm9k
eSwgY29uc3QgS1VSTCYgYmFzZVVSTCkKKyAgICB2b2lkIHByZWxvYWQoYm9vbCBzY2FubmluZ0Jv
ZHksIGNvbnN0IEtVUkwmIGJhc2VVUkwpCiAgICAgewogICAgICAgICBpZiAobV91cmxUb0xvYWQu
aXNFbXB0eSgpKQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIENhY2hlZFJlc291cmNl
TG9hZGVyKiBjYWNoZWRSZXNvdXJjZUxvYWRlciA9IGRvY3VtZW50LT5jYWNoZWRSZXNvdXJjZUxv
YWRlcigpOwotICAgICAgICBSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdCA9IGRvY3VtZW50LT5jb21w
bGV0ZVVSTChtX3VybFRvTG9hZCwgYmFzZVVSTCk7CisgICAgICAgIENhY2hlZFJlc291cmNlTG9h
ZGVyKiBjYWNoZWRSZXNvdXJjZUxvYWRlciA9IG1fZG9jdW1lbnQtPmNhY2hlZFJlc291cmNlTG9h
ZGVyKCk7CisgICAgICAgIFJlc291cmNlUmVxdWVzdCByZXF1ZXN0ID0gbV9kb2N1bWVudC0+Y29t
cGxldGVVUkwobV91cmxUb0xvYWQsIGJhc2VVUkwpOwogICAgICAgICBpZiAobV90YWdOYW1lID09
IHNjcmlwdFRhZykKLSAgICAgICAgICAgIGNhY2hlZFJlc291cmNlTG9hZGVyLT5wcmVsb2FkKENh
Y2hlZFJlc291cmNlOjpTY3JpcHQsIHJlcXVlc3QsIG1fY2hhcnNldCwgc2Nhbm5pbmdCb2R5KTsK
KyAgICAgICAgICAgIGNhY2hlZFJlc291cmNlTG9hZGVyLT5wcmVsb2FkKENhY2hlZFJlc291cmNl
OjpTY3JpcHQsIHJlcXVlc3QsIG1fY2hhcnNldCwgc2Nhbm5pbmdCb2R5LCAqdGhpcyk7CiAgICAg
ICAgIGVsc2UgaWYgKG1fdGFnTmFtZSA9PSBpbWdUYWcgfHwgKG1fdGFnTmFtZSA9PSBpbnB1dFRh
ZyAmJiBtX2lucHV0SXNJbWFnZSkpCi0gICAgICAgICAgICBjYWNoZWRSZXNvdXJjZUxvYWRlci0+
cHJlbG9hZChDYWNoZWRSZXNvdXJjZTo6SW1hZ2VSZXNvdXJjZSwgcmVxdWVzdCwgU3RyaW5nKCks
IHNjYW5uaW5nQm9keSk7CisgICAgICAgICAgICBjYWNoZWRSZXNvdXJjZUxvYWRlci0+cHJlbG9h
ZChDYWNoZWRSZXNvdXJjZTo6SW1hZ2VSZXNvdXJjZSwgcmVxdWVzdCwgU3RyaW5nKCksIHNjYW5u
aW5nQm9keSwgKnRoaXMpOwogICAgICAgICBlbHNlIGlmIChtX3RhZ05hbWUgPT0gbGlua1RhZyAm
JiBtX2xpbmtJc1N0eWxlU2hlZXQgJiYgbV9saW5rTWVkaWFBdHRyaWJ1dGVJc1NjcmVlbikgCi0g
ICAgICAgICAgICBjYWNoZWRSZXNvdXJjZUxvYWRlci0+cHJlbG9hZChDYWNoZWRSZXNvdXJjZTo6
Q1NTU3R5bGVTaGVldCwgcmVxdWVzdCwgbV9jaGFyc2V0LCBzY2FubmluZ0JvZHkpOworICAgICAg
ICAgICAgY2FjaGVkUmVzb3VyY2VMb2FkZXItPnByZWxvYWQoQ2FjaGVkUmVzb3VyY2U6OkNTU1N0
eWxlU2hlZXQsIHJlcXVlc3QsIG1fY2hhcnNldCwgc2Nhbm5pbmdCb2R5LCAqdGhpcyk7CiAgICAg
fQogCiAgICAgY29uc3QgQXRvbWljU3RyaW5nJiB0YWdOYW1lKCkgY29uc3QgeyByZXR1cm4gbV90
YWdOYW1lOyB9CiAgICAgY29uc3QgU3RyaW5nJiBiYXNlRWxlbWVudEhyZWYoKSBjb25zdCB7IHJl
dHVybiBtX2Jhc2VFbGVtZW50SHJlZjsgfQogCiBwcml2YXRlOgorICAgIHZpcnR1YWwgY29uc3Qg
QXRvbWljU3RyaW5nJiBpbml0aWF0b3JOYW1lKCkgY29uc3QgeyByZXR1cm4gbV90YWdOYW1lOyB9
CisgICAgdmlydHVhbCBEb2N1bWVudCogaW5pdGlhdG9yRG9jdW1lbnQoKSBjb25zdCB7IHJldHVy
biBtX2RvY3VtZW50OyB9CisKICAgICBBdG9taWNTdHJpbmcgbV90YWdOYW1lOworICAgIERvY3Vt
ZW50KiBtX2RvY3VtZW50OwogICAgIFN0cmluZyBtX3VybFRvTG9hZDsKICAgICBTdHJpbmcgbV9j
aGFyc2V0OwogICAgIFN0cmluZyBtX2Jhc2VFbGVtZW50SHJlZjsKQEAgLTE5MCw3ICsxOTYsNyBA
QCB2b2lkIEhUTUxQcmVsb2FkU2Nhbm5lcjo6cHJvY2Vzc1Rva2VuKCkKICAgICBpZiAobV90b2tl
bi50eXBlKCkgIT0gSFRNTFRva2VuVHlwZXM6OlN0YXJ0VGFnKQogICAgICAgICByZXR1cm47CiAK
LSAgICBQcmVsb2FkVGFzayB0YXNrKG1fdG9rZW4pOworICAgIFByZWxvYWRUYXNrIHRhc2sobV90
b2tlbiwgbV9kb2N1bWVudCk7CiAgICAgbV90b2tlbml6ZXItPnVwZGF0ZVN0YXRlRm9yKHRhc2su
dGFnTmFtZSgpLCBtX2RvY3VtZW50LT5mcmFtZSgpKTsKIAogICAgIGlmICh0YXNrLnRhZ05hbWUo
KSA9PSBib2R5VGFnKQpAQCAtMjAyLDcgKzIwOCw3IEBAIHZvaWQgSFRNTFByZWxvYWRTY2FubmVy
Ojpwcm9jZXNzVG9rZW4oKQogICAgIGlmICh0YXNrLnRhZ05hbWUoKSA9PSBiYXNlVGFnKQogICAg
ICAgICB1cGRhdGVQcmVkaWN0ZWRCYXNlRWxlbWVudFVSTChLVVJMKG1fZG9jdW1lbnQtPnVybCgp
LCB0YXNrLmJhc2VFbGVtZW50SHJlZigpKSk7CiAKLSAgICB0YXNrLnByZWxvYWQobV9kb2N1bWVu
dCwgc2Nhbm5pbmdCb2R5KCksIG1fcHJlZGljdGVkQmFzZUVsZW1lbnRVUkwuaXNFbXB0eSgpID8g
bV9kb2N1bWVudC0+YmFzZVVSTCgpIDogbV9wcmVkaWN0ZWRCYXNlRWxlbWVudFVSTCk7CisgICAg
dGFzay5wcmVsb2FkKHNjYW5uaW5nQm9keSgpLCBtX3ByZWRpY3RlZEJhc2VFbGVtZW50VVJMLmlz
RW1wdHkoKSA/IG1fZG9jdW1lbnQtPmJhc2VVUkwoKSA6IG1fcHJlZGljdGVkQmFzZUVsZW1lbnRV
UkwpOwogfQogCiBib29sIEhUTUxQcmVsb2FkU2Nhbm5lcjo6c2Nhbm5pbmdCb2R5KCkgY29uc3QK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svTG9hZGFibGVUZXh0VHJhY2su
Y3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9Mb2FkYWJsZVRleHRUcmFjay5jcHAKaW5k
ZXggZDk1ZThjY2Y5ZDZlYTFmOGE1MTY4YjNlNmNmYzI2NzdkODkxYTQyOS4uODMxOGE1NDI5NDYz
YmQ4ZWZkZDk1NGEwY2ZhZTA0ZGY1MWE0MjQwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC90cmFjay9Mb2FkYWJsZVRleHRUcmFjay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC90cmFjay9Mb2FkYWJsZVRleHRUcmFjay5jcHAKQEAgLTEyMiw2ICsxMjIsMTEgQEAgdm9pZCBM
b2FkYWJsZVRleHRUcmFjazo6Y3VlTG9hZGluZ0NvbXBsZXRlZChUZXh0VHJhY2tMb2FkZXIqIGxv
YWRlciwgYm9vbCBsb2FkaW4KICAgICBtX3RyYWNrRWxlbWVudC0+ZGlkQ29tcGxldGVMb2FkKHRo
aXMsIGxvYWRpbmdGYWlsZWQgPyBIVE1MVHJhY2tFbGVtZW50OjpGYWlsdXJlIDogSFRNTFRyYWNr
RWxlbWVudDo6U3VjY2Vzcyk7CiB9CiAKK2NvbnN0IExvYWRJbml0aWF0b3ImIExvYWRhYmxlVGV4
dFRyYWNrOjppbml0aWF0b3IoKSBjb25zdAoreworICAgIHJldHVybiAqbV90cmFja0VsZW1lbnQ7
Cit9CisKIHNpemVfdCBMb2FkYWJsZVRleHRUcmFjazo6dHJhY2tFbGVtZW50SW5kZXgoKQogewog
ICAgIEFTU0VSVChtX3RyYWNrRWxlbWVudCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3RyYWNrL0xvYWRhYmxlVGV4dFRyYWNrLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNr
L0xvYWRhYmxlVGV4dFRyYWNrLmgKaW5kZXggMzMxODNkYjliNDcxYjIxZDNhYmNkMTQ3MTM3YjMz
Mjc3NDNmYjg0Ni4uMjUyMWY1NWQ4YjE1MGJkZjM1NzA2ZmQ2YTkyODkwNTAyYjI3Y2Q3MSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9Mb2FkYWJsZVRleHRUcmFjay5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svTG9hZGFibGVUZXh0VHJhY2suaApAQCAtNDEs
NyArNDEsNyBAQCBjbGFzcyBMb2FkYWJsZVRleHRUcmFjazsKIGNsYXNzIExvYWRhYmxlVGV4dFRy
YWNrQ2xpZW50IDogcHVibGljIFRleHRUcmFja0NsaWVudCB7CiBwdWJsaWM6CiAgICAgdmlydHVh
bCB+TG9hZGFibGVUZXh0VHJhY2tDbGllbnQoKSB7IH0KLSAgICAKKwogICAgIHZpcnR1YWwgYm9v
bCBjYW5Mb2FkVXJsKExvYWRhYmxlVGV4dFRyYWNrKiwgY29uc3QgS1VSTCYpIHsgcmV0dXJuIGZh
bHNlOyB9CiAgICAgdmlydHVhbCB2b2lkIGxvYWRpbmdDb21wbGV0ZWQoTG9hZGFibGVUZXh0VHJh
Y2sqLCBib29sIC8qIGxvYWRpbmdGYWlsZWQgKi8pIHsgfQogfTsKQEAgLTY3LDYgKzY3LDcgQEAg
cHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgbmV3Q3Vlc0F2YWlsYWJsZShUZXh0VHJhY2tMb2Fk
ZXIqKTsKICAgICB2aXJ0dWFsIHZvaWQgY3VlTG9hZGluZ1N0YXJ0ZWQoVGV4dFRyYWNrTG9hZGVy
Kik7CiAgICAgdmlydHVhbCB2b2lkIGN1ZUxvYWRpbmdDb21wbGV0ZWQoVGV4dFRyYWNrTG9hZGVy
KiwgYm9vbCBsb2FkaW5nRmFpbGVkKTsKKyAgICB2aXJ0dWFsIGNvbnN0IExvYWRJbml0aWF0b3Im
IGluaXRpYXRvcigpIGNvbnN0OwogCiAgICAgTG9hZGFibGVUZXh0VHJhY2soSFRNTFRyYWNrRWxl
bWVudCosIGNvbnN0IFN0cmluZyYga2luZCwgY29uc3QgU3RyaW5nJiBsYWJlbCwgY29uc3QgU3Ry
aW5nJiBsYW5ndWFnZSwgYm9vbCBpc0RlZmF1bHQpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuY3BwCmluZGV4IDcxYTFhZDNiMTk3MTE4
YzJhYjFiY2RlMjkwYTMxOTJkNWM2OTA3NGYuLjFhOGI3NTQ1ZjgwN2EyZDNjMjM0ZjRmNmRhODE4
NDAzYTNmNGExMGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRo
cmVhZGFibGVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRo
cmVhZGFibGVMb2FkZXIuY3BwCkBAIC01NSwyOCArNTUsMjkgQEAKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCi12b2lkIERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcjo6bG9hZFJlc291cmNlU3luY2hy
b25vdXNseShEb2N1bWVudCogZG9jdW1lbnQsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVz
dCwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCYgY2xpZW50LCBjb25zdCBUaHJlYWRhYmxlTG9hZGVy
T3B0aW9ucyYgb3B0aW9ucykKK3ZvaWQgRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyOjpsb2FkUmVz
b3VyY2VTeW5jaHJvbm91c2x5KERvY3VtZW50KiBkb2N1bWVudCwgY29uc3QgUmVzb3VyY2VSZXF1
ZXN0JiByZXF1ZXN0LCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50JiBjbGllbnQsIGNvbnN0IFRocmVh
ZGFibGVMb2FkZXJPcHRpb25zJiBvcHRpb25zLCBjb25zdCBMb2FkSW5pdGlhdG9yJiBpbml0aWF0
b3IpCiB7CiAgICAgLy8gVGhlIGxvYWRlciB3aWxsIGJlIGRlbGV0ZWQgYXMgc29vbiBhcyB0aGlz
IGZ1bmN0aW9uIGV4aXRzLgotICAgIFJlZlB0cjxEb2N1bWVudFRocmVhZGFibGVMb2FkZXI+IGxv
YWRlciA9IGFkb3B0UmVmKG5ldyBEb2N1bWVudFRocmVhZGFibGVMb2FkZXIoZG9jdW1lbnQsICZj
bGllbnQsIExvYWRTeW5jaHJvbm91c2x5LCByZXF1ZXN0LCBvcHRpb25zKSk7CisgICAgUmVmUHRy
PERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcj4gbG9hZGVyID0gYWRvcHRSZWYobmV3IERvY3VtZW50
VGhyZWFkYWJsZUxvYWRlcihkb2N1bWVudCwgJmNsaWVudCwgTG9hZFN5bmNocm9ub3VzbHksIHJl
cXVlc3QsIG9wdGlvbnMsIGluaXRpYXRvcikpOwogICAgIEFTU0VSVChsb2FkZXItPmhhc09uZVJl
ZigpKTsKIH0KIAotUGFzc1JlZlB0cjxEb2N1bWVudFRocmVhZGFibGVMb2FkZXI+IERvY3VtZW50
VGhyZWFkYWJsZUxvYWRlcjo6Y3JlYXRlKERvY3VtZW50KiBkb2N1bWVudCwgVGhyZWFkYWJsZUxv
YWRlckNsaWVudCogY2xpZW50LCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0
IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJiBvcHRpb25zKQorUGFzc1JlZlB0cjxEb2N1bWVudFRo
cmVhZGFibGVMb2FkZXI+IERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcjo6Y3JlYXRlKERvY3VtZW50
KiBkb2N1bWVudCwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCogY2xpZW50LCBjb25zdCBSZXNvdXJj
ZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJiBvcHRpb25z
LCBjb25zdCBMb2FkSW5pdGlhdG9yJiBpbml0aWF0b3IpCiB7Ci0gICAgUmVmUHRyPERvY3VtZW50
VGhyZWFkYWJsZUxvYWRlcj4gbG9hZGVyID0gYWRvcHRSZWYobmV3IERvY3VtZW50VGhyZWFkYWJs
ZUxvYWRlcihkb2N1bWVudCwgY2xpZW50LCBMb2FkQXN5bmNocm9ub3VzbHksIHJlcXVlc3QsIG9w
dGlvbnMpKTsKKyAgICBSZWZQdHI8RG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyPiBsb2FkZXIgPSBh
ZG9wdFJlZihuZXcgRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyKGRvY3VtZW50LCBjbGllbnQsIExv
YWRBc3luY2hyb25vdXNseSwgcmVxdWVzdCwgb3B0aW9ucywgaW5pdGlhdG9yKSk7CiAgICAgaWYg
KCFsb2FkZXItPm1fcmVzb3VyY2UpCiAgICAgICAgIGxvYWRlciA9IDA7CiAgICAgcmV0dXJuIGxv
YWRlci5yZWxlYXNlKCk7CiB9CiAKLURvY3VtZW50VGhyZWFkYWJsZUxvYWRlcjo6RG9jdW1lbnRU
aHJlYWRhYmxlTG9hZGVyKERvY3VtZW50KiBkb2N1bWVudCwgVGhyZWFkYWJsZUxvYWRlckNsaWVu
dCogY2xpZW50LCBCbG9ja2luZ0JlaGF2aW9yIGJsb2NraW5nQmVoYXZpb3IsIGNvbnN0IFJlc291
cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMmIG9wdGlv
bnMpCitEb2N1bWVudFRocmVhZGFibGVMb2FkZXI6OkRvY3VtZW50VGhyZWFkYWJsZUxvYWRlcihE
b2N1bWVudCogZG9jdW1lbnQsIFRocmVhZGFibGVMb2FkZXJDbGllbnQqIGNsaWVudCwgQmxvY2tp
bmdCZWhhdmlvciBibG9ja2luZ0JlaGF2aW9yLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVl
c3QsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJiBvcHRpb25zLCBjb25zdCBMb2FkSW5p
dGlhdG9yJiBpbml0aWF0b3IpCiAgICAgOiBtX2NsaWVudChjbGllbnQpCiAgICAgLCBtX2RvY3Vt
ZW50KGRvY3VtZW50KQogICAgICwgbV9vcHRpb25zKG9wdGlvbnMpCiAgICAgLCBtX3NhbWVPcmln
aW5SZXF1ZXN0KHNlY3VyaXR5T3JpZ2luKCktPmNhblJlcXVlc3QocmVxdWVzdC51cmwoKSkpCiAg
ICAgLCBtX3NpbXBsZVJlcXVlc3QodHJ1ZSkKICAgICAsIG1fYXN5bmMoYmxvY2tpbmdCZWhhdmlv
ciA9PSBMb2FkQXN5bmNocm9ub3VzbHkpCisgICAgLCBtX2luaXRpYXRvcihpbml0aWF0b3IpCiAj
aWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICAsIG1fcHJlZmxpZ2h0UmVxdWVzdElkZW50aWZpZXIo
MCkKICNlbmRpZgpAQCAtMzAzLDcgKzMwNCw3IEBAIHZvaWQgRG9jdW1lbnRUaHJlYWRhYmxlTG9h
ZGVyOjpub3RpZnlGaW5pc2hlZChDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2UpCiB7CiAgICAgQVNT
RVJUKG1fY2xpZW50KTsKICAgICBBU1NFUlRfVU5VU0VEKHJlc291cmNlLCByZXNvdXJjZSA9PSBt
X3Jlc291cmNlKTsKLSAgICAgICAgCisKICAgICBpZiAobV9yZXNvdXJjZSAmJiAobV9yZXNvdXJj
ZS0+ZXJyb3JPY2N1cnJlZCgpIHx8IG1fcmVzb3VyY2UtPndhc0NhbmNlbGVkKCkpKSB7CiAgICAg
ICAgIFJlc291cmNlRXJyb3IgZXJyb3IoIk5ldHdvcmsgUmVxdWVzdCBGYWlsZWQiLCAwLCBtX3Jl
c291cmNlLT51cmwoKSwgIlJlc291cmNlIGZhaWxlZCB0byBsb2FkIik7CiAgICAgICAgIGlmICht
X3Jlc291cmNlLT53YXNDYW5jZWxlZCgpKQpAQCAtMzg2LDcgKzM4Nyw3IEBAIHZvaWQgRG9jdW1l
bnRUaHJlYWRhYmxlTG9hZGVyOjpsb2FkUmVxdWVzdChjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJl
cXVlc3QsIFNlY3VyCiAgICAgICAgIH0KICNlbmRpZgogICAgICAgICBBU1NFUlQoIW1fcmVzb3Vy
Y2UpOwotICAgICAgICBtX3Jlc291cmNlID0gbV9kb2N1bWVudC0+Y2FjaGVkUmVzb3VyY2VMb2Fk
ZXIoKS0+cmVxdWVzdFJhd1Jlc291cmNlKG5ld1JlcXVlc3QsIG9wdGlvbnMpOworICAgICAgICBt
X3Jlc291cmNlID0gbV9kb2N1bWVudC0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKS0+cmVxdWVzdFJh
d1Jlc291cmNlKG5ld1JlcXVlc3QsIG9wdGlvbnMsIG1faW5pdGlhdG9yKTsKICAgICAgICAgaWYg
KG1fcmVzb3VyY2UpIHsKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgICAgICAgICAgaWYgKG1f
cmVzb3VyY2UtPmxvYWRlcigpKSB7CkBAIC0zOTgsNyArMzk5LDcgQEAgdm9pZCBEb2N1bWVudFRo
cmVhZGFibGVMb2FkZXI6OmxvYWRSZXF1ZXN0KGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVz
dCwgU2VjdXIKICAgICAgICAgfQogICAgICAgICByZXR1cm47CiAgICAgfQotICAgIAorCiAgICAg
Ly8gRklYTUU6IFRocmVhZGFibGVMb2FkZXJPcHRpb25zLnNuaWZmQ29udGVudCBpcyBub3Qgc3Vw
cG9ydGVkIGZvciBzeW5jaHJvbm91cyByZXF1ZXN0cy4KICAgICBWZWN0b3I8Y2hhcj4gZGF0YTsK
ICAgICBSZXNvdXJjZUVycm9yIGVycm9yOwpAQCAtNDMwLDcgKzQzMSwxMyBAQCB2b2lkIERvY3Vt
ZW50VGhyZWFkYWJsZUxvYWRlcjo6bG9hZFJlcXVlc3QoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBy
ZXF1ZXN0LCBTZWN1cgogICAgIGludCBsZW4gPSBzdGF0aWNfY2FzdDxpbnQ+KGRhdGEuc2l6ZSgp
KTsKICAgICBkYXRhUmVjZWl2ZWQoMCwgYnl0ZXMsIGxlbik7CiAKLSAgICBkaWRGaW5pc2hMb2Fk
aW5nKGlkZW50aWZpZXIsIDAuMCk7CisgICAgZG91YmxlIGZpbmlzaFRpbWUgPSBtb25vdG9uaWNh
bGx5SW5jcmVhc2luZ1RpbWUoKTsKKyNpZiBFTkFCTEUoUkVTT1VSQ0VfVElNSU5HKQorICAgIGlm
IChtX2luaXRpYXRvci5pbml0aWF0b3JEb2N1bWVudCgpKQorICAgICAgICBtX2luaXRpYXRvci5p
bml0aWF0b3JEb2N1bWVudCgpLT5kb21XaW5kb3coKS0+cGVyZm9ybWFuY2UoKS0+YWRkUmVzb3Vy
Y2VUaW1pbmcobV9pbml0aWF0b3IsIHJlcXVlc3QsIHJlc3BvbnNlLCBmaW5pc2hUaW1lKTsKKyNl
bmRpZgorCisgICAgZGlkRmluaXNoTG9hZGluZyhpZGVudGlmaWVyLCBmaW5pc2hUaW1lKTsKIH0K
IAogYm9vbCBEb2N1bWVudFRocmVhZGFibGVMb2FkZXI6OmlzQWxsb3dlZFJlZGlyZWN0KGNvbnN0
IEtVUkwmIHVybCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRo
cmVhZGFibGVMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFi
bGVMb2FkZXIuaAppbmRleCA4Nzk5MTlmZWNhNTVhMjFkY2NlM2JkMDFjYjlkZDk4YzU5ZjQxMDVj
Li40OTBmOTY3NmNlNGRiMjJkMDhkYTBiMzRlNmQ4NTU1OTU5NGUxMjJiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5oCkBAIC0zNCw2ICsz
NCw4IEBACiAjaW5jbHVkZSAiQ2FjaGVkUmF3UmVzb3VyY2UuaCIKICNpbmNsdWRlICJDYWNoZWRS
ZXNvdXJjZUhhbmRsZS5oIgogI2luY2x1ZGUgIkZyYW1lTG9hZGVyVHlwZXMuaCIKKyNpbmNsdWRl
ICJMb2FkSW5pdGlhdG9ySGFuZGxlLmgiCisjaW5jbHVkZSAiTnVsbExvYWRJbml0aWF0b3IuaCIK
ICNpbmNsdWRlICJUaHJlYWRhYmxlTG9hZGVyLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4K
ICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CkBAIC00NSw2ICs0Nyw3IEBACiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgY2xhc3MgRG9jdW1lbnQ7CiAgICAgY2xhc3MgS1VSTDsKKyAgICBjbGFzcyBM
b2FkSW5pdGlhdG9yOwogICAgIGNsYXNzIFJlc291cmNlUmVxdWVzdDsKICAgICBjbGFzcyBTZWN1
cml0eU9yaWdpbjsKICAgICBjbGFzcyBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50OwpAQCAtNTIsOCAr
NTUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgRG9jdW1lbnRUaHJlYWRhYmxl
TG9hZGVyIDogcHVibGljIFJlZkNvdW50ZWQ8RG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyPiwgcHVi
bGljIFRocmVhZGFibGVMb2FkZXIsIHByaXZhdGUgQ2FjaGVkUmF3UmVzb3VyY2VDbGllbnQgIHsK
ICAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgotICAgICAgICBz
dGF0aWMgdm9pZCBsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KERvY3VtZW50KiwgY29uc3QgUmVz
b3VyY2VSZXF1ZXN0JiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCYsIGNvbnN0IFRocmVhZGFibGVM
b2FkZXJPcHRpb25zJik7Ci0gICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPERvY3VtZW50VGhyZWFk
YWJsZUxvYWRlcj4gY3JlYXRlKERvY3VtZW50KiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCosIGNv
bnN0IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJik7Cisg
ICAgICAgIHN0YXRpYyB2b2lkIGxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoRG9jdW1lbnQqLCBj
b25zdCBSZXNvdXJjZVJlcXVlc3QmLCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50JiwgY29uc3QgVGhy
ZWFkYWJsZUxvYWRlck9wdGlvbnMmLCBjb25zdCBMb2FkSW5pdGlhdG9yJiA9IE51bGxMb2FkSW5p
dGlhdG9yOjppbnN0YW5jZSgpKTsKKyAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8RG9jdW1lbnRU
aHJlYWRhYmxlTG9hZGVyPiBjcmVhdGUoRG9jdW1lbnQqLCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50
KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMm
LCBjb25zdCBMb2FkSW5pdGlhdG9yJiA9IE51bGxMb2FkSW5pdGlhdG9yOjppbnN0YW5jZSgpKTsK
ICAgICAgICAgdmlydHVhbCB+RG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyKCk7CiAKICAgICAgICAg
dmlydHVhbCB2b2lkIGNhbmNlbCgpOwpAQCAtNzIsNyArNzUsNyBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgICAgICAgICBMb2FkQXN5bmNocm9ub3VzbHkKICAgICAgICAgfTsKIAotICAgICAg
ICBEb2N1bWVudFRocmVhZGFibGVMb2FkZXIoRG9jdW1lbnQqLCBUaHJlYWRhYmxlTG9hZGVyQ2xp
ZW50KiwgQmxvY2tpbmdCZWhhdmlvciwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgVGhy
ZWFkYWJsZUxvYWRlck9wdGlvbnMmKTsKKyAgICAgICAgRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVy
KERvY3VtZW50KiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCosIEJsb2NraW5nQmVoYXZpb3IsIGNv
bnN0IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJiwgY29u
c3QgTG9hZEluaXRpYXRvciYpOwogCiAgICAgICAgIHZvaWQgY2xlYXJSZXNvdXJjZSgpOwogCkBA
IC0xMDgsNiArMTExLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBib29sIG1fc2lt
cGxlUmVxdWVzdDsKICAgICAgICAgYm9vbCBtX2FzeW5jOwogICAgICAgICBPd25QdHI8UmVzb3Vy
Y2VSZXF1ZXN0PiBtX2FjdHVhbFJlcXVlc3Q7ICAvLyBub24tbnVsbCBkdXJpbmcgQWNjZXNzIENv
bnRyb2wgcHJlZmxpZ2h0IGNoZWNrcworICAgICAgICBMb2FkSW5pdGlhdG9ySGFuZGxlIG1faW5p
dGlhdG9yOwogCiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICAgICAgdW5zaWduZWQgbG9uZyBt
X3ByZWZsaWdodFJlcXVlc3RJZGVudGlmaWVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL0ltYWdlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRl
ci5jcHAKaW5kZXggMDUyM2IzYTg5ZjMxNjc1Y2M2OTllMTVkOWQxNjE2MDdmN2U3NWIxMS4uZTZj
YzQ3NGU2YzU5NDQxNTMzZWUzYzQ3OTQ5NGNiYjM5MDUyOTE3NSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvSW1hZ2VMb2FkZXIuY3BwCkBAIC0xOTQsNyArMTk0LDcgQEAgdm9pZCBJbWFnZUxvYWRlcjo6
dXBkYXRlRnJvbUVsZW1lbnQoKQogICAgICAgICAgICAgZG9jdW1lbnQoKS0+Y2FjaGVkUmVzb3Vy
Y2VMb2FkZXIoKS0+bV9kb2N1bWVudFJlc291cmNlcy5zZXQobmV3SW1hZ2UtPnVybCgpLCBuZXdJ
bWFnZS5nZXQoKSk7CiAgICAgICAgICAgICBkb2N1bWVudCgpLT5jYWNoZWRSZXNvdXJjZUxvYWRl
cigpLT5zZXRBdXRvTG9hZEltYWdlcyhhdXRvTG9hZE90aGVySW1hZ2VzKTsKICAgICAgICAgfSBl
bHNlCi0gICAgICAgICAgICBuZXdJbWFnZSA9IGRvY3VtZW50KCktPmNhY2hlZFJlc291cmNlTG9h
ZGVyKCktPnJlcXVlc3RJbWFnZShyZXF1ZXN0KTsKKyAgICAgICAgICAgIG5ld0ltYWdlID0gZG9j
dW1lbnQoKS0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKS0+cmVxdWVzdEltYWdlKHJlcXVlc3QsICpj
bGllbnQoKS0+c291cmNlRWxlbWVudCgpKTsKIAogICAgICAgICAvLyBJZiB3ZSBkbyBub3QgaGF2
ZSBhbiBpbWFnZSBoZXJlLCBpdCBtZWFucyB0aGF0IGEgY3Jvc3Mtc2l0ZQogICAgICAgICAvLyB2
aW9sYXRpb24gb2NjdXJyZWQsIG9yIHRoYXQgdGhlIGltYWdlIHdhcyBibG9ja2VkIHZpYSBDb250
ZW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTGlua0xvYWRlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvTGlua0xvYWRlci5jcHAKaW5kZXggYWYyNWE4NjgwM2M0MDc0
NzljMTAyNjdhZjI2NjdlYTAyYWU1ZDJmMy4uZTE2NTUwZGJlOGU1MGY3NjJjMjBmY2IxZTBhMzM3
YWEzMjc0NzZkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0xpbmtMb2FkZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9MaW5rTG9hZGVyLmNwcApAQCAtMTIwLDEy
ICsxMjAsMTIgQEAgYm9vbCBMaW5rTG9hZGVyOjpsb2FkTGluayhjb25zdCBMaW5rUmVsQXR0cmli
dXRlJiByZWxBdHRyaWJ1dGUsIGNvbnN0IFN0cmluZyYgdHkKICAgICAgICAgICAgIHR5cGUgPSBD
YWNoZWRSZXNvdXJjZTo6TGlua1N1YnJlc291cmNlOwogICAgICAgICB9CiAgICAgICAgIFJlc291
cmNlUmVxdWVzdCBsaW5rUmVxdWVzdChkb2N1bWVudC0+Y29tcGxldGVVUkwoaHJlZikpOwotICAg
ICAgICAKKwogICAgICAgICBpZiAobV9jYWNoZWRMaW5rUmVzb3VyY2UpIHsKICAgICAgICAgICAg
IG1fY2FjaGVkTGlua1Jlc291cmNlLT5yZW1vdmVDbGllbnQodGhpcyk7CiAgICAgICAgICAgICBt
X2NhY2hlZExpbmtSZXNvdXJjZSA9IDA7CiAgICAgICAgIH0KLSAgICAgICAgbV9jYWNoZWRMaW5r
UmVzb3VyY2UgPSBkb2N1bWVudC0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKS0+cmVxdWVzdExpbmtS
ZXNvdXJjZSh0eXBlLCBsaW5rUmVxdWVzdCwgcHJpb3JpdHkpOworICAgICAgICBtX2NhY2hlZExp
bmtSZXNvdXJjZSA9IGRvY3VtZW50LT5jYWNoZWRSZXNvdXJjZUxvYWRlcigpLT5yZXF1ZXN0TGlu
a1Jlc291cmNlKHR5cGUsIGxpbmtSZXF1ZXN0LCBtX2NsaWVudC0+aW5pdGlhdG9yKCksIHByaW9y
aXR5KTsKICAgICAgICAgaWYgKG1fY2FjaGVkTGlua1Jlc291cmNlKQogICAgICAgICAgICAgbV9j
YWNoZWRMaW5rUmVzb3VyY2UtPmFkZENsaWVudCh0aGlzKTsKICAgICB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvTGlua0xvYWRlckNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL0xpbmtMb2FkZXJDbGllbnQuaAppbmRleCA0MzUwZWU3OGM5NWE3NjNmOWNjNWQ0NWU1
YThlMTYyYTliMWE1MDYzLi42NmYyMGM1OTdhOTYyZTk0YmFkMTJlNTUxZGMxZWM0YWQ4ZjcxZmE3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTGlua0xvYWRlckNsaWVudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9MaW5rTG9hZGVyQ2xpZW50LmgKQEAgLTMyLDExICsz
MiwxNCBAQAogI2RlZmluZSBMaW5rTG9hZGVyQ2xpZW50X2gKIAogbmFtZXNwYWNlIFdlYkNvcmUg
eworY2xhc3MgTG9hZEluaXRpYXRvcjsKIAogY2xhc3MgTGlua0xvYWRlckNsaWVudCB7CiBwdWJs
aWM6CiAgICAgdmlydHVhbCB+TGlua0xvYWRlckNsaWVudCgpIHsgfQogCisgICAgdmlydHVhbCBj
b25zdCBMb2FkSW5pdGlhdG9yJiBpbml0aWF0b3IoKSBjb25zdCA9IDA7CisKICAgICB2aXJ0dWFs
IGJvb2wgc2hvdWxkTG9hZExpbmsoKSA9IDA7CiAKICAgICB2aXJ0dWFsIHZvaWQgbGlua0xvYWRl
ZCgpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Mb2FkSW5pdGlhdG9y
LmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTG9hZEluaXRpYXRvci5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI1
NmZmMzNhYzViMmQwZWYxYzEzZGVhYzc3N2IwNDIzYjg2Y2Y0ODEKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTG9hZEluaXRpYXRvci5oCkBAIC0wLDAgKzEsNTEgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQor
ICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5j
LiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkK
KyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aWZuZGVmIExvYWRJbml0aWF0b3JfaAorI2RlZmluZSBMb2FkSW5pdGlhdG9yX2gKKworbmFtZXNw
YWNlIFdURiB7CitjbGFzcyBBdG9taWNTdHJpbmc7Cit9CisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
K2NsYXNzIERvY3VtZW50OworCitjbGFzcyBMb2FkSW5pdGlhdG9yIHsKK3B1YmxpYzoKKyAgICB2
aXJ0dWFsIH5Mb2FkSW5pdGlhdG9yKCkgeyB9CisKKyAgICB2aXJ0dWFsIGNvbnN0IFdURjo6QXRv
bWljU3RyaW5nJiBpbml0aWF0b3JOYW1lKCkgY29uc3QgPSAwOworICAgIHZpcnR1YWwgRG9jdW1l
bnQqIGluaXRpYXRvckRvY3VtZW50KCkgY29uc3QgPSAwOworfTsKKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQorCisjZW5kaWYgLy8gTG9hZEluaXRpYXRvcl9oCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvTG9hZEluaXRpYXRvckhhbmRsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvTG9hZEluaXRpYXRvckhhbmRsZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDZkZjdiZDM1NjUzZTQw
NDYzOTJiMWIwN2UzNzJjMmM0ZTk1NTAzZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9Mb2FkSW5pdGlhdG9ySGFuZGxlLmNwcApAQCAtMCwwICsxLDU4IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRp
c3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9y
IHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNl
IG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhv
dXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMK
KyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1
ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkxvYWRJbml0aWF0b3JIYW5kbGUuaCIKKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCitMb2FkSW5pdGlhdG9ySGFuZGxlOjpMb2FkSW5pdGlhdG9ySGFuZGxl
KCkKK3sKKyAgICBjbGVhcigpOworfQorCitMb2FkSW5pdGlhdG9ySGFuZGxlOjpMb2FkSW5pdGlh
dG9ySGFuZGxlKGNvbnN0IExvYWRJbml0aWF0b3ImIGluaXRpYXRvcikKKyAgICA6IG1fbmFtZShp
bml0aWF0b3IuaW5pdGlhdG9yTmFtZSgpKQorICAgICwgbV9kb2N1bWVudChpbml0aWF0b3IuaW5p
dGlhdG9yRG9jdW1lbnQoKSkKK3sKK30KKworTG9hZEluaXRpYXRvckhhbmRsZTo6fkxvYWRJbml0
aWF0b3JIYW5kbGUoKQoreworfQorCit2b2lkIExvYWRJbml0aWF0b3JIYW5kbGU6OmNsZWFyKCkK
K3sKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEF0b21pY1N0cmluZywgbmFtZSwgKCJyZXNvdXJj
ZSIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpKTsKKyAgICBtX25hbWUgPSBu
YW1lOworICAgIG1fZG9jdW1lbnQuY2xlYXIoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0xvYWRJbml0aWF0b3JIYW5kbGUu
aCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Mb2FkSW5pdGlhdG9ySGFuZGxlLmgKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODM2ZDE2NmJmNjQ1ZGJkN2VlZDA0MjY0YjQyZDVjNzU2NDdiNTZmYwotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Mb2FkSW5pdGlhdG9ySGFuZGxlLmgKQEAgLTAs
MCArMSw2NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0
OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
CisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpZm5kZWYgTG9hZEluaXRpYXRvckhhbmRsZV9oCisjZGVmaW5lIExvYWRJbml0
aWF0b3JIYW5kbGVfaAorCisjaW5jbHVkZSAiRG9jdW1lbnQuaCIKKyNpbmNsdWRlICJMb2FkSW5p
dGlhdG9yLmgiCisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L0F0
b21pY1N0cmluZy5oPgorCisjaWYgRU5BQkxFKFJFU09VUkNFX1RJTUlORykKKyNpbmNsdWRlICJE
T01XaW5kb3cuaCIKKyNpbmNsdWRlICJQZXJmb3JtYW5jZS5oIgorI2VuZGlmCisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKworY2xhc3MgTG9hZEluaXRpYXRvckhhbmRsZSA6IHB1YmxpYyBMb2FkSW5p
dGlhdG9yIHsKK3B1YmxpYzoKKyAgICBMb2FkSW5pdGlhdG9ySGFuZGxlKCk7CisgICAgTG9hZElu
aXRpYXRvckhhbmRsZShjb25zdCBMb2FkSW5pdGlhdG9yJik7CisgICAgdmlydHVhbCB+TG9hZElu
aXRpYXRvckhhbmRsZSgpOworCisgICAgdm9pZCBjbGVhcigpOworCisgICAgdmlydHVhbCBjb25z
dCBBdG9taWNTdHJpbmcmIGluaXRpYXRvck5hbWUoKSBjb25zdCB7IHJldHVybiBtX25hbWU7IH0K
KyAgICB2aXJ0dWFsIERvY3VtZW50KiBpbml0aWF0b3JEb2N1bWVudCgpIGNvbnN0IHsgcmV0dXJu
IG1fZG9jdW1lbnQuZ2V0KCk7IH0KKworcHJpdmF0ZToKKyAgICBBdG9taWNTdHJpbmcgbV9uYW1l
OworICAgIFJlZlB0cjxEb2N1bWVudD4gbV9kb2N1bWVudDsKK307CisKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKKworI2VuZGlmIC8vIExvYWRJbml0aWF0b3JIYW5kbGVfaApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL01haW5SZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvTWFpblJlc291cmNlTG9hZGVyLmNwcAppbmRleCBlYTY2NzAzNmM4YzM5ZjY2
MjQ4ZDhlMjVkOGNlMWIxODFmNzRjZTFjLi5iZTEzZDgzMzY0MDQ0ZTBjZDM3MWEwMzNjMzMzNDY3
YzI2YTQyMzE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTWFpblJlc291cmNl
TG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTWFpblJlc291cmNlTG9hZGVy
LmNwcApAQCAtNTMsNiArNTMsMTEgQEAKICNpbmNsdWRlICJTZXR0aW5ncy5oIgogI2luY2x1ZGUg
PHd0Zi9DdXJyZW50VGltZS5oPgogCisjaWYgRU5BQkxFKFJFU09VUkNFX1RJTUlORykKKyNpbmNs
dWRlICJIVE1MRnJhbWVPd25lckVsZW1lbnQuaCIKKyNpbmNsdWRlICJQZXJmb3JtYW5jZS5oIgor
I2VuZGlmCisKICNpZiBQTEFURk9STShRVCkKICNpbmNsdWRlICJQbHVnaW5EYXRhYmFzZS5oIgog
I2VuZGlmCkBAIC01MjEsNyArNTI2LDEzIEBAIHZvaWQgTWFpblJlc291cmNlTG9hZGVyOjpkaWRG
aW5pc2hMb2FkaW5nKGRvdWJsZSBmaW5pc2hUaW1lKQogICAgIGlmIChtX2xvYWRpbmdNdWx0aXBh
cnRDb250ZW50KQogICAgICAgICBkbC0+bWF5YmVGaW5pc2hMb2FkaW5nTXVsdGlwYXJ0Q29udGVu
dCgpOwogCisKICAgICBkb2N1bWVudExvYWRlcigpLT50aW1pbmcoKS0+c2V0UmVzcG9uc2VFbmQo
ZmluaXNoVGltZSA/IGZpbmlzaFRpbWUgOiAobV90aW1lT2ZMYXN0RGF0YVJlY2VpdmVkID8gbV90
aW1lT2ZMYXN0RGF0YVJlY2VpdmVkIDogbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkpKTsK
KyNpZiBFTkFCTEUoUkVTT1VSQ0VfVElNSU5HKQorICAgIGlmIChtX2ZyYW1lLT5vd25lckVsZW1l
bnQoKSkKKyAgICAgICAgbV9mcmFtZS0+b3duZXJFbGVtZW50KCktPmluaXRpYXRvckRvY3VtZW50
KCktPmRvbVdpbmRvdygpLT5wZXJmb3JtYW5jZSgpLT5hZGRSZXNvdXJjZVRpbWluZygqbV9mcmFt
ZS0+b3duZXJFbGVtZW50KCksIG9yaWdpbmFsUmVxdWVzdCgpLCBtX3Jlc3BvbnNlLCBkb2N1bWVu
dExvYWRlcigpLT50aW1pbmcoKS0+cmVzcG9uc2VFbmQoKSk7CisjZW5kaWYKKwogICAgIGRvY3Vt
ZW50TG9hZGVyKCktPmZpbmlzaGVkTG9hZGluZygpOwogICAgIFJlc291cmNlTG9hZGVyOjpkaWRG
aW5pc2hMb2FkaW5nKGZpbmlzaFRpbWUpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvTnVsbExvYWRJbml0aWF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL051bGxM
b2FkSW5pdGlhdG9yLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yNDcyN2JkYWU5YjhhNDBjNzMwZTFkOTA0YTNj
MDE2YmFkYzVkYjk2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL051
bGxMb2FkSW5pdGlhdG9yLmNwcApAQCAtMCwwICsxLDQ0IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAq
ICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBp
dHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisg
KiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgor
I2luY2x1ZGUgIk51bGxMb2FkSW5pdGlhdG9yLmgiCisKKyNpbmNsdWRlIDx3dGYvU3RkTGliRXh0
cmFzLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY29uc3QgTnVsbExvYWRJbml0aWF0b3Im
IE51bGxMb2FkSW5pdGlhdG9yOjppbnN0YW5jZSgpCit7CisgICAgREVGSU5FX1NUQVRJQ19MT0NB
TChOdWxsTG9hZEluaXRpYXRvciwgaW5zdGFuY2UsICgpKTsKKyAgICByZXR1cm4gaW5zdGFuY2U7
Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9OdWxsTG9hZEluaXRpYXRvci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL051bGxM
b2FkSW5pdGlhdG9yLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjA2ZGVhYTgzODc4NDUwY2VkMGY0ZTdiOWNiOGJk
MWY3MmI0NDNlNAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OdWxs
TG9hZEluaXRpYXRvci5oCkBAIC0wLDAgKzEsNTMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAg
ICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwor
ICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAor
ICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIE51bGxMb2FkSW5pdGlhdG9y
X2gKKyNkZWZpbmUgTnVsbExvYWRJbml0aWF0b3JfaAorCisjaW5jbHVkZSAiTG9hZEluaXRpYXRv
ci5oIgorI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmluZy5oPgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CitjbGFzcyBEb2N1bWVudDsKKworY2xhc3MgTnVsbExvYWRJbml0aWF0b3IgOiBwdWJs
aWMgTG9hZEluaXRpYXRvciB7CitwdWJsaWM6CisgICAgc3RhdGljIGNvbnN0IE51bGxMb2FkSW5p
dGlhdG9yJiBpbnN0YW5jZSgpOworCisgICAgdmlydHVhbCBjb25zdCBXVEY6OkF0b21pY1N0cmlu
ZyYgaW5pdGlhdG9yTmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fbmFtZTsgfQorICAgIHZpcnR1YWwg
RG9jdW1lbnQqIGluaXRpYXRvckRvY3VtZW50KCkgY29uc3QgeyByZXR1cm4gMDsgfQorCitwcml2
YXRlOgorICAgIEF0b21pY1N0cmluZyBtX25hbWU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCisKKyNlbmRpZiAvLyBOdWxsTG9hZEluaXRpYXRvcl9oCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkTm90aWZpZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL1Jlc291cmNlTG9hZE5vdGlmaWVyLmNwcAppbmRleCBjNzM0OWExZWQ2YTIzMzMyZGY4
Yzk0Mjk5YjJmMjljMTczNTAwMDQ3Li4yNGRmNDg5Yzc5MmViMDlmZWUwN2E0MDQxNjcwMDk1ZDU4
NDJiNTk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkTm90
aWZpZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWROb3RpZmll
ci5jcHAKQEAgLTEyMSw2ICsxMjEsMTAgQEAgdm9pZCBSZXNvdXJjZUxvYWROb3RpZmllcjo6ZGlz
cGF0Y2hXaWxsU2VuZFJlcXVlc3QoRG9jdW1lbnRMb2FkZXIqIGxvYWRlciwgdW5zaWcKICAgICAv
LyBSZXBvcnQgV2ViVGltaW5nIGZvciBhbGwgZnJhbWVzLgogICAgIGlmIChsb2FkZXIgJiYgIXJl
cXVlc3QuaXNOdWxsKCkgJiYgcmVxdWVzdC51cmwoKSA9PSBsb2FkZXItPnJlcXVlc3RVUkwoKSkK
ICAgICAgICAgcmVxdWVzdC5zZXRSZXBvcnRMb2FkVGltaW5nKHRydWUpOworCisjaWYgRU5BQkxF
KFJFU09VUkNFX1RJTUlORykKKyAgICByZXF1ZXN0LnNldFJlcG9ydExvYWRUaW1pbmcodHJ1ZSk7
CisjZW5kaWYKIH0KIAogdm9pZCBSZXNvdXJjZUxvYWROb3RpZmllcjo6ZGlzcGF0Y2hEaWRSZWNl
aXZlUmVzcG9uc2UoRG9jdW1lbnRMb2FkZXIqIGxvYWRlciwgdW5zaWduZWQgbG9uZyBpZGVudGlm
aWVyLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByLCBSZXNvdXJjZUxvYWRlciogcmVzb3VyY2VM
b2FkZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmNwcAppbmRleCBmMGE2
YzMzNWNjZjk2OTI2YjRiMTMxNjlmNDBlNDFjYTg4ZWVhYzlmLi5hNzdkNzQ3N2RjYTUyMjdmNjU4
MjkzMDllMWI2NThmNmM2YzU0MzJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
UmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxv
YWRlci5jcHAKQEAgLTIzOSw2ICsyMzksOCBAQCB2b2lkIFJlc291cmNlTG9hZGVyOjp3aWxsU2Vu
ZFJlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBSZXNvdXJjZVJlcwogICAg
IGlmICghcmVkaXJlY3RSZXNwb25zZS5pc051bGwoKSkKICAgICAgICAgcmVzb3VyY2VMb2FkU2No
ZWR1bGVyKCktPmNyb3NzT3JpZ2luUmVkaXJlY3RSZWNlaXZlZCh0aGlzLCByZXF1ZXN0LnVybCgp
KTsKICAgICBtX3JlcXVlc3QgPSByZXF1ZXN0OworICAgIGlmIChtX29yaWdpbmFsUmVxdWVzdC5p
c051bGwoKSkKKyAgICAgICAgbV9vcmlnaW5hbFJlcXVlc3QgPSByZXF1ZXN0OwogfQogCiB2b2lk
IFJlc291cmNlTG9hZGVyOjpkaWRTZW5kRGF0YSh1bnNpZ25lZCBsb25nIGxvbmcsIHVuc2lnbmVk
IGxvbmcgbG9uZykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJj
ZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3Bw
CmluZGV4IDU2ZGUwZDM0MTMzYzNmNWE0NzJiZmMyYmM2ZjRlNWNkZjM4MzAzZmQuLjUwZTgwMDRh
NmQ0YjM4ZDEzYmU4NWMxOTE1ZjU2YTVkNDViYjhiOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL1N1YnJlc291cmNlTG9hZGVyLmNwcApAQCAtNiwxMyArNiwxMyBAQAogICogYXJlIG1ldDoK
ICAqCiAgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICAqIDIuICBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAogICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAKKyAqICAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgogICogMy4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4g
KCJBcHBsZSIpIG5vciB0aGUgbmFtZXMgb2YKICAqICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCi0gKiAgICAgZnJv
bSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
LiAKKyAqICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCiAgKgogICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKICAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQKQEAgLTQzLDYgKzQzLDExIEBACiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogI2lu
Y2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KIAorI2lmIEVOQUJMRShSRVNPVVJDRV9USU1JTkcp
CisjaW5jbHVkZSAiRE9NV2luZG93LmgiCisjaW5jbHVkZSAiUGVyZm9ybWFuY2UuaCIKKyNlbmRp
ZgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIERFRklORV9ERUJVR19PTkxZX0dMT0JBTChXVEY6
OlJlZkNvdW50ZWRMZWFrQ291bnRlciwgc3VicmVzb3VyY2VMb2FkZXJDb3VudGVyLCAoIlN1YnJl
c291cmNlTG9hZGVyIikpOwpAQCAtMTY0LDcgKzE2OSw3IEBAIHZvaWQgU3VicmVzb3VyY2VMb2Fk
ZXI6OndpbGxTZW5kUmVxdWVzdChSZXNvdXJjZVJlcXVlc3QmIG5ld1JlcXVlc3QsIGNvbnN0IFJl
c291CiB7CiAgICAgLy8gU3RvcmUgdGhlIHByZXZpb3VzIFVSTCBiZWNhdXNlIHRoZSBjYWxsIHRv
IFJlc291cmNlTG9hZGVyOjp3aWxsU2VuZFJlcXVlc3Qgd2lsbCBtb2RpZnkgaXQuCiAgICAgS1VS
TCBwcmV2aW91c1VSTCA9IHJlcXVlc3QoKS51cmwoKTsKLSAgICAKKwogICAgIFJlc291cmNlTG9h
ZGVyOjp3aWxsU2VuZFJlcXVlc3QobmV3UmVxdWVzdCwgcmVkaXJlY3RSZXNwb25zZSk7CiAgICAg
aWYgKCFwcmV2aW91c1VSTC5pc051bGwoKSAmJiAhbmV3UmVxdWVzdC5pc051bGwoKSAmJiBwcmV2
aW91c1VSTCAhPSBuZXdSZXF1ZXN0LnVybCgpKSB7CiAgICAgICAgIGlmIChtX2RvY3VtZW50LT5j
YWNoZWRSZXNvdXJjZUxvYWRlcigpLT5jYW5SZXF1ZXN0KG1fcmVzb3VyY2UtPnR5cGUoKSwgbmV3
UmVxdWVzdC51cmwoKSkpIHsKQEAgLTIyNiw4ICsyMzEsOCBAQCB2b2lkIFN1YnJlc291cmNlTG9h
ZGVyOjpkaWRSZWNlaXZlUmVzcG9uc2UoY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2Up
CiAgICAgaWYgKG1fbG9hZGluZ011bHRpcGFydENvbnRlbnQgJiYgYnVmZmVyICYmIGJ1ZmZlci0+
c2l6ZSgpKSB7CiAgICAgICAgIHNlbmREYXRhVG9SZXNvdXJjZShidWZmZXItPmRhdGEoKSwgYnVm
ZmVyLT5zaXplKCkpOwogICAgICAgICBjbGVhclJlc291cmNlRGF0YSgpOwotICAgICAgICAvLyBT
aW5jZSBhIHN1YnJlc291cmNlIGxvYWRlciBkb2VzIG5vdCBsb2FkIG11bHRpcGFydCBzZWN0aW9u
cyBwcm9ncmVzc2l2ZWx5LCBkYXRhIHdhcyBkZWxpdmVyZWQgdG8gdGhlIGxvYWRlciBhbGwgYXQg
b25jZS4gICAgICAgIAotICAgICAgICAvLyBBZnRlciB0aGUgZmlyc3QgbXVsdGlwYXJ0IHNlY3Rp
b24gaXMgY29tcGxldGUsIHNpZ25hbCB0byBkZWxlZ2F0ZXMgdGhhdCB0aGlzIGxvYWQgaXMgImZp
bmlzaGVkIiAKKyAgICAgICAgLy8gU2luY2UgYSBzdWJyZXNvdXJjZSBsb2FkZXIgZG9lcyBub3Qg
bG9hZCBtdWx0aXBhcnQgc2VjdGlvbnMgcHJvZ3Jlc3NpdmVseSwgZGF0YSB3YXMgZGVsaXZlcmVk
IHRvIHRoZSBsb2FkZXIgYWxsIGF0IG9uY2UuCisgICAgICAgIC8vIEFmdGVyIHRoZSBmaXJzdCBt
dWx0aXBhcnQgc2VjdGlvbiBpcyBjb21wbGV0ZSwgc2lnbmFsIHRvIGRlbGVnYXRlcyB0aGF0IHRo
aXMgbG9hZCBpcyAiZmluaXNoZWQiCiAgICAgICAgIG1fZG9jdW1lbnRMb2FkZXItPnN1YnJlc291
cmNlTG9hZGVyRmluaXNoZWRMb2FkaW5nT25lUGFydCh0aGlzKTsKICAgICAgICAgZGlkRmluaXNo
TG9hZGluZ09uZVBhcnQoMCk7CiAgICAgfQpAQCAtMjY0LDE2ICsyNjksMTYgQEAgYm9vbCBTdWJy
ZXNvdXJjZUxvYWRlcjo6Y2hlY2tGb3JIVFRQU3RhdHVzQ29kZUVycm9yKCkKIAogdm9pZCBTdWJy
ZXNvdXJjZUxvYWRlcjo6c2VuZERhdGFUb1Jlc291cmNlKGNvbnN0IGNoYXIqIGRhdGEsIGludCBs
ZW5ndGgpCiB7Ci0gICAgLy8gVGhlcmUgYXJlIHR3byBjYXNlcyB3aGVyZSB3ZSBtaWdodCBuZWVk
IHRvIGNyZWF0ZSBvdXIgb3duIFNoYXJlZEJ1ZmZlciBpbnN0ZWFkIG9mIGNvcHlpbmcgdGhlIG9u
ZSBpbiBSZXNvdXJjZUxvYWRlci4gCi0gICAgLy8gKDEpIE11bHRpcGFydCBjb250ZW50OiBUaGUg
bG9hZGVyIGRlbGl2ZXJzIHRoZSBkYXRhIGluIGEgbXVsdGlwYXJ0IHNlY3Rpb24gYWxsIGF0IG9u
Y2UsIHRoZW4gc2VuZHMgZW9mLiAKLSAgICAvLyAgICAgVGhlIHJlc291cmNlIGRhdGEgd2lsbCBj
aGFuZ2UgYXMgdGhlIG5leHQgcGFydCBpcyBsb2FkZWQsIHNvIHdlIG5lZWQgdG8gbWFrZSBhIGNv
cHkuIAotICAgIC8vICgyKSBPdXIgY2xpZW50IHJlcXVlc3RlZCB0aGF0IHRoZSBkYXRhIG5vdCBi
ZSBidWZmZXJlZCBhdCB0aGUgUmVzb3VyY2VMb2FkZXIgbGV2ZWwgdmlhIFJlc291cmNlTG9hZGVy
T3B0aW9ucy4gSW4gdGhpcyBjYXNlLCAKLSAgICAvLyAgICAgUmVzb3VyY2VMb2FkZXI6OnJlc291
cmNlRGF0YSgpIHdpbGwgYmUgbnVsbC4gSG93ZXZlciwgdW5saWtlIHRoZSBtdWx0aXBhcnQgY2Fz
ZSwgd2UgZG9uJ3Qgd2FudCB0byB0ZWxsIHRoZSBDYWNoZWRSZXNvdXJjZSAKLSAgICAvLyAgICAg
dGhhdCBhbGwgZGF0YSBoYXMgYmVlbiByZWNlaXZlZCB5ZXQuIAotICAgIGlmIChtX2xvYWRpbmdN
dWx0aXBhcnRDb250ZW50IHx8ICFyZXNvdXJjZURhdGEoKSkgeyAKLSAgICAgICAgUmVmUHRyPFNo
YXJlZEJ1ZmZlcj4gY29waWVkRGF0YSA9IFNoYXJlZEJ1ZmZlcjo6Y3JlYXRlKGRhdGEsIGxlbmd0
aCk7IAotICAgICAgICBtX3Jlc291cmNlLT5kYXRhKGNvcGllZERhdGEucmVsZWFzZSgpLCBtX2xv
YWRpbmdNdWx0aXBhcnRDb250ZW50KTsgCi0gICAgfSBlbHNlIAorICAgIC8vIFRoZXJlIGFyZSB0
d28gY2FzZXMgd2hlcmUgd2UgbWlnaHQgbmVlZCB0byBjcmVhdGUgb3VyIG93biBTaGFyZWRCdWZm
ZXIgaW5zdGVhZCBvZiBjb3B5aW5nIHRoZSBvbmUgaW4gUmVzb3VyY2VMb2FkZXIuCisgICAgLy8g
KDEpIE11bHRpcGFydCBjb250ZW50OiBUaGUgbG9hZGVyIGRlbGl2ZXJzIHRoZSBkYXRhIGluIGEg
bXVsdGlwYXJ0IHNlY3Rpb24gYWxsIGF0IG9uY2UsIHRoZW4gc2VuZHMgZW9mLgorICAgIC8vICAg
ICBUaGUgcmVzb3VyY2UgZGF0YSB3aWxsIGNoYW5nZSBhcyB0aGUgbmV4dCBwYXJ0IGlzIGxvYWRl
ZCwgc28gd2UgbmVlZCB0byBtYWtlIGEgY29weS4KKyAgICAvLyAoMikgT3VyIGNsaWVudCByZXF1
ZXN0ZWQgdGhhdCB0aGUgZGF0YSBub3QgYmUgYnVmZmVyZWQgYXQgdGhlIFJlc291cmNlTG9hZGVy
IGxldmVsIHZpYSBSZXNvdXJjZUxvYWRlck9wdGlvbnMuIEluIHRoaXMgY2FzZSwKKyAgICAvLyAg
ICAgUmVzb3VyY2VMb2FkZXI6OnJlc291cmNlRGF0YSgpIHdpbGwgYmUgbnVsbC4gSG93ZXZlciwg
dW5saWtlIHRoZSBtdWx0aXBhcnQgY2FzZSwgd2UgZG9uJ3Qgd2FudCB0byB0ZWxsIHRoZSBDYWNo
ZWRSZXNvdXJjZQorICAgIC8vICAgICB0aGF0IGFsbCBkYXRhIGhhcyBiZWVuIHJlY2VpdmVkIHll
dC4KKyAgICBpZiAobV9sb2FkaW5nTXVsdGlwYXJ0Q29udGVudCB8fCAhcmVzb3VyY2VEYXRhKCkp
IHsKKyAgICAgICAgUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gY29waWVkRGF0YSA9IFNoYXJlZEJ1ZmZl
cjo6Y3JlYXRlKGRhdGEsIGxlbmd0aCk7CisgICAgICAgIG1fcmVzb3VyY2UtPmRhdGEoY29waWVk
RGF0YS5yZWxlYXNlKCksIG1fbG9hZGluZ011bHRpcGFydENvbnRlbnQpOworICAgIH0gZWxzZQog
ICAgICAgICBtX3Jlc291cmNlLT5kYXRhKHJlc291cmNlRGF0YSgpLCBmYWxzZSk7CiB9CiAKQEAg
LTI5Niw2ICszMDEsMTEgQEAgdm9pZCBTdWJyZXNvdXJjZUxvYWRlcjo6ZGlkRmluaXNoTG9hZGlu
Zyhkb3VibGUgZmluaXNoVGltZSkKICAgICBSZWZQdHI8U3VicmVzb3VyY2VMb2FkZXI+IHByb3Rl
Y3QodGhpcyk7CiAgICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmVzb3VyY2U+IHByb3Rl
Y3RSZXNvdXJjZShtX3Jlc291cmNlKTsKICAgICBtX3N0YXRlID0gRmluaXNoaW5nOworI2lmIEVO
QUJMRShSRVNPVVJDRV9USU1JTkcpCisgICAgY29uc3QgTG9hZEluaXRpYXRvciYgaW5pdGlhdG9y
ID0gbV9yZXNvdXJjZS0+aW5pdGlhdG9yKCk7CisgICAgaWYgKGluaXRpYXRvci5pbml0aWF0b3JE
b2N1bWVudCgpKQorICAgICAgICBpbml0aWF0b3IuaW5pdGlhdG9yRG9jdW1lbnQoKS0+ZG9tV2lu
ZG93KCktPnBlcmZvcm1hbmNlKCktPmFkZFJlc291cmNlVGltaW5nKGluaXRpYXRvciwgbV9yZXNv
dXJjZS0+cmVzb3VyY2VSZXF1ZXN0KCksIG1fcmVzb3VyY2UtPnJlc3BvbnNlKCksIGZpbmlzaFRp
bWUpOworI2VuZGlmCiAgICAgbV9yZXNvdXJjZS0+c2V0TG9hZEZpbmlzaFRpbWUoZmluaXNoVGlt
ZSk7CiAgICAgbV9yZXNvdXJjZS0+ZGF0YShyZXNvdXJjZURhdGEoKSwgdHJ1ZSk7CiAgICAgbV9y
ZXNvdXJjZS0+ZmluaXNoKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4
dFRyYWNrTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UZXh0VHJhY2tMb2FkZXIu
Y3BwCmluZGV4IDIwMjU3MGQxZDBhOGQ1ZTM1ZjZjMTQ0Yjg5YWZmMmMyMGE4ODE1NzcuLmI5OTUz
ZmFlOTRjMGZmMTczZTY3YWE2Y2E1YjUzMmU2ZjNjYTI2MWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9UZXh0VHJhY2tMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9UZXh0VHJhY2tMb2FkZXIuY3BwCkBAIC00MSw3ICs0MSw3IEBACiAjaW5jbHVkZSAiV2Vi
VlRUUGFyc2VyLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKLSAgICAKKwogVGV4dFRyYWNrTG9h
ZGVyOjpUZXh0VHJhY2tMb2FkZXIoVGV4dFRyYWNrTG9hZGVyQ2xpZW50KiBjbGllbnQsIFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpCiAgICAgOiBtX2NsaWVudChjbGllbnQpCiAgICAg
LCBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQoY29udGV4dCkKQEAgLTYxLDEyICs2MSwxMiBAQCBU
ZXh0VHJhY2tMb2FkZXI6On5UZXh0VHJhY2tMb2FkZXIoKQogdm9pZCBUZXh0VHJhY2tMb2FkZXI6
OmN1ZUxvYWRUaW1lckZpcmVkKFRpbWVyPFRleHRUcmFja0xvYWRlcj4qIHRpbWVyKQogewogICAg
IEFTU0VSVF9VTlVTRUQodGltZXIsIHRpbWVyID09ICZtX2N1ZUxvYWRUaW1lcik7Ci0gICAgCisK
ICAgICBpZiAobV9uZXdDdWVzQXZhaWxhYmxlKSB7CiAgICAgICAgIG1fbmV3Q3Vlc0F2YWlsYWJs
ZSA9IGZhbHNlOwotICAgICAgICBtX2NsaWVudC0+bmV3Q3Vlc0F2YWlsYWJsZSh0aGlzKTsgCisg
ICAgICAgIG1fY2xpZW50LT5uZXdDdWVzQXZhaWxhYmxlKHRoaXMpOwogICAgIH0KLSAgICAKKwog
ICAgIGlmIChtX3N0YXRlID49IEZpbmlzaGVkKQogICAgICAgICBtX2NsaWVudC0+Y3VlTG9hZGlu
Z0NvbXBsZXRlZCh0aGlzLCBtX3N0YXRlID09IEZhaWxlZCk7CiB9CkBAIC04MiwxMCArODIsMTAg
QEAgdm9pZCBUZXh0VHJhY2tMb2FkZXI6OmNhbmNlbExvYWQoKQogdm9pZCBUZXh0VHJhY2tMb2Fk
ZXI6OnByb2Nlc3NOZXdDdWVEYXRhKENhY2hlZFJlc291cmNlKiByZXNvdXJjZSkKIHsKICAgICBB
U1NFUlQobV9jYWNoZWRDdWVEYXRhID09IHJlc291cmNlKTsKLSAgICAKKwogICAgIGlmIChtX3N0
YXRlID09IEZhaWxlZCB8fCAhcmVzb3VyY2UtPmRhdGEoKSkKICAgICAgICAgcmV0dXJuOwotICAg
IAorCiAgICAgU2hhcmVkQnVmZmVyKiBidWZmZXIgPSByZXNvdXJjZS0+ZGF0YSgpOwogICAgIGlm
IChtX3BhcnNlT2Zmc2V0ID09IGJ1ZmZlci0+c2l6ZSgpKQogICAgICAgICByZXR1cm47CkBAIC0x
MDUsMTAgKzEwNSwxMCBAQCB2b2lkIFRleHRUcmFja0xvYWRlcjo6cHJvY2Vzc05ld0N1ZURhdGEo
Q2FjaGVkUmVzb3VyY2UqIHJlc291cmNlKQogdm9pZCBUZXh0VHJhY2tMb2FkZXI6OmRpZFJlY2Vp
dmVEYXRhKENhY2hlZFJlc291cmNlKiByZXNvdXJjZSkKIHsKICAgICBBU1NFUlQobV9jYWNoZWRD
dWVEYXRhID09IHJlc291cmNlKTsKLSAgICAKKwogICAgIGlmICghcmVzb3VyY2UtPmRhdGEoKSkK
ICAgICAgICAgcmV0dXJuOwotICAgIAorCiAgICAgcHJvY2Vzc05ld0N1ZURhdGEocmVzb3VyY2Up
OwogfQogCkBAIC0xNDAsNyArMTQwLDcgQEAgdm9pZCBUZXh0VHJhY2tMb2FkZXI6Om5vdGlmeUZp
bmlzaGVkKENhY2hlZFJlc291cmNlKiByZXNvdXJjZSkKIAogICAgIGlmICghbV9jdWVMb2FkVGlt
ZXIuaXNBY3RpdmUoKSkKICAgICAgICAgbV9jdWVMb2FkVGltZXIuc3RhcnRPbmVTaG90KDApOwot
ICAgIAorCiAgICAgY2FuY2VsTG9hZCgpOwogfQogCkBAIC0xNjgsMTIgKzE2OCwxMiBAQCBib29s
IFRleHRUcmFja0xvYWRlcjo6bG9hZChjb25zdCBLVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgY3Jv
c3NPcmlnaW5Nb2RlKQogICAgIH0KIAogICAgIENhY2hlZFJlc291cmNlTG9hZGVyKiBjYWNoZWRS
ZXNvdXJjZUxvYWRlciA9IGRvY3VtZW50LT5jYWNoZWRSZXNvdXJjZUxvYWRlcigpOwotICAgIG1f
Y2FjaGVkQ3VlRGF0YSA9IGNhY2hlZFJlc291cmNlTG9hZGVyLT5yZXF1ZXN0VGV4dFRyYWNrKGN1
ZVJlcXVlc3QpOworICAgIG1fY2FjaGVkQ3VlRGF0YSA9IGNhY2hlZFJlc291cmNlTG9hZGVyLT5y
ZXF1ZXN0VGV4dFRyYWNrKGN1ZVJlcXVlc3QsIG1fY2xpZW50LT5pbml0aWF0b3IoKSk7CiAgICAg
aWYgKG1fY2FjaGVkQ3VlRGF0YSkKICAgICAgICAgbV9jYWNoZWRDdWVEYXRhLT5hZGRDbGllbnQo
dGhpcyk7Ci0gICAgCisKICAgICBtX2NsaWVudC0+Y3VlTG9hZGluZ1N0YXJ0ZWQodGhpcyk7Ci0g
ICAgCisKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL1RleHRUcmFja0xvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RleHRUcmFj
a0xvYWRlci5oCmluZGV4IDc0MzM0ZjkwNjQ2Y2RmZDQ1OGY5YzIzZjYyZjA4MWY0ODc1YjhjM2Mu
LmVhOWI5MDczMzYwYmVmNmZjM2M1NjYyMjMyZWMzYjFlYzk4ZTBlNzAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9UZXh0VHJhY2tMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvVGV4dFRyYWNrTG9hZGVyLmgKQEAgLTM4LDE3ICszOCwxOSBAQAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBjbGFzcyBEb2N1bWVudDsKK2NsYXNzIExvYWRJbml0aWF0b3I7CiBjbGFz
cyBUZXh0VHJhY2tMb2FkZXI7CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogCiBjbGFz
cyBUZXh0VHJhY2tMb2FkZXJDbGllbnQgewogcHVibGljOgogICAgIHZpcnR1YWwgflRleHRUcmFj
a0xvYWRlckNsaWVudCgpIHsgfQotICAgIAorCiAgICAgdmlydHVhbCBib29sIHNob3VsZExvYWRD
dWVzKFRleHRUcmFja0xvYWRlciopID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgbmV3Q3Vlc0F2YWls
YWJsZShUZXh0VHJhY2tMb2FkZXIqKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGN1ZUxvYWRpbmdT
dGFydGVkKFRleHRUcmFja0xvYWRlciopID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgY3VlTG9hZGlu
Z0NvbXBsZXRlZChUZXh0VHJhY2tMb2FkZXIqLCBib29sIGxvYWRpbmdGYWlsZWQpID0gMDsKKyAg
ICB2aXJ0dWFsIGNvbnN0IExvYWRJbml0aWF0b3ImIGluaXRpYXRvcigpIGNvbnN0ID0gMDsKIH07
CiAKIGNsYXNzIFRleHRUcmFja0xvYWRlciA6IHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNsaWVudCwg
cHJpdmF0ZSBXZWJWVFRQYXJzZXJDbGllbnQgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL1RocmVhZGFibGVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVh
ZGFibGVMb2FkZXIuY3BwCmluZGV4IDcyMGJhNGVlYTE1OTI3Y2MyNWRkMDA1Nzg4NGE1ZDNlZjZk
ZGY3NjYuLjhkMzdlNjQ0NzVkMjliNDk0ODkxNjgxYzI2YWY5NDhjMTE1Y2I3ZDMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5jcHAKQEAgLTQwLDcgKzQwLDcgQEAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1QYXNzUmVmUHRyPFRocmVhZGFibGVMb2FkZXI+IFRo
cmVhZGFibGVMb2FkZXI6OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBU
aHJlYWRhYmxlTG9hZGVyQ2xpZW50KiBjbGllbnQsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVx
dWVzdCwgY29uc3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMmIG9wdGlvbnMpIAorUGFzc1JlZlB0
cjxUaHJlYWRhYmxlTG9hZGVyPiBUaHJlYWRhYmxlTG9hZGVyOjpjcmVhdGUoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCogY29udGV4dCwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCogY2xpZW50LCBjb25z
dCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25z
JiBvcHRpb25zLCBjb25zdCBMb2FkSW5pdGlhdG9yJiBpbml0aWF0b3IpCiB7CiAgICAgQVNTRVJU
KGNsaWVudCk7CiAgICAgQVNTRVJUKGNvbnRleHQpOwpAQCAtNTEsMTAgKzUxLDEwIEBAIFBhc3NS
ZWZQdHI8VGhyZWFkYWJsZUxvYWRlcj4gVGhyZWFkYWJsZUxvYWRlcjo6Y3JlYXRlKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQqIGNvCiAjZW5kaWYgLy8gRU5BQkxFKFdPUktFUlMpCiAKICAgICBBU1NF
UlQoY29udGV4dC0+aXNEb2N1bWVudCgpKTsKLSAgICByZXR1cm4gRG9jdW1lbnRUaHJlYWRhYmxl
TG9hZGVyOjpjcmVhdGUoc3RhdGljX2Nhc3Q8RG9jdW1lbnQqPihjb250ZXh0KSwgY2xpZW50LCBy
ZXF1ZXN0LCBvcHRpb25zKTsKKyAgICByZXR1cm4gRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyOjpj
cmVhdGUoc3RhdGljX2Nhc3Q8RG9jdW1lbnQqPihjb250ZXh0KSwgY2xpZW50LCByZXF1ZXN0LCBv
cHRpb25zLCBpbml0aWF0b3IpOwogfQogCi12b2lkIFRocmVhZGFibGVMb2FkZXI6OmxvYWRSZXNv
dXJjZVN5bmNocm9ub3VzbHkoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgY29uc3Qg
UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50JiBjbGllbnQs
IGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJiBvcHRpb25zKQordm9pZCBUaHJlYWRhYmxl
TG9hZGVyOjpsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQq
IGNvbnRleHQsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgVGhyZWFkYWJsZUxvYWRl
ckNsaWVudCYgY2xpZW50LCBjb25zdCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9ucyYgb3B0aW9ucywg
Y29uc3QgTG9hZEluaXRpYXRvciYgaW5pdGlhdG9yKQogewogICAgIEFTU0VSVChjb250ZXh0KTsK
IApAQCAtNjYsNyArNjYsNyBAQCB2b2lkIFRocmVhZGFibGVMb2FkZXI6OmxvYWRSZXNvdXJjZVN5
bmNocm9ub3VzbHkoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dAogI2VuZGlmIC8vIEVO
QUJMRShXT1JLRVJTKQogCiAgICAgQVNTRVJUKGNvbnRleHQtPmlzRG9jdW1lbnQoKSk7Ci0gICAg
RG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyOjpsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KHN0YXRp
Y19jYXN0PERvY3VtZW50Kj4oY29udGV4dCksIHJlcXVlc3QsIGNsaWVudCwgb3B0aW9ucyk7Cisg
ICAgRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyOjpsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KHN0
YXRpY19jYXN0PERvY3VtZW50Kj4oY29udGV4dCksIHJlcXVlc3QsIGNsaWVudCwgb3B0aW9ucywg
aW5pdGlhdG9yKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9UaHJlYWRhYmxlTG9hZGVyLmgKaW5kZXggODhlOGRkMTBhNThhY2VkYjA1OTA5MTFkZjBk
OWNlYTI4YzM4NGY2Yy4uMjQ5YjUzMGU2NGYxY2ZlYTFjY2FjZDc4YjljNjI3YmQ0MjM0NmI0OCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5oCkBAIC0zMSw2ICszMSw3
IEBACiAjaWZuZGVmIFRocmVhZGFibGVMb2FkZXJfaAogI2RlZmluZSBUaHJlYWRhYmxlTG9hZGVy
X2gKIAorI2luY2x1ZGUgIk51bGxMb2FkSW5pdGlhdG9yLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VI
YW5kbGUuaCIKICNpbmNsdWRlICJSZXNvdXJjZUxvYWRlck9wdGlvbnMuaCIKICNpbmNsdWRlICJT
ZWN1cml0eU9yaWdpbi5oIgpAQCAtNDEsNDkgKzQyLDUwIEBACiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotICAgIGNsYXNzIFJlc291cmNlRXJyb3I7Ci0gICAgY2xhc3MgUmVzb3VyY2VSZXF1ZXN0
OwotICAgIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7Ci0gICAgY2xhc3MgU2NyaXB0RXhlY3V0aW9u
Q29udGV4dDsKLSAgICBjbGFzcyBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50OwotICAgIAotICAgIGVu
dW0gQ3Jvc3NPcmlnaW5SZXF1ZXN0UG9saWN5IHsKLSAgICAgICAgRGVueUNyb3NzT3JpZ2luUmVx
dWVzdHMsCi0gICAgICAgIFVzZUFjY2Vzc0NvbnRyb2wsCi0gICAgICAgIEFsbG93Q3Jvc3NPcmln
aW5SZXF1ZXN0cwotICAgIH07CitjbGFzcyBMb2FkSW5pdGlhdG9yOworY2xhc3MgUmVzb3VyY2VF
cnJvcjsKK2NsYXNzIFJlc291cmNlUmVxdWVzdDsKK2NsYXNzIFJlc291cmNlUmVzcG9uc2U7Citj
bGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OworY2xhc3MgVGhyZWFkYWJsZUxvYWRlckNsaWVu
dDsKIAotICAgIGVudW0gUHJlZmxpZ2h0UG9saWN5IHsKLSAgICAgICAgQ29uc2lkZXJQcmVmbGln
aHQsCi0gICAgICAgIEZvcmNlUHJlZmxpZ2h0LAotICAgICAgICBQcmV2ZW50UHJlZmxpZ2h0Ci0g
ICAgfTsKK2VudW0gQ3Jvc3NPcmlnaW5SZXF1ZXN0UG9saWN5IHsKKyAgICBEZW55Q3Jvc3NPcmln
aW5SZXF1ZXN0cywKKyAgICBVc2VBY2Nlc3NDb250cm9sLAorICAgIEFsbG93Q3Jvc3NPcmlnaW5S
ZXF1ZXN0cworfTsKIAotICAgIHN0cnVjdCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9ucyA6IHB1Ymxp
YyBSZXNvdXJjZUxvYWRlck9wdGlvbnMgewotICAgICAgICBUaHJlYWRhYmxlTG9hZGVyT3B0aW9u
cygpIDogcHJlZmxpZ2h0UG9saWN5KENvbnNpZGVyUHJlZmxpZ2h0KSwgY3Jvc3NPcmlnaW5SZXF1
ZXN0UG9saWN5KERlbnlDcm9zc09yaWdpblJlcXVlc3RzKSB7IH0KLSAgICAgICAgUHJlZmxpZ2h0
UG9saWN5IHByZWZsaWdodFBvbGljeTsgLy8gSWYgQWNjZXNzQ29udHJvbCBpcyB1c2VkLCBob3cg
dG8gZGV0ZXJtaW5lIGlmIGEgcHJlZmxpZ2h0IGlzIG5lZWRlZC4KLSAgICAgICAgQ3Jvc3NPcmln
aW5SZXF1ZXN0UG9saWN5IGNyb3NzT3JpZ2luUmVxdWVzdFBvbGljeTsKLSAgICAgICAgUmVmUHRy
PFNlY3VyaXR5T3JpZ2luPiBzZWN1cml0eU9yaWdpbjsKLSAgICB9OworZW51bSBQcmVmbGlnaHRQ
b2xpY3kgeworICAgIENvbnNpZGVyUHJlZmxpZ2h0LAorICAgIEZvcmNlUHJlZmxpZ2h0LAorICAg
IFByZXZlbnRQcmVmbGlnaHQKK307CiAKLSAgICAvLyBVc2VmdWwgZm9yIGRvaW5nIGxvYWRlciBv
cGVyYXRpb25zIGZyb20gYW55IHRocmVhZCAobm90IHRocmVhZHNhZmUsIAotICAgIC8vIGp1c3Qg
YWJsZSB0byBydW4gb24gdGhyZWFkcyBvdGhlciB0aGFuIHRoZSBtYWluIHRocmVhZCkuCi0gICAg
Y2xhc3MgVGhyZWFkYWJsZUxvYWRlciB7Ci0gICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRo
cmVhZGFibGVMb2FkZXIpOwotICAgIHB1YmxpYzoKLSAgICAgICAgc3RhdGljIHZvaWQgbG9hZFJl
c291cmNlU3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgY29uc3QgUmVzb3Vy
Y2VSZXF1ZXN0JiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCYsIGNvbnN0IFRocmVhZGFibGVMb2Fk
ZXJPcHRpb25zJik7Ci0gICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFRocmVhZGFibGVMb2FkZXI+
IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCos
IGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJik7
CitzdHJ1Y3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMgOiBwdWJsaWMgUmVzb3VyY2VMb2FkZXJP
cHRpb25zIHsKKyAgICBUaHJlYWRhYmxlTG9hZGVyT3B0aW9ucygpIDogcHJlZmxpZ2h0UG9saWN5
KENvbnNpZGVyUHJlZmxpZ2h0KSwgY3Jvc3NPcmlnaW5SZXF1ZXN0UG9saWN5KERlbnlDcm9zc09y
aWdpblJlcXVlc3RzKSB7IH0KKyAgICBQcmVmbGlnaHRQb2xpY3kgcHJlZmxpZ2h0UG9saWN5OyAv
LyBJZiBBY2Nlc3NDb250cm9sIGlzIHVzZWQsIGhvdyB0byBkZXRlcm1pbmUgaWYgYSBwcmVmbGln
aHQgaXMgbmVlZGVkLgorICAgIENyb3NzT3JpZ2luUmVxdWVzdFBvbGljeSBjcm9zc09yaWdpblJl
cXVlc3RQb2xpY3k7CisgICAgUmVmUHRyPFNlY3VyaXR5T3JpZ2luPiBzZWN1cml0eU9yaWdpbjsK
K307CiAKLSAgICAgICAgdmlydHVhbCB2b2lkIGNhbmNlbCgpID0gMDsKLSAgICAgICAgdm9pZCBy
ZWYoKSB7IHJlZlRocmVhZGFibGVMb2FkZXIoKTsgfQotICAgICAgICB2b2lkIGRlcmVmKCkgeyBk
ZXJlZlRocmVhZGFibGVMb2FkZXIoKTsgfQorLy8gVXNlZnVsIGZvciBkb2luZyBsb2FkZXIgb3Bl
cmF0aW9ucyBmcm9tIGFueSB0aHJlYWQgKG5vdCB0aHJlYWRzYWZlLAorLy8ganVzdCBhYmxlIHRv
IHJ1biBvbiB0aHJlYWRzIG90aGVyIHRoYW4gdGhlIG1haW4gdGhyZWFkKS4KK2NsYXNzIFRocmVh
ZGFibGVMb2FkZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRocmVhZGFibGVMb2FkZXIp
OworcHVibGljOgorICAgIHN0YXRpYyB2b2lkIGxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIFRocmVhZGFibGVM
b2FkZXJDbGllbnQmLCBjb25zdCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9ucyYsIGNvbnN0IExvYWRJ
bml0aWF0b3ImID0gTnVsbExvYWRJbml0aWF0b3I6Omluc3RhbmNlKCkpOworICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPFRocmVhZGFibGVMb2FkZXI+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0
KiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0
IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJiwgY29uc3QgTG9hZEluaXRpYXRvciYgPSBOdWxsTG9h
ZEluaXRpYXRvcjo6aW5zdGFuY2UoKSk7CiAKLSAgICBwcm90ZWN0ZWQ6Ci0gICAgICAgIFRocmVh
ZGFibGVMb2FkZXIoKSB7IH0KLSAgICAgICAgdmlydHVhbCB+VGhyZWFkYWJsZUxvYWRlcigpIHsg
fQotICAgICAgICB2aXJ0dWFsIHZvaWQgcmVmVGhyZWFkYWJsZUxvYWRlcigpID0gMDsKLSAgICAg
ICAgdmlydHVhbCB2b2lkIGRlcmVmVGhyZWFkYWJsZUxvYWRlcigpID0gMDsKLSAgICB9OworICAg
IHZpcnR1YWwgdm9pZCBjYW5jZWwoKSA9IDA7CisgICAgdm9pZCByZWYoKSB7IHJlZlRocmVhZGFi
bGVMb2FkZXIoKTsgfQorICAgIHZvaWQgZGVyZWYoKSB7IGRlcmVmVGhyZWFkYWJsZUxvYWRlcigp
OyB9CisKK3Byb3RlY3RlZDoKKyAgICBUaHJlYWRhYmxlTG9hZGVyKCkgeyB9CisgICAgdmlydHVh
bCB+VGhyZWFkYWJsZUxvYWRlcigpIHsgfQorICAgIHZpcnR1YWwgdm9pZCByZWZUaHJlYWRhYmxl
TG9hZGVyKCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBkZXJlZlRocmVhZGFibGVMb2FkZXIoKSA9
IDA7Cit9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwCmluZGV4IGQyOTFkMTQzYjEzYmExYTE5M2Ri
ZTMwODM1ZTdjNzlmYTQ4Mjk0MmUuLjVhNTdlYmI4YWZmNWE2ZmE2ODhlNTJlM2JkYzUxZjMxZTg4
NTcwNjMgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNv
dXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNl
LmNwcApAQCAtNTMsNyArNTMsNyBAQAogdXNpbmcgbmFtZXNwYWNlIFdURjsKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewotICAgIAorCiBzdGF0aWMgUmVzb3VyY2VMb2FkUHJpb3JpdHkgZGVmYXVsdFBy
aW9yaXR5Rm9yUmVzb3VyY2VUeXBlKENhY2hlZFJlc291cmNlOjpUeXBlIHR5cGUpCiB7CiAgICAg
c3dpdGNoICh0eXBlKSB7CkBAIC0xMDEsNyArMTAxLDcgQEAgc3RhdGljIFJlc291cmNlUmVxdWVz
dDo6VGFyZ2V0VHlwZSBjYWNoZWRSZXNvdXJjZVR5cGVUb1RhcmdldFR5cGUoQ2FjaGVkUmVzb3Vy
Y2UKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpYU0xTdHlsZVNoZWV0OgogI2VuZGlmCiAgICAg
ICAgIHJldHVybiBSZXNvdXJjZVJlcXVlc3Q6OlRhcmdldElzU3R5bGVTaGVldDsKLSAgICBjYXNl
IENhY2hlZFJlc291cmNlOjpTY3JpcHQ6IAorICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlNjcmlw
dDoKICAgICAgICAgcmV0dXJuIFJlc291cmNlUmVxdWVzdDo6VGFyZ2V0SXNTY3JpcHQ7CiAgICAg
Y2FzZSBDYWNoZWRSZXNvdXJjZTo6Rm9udFJlc291cmNlOgogICAgICAgICByZXR1cm4gUmVzb3Vy
Y2VSZXF1ZXN0OjpUYXJnZXRJc0ZvbnRSZXNvdXJjZTsKQEAgLTExMSw3ICsxMTEsNyBAQCBzdGF0
aWMgUmVzb3VyY2VSZXF1ZXN0OjpUYXJnZXRUeXBlIGNhY2hlZFJlc291cmNlVHlwZVRvVGFyZ2V0
VHlwZShDYWNoZWRSZXNvdXJjZQogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlNoYWRlclJlc291
cmNlOgogI2VuZGlmCiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6UmF3UmVzb3VyY2U6Ci0gICAg
ICAgIHJldHVybiBSZXNvdXJjZVJlcXVlc3Q6OlRhcmdldElzU3VicmVzb3VyY2U7ICAgIAorICAg
ICAgICByZXR1cm4gUmVzb3VyY2VSZXF1ZXN0OjpUYXJnZXRJc1N1YnJlc291cmNlOwogI2lmIEVO
QUJMRShMSU5LX1BSRUZFVENIKQogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OkxpbmtQcmVmZXRj
aDoKICAgICAgICAgcmV0dXJuIFJlc291cmNlUmVxdWVzdDo6VGFyZ2V0SXNQcmVmZXRjaDsKQEAg
LTIyNCwxMyArMjI0LDEzIEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2U6OmxvYWQoQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXIqIGNhY2hlZFJlc291cmNlTG9hZGVyLCBjb25zdCBSZXNvCiAgICAgICAgIG1fcmVz
b3VyY2VSZXF1ZXN0LnNldEhUVFBIZWFkZXJGaWVsZCgiUHVycG9zZSIsICJwcmVmZXRjaCIpOwog
I2VuZGlmCiAgICAgbV9yZXNvdXJjZVJlcXVlc3Quc2V0UHJpb3JpdHkobG9hZFByaW9yaXR5KCkp
OwotICAgIAorCiAgICAgbV9sb2FkZXIgPSByZXNvdXJjZUxvYWRTY2hlZHVsZXIoKS0+c2NoZWR1
bGVTdWJyZXNvdXJjZUxvYWQoY2FjaGVkUmVzb3VyY2VMb2FkZXItPmRvY3VtZW50KCktPmZyYW1l
KCksIHRoaXMsIG1fcmVzb3VyY2VSZXF1ZXN0LCBtX3Jlc291cmNlUmVxdWVzdC5wcmlvcml0eSgp
LCBvcHRpb25zKTsKICAgICBpZiAoIW1fbG9hZGVyKSB7CiAgICAgICAgIC8vIEZJWE1FOiBXaGF0
IGlmIHJlc291cmNlcyBpbiBvdGhlciBmcmFtZXMgd2VyZSB3YWl0aW5nIGZvciB0aGlzIHJldmFs
aWRhdGlvbj8KICAgICAgICAgTE9HKFJlc291cmNlTG9hZGluZywgIkNhbm5vdCBzdGFydCBsb2Fk
aW5nICclcyciLCB1cmwoKS5zdHJpbmcoKS5sYXRpbjEoKS5kYXRhKCkpOwotICAgICAgICBpZiAo
bV9yZXNvdXJjZVRvUmV2YWxpZGF0ZSkgCi0gICAgICAgICAgICBtZW1vcnlDYWNoZSgpLT5yZXZh
bGlkYXRpb25GYWlsZWQodGhpcyk7IAorICAgICAgICBpZiAobV9yZXNvdXJjZVRvUmV2YWxpZGF0
ZSkKKyAgICAgICAgICAgIG1lbW9yeUNhY2hlKCktPnJldmFsaWRhdGlvbkZhaWxlZCh0aGlzKTsK
ICAgICAgICAgZXJyb3IoQ2FjaGVkUmVzb3VyY2U6OkxvYWRFcnJvcik7CiAgICAgICAgIHJldHVy
bjsKICAgICB9CkBAIC0yNTIsNyArMjUyLDcgQEAgdm9pZCBDYWNoZWRSZXNvdXJjZTo6ZGF0YShQ
YXNzUmVmUHRyPFNoYXJlZEJ1ZmZlcj4sIGJvb2wgYWxsRGF0YVJlY2VpdmVkKQogewogICAgIGlm
ICghYWxsRGF0YVJlY2VpdmVkKQogICAgICAgICByZXR1cm47Ci0gICAgCisKICAgICBzZXRMb2Fk
aW5nKGZhbHNlKTsKICAgICBjaGVja05vdGlmeSgpOwogfQpAQCAtMjcxLDYgKzI3MSw3IEBAIHZv
aWQgQ2FjaGVkUmVzb3VyY2U6OmZpbmlzaCgpCiB7CiAgICAgaWYgKCFlcnJvck9jY3VycmVkKCkp
CiAgICAgICAgIG1fc3RhdHVzID0gQ2FjaGVkOworICAgIG1faW5pdGlhdG9yLmNsZWFyKCk7CiB9
CiAKIGJvb2wgQ2FjaGVkUmVzb3VyY2U6OnBhc3Nlc0FjY2Vzc0NvbnRyb2xDaGVjayhTZWN1cml0
eU9yaWdpbiogc2VjdXJpdHlPcmlnaW4pCkBAIC0yODYsNyArMjg3LDcgQEAgYm9vbCBDYWNoZWRS
ZXNvdXJjZTo6aXNFeHBpcmVkKCkgY29uc3QKIAogICAgIHJldHVybiBjdXJyZW50QWdlKCkgPiBm
cmVzaG5lc3NMaWZldGltZSgpOwogfQotICAgIAorCiBkb3VibGUgQ2FjaGVkUmVzb3VyY2U6OmN1
cnJlbnRBZ2UoKSBjb25zdAogewogICAgIC8vIFJGQzI2MTYgMTMuMi4zCkBAIC0yOTgsNyArMjk5
LDcgQEAgZG91YmxlIENhY2hlZFJlc291cmNlOjpjdXJyZW50QWdlKCkgY29uc3QKICAgICBkb3Vi
bGUgcmVzaWRlbnRUaW1lID0gY3VycmVudFRpbWUoKSAtIG1fcmVzcG9uc2VUaW1lc3RhbXA7CiAg
ICAgcmV0dXJuIGNvcnJlY3RlZFJlY2VpdmVkQWdlICsgcmVzaWRlbnRUaW1lOwogfQotICAgIAor
CiBkb3VibGUgQ2FjaGVkUmVzb3VyY2U6OmZyZXNobmVzc0xpZmV0aW1lKCkgY29uc3QKIHsKICAg
ICAvLyBDYWNoZSBub24taHR0cCByZXNvdXJjZXMgbGliZXJhbGx5CkBAIC0zNjAsNyArMzYxLDcg
QEAgQ2FjaGVkTWV0YWRhdGEqIENhY2hlZFJlc291cmNlOjpjYWNoZWRNZXRhZGF0YSh1bnNpZ25l
ZCBkYXRhVHlwZUlEKSBjb25zdAogCiB2b2lkIENhY2hlZFJlc291cmNlOjpzdG9wTG9hZGluZygp
CiB7Ci0gICAgQVNTRVJUKG1fbG9hZGVyKTsgICAgICAgICAgICAKKyAgICBBU1NFUlQobV9sb2Fk
ZXIpOwogICAgIG1fbG9hZGVyID0gMDsKIAogICAgIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hl
ZFJlc291cmNlPiBwcm90ZWN0KHRoaXMpOwpAQCAtNDkxLDEzICs0OTIsMTMgQEAgdm9pZCBDYWNo
ZWRSZXNvdXJjZTo6c2V0RGVjb2RlZFNpemUodW5zaWduZWQgc2l6ZSkKICAgICAvLyBxdWV1ZS4K
ICAgICBpZiAoaW5DYWNoZSgpKQogICAgICAgICBtZW1vcnlDYWNoZSgpLT5yZW1vdmVGcm9tTFJV
TGlzdCh0aGlzKTsKLSAgICAKKwogICAgIG1fZGVjb2RlZFNpemUgPSBzaXplOwotICAgCi0gICAg
aWYgKGluQ2FjaGUoKSkgeyAKKworICAgIGlmIChpbkNhY2hlKCkpIHsKICAgICAgICAgLy8gTm93
IGluc2VydCBpbnRvIHRoZSBuZXcgTFJVIGxpc3QuCiAgICAgICAgIG1lbW9yeUNhY2hlKCktPmlu
c2VydEluTFJVTGlzdCh0aGlzKTsKLSAgICAgICAgCisKICAgICAgICAgLy8gSW5zZXJ0IGludG8g
b3IgcmVtb3ZlIGZyb20gdGhlIGxpdmUgZGVjb2RlZCBsaXN0IGlmIG5lY2Vzc2FyeS4KICAgICAg
ICAgLy8gV2hlbiBpbnNlcnRpbmcgaW50byB0aGUgTGl2ZURlY29kZWRSZXNvdXJjZXNMaXN0IGl0
IGlzIHBvc3NpYmxlCiAgICAgICAgIC8vIHRoYXQgdGhlIG1fbGFzdERlY29kZWRBY2Nlc3NUaW1l
IGlzIHN0aWxsIHplcm8gb3Igc21hbGxlciB0aGFuCkBAIC01MjIsNyArNTIzLDcgQEAgdm9pZCBD
YWNoZWRSZXNvdXJjZTo6c2V0RW5jb2RlZFNpemUodW5zaWduZWQgc2l6ZSkKIAogICAgIC8vIFRo
ZSBzaXplIGNhbm5vdCBldmVyIHNocmluayAodW5sZXNzIGl0IGlzIGJlaW5nIG51bGxlZCBvdXQg
YmVjYXVzZSBvZiBhbiBlcnJvcikuICBJZiBpdCBldmVyIGRvZXMsIGFzc2VydC4KICAgICBBU1NF
UlQoc2l6ZSA9PSAwIHx8IHNpemUgPj0gbV9lbmNvZGVkU2l6ZSk7Ci0gICAgCisKICAgICBpbnQg
ZGVsdGEgPSBzaXplIC0gbV9lbmNvZGVkU2l6ZTsKIAogICAgIC8vIFRoZSBvYmplY3QgbXVzdCBu
b3cgYmUgbW92ZWQgdG8gYSBkaWZmZXJlbnQgcXVldWUsIHNpbmNlIGl0cyBzaXplIGhhcyBiZWVu
IGNoYW5nZWQuCkBAIC01MzAsMTMgKzUzMSwxMyBAQCB2b2lkIENhY2hlZFJlc291cmNlOjpzZXRF
bmNvZGVkU2l6ZSh1bnNpZ25lZCBzaXplKQogICAgIC8vIHF1ZXVlLgogICAgIGlmIChpbkNhY2hl
KCkpCiAgICAgICAgIG1lbW9yeUNhY2hlKCktPnJlbW92ZUZyb21MUlVMaXN0KHRoaXMpOwotICAg
IAorCiAgICAgbV9lbmNvZGVkU2l6ZSA9IHNpemU7Ci0gICAKLSAgICBpZiAoaW5DYWNoZSgpKSB7
IAorCisgICAgaWYgKGluQ2FjaGUoKSkgewogICAgICAgICAvLyBOb3cgaW5zZXJ0IGludG8gdGhl
IG5ldyBMUlUgbGlzdC4KICAgICAgICAgbWVtb3J5Q2FjaGUoKS0+aW5zZXJ0SW5MUlVMaXN0KHRo
aXMpOwotICAgICAgICAKKwogICAgICAgICAvLyBVcGRhdGUgdGhlIGNhY2hlJ3Mgc2l6ZSB0b3Rh
bHMuCiAgICAgICAgIG1lbW9yeUNhY2hlKCktPmFkanVzdFNpemUoaGFzQ2xpZW50cygpLCBkZWx0
YSk7CiAgICAgfQpAQCAtNTQ1LDcgKzU0Niw3IEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2U6OnNldEVu
Y29kZWRTaXplKHVuc2lnbmVkIHNpemUpCiB2b2lkIENhY2hlZFJlc291cmNlOjpkaWRBY2Nlc3NE
ZWNvZGVkRGF0YShkb3VibGUgdGltZVN0YW1wKQogewogICAgIG1fbGFzdERlY29kZWRBY2Nlc3NU
aW1lID0gdGltZVN0YW1wOwotICAgIAorCiAgICAgaWYgKGluQ2FjaGUoKSkgewogICAgICAgICBp
ZiAobV9pbkxpdmVEZWNvZGVkUmVzb3VyY2VzTGlzdCkgewogICAgICAgICAgICAgbWVtb3J5Q2Fj
aGUoKS0+cmVtb3ZlRnJvbUxpdmVEZWNvZGVkUmVzb3VyY2VzTGlzdCh0aGlzKTsKQEAgLTU1NCw5
ICs1NTUsOSBAQCB2b2lkIENhY2hlZFJlc291cmNlOjpkaWRBY2Nlc3NEZWNvZGVkRGF0YShkb3Vi
bGUgdGltZVN0YW1wKQogICAgICAgICBtZW1vcnlDYWNoZSgpLT5wcnVuZSgpOwogICAgIH0KIH0K
LSAgICAKLXZvaWQgQ2FjaGVkUmVzb3VyY2U6OnNldFJlc291cmNlVG9SZXZhbGlkYXRlKENhY2hl
ZFJlc291cmNlKiByZXNvdXJjZSkgCi17IAorCit2b2lkIENhY2hlZFJlc291cmNlOjpzZXRSZXNv
dXJjZVRvUmV2YWxpZGF0ZShDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2UpCit7CiAgICAgQVNTRVJU
KHJlc291cmNlKTsKICAgICBBU1NFUlQoIW1fcmVzb3VyY2VUb1JldmFsaWRhdGUpOwogICAgIEFT
U0VSVChyZXNvdXJjZSAhPSB0aGlzKTsKQEAgLTU3NCw4ICs1NzUsOCBAQCB2b2lkIENhY2hlZFJl
c291cmNlOjpzZXRSZXNvdXJjZVRvUmV2YWxpZGF0ZShDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2Up
CiAgICAgbV9yZXNvdXJjZVRvUmV2YWxpZGF0ZSA9IHJlc291cmNlOwogfQogCi12b2lkIENhY2hl
ZFJlc291cmNlOjpjbGVhclJlc291cmNlVG9SZXZhbGlkYXRlKCkgCi17IAordm9pZCBDYWNoZWRS
ZXNvdXJjZTo6Y2xlYXJSZXNvdXJjZVRvUmV2YWxpZGF0ZSgpCit7CiAgICAgQVNTRVJUKG1fcmVz
b3VyY2VUb1JldmFsaWRhdGUpOwogICAgIGlmIChtX3N3aXRjaGluZ0NsaWVudHNUb1JldmFsaWRh
dGVkUmVzb3VyY2UpCiAgICAgICAgIHJldHVybjsKQEAgLTU4OSw3ICs1OTAsNyBAQCB2b2lkIENh
Y2hlZFJlc291cmNlOjpjbGVhclJlc291cmNlVG9SZXZhbGlkYXRlKCkKICAgICBtX3Jlc291cmNl
VG9SZXZhbGlkYXRlID0gMDsKICAgICBkZWxldGVJZlBvc3NpYmxlKCk7CiB9Ci0gICAgCisKIHZv
aWQgQ2FjaGVkUmVzb3VyY2U6OnN3aXRjaENsaWVudHNUb1JldmFsaWRhdGVkUmVzb3VyY2UoKQog
ewogICAgIEFTU0VSVChtX3Jlc291cmNlVG9SZXZhbGlkYXRlKTsKQEAgLTYzNSw3ICs2MzYsNyBA
QCB2b2lkIENhY2hlZFJlc291cmNlOjpzd2l0Y2hDbGllbnRzVG9SZXZhbGlkYXRlZFJlc291cmNl
KCkKICAgICB9CiAgICAgbV9zd2l0Y2hpbmdDbGllbnRzVG9SZXZhbGlkYXRlZFJlc291cmNlID0g
ZmFsc2U7CiB9Ci0gICAgCisKIHZvaWQgQ2FjaGVkUmVzb3VyY2U6OnVwZGF0ZVJlc3BvbnNlQWZ0
ZXJSZXZhbGlkYXRpb24oY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgdmFsaWRhdGluZ1Jlc3BvbnNl
KQogewogICAgIG1fcmVzcG9uc2VUaW1lc3RhbXAgPSBjdXJyZW50VGltZSgpOwpAQCAtNjgzLDcg
KzY4NCw3IEBAIGJvb2wgQ2FjaGVkUmVzb3VyY2U6OmNhblVzZUNhY2hlVmFsaWRhdG9yKCkgY29u
c3QKIH0KIAogYm9vbCBDYWNoZWRSZXNvdXJjZTo6bXVzdFJldmFsaWRhdGVEdWVUb0NhY2hlSGVh
ZGVycyhDYWNoZVBvbGljeSBjYWNoZVBvbGljeSkgY29uc3QKLXsgICAgCit7CiAgICAgQVNTRVJU
KGNhY2hlUG9saWN5ID09IENhY2hlUG9saWN5UmV2YWxpZGF0ZSB8fCBjYWNoZVBvbGljeSA9PSBD
YWNoZVBvbGljeUNhY2hlIHx8IGNhY2hlUG9saWN5ID09IENhY2hlUG9saWN5VmVyaWZ5KTsKIAog
ICAgIGlmIChjYWNoZVBvbGljeSA9PSBDYWNoZVBvbGljeVJldmFsaWRhdGUpCkBAIC03MTIsMTIg
KzcxMywxMiBAQCBib29sIENhY2hlZFJlc291cmNlOjptdXN0UmV2YWxpZGF0ZUR1ZVRvQ2FjaGVI
ZWFkZXJzKENhY2hlUG9saWN5IGNhY2hlUG9saWN5KSBjbwogfQogCiBib29sIENhY2hlZFJlc291
cmNlOjppc1NhZmVUb01ha2VQdXJnZWFibGUoKSBjb25zdAoteyAKK3sKICAgICByZXR1cm4gIWhh
c0NsaWVudHMoKSAmJiAhbV9wcm94eVJlc291cmNlICYmICFtX3Jlc291cmNlVG9SZXZhbGlkYXRl
OwogfQogCi1ib29sIENhY2hlZFJlc291cmNlOjptYWtlUHVyZ2VhYmxlKGJvb2wgcHVyZ2VhYmxl
KSAKLXsgCitib29sIENhY2hlZFJlc291cmNlOjptYWtlUHVyZ2VhYmxlKGJvb2wgcHVyZ2VhYmxl
KQorewogICAgIGlmIChwdXJnZWFibGUpIHsKICAgICAgICAgQVNTRVJUKGlzU2FmZVRvTWFrZVB1
cmdlYWJsZSgpKTsKIApAQCAtNzI3LDExICs3MjgsMTEgQEAgYm9vbCBDYWNoZWRSZXNvdXJjZTo6
bWFrZVB1cmdlYWJsZShib29sIHB1cmdlYWJsZSkKICAgICAgICAgfQogICAgICAgICBpZiAoIW1f
ZGF0YSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgCisKICAgICAgICAgLy8g
U2hvdWxkIG5vdCBtYWtlIGJ1ZmZlciBwdXJnZWFibGUgaWYgaXQgaGFzIHJlZnMgb3RoZXIgdGhh
biB0aGlzIHNpbmNlIHdlIGRvbid0IHdhbnQgdHdvIGNvcGllcy4KICAgICAgICAgaWYgKCFtX2Rh
dGEtPmhhc09uZVJlZigpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAKKwog
ICAgICAgICBpZiAobV9kYXRhLT5oYXNQdXJnZWFibGVCdWZmZXIoKSkgewogICAgICAgICAgICAg
bV9wdXJnZWFibGVEYXRhID0gbV9kYXRhLT5yZWxlYXNlUHVyZ2VhYmxlQnVmZmVyKCk7CiAgICAg
ICAgIH0gZWxzZSB7CkBAIC03NDAsNyArNzQxLDcgQEAgYm9vbCBDYWNoZWRSZXNvdXJjZTo6bWFr
ZVB1cmdlYWJsZShib29sIHB1cmdlYWJsZSkKICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7
CiAgICAgICAgICAgICBtX3B1cmdlYWJsZURhdGEtPnNldFB1cmdlUHJpb3JpdHkocHVyZ2VQcmlv
cml0eSgpKTsKICAgICAgICAgfQotICAgICAgICAKKwogICAgICAgICBtX3B1cmdlYWJsZURhdGEt
Pm1ha2VQdXJnZWFibGUodHJ1ZSk7CiAgICAgICAgIG1fZGF0YS5jbGVhcigpOwogICAgICAgICBy
ZXR1cm4gdHJ1ZTsKQEAgLTc1Miw3ICs3NTMsNyBAQCBib29sIENhY2hlZFJlc291cmNlOjptYWtl
UHVyZ2VhYmxlKGJvb2wgcHVyZ2VhYmxlKQogICAgIEFTU0VSVCghaGFzQ2xpZW50cygpKTsKIAog
ICAgIGlmICghbV9wdXJnZWFibGVEYXRhLT5tYWtlUHVyZ2VhYmxlKGZhbHNlKSkKLSAgICAgICAg
cmV0dXJuIGZhbHNlOyAKKyAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgbV9kYXRhID0gU2hh
cmVkQnVmZmVyOjphZG9wdFB1cmdlYWJsZUJ1ZmZlcihtX3B1cmdlYWJsZURhdGEucmVsZWFzZSgp
KTsKICAgICByZXR1cm4gdHJ1ZTsKQEAgLTc3Myw5ICs3NzQsOSBAQCB1bnNpZ25lZCBDYWNoZWRS
ZXNvdXJjZTo6b3ZlcmhlYWRTaXplKCkgY29uc3QKICAgICBzdGF0aWMgY29uc3QgaW50IGtBdmVy
YWdlQ2xpZW50c0hhc2hNYXBTaXplID0gMzg0OwogICAgIHJldHVybiBzaXplb2YoQ2FjaGVkUmVz
b3VyY2UpICsgbV9yZXNwb25zZS5tZW1vcnlVc2FnZSgpICsga0F2ZXJhZ2VDbGllbnRzSGFzaE1h
cFNpemUgKyBtX3Jlc291cmNlUmVxdWVzdC51cmwoKS5zdHJpbmcoKS5sZW5ndGgoKSAqIDI7CiB9
Ci0gICAgCi12b2lkIENhY2hlZFJlc291cmNlOjpzZXRMb2FkUHJpb3JpdHkoUmVzb3VyY2VMb2Fk
UHJpb3JpdHkgbG9hZFByaW9yaXR5KSAKLXsgCisKK3ZvaWQgQ2FjaGVkUmVzb3VyY2U6OnNldExv
YWRQcmlvcml0eShSZXNvdXJjZUxvYWRQcmlvcml0eSBsb2FkUHJpb3JpdHkpCit7CiAgICAgaWYg
KGxvYWRQcmlvcml0eSA9PSBSZXNvdXJjZUxvYWRQcmlvcml0eVVucmVzb2x2ZWQpCiAgICAgICAg
IHJldHVybjsKICAgICBtX2xvYWRQcmlvcml0eSA9IGxvYWRQcmlvcml0eTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmgKaW5kZXggYjczOWQ2OGFmODFmMmRi
N2I0ODYyZGYxNTlhYWNmMTU4ZTBiNTczMy4uYmY2YWE4OGZjMGRlMmQ0MjAxOTUyYmI1ZTUwZTll
MDQ5ZTU5MjAxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hl
ZFJlc291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291
cmNlLmgKQEAgLTI1LDYgKzI1LDggQEAKIAogI2luY2x1ZGUgIkNhY2hlUG9saWN5LmgiCiAjaW5j
bHVkZSAiRnJhbWVMb2FkZXJUeXBlcy5oIgorI2luY2x1ZGUgIkxvYWRJbml0aWF0b3IuaCIKKyNp
bmNsdWRlICJMb2FkSW5pdGlhdG9ySGFuZGxlLmgiCiAjaW5jbHVkZSAiUHVyZ2VQcmlvcml0eS5o
IgogI2luY2x1ZGUgIlJlc291cmNlTG9hZFByaW9yaXR5LmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VM
b2FkZXJPcHRpb25zLmgiCkBAIC01Nyw3ICs1OSw3IEBAIGNsYXNzIENhY2hlZFJlc291cmNlIHsK
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDYWNoZWRSZXNvdXJjZSk7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogICAgIGZyaWVuZCBjbGFzcyBNZW1vcnlDYWNoZTsKICAgICBmcmllbmQgY2xh
c3MgSW5zcGVjdG9yUmVzb3VyY2U7Ci0gICAgCisKIHB1YmxpYzoKICAgICBlbnVtIFR5cGUgewog
ICAgICAgICBJbWFnZVJlc291cmNlLApAQCAtMTA1LDkgKzEwNywxMCBAQCBwdWJsaWM6CiAgICAg
dmlydHVhbCBib29sIHNob3VsZElnbm9yZUhUVFBTdGF0dXNDb2RlRXJyb3JzKCkgY29uc3QgeyBy
ZXR1cm4gZmFsc2U7IH0KIAogICAgIFJlc291cmNlUmVxdWVzdCYgcmVzb3VyY2VSZXF1ZXN0KCkg
eyByZXR1cm4gbV9yZXNvdXJjZVJlcXVlc3Q7IH0KLSAgICBjb25zdCBLVVJMJiB1cmwoKSBjb25z
dCB7IHJldHVybiBtX3Jlc291cmNlUmVxdWVzdC51cmwoKTt9CisgICAgY29uc3QgUmVzb3VyY2VS
ZXF1ZXN0JiByZXNvdXJjZVJlcXVlc3QoKSBjb25zdCB7IHJldHVybiBtX3Jlc291cmNlUmVxdWVz
dDsgfQorICAgIGNvbnN0IEtVUkwmIHVybCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVzb3VyY2VSZXF1
ZXN0LnVybCgpOyB9CiAgICAgVHlwZSB0eXBlKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8
VHlwZT4obV90eXBlKTsgfQotICAgIAorCiAgICAgUmVzb3VyY2VMb2FkUHJpb3JpdHkgbG9hZFBy
aW9yaXR5KCkgY29uc3QgeyByZXR1cm4gbV9sb2FkUHJpb3JpdHk7IH0KICAgICB2b2lkIHNldExv
YWRQcmlvcml0eShSZXNvdXJjZUxvYWRQcmlvcml0eSk7CiAKQEAgLTEzOCw3ICsxNDEsNyBAQCBw
dWJsaWM6CiAgICAgdW5zaWduZWQgZW5jb2RlZFNpemUoKSBjb25zdCB7IHJldHVybiBtX2VuY29k
ZWRTaXplOyB9CiAgICAgdW5zaWduZWQgZGVjb2RlZFNpemUoKSBjb25zdCB7IHJldHVybiBtX2Rl
Y29kZWRTaXplOyB9CiAgICAgdW5zaWduZWQgb3ZlcmhlYWRTaXplKCkgY29uc3Q7Ci0gICAgCisK
ICAgICBib29sIGlzTG9hZGVkKCkgY29uc3QgeyByZXR1cm4gIW1fbG9hZGluZzsgfSAvLyBGSVhN
RS4gTWV0aG9kIG5hbWUgaXMgaW5hY2N1cmF0ZS4gTG9hZGluZyBtaWdodCBub3QgaGF2ZSBzdGFy
dGVkIHlldC4KIAogICAgIGJvb2wgaXNMb2FkaW5nKCkgY29uc3QgeyByZXR1cm4gbV9sb2FkaW5n
OyB9CkBAIC0xNjEsNyArMTY0LDcgQEAgcHVibGljOgogICAgIHVuc2lnbmVkIGFjY2Vzc0NvdW50
KCkgY29uc3QgeyByZXR1cm4gbV9hY2Nlc3NDb3VudDsgfQogICAgIHZvaWQgaW5jcmVhc2VBY2Nl
c3NDb3VudCgpIHsgbV9hY2Nlc3NDb3VudCsrOyB9CiAKLSAgICAvLyBDb21wdXRlcyB0aGUgc3Rh
dHVzIG9mIGFuIG9iamVjdCBhZnRlciBsb2FkaW5nLiAgCisgICAgLy8gQ29tcHV0ZXMgdGhlIHN0
YXR1cyBvZiBhbiBvYmplY3QgYWZ0ZXIgbG9hZGluZy4KICAgICAvLyBVcGRhdGVzIHRoZSBleHBp
cmUgZGF0ZSBvbiB0aGUgY2FjaGUgZW50cnkgZmlsZQogICAgIHZvaWQgZmluaXNoKCk7CiAKQEAg
LTE3Myw5ICsxNzYsOSBAQCBwdWJsaWM6CiAgICAgLy8gVGhlIHJlc291cmNlIGNhbiBiZSBicm91
Z2h0IGJhY2sgdG8gY2FjaGUgYWZ0ZXIgc3VjY2Vzc2Z1bCByZXZhbGlkYXRpb24uCiAgICAgdm9p
ZCBzZXRJbkNhY2hlKGJvb2wgaW5DYWNoZSkgeyBtX2luQ2FjaGUgPSBpbkNhY2hlOyB9CiAgICAg
Ym9vbCBpbkNhY2hlKCkgY29uc3QgeyByZXR1cm4gbV9pbkNhY2hlOyB9Ci0gICAgCisKICAgICBi
b29sIGluTGl2ZURlY29kZWRSZXNvdXJjZXNMaXN0KCkgeyByZXR1cm4gbV9pbkxpdmVEZWNvZGVk
UmVzb3VyY2VzTGlzdDsgfQotICAgIAorCiAgICAgdm9pZCBzdG9wTG9hZGluZygpOwogCiAgICAg
U2hhcmVkQnVmZmVyKiBkYXRhKCkgY29uc3QgeyBBU1NFUlQoIW1fcHVyZ2VhYmxlRGF0YSk7IHJl
dHVybiBtX2RhdGEuZ2V0KCk7IH0KQEAgLTE5Miw2ICsxOTUsOSBAQCBwdWJsaWM6CiAgICAgLy8g
aWRlbnRpZmllciB0aGF0IGlzIHVzZWQgdG8gZGlzdGluZ3Vpc2ggZGF0YSBnZW5lcmF0ZWQgYnkg
dGhlIGNhbGxlci4KICAgICB2b2lkIHNldENhY2hlZE1ldGFkYXRhKHVuc2lnbmVkIGRhdGFUeXBl
SUQsIGNvbnN0IGNoYXIqLCBzaXplX3QpOwogCisgICAgdm9pZCBzZXRJbml0aWF0b3IoY29uc3Qg
TG9hZEluaXRpYXRvciYgaW5pdGlhdG9yKSB7IG1faW5pdGlhdG9yID0gaW5pdGlhdG9yOyB9Cisg
ICAgY29uc3QgTG9hZEluaXRpYXRvciYgaW5pdGlhdG9yKCkgY29uc3QgeyByZXR1cm4gbV9pbml0
aWF0b3I7IH0KKwogICAgIC8vIFJldHVybnMgY2FjaGVkIG1ldGFkYXRhIG9mIHRoZSBnaXZlbiB0
eXBlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIHJlc291cmNlLgogICAgIENhY2hlZE1ldGFkYXRhKiBj
YWNoZWRNZXRhZGF0YSh1bnNpZ25lZCBkYXRhVHlwZUlEKSBjb25zdDsKIApAQCAtMjEwLDQwICsy
MTYsNDAgQEAgcHVibGljOgogICAgIGJvb2wgbG9hZEZhaWxlZE9yQ2FuY2VsZWQoKSB7IHJldHVy
biBtX3N0YXR1cyA9PSBDYW5jZWxlZCB8fCBtX3N0YXR1cyA9PSBMb2FkRXJyb3I7IH0KIAogICAg
IGJvb2wgc2VuZFJlc291cmNlTG9hZENhbGxiYWNrcygpIGNvbnN0IHsgcmV0dXJuIG1fb3B0aW9u
cy5zZW5kTG9hZENhbGxiYWNrcyA9PSBTZW5kQ2FsbGJhY2tzOyB9Ci0gICAgCisKICAgICB2aXJ0
dWFsIHZvaWQgZGVzdHJveURlY29kZWREYXRhKCkgeyB9CiAKICAgICB2b2lkIHNldE93bmluZ0Nh
Y2hlZFJlc291cmNlTG9hZGVyKENhY2hlZFJlc291cmNlTG9hZGVyKiBjYWNoZWRSZXNvdXJjZUxv
YWRlcikgeyBtX293bmluZ0NhY2hlZFJlc291cmNlTG9hZGVyID0gY2FjaGVkUmVzb3VyY2VMb2Fk
ZXI7IH0KLSAgICAKKwogICAgIC8vIE1lbW9yeUNhY2hlIGRvZXMgbm90IGRlc3Ryb3kgdGhlIGRl
Y29kZWQgZGF0YSBvZiBhIENhY2hlZFJlc291cmNlIGlmIHRoZSBkZWNvZGVkIGRhdGEgd2lsbCBi
ZSBsaWtlbHkgdXNlZC4KICAgICB2aXJ0dWFsIGJvb2wgbGlrZWx5VG9CZVVzZWRTb29uKCkgeyBy
ZXR1cm4gZmFsc2U7IH0KIAogICAgIGJvb2wgaXNQcmVsb2FkZWQoKSBjb25zdCB7IHJldHVybiBt
X3ByZWxvYWRDb3VudDsgfQogICAgIHZvaWQgaW5jcmVhc2VQcmVsb2FkQ291bnQoKSB7ICsrbV9w
cmVsb2FkQ291bnQ7IH0KICAgICB2b2lkIGRlY3JlYXNlUHJlbG9hZENvdW50KCkgeyBBU1NFUlQo
bV9wcmVsb2FkQ291bnQpOyAtLW1fcHJlbG9hZENvdW50OyB9Ci0gICAgCisKICAgICB2b2lkIHJl
Z2lzdGVySGFuZGxlKENhY2hlZFJlc291cmNlSGFuZGxlQmFzZSogaCk7CiAgICAgdm9pZCB1bnJl
Z2lzdGVySGFuZGxlKENhY2hlZFJlc291cmNlSGFuZGxlQmFzZSogaCk7Ci0gICAgCisKICAgICBi
b29sIGNhblVzZUNhY2hlVmFsaWRhdG9yKCkgY29uc3Q7CiAgICAgYm9vbCBtdXN0UmV2YWxpZGF0
ZUR1ZVRvQ2FjaGVIZWFkZXJzKENhY2hlUG9saWN5KSBjb25zdDsKICAgICBib29sIGlzQ2FjaGVW
YWxpZGF0b3IoKSBjb25zdCB7IHJldHVybiBtX3Jlc291cmNlVG9SZXZhbGlkYXRlOyB9CiAgICAg
Q2FjaGVkUmVzb3VyY2UqIHJlc291cmNlVG9SZXZhbGlkYXRlKCkgY29uc3QgeyByZXR1cm4gbV9y
ZXNvdXJjZVRvUmV2YWxpZGF0ZTsgfQotICAgIAorCiAgICAgYm9vbCBpc1B1cmdlYWJsZSgpIGNv
bnN0OwogICAgIGJvb2wgd2FzUHVyZ2VkKCkgY29uc3Q7Ci0gICAgCisKICAgICAvLyBUaGlzIGlz
IHVzZWQgYnkgdGhlIGFyY2hpdmUgbWFjaGluZXJ5IHRvIGdldCBhdCBhIHB1cmdlZCByZXNvdXJj
ZSB3aXRob3V0CiAgICAgLy8gdHJpZ2dlcmluZyBhIGxvYWQuIFdlIHNob3VsZCBtYWtlIGl0IHBy
b3RlY3RlZCBhZ2FpbiBpZiB3ZSBjYW4gZmluZCBhCiAgICAgLy8gYmV0dGVyIHdheSB0byBoYW5k
bGUgdGhlIGFyY2hpdmUgY2FzZS4KICAgICBib29sIG1ha2VQdXJnZWFibGUoYm9vbCBwdXJnZWFi
bGUpOwotICAgIAorCiAgICAgLy8gSFRUUCByZXZhbGlkYXRpb24gc3VwcG9ydCBtZXRob2RzIGZv
ciBDYWNoZWRSZXNvdXJjZUxvYWRlci4KICAgICB2b2lkIHNldFJlc291cmNlVG9SZXZhbGlkYXRl
KENhY2hlZFJlc291cmNlKik7CiAgICAgdm9pZCBzd2l0Y2hDbGllbnRzVG9SZXZhbGlkYXRlZFJl
c291cmNlKCk7CiAgICAgdm9pZCBjbGVhclJlc291cmNlVG9SZXZhbGlkYXRlKCk7CiAgICAgdm9p
ZCB1cGRhdGVSZXNwb25zZUFmdGVyUmV2YWxpZGF0aW9uKGNvbnN0IFJlc291cmNlUmVzcG9uc2Um
IHZhbGlkYXRpbmdSZXNwb25zZSk7Ci0gICAgCisKICAgICB2aXJ0dWFsIHZvaWQgZGlkU2VuZERh
dGEodW5zaWduZWQgbG9uZyBsb25nIC8qIGJ5dGVzU2VudCAqLywgdW5zaWduZWQgbG9uZyBsb25n
IC8qIHRvdGFsQnl0ZXNUb0JlU2VudCAqLykgeyB9CiAjaWYgUExBVEZPUk0oQ0hST01JVU0pCiAg
ICAgdmlydHVhbCB2b2lkIGRpZERvd25sb2FkRGF0YShpbnQpIHsgfQpAQCAtMjYyLDcgKzI2OCw3
IEBAIHByb3RlY3RlZDoKICAgICB2b2lkIGRpZEFjY2Vzc0RlY29kZWREYXRhKGRvdWJsZSB0aW1l
U3RhbXApOwogCiAgICAgYm9vbCBpc1NhZmVUb01ha2VQdXJnZWFibGUoKSBjb25zdDsKLSAgICAK
KwogICAgIEhhc2hDb3VudGVkU2V0PENhY2hlZFJlc291cmNlQ2xpZW50Kj4gbV9jbGllbnRzOwog
CiAgICAgY2xhc3MgQ2FjaGVkUmVzb3VyY2VDYWxsYmFjayB7CkBAIC0zMzQsMTIgKzM0MCwxMiBA
QCBwcml2YXRlOgogCiAgICAgQ2FjaGVkUmVzb3VyY2UqIG1fbmV4dEluQWxsUmVzb3VyY2VzTGlz
dDsKICAgICBDYWNoZWRSZXNvdXJjZSogbV9wcmV2SW5BbGxSZXNvdXJjZXNMaXN0OwotICAgIAor
CiAgICAgQ2FjaGVkUmVzb3VyY2UqIG1fbmV4dEluTGl2ZVJlc291cmNlc0xpc3Q7CiAgICAgQ2Fj
aGVkUmVzb3VyY2UqIG1fcHJldkluTGl2ZVJlc291cmNlc0xpc3Q7CiAKICAgICBDYWNoZWRSZXNv
dXJjZUxvYWRlciogbV9vd25pbmdDYWNoZWRSZXNvdXJjZUxvYWRlcjsgLy8gb25seSBub24tMCBm
b3IgcmVzb3VyY2VzIHRoYXQgYXJlIG5vdCBpbiB0aGUgY2FjaGUKLSAgICAKKwogICAgIC8vIElm
IHRoaXMgZmllbGQgaXMgbm9uLW51bGwgd2UgYXJlIHVzaW5nIHRoZSByZXNvdXJjZSBhcyBhIHBy
b3h5IGZvciBjaGVja2luZyB3aGV0aGVyIGFuIGV4aXN0aW5nIHJlc291cmNlIGlzIHN0aWxsIHVw
IHRvIGRhdGUKICAgICAvLyB1c2luZyBIVFRQIElmLU1vZGlmaWVkLVNpbmNlL0lmLU5vbmUtTWF0
Y2ggaGVhZGVycy4gSWYgdGhlIHJlc3BvbnNlIGlzIDMwNCBhbGwgY2xpZW50cyBvZiB0aGlzIHJl
c291cmNlIGFyZSBtb3ZlZAogICAgIC8vIHRvIHRvIGJlIGNsaWVudHMgb2YgbV9yZXNvdXJjZVRv
UmV2YWxpZGF0ZSBhbmQgdGhlIHJlc291cmNlIGlzIGRlbGV0ZWQuIElmIG5vdCwgdGhlIGZpZWxk
IGlzIHplcm9lZCBhbmQgdGhpcwpAQCAtMzUxLDYgKzM1Nyw4IEBAIHByaXZhdGU6CiAKICAgICAv
LyBUaGVzZSBoYW5kbGVzIHdpbGwgbmVlZCB0byBiZSB1cGRhdGVkIHRvIHBvaW50IHRvIHRoZSBt
X3Jlc291cmNlVG9SZXZhbGlkYXRlIGluIGNhc2Ugd2UgZ2V0IDMwNCByZXNwb25zZS4KICAgICBI
YXNoU2V0PENhY2hlZFJlc291cmNlSGFuZGxlQmFzZSo+IG1faGFuZGxlc1RvUmV2YWxpZGF0ZTsK
KworICAgIExvYWRJbml0aWF0b3JIYW5kbGUgbV9pbml0aWF0b3I7CiB9OwogCiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcApp
bmRleCBiZTBkOWQ3OGE3ZjgyZjZmMmRkM2Q5YjEyYjBjOWNkZGUwZWI1YjZlLi45OWZkNzczMGY0
NDE0Y2U0MzY1OTI5NjYyZWNkZWE1NjZlZmM2YTZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTE1Miw3ICsxNTIs
NyBAQCBGcmFtZSogQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmZyYW1lKCkgY29uc3QKICAgICByZXR1
cm4gbV9kb2N1bWVudCA/IG1fZG9jdW1lbnQtPmZyYW1lKCkgOiAwOwogfQogCi1DYWNoZWRSZXNv
dXJjZUhhbmRsZTxDYWNoZWRJbWFnZT4gQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RJbWFn
ZShSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QpCitDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRJ
bWFnZT4gQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RJbWFnZShSZXNvdXJjZVJlcXVlc3Qm
IHJlcXVlc3QsIGNvbnN0IExvYWRJbml0aWF0b3ImIGluaXRpYXRvcikKIHsKICAgICBpZiAoRnJh
bWUqIGYgPSBmcmFtZSgpKSB7CiAgICAgICAgIGlmIChmLT5sb2FkZXIoKS0+cGFnZURpc21pc3Nh
bEV2ZW50QmVpbmdEaXNwYXRjaGVkKCkgIT0gRnJhbWVMb2FkZXI6Ok5vRGlzbWlzc2FsKSB7CkBA
IC0xNjIsMzQgKzE2MiwzNCBAQCBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRJbWFnZT4gQ2Fj
aGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RJbWFnZShSZXNvdXJjZVJlcQogICAgICAgICAgICAg
cmV0dXJuIDA7CiAgICAgICAgIH0KICAgICB9Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PENhY2hl
ZEltYWdlKj4ocmVxdWVzdFJlc291cmNlKENhY2hlZFJlc291cmNlOjpJbWFnZVJlc291cmNlLCBy
ZXF1ZXN0LCBTdHJpbmcoKSwgZGVmYXVsdENhY2hlZFJlc291cmNlT3B0aW9ucygpLCBSZXNvdXJj
ZUxvYWRQcmlvcml0eVVucmVzb2x2ZWQsIGZhbHNlLCBjbGllbnREZWZlcnNJbWFnZShyZXF1ZXN0
LnVybCgpKSA/IERlZmVycmVkQnlDbGllbnQgOiBOb0RlZmVyKS5nZXQoKSk7CisgICAgcmV0dXJu
IHN0YXRpY19jYXN0PENhY2hlZEltYWdlKj4ocmVxdWVzdFJlc291cmNlKENhY2hlZFJlc291cmNl
OjpJbWFnZVJlc291cmNlLCByZXF1ZXN0LCBTdHJpbmcoKSwgZGVmYXVsdENhY2hlZFJlc291cmNl
T3B0aW9ucygpLCBpbml0aWF0b3IsIFJlc291cmNlTG9hZFByaW9yaXR5VW5yZXNvbHZlZCwgZmFs
c2UsIGNsaWVudERlZmVyc0ltYWdlKHJlcXVlc3QudXJsKCkpID8gRGVmZXJyZWRCeUNsaWVudCA6
IE5vRGVmZXIpLmdldCgpKTsKIH0KIAotQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkRm9udD4g
Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RGb250KFJlc291cmNlUmVxdWVzdCYgcmVxdWVz
dCkKK0NhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZEZvbnQ+IENhY2hlZFJlc291cmNlTG9hZGVy
OjpyZXF1ZXN0Rm9udChSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IExvYWRJbml0aWF0
b3ImIGluaXRpYXRvcikKIHsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Q2FjaGVkRm9udCo+KHJl
cXVlc3RSZXNvdXJjZShDYWNoZWRSZXNvdXJjZTo6Rm9udFJlc291cmNlLCByZXF1ZXN0LCBTdHJp
bmcoKSwgZGVmYXVsdENhY2hlZFJlc291cmNlT3B0aW9ucygpKS5nZXQoKSk7CisgICAgcmV0dXJu
IHN0YXRpY19jYXN0PENhY2hlZEZvbnQqPihyZXF1ZXN0UmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2U6
OkZvbnRSZXNvdXJjZSwgcmVxdWVzdCwgU3RyaW5nKCksIGRlZmF1bHRDYWNoZWRSZXNvdXJjZU9w
dGlvbnMoKSwgaW5pdGlhdG9yKS5nZXQoKSk7CiB9CiAKICNpZiBFTkFCTEUoVklERU9fVFJBQ0sp
Ci1DYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRUZXh0VHJhY2s+IENhY2hlZFJlc291cmNlTG9h
ZGVyOjpyZXF1ZXN0VGV4dFRyYWNrKFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCkKK0NhY2hlZFJl
c291cmNlSGFuZGxlPENhY2hlZFRleHRUcmFjaz4gQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVl
c3RUZXh0VHJhY2soUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBMb2FkSW5pdGlhdG9y
JiBpbml0aWF0b3IpCiB7Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PENhY2hlZFRleHRUcmFjayo+
KHJlcXVlc3RSZXNvdXJjZShDYWNoZWRSZXNvdXJjZTo6VGV4dFRyYWNrUmVzb3VyY2UsIHJlcXVl
c3QsIFN0cmluZygpLCBkZWZhdWx0Q2FjaGVkUmVzb3VyY2VPcHRpb25zKCkpLmdldCgpKTsKKyAg
ICByZXR1cm4gc3RhdGljX2Nhc3Q8Q2FjaGVkVGV4dFRyYWNrKj4ocmVxdWVzdFJlc291cmNlKENh
Y2hlZFJlc291cmNlOjpUZXh0VHJhY2tSZXNvdXJjZSwgcmVxdWVzdCwgU3RyaW5nKCksIGRlZmF1
bHRDYWNoZWRSZXNvdXJjZU9wdGlvbnMoKSwgaW5pdGlhdG9yKS5nZXQoKSk7CiB9CiAjZW5kaWYK
IAogI2lmIEVOQUJMRShDU1NfU0hBREVSUykKLUNhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFNo
YWRlcj4gQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RTaGFkZXIoUmVzb3VyY2VSZXF1ZXN0
JiByZXF1ZXN0KQorQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkU2hhZGVyPiBDYWNoZWRSZXNv
dXJjZUxvYWRlcjo6cmVxdWVzdFNoYWRlcihSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0
IExvYWRJbml0aWF0b3ImIGluaXRpYXRvcikKIHsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Q2Fj
aGVkU2hhZGVyKj4ocmVxdWVzdFJlc291cmNlKENhY2hlZFJlc291cmNlOjpTaGFkZXJSZXNvdXJj
ZSwgcmVxdWVzdCwgU3RyaW5nKCksIGRlZmF1bHRDYWNoZWRSZXNvdXJjZU9wdGlvbnMoKSkuZ2V0
KCkpOworICAgIHJldHVybiBzdGF0aWNfY2FzdDxDYWNoZWRTaGFkZXIqPihyZXF1ZXN0UmVzb3Vy
Y2UoQ2FjaGVkUmVzb3VyY2U6OlNoYWRlclJlc291cmNlLCByZXF1ZXN0LCBTdHJpbmcoKSwgZGVm
YXVsdENhY2hlZFJlc291cmNlT3B0aW9ucygpLCBpbml0aWF0b3IpLmdldCgpKTsKIH0KICNlbmRp
ZgogCi1DYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRDU1NTdHlsZVNoZWV0PiBDYWNoZWRSZXNv
dXJjZUxvYWRlcjo6cmVxdWVzdENTU1N0eWxlU2hlZXQoUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0
LCBjb25zdCBTdHJpbmcmIGNoYXJzZXQsIFJlc291cmNlTG9hZFByaW9yaXR5IHByaW9yaXR5KQor
Q2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkQ1NTU3R5bGVTaGVldD4gQ2FjaGVkUmVzb3VyY2VM
b2FkZXI6OnJlcXVlc3RDU1NTdHlsZVNoZWV0KFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29u
c3QgU3RyaW5nJiBjaGFyc2V0LCBjb25zdCBMb2FkSW5pdGlhdG9yJiBpbml0aWF0b3IsIFJlc291
cmNlTG9hZFByaW9yaXR5IHByaW9yaXR5KQogewotICAgIHJldHVybiBzdGF0aWNfY2FzdDxDYWNo
ZWRDU1NTdHlsZVNoZWV0Kj4ocmVxdWVzdFJlc291cmNlKENhY2hlZFJlc291cmNlOjpDU1NTdHls
ZVNoZWV0LCByZXF1ZXN0LCBjaGFyc2V0LCBkZWZhdWx0Q2FjaGVkUmVzb3VyY2VPcHRpb25zKCks
IHByaW9yaXR5KS5nZXQoKSk7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PENhY2hlZENTU1N0eWxl
U2hlZXQqPihyZXF1ZXN0UmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2U6OkNTU1N0eWxlU2hlZXQsIHJl
cXVlc3QsIGNoYXJzZXQsIGRlZmF1bHRDYWNoZWRSZXNvdXJjZU9wdGlvbnMoKSwgaW5pdGlhdG9y
LCBwcmlvcml0eSkuZ2V0KCkpOwogfQogCi1DYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRDU1NT
dHlsZVNoZWV0PiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFVzZXJDU1NTdHlsZVNoZWV0
KFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgU3RyaW5nJiBjaGFyc2V0KQorQ2FjaGVk
UmVzb3VyY2VIYW5kbGU8Q2FjaGVkQ1NTU3R5bGVTaGVldD4gQ2FjaGVkUmVzb3VyY2VMb2FkZXI6
OnJlcXVlc3RVc2VyQ1NTU3R5bGVTaGVldChSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0
IFN0cmluZyYgY2hhcnNldCwgY29uc3QgTG9hZEluaXRpYXRvciYgaW5pdGlhdG9yKQogewogICAg
IEtVUkwgdXJsID0gTWVtb3J5Q2FjaGU6OnJlbW92ZUZyYWdtZW50SWRlbnRpZmllcklmTmVlZGVk
KHJlcXVlc3QudXJsKCkpOwogCkBAIC0yMDYsNDIgKzIwNiw0MyBAQCBDYWNoZWRSZXNvdXJjZUhh
bmRsZTxDYWNoZWRDU1NTdHlsZVNoZWV0PiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFVz
ZXJDU1NTdAogICAgIG1lbW9yeUNhY2hlKCktPmFkZCh1c2VyU2hlZXQuZ2V0KCkpOwogICAgIC8v
IEZJWE1FOiBsb2FkUmVzb3VyY2UgY2FsbHMgc2V0T3duaW5nQ2FjaGVkUmVzb3VyY2VMb2FkZXIo
KSBpZiB0aGUgcmVzb3VyY2UgY291bGRuJ3QgYmUgYWRkZWQgdG8gY2FjaGUuIERvZXMgdGhpcyBm
dW5jdGlvbiBuZWVkIHRvIGNhbGwgaXQsIHRvbz8KIAorICAgIHVzZXJTaGVldC0+c2V0SW5pdGlh
dG9yKGluaXRpYXRvcik7CiAgICAgdXNlclNoZWV0LT5sb2FkKHRoaXMsIFJlc291cmNlTG9hZGVy
T3B0aW9ucyhEb05vdFNlbmRDYWxsYmFja3MsIFNuaWZmQ29udGVudCwgQnVmZmVyRGF0YSwgQWxs
b3dTdG9yZWRDcmVkZW50aWFscywgQXNrQ2xpZW50Rm9yQ3Jvc3NPcmlnaW5DcmVkZW50aWFscywg
U2tpcFNlY3VyaXR5Q2hlY2spKTsKLSAgICAKKwogICAgIHJldHVybiB1c2VyU2hlZXQ7CiB9CiAK
LUNhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFNjcmlwdD4gQ2FjaGVkUmVzb3VyY2VMb2FkZXI6
OnJlcXVlc3RTY3JpcHQoUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBTdHJpbmcmIGNo
YXJzZXQpCitDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRTY3JpcHQ+IENhY2hlZFJlc291cmNl
TG9hZGVyOjpyZXF1ZXN0U2NyaXB0KFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgU3Ry
aW5nJiBjaGFyc2V0LCBjb25zdCBMb2FkSW5pdGlhdG9yJiBpbml0aWF0b3IpCiB7Ci0gICAgcmV0
dXJuIHN0YXRpY19jYXN0PENhY2hlZFNjcmlwdCo+KHJlcXVlc3RSZXNvdXJjZShDYWNoZWRSZXNv
dXJjZTo6U2NyaXB0LCByZXF1ZXN0LCBjaGFyc2V0LCBkZWZhdWx0Q2FjaGVkUmVzb3VyY2VPcHRp
b25zKCkpLmdldCgpKTsKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Q2FjaGVkU2NyaXB0Kj4ocmVx
dWVzdFJlc291cmNlKENhY2hlZFJlc291cmNlOjpTY3JpcHQsIHJlcXVlc3QsIGNoYXJzZXQsIGRl
ZmF1bHRDYWNoZWRSZXNvdXJjZU9wdGlvbnMoKSwgaW5pdGlhdG9yKS5nZXQoKSk7CiB9CiAKICNp
ZiBFTkFCTEUoWFNMVCkKLUNhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFhTTFN0eWxlU2hlZXQ+
IENhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0WFNMU3R5bGVTaGVldChSZXNvdXJjZVJlcXVl
c3QmIHJlcXVlc3QpCitDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRYU0xTdHlsZVNoZWV0PiBD
YWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFhTTFN0eWxlU2hlZXQoUmVzb3VyY2VSZXF1ZXN0
JiByZXF1ZXN0LCBjb25zdCBMb2FkSW5pdGlhdG9yJiBpbml0aWF0b3IpCiB7Ci0gICAgcmV0dXJu
IHN0YXRpY19jYXN0PENhY2hlZFhTTFN0eWxlU2hlZXQqPihyZXF1ZXN0UmVzb3VyY2UoQ2FjaGVk
UmVzb3VyY2U6OlhTTFN0eWxlU2hlZXQsIHJlcXVlc3QsIFN0cmluZygpLCBkZWZhdWx0Q2FjaGVk
UmVzb3VyY2VPcHRpb25zKCkpLmdldCgpKTsKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Q2FjaGVk
WFNMU3R5bGVTaGVldCo+KHJlcXVlc3RSZXNvdXJjZShDYWNoZWRSZXNvdXJjZTo6WFNMU3R5bGVT
aGVldCwgcmVxdWVzdCwgU3RyaW5nKCksIGRlZmF1bHRDYWNoZWRSZXNvdXJjZU9wdGlvbnMoKSwg
aW5pdGlhdG9yKS5nZXQoKSk7CiB9CiAjZW5kaWYKIAogI2lmIEVOQUJMRShTVkcpCi1DYWNoZWRS
ZXNvdXJjZUhhbmRsZTxDYWNoZWRTVkdEb2N1bWVudD4gQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJl
cXVlc3RTVkdEb2N1bWVudChSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QpCitDYWNoZWRSZXNvdXJj
ZUhhbmRsZTxDYWNoZWRTVkdEb2N1bWVudD4gQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RT
VkdEb2N1bWVudChSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IExvYWRJbml0aWF0b3Im
IGluaXRpYXRvcikKIHsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Q2FjaGVkU1ZHRG9jdW1lbnQq
PihyZXF1ZXN0UmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2U6OlNWR0RvY3VtZW50UmVzb3VyY2UsIHJl
cXVlc3QsIHJlcXVlc3QudXJsKCksIGRlZmF1bHRDYWNoZWRSZXNvdXJjZU9wdGlvbnMoKSkuZ2V0
KCkpOworICAgIHJldHVybiBzdGF0aWNfY2FzdDxDYWNoZWRTVkdEb2N1bWVudCo+KHJlcXVlc3RS
ZXNvdXJjZShDYWNoZWRSZXNvdXJjZTo6U1ZHRG9jdW1lbnRSZXNvdXJjZSwgcmVxdWVzdCwgcmVx
dWVzdC51cmwoKSwgZGVmYXVsdENhY2hlZFJlc291cmNlT3B0aW9ucygpLCBpbml0aWF0b3IpLmdl
dCgpKTsKIH0KICNlbmRpZgogCiAjaWYgRU5BQkxFKExJTktfUFJFRkVUQ0gpCi1DYWNoZWRSZXNv
dXJjZUhhbmRsZTxDYWNoZWRSZXNvdXJjZT4gQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RM
aW5rUmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2U6OlR5cGUgdHlwZSwgUmVzb3VyY2VSZXF1ZXN0JiBy
ZXF1ZXN0LCBSZXNvdXJjZUxvYWRQcmlvcml0eSBwcmlvcml0eSkKK0NhY2hlZFJlc291cmNlSGFu
ZGxlPENhY2hlZFJlc291cmNlPiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdExpbmtSZXNv
dXJjZShDYWNoZWRSZXNvdXJjZTo6VHlwZSB0eXBlLCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3Qs
IGNvbnN0IExvYWRJbml0aWF0b3ImIGluaXRpYXRvciwgUmVzb3VyY2VMb2FkUHJpb3JpdHkgcHJp
b3JpdHkpCiB7CiAgICAgQVNTRVJUKGZyYW1lKCkpOwogICAgIEFTU0VSVCh0eXBlID09IENhY2hl
ZFJlc291cmNlOjpMaW5rUHJlZmV0Y2ggfHwgdHlwZSA9PSBDYWNoZWRSZXNvdXJjZTo6TGlua1N1
YnJlc291cmNlKTsKLSAgICByZXR1cm4gcmVxdWVzdFJlc291cmNlKHR5cGUsIHJlcXVlc3QsIFN0
cmluZygpLCBkZWZhdWx0Q2FjaGVkUmVzb3VyY2VPcHRpb25zKCksIHByaW9yaXR5KTsKKyAgICBy
ZXR1cm4gcmVxdWVzdFJlc291cmNlKHR5cGUsIHJlcXVlc3QsIFN0cmluZygpLCBkZWZhdWx0Q2Fj
aGVkUmVzb3VyY2VPcHRpb25zKCksIGluaXRpYXRvciwgcHJpb3JpdHkpOwogfQogI2VuZGlmCiAK
LUNhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFJhd1Jlc291cmNlPiBDYWNoZWRSZXNvdXJjZUxv
YWRlcjo6cmVxdWVzdFJhd1Jlc291cmNlKFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3Qg
UmVzb3VyY2VMb2FkZXJPcHRpb25zJiBvcHRpb25zKQorQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2Fj
aGVkUmF3UmVzb3VyY2U+IENhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0UmF3UmVzb3VyY2Uo
UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBSZXNvdXJjZUxvYWRlck9wdGlvbnMmIG9w
dGlvbnMsIGNvbnN0IExvYWRJbml0aWF0b3ImIGluaXRpYXRvcikKIHsKLSAgICByZXR1cm4gc3Rh
dGljX2Nhc3Q8Q2FjaGVkUmF3UmVzb3VyY2UqPihyZXF1ZXN0UmVzb3VyY2UoQ2FjaGVkUmVzb3Vy
Y2U6OlJhd1Jlc291cmNlLCByZXF1ZXN0LCBTdHJpbmcoKSwgb3B0aW9ucywgUmVzb3VyY2VMb2Fk
UHJpb3JpdHlVbnJlc29sdmVkLCBmYWxzZSkuZ2V0KCkpOworICAgIHJldHVybiBzdGF0aWNfY2Fz
dDxDYWNoZWRSYXdSZXNvdXJjZSo+KHJlcXVlc3RSZXNvdXJjZShDYWNoZWRSZXNvdXJjZTo6UmF3
UmVzb3VyY2UsIHJlcXVlc3QsIFN0cmluZygpLCBvcHRpb25zLCBpbml0aWF0b3IsIFJlc291cmNl
TG9hZFByaW9yaXR5VW5yZXNvbHZlZCwgZmFsc2UpLmdldCgpKTsKIH0KIAogYm9vbCBDYWNoZWRS
ZXNvdXJjZUxvYWRlcjo6Y2hlY2tJbnNlY3VyZUNvbnRlbnQoQ2FjaGVkUmVzb3VyY2U6OlR5cGUg
dHlwZSwgY29uc3QgS1VSTCYgdXJsKSBjb25zdApAQCAtMzk1LDcgKzM5Niw3IEBAIGJvb2wgQ2Fj
aGVkUmVzb3VyY2VMb2FkZXI6OmNhblJlcXVlc3QoQ2FjaGVkUmVzb3VyY2U6OlR5cGUgdHlwZSwg
Y29uc3QgS1VSTCYgdXJsCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUNhY2hlZFJlc291cmNlSGFu
ZGxlPENhY2hlZFJlc291cmNlPiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFJlc291cmNl
KENhY2hlZFJlc291cmNlOjpUeXBlIHR5cGUsIFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29u
c3QgU3RyaW5nJiBjaGFyc2V0LCBjb25zdCBSZXNvdXJjZUxvYWRlck9wdGlvbnMmIG9wdGlvbnMs
IFJlc291cmNlTG9hZFByaW9yaXR5IHByaW9yaXR5LCBib29sIGZvclByZWxvYWQsIERlZmVyT3B0
aW9uIGRlZmVyKQorQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmVzb3VyY2U+IENhY2hlZFJl
c291cmNlTG9hZGVyOjpyZXF1ZXN0UmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2U6OlR5cGUgdHlwZSwg
UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBTdHJpbmcmIGNoYXJzZXQsIGNvbnN0IFJl
c291cmNlTG9hZGVyT3B0aW9ucyYgb3B0aW9ucywgY29uc3QgTG9hZEluaXRpYXRvciYgaW5pdGlh
dG9yLCBSZXNvdXJjZUxvYWRQcmlvcml0eSBwcmlvcml0eSwgYm9vbCBmb3JQcmVsb2FkLCBEZWZl
ck9wdGlvbiBkZWZlcikKIHsKICAgICBLVVJMIHVybCA9IHJlcXVlc3QudXJsKCk7CiAgICAgCkBA
IC00MzAsMTAgKzQzMSwxMCBAQCBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRSZXNvdXJjZT4g
Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RSZXNvdXJjZShDYWNoZQogICAgICAgICBtZW1v
cnlDYWNoZSgpLT5yZW1vdmUocmVzb3VyY2UuZ2V0KCkpOwogICAgICAgICAvLyBGYWxsIHRocm91
Z2gKICAgICBjYXNlIExvYWQ6Ci0gICAgICAgIHJlc291cmNlID0gbG9hZFJlc291cmNlKHR5cGUs
IHJlcXVlc3QsIGNoYXJzZXQpOworICAgICAgICByZXNvdXJjZSA9IGxvYWRSZXNvdXJjZSh0eXBl
LCByZXF1ZXN0LCBjaGFyc2V0LCBpbml0aWF0b3IpOwogICAgICAgICBicmVhazsKICAgICBjYXNl
IFJldmFsaWRhdGU6Ci0gICAgICAgIHJlc291cmNlID0gcmV2YWxpZGF0ZVJlc291cmNlKHJlc291
cmNlLmdldCgpKTsKKyAgICAgICAgcmVzb3VyY2UgPSByZXZhbGlkYXRlUmVzb3VyY2UocmVzb3Vy
Y2UuZ2V0KCksIGluaXRpYXRvcik7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgVXNlOgogICAg
ICAgICBtZW1vcnlDYWNoZSgpLT5yZXNvdXJjZUFjY2Vzc2VkKHJlc291cmNlLmdldCgpKTsKQEAg
LTQ2NCwzNCArNDY1LDM2IEBAIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFJlc291cmNlPiBD
YWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFJlc291cmNlKENhY2hlCiAgICAgcmV0dXJuIHJl
c291cmNlOwogfQogCi1DYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRSZXNvdXJjZT4gQ2FjaGVk
UmVzb3VyY2VMb2FkZXI6OnJldmFsaWRhdGVSZXNvdXJjZShDYWNoZWRSZXNvdXJjZSogcmVzb3Vy
Y2UpCitDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRSZXNvdXJjZT4gQ2FjaGVkUmVzb3VyY2VM
b2FkZXI6OnJldmFsaWRhdGVSZXNvdXJjZShDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2UsIGNvbnN0
IExvYWRJbml0aWF0b3ImIGluaXRpYXRvcikKIHsKICAgICBBU1NFUlQocmVzb3VyY2UpOwogICAg
IEFTU0VSVChyZXNvdXJjZS0+aW5DYWNoZSgpKTsKICAgICBBU1NFUlQoIW1lbW9yeUNhY2hlKCkt
PmRpc2FibGVkKCkpOwogICAgIEFTU0VSVChyZXNvdXJjZS0+Y2FuVXNlQ2FjaGVWYWxpZGF0b3Io
KSk7CiAgICAgQVNTRVJUKCFyZXNvdXJjZS0+cmVzb3VyY2VUb1JldmFsaWRhdGUoKSk7Ci0gICAg
CisKICAgICAvLyBDb3B5IHRoZSBVUkwgb3V0IG9mIHRoZSByZXNvdXJjZSB0byBiZSByZXZhbGlk
YXRlZCBpbiBjYXNlIGl0IGdldHMgZGVsZXRlZCBieSB0aGUgcmVtb3ZlKCkgY2FsbCBiZWxvdy4K
ICAgICBTdHJpbmcgdXJsID0gcmVzb3VyY2UtPnVybCgpOwogICAgIENhY2hlZFJlc291cmNlSGFu
ZGxlPENhY2hlZFJlc291cmNlPiBuZXdSZXNvdXJjZSA9IGNyZWF0ZVJlc291cmNlKHJlc291cmNl
LT50eXBlKCksIHJlc291cmNlLT5yZXNvdXJjZVJlcXVlc3QoKSwgcmVzb3VyY2UtPmVuY29kaW5n
KCkpOwogICAgIAogICAgIExPRyhSZXNvdXJjZUxvYWRpbmcsICJSZXNvdXJjZSAlcCBjcmVhdGVk
IHRvIHJldmFsaWRhdGUgJXAiLCBuZXdSZXNvdXJjZS5nZXQoKSwgcmVzb3VyY2UpOwogICAgIG5l
d1Jlc291cmNlLT5zZXRSZXNvdXJjZVRvUmV2YWxpZGF0ZShyZXNvdXJjZSk7CisgICAgbmV3UmVz
b3VyY2UtPnNldEluaXRpYXRvcihpbml0aWF0b3IpOwogICAgIAogICAgIG1lbW9yeUNhY2hlKCkt
PnJlbW92ZShyZXNvdXJjZSk7CiAgICAgbWVtb3J5Q2FjaGUoKS0+YWRkKG5ld1Jlc291cmNlLmdl
dCgpKTsKICAgICByZXR1cm4gbmV3UmVzb3VyY2U7CiB9CiAKLUNhY2hlZFJlc291cmNlSGFuZGxl
PENhY2hlZFJlc291cmNlPiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6bG9hZFJlc291cmNlKENhY2hl
ZFJlc291cmNlOjpUeXBlIHR5cGUsIFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgU3Ry
aW5nJiBjaGFyc2V0KQorQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmVzb3VyY2U+IENhY2hl
ZFJlc291cmNlTG9hZGVyOjpsb2FkUmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2U6OlR5cGUgdHlwZSwg
UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBTdHJpbmcmIGNoYXJzZXQsIGNvbnN0IExv
YWRJbml0aWF0b3ImIGluaXRpYXRvcikKIHsKICAgICBBU1NFUlQoIW1lbW9yeUNhY2hlKCktPnJl
c291cmNlRm9yVVJMKHJlcXVlc3QudXJsKCkpKTsKLSAgICAKKwogICAgIExPRyhSZXNvdXJjZUxv
YWRpbmcsICJMb2FkaW5nIENhY2hlZFJlc291cmNlIGZvciAnJXMnLiIsIHJlcXVlc3QudXJsKCku
c3RyaW5nKCkubGF0aW4xKCkuZGF0YSgpKTsKLSAgICAKKwogICAgIENhY2hlZFJlc291cmNlSGFu
ZGxlPENhY2hlZFJlc291cmNlPiByZXNvdXJjZSA9IGNyZWF0ZVJlc291cmNlKHR5cGUsIHJlcXVl
c3QsIGNoYXJzZXQpOwotICAgIAorICAgIHJlc291cmNlLT5zZXRJbml0aWF0b3IoaW5pdGlhdG9y
KTsKKwogICAgIGlmICghbWVtb3J5Q2FjaGUoKS0+YWRkKHJlc291cmNlLmdldCgpKSkKICAgICAg
ICAgcmVzb3VyY2UtPnNldE93bmluZ0NhY2hlZFJlc291cmNlTG9hZGVyKHRoaXMpOwogICAgIHJl
dHVybiByZXNvdXJjZTsKQEAgLTUwMSwxMSArNTA0LDExIEBAIENhY2hlZFJlc291cmNlTG9hZGVy
OjpSZXZhbGlkYXRpb25Qb2xpY3kgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmRldGVybWluZVJldmFs
aWRhCiB7CiAgICAgaWYgKCFleGlzdGluZ1Jlc291cmNlKQogICAgICAgICByZXR1cm4gTG9hZDsK
LQorICAgIAogICAgIC8vIFdlIGFscmVhZHkgaGF2ZSBhIHByZWxvYWQgZ29pbmcgZm9yIHRoaXMg
VVJMLgogICAgIGlmIChmb3JQcmVsb2FkICYmIGV4aXN0aW5nUmVzb3VyY2UtPmlzUHJlbG9hZGVk
KCkpCiAgICAgICAgIHJldHVybiBVc2U7Ci0KKyAgICAKICAgICAvLyBJZiB0aGUgc2FtZSBVUkwg
aGFzIGJlZW4gbG9hZGVkIGFzIGEgZGlmZmVyZW50IHR5cGUsIHdlIG5lZWQgdG8gcmVsb2FkLgog
ICAgIGlmIChleGlzdGluZ1Jlc291cmNlLT50eXBlKCkgIT0gdHlwZSkgewogICAgICAgICBMT0co
UmVzb3VyY2VMb2FkaW5nLCAiQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmRldGVybWluZVJldmFsaWRh
dGlvblBvbGljeSByZWxvYWRpbmcgZHVlIHRvIHR5cGUgbWlzbWF0Y2guIik7CkBAIC03NDIsOCAr
NzQ1LDggQEAgdm9pZCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6ZGVjcmVtZW50UmVxdWVzdENvdW50
KGNvbnN0IENhY2hlZFJlc291cmNlKiByZXMpCiAgICAgLS1tX3JlcXVlc3RDb3VudDsKICAgICBB
U1NFUlQobV9yZXF1ZXN0Q291bnQgPiAtMSk7CiB9Ci0gICAgCi12b2lkIENhY2hlZFJlc291cmNl
TG9hZGVyOjpwcmVsb2FkKENhY2hlZFJlc291cmNlOjpUeXBlIHR5cGUsIFJlc291cmNlUmVxdWVz
dCYgcmVxdWVzdCwgY29uc3QgU3RyaW5nJiBjaGFyc2V0LCBib29sIHJlZmVyZW5jZWRGcm9tQm9k
eSkKKwordm9pZCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cHJlbG9hZChDYWNoZWRSZXNvdXJjZTo6
VHlwZSB0eXBlLCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFN0cmluZyYgY2hhcnNl
dCwgYm9vbCByZWZlcmVuY2VkRnJvbUJvZHksIGNvbnN0IExvYWRJbml0aWF0b3ImIGluaXRpYXRv
cikKIHsKICAgICAvLyBGSVhNRTogUmlwIHRoaXMgb3V0IHdoZW4gd2UgYXJlIHN1cmUgaXQgaXMg
bm8gbG9uZ2VyIG5lY2Vzc2FyeSAoZXZlbiBmb3IgbW9iaWxlKS4KICAgICBVTlVTRURfUEFSQU0o
cmVmZXJlbmNlZEZyb21Cb2R5KTsKQEAgLTc1OCwxNSArNzYxLDE1IEBAIHZvaWQgQ2FjaGVkUmVz
b3VyY2VMb2FkZXI6OnByZWxvYWQoQ2FjaGVkUmVzb3VyY2U6OlR5cGUgdHlwZSwgUmVzb3VyY2VS
ZXF1ZXN0JiByCiAgICAgICAgIGlmICghaGFzUmVuZGVyaW5nICYmICFjYW5CbG9ja1BhcnNlcikg
ewogICAgICAgICAgICAgLy8gRG9uJ3QgcHJlbG9hZCBzdWJyZXNvdXJjZXMgdGhhdCBjYW4ndCBi
bG9jayB0aGUgcGFyc2VyIGJlZm9yZSB3ZSBoYXZlIHNvbWV0aGluZyB0byBkcmF3LgogICAgICAg
ICAgICAgLy8gVGhpcyBoZWxwcyBwcmV2ZW50IHByZWxvYWRzIGZyb20gZGVsYXlpbmcgZmlyc3Qg
ZGlzcGxheSB3aGVuIGJhbmR3aWR0aCBpcyBsaW1pdGVkLgotICAgICAgICAgICAgUGVuZGluZ1By
ZWxvYWQgcGVuZGluZ1ByZWxvYWQgPSB7IHR5cGUsIHJlcXVlc3QsIGNoYXJzZXQgfTsKKyAgICAg
ICAgICAgIFBlbmRpbmdQcmVsb2FkIHBlbmRpbmdQcmVsb2FkID0geyB0eXBlLCByZXF1ZXN0LCBj
aGFyc2V0LCBpbml0aWF0b3IgfTsKICAgICAgICAgICAgIG1fcGVuZGluZ1ByZWxvYWRzLmFwcGVu
ZChwZW5kaW5nUHJlbG9hZCk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICB9
Ci0gICAgcmVxdWVzdFByZWxvYWQodHlwZSwgcmVxdWVzdCwgY2hhcnNldCk7CisgICAgcmVxdWVz
dFByZWxvYWQodHlwZSwgcmVxdWVzdCwgY2hhcnNldCwgaW5pdGlhdG9yKTsKIH0KIAotdm9pZCBD
YWNoZWRSZXNvdXJjZUxvYWRlcjo6Y2hlY2tGb3JQZW5kaW5nUHJlbG9hZHMoKSAKK3ZvaWQgQ2Fj
aGVkUmVzb3VyY2VMb2FkZXI6OmNoZWNrRm9yUGVuZGluZ1ByZWxvYWRzKCkKIHsKICAgICBpZiAo
bV9wZW5kaW5nUHJlbG9hZHMuaXNFbXB0eSgpIHx8ICFtX2RvY3VtZW50LT5ib2R5KCkgfHwgIW1f
ZG9jdW1lbnQtPmJvZHkoKS0+cmVuZGVyZXIoKSkKICAgICAgICAgcmV0dXJuOwpAQCAtNzc0LDE4
ICs3NzcsMTggQEAgdm9pZCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6Y2hlY2tGb3JQZW5kaW5nUHJl
bG9hZHMoKQogICAgICAgICBQZW5kaW5nUHJlbG9hZCBwcmVsb2FkID0gbV9wZW5kaW5nUHJlbG9h
ZHMudGFrZUZpcnN0KCk7CiAgICAgICAgIC8vIERvbid0IHJlcXVlc3QgcHJlbG9hZCBpZiB0aGUg
cmVzb3VyY2UgYWxyZWFkeSBsb2FkZWQgbm9ybWFsbHkgKHRoaXMgd2lsbCByZXN1bHQgaW4gZG91
YmxlIGxvYWQgaWYgdGhlIHBhZ2UgaXMgYmVpbmcgcmVsb2FkZWQgd2l0aCBjYWNoZWQgcmVzdWx0
cyBpZ25vcmVkKS4KICAgICAgICAgaWYgKCFjYWNoZWRSZXNvdXJjZShwcmVsb2FkLm1fcmVxdWVz
dC51cmwoKSkpCi0gICAgICAgICAgICByZXF1ZXN0UHJlbG9hZChwcmVsb2FkLm1fdHlwZSwgcHJl
bG9hZC5tX3JlcXVlc3QsIHByZWxvYWQubV9jaGFyc2V0KTsKKyAgICAgICAgICAgIHJlcXVlc3RQ
cmVsb2FkKHByZWxvYWQubV90eXBlLCBwcmVsb2FkLm1fcmVxdWVzdCwgcHJlbG9hZC5tX2NoYXJz
ZXQsIHByZWxvYWQubV9pbml0aWF0b3IpOwogICAgIH0KICAgICBtX3BlbmRpbmdQcmVsb2Fkcy5j
bGVhcigpOwogfQogCi12b2lkIENhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0UHJlbG9hZChD
YWNoZWRSZXNvdXJjZTo6VHlwZSB0eXBlLCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0
IFN0cmluZyYgY2hhcnNldCkKK3ZvaWQgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RQcmVs
b2FkKENhY2hlZFJlc291cmNlOjpUeXBlIHR5cGUsIFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwg
Y29uc3QgU3RyaW5nJiBjaGFyc2V0LCBjb25zdCBMb2FkSW5pdGlhdG9yJiBpbml0aWF0b3IpCiB7
CiAgICAgU3RyaW5nIGVuY29kaW5nOwogICAgIGlmICh0eXBlID09IENhY2hlZFJlc291cmNlOjpT
Y3JpcHQgfHwgdHlwZSA9PSBDYWNoZWRSZXNvdXJjZTo6Q1NTU3R5bGVTaGVldCkKICAgICAgICAg
ZW5jb2RpbmcgPSBjaGFyc2V0LmlzRW1wdHkoKSA/IG1fZG9jdW1lbnQtPmNoYXJzZXQoKSA6IGNo
YXJzZXQ7CiAKLSAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRSZXNvdXJjZT4gcmVzb3Vy
Y2UgPSByZXF1ZXN0UmVzb3VyY2UodHlwZSwgcmVxdWVzdCwgZW5jb2RpbmcsIGRlZmF1bHRDYWNo
ZWRSZXNvdXJjZU9wdGlvbnMoKSwgUmVzb3VyY2VMb2FkUHJpb3JpdHlVbnJlc29sdmVkLCB0cnVl
KTsKKyAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRSZXNvdXJjZT4gcmVzb3VyY2UgPSBy
ZXF1ZXN0UmVzb3VyY2UodHlwZSwgcmVxdWVzdCwgZW5jb2RpbmcsIGRlZmF1bHRDYWNoZWRSZXNv
dXJjZU9wdGlvbnMoKSwgaW5pdGlhdG9yLCBSZXNvdXJjZUxvYWRQcmlvcml0eVVucmVzb2x2ZWQs
IHRydWUpOwogICAgIGlmICghcmVzb3VyY2UgfHwgKG1fcHJlbG9hZHMgJiYgbV9wcmVsb2Fkcy0+
Y29udGFpbnMocmVzb3VyY2UuZ2V0KCkpKSkKICAgICAgICAgcmV0dXJuOwogICAgIHJlc291cmNl
LT5pbmNyZWFzZVByZWxvYWRDb3VudCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
Y2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaAppbmRleCBiNWRjNjk0ODJlMWRmMTE5NzE0YWI3
ODM2NzFiZDUwNjJmYmFjYzA3Li5kYTQ5YjNjYTcwZjJiNGJhYjc3YWFlZmU2ZGVkN2UyYmZhNTE5
MGI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXIuaApAQCAtMjksNiArMjksOCBAQAogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlLmgi
CiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VIYW5kbGUuaCIKICNpbmNsdWRlICJDYWNoZVBvbGlj
eS5oIgorI2luY2x1ZGUgIkxvYWRJbml0aWF0b3IuaCIKKyNpbmNsdWRlICJMb2FkSW5pdGlhdG9y
SGFuZGxlLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VMb2FkUHJpb3JpdHkuaCIKICNpbmNsdWRlICJU
aW1lci5oIgogI2luY2x1ZGUgPHd0Zi9EZXF1ZS5oPgpAQCAtNjMsMjcgKzY1LDI3IEBAIHB1Ymxp
YzoKICAgICBDYWNoZWRSZXNvdXJjZUxvYWRlcihEb2N1bWVudCopOwogICAgIH5DYWNoZWRSZXNv
dXJjZUxvYWRlcigpOwogCi0gICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkSW1hZ2U+IHJl
cXVlc3RJbWFnZShSZXNvdXJjZVJlcXVlc3QmKTsKLSAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZTxD
YWNoZWRDU1NTdHlsZVNoZWV0PiByZXF1ZXN0Q1NTU3R5bGVTaGVldChSZXNvdXJjZVJlcXVlc3Qm
LCBjb25zdCBTdHJpbmcmIGNoYXJzZXQsIFJlc291cmNlTG9hZFByaW9yaXR5ID0gUmVzb3VyY2VM
b2FkUHJpb3JpdHlVbnJlc29sdmVkKTsKLSAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRD
U1NTdHlsZVNoZWV0PiByZXF1ZXN0VXNlckNTU1N0eWxlU2hlZXQoUmVzb3VyY2VSZXF1ZXN0Jiwg
Y29uc3QgU3RyaW5nJiBjaGFyc2V0KTsKLSAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRT
Y3JpcHQ+IHJlcXVlc3RTY3JpcHQoUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgU3RyaW5nJiBjaGFy
c2V0KTsKLSAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRGb250PiByZXF1ZXN0Rm9udChS
ZXNvdXJjZVJlcXVlc3QmKTsKLSAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRSYXdSZXNv
dXJjZT4gcmVxdWVzdFJhd1Jlc291cmNlKFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFJlc291cmNl
TG9hZGVyT3B0aW9ucyYpOworICAgIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZEltYWdlPiBy
ZXF1ZXN0SW1hZ2UoUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgTG9hZEluaXRpYXRvciYpOworICAg
IENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZENTU1N0eWxlU2hlZXQ+IHJlcXVlc3RDU1NTdHls
ZVNoZWV0KFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFN0cmluZyYgY2hhcnNldCwgY29uc3QgTG9h
ZEluaXRpYXRvciYsIFJlc291cmNlTG9hZFByaW9yaXR5ID0gUmVzb3VyY2VMb2FkUHJpb3JpdHlV
bnJlc29sdmVkKTsKKyAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRDU1NTdHlsZVNoZWV0
PiByZXF1ZXN0VXNlckNTU1N0eWxlU2hlZXQoUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgU3RyaW5n
JiBjaGFyc2V0LCBjb25zdCBMb2FkSW5pdGlhdG9yJik7CisgICAgQ2FjaGVkUmVzb3VyY2VIYW5k
bGU8Q2FjaGVkU2NyaXB0PiByZXF1ZXN0U2NyaXB0KFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFN0
cmluZyYgY2hhcnNldCwgY29uc3QgTG9hZEluaXRpYXRvciYpOworICAgIENhY2hlZFJlc291cmNl
SGFuZGxlPENhY2hlZEZvbnQ+IHJlcXVlc3RGb250KFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IExv
YWRJbml0aWF0b3ImKTsKKyAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRSYXdSZXNvdXJj
ZT4gcmVxdWVzdFJhd1Jlc291cmNlKFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFJlc291cmNlTG9h
ZGVyT3B0aW9ucyYsIGNvbnN0IExvYWRJbml0aWF0b3ImKTsKIAogI2lmIEVOQUJMRShTVkcpCi0g
ICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkU1ZHRG9jdW1lbnQ+IHJlcXVlc3RTVkdEb2N1
bWVudChSZXNvdXJjZVJlcXVlc3QmKTsKKyAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRT
VkdEb2N1bWVudD4gcmVxdWVzdFNWR0RvY3VtZW50KFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IExv
YWRJbml0aWF0b3ImKTsKICNlbmRpZgogI2lmIEVOQUJMRShYU0xUKQotICAgIENhY2hlZFJlc291
cmNlSGFuZGxlPENhY2hlZFhTTFN0eWxlU2hlZXQ+IHJlcXVlc3RYU0xTdHlsZVNoZWV0KFJlc291
cmNlUmVxdWVzdCYpOworICAgIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFhTTFN0eWxlU2hl
ZXQ+IHJlcXVlc3RYU0xTdHlsZVNoZWV0KFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IExvYWRJbml0
aWF0b3ImKTsKICNlbmRpZgogI2lmIEVOQUJMRShMSU5LX1BSRUZFVENIKQotICAgIENhY2hlZFJl
c291cmNlSGFuZGxlPENhY2hlZFJlc291cmNlPiByZXF1ZXN0TGlua1Jlc291cmNlKENhY2hlZFJl
c291cmNlOjpUeXBlLCBSZXNvdXJjZVJlcXVlc3QmLCBSZXNvdXJjZUxvYWRQcmlvcml0eSA9IFJl
c291cmNlTG9hZFByaW9yaXR5VW5yZXNvbHZlZCk7CisgICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8
Q2FjaGVkUmVzb3VyY2U+IHJlcXVlc3RMaW5rUmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2U6OlR5cGUs
IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IExvYWRJbml0aWF0b3ImLCBSZXNvdXJjZUxvYWRQcmlv
cml0eSA9IFJlc291cmNlTG9hZFByaW9yaXR5VW5yZXNvbHZlZCk7CiAjZW5kaWYKICNpZiBFTkFC
TEUoVklERU9fVFJBQ0spCi0gICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkVGV4dFRyYWNr
PiByZXF1ZXN0VGV4dFRyYWNrKFJlc291cmNlUmVxdWVzdCYpOworICAgIENhY2hlZFJlc291cmNl
SGFuZGxlPENhY2hlZFRleHRUcmFjaz4gcmVxdWVzdFRleHRUcmFjayhSZXNvdXJjZVJlcXVlc3Qm
LCBjb25zdCBMb2FkSW5pdGlhdG9yJik7CiAjZW5kaWYKICNpZiBFTkFCTEUoQ1NTX1NIQURFUlMp
Ci0gICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkU2hhZGVyPiByZXF1ZXN0U2hhZGVyKFJl
c291cmNlUmVxdWVzdCYpOworICAgIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFNoYWRlcj4g
cmVxdWVzdFNoYWRlcihSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBMb2FkSW5pdGlhdG9yJik7CiAj
ZW5kaWYKIAogICAgIC8vIExvZ3MgYW4gYWNjZXNzIGRlbmllZCBtZXNzYWdlIHRvIHRoZSBjb25z
b2xlIGZvciB0aGUgc3BlY2lmaWVkIFVSTC4KQEAgLTExOCw3ICsxMjAsNyBAQCBwdWJsaWM6CiAg
ICAgYm9vbCBpc1ByZWxvYWRlZChjb25zdCBTdHJpbmcmIHVybFN0cmluZykgY29uc3Q7CiAgICAg
dm9pZCBjbGVhclByZWxvYWRzKCk7CiAgICAgdm9pZCBjbGVhclBlbmRpbmdQcmVsb2FkcygpOwot
ICAgIHZvaWQgcHJlbG9hZChDYWNoZWRSZXNvdXJjZTo6VHlwZSwgUmVzb3VyY2VSZXF1ZXN0Jiwg
Y29uc3QgU3RyaW5nJiBjaGFyc2V0LCBib29sIHJlZmVyZW5jZWRGcm9tQm9keSk7CisgICAgdm9p
ZCBwcmVsb2FkKENhY2hlZFJlc291cmNlOjpUeXBlLCBSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBT
dHJpbmcmIGNoYXJzZXQsIGJvb2wgcmVmZXJlbmNlZEZyb21Cb2R5LCBjb25zdCBMb2FkSW5pdGlh
dG9yJik7CiAgICAgdm9pZCBjaGVja0ZvclBlbmRpbmdQcmVsb2FkcygpOwogICAgIHZvaWQgcHJp
bnRQcmVsb2FkU3RhdHMoKTsKICAgICBib29sIGNhblJlcXVlc3QoQ2FjaGVkUmVzb3VyY2U6OlR5
cGUsIGNvbnN0IEtVUkwmLCBib29sIGZvclByZWxvYWQgPSBmYWxzZSk7CkBAIC0xMjcsMTAgKzEy
OSwxMCBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAgZW51bSBEZWZlck9wdGlvbiB7IE5vRGVm
ZXIsIERlZmVycmVkQnlDbGllbnQgfTsKLSAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRS
ZXNvdXJjZT4gcmVxdWVzdFJlc291cmNlKENhY2hlZFJlc291cmNlOjpUeXBlLCBSZXNvdXJjZVJl
cXVlc3QmLCBjb25zdCBTdHJpbmcmIGNoYXJzZXQsIGNvbnN0IFJlc291cmNlTG9hZGVyT3B0aW9u
cyYsIFJlc291cmNlTG9hZFByaW9yaXR5ID0gUmVzb3VyY2VMb2FkUHJpb3JpdHlVbnJlc29sdmVk
LCBib29sIGlzUHJlbG9hZCA9IGZhbHNlLCBEZWZlck9wdGlvbiA9IE5vRGVmZXIpOwotICAgIENh
Y2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFJlc291cmNlPiByZXZhbGlkYXRlUmVzb3VyY2UoQ2Fj
aGVkUmVzb3VyY2UqKTsKLSAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRSZXNvdXJjZT4g
bG9hZFJlc291cmNlKENhY2hlZFJlc291cmNlOjpUeXBlLCBSZXNvdXJjZVJlcXVlc3QmLCBjb25z
dCBTdHJpbmcmIGNoYXJzZXQpOwotICAgIHZvaWQgcmVxdWVzdFByZWxvYWQoQ2FjaGVkUmVzb3Vy
Y2U6OlR5cGUsIFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFN0cmluZyYgY2hhcnNldCk7CisgICAg
Q2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmVzb3VyY2U+IHJlcXVlc3RSZXNvdXJjZShDYWNo
ZWRSZXNvdXJjZTo6VHlwZSwgUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgU3RyaW5nJiBjaGFyc2V0
LCBjb25zdCBSZXNvdXJjZUxvYWRlck9wdGlvbnMmLCBjb25zdCBMb2FkSW5pdGlhdG9yJiwgUmVz
b3VyY2VMb2FkUHJpb3JpdHkgPSBSZXNvdXJjZUxvYWRQcmlvcml0eVVucmVzb2x2ZWQsIGJvb2wg
aXNQcmVsb2FkID0gZmFsc2UsIERlZmVyT3B0aW9uID0gTm9EZWZlcik7CisgICAgQ2FjaGVkUmVz
b3VyY2VIYW5kbGU8Q2FjaGVkUmVzb3VyY2U+IHJldmFsaWRhdGVSZXNvdXJjZShDYWNoZWRSZXNv
dXJjZSosIGNvbnN0IExvYWRJbml0aWF0b3ImKTsKKyAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZTxD
YWNoZWRSZXNvdXJjZT4gbG9hZFJlc291cmNlKENhY2hlZFJlc291cmNlOjpUeXBlLCBSZXNvdXJj
ZVJlcXVlc3QmLCBjb25zdCBTdHJpbmcmIGNoYXJzZXQsIGNvbnN0IExvYWRJbml0aWF0b3ImKTsK
KyAgICB2b2lkIHJlcXVlc3RQcmVsb2FkKENhY2hlZFJlc291cmNlOjpUeXBlLCBSZXNvdXJjZVJl
cXVlc3QmLCBjb25zdCBTdHJpbmcmIGNoYXJzZXQsIGNvbnN0IExvYWRJbml0aWF0b3ImKTsKIAog
ICAgIGVudW0gUmV2YWxpZGF0aW9uUG9saWN5IHsgVXNlLCBSZXZhbGlkYXRlLCBSZWxvYWQsIExv
YWQgfTsKICAgICBSZXZhbGlkYXRpb25Qb2xpY3kgZGV0ZXJtaW5lUmV2YWxpZGF0aW9uUG9saWN5
KENhY2hlZFJlc291cmNlOjpUeXBlLCBSZXNvdXJjZVJlcXVlc3QmLCBib29sIGZvclByZWxvYWQs
IENhY2hlZFJlc291cmNlKiBleGlzdGluZ1Jlc291cmNlLCBEZWZlck9wdGlvbikgY29uc3Q7CkBA
IC0xNTUsNiArMTU3LDcgQEAgcHJpdmF0ZToKICAgICAgICAgQ2FjaGVkUmVzb3VyY2U6OlR5cGUg
bV90eXBlOwogICAgICAgICBSZXNvdXJjZVJlcXVlc3QgbV9yZXF1ZXN0OwogICAgICAgICBTdHJp
bmcgbV9jaGFyc2V0OworICAgICAgICBMb2FkSW5pdGlhdG9ySGFuZGxlIG1faW5pdGlhdG9yOwog
ICAgIH07CiAgICAgRGVxdWU8UGVuZGluZ1ByZWxvYWQ+IG1fcGVuZGluZ1ByZWxvYWRzOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uTG9hZGVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25Mb2FkZXIuY3BwCmluZGV4IDlkNzMzZGE0ZDhi
OTAxMDYxOTZjYWM0YmVkMzQ3OTE2ODBhNTBlY2EuLjVkNTM5MDg1Yzg5Mzk2YzFhZmZkNDBlMzEz
YzY1MmNjNDEwZWYzOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0lj
b25Mb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25Mb2FkZXIu
Y3BwCkBAIC02Niw3ICs2Niw4IEBAIHZvaWQgSWNvbkxvYWRlcjo6c3RhcnRMb2FkaW5nKCkKICAg
ICByZXNvdXJjZVJlcXVlc3Quc2V0UHJpb3JpdHkoUmVzb3VyY2VMb2FkUHJpb3JpdHlMb3cpOwog
CiAgICAgbV9yZXNvdXJjZSA9IG1fZnJhbWUtPmRvY3VtZW50KCktPmNhY2hlZFJlc291cmNlTG9h
ZGVyKCktPnJlcXVlc3RSYXdSZXNvdXJjZShyZXNvdXJjZVJlcXVlc3QsCi0gICAgICAgIFJlc291
cmNlTG9hZGVyT3B0aW9ucyhTZW5kQ2FsbGJhY2tzLCBTbmlmZkNvbnRlbnQsIEJ1ZmZlckRhdGEs
IERvTm90QWxsb3dTdG9yZWRDcmVkZW50aWFscywgRG9Ob3RBc2tDbGllbnRGb3JDcm9zc09yaWdp
bkNyZWRlbnRpYWxzLCBEb1NlY3VyaXR5Q2hlY2spKTsKKyAgICAgICAgUmVzb3VyY2VMb2FkZXJP
cHRpb25zKFNlbmRDYWxsYmFja3MsIFNuaWZmQ29udGVudCwgQnVmZmVyRGF0YSwgRG9Ob3RBbGxv
d1N0b3JlZENyZWRlbnRpYWxzLCBEb05vdEFza0NsaWVudEZvckNyb3NzT3JpZ2luQ3JlZGVudGlh
bHMsIERvU2VjdXJpdHlDaGVjayksCisgICAgICAgICp0aGlzKTsKICAgICBpZiAobV9yZXNvdXJj
ZSkKICAgICAgICAgbV9yZXNvdXJjZS0+YWRkQ2xpZW50KHRoaXMpOwogICAgIGVsc2UKQEAgLTEw
Miw0ICsxMDMsMTUgQEAgdm9pZCBJY29uTG9hZGVyOjpub3RpZnlGaW5pc2hlZChDYWNoZWRSZXNv
dXJjZSogcmVzb3VyY2UpCiAgICAgc3RvcExvYWRpbmcoKTsKIH0KIAorY29uc3QgV1RGOjpBdG9t
aWNTdHJpbmcmIEljb25Mb2FkZXI6OmluaXRpYXRvck5hbWUoKSBjb25zdAoreworICAgIERFRklO
RV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCBuYW1lLCAoImljb24iLCBBdG9taWNTdHJpbmc6
OkNvbnN0cnVjdEZyb21MaXRlcmFsKSk7CisgICAgcmV0dXJuIG5hbWU7Cit9CisKK0RvY3VtZW50
KiBJY29uTG9hZGVyOjppbml0aWF0b3JEb2N1bWVudCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1f
ZnJhbWUtPmRvY3VtZW50KCk7Cit9CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9pY29uL0ljb25Mb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25M
b2FkZXIuaAppbmRleCA2NWU4YmQ1MmYyNzA0MjEzNWM1YWM3ODMxYTU3NGRlMmRkZWE5ZGM0Li4y
MDk1Y2Q0MjcxMjI1ZjllNTAwODY5ZmRlODBmOWU1ZTJmNGQ2MGQ4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uTG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL2ljb24vSWNvbkxvYWRlci5oCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpbmNsdWRlICJD
YWNoZWRSYXdSZXNvdXJjZS5oIgogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlSGFuZGxlLmgiCisj
aW5jbHVkZSAiTG9hZEluaXRpYXRvci5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgpAQCAtMzcs
NyArMzgsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBDYWNoZWRSYXdSZXNvdXJjZTsK
IGNsYXNzIEZyYW1lOwogCi1jbGFzcyBJY29uTG9hZGVyIDogcHJpdmF0ZSBDYWNoZWRSYXdSZXNv
dXJjZUNsaWVudCB7CitjbGFzcyBJY29uTG9hZGVyIDogcHJpdmF0ZSBDYWNoZWRSYXdSZXNvdXJj
ZUNsaWVudCwgcHJpdmF0ZSBMb2FkSW5pdGlhdG9yIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShJY29uTG9hZGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3Rh
dGljIFBhc3NPd25QdHI8SWNvbkxvYWRlcj4gY3JlYXRlKEZyYW1lKik7CkBAIC01MCw2ICs1MSw5
IEBAIHByaXZhdGU6CiAgICAgZXhwbGljaXQgSWNvbkxvYWRlcihGcmFtZSopOwogICAgIHZpcnR1
YWwgdm9pZCBub3RpZnlGaW5pc2hlZChDYWNoZWRSZXNvdXJjZSopOwogCisgICAgdmlydHVhbCBj
b25zdCBXVEY6OkF0b21pY1N0cmluZyYgaW5pdGlhdG9yTmFtZSgpIGNvbnN0OworICAgIHZpcnR1
YWwgRG9jdW1lbnQqIGluaXRpYXRvckRvY3VtZW50KCkgY29uc3Q7CisKICAgICBGcmFtZSogbV9m
cmFtZTsKICAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRSYXdSZXNvdXJjZT4gbV9yZXNv
dXJjZTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwCmluZGV4IDkwMzM5MzAyMTll
NjA0MTE1MTRjY2RlNTZmNjZiZTZiODU4OGQ1MTkuLjRjNGZiZTc3MzNlZDFmNGUwNWZlYTcxYzZi
NzgxNjJiMDAzNzRmMGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFu
Y2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwCkBAIC0zMyw2
ICszMyw4IEBACiAKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkRvY3VtZW50TG9h
ZGVyLmgiCisjaW5jbHVkZSAiRWxlbWVudC5oIgorI2luY2x1ZGUgIkxvYWRJbml0aWF0b3IuaCIK
ICNpbmNsdWRlICJNZW1vcnlJbmZvLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VFbnRyeS5oIgog
I2luY2x1ZGUgIlBlcmZvcm1hbmNlTmF2aWdhdGlvbi5oIgpAQCAtMTQzLDEyICsxNDUsOSBAQCB2
b2lkIFBlcmZvcm1hbmNlOjp3ZWJraXRTZXRSZXNvdXJjZVRpbWluZ0J1ZmZlclNpemUodW5zaWdu
ZWQgaW50KQogICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgdGhpcy4KIH0KIAotdm9pZCBQZXJmb3Jt
YW5jZTo6YWRkUmVzb3VyY2VUaW1pbmcoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBj
b25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwgZG91YmxlIGZpbmlzaFRpbWUsIERvY3Vt
ZW50KiByZXF1ZXN0aW5nRG9jdW1lbnQpCit2b2lkIFBlcmZvcm1hbmNlOjphZGRSZXNvdXJjZVRp
bWluZyhjb25zdCBMb2FkSW5pdGlhdG9yJiBpbml0aWF0b3IsIGNvbnN0IFJlc291cmNlUmVxdWVz
dCYgcmVxdWVzdCwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIGRvdWJsZSBmaW5p
c2hUaW1lKQogewotICAgIGlmICghcmVzcG9uc2UucmVzb3VyY2VMb2FkVGltaW5nKCkpCi0gICAg
ICAgIHJldHVybjsKLQotICAgIFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5PiBlbnRyeSA9IFBlcmZv
cm1hbmNlUmVzb3VyY2VUaW1pbmc6OmNyZWF0ZShyZXF1ZXN0LCByZXNwb25zZSwgZmluaXNoVGlt
ZSwgcmVxdWVzdGluZ0RvY3VtZW50KTsKKyAgICBSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4gZW50
cnkgPSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpjcmVhdGUoaW5pdGlhdG9yLmluaXRpYXRv
ck5hbWUoKSwgcmVxdWVzdCwgcmVzcG9uc2UsIGZpbmlzaFRpbWUsIGluaXRpYXRvci5pbml0aWF0
b3JEb2N1bWVudCgpKTsKICAgICAvLyBGSVhNRTogTmVlZCB0byBlbmZvcmNlIGJ1ZmZlciBsaW1p
dHMuCiAgICAgbV9yZXNvdXJjZVRpbWluZ0J1ZmZlci5hcHBlbmQoZW50cnkpOwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5oIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9QZXJmb3JtYW5jZS5oCmluZGV4IDhiYThjNWVlYTk1ZWU1ZDQzZDhjYmRlNDY3MGVkOTJi
MjE5NjFlNjguLjJhYzJlMmNkNTAyOTNlNTMyMzk1ZDJjY2ViMDU5YjIyYWMwZjA5ZDYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BlcmZvcm1hbmNlLmgKQEAgLTQ3LDYgKzQ3LDggQEAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogY2xhc3MgRG9jdW1lbnQ7CitjbGFzcyBFbGVtZW50OworY2xhc3MgTG9hZEluaXRp
YXRvcjsKIGNsYXNzIFJlc291cmNlUmVxdWVzdDsKIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CiAK
QEAgLTc1LDcgKzc3LDcgQEAgcHVibGljOgogCiAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9M
SVNURU5FUih3ZWJraXRyZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwpOwogCi0gICAgdm9pZCBhZGRS
ZXNvdXJjZVRpbWluZyhjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBSZXNvdXJjZVJlc3Bv
bnNlJiwgZG91YmxlIGZpbmlzaFRpbWUsIERvY3VtZW50Kik7CisgICAgdm9pZCBhZGRSZXNvdXJj
ZVRpbWluZyhjb25zdCBMb2FkSW5pdGlhdG9yJiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgY29u
c3QgUmVzb3VyY2VSZXNwb25zZSYsIGRvdWJsZSBmaW5pc2hUaW1lKTsKICNlbmRpZgogCiAgICAg
dXNpbmcgUmVmQ291bnRlZDxQZXJmb3JtYW5jZT46OnJlZjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuY3BwCmluZGV4IDA5NzZhZGQ3ODAzMjg4
M2MzZjRhNWExN2JmZmJlYWM2ZGVmNGRkMWMuLmY4MDZiMjMzYmU4OGVjNWMwMzg3NWRkNWY4NDI4
MmZkMDBiYzA2NmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VS
ZXNvdXJjZVRpbWluZy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVJl
c291cmNlVGltaW5nLmNwcApAQCAtNDQsOCArNDQsOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLVBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmco
Y29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiBy
ZXNwb25zZSwgZG91YmxlIGZpbmlzaFRpbWUsIERvY3VtZW50KiByZXF1ZXN0aW5nRG9jdW1lbnQp
Ci0gICAgOiBQZXJmb3JtYW5jZUVudHJ5KHJlcXVlc3QudXJsKCkuc3RyaW5nKCksICJyZXNvdXJj
ZSIsIHJlc3BvbnNlLnJlc291cmNlTG9hZFRpbWluZygpLT5yZXF1ZXN0VGltZSwgZmluaXNoVGlt
ZSkKK1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmco
Y29uc3QgQXRvbWljU3RyaW5nJiBpbml0aWF0b3JUeXBlLCBjb25zdCBSZXNvdXJjZVJlcXVlc3Qm
IHJlcXVlc3QsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBkb3VibGUgZmluaXNo
VGltZSwgRG9jdW1lbnQqIHJlcXVlc3RpbmdEb2N1bWVudCkKKyAgICA6IFBlcmZvcm1hbmNlRW50
cnkocmVxdWVzdC51cmwoKS5zdHJpbmcoKSwgInJlc291cmNlIiwgcmVzcG9uc2UucmVzb3VyY2VM
b2FkVGltaW5nKCkgPyByZXNwb25zZS5yZXNvdXJjZUxvYWRUaW1pbmcoKS0+cmVxdWVzdFRpbWUg
OiAwLCBmaW5pc2hUaW1lKQorICAgICwgbV9pbml0aWF0b3JUeXBlKGluaXRpYXRvclR5cGUpCiAg
ICAgLCBtX3RpbWluZyhyZXNwb25zZS5yZXNvdXJjZUxvYWRUaW1pbmcoKSkKICAgICAsIG1fZmlu
aXNoVGltZShmaW5pc2hUaW1lKQogICAgICwgbV9yZXF1ZXN0aW5nRG9jdW1lbnQocmVxdWVzdGlu
Z0RvY3VtZW50KQpAQCAtNTYsMTAgKzU3LDkgQEAgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6
flBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcoKQogewogfQogCi1TdHJpbmcgUGVyZm9ybWFuY2VS
ZXNvdXJjZVRpbWluZzo6aW5pdGlhdG9yVHlwZSgpIGNvbnN0CitBdG9taWNTdHJpbmcgUGVyZm9y
bWFuY2VSZXNvdXJjZVRpbWluZzo6aW5pdGlhdG9yVHlwZSgpIGNvbnN0CiB7Ci0gICAgLy8gRklY
TUU6IFRoaXMgc2hvdWxkIGJlIGRlY2lkZWQgYnkgdGhlIHJlc291cmNlIHR5cGUuCi0gICAgcmV0
dXJuICJvdGhlciI7CisgICAgcmV0dXJuIG1faW5pdGlhdG9yVHlwZTsKIH0KIAogLy8gRklYTUU6
IE5lZWQgdG8gZW5mb3JjZSBzYW1lLW9yaWdpbiBwb2xpY3kgb24gdGhlc2UuCkBAIC03NywxMSAr
NzcsMTUgQEAgZG91YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnJlZGlyZWN0RW5kKCkg
Y29uc3QKIAogZG91YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmZldGNoU3RhcnQoKSBj
b25zdAogeworICAgIGlmICghbV90aW1pbmcpCisgICAgICAgIHJldHVybiAwLjA7CiAgICAgcmV0
dXJuIG1vbm90b25pY1RpbWVUb0RvY3VtZW50TWlsbGlzZWNvbmRzKG1fdGltaW5nLT5yZXF1ZXN0
VGltZSk7CiB9CiAKIGRvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpkb21haW5Mb29r
dXBTdGFydCgpIGNvbnN0CiB7CisgICAgaWYgKCFtX3RpbWluZykKKyAgICAgICAgcmV0dXJuIDAu
MDsKICAgICBpZiAobV90aW1pbmctPmRuc1N0YXJ0IDwgMCkKICAgICAgICAgcmV0dXJuIGZldGNo
U3RhcnQoKTsKIApAQCAtOTAsNiArOTQsOCBAQCBkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRp
bWluZzo6ZG9tYWluTG9va3VwU3RhcnQoKSBjb25zdAogCiBkb3VibGUgUGVyZm9ybWFuY2VSZXNv
dXJjZVRpbWluZzo6ZG9tYWluTG9va3VwRW5kKCkgY29uc3QKIHsKKyAgICBpZiAoIW1fdGltaW5n
KQorICAgICAgICByZXR1cm4gMC4wOwogICAgIGlmIChtX3RpbWluZy0+ZG5zRW5kIDwgMCkKICAg
ICAgICAgcmV0dXJuIGRvbWFpbkxvb2t1cFN0YXJ0KCk7CiAKQEAgLTk4LDYgKzEwNCw4IEBAIGRv
dWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpkb21haW5Mb29rdXBFbmQoKSBjb25zdAog
CiBkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6Y29ubmVjdFN0YXJ0KCkgY29uc3QK
IHsKKyAgICBpZiAoIW1fdGltaW5nKQorICAgICAgICByZXR1cm4gMC4wOwogICAgIGlmIChtX3Rp
bWluZy0+Y29ubmVjdFN0YXJ0IDwgMCkgLy8gQ29ubmVjdGlvbiB3YXMgcmV1c2VkLgogICAgICAg
ICByZXR1cm4gZG9tYWluTG9va3VwRW5kKCk7CiAKQEAgLTExMSw2ICsxMTksOCBAQCBkb3VibGUg
UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6Y29ubmVjdFN0YXJ0KCkgY29uc3QKIAogZG91Ymxl
IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmNvbm5lY3RFbmQoKSBjb25zdAogeworICAgIGlm
ICghbV90aW1pbmcpCisgICAgICAgIHJldHVybiAwLjA7CiAgICAgaWYgKG1fdGltaW5nLT5jb25u
ZWN0RW5kIDwgMCkgLy8gQ29ubmVjdGlvbiB3YXMgcmV1c2VkLgogICAgICAgICByZXR1cm4gY29u
bmVjdFN0YXJ0KCk7CiAKQEAgLTExOSw2ICsxMjksOCBAQCBkb3VibGUgUGVyZm9ybWFuY2VSZXNv
dXJjZVRpbWluZzo6Y29ubmVjdEVuZCgpIGNvbnN0CiAKIGRvdWJsZSBQZXJmb3JtYW5jZVJlc291
cmNlVGltaW5nOjpzZWN1cmVDb25uZWN0aW9uU3RhcnQoKSBjb25zdAogeworICAgIGlmICghbV90
aW1pbmcpCisgICAgICAgIHJldHVybiAwLjA7CiAgICAgaWYgKG1fdGltaW5nLT5zc2xTdGFydCA8
IDApIC8vIFNlY3VyZSBjb25uZWN0aW9uIG5vdCBuZWdvdGlhdGVkLgogICAgICAgICByZXR1cm4g
MDsKIApAQCAtMTI3LDI4ICsxMzksMzggQEAgZG91YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1p
bmc6OnNlY3VyZUNvbm5lY3Rpb25TdGFydCgpIGNvbnN0CiAKIGRvdWJsZSBQZXJmb3JtYW5jZVJl
c291cmNlVGltaW5nOjpyZXF1ZXN0U3RhcnQoKSBjb25zdAogeworICAgIGlmICghbV90aW1pbmcp
CisgICAgICAgIHJldHVybiAwLjA7CiAgICAgcmV0dXJuIHJlc291cmNlVGltZVRvRG9jdW1lbnRN
aWxsaXNlY29uZHMobV90aW1pbmctPnNlbmRTdGFydCk7CiB9CiAKIGRvdWJsZSBQZXJmb3JtYW5j
ZVJlc291cmNlVGltaW5nOjpyZXNwb25zZVN0YXJ0KCkgY29uc3QKIHsKKyAgICBpZiAoIW1fdGlt
aW5nKQorICAgICAgICByZXR1cm4gMC4wOwogICAgIC8vIEZJWE1FOiBUaGlzIG51bWJlciBpc24n
dCBleGFjdGx5IGNvcnJlY3QuIFNlZSB0aGUgbm90ZXMgaW4gUGVyZm9ybWFuY2VUaW1pbmc6OnJl
c3BvbnNlU3RhcnQoKS4KICAgICByZXR1cm4gcmVzb3VyY2VUaW1lVG9Eb2N1bWVudE1pbGxpc2Vj
b25kcyhtX3RpbWluZy0+cmVjZWl2ZUhlYWRlcnNFbmQpOwogfQogCiBkb3VibGUgUGVyZm9ybWFu
Y2VSZXNvdXJjZVRpbWluZzo6cmVzcG9uc2VFbmQoKSBjb25zdAogeworICAgIGlmICghbV90aW1p
bmcpCisgICAgICAgIHJldHVybiAwLjA7CiAgICAgcmV0dXJuIG1vbm90b25pY1RpbWVUb0RvY3Vt
ZW50TWlsbGlzZWNvbmRzKG1fZmluaXNoVGltZSk7CiB9CiAKIGRvdWJsZSBQZXJmb3JtYW5jZVJl
c291cmNlVGltaW5nOjptb25vdG9uaWNUaW1lVG9Eb2N1bWVudE1pbGxpc2Vjb25kcyhkb3VibGUg
c2Vjb25kcykgY29uc3QKIHsKICAgICBBU1NFUlQoc2Vjb25kcyA+PSAwLjApOworICAgIGlmICgh
c2Vjb25kcykKKyAgICAgICAgcmV0dXJuIDAuMDsKICAgICByZXR1cm4gbV9yZXF1ZXN0aW5nRG9j
dW1lbnQtPmxvYWRlcigpLT50aW1pbmcoKS0+Y29udmVydE1vbm90b25pY1RpbWVUb0RvY3VtZW50
VGltZShzZWNvbmRzKSAqIDEwMDAuMDsKIH0KIAogZG91YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VU
aW1pbmc6OnJlc291cmNlVGltZVRvRG9jdW1lbnRNaWxsaXNlY29uZHMoaW50IGRlbHRhTWlsbGlz
ZWNvbmRzKSBjb25zdAogeworICAgIGlmICghZGVsdGFNaWxsaXNlY29uZHMpCisgICAgICAgIHJl
dHVybiAwLjA7CiAgICAgcmV0dXJuIG1vbm90b25pY1RpbWVUb0RvY3VtZW50TWlsbGlzZWNvbmRz
KG1fdGltaW5nLT5yZXF1ZXN0VGltZSkgKyBkZWx0YU1pbGxpc2Vjb25kczsKIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmggYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaAppbmRleCAwODJi
ODkyNTE0OTYyOWU4OGQzZDcxYWE2OGJiMTFiNzUyNjYwYTkyLi41ODFlMTk2NGI0MTZmNmNhZTE2
OGY3YzhmMWZiYzEzYjk0NTgwZjBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bl
cmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZv
cm1hbmNlUmVzb3VyY2VUaW1pbmcuaApAQCAtNDgsMTIgKzQ4LDEyIEBAIGNsYXNzIFJlc291cmNl
UmVzcG9uc2U7CiAKIGNsYXNzIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcgOiBwdWJsaWMgUGVy
Zm9ybWFuY2VFbnRyeSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8UGVyZm9ybWFu
Y2VSZXNvdXJjZVRpbWluZz4gY3JlYXRlKGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwg
Y29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIGRvdWJsZSBmaW5pc2hUaW1lLCBEb2N1
bWVudCogcmVxdWVzdGluZ0RvY3VtZW50KQorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFBlcmZvcm1h
bmNlUmVzb3VyY2VUaW1pbmc+IGNyZWF0ZShjb25zdCBBdG9taWNTdHJpbmcmIGluaXRpYXRvclR5
cGUsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgUmVzb3VyY2VSZXNwb25z
ZSYgcmVzcG9uc2UsIGRvdWJsZSBmaW5pc2hUaW1lLCBEb2N1bWVudCogcmVxdWVzdGluZ0RvY3Vt
ZW50KQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBQZXJmb3JtYW5jZVJlc291
cmNlVGltaW5nKHJlcXVlc3QsIHJlc3BvbnNlLCBmaW5pc2hUaW1lLCByZXF1ZXN0aW5nRG9jdW1l
bnQpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBQZXJmb3JtYW5jZVJlc291cmNlVGlt
aW5nKGluaXRpYXRvclR5cGUsIHJlcXVlc3QsIHJlc3BvbnNlLCBmaW5pc2hUaW1lLCByZXF1ZXN0
aW5nRG9jdW1lbnQpKTsKICAgICB9CiAKLSAgICBTdHJpbmcgaW5pdGlhdG9yVHlwZSgpIGNvbnN0
OworICAgIEF0b21pY1N0cmluZyBpbml0aWF0b3JUeXBlKCkgY29uc3Q7CiAKICAgICBkb3VibGUg
cmVkaXJlY3RTdGFydCgpIGNvbnN0OwogICAgIGRvdWJsZSByZWRpcmVjdEVuZCgpIGNvbnN0OwpA
QCAtNzAsMTIgKzcwLDEzIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgaXNSZXNvdXJjZSgp
IHsgcmV0dXJuIHRydWU7IH0KIAogcHJpdmF0ZToKLSAgICBQZXJmb3JtYW5jZVJlc291cmNlVGlt
aW5nKGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmLCBkb3Vi
bGUgZmluaXNoVGltZSwgRG9jdW1lbnQqKTsKKyAgICBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5n
KGNvbnN0IEF0b21pY1N0cmluZyYgaW5pdGF0b3JUeXBlLCBjb25zdCBSZXNvdXJjZVJlcXVlc3Qm
LCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiwgZG91YmxlIGZpbmlzaFRpbWUsIERvY3VtZW50Kik7
CiAgICAgflBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcoKTsKIAogICAgIGRvdWJsZSBtb25vdG9u
aWNUaW1lVG9Eb2N1bWVudE1pbGxpc2Vjb25kcyhkb3VibGUgc2Vjb25kcykgY29uc3Q7CiAgICAg
ZG91YmxlIHJlc291cmNlVGltZVRvRG9jdW1lbnRNaWxsaXNlY29uZHMoaW50IGRlbHRhTWlsbGlz
ZWNvbmRzKSBjb25zdDsKIAorICAgIEF0b21pY1N0cmluZyBtX2luaXRpYXRvclR5cGU7CiAgICAg
UmVmUHRyPFJlc291cmNlTG9hZFRpbWluZz4gbV90aW1pbmc7CiAgICAgZG91YmxlIG1fZmluaXNo
VGltZTsKICAgICBSZWZQdHI8RG9jdW1lbnQ+IG1fcmVxdWVzdGluZ0RvY3VtZW50OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFSW1hZ2VFbGVtZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdGRUltYWdlRWxlbWVudC5jcHAKaW5kZXggNzYzNTczOGZkZTE4NGQxZTFk
ZjQ4ZWI2ZmIzNmFlY2FhMjM1ZDVmYi4uNWQ3NTllYzIwZGNkNWY5ZDc0ZGU5NjI5ZDVlMWVjYjdh
Njc3Y2FjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFSW1hZ2VFbGVtZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVJbWFnZUVsZW1lbnQuY3BwCkBAIC04
MSw3ICs4MSw3IEBAIHZvaWQgU1ZHRkVJbWFnZUVsZW1lbnQ6OmNsZWFyUmVzb3VyY2VSZWZlcmVu
Y2VzKCkKIHZvaWQgU1ZHRkVJbWFnZUVsZW1lbnQ6OnJlcXVlc3RJbWFnZVJlc291cmNlKCkKIHsK
ICAgICBSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdChvd25lckRvY3VtZW50KCktPmNvbXBsZXRlVVJM
KGhyZWYoKSkpOwotICAgIG1fY2FjaGVkSW1hZ2UgPSBkb2N1bWVudCgpLT5jYWNoZWRSZXNvdXJj
ZUxvYWRlcigpLT5yZXF1ZXN0SW1hZ2UocmVxdWVzdCk7CisgICAgbV9jYWNoZWRJbWFnZSA9IGRv
Y3VtZW50KCktPmNhY2hlZFJlc291cmNlTG9hZGVyKCktPnJlcXVlc3RJbWFnZShyZXF1ZXN0LCAq
dGhpcyk7CiAKICAgICBpZiAobV9jYWNoZWRJbWFnZSkKICAgICAgICAgbV9jYWNoZWRJbWFnZS0+
YWRkQ2xpZW50KHRoaXMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRG
YWNlVXJpRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udEZhY2VVcmlFbGVt
ZW50LmNwcAppbmRleCBmNjEwNTM3NzJiNjIyZmFmZTk0NzUwZTA5OTM0OGU2NzcwYjdlODA3Li4x
YmFkMGJkNDY0MzU3OGIwMzNhYTRkODczNWRlMzQ5Njk0MDhiOTAyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHRm9udEZhY2VVcmlFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHRm9udEZhY2VVcmlFbGVtZW50LmNwcApAQCAtOTcsNyArOTcsNyBAQCB2b2lk
IFNWR0ZvbnRGYWNlVXJpRWxlbWVudDo6bG9hZEZvbnQoKQogICAgIGlmICghaHJlZi5pc051bGwo
KSkgewogICAgICAgICBDYWNoZWRSZXNvdXJjZUxvYWRlciogY2FjaGVkUmVzb3VyY2VMb2FkZXIg
PSBkb2N1bWVudCgpLT5jYWNoZWRSZXNvdXJjZUxvYWRlcigpOwogICAgICAgICBSZXNvdXJjZVJl
cXVlc3QgcmVxdWVzdChkb2N1bWVudCgpLT5jb21wbGV0ZVVSTChocmVmKSk7Ci0gICAgICAgIG1f
Y2FjaGVkRm9udCA9IGNhY2hlZFJlc291cmNlTG9hZGVyLT5yZXF1ZXN0Rm9udChyZXF1ZXN0KTsK
KyAgICAgICAgbV9jYWNoZWRGb250ID0gY2FjaGVkUmVzb3VyY2VMb2FkZXItPnJlcXVlc3RGb250
KHJlcXVlc3QsICp0aGlzKTsKICAgICAgICAgaWYgKG1fY2FjaGVkRm9udCkgewogICAgICAgICAg
ICAgbV9jYWNoZWRGb250LT5hZGRDbGllbnQodGhpcyk7CiAgICAgICAgICAgICBtX2NhY2hlZEZv
bnQtPmJlZ2luTG9hZElmTmVlZGVkKGNhY2hlZFJlc291cmNlTG9hZGVyKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdVc2VFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdVc2VFbGVtZW50LmNwcAppbmRleCBkMTllYTE5NWRmMjBhMmVmNjM5ZjZhMWU5OWEyMGIy
NTgyYjk1MGUxLi4zZmE4MWZjMGJiNDRmNTJjNzAzMzhhNWU2YmExZDE5ZDlhY2NjMTJjIDEwMDc1
NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVXNlRWxlbWVudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR1VzZUVsZW1lbnQuY3BwCkBAIC0yNTUsNyArMjU1LDcgQEAgdm9pZCBT
VkdVc2VFbGVtZW50OjpzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0
dHJOYW1lKQogICAgICAgICAgICAgS1VSTCB1cmwgPSBkb2N1bWVudCgpLT5jb21wbGV0ZVVSTCho
cmVmKCkpOwogICAgICAgICAgICAgaWYgKHVybC5oYXNGcmFnbWVudElkZW50aWZpZXIoKSkgewog
ICAgICAgICAgICAgICAgIFJlc291cmNlUmVxdWVzdCByZXF1ZXN0KHVybC5zdHJpbmcoKSk7Ci0g
ICAgICAgICAgICAgICAgbV9jYWNoZWREb2N1bWVudCA9IGRvY3VtZW50KCktPmNhY2hlZFJlc291
cmNlTG9hZGVyKCktPnJlcXVlc3RTVkdEb2N1bWVudChyZXF1ZXN0KTsKKyAgICAgICAgICAgICAg
ICBtX2NhY2hlZERvY3VtZW50ID0gZG9jdW1lbnQoKS0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKS0+
cmVxdWVzdFNWR0RvY3VtZW50KHJlcXVlc3QsICp0aGlzKTsKICAgICAgICAgICAgICAgICBpZiAo
bV9jYWNoZWREb2N1bWVudCkKICAgICAgICAgICAgICAgICAgICAgbV9jYWNoZWREb2N1bWVudC0+
YWRkQ2xpZW50KHRoaXMpOwogICAgICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVx
dWVzdC5jcHAKaW5kZXggZWU2ZjI4YzljNDIyZjM3YTQ0ZDEyODkxNWVhYWMxYzg4OTM2ZTA3MC4u
OGNlZGNhOTM4MDg1MjFlZWM2ZTA3MjRiOTRmZDRlOGU0YjUwYzk2MiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94
bWwvWE1MSHR0cFJlcXVlc3QuY3BwCkBAIC03NTMsNyArNzUzLDcgQEAgdm9pZCBYTUxIdHRwUmVx
dWVzdDo6Y3JlYXRlUmVxdWVzdChFeGNlcHRpb25Db2RlJiBlYykKICAgICAgICAgLy8gVGhpcyBp
cyB0cnVlIHdoaWxlIHJ1bm5pbmcgb251bmxvYWQgaGFuZGxlcnMuCiAgICAgICAgIC8vIEZJWE1F
OiBNYXliZSB3ZSBuZWVkIHRvIGJlIGFibGUgdG8gc2VuZCBYTUxIdHRwUmVxdWVzdHMgZnJvbSBv
bnVubG9hZCwgPGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwOTA0Pi4K
ICAgICAgICAgLy8gRklYTUU6IE1heWJlIGNyZWF0ZSgpIGNhbiByZXR1cm4gbnVsbCBmb3Igb3Ro
ZXIgcmVhc29ucyB0b28/Ci0gICAgICAgIG1fbG9hZGVyID0gVGhyZWFkYWJsZUxvYWRlcjo6Y3Jl
YXRlKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgdGhpcywgcmVxdWVzdCwgb3B0aW9ucyk7Cisg
ICAgICAgIG1fbG9hZGVyID0gVGhyZWFkYWJsZUxvYWRlcjo6Y3JlYXRlKHNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQoKSwgdGhpcywgcmVxdWVzdCwgb3B0aW9ucywgKnRoaXMpOwogICAgICAgICBpZiAo
bV9sb2FkZXIpIHsKICAgICAgICAgICAgIC8vIE5laXRoZXIgdGhpcyBvYmplY3Qgbm9yIHRoZSBK
YXZhU2NyaXB0IHdyYXBwZXIgc2hvdWxkIGJlIGRlbGV0ZWQgd2hpbGUKICAgICAgICAgICAgIC8v
IGEgcmVxdWVzdCBpcyBpbiBwcm9ncmVzcyBiZWNhdXNlIHdlIG5lZWQgdG8ga2VlcCB0aGUgbGlz
dGVuZXJzIGFsaXZlLApAQCAtNzYyLDcgKzc2Miw3IEBAIHZvaWQgWE1MSHR0cFJlcXVlc3Q6OmNy
ZWF0ZVJlcXVlc3QoRXhjZXB0aW9uQ29kZSYgZWMpCiAgICAgICAgIH0KICAgICB9IGVsc2Ugewog
ICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxMb2FkWEhSU3luY2hyb25vdXNs
eShzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOwotICAgICAgICBUaHJlYWRhYmxlTG9hZGVyOjps
b2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgcmVxdWVz
dCwgKnRoaXMsIG9wdGlvbnMpOworICAgICAgICBUaHJlYWRhYmxlTG9hZGVyOjpsb2FkUmVzb3Vy
Y2VTeW5jaHJvbm91c2x5KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgcmVxdWVzdCwgKnRoaXMs
IG9wdGlvbnMsICp0aGlzKTsKICAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRM
b2FkWEhSU3luY2hyb25vdXNseShzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOwogICAgIH0KIApA
QCAtOTg1LDcgKzk4NSw3IEBAIFN0cmluZyBYTUxIdHRwUmVxdWVzdDo6Z2V0UmVzcG9uc2VIZWFk
ZXIoY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lLCBFeGNlcHRpb25Db2RlCiAgICAgICAgIGxvZ0Nv
bnNvbGVFcnJvcihzY3JpcHRFeGVjdXRpb25Db250ZXh0KCksICJSZWZ1c2VkIHRvIGdldCB1bnNh
ZmUgaGVhZGVyIFwiIiArIG5hbWUgKyAiXCIiKTsKICAgICAgICAgcmV0dXJuIFN0cmluZygpOwog
ICAgIH0KLSAgICAKKwogICAgIEhUVFBIZWFkZXJTZXQgYWNjZXNzQ29udHJvbEV4cG9zZUhlYWRl
clNldDsKICAgICBwYXJzZUFjY2Vzc0NvbnRyb2xFeHBvc2VIZWFkZXJzQWxsb3dMaXN0KG1fcmVz
cG9uc2UuaHR0cEhlYWRlckZpZWxkKCJBY2Nlc3MtQ29udHJvbC1FeHBvc2UtSGVhZGVycyIpLCBh
Y2Nlc3NDb250cm9sRXhwb3NlSGVhZGVyU2V0KTsKIApAQCAtMTIyOCw0ICsxMjI4LDEwIEBAIEV2
ZW50VGFyZ2V0RGF0YSogWE1MSHR0cFJlcXVlc3Q6OmVuc3VyZUV2ZW50VGFyZ2V0RGF0YSgpCiAg
ICAgcmV0dXJuICZtX2V2ZW50VGFyZ2V0RGF0YTsKIH0KIAorY29uc3QgQXRvbWljU3RyaW5nJiBY
TUxIdHRwUmVxdWVzdDo6aW5pdGlhdG9yTmFtZSgpIGNvbnN0Cit7CisgICAgREVGSU5FX1NUQVRJ
Q19MT0NBTChBdG9taWNTdHJpbmcsIG5hbWUsICgieG1saHR0cHJlcXVlc3QiLCBBdG9taWNTdHJp
bmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKSk7CisgICAgcmV0dXJuIG5hbWU7Cit9CisKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRw
UmVxdWVzdC5oIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmgKaW5kZXggY2M2
Y2JjNTBjMzYwMTY1MDg5ZTI2NTk5NzVjZDEwZDMxMTIyZWY1ZC4uOWRlODJhYTQ2MTFiZDJkM2Yz
ZTYxOTJkMWMwYTk4OTc5YWEzMDk4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hN
TEh0dHBSZXF1ZXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmgK
QEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCiAjaW5jbHVkZSAiRXZl
bnRUYXJnZXQuaCIKICNpbmNsdWRlICJGb3JtRGF0YS5oIgorI2luY2x1ZGUgIkxvYWRJbml0aWF0
b3IuaCIKICNpbmNsdWRlICJSZXNvdXJjZVJlc3BvbnNlLmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlP
cmlnaW4uaCIKICNpbmNsdWRlICJUaHJlYWRhYmxlTG9hZGVyQ2xpZW50LmgiCkBAIC00NSw3ICs0
Niw3IEBAIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIGNsYXNzIFRleHRSZXNvdXJjZURlY29kZXI7CiBj
bGFzcyBUaHJlYWRhYmxlTG9hZGVyOwogCi1jbGFzcyBYTUxIdHRwUmVxdWVzdCA6IHB1YmxpYyBS
ZWZDb3VudGVkPFhNTEh0dHBSZXF1ZXN0PiwgcHVibGljIEV2ZW50VGFyZ2V0LCBwcml2YXRlIFRo
cmVhZGFibGVMb2FkZXJDbGllbnQsIHB1YmxpYyBBY3RpdmVET01PYmplY3QgeworY2xhc3MgWE1M
SHR0cFJlcXVlc3QgOiBwdWJsaWMgUmVmQ291bnRlZDxYTUxIdHRwUmVxdWVzdD4sIHB1YmxpYyBF
dmVudFRhcmdldCwgcHJpdmF0ZSBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50LCBwdWJsaWMgQWN0aXZl
RE9NT2JqZWN0LCBwcml2YXRlIExvYWRJbml0aWF0b3IgewogICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFhNTEh0dHBSZXF1ZXN0PiBj
cmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8U2VjdXJpdHlPcmlnaW4+
ID0gMCk7CkBAIC01OSwxMCArNjAsMTAgQEAgcHVibGljOgogICAgICAgICBMT0FESU5HID0gMywK
ICAgICAgICAgRE9ORSA9IDQKICAgICB9OwotICAgIAorCiAgICAgZW51bSBSZXNwb25zZVR5cGVD
b2RlIHsKICAgICAgICAgUmVzcG9uc2VUeXBlRGVmYXVsdCwKLSAgICAgICAgUmVzcG9uc2VUeXBl
VGV4dCwgCisgICAgICAgIFJlc3BvbnNlVHlwZVRleHQsCiAgICAgICAgIFJlc3BvbnNlVHlwZURv
Y3VtZW50LAogICAgICAgICBSZXNwb25zZVR5cGVCbG9iLAogICAgICAgICBSZXNwb25zZVR5cGVB
cnJheUJ1ZmZlcgpAQCAtMTgyLDYgKzE4Myw5IEBAIHByaXZhdGU6CiAgICAgdm9pZCBuZXR3b3Jr
RXJyb3IoKTsKICAgICB2b2lkIGFib3J0RXJyb3IoKTsKIAorICAgIHZpcnR1YWwgY29uc3QgQXRv
bWljU3RyaW5nJiBpbml0aWF0b3JOYW1lKCkgY29uc3Q7CisgICAgdmlydHVhbCBEb2N1bWVudCog
aW5pdGlhdG9yRG9jdW1lbnQoKSBjb25zdCB7IHJldHVybiBkb2N1bWVudCgpOyB9CisKICAgICBP
d25QdHI8WE1MSHR0cFJlcXVlc3RVcGxvYWQ+IG1fdXBsb2FkOwogCiAgICAgS1VSTCBtX3VybDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YU0xJbXBvcnRSdWxlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3htbC9YU0xJbXBvcnRSdWxlLmNwcAppbmRleCAwYTE3NzBkMDM0NWE4YTFmYzgz
ZDdiN2ZiMmQ0NDJkMmJhMzllYjFmLi43OWUzNmRjNTQwODU3Y2Y3NmQ1MDM0ZTVmZmYxZGVmN2Vh
NzcwZmU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFNMSW1wb3J0UnVsZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hTTEltcG9ydFJ1bGUuY3BwCkBAIC00Myw3ICs0Myw3
IEBAIFhTTEltcG9ydFJ1bGU6On5YU0xJbXBvcnRSdWxlKCkKIHsKICAgICBpZiAobV9zdHlsZVNo
ZWV0KQogICAgICAgICBtX3N0eWxlU2hlZXQtPnNldFBhcmVudFN0eWxlU2hlZXQoMCk7Ci0gICAg
CisKICAgICBpZiAobV9jYWNoZWRTaGVldCkKICAgICAgICAgbV9jYWNoZWRTaGVldC0+cmVtb3Zl
Q2xpZW50KHRoaXMpOwogfQpAQCAtNjEsNyArNjEsNyBAQCB2b2lkIFhTTEltcG9ydFJ1bGU6OnNl
dFhTTFN0eWxlU2hlZXQoY29uc3QgU3RyaW5nJiBocmVmLCBjb25zdCBLVVJMJiBiYXNlVVJMLCBj
bwogCiAgICAgbV9zdHlsZVNoZWV0LT5wYXJzZVN0cmluZyhzaGVldCk7CiAgICAgbV9sb2FkaW5n
ID0gZmFsc2U7Ci0gICAgCisKICAgICBpZiAocGFyZW50KQogICAgICAgICBwYXJlbnQtPmNoZWNr
TG9hZGVkKCk7CiB9CkBAIC04NCwyNiArODQsMjYgQEAgdm9pZCBYU0xJbXBvcnRSdWxlOjpsb2Fk
U2hlZXQoKQogCiAgICAgaWYgKHJvb3RTaGVldCkKICAgICAgICAgY2FjaGVkUmVzb3VyY2VMb2Fk
ZXIgPSByb290U2hlZXQtPmNhY2hlZFJlc291cmNlTG9hZGVyKCk7Ci0gICAgCisKICAgICBTdHJp
bmcgYWJzSHJlZiA9IG1fc3RySHJlZjsKICAgICBYU0xTdHlsZVNoZWV0KiBwYXJlbnRTaGVldCA9
IHBhcmVudFN0eWxlU2hlZXQoKTsKICAgICBpZiAoIXBhcmVudFNoZWV0LT5iYXNlVVJMKCkuaXNO
dWxsKCkpCiAgICAgICAgIC8vIHVzZSBwYXJlbnQgc3R5bGVoZWV0J3MgVVJMIGFzIHRoZSBiYXNl
IFVSTAogICAgICAgICBhYnNIcmVmID0gS1VSTChwYXJlbnRTaGVldC0+YmFzZVVSTCgpLCBtX3N0
ckhyZWYpLnN0cmluZygpOwotICAgIAorCiAgICAgLy8gQ2hlY2sgZm9yIGEgY3ljbGUgaW4gb3Vy
IGltcG9ydCBjaGFpbi4gIElmIHdlIGVuY291bnRlciBhIHN0eWxlc2hlZXQKICAgICAvLyBpbiBv
dXIgcGFyZW50IGNoYWluIHdpdGggdGhlIHNhbWUgVVJMLCB0aGVuIGp1c3QgYmFpbC4KICAgICBm
b3IgKFhTTFN0eWxlU2hlZXQqIHBhcmVudFNoZWV0ID0gcGFyZW50U3R5bGVTaGVldCgpOyBwYXJl
bnRTaGVldDsgcGFyZW50U2hlZXQgPSBwYXJlbnRTaGVldC0+cGFyZW50U3R5bGVTaGVldCgpKSB7
CiAgICAgICAgIGlmIChhYnNIcmVmID09IHBhcmVudFNoZWV0LT5iYXNlVVJMKCkuc3RyaW5nKCkp
CiAgICAgICAgICAgICByZXR1cm47CiAgICAgfQotICAgIAorCiAgICAgUmVzb3VyY2VSZXF1ZXN0
IHJlcXVlc3QoY2FjaGVkUmVzb3VyY2VMb2FkZXItPmRvY3VtZW50KCktPmNvbXBsZXRlVVJMKGFi
c0hyZWYpKTsKLSAgICBtX2NhY2hlZFNoZWV0ID0gY2FjaGVkUmVzb3VyY2VMb2FkZXItPnJlcXVl
c3RYU0xTdHlsZVNoZWV0KHJlcXVlc3QpOwotICAgIAorICAgIG1fY2FjaGVkU2hlZXQgPSBjYWNo
ZWRSZXNvdXJjZUxvYWRlci0+cmVxdWVzdFhTTFN0eWxlU2hlZXQocmVxdWVzdCwgKnRoaXMpOwor
CiAgICAgaWYgKG1fY2FjaGVkU2hlZXQpIHsKICAgICAgICAgbV9jYWNoZWRTaGVldC0+YWRkQ2xp
ZW50KHRoaXMpOwotICAgICAgICAKKwogICAgICAgICAvLyBJZiB0aGUgaW1wb3J0ZWQgc2hlZXQg
aXMgaW4gdGhlIGNhY2hlLCB0aGVuIHNldFhTTFN0eWxlU2hlZXQgZ2V0cyBjYWxsZWQsCiAgICAg
ICAgIC8vIGFuZCB0aGUgc2hlZXQgZXZlbiBnZXRzIHBhcnNlZCAodmlhIHBhcnNlU3RyaW5nKS4g
IEluIHRoaXMgY2FzZSB3ZSBoYXZlCiAgICAgICAgIC8vIGxvYWRlZCAoZXZlbiBpZiBvdXIgc3Vi
cmVzb3VyY2VzIGhhdmVuJ3QpLCBzbyBpZiB3ZSBoYXZlIGEgc3R5bGVzaGVldCBhZnRlcgpAQCAt
MTEzLDYgKzExMywxMiBAQCB2b2lkIFhTTEltcG9ydFJ1bGU6OmxvYWRTaGVldCgpCiAgICAgfQog
fQogCitjb25zdCBXVEY6OkF0b21pY1N0cmluZyYgWFNMSW1wb3J0UnVsZTo6aW5pdGlhdG9yTmFt
ZSgpIGNvbnN0Cit7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIG5hbWUs
ICgieHNsIiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCkpOworICAgIHJldHVy
biBuYW1lOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUo
WFNMVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YU0xJbXBvcnRSdWxlLmggYi9T
b3VyY2UvV2ViQ29yZS94bWwvWFNMSW1wb3J0UnVsZS5oCmluZGV4IDM1MGNkZDliMTY1MzRiNjE3
ZjA2Mjc2MjkzYzQ3NDBlMmNmNmIxOWUuLjBlMjRlOTI5ZDdlZWM5NmQ1N2JmNTY2ZTM2N2UxOWUw
YWE3ZjFhYjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YU0xJbXBvcnRSdWxlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hTTEltcG9ydFJ1bGUuaApAQCAtMjcsNiArMjcsNyBA
QAogCiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VIYW5kbGUuaCIKICNpbmNsdWRlICJDYWNoZWRT
dHlsZVNoZWV0Q2xpZW50LmgiCisjaW5jbHVkZSAiTG9hZEluaXRpYXRvci5oIgogI2luY2x1ZGUg
IlhTTFN0eWxlU2hlZXQuaCIKICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCkBAIC0zNCw3
ICszNSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQ2FjaGVkWFNMU3R5bGVTaGVl
dDsKIAotY2xhc3MgWFNMSW1wb3J0UnVsZSA6IHByaXZhdGUgQ2FjaGVkU3R5bGVTaGVldENsaWVu
dCB7CitjbGFzcyBYU0xJbXBvcnRSdWxlIDogcHJpdmF0ZSBDYWNoZWRTdHlsZVNoZWV0Q2xpZW50
LCBwcml2YXRlIExvYWRJbml0aWF0b3IgewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
cHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPFhTTEltcG9ydFJ1bGU+IGNyZWF0ZShYU0xT
dHlsZVNoZWV0KiBwYXJlbnRTaGVldCwgY29uc3QgU3RyaW5nJiBocmVmKQpAQCAtNDMsNyArNDQs
NyBAQCBwdWJsaWM6CiAgICAgfQogCiAgICAgdmlydHVhbCB+WFNMSW1wb3J0UnVsZSgpOwotICAg
IAorCiAgICAgY29uc3QgU3RyaW5nJiBocmVmKCkgY29uc3QgeyByZXR1cm4gbV9zdHJIcmVmOyB9
CiAgICAgWFNMU3R5bGVTaGVldCogc3R5bGVTaGVldCgpIGNvbnN0IHsgcmV0dXJuIG1fc3R5bGVT
aGVldC5nZXQoKTsgfQogCkBAIC01MiwxMiArNTMsMTUgQEAgcHVibGljOgogCiAgICAgYm9vbCBp
c0xvYWRpbmcoKTsKICAgICB2b2lkIGxvYWRTaGVldCgpOwotICAgIAorCiBwcml2YXRlOgogICAg
IFhTTEltcG9ydFJ1bGUoWFNMU3R5bGVTaGVldCogcGFyZW50U2hlZXQsIGNvbnN0IFN0cmluZyYg
aHJlZik7CiAKICAgICB2aXJ0dWFsIHZvaWQgc2V0WFNMU3R5bGVTaGVldChjb25zdCBTdHJpbmcm
IGhyZWYsIGNvbnN0IEtVUkwmIGJhc2VVUkwsIGNvbnN0IFN0cmluZyYgc2hlZXQpOwotICAgIAor
CisgICAgdmlydHVhbCBjb25zdCBXVEY6OkF0b21pY1N0cmluZyYgaW5pdGlhdG9yTmFtZSgpIGNv
bnN0OworICAgIHZpcnR1YWwgRG9jdW1lbnQqIGluaXRpYXRvckRvY3VtZW50KCkgY29uc3QgeyBy
ZXR1cm4gbV9wYXJlbnRTdHlsZVNoZWV0LT5vd25lckRvY3VtZW50KCk7IH0KKwogICAgIFhTTFN0
eWxlU2hlZXQqIG1fcGFyZW50U3R5bGVTaGVldDsKICAgICBTdHJpbmcgbV9zdHJIcmVmOwogICAg
IFJlZlB0cjxYU0xTdHlsZVNoZWV0PiBtX3N0eWxlU2hlZXQ7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMGRjNmFlNzkwMmRk
YzU3YTExZjZhNWQ2YzU3MTIxNjg3MjA0MmY4OS4uMzhkZjY0M2JiOThjY2Y0NTYwMzA2NDlmMzMx
OTRmOWFjZDFlMGE0YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDEyLTEwLTAyICBKYW1lcyBT
aW1vbnNlbiAgPHNpbW9uamFtQGNocm9taXVtLm9yZz4KKworICAgICAgICBbUmVzb3VyY2UgVGlt
aW5nXSBFeHBvc2UgdGltaW5nIGluZm9ybWF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NDg4MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFRoZSB0ZXN0cyBhcmUgZGVzaWduZWQgdG8gYmUgdXBzdHJl
YW1lZC4gRXZlbnR1YWxseSwgdGhlIGxvY2FsIG9uZXMgd2lsbCBiZSByZXBsYWNlZCBieSB0aGUg
b2ZmaWNpYWwgdXBzdHJlYW0gdmVyc2lvbnMuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93
ZWJwZXJmL3Jlc291cmNlcy9BaGVtLnR0ZjogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93
M2Mvd2VicGVyZi9yZXNvdXJjZXMvYWxsX3Jlc291cmNlX3R5cGVzLmh0bTogQWRkZWQuCisgICAg
ICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvYmxhbmtfaW1hZ2UucG5nOiBB
ZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9lbXB0eV9z
Y3JpcHQuanM6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVzb3Vy
Y2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93
M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ3JheV9iZy5jc3M6IEFkZGVkLgorICAgICAgICAoYm9keSk6
CisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvaW5qZWN0X3Jlc291
cmNlX3Rlc3QuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9y
ZXNvdXJjZXMvbmVzdGVkLmNzczogQWRkZWQuCisgICAgICAgIChAZm9udC1mYWNlKToKKyAgICAg
ICAgKG9sKToKKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy93ZWJw
ZXJmdGVzdGhhcm5lc3MuanM6CisgICAgICAgICh0ZXN0X2dyZWF0ZXJfb3JfZXF1YWxzKToKKyAg
ICAgICAgKHRlc3RfZmFpbCk6CisgICAgICAgICh0ZXN0X3Jlc291cmNlX2VudHJpZXMpOgorICAg
ICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcv
aHRtbC90ZXN0X3Jlc291cmNlX2F0dHJpYnV0ZV9vcmRlci1leHBlY3RlZC50eHQ6IEFkZGVkLiBP
bmUgZmFpbHMgYmVjYXVzZSBEUlQgZG9lc24ndCBhY3R1YWxseSBwb3B1bGF0ZSB2YWx1ZXMuCisg
ICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWlu
Zy9odG1sL3Rlc3RfcmVzb3VyY2VfYXR0cmlidXRlX29yZGVyLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRt
bC90ZXN0X3Jlc291cmNlX2R5bmFtaWNfaW5zZXJ0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWlu
Zy9odG1sL3Rlc3RfcmVzb3VyY2VfZHluYW1pY19pbnNlcnRpb24uaHRtbDogQWRkZWQuCisgICAg
ICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9o
dG1sL3Rlc3RfcmVzb3VyY2VfaW5pdGlhdG9yX3R5cGVzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWlu
Zy9odG1sL3Rlc3RfcmVzb3VyY2VfaW5pdGlhdG9yX3R5cGVzLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRt
bC90ZXN0X3Jlc291cmNlX3JlZGlyZWN0cy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90
ZXN0X3Jlc291cmNlX3JlZGlyZWN0cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJj
ZV9zY3JpcHRfdHlwZXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJj
ZV9zY3JpcHRfdHlwZXMuaHRtbDogQWRkZWQuCisKIDIwMTItMTAtMDIgIFNoZXJpZmYgQm90ICA8
d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxp
bmcgb3V0IHIxMzAxNjcgYW5kIHIxMzAxNzEuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9BaGVtLnR0ZiBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL0FoZW0udHRmCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFjODFjYjAz
MTY1YWI4MzFhMzZhYmI1OTE0NWZmN2EyZjU2NzVmYjkKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFs
IDEyNDgwCnpjbWVITlpGbSZiNkBLU3FYRnFgP1YjSjhfV3taKDMyNztDJXJOfkY1TkQrfUJxTlUw
dkpJTXlLeUsjNDhmJnhXcgp6KWtnVSFUOCZDNkI3JVk8M1Iobjg1Zks0VnNpdFRWbW8hPlVaQiZZ
MmVHcGpSSjNBMisrZHFCJFZMUCtXPzN7YjwKenk9VHQ3PWJkfWM/en5Ve18lUmIyYGQoN2pyKGVV
XlFMX01MMEpXMVZxTV9PQHlZZmM+dHtUOGRSRTNoWUkwYXN5Cno/QEhGXlJNa3dheWw3UXdIeDBB
XjE+dU1wM2ghRHByYVNBX15Yd20/IXRLLVpESWVoM0daSVpUSlI+bGpfTH41JAp6eGg3cl81X00r
PWZ1ZDZDK019VXtUNmArKUU4VzskIzZuU1hNJU8jbTBLTk0xeypsXnZHQnM9Rz41VmAhYD5XamAK
emVPRTluQDAzZmN1SUA3RUFpUD18SENQcURgVS1qN2MrVD5SZlhvMWBPJXA2P1BeRmQhYClNTEdm
WnRZb2VvSVRvCno5fHRZWEwzciN3VSM7aXV3S2lvZ1RvbCU7XmF5alpTTEojMVEjNUwhYX4kJVIy
fFMoeUcxNG1WPisqQWwxNEFKOAp6c2tSUlNUTHFOZEEqfERjPCpCZWQ8Mis/T2x3TFpnR1kxWF56
VEZzKms4fTNhTjgyay1jV1N0e3M2e1lUcE0yZ34KemAwODR0YTUyZHE5YXA8fSFYP3tOZ1Upcnlm
U2FxQVQhVmFFLXZqN2AmZ2c8MTxSVDl6cCh7PkNLRypWWUkyOHByCno0YyYxJWRmKzx7Q2AxdDdN
TmdjOEJBa2d7XyNWIX0rMzFhUFA+ZXE0aXhUdzF4aX1Cc019UGJQMThfYkQ7KWZXNwp6QTdMO3E7
SlAqeCEhUjdCeERYQG9Wfm9UXzc9QG87RyVtJiVUIU9LPDZ5czJhQHdmflZhNSpPODNTNWJ3VmlK
Q2EKenQ4Z19ZKTg3IXZRR3FaX1JINnpJUkFVT1JLQEZtYUEmeSNIaXYqSExwJF54Zjl1MWdePnYw
MzdhYktCJXBMNGw9Cno2RjFAfWB+by1RRSZMTDw7OHhzKnhBN305OyhncVhKSjV6JV95XmlDOCp9
Z3Utb0BZMGpLNTxwZXZRe0s0fG4xJgp6ezA0WDlKXlRxRDs4b20lQ1pyanFgKjEoejw3Sz5wS1Z1
aSh6K2RvTkVXcSNaQXJAak1USlpve0BLLUEkZCQwKHYKelY+a0JWS2BoMllTYzBXXjc+ezVYbWc3
LTgjeF5WUEk5QjJiSmMoNlVqaT5ONWV2ZFZIMjVZZzdKRXUtR2ZVYEEoCnpRUzhocCVzQHNkUU9j
QUNXdUUkaXg9bnBjeUd3Z1NUZCE+dElpam01NUlzYXQ2cDZsS3BlUVgyNzhWODdwYl9qNgp6JW5L
Ri1kaiF1OGp0b3U/biEpe05ZflFENUdQRWxnKH1sRComYSRfS19URChvLWJ0ZEg9cWBrMUBCQTs+
JU1HNlQKemd9dHo0NTFDQm4/TXkzbypjJnNgRzd+Y3cwN3UkKzRuQV8kO24kOUktSjVDSTFobE1n
Uz1YfHI8Pyl1S0Vlck5PCnp5WjVubFlrRWd8bXo8fmNfVmtBSUwrUXIhdCM1dHlYM3cwRFl9fThN
YkBHczRtZ2pORChjfFJmI2RiI0YjTiVHWgp6UVIzaE1NKjBzI0xuQ284bStgekNufjkwMWg+fUAm
MGI3WlRJbUYyIyZpQHUtcGI2V3Q0S0VTfV9jMy00R1VeaEsKenctYj58aU9JIWA9NWpsbDg7SDtx
UnomOSRzbX5LeFBncnJTIWJXVCY/eThDMURhN3FITUQ5RmR4MGRMWSppOHw9Cno2MSNzU2RaIVk8
KkF1JXA1SmA3MygkZyZqS2ExeXhzI1V+Nzc4JmJebEM+N3pVTUY1Uik3U1NMbHc8PyRweVdUSQp6
TD8pdWxCZWlRWiE4T2Jjb1NSI2lkcSFieTtkSiVHQlhnN2tNKzJIVCslbGFqNGt5eWlsKHxRLVFL
OG0keEVte0YKekNocFk5VWw3aWBJR0F2cjJXS3NDKSZnZ0xhUTRQO0k0QHc8IVRxK1JATUxTeCsz
TXNWKj8lJHJYTEFzU2BeMHMlCnojbVBPTG9aUUt+byE/XjQ/QDtHQV99QTxZLSo2NyV7TntLNTJY
ZyljYjg7e3oyWGteVENrSnpLRmVlQjVII3Ihewp6QyYrJCtXQyNyQSt4eyMwPyg7Z25iRGhXY21A
RHsoWUNHU1V6bCNIa3NebG09bC18bGZXdSE3ZTJgZFJAclpRV1oKenVQanM2Q3xpX2ZyQiZJZDk5
MDhxZiFhJiR1YT5JZylYOGQwb3UpUmJQM2pWTHdZb3smc2l4SS1eXm9TI14wbDU/CnpLVyZJTU13
X0hmKEhnV3tfI1MoYXdvPT1tP2ErNDkoQCU2PSYobm9vdFBqI2g9QGEjXnAzckNOdi1TRDxHSlRE
ewp6TVFfJHleP213TFNITS1ePmdEUzFEc18hPk8/Smd4KF9EP05DZjU/ellTJCokUEZMRjE/bUE/
NmpDYFl+KGEjdVMKemo0PnR8UTtZYFY3VU0yc2srSVUpVkMqbjw4KlJvWFpyej5kN1ZjdkFBb25R
dU0wY2UtPC1XOzEqUyl+fnNDJXRACnp0OXpJRzlydTBASmVAdD1KIWczYUBINF9RLWMjPFdefn5f
eDtrblFBdTsqI2RYM3dqaDdTRCZDIShOfWFvNDNlJgp6b19DbWN0b0pIIWpyViUqWlFpQFJpQGle
Skgrbzw4Pyh4M3d7blRncHk4NDI/elBgYn0oWWBCdjUjTSNibnw8P3EKejN3PGttPndWak9afXtI
ejlxX0NFOURmZ2dafnM5NU5kRStYKnFgdnZedzBMc19iPkNXQG8oYHJgJjwze3s2XzxVCnpLdFo1
YXBuc3E9RmZLNFQ1RFFFVEd6T1hpTzlIQ3tuKnV1bj18RnFuUCR5NVB7N3lZUF48eUAwbnNWJE57
UXtQPQp6aFhSayVRQnUpYVN6X3hvMnhZWWA+dWwzKCVQITxBZHUtWERlIXFPV3RtNzVza1Mhfkcl
ZX5FKFJrK29jWSp8QiYKeitIQWBAK3FgNFRGOEl8QkV9dWREJEZARileMXAwM212JW4wPHZpJGAl
RHFqSVRzPnVoWDRvPnZxQSN7KGp6eGRlCnptTl4hRXR1MXBiYGZnazFTb0Jzfj0yLU1rWjgtLVht
OzRgNytSc0kybSZjYSNzTHYtT0NUe1VxMWkxd2Z2SjRWRAp6RTY1SG9FcTtyekckc1QhNSRYaWJE
OEd+QjVZKlhxeSlBNzZkem9ZeHEqeTg8P2A5fj1iKFM0ekJTek1PQWc4QzYKenIpKnpPWXRffnJy
TDcya3NIWmtXU3ozdilVbXVIbWJGM2BMWmItMTV5bkJaKTx5SEBxPzFwT2dHMDY9UVdiYEJ7CnpS
cjIwN0VMRX5jIXM9bUNwUihGanYwUHpVbDNhKStieTZSdjE/a0lGdERQS1coeX0rIXhAKHlCcS1T
eXo8IW1GIQp6OWc0RmclT21KVGdzcjNwQD9PWDhuVnFyV1dFeiFHVSZlTSgrTDFGe087JUhxeF5s
flVKPl9nKUlxJTIoRWFvZ3EKejgmUl5BT3RPJlZtfUc8fFNnb2IhUys3Z3pYJGhAJHdDPWNtZUxL
N01WKTlyO01JQDk2Uml3O0JRaUt3d05KVUl4CnpNbiZANEkrbDcxdiFUTVFPXktvbGhnUV8zT2M5
RU9NWCl5NVRodkZZRDxVRXBpUHd1enZjaW18YGgtcEVEaz5CNAp6c0FaKSpscihGcVZgajBxRU5O
RU8pcmlWP0xaci1Pc3liRkJEJmtTSFhzYzd6QHQ4PFhPe1VDZnZSSTV3I0tVekoKelc+fU9ANzMx
VUt1b3d9RkJ3fVZGK21udEJGRG55ZXA9ZXpxUkRFVnJscWNmI04hSHBuaS0kKGM9czJeZ3R8cFky
Cnp6fk07S0NCLUV8c154aXt1MHYoRm1QT3wmXzx3eTB6SWJON3tEZ0hwTDI3bjAkbFNvcDtzaGNY
SDN6OXckIV9eRgp6K3d0NFBib182NWp5R0J5TjZCISFqVTJXe2FAMXkjPV9ZeE1jYXIwRmtIcl5U
TmNQKHppLSMhcmhtdzZMeHJiUisKeio7PXlWcDBnTm0rbkFyZGgjaCN6O3kzT2peWUp4dUF8PW85
YiZLaF5vMURyJFdLKldlWF9QRi1IdTVGa3c+WHBeCnprYV9uSl9UaXR7a0JgYW5LWnNBUHhKaD43
SSYkUzZDYT4qJml8NHI2Vm1keGdNJjJmfUAwT0Vtd31BfH1ePD5SOAp6ayFnMT94cHdvJnViZ0FD
RlBEO3dfYk9SKiZ5cT42RCFNLUF2ZUJjfWs+ajx9M3JFd3NYMGheZnBwZWd+ZUdVIUgKQmNAaDhz
CgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9hbGxfcmVzb3VyY2VfdHlwZXMuaHRtIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvYWxsX3Jlc291cmNlX3R5cGVz
Lmh0bQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5kMjk4YzNlNDE0NDg3MjE3M2RkNjhmZmI0ZWE1NWI3NmY2NTk3OGQ0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9y
ZXNvdXJjZXMvYWxsX3Jlc291cmNlX3R5cGVzLmh0bQpAQCAtMCwwICsxLDQxIEBACis8IURPQ1RZ
UEUgSFRNTD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBjb250ZW50PSJ0ZXh0
L2h0bWw7IGNoYXJzZXQ9dXRmLTgiIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgLz4KKyAgICAg
ICAgPHRpdGxlPkFsbCBSZXNvdXJjZSBUeXBlcyBUZXN0IFBhZ2U8L3RpdGxlPgorICAgIDwvaGVh
ZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIGlmICh3aW5kb3cu
cGFyZW50Lmhhc093blByb3BlcnR5KCdvbl90ZXN0X2JvZHlfY3JlYXRlZCcpKQorICAgICAgICAg
ICAgICAgIHdpbmRvdy5wYXJlbnQub25fdGVzdF9ib2R5X2NyZWF0ZWQoKTsKKyAgICAgICAgPC9z
Y3JpcHQ+CisgICAgICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0ibmVzdGVkLmNzcyI+
PC9saW5rPgorICAgICAgICA8aW1nIHNyYz0iYmxhbmtfaW1hZ2UucG5nIj48L2ltZz4KKyAgICAg
ICAgPGlmcmFtZSBzcmM9ImJsYW5rX3BhZ2VfZ3JlZW4uaHRtIiB3aWR0aD0iMTAwcHgiIGhlaWdo
dD0iMTAwcHgiPjwvaWZyYW1lPgorICAgICAgICA8c2NyaXB0IHNyYz0iZW1wdHlfc2NyaXB0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIHZhciB4aHIgPSBuZXcg
WE1MSHR0cFJlcXVlc3Q7CisgICAgICAgICAgICB4aHIub3BlbigiR0VUIiwgImJsYW5rX3BhZ2Vf
eWVsbG93Lmh0bSIsIGZhbHNlKTsKKyAgICAgICAgICAgIHhoci5zZW5kKCk7CisgICAgICAgIDwv
c2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBAZm9udC1mYWNlIHsKKyAgICAg
ICAgICAgICAgICBmb250LWZhbWlseTogcmVtb3RlRm9udEFoZW07CisgICAgICAgICAgICAgICAg
c3JjOiB1cmwoJ0FoZW0udHRmJyk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZnJhbWUg
eworICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnZ2VuZXJhdGVfcmVzb3VyY2UucGhw
P3R5cGU9aW1hZ2UmaWQ9MScpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgdWwgeworICAg
ICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiByZW1vdGVGb250QWhlbTsKKyAgICAgICAgICAgICAg
ICBsaXN0LXN0eWxlLWltYWdlOiB1cmwoJ2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPWltYWdl
JmlkPTInKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICAgICAgPHVsPgor
ICAgICAgICAgICAgPGxpPlRlc3Q8L2xpPgorICAgICAgICA8L3VsPgorICAgICAgICA8b2w+Cisg
ICAgICAgICAgICA8bGk+VGVzdDwvbGk+CisgICAgICAgIDwvb2w+CisgICAgPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNv
dXJjZXMvYmxhbmtfaW1hZ2UucG5nIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVy
Zi9yZXNvdXJjZXMvYmxhbmtfaW1hZ2UucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNjZjdhNmNhMDViZmZjOTMw
NWM4ZGViY2JjMjllZjBkMWE1YzdiNzQKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDEwMwp6Y21l
QVNATj8ob2xIeWB1VkJxIWlhMHZwXmozQ1V4MVNCVnYyajJzNmlpNnlwN31sTVdjP3NsajdJO0oh
R2NhJXEKdWdEQGsqdFRfQHVLXnsqUiN9Sk98JHZeKTh3YFhBZSRNbztjbmFKbHJhUnlJVUtiTGgq
Mn43WVNoOGNfaQoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZW1wdHlfc2NyaXB0LmpzIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZW1wdHlfc2NyaXB0Lmpz
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjA5MmJjMmIwNDEyNjEwMDg3ODUzMDg4OGU2YjFiMzA2MDJkY2UyMTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291
cmNlcy9lbXB0eV9zY3JpcHQuanMKQEAgLTAsMCArMSBAQAorOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2Uu
cGhwIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJh
dGVfcmVzb3VyY2UucGhwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEyOTM4NzIxYzFmOGU2Yzg5N2FmNDNlNjViZWRk
MjVhNGQ2NzIwZjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3cz
Yy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHAKQEAgLTAsMCArMSw0MyBA
QAorPD9waHAKKyAgJHR5cGUgPSAkX0dFVFsidHlwZSJdOworCisgICRyZXNwb25zZV9jb2RlID0g
MjAwOworICAkYm9keSA9ICIiOworICAkY29udGVudF90eXBlID0gInRleHQvcGxhaW4iOworCisg
IHN3aXRjaCAoJHR5cGUpIHsKKyAgY2FzZSAiY3NzIjoKKyAgICAgICRib2R5ID0gZmlsZV9nZXRf
Y29udGVudHMoImdyYXlfYmcuY3NzIik7CisgICAgICAkY29udGVudF90eXBlID0gInRleHQvY3Nz
IjsKKyAgICAgIGJyZWFrOworCisgIGNhc2UgImZvbnQiOgorICAgICAgJGJvZHkgPSBmaWxlX2dl
dF9jb250ZW50cygiQWhlbS50dGYiKTsKKyAgICAgICRjb250ZW50X3R5cGUgPSAiYXBwbGljYXRp
b24vb2N0ZXQtc3RyZWFtIjsKKyAgICAgIGJyZWFrOworCisgIGNhc2UgImlmcmFtZSI6CisgICAg
ICAkYm9keSA9IGZpbGVfZ2V0X2NvbnRlbnRzKCJibGFua19wYWdlX2dyZWVuLmh0bSIpOworICAg
ICAgJGNvbnRlbnRfdHlwZSA9ICJ0ZXh0L2h0bWwiOworICAgICAgYnJlYWs7CisKKyAgY2FzZSAi
aW1hZ2UiOgorICAgICAgJGJvZHkgPSBmaWxlX2dldF9jb250ZW50cygiYmxhbmtfaW1hZ2UucG5n
Iik7CisgICAgICAkY29udGVudF90eXBlID0gImltYWdlL3BuZyI7CisgICAgICBicmVhazsKKwor
ICBjYXNlICJzY3JpcHQiOgorICAgICAgJGJvZHkgPSBmaWxlX2dldF9jb250ZW50cygiZW1wdHlf
c2NyaXB0LmpzIik7CisgICAgICAkY29udGVudF90eXBlID0gInRleHQvamF2YXNjcmlwdCI7Cisg
ICAgICBicmVhazsKKworICBkZWZhdWx0OgorICAgICAgJHJlc3BvbnNlX2NvZGUgPSA0MDQ7Cisg
ICAgICBicmVhazsKKyAgfQorCisgIGhlYWRlcigiSFRUUC8xLjEgJHJlc3BvbnNlX2NvZGUiKTsK
KyAgaGVhZGVyKCJDb250ZW50LXR5cGU6ICRjb250ZW50X3R5cGUiKTsKKyAgcHJpbnQoJGJvZHkp
OworICBleGl0OworPz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dl
YnBlcmYvcmVzb3VyY2VzL2dyYXlfYmcuY3NzIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mv
d2VicGVyZi9yZXNvdXJjZXMvZ3JheV9iZy5jc3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzcwNTE0NWZiODc3MzU1
OGE3OTUyZGMxNGYxOGZkYjQxZTRiODIzMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dyYXlfYmcuY3NzCkBAIC0wLDAgKzEg
QEAKK2JvZHkgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjYmJiYmJiOyB9CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9pbmplY3RfcmVzb3VyY2Vf
dGVzdC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMv
aW5qZWN0X3Jlc291cmNlX3Rlc3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xZjEwMDYxY2VjODgxMTE3N2Vm
ZTU5OGViN2Y1ODMxMzg0YWUxNjM4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvaW5qZWN0X3Jlc291cmNlX3Rlc3QuaHRtbApA
QCAtMCwwICsxLDMgQEAKKzxzY3JpcHQ+Cit3aW5kb3cucGFyZW50LnNldHVwX2lmcmFtZSgpOwor
PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJm
L3Jlc291cmNlcy9uZXN0ZWQuY3NzIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVy
Zi9yZXNvdXJjZXMvbmVzdGVkLmNzcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iZjUwNjVmODZlYWNhYWM0MGU0ZWUy
MGQ1YWEwZjNmYTc4YzIzMzczCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvbmVzdGVkLmNzcwpAQCAtMCwwICsxLDEwIEBACitA
aW1wb3J0ICJnZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1jc3MmaWQ9bjEiOworCitAZm9udC1m
YWNlIHsKKyAgICBmb250LWZhbWlseTogcmVtb3RlRm9udDsKKyAgICBzcmM6IHVybCgnZ2VuZXJh
dGVfcmVzb3VyY2UucGhwP3R5cGU9Zm9udCZpZD1uMScpOworfQorb2wgeworICAgIGZvbnQtZmFt
aWx5OiByZW1vdGVGb250OworICAgIGxpc3Qtc3R5bGUtaW1hZ2U6IHVybCgnZ2VuZXJhdGVfcmVz
b3VyY2UucGhwP3R5cGU9aW1hZ2UmaWQ9bjEnKTsKK30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVzcy5qcyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL3dlYnBlcmZ0ZXN0
aGFybmVzcy5qcwppbmRleCA4Nzc0NTA2ZTI0OTI4ZTdiOTYxNGMzMGM5ODFiMTMxMTBhZDA4ZDQz
Li40NTRkMjhlOTFmOTg4ODdiZjE5MjA2MzFkZjFmMjA5NTEzNTE3M2ExIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy93ZWJwZXJmdGVzdGhh
cm5lc3MuanMKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJj
ZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpzCkBAIC0xNTAsNyArMTUwLDYzIEBAIGZ1bmN0aW9uIHRl
c3RfZ3JlYXRlcl90aGFuKHZhbHVlLCBncmVhdGVyX3RoYW4sIG1zZywgcHJvcGVydGllcykKICAg
ICB3cF90ZXN0KGZ1bmN0aW9uICgpIHsgYXNzZXJ0X3RydWUodmFsdWUgPiBncmVhdGVyX3RoYW4s
IG1zZyk7IH0sIG1zZywgcHJvcGVydGllcyk7CiB9CiAKK2Z1bmN0aW9uIHRlc3RfZ3JlYXRlcl9v
cl9lcXVhbHModmFsdWUsIGdyZWF0ZXJfdGhhbiwgbXNnLCBwcm9wZXJ0aWVzKQoreworICAgIHdw
X3Rlc3QoZnVuY3Rpb24gKCkgeyBhc3NlcnRfdHJ1ZSh2YWx1ZSA+PSBncmVhdGVyX3RoYW4sIG1z
Zyk7IH0sIG1zZywgcHJvcGVydGllcyk7Cit9CisKIGZ1bmN0aW9uIHRlc3Rfbm90X2VxdWFscyh2
YWx1ZSwgbm90ZXF1YWxzLCBtc2csIHByb3BlcnRpZXMpCiB7CiAgICAgd3BfdGVzdChmdW5jdGlv
bigpIHsgYXNzZXJ0X3RydWUodmFsdWUgIT09IG5vdGVxdWFscywgbXNnKTsgfSwgbXNnLCBwcm9w
ZXJ0aWVzKTsKIH0KKworZnVuY3Rpb24gdGVzdF9jb250YWlucyhuZWVkbGUsIGhheXN0YWNrLCBt
c2csIHByb3BlcnRpZXMpCit7CisgICAgd3BfdGVzdChmdW5jdGlvbigpIHsgYXNzZXJ0X3RydWUo
bmVlZGxlIGluIGhheXN0YWNrLCBtc2cpOyB9LCBtc2csIHByb3BlcnRpZXMpOworfQorCitmdW5j
dGlvbiB0ZXN0X2ZhaWwobXNnLCBwcm9wZXJ0aWVzKQoreworICAgIHdwX3Rlc3QoZnVuY3Rpb24o
KSB7IGFzc2VydF91bnJlYWNoZWQoKTsgfSwgbXNnLCBwcm9wZXJ0aWVzKTsKK30KKworZnVuY3Rp
b24gdGVzdF9yZXNvdXJjZV9lbnRyaWVzKGVudHJpZXMsIGV4cGVjdGVkX2VudHJpZXMpCit7Cisg
ICAgLy8gVGhpcyBpcyBzbGlnaHRseSBjb252b2x1dGVkIHNvIHRoYXQgd2UgY2FuIHNvcnQgdGhl
IG91dHB1dC4KKyAgICB2YXIgYWN0dWFsX2VudHJpZXMgPSB7fTsKKworICAgIGZvciAodmFyIGkg
PSAwOyBpIDwgZW50cmllcy5sZW5ndGg7ICsraSkgeworICAgICAgICB2YXIgZW50cnkgPSBlbnRy
aWVzW2ldOworICAgICAgICB2YXIgZm91bmQgPSBmYWxzZTsKKyAgICAgICAgZm9yICh2YXIgZXhw
ZWN0ZWRfZW50cnkgaW4gZXhwZWN0ZWRfZW50cmllcykgeworICAgICAgICAgICAgaWYgKGVudHJ5
Lm5hbWUgPT0gd2luZG93LmxvY2F0aW9uLm9yaWdpbiArIGV4cGVjdGVkX2VudHJ5KSB7CisgICAg
ICAgICAgICAgICAgZm91bmQgPSB0cnVlOworICAgICAgICAgICAgICAgIGlmIChleHBlY3RlZF9l
bnRyeSBpbiBhY3R1YWxfZW50cmllcykgeworICAgICAgICAgICAgICAgICAgICB0ZXN0X2ZhaWwo
ZXhwZWN0ZWRfZW50cnkgKyAnIGlzIG5vdCBleHBlY3RlZCB0byBoYXZlIGR1cGxpY2F0ZSBlbnRy
aWVzJyk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGFjdHVhbF9lbnRyaWVz
W2V4cGVjdGVkX2VudHJ5XSA9IGVudHJ5OworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICAgICAgfQorICAgICAgICB9CisgICAgICAgIGlmICghZm91bmQpIHsKKyAgICAgICAgICAgIHRl
c3RfZmFpbChlbnRyaWVzW2ldLm5hbWUgKyAnIGlzIG5vdCBleHBlY3RlZCB0byBiZSBpbiB0aGUg
UmVzb3VyY2UgVGltaW5nIGJ1ZmZlcicpOworICAgICAgICB9CisgICAgfQorCisgICAgc29ydGVk
X3VybHMgPSBbXTsKKyAgICBmb3IgKHZhciBpIGluIGFjdHVhbF9lbnRyaWVzKSB7CisgICAgICAg
IHNvcnRlZF91cmxzLnB1c2goaSk7CisgICAgfQorICAgIHNvcnRlZF91cmxzLnNvcnQoKTsKKyAg
ICBmb3IgKHZhciBpIGluIHNvcnRlZF91cmxzKSB7CisgICAgICAgIHZhciB1cmwgPSBzb3J0ZWRf
dXJsc1tpXTsKKyAgICAgICAgdGVzdF9lcXVhbHMoYWN0dWFsX2VudHJpZXNbdXJsXS5pbml0aWF0
b3JUeXBlLAorICAgICAgICAgICAgICAgICAgICBleHBlY3RlZF9lbnRyaWVzW3VybF0sCisgICAg
ICAgICAgICAgICAgICAgIHVybCArICcgaXMgZXhwZWN0ZWQgdG8gaGF2ZSBpbml0aWF0b3JUeXBl
ICcgKyBleHBlY3RlZF9lbnRyaWVzW3VybF0pOworICAgIH0KKyAgICBmb3IgKHZhciBqIGluIGV4
cGVjdGVkX2VudHJpZXMpIHsKKyAgICAgICAgaWYgKCEoaiBpbiBhY3R1YWxfZW50cmllcykpIHsK
KyAgICAgICAgICAgIHRlc3RfZmFpbChqICsgJyBpcyBleHBlY3RlZCB0byBiZSBpbiB0aGUgUmVz
b3VyY2UgVGltaW5nIGJ1ZmZlcicpOworICAgICAgICB9CisgICAgfQorfQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRp
bWluZy9odG1sL3Rlc3RfcmVzb3VyY2VfYXR0cmlidXRlX29yZGVyLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1p
bmcvaHRtbC90ZXN0X3Jlc291cmNlX2F0dHJpYnV0ZV9vcmRlci1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNDhhNmY0MmM2MjMyZDlkNzlhYjMzYmZjYzBiZTk5NjlhZWM3NjYxZAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9y
ZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX2F0dHJpYnV0ZV9vcmRlci1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxOCBAQAorRGVzY3JpcHRpb24KKworVGhpcyB0ZXN0IHZhbGlkYXRl
cyB0aGF0IGFsbCBvZiB0aGUgaW5pdGlhdG9yIHR5cGVzIGFyZSByZXByZXNlbnRlZC4KKworCisK
K1BBU1MgT25seSAxIFBlcmZvcm1hbmNlRW50cnkgc2hvdWxkIG1hdGNoIAorUEFTUyByZWRpcmVj
dFN0YXJ0IHNob3VsZCBiZSAwIAorUEFTUyByZWRpcmVjdEVuZCBzaG91bGQgYmUgMCAKK0ZBSUwg
ZmV0Y2hTdGFydCBzaG91bGQgYmUgbm9uLXplcm8gYXNzZXJ0X3RydWU6IGZldGNoU3RhcnQgc2hv
dWxkIGJlIG5vbi16ZXJvIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitQQVNTIGRvbWFpbkxvb2t1
cFN0YXJ0IHNob3VsZCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gZmV0Y2hTdGFydCAKK1BB
U1MgZG9tYWluTG9va3VwRW5kIHNob3VsZCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gZG9t
YWluTG9va3VwU3RhcnQgCitQQVNTIGNvbm5lY3RTdGFydCBzaG91bGQgYmUgZ3JlYXRlciB0aGFu
IG9yIGVxdWFsIHRvIGRvbWFpbkxvb2t1cEVuZCAKK1BBU1MgY29ubmVjdEVuZCBzaG91bGQgYmUg
Z3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIGNvbm5lY3RTdGFydCAKK1BBU1MgcmVxdWVzdFN0YXJ0
IHNob3VsZCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gY29ubmVjdEVuZCAKK1BBU1MgcmVz
cG9uc2VTdGFydCBzaG91bGQgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIHJlcXVlc3RTdGFy
dCAKK1BBU1MgcmVzcG9uc2VFbmQgc2hvdWxkIGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byBy
ZXNwb25zZVN0YXJ0IAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93
ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9hdHRy
aWJ1dGVfb3JkZXIuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3Vi
bWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX2F0dHJpYnV0ZV9vcmRl
ci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgzMGQzMjNmMjczZTE5NjY4OWJkNGVjZTE2MTIxMzhhOTAxMmEz
YjcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJm
L3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9hdHRyaWJ1dGVf
b3JkZXIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4KKzx0aXRsZT5SZXNvdXJjZSBUaW1pbmcgYXR0
cmlidXRlIG9yZGVyPC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iR29vZ2xlIiBo
cmVmPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20vIiAvPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJo
dHRwOi8vd3d3LnczLm9yZy9UUi9yZXNvdXJjZS10aW1pbmcvI3BlcmZvcm1hbmNlcmVzb3VyY2V0
aW1pbmciLz4KKzxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMvd2VicGVyZnRl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitmdW5jdGlvbiBzZXR1cF9pZnJhbWUo
KSB7CisgICAgaWZyYW1lID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ZyYW1lQ29udGV4dCcp
OworICAgIHZhciBkID0gaWZyYW1lLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQ7CisgICAgdmFyIGJv
ZHkgPSBkLmNyZWF0ZUVsZW1lbnQoJ2JvZHknKTsKKyAgICBkLmdldEVsZW1lbnRzQnlUYWdOYW1l
KCdodG1sJylbMF0uYXBwZW5kQ2hpbGQoYm9keSk7CisKKyAgICB2YXIgaW1hZ2UgPSBkLmNyZWF0
ZUVsZW1lbnQoJ2ltZycpOworICAgIGltYWdlLnNyYyA9ICcvdzNjL3dlYnBlcmYvcmVzb3VyY2Vz
L2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPWltYWdlJzsKKyAgICBib2R5LmFwcGVuZENoaWxk
KGltYWdlKTsKK30KK2Z1bmN0aW9uIG9ubG9hZF90ZXN0KCkgeworICAgIHZhciBlbnRyaWVzID0g
aWZyYW1lLmNvbnRlbnRXaW5kb3cucGVyZm9ybWFuY2Uud2Via2l0R2V0RW50cmllc0J5TmFtZSh3
aW5kb3cubG9jYXRpb24ub3JpZ2luICsgJy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVf
cmVzb3VyY2UucGhwP3R5cGU9aW1hZ2UnKTsKKyAgICB0ZXN0X2VxdWFscyhlbnRyaWVzLmxlbmd0
aCwgMSwgJ09ubHkgMSBQZXJmb3JtYW5jZUVudHJ5IHNob3VsZCBtYXRjaCcpOworICAgIHZhciBl
bnRyeSA9IGVudHJpZXNbMF07CisKKyAgICB0ZXN0X2VxdWFscyhlbnRyeS5yZWRpcmVjdFN0YXJ0
LCAwLCAicmVkaXJlY3RTdGFydCBzaG91bGQgYmUgMCIpOworICAgIHRlc3RfZXF1YWxzKGVudHJ5
LnJlZGlyZWN0RW5kLCAwLCAicmVkaXJlY3RFbmQgc2hvdWxkIGJlIDAiKTsKKyAgICB0ZXN0X2dy
ZWF0ZXJfdGhhbihlbnRyeS5mZXRjaFN0YXJ0LCAwLCAiZmV0Y2hTdGFydCBzaG91bGQgYmUgbm9u
LXplcm8iKTsKKyAgICB0ZXN0X2dyZWF0ZXJfb3JfZXF1YWxzKGVudHJ5LmRvbWFpbkxvb2t1cFN0
YXJ0LCBlbnRyeS5mZXRjaFN0YXJ0LCAiZG9tYWluTG9va3VwU3RhcnQgc2hvdWxkIGJlIGdyZWF0
ZXIgdGhhbiBvciBlcXVhbCB0byBmZXRjaFN0YXJ0Iik7CisgICAgdGVzdF9ncmVhdGVyX29yX2Vx
dWFscyhlbnRyeS5kb21haW5Mb29rdXBFbmQsIGVudHJ5LmRvbWFpbkxvb2t1cFN0YXJ0LCAiZG9t
YWluTG9va3VwRW5kIHNob3VsZCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gZG9tYWluTG9v
a3VwU3RhcnQiKTsKKyAgICB0ZXN0X2dyZWF0ZXJfb3JfZXF1YWxzKGVudHJ5LmNvbm5lY3RTdGFy
dCwgZW50cnkuZG9tYWluTG9va3VwRW5kLCAiY29ubmVjdFN0YXJ0IHNob3VsZCBiZSBncmVhdGVy
IHRoYW4gb3IgZXF1YWwgdG8gZG9tYWluTG9va3VwRW5kIik7CisgICAgdGVzdF9ncmVhdGVyX29y
X2VxdWFscyhlbnRyeS5jb25uZWN0RW5kLCBlbnRyeS5jb25uZWN0U3RhcnQsICJjb25uZWN0RW5k
IHNob3VsZCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gY29ubmVjdFN0YXJ0Iik7CisgICAg
dGVzdF9ncmVhdGVyX29yX2VxdWFscyhlbnRyeS5yZXF1ZXN0U3RhcnQsIGVudHJ5LmNvbm5lY3RF
bmQsICJyZXF1ZXN0U3RhcnQgc2hvdWxkIGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byBjb25u
ZWN0RW5kIik7CisgICAgdGVzdF9ncmVhdGVyX29yX2VxdWFscyhlbnRyeS5yZXNwb25zZVN0YXJ0
LCBlbnRyeS5yZXF1ZXN0U3RhcnQsICJyZXNwb25zZVN0YXJ0IHNob3VsZCBiZSBncmVhdGVyIHRo
YW4gb3IgZXF1YWwgdG8gcmVxdWVzdFN0YXJ0Iik7CisgICAgdGVzdF9ncmVhdGVyX29yX2VxdWFs
cyhlbnRyeS5yZXNwb25zZUVuZCwgZW50cnkucmVzcG9uc2VTdGFydCwgInJlc3BvbnNlRW5kIHNo
b3VsZCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gcmVzcG9uc2VTdGFydCIpOworfQorPC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxoMT5EZXNjcmlwdGlvbjwvaDE+Cis8cD5UaGlzIHRl
c3QgdmFsaWRhdGVzIHRoYXQgYWxsIG9mIHRoZSBpbml0aWF0b3IgdHlwZXMgYXJlIHJlcHJlc2Vu
dGVkLjwvcD4KKzxkaXYgaWQ9ImxvZyI+PC9kaXY+Cis8aWZyYW1lIGlkPSJmcmFtZUNvbnRleHQi
IG9ubG9hZD0ib25sb2FkX3Rlc3QoKTsiIHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNlcy9pbmpl
Y3RfcmVzb3VyY2VfdGVzdC5odG1sIj48L2lmcmFtZT4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNv
dXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX2R5bmFtaWNfaW5zZXJ0aW9uLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNv
dXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX2R5bmFtaWNfaW5zZXJ0aW9uLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi41OWM0MDBkZGRjMjk4OGExMzE1NjNhZDQ3OTIyYzIyOWE1MTI0Yzdi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9z
dWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2VfZHluYW1pY19pbnNl
cnRpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAKK0Rlc2NyaXB0aW9uCisKK1RoaXMg
dGVzdCB2YWxpZGF0ZXMgdGhhdCBhbGwgb2YgdGhlIGluaXRpYXRvciB0eXBlcyBhcmUgcmVwcmVz
ZW50ZWQgZXZlbiB3aGVuIGR5bmFtaWNhbGx5IGluc2VydGVkLgorCisKKworUEFTUyAvdzNjL3dl
YnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPWNzcyBpcyBleHBlY3Rl
ZCB0byBoYXZlIGluaXRpYXRvclR5cGUgbGluayAKK1BBU1MgL3czYy93ZWJwZXJmL3Jlc291cmNl
cy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1pZnJhbWUgaXMgZXhwZWN0ZWQgdG8gaGF2ZSBp
bml0aWF0b3JUeXBlIGlmcmFtZSAKK1BBU1MgL3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0
ZV9yZXNvdXJjZS5waHA/dHlwZT1pbWFnZSBpcyBleHBlY3RlZCB0byBoYXZlIGluaXRpYXRvclR5
cGUgaW1nIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJm
L3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9keW5hbWljX2lu
c2VydGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNz
aW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2VfZHluYW1pY19pbnNlcnRpb24u
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5iZjczMTA4NDcxZjFlMWJmYTgwMzQwZDNkMjE3MzZiM2VlY2ExNGY5
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9z
dWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2VfZHluYW1pY19pbnNl
cnRpb24uaHRtbApAQCAtMCwwICsxLDUyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4KKzx0aXRsZT5SZXNvdXJjZSBUaW1pbmcgaW5p
dGlhdG9yIHR5cGVzIHdpdGggZHluYW1pYyBpbnNlcnRpb248L3RpdGxlPgorPGxpbmsgcmVsPSJh
dXRob3IiIHRpdGxlPSJHb29nbGUiIGhyZWY9Imh0dHA6Ly93d3cuZ29vZ2xlLmNvbS8iIC8+Cis8
bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRpbWlu
Zy8jZG9tLXBlcmZvcm1hbmNlcmVzb3VyY2V0aW1pbmctaW5pdGlhdG9ydHlwZSIvPgorPHNjcmlw
dCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgorPHNjcmlwdD4KK3ZhciBpZnJhbWU7CitmdW5jdGlvbiBzZXR1cF9pZnJhbWUoKSB7
CisgICAgaWZyYW1lID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ZyYW1lQ29udGV4dCcpOwor
ICAgIHZhciBkID0gaWZyYW1lLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQ7CisgICAgdmFyIGJvZHkg
PSBkLmNyZWF0ZUVsZW1lbnQoJ2JvZHknKTsKKyAgICBkLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdo
dG1sJylbMF0uYXBwZW5kQ2hpbGQoYm9keSk7CisKKyAgICB2YXIgc3R5bGUgPSBkLmNyZWF0ZUVs
ZW1lbnQoJ2xpbmsnKTsKKyAgICBzdHlsZS5yZWwgPSAnc3R5bGVzaGVldCc7CisgICAgc3R5bGUu
aHJlZiA9ICcvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBl
PWNzcyc7CisgICAgYm9keS5hcHBlbmRDaGlsZChzdHlsZSk7CisKKyAgICB2YXIgaW1hZ2UgPSBk
LmNyZWF0ZUVsZW1lbnQoJ2ltZycpOworICAgIGltYWdlLnNyYyA9ICcvdzNjL3dlYnBlcmYvcmVz
b3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPWltYWdlJzsKKyAgICBib2R5LmFwcGVu
ZENoaWxkKGltYWdlKTsKKworICAgIHZhciBzdWJmcmFtZSA9IGQuY3JlYXRlRWxlbWVudCgnaWZy
YW1lJyk7CisgICAgc3ViZnJhbWUuc3JjID0gJy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJh
dGVfcmVzb3VyY2UucGhwP3R5cGU9aWZyYW1lJzsKKyAgICBib2R5LmFwcGVuZENoaWxkKHN1YmZy
YW1lKTsKK30KK2Z1bmN0aW9uIG9ubG9hZF90ZXN0KCkgeworICAgIHZhciBlbnRyaWVzID0gaWZy
YW1lLmNvbnRlbnRXaW5kb3cucGVyZm9ybWFuY2Uud2Via2l0R2V0RW50cmllcygpOworCisgICAg
dmFyIGV4cGVjdGVkX2VudHJpZXMgPSB7CisgICAgICAgICcvdzNjL3dlYnBlcmYvcmVzb3VyY2Vz
L2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPWNzcyc6ICdsaW5rJywKKyAgICAgICAgJy93M2Mv
d2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9aW1hZ2UnOiAnaW1n
JywKKyAgICAgICAgJy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhw
P3R5cGU9aWZyYW1lJzogJ2lmcmFtZScsCisgICAgfTsKKworICAgIHRlc3RfcmVzb3VyY2VfZW50
cmllcyhlbnRyaWVzLCBleHBlY3RlZF9lbnRyaWVzKTsKK30KK3dpbmRvdy5zZXR1cF9pZnJhbWUg
PSBzZXR1cF9pZnJhbWU7Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGgxPkRlc2NyaXB0
aW9uPC9oMT4KKzxwPlRoaXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCBhbGwgb2YgdGhlIGluaXRpYXRv
ciB0eXBlcyBhcmUgcmVwcmVzZW50ZWQgZXZlbiB3aGVuIGR5bmFtaWNhbGx5IGluc2VydGVkLjwv
cD4KKzxkaXYgaWQ9ImxvZyI+PC9kaXY+Cis8aWZyYW1lIGlkPSJmcmFtZUNvbnRleHQiIG9ubG9h
ZD0ib25sb2FkX3Rlc3QoKTsiIHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNlcy9pbmplY3RfcmVz
b3VyY2VfdGVzdC5odG1sIj48L2lmcmFtZT4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10
aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX2luaXRpYXRvcl90eXBlcy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGlt
aW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9pbml0aWF0b3JfdHlwZXMtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjFmYzQ1MjA1MTFmN2Q5ZDUzMWFiYWMxOTU4ZDkwNmY2ODlhYTVmNmUKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24v
cmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9pbml0aWF0b3JfdHlwZXMtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTggQEAKK0Rlc2NyaXB0aW9uCisKK1RoaXMgdGVzdCB2YWxpZGF0
ZXMgdGhhdCBhbGwgb2YgdGhlIGluaXRpYXRvciB0eXBlcyBhcmUgcmVwcmVzZW50ZWQuCisKKwor
CitQQVNTIC93M2Mvd2VicGVyZi9yZXNvdXJjZXMvQWhlbS50dGYgaXMgZXhwZWN0ZWQgdG8gaGF2
ZSBpbml0aWF0b3JUeXBlIGNzcyAKK1BBU1MgL3czYy93ZWJwZXJmL3Jlc291cmNlcy9ibGFua19p
bWFnZS5wbmcgaXMgZXhwZWN0ZWQgdG8gaGF2ZSBpbml0aWF0b3JUeXBlIGltZyAKK1BBU1MgL3cz
Yy93ZWJwZXJmL3Jlc291cmNlcy9ibGFua19wYWdlX2dyZWVuLmh0bSBpcyBleHBlY3RlZCB0byBo
YXZlIGluaXRpYXRvclR5cGUgaWZyYW1lIAorUEFTUyAvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2Js
YW5rX3BhZ2VfeWVsbG93Lmh0bSBpcyBleHBlY3RlZCB0byBoYXZlIGluaXRpYXRvclR5cGUgeG1s
aHR0cHJlcXVlc3QgCitQQVNTIC93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZW1wdHlfc2NyaXB0Lmpz
IGlzIGV4cGVjdGVkIHRvIGhhdmUgaW5pdGlhdG9yVHlwZSBzY3JpcHQgCitQQVNTIC93M2Mvd2Vi
cGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9Y3NzJmlkPW4xIGlzIGV4
cGVjdGVkIHRvIGhhdmUgaW5pdGlhdG9yVHlwZSBjc3MgCitQQVNTIC93M2Mvd2VicGVyZi9yZXNv
dXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9Zm9udCZpZD1uMSBpcyBleHBlY3RlZCB0
byBoYXZlIGluaXRpYXRvclR5cGUgY3NzIAorUEFTUyAvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dl
bmVyYXRlX3Jlc291cmNlLnBocD90eXBlPWltYWdlJmlkPTEgaXMgZXhwZWN0ZWQgdG8gaGF2ZSBp
bml0aWF0b3JUeXBlIGNzcyAKK1BBU1MgL3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9y
ZXNvdXJjZS5waHA/dHlwZT1pbWFnZSZpZD0yIGlzIGV4cGVjdGVkIHRvIGhhdmUgaW5pdGlhdG9y
VHlwZSBjc3MgCitQQVNTIC93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2Uu
cGhwP3R5cGU9aW1hZ2UmaWQ9bjEgaXMgZXhwZWN0ZWQgdG8gaGF2ZSBpbml0aWF0b3JUeXBlIGNz
cyAKK1BBU1MgL3czYy93ZWJwZXJmL3Jlc291cmNlcy9uZXN0ZWQuY3NzIGlzIGV4cGVjdGVkIHRv
IGhhdmUgaW5pdGlhdG9yVHlwZSBsaW5rIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9y
ZXNvdXJjZV9pbml0aWF0b3JfdHlwZXMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNj
L3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX2lu
aXRpYXRvcl90eXBlcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQzOTY3MGRlMGEzMjk2MjNiMjE0ZWVmMTBj
M2U2ZDYyOTQ2NjA1MmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJj
ZV9pbml0aWF0b3JfdHlwZXMuaHRtbApAQCAtMCwwICsxLDkyIEBACis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4KKzx0aXRsZT5SZXNvdXJj
ZSBUaW1pbmcgaW5pdGlhdG9yIHR5cGVzPC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRs
ZT0iR29vZ2xlIiBocmVmPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20vIiAvPgorPGxpbmsgcmVsPSJo
ZWxwIiBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9yZXNvdXJjZS10aW1pbmcvI2RvbS1wZXJm
b3JtYW5jZXJlc291cmNldGltaW5nLWluaXRpYXRvcnR5cGUiLz4KKzxzY3JpcHQgc3JjPSIvdzNj
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3czYy9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii93
M2Mvd2VicGVyZi9yZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQ+CitzZXR1cCh7ZXhwbGljaXRfZG9uZTogdHJ1ZX0pOworCit2YXIgYmFja2dyb3VuZF9s
b2FkZWQgPSBmYWxzZTsKK3ZhciBwYWdlX2xvYWRlZCA9IGZhbHNlOwordmFyIG9sX2ZvbnRfbG9h
ZGVkID0gZmFsc2U7Cit2YXIgdWxfZm9udF9sb2FkZWQgPSBmYWxzZTsKKworZnVuY3Rpb24gY2hl
Y2tfZmluaXNoZWQoKSB7CisgICAgaWYgKCF1bF9mb250X2xvYWRlZCkgeworICAgICAgICB1bF9m
b250X2xvYWRlZCA9IGNoZWNrX2ZvbnRfbG9hZGVkKCd1bCcpOworICAgIH0KKyAgICBpZiAoIW9s
X2ZvbnRfbG9hZGVkKSB7CisgICAgICAgIG9sX2ZvbnRfbG9hZGVkID0gY2hlY2tfZm9udF9sb2Fk
ZWQoJ29sJyk7CisgICAgfQorICAgIGlmIChwYWdlX2xvYWRlZCAmJiBvbF9mb250X2xvYWRlZCAm
JiB1bF9mb250X2xvYWRlZCAmJiBiYWNrZ3JvdW5kX2xvYWRlZCkgeworICAgICAgICBwZXJmb3Jt
X3Rlc3QoKTsKKyAgICB9Cit9CisKK2Z1bmN0aW9uIGNoZWNrX2ZvbnRfbG9hZGVkKHR5cGUpIHsK
KyAgICB2YXIgd2lkdGhfdmFyX25hbWUgPSAnb3JpZ2luYWxfd2lkdGhfJyArIHR5cGU7CisgICAg
dmFyIGVsZW1lbnRfdmFyX25hbWUgPSAnZWxlbWVudF8nICsgdHlwZTsKKyAgICBpZiAoIXRoaXMu
aGFzT3duUHJvcGVydHkod2lkdGhfdmFyX25hbWUpKSB7CisgICAgICAgIHZhciBkID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ2ZyYW1lQ29udGV4dCcpLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQ7
CisgICAgICAgIHZhciBsaXN0ID0gZC5jcmVhdGVFbGVtZW50KHR5cGUpOworICAgICAgICB2YXIg
bGkgPSBkLmNyZWF0ZUVsZW1lbnQoJ2xpJyk7CisgICAgICAgIGxpLmlubmVySFRNTCA9ICd3aWR0
aF90ZXN0JzsKKyAgICAgICAgbGlzdC5hcHBlbmRDaGlsZChsaSk7CisgICAgICAgIGQuZ2V0RWxl
bWVudHNCeVRhZ05hbWUoJ2JvZHknKVswXS5hcHBlbmRDaGlsZChsaXN0KTsKKyAgICAgICAgdGhp
c1tlbGVtZW50X3Zhcl9uYW1lXSA9IGxpc3Q7CisgICAgICAgIHRoaXNbd2lkdGhfdmFyX25hbWVd
ID0gbGkub2Zmc2V0SGVpZ2h0OworICAgIH0KKyAgICByZXR1cm4gdGhpc1t3aWR0aF92YXJfbmFt
ZV0gIT0gdGhpc1tlbGVtZW50X3Zhcl9uYW1lXS5vZmZzZXRIZWlnaHQ7Cit9CisKK2Z1bmN0aW9u
IG9ubG9hZF90ZXN0KCkgeworICAgIHBhZ2VfbG9hZGVkID0gdHJ1ZTsKKworICAgIHZhciBpbWFn
ZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2ltZycpOworICAgIGltYWdlLnNyYyA9ICcvdzNj
L3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPWltYWdlJmlkPW4x
JzsKKyAgICBiYWNrZ3JvdW5kX2xvYWRlZCA9IGltYWdlLmNvbXBsZXRlZDsKKyAgICBpZiAoIWJh
Y2tncm91bmRfbG9hZGVkKSB7CisgICAgICAgIGltYWdlLm9ubG9hZCA9IGZ1bmN0aW9uKCkgewor
ICAgICAgICAgICAgYmFja2dyb3VuZF9sb2FkZWQgPSB0cnVlOworICAgICAgICB9CisgICAgfQor
CisgICAgc2V0SW50ZXJ2YWwoY2hlY2tfZmluaXNoZWQsIDEwMCk7Cit9CisKK2Z1bmN0aW9uIHBl
cmZvcm1fdGVzdCgpIHsKKyAgICB2YXIgZW50cmllcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdmcmFtZUNvbnRleHQnKS5jb250ZW50V2luZG93LnBlcmZvcm1hbmNlLndlYmtpdEdldEVudHJp
ZXMoKTsKKworICAgIHZhciBleHBlY3RlZF9lbnRyaWVzID0geworICAgICAgICAnL3czYy93ZWJw
ZXJmL3Jlc291cmNlcy9uZXN0ZWQuY3NzJzogJ2xpbmsnLAorICAgICAgICAnL3czYy93ZWJwZXJm
L3Jlc291cmNlcy9ibGFua19pbWFnZS5wbmcnOiAnaW1nJywKKyAgICAgICAgJy93M2Mvd2VicGVy
Zi9yZXNvdXJjZXMvYmxhbmtfcGFnZV9ncmVlbi5odG0nOiAnaWZyYW1lJywKKyAgICAgICAgJy93
M2Mvd2VicGVyZi9yZXNvdXJjZXMvZW1wdHlfc2NyaXB0LmpzJzogJ3NjcmlwdCcsCisgICAgICAg
ICcvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2JsYW5rX3BhZ2VfeWVsbG93Lmh0bSc6ICd4bWxodHRw
cmVxdWVzdCcsCisgICAgICAgICcvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291
cmNlLnBocD90eXBlPWltYWdlJmlkPTEnOiAnY3NzJywKKyAgICAgICAgJy93M2Mvd2VicGVyZi9y
ZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9aW1hZ2UmaWQ9Mic6ICdjc3MnLAor
ICAgICAgICAnL3czYy93ZWJwZXJmL3Jlc291cmNlcy9BaGVtLnR0Zic6ICdjc3MnLAorICAgICAg
ICAnL3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1jc3Mm
aWQ9bjEnOiAnY3NzJywKKyAgICAgICAgJy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVf
cmVzb3VyY2UucGhwP3R5cGU9Zm9udCZpZD1uMSc6ICdjc3MnLAorICAgICAgICAnL3czYy93ZWJw
ZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1pbWFnZSZpZD1uMSc6ICdj
c3MnLAorICAgIH07CisKKyAgICB0ZXN0X3Jlc291cmNlX2VudHJpZXMoZW50cmllcywgZXhwZWN0
ZWRfZW50cmllcyk7CisgICAgZG9uZSgpOworfQorCit3aW5kb3cub25fdGVzdF9ib2R5X2NyZWF0
ZWQgPSBjaGVja19maW5pc2hlZDsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8aDE+RGVz
Y3JpcHRpb248L2gxPgorPHA+VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IGFsbCBvZiB0aGUgaW5p
dGlhdG9yIHR5cGVzIGFyZSByZXByZXNlbnRlZC48L3A+Cis8ZGl2IGlkPSJsb2ciPjwvZGl2Pgor
PGlmcmFtZSBpZD0iZnJhbWVDb250ZXh0IiBvbmxvYWQ9Im9ubG9hZF90ZXN0KCk7IiBzcmM9Ii93
M2Mvd2VicGVyZi9yZXNvdXJjZXMvYWxsX3Jlc291cmNlX3R5cGVzLmh0bSIgc3R5bGU9IndpZHRo
OiAyNTBweDsgaGVpZ2h0OiAyNTBweDsiPjwvaWZyYW1lPgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jl
c291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2VfcmVkaXJlY3RzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10
aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX3JlZGlyZWN0cy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYTc4OThkMDZlNTkzZGY2ZGI2NTg1OWE3MzgyZTRhN2NjNjdhNjZiNAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNv
dXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX3JlZGlyZWN0cy1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMiBAQAorRGVzY3JpcHRpb24KKworVGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IHJl
ZGlyZWN0cyBkbyBub3QgYWx0ZXIgdGhlIFVSTC4KKworCisKK1BBU1MgL3czYy93ZWJwZXJmL3Jl
c291cmNlcy9yZWRpcmVjdC5waHA/bG9jYXRpb249L3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5l
cmF0ZV9yZXNvdXJjZS5waHAlM0Z0eXBlPWNzcyBpcyBleHBlY3RlZCB0byBoYXZlIGluaXRpYXRv
clR5cGUgbGluayAKK1BBU1MgL3czYy93ZWJwZXJmL3Jlc291cmNlcy9yZWRpcmVjdC5waHA/bG9j
YXRpb249L3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHAlM0Z0eXBl
PWlmcmFtZSBpcyBleHBlY3RlZCB0byBoYXZlIGluaXRpYXRvclR5cGUgaWZyYW1lIAorUEFTUyAv
dzNjL3dlYnBlcmYvcmVzb3VyY2VzL3JlZGlyZWN0LnBocD9sb2NhdGlvbj0vdzNjL3dlYnBlcmYv
cmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocCUzRnR5cGU9aWZyYW1lJTI2aWQ9eGhyIGlz
IGV4cGVjdGVkIHRvIGhhdmUgaW5pdGlhdG9yVHlwZSB4bWxodHRwcmVxdWVzdCAKK1BBU1MgL3cz
Yy93ZWJwZXJmL3Jlc291cmNlcy9yZWRpcmVjdC5waHA/bG9jYXRpb249L3czYy93ZWJwZXJmL3Jl
c291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHAlM0Z0eXBlPWltYWdlIGlzIGV4cGVjdGVkIHRv
IGhhdmUgaW5pdGlhdG9yVHlwZSBpbWcgCitQQVNTIC93M2Mvd2VicGVyZi9yZXNvdXJjZXMvcmVk
aXJlY3QucGhwP2xvY2F0aW9uPS93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3Vy
Y2UucGhwJTNGdHlwZT1zY3JpcHQgaXMgZXhwZWN0ZWQgdG8gaGF2ZSBpbml0aWF0b3JUeXBlIHNj
cmlwdCAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9z
dWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2VfcmVkaXJlY3RzLmh0
bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3Vy
Y2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9yZWRpcmVjdHMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
NThiOGZmMzRkYjYwMjE3YTFjOTkwMGE1OWMyOWEwM2U5Y2Y5YzZhCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNl
LXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2VfcmVkaXJlY3RzLmh0bWwKQEAgLTAsMCArMSw0OSBA
QAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgi
IC8+Cis8dGl0bGU+UmVzb3VyY2UgVGltaW5nIHJlZGlyZWN0IG5hbWVzPC90aXRsZT4KKzxsaW5r
IHJlbD0iYXV0aG9yIiB0aXRsZT0iR29vZ2xlIiBocmVmPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20v
IiAvPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9yZXNvdXJj
ZS10aW1pbmcvI3BlcmZvcm1hbmNlcmVzb3VyY2V0aW1pbmciLz4KKzxzY3JpcHQgc3JjPSIvdzNj
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3czYy9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii93
M2Mvd2VicGVyZi9yZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQ+Cit2YXIgaWZyYW1lOworZnVuY3Rpb24gc2V0dXBfaWZyYW1lKCkgeworICAgIHZhciBp
ZnJhbWVfY29udGVudCA9CisgICAgICAgICc8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii93
M2Mvd2VicGVyZi9yZXNvdXJjZXMvcmVkaXJlY3QucGhwP2xvY2F0aW9uPS93M2Mvd2VicGVyZi9y
ZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwJTNGdHlwZT1jc3MiPjwvbGluaz4nICsKKyAg
ICAgICAgJzxpbWcgc3JjPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL3JlZGlyZWN0LnBocD9sb2Nh
dGlvbj0vdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocCUzRnR5cGU9
aW1hZ2UiPjwvaW1nPicgKworICAgICAgICAnPGlmcmFtZSBzcmM9Ii93M2Mvd2VicGVyZi9yZXNv
dXJjZXMvcmVkaXJlY3QucGhwP2xvY2F0aW9uPS93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJh
dGVfcmVzb3VyY2UucGhwJTNGdHlwZT1pZnJhbWUiPjwvaWZyYW1lPicgKworICAgICAgICAnPHNj
cmlwdCBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMvcmVkaXJlY3QucGhwP2xvY2F0aW9uPS93
M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwJTNGdHlwZT1zY3JpcHQi
Pjwvc2NyJyArICdpcHQ+JyArCisgICAgICAgICc8c2NyaXB0PicgKworICAgICAgICAndmFyIHho
ciA9IG5ldyBYTUxIdHRwUmVxdWVzdDsnICsKKyAgICAgICAgJ3hoci5vcGVuKCJHRVQiLCAiL3cz
Yy93ZWJwZXJmL3Jlc291cmNlcy9yZWRpcmVjdC5waHA/bG9jYXRpb249L3czYy93ZWJwZXJmL3Jl
c291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHAlM0Z0eXBlPWlmcmFtZSUyNmlkPXhociIsIGZh
bHNlKTsnICsKKyAgICAgICAgJ3hoci5zZW5kKCk7JyArCisgICAgICAgICc8L3NjcicgKyAnaXB0
Pic7CisgICAgaWZyYW1lID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ZyYW1lQ29udGV4dCcp
OworICAgIGlmcmFtZS5jb250ZW50V2luZG93LmRvY3VtZW50LndyaXRlKGlmcmFtZV9jb250ZW50
KTsKK30KK2Z1bmN0aW9uIG9ubG9hZF90ZXN0KCkgeworICAgIHZhciBlbnRyaWVzID0gaWZyYW1l
LmNvbnRlbnRXaW5kb3cucGVyZm9ybWFuY2Uud2Via2l0R2V0RW50cmllcygpOworCisgICAgdmFy
IGV4cGVjdGVkX2VudHJpZXMgPSB7CisgICAgICAgICcvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL3Jl
ZGlyZWN0LnBocD9sb2NhdGlvbj0vdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291
cmNlLnBocCUzRnR5cGU9Y3NzJzogJ2xpbmsnLAorICAgICAgICAnL3czYy93ZWJwZXJmL3Jlc291
cmNlcy9yZWRpcmVjdC5waHA/bG9jYXRpb249L3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0
ZV9yZXNvdXJjZS5waHAlM0Z0eXBlPWltYWdlJzogJ2ltZycsCisgICAgICAgICcvdzNjL3dlYnBl
cmYvcmVzb3VyY2VzL3JlZGlyZWN0LnBocD9sb2NhdGlvbj0vdzNjL3dlYnBlcmYvcmVzb3VyY2Vz
L2dlbmVyYXRlX3Jlc291cmNlLnBocCUzRnR5cGU9aWZyYW1lJzogJ2lmcmFtZScsCisgICAgICAg
ICcvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL3JlZGlyZWN0LnBocD9sb2NhdGlvbj0vdzNjL3dlYnBl
cmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocCUzRnR5cGU9c2NyaXB0JzogJ3Njcmlw
dCcsCisgICAgICAgICcvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL3JlZGlyZWN0LnBocD9sb2NhdGlv
bj0vdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocCUzRnR5cGU9aWZy
YW1lJTI2aWQ9eGhyJzogJ3htbGh0dHByZXF1ZXN0JywKKyAgICB9OworCisgICAgdGVzdF9yZXNv
dXJjZV9lbnRyaWVzKGVudHJpZXMsIGV4cGVjdGVkX2VudHJpZXMpOworfQord2luZG93LnNldHVw
X2lmcmFtZSA9IHNldHVwX2lmcmFtZTsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8aDE+
RGVzY3JpcHRpb248L2gxPgorPHA+VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IHJlZGlyZWN0cyBk
byBub3QgYWx0ZXIgdGhlIFVSTC48L3A+Cis8ZGl2IGlkPSJsb2ciPjwvZGl2PgorPGlmcmFtZSBp
ZD0iZnJhbWVDb250ZXh0IiBvbmxvYWQ9Im9ubG9hZF90ZXN0KCk7IiBzcmM9Ii93M2Mvd2VicGVy
Zi9yZXNvdXJjZXMvaW5qZWN0X3Jlc291cmNlX3Rlc3QuaHRtbCI+PC9pZnJhbWU+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJm
L3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9zY3JpcHRfdHlw
ZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJt
aXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2Vfc2NyaXB0X3R5cGVzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNmM2ZjkzODVmNDE5Y2FiNGQ4OWVkMTA3YTZmOTUxYjhi
NjlkNzIwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2Vi
cGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2Vfc2NyaXB0
X3R5cGVzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE2IEBACitEZXNjcmlwdGlvbgorCitUaGlz
IHRlc3QgdmFsaWRhdGVzIHRoYXQgYWxsIG9mIHRoZSBkaWZmZXJlbnQgdHlwZXMgb2Ygc2NyaXB0
IGxvYWRzIGFyZSByZXBvcnRlZCB3aXRoIHRoZSBjb3JyZWN0IGluaXRpYXRvci4KKworCisKK1BB
U1MgL3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1zY3Jp
cHQmaWQ9MSBpcyBleHBlY3RlZCB0byBoYXZlIGluaXRpYXRvclR5cGUgc2NyaXB0IAorUEFTUyAv
dzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPXNjcmlwdCZp
ZD0yIGlzIGV4cGVjdGVkIHRvIGhhdmUgaW5pdGlhdG9yVHlwZSBzY3JpcHQgCitQQVNTIC93M2Mv
d2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9c2NyaXB0JmlkPTMg
aXMgZXhwZWN0ZWQgdG8gaGF2ZSBpbml0aWF0b3JUeXBlIHNjcmlwdCAKK1BBU1MgL3czYy93ZWJw
ZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1zY3JpcHQmaWQ9NCBpcyBl
eHBlY3RlZCB0byBoYXZlIGluaXRpYXRvclR5cGUgc2NyaXB0IAorUEFTUyAvdzNjL3dlYnBlcmYv
cmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPXNjcmlwdCZpZD01IGlzIGV4cGVj
dGVkIHRvIGhhdmUgaW5pdGlhdG9yVHlwZSBzY3JpcHQgCitQQVNTIC93M2Mvd2VicGVyZi9yZXNv
dXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9c2NyaXB0JmlkPTYgaXMgZXhwZWN0ZWQg
dG8gaGF2ZSBpbml0aWF0b3JUeXBlIHNjcmlwdCAKK1BBU1MgL3czYy93ZWJwZXJmL3Jlc291cmNl
cy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1zY3JpcHQmaWQ9NyBpcyBleHBlY3RlZCB0byBo
YXZlIGluaXRpYXRvclR5cGUgc2NyaXB0IAorUEFTUyAvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dl
bmVyYXRlX3Jlc291cmNlLnBocD90eXBlPXNjcmlwdCZpZD04IGlzIGV4cGVjdGVkIHRvIGhhdmUg
aW5pdGlhdG9yVHlwZSBzY3JpcHQgCitQQVNTIC93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJh
dGVfcmVzb3VyY2UucGhwP3R5cGU9c2NyaXB0JmlkPTkgaXMgZXhwZWN0ZWQgdG8gaGF2ZSBpbml0
aWF0b3JUeXBlIHNjcmlwdCAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93
M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2Vf
c2NyaXB0X3R5cGVzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1
Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9zY3JpcHRfdHlwZXMu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi41MDAzOWJiM2UyN2VhNjBiOTNiYTA4MTBiNjY4YzY1YmI3YWJmMDMx
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9z
dWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2Vfc2NyaXB0X3R5cGVz
Lmh0bWwKQEAgLTAsMCArMSw2NiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgY2hhcnNldD0idXRmLTgiIC8+Cis8dGl0bGU+UmVzb3VyY2UgVGltaW5nIHNjcmlwdCBp
bml0aWF0b3IgdHlwZXM8L3RpdGxlPgorPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJHb29nbGUi
IGhyZWY9Imh0dHA6Ly93d3cuZ29vZ2xlLmNvbS8iIC8+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9
Imh0dHA6Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRpbWluZy8jZG9tLXBlcmZvcm1hbmNlcmVz
b3VyY2V0aW1pbmctaW5pdGlhdG9ydHlwZSIvPgorPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3czYy93ZWJwZXJm
L3Jlc291cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK3Zh
ciBpZnJhbWU7CitmdW5jdGlvbiBzZXR1cF9pZnJhbWUoKSB7CisgICAgdmFyIGlmcmFtZV9jb250
ZW50ID0KKyAgICAgICAgJzxzY3JpcHQgc3JjPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVy
YXRlX3Jlc291cmNlLnBocD90eXBlPXNjcmlwdCZpZD0xIj48L3NjcicgKyAnaXB0PicgKworICAg
ICAgICAnPHNjcmlwdCBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3Vy
Y2UucGhwP3R5cGU9c2NyaXB0JmlkPTIiIGFzeW5jPjwvc2NyJyArICdpcHQ+JyArCisgICAgICAg
ICc8c2NyaXB0IHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5w
aHA/dHlwZT1zY3JpcHQmaWQ9MyIgYXN5bmM9ZmFsc2U+PC9zY3InICsgJ2lwdD4nICsKKyAgICAg
ICAgJzxzY3JpcHQgc3JjPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNl
LnBocD90eXBlPXNjcmlwdCZpZD00IiBkZWZlcj48L3NjcicgKyAnaXB0PicgKworICAgICAgICAn
PHNjcmlwdD4nICsKKyAgICAgICAgJ2RvY3VtZW50LndyaXRlKCI8c2NyaXB0IHNyYz1cXCIvdzNj
L3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPXNjcmlwdCZpZD01
XFwiPjwvc2NyIiArICJpcHQ+Iik7JyArCisgICAgICAgICd2YXIgczEgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJzY3JpcHQiKTsnICsKKyAgICAgICAgJ3MxLnNyYyA9ICIvdzNjL3dlYnBlcmYv
cmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPXNjcmlwdCZpZD02IjsnICsKKyAg
ICAgICAgJ2RvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF0uYXBwZW5kQ2hp
bGQoczEpOycgKworICAgICAgICAndmFyIHMyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2Ny
aXB0Iik7JyArCisgICAgICAgICdzMi5zcmMgPSAiL3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5l
cmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1zY3JpcHQmaWQ9NyI7JyArCisgICAgICAgICdzMi5hc3lu
YyA9IHRydWU7JyArCisgICAgICAgICdkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVh
ZCIpWzBdLmFwcGVuZENoaWxkKHMyKTsnICsKKyAgICAgICAgJ3ZhciBzMyA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInNjcmlwdCIpOycgKworICAgICAgICAnczMuc3JjID0gIi93M2Mvd2VicGVy
Zi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9c2NyaXB0JmlkPTgiOycgKwor
ICAgICAgICAnczMuYXN5bmMgPSBmYWxzZTsnICsKKyAgICAgICAgJ2RvY3VtZW50LmdldEVsZW1l
bnRzQnlUYWdOYW1lKCJoZWFkIilbMF0uYXBwZW5kQ2hpbGQoczMpOycgKworICAgICAgICAndmFy
IHM0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7JyArCisgICAgICAgICdzNC5z
cmMgPSAiL3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1z
Y3JpcHQmaWQ9OSI7JyArCisgICAgICAgICdzNC5kZWZlciA9IHRydWU7JyArCisgICAgICAgICdk
b2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVhZCIpWzBdLmFwcGVuZENoaWxkKHM0KTsn
ICsKKyAgICAgICAgJzwvc2NyJyArICdpcHQ+JzsKKyAgICBpZnJhbWUgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgnZnJhbWVDb250ZXh0Jyk7CisgICAgaWZyYW1lLmNvbnRlbnRXaW5kb3cuZG9j
dW1lbnQud3JpdGUoaWZyYW1lX2NvbnRlbnQpOworfQorZnVuY3Rpb24gb25sb2FkX3Rlc3QoKSB7
CisgICAgdmFyIGVudHJpZXMgPSBpZnJhbWUuY29udGVudFdpbmRvdy5wZXJmb3JtYW5jZS53ZWJr
aXRHZXRFbnRyaWVzKCk7CisKKyAgICB2YXIgZXhwZWN0ZWRfZW50cmllcyA9IHsKKyAgICAgICAg
Jy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9c2NyaXB0
JmlkPTEnOiAnc2NyaXB0JywKKyAgICAgICAgJy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJh
dGVfcmVzb3VyY2UucGhwP3R5cGU9c2NyaXB0JmlkPTInOiAnc2NyaXB0JywKKyAgICAgICAgJy93
M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9c2NyaXB0Jmlk
PTMnOiAnc2NyaXB0JywKKyAgICAgICAgJy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVf
cmVzb3VyY2UucGhwP3R5cGU9c2NyaXB0JmlkPTQnOiAnc2NyaXB0JywKKyAgICAgICAgJy93M2Mv
d2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9c2NyaXB0JmlkPTUn
OiAnc2NyaXB0JywKKyAgICAgICAgJy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVz
b3VyY2UucGhwP3R5cGU9c2NyaXB0JmlkPTYnOiAnc2NyaXB0JywKKyAgICAgICAgJy93M2Mvd2Vi
cGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9c2NyaXB0JmlkPTcnOiAn
c2NyaXB0JywKKyAgICAgICAgJy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3Vy
Y2UucGhwP3R5cGU9c2NyaXB0JmlkPTgnOiAnc2NyaXB0JywKKyAgICAgICAgJy93M2Mvd2VicGVy
Zi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9c2NyaXB0JmlkPTknOiAnc2Ny
aXB0JywKKyAgICB9OworCisgICAgdGVzdF9yZXNvdXJjZV9lbnRyaWVzKGVudHJpZXMsIGV4cGVj
dGVkX2VudHJpZXMpOworfQord2luZG93LnNldHVwX2lmcmFtZSA9IHNldHVwX2lmcmFtZTsKKzwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8aDE+RGVzY3JpcHRpb248L2gxPgorPHA+VGhpcyB0
ZXN0IHZhbGlkYXRlcyB0aGF0IGFsbCBvZiB0aGUgZGlmZmVyZW50IHR5cGVzIG9mIHNjcmlwdCBs
b2FkcyBhcmUgcmVwb3J0ZWQgd2l0aCB0aGUgY29ycmVjdCBpbml0aWF0b3IuPC9wCis8ZGl2IGlk
PSJsb2ciPjwvZGl2PgorPGlmcmFtZSBpZD0iZnJhbWVDb250ZXh0IiBvbmxvYWQ9Im9ubG9hZF90
ZXN0KCk7IiBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMvaW5qZWN0X3Jlc291cmNlX3Rlc3Qu
aHRtbCI+PC9pZnJhbWU+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucwppbmRleCA0MTZjMWNlOGIxM2IwYWJlZTE3NjY1
ZDdiNWUzZWNlM2M1MWNlZjM1Li4xMTJiNmE5OWU3N2JiNTIzZGVjN2M2ZTQ0ZTM2MTNkNDI4OWIy
MDc5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0
YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlv
bnMKQEAgLTM3MDgsMyArMzcwOCw2IEBAIGNyYnVnLmNvbS8xNTIwMDcgcGxhdGZvcm0vY2hyb21p
dW0vdmlydHVhbC9zb2Z0d2FyZWNvbXBvc2l0aW5nL2NvbG9yLW1hdGNoaW5nL2ltCiBjcmJ1Zy5j
b20vMTUyMDA3IHBsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvc29mdHdhcmVjb21wb3NpdGluZy9n
ZW9tZXRyeS9ib3VuZHMtaWdub3Jlcy1oaWRkZW4tZHluYW1pYy1uZWd6aW5kZXguaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQogY3JidWcuY29tLzE1MjAwNyBbIExpbnV4IE1hYyBdIHBsYXRmb3Jt
L2Nocm9taXVtL3ZpcnR1YWwvc29mdHdhcmVjb21wb3NpdGluZy9nZW9tZXRyeS9jbGlwcGluZy1m
b3JlZ3JvdW5kLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGNyYnVnLmNvbS8xNTIwMDcgcGxh
dGZvcm0vY2hyb21pdW0vdmlydHVhbC9zb2Z0d2FyZWNvbXBvc2l0aW5nL3Zpc2liaWxpdHkvdmlz
aWJpbGl0eS1pbWFnZS1sYXllcnMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQorCisjIEZhaWxz
IHVudGlsIHdlIGVuYWJsZSB0aGUgUmVzb3VyY2UgVGltaW5nIEFQSS4KK3dlYmtpdC5vcmcvYi82
MTEzOCBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nIFsg
U2tpcCBdCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>167880</attachid>
            <date>2012-10-09 17:36:07 -0700</date>
            <delta_ts>2012-10-15 17:21:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-84883-20121009173508.patch</filename>
            <type>text/plain</type>
            <size>208412</size>
            <attacher name="James Simonsen">simonjam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMwNTUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTYxODExMDFlY2UwNmVj
YWZiNGRiZWZkYTQ2N2UzNzhmODg5YjAwZi4uOWE3MzMxODA0OTdkZGM1Zjk5ZGI1NTcwNjViN2Q2
MmZhMGI4NTIwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2MyBAQAorMjAxMi0xMC0wOSAgSmFt
ZXMgU2ltb25zZW4gIDxzaW1vbmphbUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW1Jlc291cmNl
IFRpbWluZ10gRXhwb3NlIHRpbWluZyBpbmZvcm1hdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODQ4ODMKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBOb3RlOiBTdGFydCByZXZpZXdpbmcgaW4gdGhlIGxv
YWRlci8gZGlyZWN0b3J5LgorCisgICAgICAgIEFkZGVkIGEgTG9hZEluaXRpYXRvciBpbnRlcmZh
Y2UgdGhhdCBtdXN0IGJlIHBhc3NlZCBpbiB3aGVuZXZlciBhIHJlc291cmNlIGlzIHJlcXVlc3Rl
ZC4gSXQncworICAgICAgICB0eXBpY2FsbHkgdGhlIG5vZGUgdGhhdCBpbml0aWF0ZWQgdGhlIGxv
YWQuIFRoZSBMb2FkSW5pdGlhdG9yIHBhc3NlcyB0aGUgZG9jdW1lbnQgYW5kIG5hbWUgb2YKKyAg
ICAgICAgdGhlIGluaXRpYXRvci4KKworICAgICAgICBUaGUgYnVmZmVyIGlzIHBvcHVsYXRlZCBl
dmVuIGlmIHRoZSBsb2FkIHRpbWUgaW5mb3JtYXRpb24gaXMgbWlzc2luZy4gVGhpcyBhbGxvd3Mg
dGVzdGluZyBmcm9tCisgICAgICAgIERSVC4KKworICAgICAgICBUZXN0czogaHR0cC90ZXN0cy93
M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2Vf
YXR0cmlidXRlX29yZGVyLmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvdzNjL3dlYnBl
cmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX2R5bmFtaWNf
aW5zZXJ0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3Vi
bWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX2ZyYW1lX2luaXRpYXRv
cl90eXBlLmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlz
c2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX2luaXRpYXRvcl90eXBlcy5o
dG1sCisgICAgICAgICAgICAgICBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVz
b3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9yZWRpcmVjdHMuaHRtbAorICAgICAgICAg
ICAgICAgaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9o
dG1sL3Rlc3RfcmVzb3VyY2VfcmVwYXJlbnRpbmcuaHRtbAorICAgICAgICAgICAgICAgaHR0cC90
ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVz
b3VyY2Vfc2NyaXB0X3R5cGVzLmh0bWwKKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAg
ICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogVGFyZ2V0LnByaToKKyAgICAg
ICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3By
b2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAg
ICAqIGNzcy9DU1NGb250RmFjZVNyY1ZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU0Zv
bnRGYWNlU3JjVmFsdWU6OmNhY2hlZEZvbnQpOgorICAgICAgICAqIGNzcy9DU1NJbWFnZVNldFZh
bHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ltYWdlU2V0VmFsdWU6OmNhY2hlZEltYWdl
U2V0KToKKyAgICAgICAgKiBjc3MvQ1NTSW1hZ2VWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpDU1NJbWFnZVZhbHVlOjpjYWNoZWRJbWFnZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NJbWFn
ZVZhbHVlOjpzZXRJbml0aWF0b3IpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogY3Nz
L0NTU0ltYWdlVmFsdWUuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoQ1NTSW1hZ2VW
YWx1ZSk6CisgICAgICAgICogY3NzL0NTU0xvYWRJbml0aWF0b3IuY3BwOiBVc2VkIGJ5IGFsbCBD
U1MgaW5pdGlhdG9ycy4KKyAgICAgICAgKFdlYkNvcmU6OkNTU0xvYWRJbml0aWF0b3I6OkNTU0xv
YWRJbml0aWF0b3IpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTTG9hZEluaXRpYXRvcjo6aW5pdGlh
dG9yTmFtZSk6CisgICAgICAgICogY3NzL0NTU0xvYWRJbml0aWF0b3IuaDoKKyAgICAgICAgKFdU
Rik6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKENTU0xvYWRJbml0aWF0b3IpOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTTG9hZEluaXRpYXRvcjo6aW5pdGlhdG9yRG9jdW1lbnQpOgorICAg
ICAgICAqIGNzcy9TdHlsZVJ1bGVJbXBvcnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVS
dWxlSW1wb3J0OjpyZXF1ZXN0U3R5bGVTaGVldCk6CisgICAgICAgICogY3NzL1dlYktpdENTU1NW
R0RvY3VtZW50VmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViS2l0Q1NTU1ZHRG9jdW1l
bnRWYWx1ZTo6bG9hZCk6CisgICAgICAgICogY3NzL1dlYktpdENTU1NoYWRlclZhbHVlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OldlYktpdENTU1NoYWRlclZhbHVlOjpjYWNoZWRTaGFkZXIpOgor
ICAgICAgICAqIGRvbS9Ob2RlTG9hZEluaXRpYXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpO
b2RlTG9hZEluaXRpYXRvcjo6Tm9kZUxvYWRJbml0aWF0b3IpOgorICAgICAgICAoV2ViQ29yZTo6
Tm9kZUxvYWRJbml0aWF0b3I6OmluaXRpYXRvck5hbWUpOgorICAgICAgICAoV2ViQ29yZTo6Tm9k
ZUxvYWRJbml0aWF0b3I6OmluaXRpYXRvckRvY3VtZW50KToKKyAgICAgICAgKiBkb20vTm9kZUxv
YWRJbml0aWF0b3IuaDoKKyAgICAgICAgKFdURik6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAg
ICAgKE5vZGVMb2FkSW5pdGlhdG9yKToKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGVMb2FkSW5pdGlh
dG9yOjp+Tm9kZUxvYWRJbml0aWF0b3IpOgorICAgICAgICAqIGRvbS9Qcm9jZXNzaW5nSW5zdHJ1
Y3Rpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UHJvY2Vzc2luZ0luc3RydWN0aW9uOjpjaGVj
a1N0eWxlU2hlZXQpOgorICAgICAgICAqIGRvbS9TY3JpcHRFbGVtZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlNjcmlwdEVsZW1lbnQ6OnJlcXVlc3RTY3JpcHQpOgorICAgICAgICAqIGh0bWwv
SFRNTEJvZHlFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxCb2R5RWxlbWVudDo6
Y29sbGVjdFN0eWxlRm9yQXR0cmlidXRlKToKKyAgICAgICAgKiBodG1sL0hUTUxMaW5rRWxlbWVu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTGlua0VsZW1lbnQ6OnByb2Nlc3MpOgorICAg
ICAgICAqIGh0bWwvSFRNTExpbmtFbGVtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTGlu
a0VsZW1lbnQ6OmluaXRpYXRvck5vZGUpOgorICAgICAgICAqIGh0bWwvcGFyc2VyL0NTU1ByZWxv
YWRTY2FubmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ByZWxvYWRTY2FubmVyOjplbWl0
UnVsZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmVsb2FkU2Nhbm5lcjo6aW5pdGlhdG9yTmFt
ZSk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBodG1sL3BhcnNlci9DU1NQcmVsb2Fk
U2Nhbm5lci5oOgorICAgICAgICAoQ1NTUHJlbG9hZFNjYW5uZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTUHJlbG9hZFNjYW5uZXI6OmluaXRpYXRvckRvY3VtZW50KToKKyAgICAgICAgKiBodG1s
L3BhcnNlci9IVE1MUHJlbG9hZFNjYW5uZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UHJlbG9h
ZFRhc2s6OlByZWxvYWRUYXNrKToKKyAgICAgICAgKFdlYkNvcmU6OlByZWxvYWRUYXNrOjpwcmVs
b2FkKToKKyAgICAgICAgKFdlYkNvcmU6OlByZWxvYWRUYXNrOjppbml0aWF0b3JOYW1lKToKKyAg
ICAgICAgKFdlYkNvcmU6OlByZWxvYWRUYXNrOjppbml0aWF0b3JEb2N1bWVudCk6CisgICAgICAg
IChQcmVsb2FkVGFzayk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MUHJlbG9hZFNjYW5uZXI6OnBy
b2Nlc3NUb2tlbik6CisgICAgICAgICogaHRtbC90cmFjay9Mb2FkYWJsZVRleHRUcmFjay5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpMb2FkYWJsZVRleHRUcmFjazo6aW5pdGlhdG9yTm9kZSk6Cisg
ICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBodG1sL3RyYWNrL0xvYWRhYmxlVGV4dFRyYWNr
Lmg6CisgICAgICAgIChMb2FkYWJsZVRleHRUcmFja0NsaWVudCk6CisgICAgICAgIChMb2FkYWJs
ZVRleHRUcmFjayk6CisgICAgICAgICogbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudFRocmVhZGFibGVMb2FkZXI6OmxvYWRSZXNv
dXJjZVN5bmNocm9ub3VzbHkpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRUaHJlYWRhYmxl
TG9hZGVyOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRUaHJlYWRhYmxlTG9h
ZGVyOjpEb2N1bWVudFRocmVhZGFibGVMb2FkZXIpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1l
bnRUaHJlYWRhYmxlTG9hZGVyOjpub3RpZnlGaW5pc2hlZCk6CisgICAgICAgIChXZWJDb3JlOjpE
b2N1bWVudFRocmVhZGFibGVMb2FkZXI6OmxvYWRSZXF1ZXN0KToKKyAgICAgICAgKiBsb2FkZXIv
RG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAg
KERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcik6CisgICAgICAgICogbG9hZGVyL0ltYWdlTG9hZGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlTG9hZGVyOjp1cGRhdGVGcm9tRWxlbWVudCk6
CisgICAgICAgICogbG9hZGVyL0xpbmtMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGlu
a0xvYWRlcjo6bG9hZExpbmspOgorICAgICAgICAqIGxvYWRlci9MaW5rTG9hZGVyQ2xpZW50Lmg6
CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKExpbmtMb2FkZXJDbGllbnQpOgorICAgICAg
ICAqIGxvYWRlci9Mb2FkSW5pdGlhdG9yLmg6CisgICAgICAgIChXVEYpOgorICAgICAgICAoV2Vi
Q29yZSk6CisgICAgICAgIChXZWJDb3JlOjpMb2FkSW5pdGlhdG9yOjp+TG9hZEluaXRpYXRvcik6
CisgICAgICAgIChMb2FkSW5pdGlhdG9yKToKKyAgICAgICAgKiBsb2FkZXIvTG9hZEluaXRpYXRv
ckhhbmRsZS5jcHA6IFNhdmVzIExvYWRJbml0aWF0b3IgZGF0YSB1bnRpbCB0aGUgbG9hZCBjb21w
bGV0ZXMuCisgICAgICAgIChXZWJDb3JlOjpMb2FkSW5pdGlhdG9ySGFuZGxlOjpMb2FkSW5pdGlh
dG9ySGFuZGxlKToKKyAgICAgICAgKFdlYkNvcmU6OkxvYWRJbml0aWF0b3JIYW5kbGU6OmNsZWFy
KToKKyAgICAgICAgKiBsb2FkZXIvTG9hZEluaXRpYXRvckhhbmRsZS5oOgorICAgICAgICAoTG9h
ZEluaXRpYXRvckhhbmRsZSk6CisgICAgICAgIChXZWJDb3JlOjpMb2FkSW5pdGlhdG9ySGFuZGxl
Ojppbml0aWF0b3JOYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OkxvYWRJbml0aWF0b3JIYW5kbGU6
OmluaXRpYXRvckRvY3VtZW50KToKKyAgICAgICAgKiBsb2FkZXIvTWFpblJlc291cmNlTG9hZGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1haW5SZXNvdXJjZUxvYWRlcjo6ZGlkRmluaXNoTG9h
ZGluZyk6CisgICAgICAgICogbG9hZGVyL051bGxMb2FkSW5pdGlhdG9yLmNwcDogRGVmYXVsdCBM
b2FkSW5pdGl0b3IgdXNlZCBpZiBubyBpbmZvcm1hdGlvbiBpcyBhdmFpbGFibGUuCisgICAgICAg
IChXZWJDb3JlOjpOdWxsTG9hZEluaXRpYXRvcjo6aW5zdGFuY2UpOgorICAgICAgICAqIGxvYWRl
ci9OdWxsTG9hZEluaXRpYXRvci5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChOdWxs
TG9hZEluaXRpYXRvcik6CisgICAgICAgIChXZWJDb3JlOjpOdWxsTG9hZEluaXRpYXRvcjo6aW5p
dGlhdG9yTmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpOdWxsTG9hZEluaXRpYXRvcjo6aW5pdGlh
dG9yRG9jdW1lbnQpOgorICAgICAgICAqIGxvYWRlci9SZXNvdXJjZUxvYWROb3RpZmllci5jcHA6
IENvbGxlY3QgdGltaW5nIGluZm8gZm9yIHN1YnJlc291cmNlcyB3aGVuIFJFU09VUkNFX1RJTUlO
RyBpcyBlbmFibGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkTm90aWZpZXI6OmRp
c3BhdGNoV2lsbFNlbmRSZXF1ZXN0KToKKyAgICAgICAgKiBsb2FkZXIvUmVzb3VyY2VMb2FkZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkZXI6OndpbGxTZW5kUmVxdWVzdCk6
IEtlZXAgdHJhY2sgb2YgdGhlIG9yaWdpbmFsIHJlcXVlc3QgZXZlbiB3aGVuIGNhbGxlZCBieSBN
YWluUmVzb3VyY2VMb2FkZXIsIHdoaWNoIGJ5cGFzc2VzIGluaXQoKS4KKyAgICAgICAgKiBsb2Fk
ZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3VicmVzb3VyY2VM
b2FkZXI6OndpbGxTZW5kUmVxdWVzdCk6CisgICAgICAgIChXZWJDb3JlOjpTdWJyZXNvdXJjZUxv
YWRlcjo6ZGlkUmVjZWl2ZVJlc3BvbnNlKToKKyAgICAgICAgKFdlYkNvcmU6OlN1YnJlc291cmNl
TG9hZGVyOjpzZW5kRGF0YVRvUmVzb3VyY2UpOgorICAgICAgICAoV2ViQ29yZTo6U3VicmVzb3Vy
Y2VMb2FkZXI6OmRpZEZpbmlzaExvYWRpbmcpOiBQb3B1bGF0ZSBSZXNvdXJjZSBUaW1pbmcgYnVm
ZmVyIGhlcmUuCisgICAgICAgICogbG9hZGVyL1RleHRUcmFja0xvYWRlci5jcHA6CisgICAgICAg
IChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRUcmFja0xvYWRlcjo6Y3VlTG9hZFRp
bWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6VGV4dFRyYWNrTG9hZGVyOjpwcm9jZXNzTmV3
Q3VlRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpUZXh0VHJhY2tMb2FkZXI6OmRpZFJlY2VpdmVE
YXRhKToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRUcmFja0xvYWRlcjo6bm90aWZ5RmluaXNoZWQp
OgorICAgICAgICAoV2ViQ29yZTo6VGV4dFRyYWNrTG9hZGVyOjpsb2FkKToKKyAgICAgICAgKiBs
b2FkZXIvVGV4dFRyYWNrTG9hZGVyLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFRl
eHRUcmFja0xvYWRlckNsaWVudCk6CisgICAgICAgICogbG9hZGVyL1RocmVhZGFibGVMb2FkZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6VGhyZWFkYWJsZUxvYWRlcjo6Y3JlYXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6OlRocmVhZGFibGVMb2FkZXI6OmxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkp
OgorICAgICAgICAqIGxvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmg6CisgICAgICAgIChXZWJDb3Jl
KToKKyAgICAgICAgKFdlYkNvcmU6OlRocmVhZGFibGVMb2FkZXJPcHRpb25zOjpUaHJlYWRhYmxl
TG9hZGVyT3B0aW9ucyk6CisgICAgICAgIChUaHJlYWRhYmxlTG9hZGVyT3B0aW9ucyk6CisgICAg
ICAgIChUaHJlYWRhYmxlTG9hZGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlRocmVhZGFibGVMb2Fk
ZXI6OnJlZik6CisgICAgICAgIChXZWJDb3JlOjpUaHJlYWRhYmxlTG9hZGVyOjpkZXJlZik6Cisg
ICAgICAgIChXZWJDb3JlOjpUaHJlYWRhYmxlTG9hZGVyOjpUaHJlYWRhYmxlTG9hZGVyKToKKyAg
ICAgICAgKFdlYkNvcmU6OlRocmVhZGFibGVMb2FkZXI6On5UaHJlYWRhYmxlTG9hZGVyKToKKyAg
ICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwOgorICAgICAgICAoV2ViQ29y
ZSk6CisgICAgICAgIChXZWJDb3JlOjpjYWNoZWRSZXNvdXJjZVR5cGVUb1RhcmdldFR5cGUpOgor
ICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OmxvYWQpOgorICAgICAgICAoV2ViQ29y
ZTo6Q2FjaGVkUmVzb3VyY2U6OmRhdGEpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3Vy
Y2U6OmZpbmlzaCk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZTo6c3RvcExvYWRp
bmcpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OnNldERlY29kZWRTaXplKToK
KyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlOjpzZXRFbmNvZGVkU2l6ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZTo6ZGlkQWNjZXNzRGVjb2RlZERhdGEpOgorICAg
ICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OnNldFJlc291cmNlVG9SZXZhbGlkYXRlKToK
KyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlOjpjbGVhclJlc291cmNlVG9SZXZhbGlk
YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlOjptdXN0UmV2YWxpZGF0ZUR1
ZVRvQ2FjaGVIZWFkZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlOjppc1Nh
ZmVUb01ha2VQdXJnZWFibGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6Om1h
a2VQdXJnZWFibGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OnNldExvYWRQ
cmlvcml0eSk6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmg6CisgICAg
ICAgIChDYWNoZWRSZXNvdXJjZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZTo6
cmVzb3VyY2VSZXF1ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlOjp1cmwp
OgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OnNldEluaXRpYXRvcik6IFRyYWNr
IHRoaXMgZm9yIHRoZSBsaWZlIG9mIHRoZSBsb2FkLgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVk
UmVzb3VyY2U6OmluaXRpYXRvcik6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291
cmNlTG9hZGVyLmNwcDogUGFzcyB0aGUgaW5pdGlhdG9yIHRocm91Z2guCisgICAgICAgIChXZWJD
b3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdEltYWdlKToKKyAgICAgICAgKFdlYkNv
cmU6OkNhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0Rm9udCk6CisgICAgICAgIChXZWJDb3Jl
OjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFRleHRUcmFjayk6CisgICAgICAgIChXZWJD
b3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFNoYWRlcik6CisgICAgICAgIChXZWJD
b3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdENTU1N0eWxlU2hlZXQpOgorICAgICAg
ICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RVc2VyQ1NTU3R5bGVTaGVl
dCk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFNjcmlw
dCk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFhTTFN0
eWxlU2hlZXQpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVl
c3RTVkdEb2N1bWVudCk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6
cmVxdWVzdExpbmtSZXNvdXJjZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxv
YWRlcjo6cmVxdWVzdFJhd1Jlc291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291
cmNlTG9hZGVyOjpyZXF1ZXN0UmVzb3VyY2UpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVz
b3VyY2VMb2FkZXI6OnJldmFsaWRhdGVSZXNvdXJjZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWNo
ZWRSZXNvdXJjZUxvYWRlcjo6bG9hZFJlc291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hl
ZFJlc291cmNlTG9hZGVyOjpkZXRlcm1pbmVSZXZhbGlkYXRpb25Qb2xpY3kpOgorICAgICAgICAo
V2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cHJlbG9h
ZCk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6Y2hlY2tGb3JQZW5k
aW5nUHJlbG9hZHMpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJl
cXVlc3RQcmVsb2FkKToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2Fk
ZXIuaDoKKyAgICAgICAgKENhY2hlZFJlc291cmNlTG9hZGVyKToKKyAgICAgICAgKFBlbmRpbmdQ
cmVsb2FkKToKKyAgICAgICAgKiBsb2FkZXIvaWNvbi9JY29uTG9hZGVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6Okljb25Mb2FkZXI6OnN0YXJ0TG9hZGluZyk6CisgICAgICAgIChXZWJDb3JlOjpJ
Y29uTG9hZGVyOjppbml0aWF0b3JOYW1lKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAo
V2ViQ29yZTo6SWNvbkxvYWRlcjo6aW5pdGlhdG9yRG9jdW1lbnQpOgorICAgICAgICAqIGxvYWRl
ci9pY29uL0ljb25Mb2FkZXIuaDoKKyAgICAgICAgKEljb25Mb2FkZXIpOgorICAgICAgICAqIHBh
Z2UvUGVyZm9ybWFuY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OmFkZFJl
c291cmNlVGltaW5nKToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlLmg6CisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKFBlcmZvcm1hbmNlKToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1h
bmNlUmVzb3VyY2VUaW1pbmcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VSZXNv
dXJjZVRpbWluZzo6UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyk6CisgICAgICAgIChXZWJDb3Jl
OjpQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjppbml0aWF0b3JUeXBlKTogUmV0dXJucyB0aGUg
cHJvcGVyIHZhbHVlIG5vdy4KKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VU
aW1pbmc6OmZldGNoU3RhcnQpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VSZXNvdXJj
ZVRpbWluZzo6ZG9tYWluTG9va3VwU3RhcnQpOiBSZXR1cm5zIHByZXZpb3VzIHZhbHVlIGlmIG5v
dGhpbmcgaXMgYXZhaWxhYmxlLgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VSZXNvdXJj
ZVRpbWluZzo6ZG9tYWluTG9va3VwRW5kKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNl
UmVzb3VyY2VUaW1pbmc6OmNvbm5lY3RTdGFydCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3Jt
YW5jZVJlc291cmNlVGltaW5nOjpjb25uZWN0RW5kKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZv
cm1hbmNlUmVzb3VyY2VUaW1pbmc6OnNlY3VyZUNvbm5lY3Rpb25TdGFydCk6CisgICAgICAgIChX
ZWJDb3JlOjpQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpyZXF1ZXN0U3RhcnQpOgorICAgICAg
ICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6cmVzcG9uc2VTdGFydCk6Cisg
ICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpyZXNwb25zZUVuZCk6
CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjptb25vdG9uaWNU
aW1lVG9Eb2N1bWVudE1pbGxpc2Vjb25kcyk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5j
ZVJlc291cmNlVGltaW5nOjpyZXNvdXJjZVRpbWVUb0RvY3VtZW50TWlsbGlzZWNvbmRzKToKKyAg
ICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaDoKKyAgICAgICAgKFdlYkNv
cmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmNyZWF0ZSk6CisgICAgICAgIChQZXJmb3Jt
YW5jZVJlc291cmNlVGltaW5nKToKKyAgICAgICAgKiBzdmcvU1ZHRkVJbWFnZUVsZW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6U1ZHRkVJbWFnZUVsZW1lbnQ6OnJlcXVlc3RJbWFnZVJlc291
cmNlKToKKyAgICAgICAgKiBzdmcvU1ZHRm9udEZhY2VVcmlFbGVtZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlNWR0ZvbnRGYWNlVXJpRWxlbWVudDo6bG9hZEZvbnQpOgorICAgICAgICAqIHN2
Zy9TVkdVc2VFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1VzZUVsZW1lbnQ6OnN2
Z0F0dHJpYnV0ZUNoYW5nZWQpOgorICAgICAgICAqIHhtbC9YTUxIdHRwUmVxdWVzdC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpYTUxIdHRwUmVxdWVzdDo6Y3JlYXRlUmVxdWVzdCk6CisgICAgICAg
IChXZWJDb3JlOjpYTUxIdHRwUmVxdWVzdDo6Z2V0UmVzcG9uc2VIZWFkZXIpOgorICAgICAgICAo
V2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6OmluaXRpYXRvck5hbWUpOgorICAgICAgICAoV2ViQ29y
ZSk6CisgICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0Lmg6CisgICAgICAgIChYTUxIdHRwUmVx
dWVzdCk6CisgICAgICAgIChXZWJDb3JlOjpYTUxIdHRwUmVxdWVzdDo6aW5pdGlhdG9yRG9jdW1l
bnQpOgorICAgICAgICAqIHhtbC9YU0xJbXBvcnRSdWxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlhTTEltcG9ydFJ1bGU6On5YU0xJbXBvcnRSdWxlKToKKyAgICAgICAgKFdlYkNvcmU6OlhTTElt
cG9ydFJ1bGU6OnNldFhTTFN0eWxlU2hlZXQpOgorICAgICAgICAoV2ViQ29yZTo6WFNMSW1wb3J0
UnVsZTo6bG9hZFNoZWV0KToKKyAgICAgICAgKFdlYkNvcmU6OlhTTEltcG9ydFJ1bGU6OmluaXRp
YXRvck5hbWUpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogeG1sL1hTTEltcG9ydFJ1
bGUuaDoKKyAgICAgICAgKFhTTEltcG9ydFJ1bGUpOgorICAgICAgICAoV2ViQ29yZTo6WFNMSW1w
b3J0UnVsZTo6aW5pdGlhdG9yRG9jdW1lbnQpOgorCiAyMDEyLTEwLTA1ICBPamFuIFZhZmFpICA8
b2phbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgRGVwcmVjYXRlZCBmbGV4Ym94ZXMgc3VidHJh
Y3Qgc2Nyb2xsYmFyIHdpZHRoL2hlaWdodCB0d2ljZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCAy
ZDJjOTNlODEzNWI3N2Q1ZDBkNGZjNmE5N2RjMzAxYjU1ZDFhMjk5Li5jMWQwYjE2MTk4Y2YwYTI1
ODFlZjRjN2VkYzMwOWVjZDU0MWVmZDI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFr
ZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTAzMyw2
ICsxMDMzLDcgQEAgU0VUKFdlYkNvcmVfU09VUkNFUwogICAgIGNzcy9DU1NJbmhlcml0ZWRWYWx1
ZS5jcHAKICAgICBjc3MvQ1NTSW5pdGlhbFZhbHVlLmNwcAogICAgIGNzcy9DU1NMaW5lQm94Q29u
dGFpblZhbHVlLmNwcAorICAgIGNzcy9DU1NMb2FkSW5pdGlhdG9yLmNwcAogICAgIGNzcy9DU1NN
ZWRpYVJ1bGUuY3BwCiAgICAgY3NzL0NTU09NVXRpbHMuY3BwCiAgICAgY3NzL0NTU1BhZ2VSdWxl
LmNwcApAQCAtMTE4NCw2ICsxMTg1LDcgQEAgU0VUKFdlYkNvcmVfU09VUkNFUwogICAgIGRvbS9O
b2RlRmlsdGVyQ29uZGl0aW9uLmNwcAogICAgIGRvbS9Ob2RlRmlsdGVyLmNwcAogICAgIGRvbS9O
b2RlSXRlcmF0b3IuY3BwCisgICAgZG9tL05vZGVMb2FkSW5pdGlhdG9yLmNwcAogICAgIGRvbS9O
b2RlUmVuZGVyaW5nQ29udGV4dC5jcHAKICAgICBkb20vTm90YXRpb24uY3BwCiAgICAgZG9tL092
ZXJmbG93RXZlbnQuY3BwCkBAIC0xNjI4LDggKzE2MzAsMTAgQEAgU0VUKFdlYkNvcmVfU09VUkNF
UwogICAgIGxvYWRlci9IaXN0b3J5Q29udHJvbGxlci5jcHAKICAgICBsb2FkZXIvSW1hZ2VMb2Fk
ZXIuY3BwCiAgICAgbG9hZGVyL0xpbmtMb2FkZXIuY3BwCisgICAgbG9hZGVyL0xvYWRJbml0aWF0
b3JIYW5kbGUuY3BwCiAgICAgbG9hZGVyL01haW5SZXNvdXJjZUxvYWRlci5jcHAKICAgICBsb2Fk
ZXIvTmF2aWdhdGlvbkFjdGlvbi5jcHAKKyAgICBsb2FkZXIvTnVsbExvYWRJbml0aWF0b3IuY3Bw
CiAgICAgbG9hZGVyL05ldHNjYXBlUGx1Z0luU3RyZWFtTG9hZGVyLmNwcAogICAgIGxvYWRlci9Q
aW5nTG9hZGVyLmNwcAogICAgIGxvYWRlci9QbGFjZWhvbGRlckRvY3VtZW50LmNwcApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3Jl
L0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggMWU5N2I1N2E3MzI1ZmVlMDU1ZTYzZjBkMDUwNWRi
MjI5ZjUyMjIxMy4uOTEwNmE3MWE0ODI5ZDhhMWQ5OTM2MjI3ODMyOWQwYTIwM2VhYjRiOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC0yNTMzLDYgKzI1MzMsOCBAQCB3ZWJjb3Jl
X3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbml0aWFsVmFsdWUuaCBcCiAJ
U291cmNlL1dlYkNvcmUvY3NzL0NTU0xpbmVCb3hDb250YWluVmFsdWUuY3BwIFwKIAlTb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTTGluZUJveENvbnRhaW5WYWx1ZS5oIFwKKwlTb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTTG9hZEluaXRpYXRvci5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NMb2FkSW5p
dGlhdG9yLmggXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NNZWRpYVJ1bGUuY3BwIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTTWVkaWFSdWxlLmggXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NP
TVV0aWxzLmNwcCBcCkBAIC0yODY0LDYgKzI4NjYsOCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAog
CVNvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlSXRlcmF0b3IuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9k
b20vTm9kZUl0ZXJhdG9yLmggXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlTGlzdC5oIFwKKwlT
b3VyY2UvV2ViQ29yZS9kb20vTm9kZUxvYWRJbml0aWF0b3IuY3BwIFwKKwlTb3VyY2UvV2ViQ29y
ZS9kb20vTm9kZUxvYWRJbml0aWF0b3IuaCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL05vZGVSYXJl
RGF0YS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vTm9kZVJlbmRlcmluZ0NvbnRleHQuaCBcCiAJ
U291cmNlL1dlYkNvcmUvZG9tL05vZGVSZW5kZXJTdHlsZS5oIFwKQEAgLTM4ODUsMTIgKzM4ODks
MTcgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9sb2FkZXIvTGlua0xv
YWRlci5oIFwKIAlTb3VyY2UvV2ViQ29yZS9sb2FkZXIvTGlua0xvYWRlci5jcHAgXAogCVNvdXJj
ZS9XZWJDb3JlL2xvYWRlci9MaW5rTG9hZGVyQ2xpZW50LmggXAorCVNvdXJjZS9XZWJDb3JlL2xv
YWRlci9Mb2FkSW5pdGlhdG9yLmggXAorCVNvdXJjZS9XZWJDb3JlL2xvYWRlci9Mb2FkSW5pdGlh
dG9ySGFuZGxlLmNwcCBcCisJU291cmNlL1dlYkNvcmUvbG9hZGVyL0xvYWRJbml0aWF0b3JIYW5k
bGUuaCBcCiAJU291cmNlL1dlYkNvcmUvbG9hZGVyL01haW5SZXNvdXJjZUxvYWRlci5jcHAgXAog
CVNvdXJjZS9XZWJDb3JlL2xvYWRlci9NYWluUmVzb3VyY2VMb2FkZXIuaCBcCiAJU291cmNlL1dl
YkNvcmUvbG9hZGVyL05hdmlnYXRpb25BY3Rpb24uY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvTmF2aWdhdGlvbkFjdGlvbi5oIFwKIAlTb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmV0c2NhcGVQ
bHVnSW5TdHJlYW1Mb2FkZXIuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmV0c2NhcGVQ
bHVnSW5TdHJlYW1Mb2FkZXIuaCBcCisJU291cmNlL1dlYkNvcmUvbG9hZGVyL051bGxMb2FkSW5p
dGlhdG9yLmNwcCBcCisJU291cmNlL1dlYkNvcmUvbG9hZGVyL051bGxMb2FkSW5pdGlhdG9yLmgg
XAogCVNvdXJjZS9XZWJDb3JlL2xvYWRlci9QaW5nTG9hZGVyLmNwcCBcCiAJU291cmNlL1dlYkNv
cmUvbG9hZGVyL1BpbmdMb2FkZXIuaCBcCiAJU291cmNlL1dlYkNvcmUvbG9hZGVyL1BsYWNlaG9s
ZGVyRG9jdW1lbnQuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkg
Yi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCmluZGV4IDA3OGI2OWFhMjczNDQ2MDAwNDRiOTAy
Y2NhNTVkMzFmN2VlZjEyNTUuLjg2ZThlZmMyNTMxODRkNTZkNDg5MDFjMTM0MjkyMzQ5MmFhYzA5
M2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKKysrIGIvU291cmNlL1dl
YkNvcmUvVGFyZ2V0LnByaQpAQCAtMjc4LDYgKzI3OCw3IEBAIFNPVVJDRVMgKz0gXAogICAgIGNz
cy9DU1NJbmhlcml0ZWRWYWx1ZS5jcHAgXAogICAgIGNzcy9DU1NJbml0aWFsVmFsdWUuY3BwIFwK
ICAgICBjc3MvQ1NTTGluZUJveENvbnRhaW5WYWx1ZS5jcHAgXAorICAgIGNzcy9DU1NMb2FkSW5p
dGlhdG9yLmNwcCBcCiAgICAgY3NzL0NTU01lZGlhUnVsZS5jcHAgXAogICAgIGNzcy9DU1NPTVV0
aWxzLmNwcCBcCiAgICAgY3NzL0NTU1BhZ2VSdWxlLmNwcCBcCkBAIC00MjUsNiArNDI2LDcgQEAg
U09VUkNFUyArPSBcCiAgICAgZG9tL05vZGVGaWx0ZXJDb25kaXRpb24uY3BwIFwKICAgICBkb20v
Tm9kZUZpbHRlci5jcHAgXAogICAgIGRvbS9Ob2RlSXRlcmF0b3IuY3BwIFwKKyAgICBkb20vTm9k
ZUxvYWRJbml0aWF0b3IuY3BwIFwKICAgICBkb20vTm9kZVJlbmRlcmluZ0NvbnRleHQuY3BwIFwK
ICAgICBkb20vTm90YXRpb24uY3BwIFwKICAgICBkb20vU3RhdGljSGFzaFNldE5vZGVMaXN0LmNw
cCBcCkBAIC04MzEsOSArODMzLDExIEBAIFNPVVJDRVMgKz0gXAogICAgIGxvYWRlci9pY29uL0lj
b25Mb2FkZXIuY3BwIFwKICAgICBsb2FkZXIvSW1hZ2VMb2FkZXIuY3BwIFwKICAgICBsb2FkZXIv
TGlua0xvYWRlci5jcHAgXAorICAgIGxvYWRlci9Mb2FkSW5pdGlhdG9ySGFuZGxlLmNwcCBcCiAg
ICAgbG9hZGVyL01haW5SZXNvdXJjZUxvYWRlci5jcHAgXAogICAgIGxvYWRlci9OYXZpZ2F0aW9u
QWN0aW9uLmNwcCBcCiAgICAgbG9hZGVyL05ldHNjYXBlUGx1Z0luU3RyZWFtTG9hZGVyLmNwcCBc
CisgICAgbG9hZGVyL051bGxMb2FkSW5pdGlhdG9yLmNwcCBcCiAgICAgbG9hZGVyL1BpbmdMb2Fk
ZXIuY3BwIFwKICAgICBsb2FkZXIvUGxhY2Vob2xkZXJEb2N1bWVudC5jcHAgXAogICAgIGxvYWRl
ci9Qb2xpY3lDYWxsYmFjay5jcHAgXApAQCAtMTQ0Myw2ICsxNDQ3LDcgQEAgSEVBREVSUyArPSBc
CiAgICAgY3NzL0NTU0ltcG9ydFJ1bGUuaCBcCiAgICAgY3NzL0NTU0luaGVyaXRlZFZhbHVlLmgg
XAogICAgIGNzcy9DU1NJbml0aWFsVmFsdWUuaCBcCisgICAgY3NzL0NTU0xvYWRJbml0aWF0b3Iu
aCBcCiAgICAgY3NzL0NTU01lZGlhUnVsZS5oIFwKICAgICBjc3MvQ1NTT01VdGlscy5oIFwKICAg
ICBjc3MvQ1NTUGFnZVJ1bGUuaCBcCkBAIC0xNTg0LDYgKzE1ODksNyBAQCBIRUFERVJTICs9IFwK
ICAgICBkb20vTm9kZUZpbHRlci5oIFwKICAgICBkb20vTm9kZS5oIFwKICAgICBkb20vTm9kZUl0
ZXJhdG9yLmggXAorICAgIGRvbS9Ob2RlTG9hZEluaXRpYXRvci5oIFwKICAgICBkb20vTm9kZVJl
bmRlcmluZ0NvbnRleHQuaCBcCiAgICAgZG9tL05vdGF0aW9uLmggXAogICAgIGRvbS9TdGF0aWNI
YXNoU2V0Tm9kZUxpc3QuaCBcCkBAIC0xOTUzLDkgKzE5NTksMTIgQEAgSEVBREVSUyArPSBcCiAg
ICAgbG9hZGVyL0ltYWdlTG9hZGVyLmggXAogICAgIGxvYWRlci9MaW5rTG9hZGVyLmggXAogICAg
IGxvYWRlci9MaW5rTG9hZGVyQ2xpZW50LmggXAorICAgIGxvYWRlci9Mb2FkSW5pdGlhdG9yLmgg
XAorICAgIGxvYWRlci9Mb2FkSW5pdGlhdG9ySGFuZGxlLmggXAogICAgIGxvYWRlci9NYWluUmVz
b3VyY2VMb2FkZXIuaCBcCiAgICAgbG9hZGVyL05hdmlnYXRpb25BY3Rpb24uaCBcCiAgICAgbG9h
ZGVyL05ldHNjYXBlUGx1Z0luU3RyZWFtTG9hZGVyLmggXAorICAgIGxvYWRlci9OdWxsTG9hZElu
aXRpYXRvci5oIFwKICAgICBsb2FkZXIvUGxhY2Vob2xkZXJEb2N1bWVudC5oIFwKICAgICBsb2Fk
ZXIvUHJlcmVuZGVyZXIuaCBcCiAgICAgbG9hZGVyL1ByZXJlbmRlcmVyQ2xpZW50LmggXApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5neXBpCmluZGV4IGQxMjFiN2QxMGIwOGJiODY0MGVkOTIyNjhhMGM0MzRjY2YxMjRlYjMu
LjI5YmI3N2FjZjQ1MDI1ZmNkNjFhNzE4OGRjM2UwZmJlMjY2Y2E1YTEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5
cGkKQEAgLTI1NDMsNiArMjU0Myw4IEBACiAgICAgICAgICAgICAnY3NzL0NTU0luaXRpYWxWYWx1
ZS5jcHAnLAogICAgICAgICAgICAgJ2Nzcy9DU1NJbml0aWFsVmFsdWUuaCcsCiAgICAgICAgICAg
ICAnY3NzL0NTU0xpbmVCb3hDb250YWluVmFsdWUuY3BwJywKKyAgICAgICAgICAgICdjc3MvQ1NT
TG9hZEluaXRpYXRvci5jcHAnLAorICAgICAgICAgICAgJ2Nzcy9DU1NMb2FkSW5pdGlhdG9yLmgn
LAogICAgICAgICAgICAgJ2Nzcy9DU1NNZWRpYVJ1bGUuY3BwJywKICAgICAgICAgICAgICdjc3Mv
Q1NTTWVkaWFSdWxlLmgnLAogICAgICAgICAgICAgJ2Nzcy9DU1NPTVV0aWxzLmNwcCcsCkBAIC0y
OTc5LDExICsyOTgxLDE2IEBACiAgICAgICAgICAgICAnbG9hZGVyL0xpbmtMb2FkZXIuY3BwJywK
ICAgICAgICAgICAgICdsb2FkZXIvTGlua0xvYWRlci5oJywKICAgICAgICAgICAgICdsb2FkZXIv
TGlua0xvYWRlckNsaWVudC5oJywKKyAgICAgICAgICAgICdsb2FkZXIvTG9hZEluaXRpYXRvci5o
JywKKyAgICAgICAgICAgICdsb2FkZXIvTG9hZEluaXRpYXRvckhhbmRsZS5jcHAnLAorICAgICAg
ICAgICAgJ2xvYWRlci9Mb2FkSW5pdGlhdG9ySGFuZGxlLmgnLAogICAgICAgICAgICAgJ2xvYWRl
ci9NYWluUmVzb3VyY2VMb2FkZXIuY3BwJywKICAgICAgICAgICAgICdsb2FkZXIvTWFpblJlc291
cmNlTG9hZGVyLmgnLAogICAgICAgICAgICAgJ2xvYWRlci9OYXZpZ2F0aW9uQWN0aW9uLmNwcCcs
CiAgICAgICAgICAgICAnbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3BwJywKICAgICAgICAg
ICAgICdsb2FkZXIvTmV0c2NhcGVQbHVnSW5TdHJlYW1Mb2FkZXIuY3BwJywKKyAgICAgICAgICAg
ICdsb2FkZXIvTnVsbExvYWRJbml0aWF0b3IuY3BwJywKKyAgICAgICAgICAgICdsb2FkZXIvTnVs
bExvYWRJbml0aWF0b3IuaCcsCiAgICAgICAgICAgICAnbG9hZGVyL1BpbmdMb2FkZXIuY3BwJywK
ICAgICAgICAgICAgICdsb2FkZXIvUGluZ0xvYWRlci5oJywKICAgICAgICAgICAgICdsb2FkZXIv
UGxhY2Vob2xkZXJEb2N1bWVudC5jcHAnLApAQCAtMzg5Miw2ICszODk5LDggQEAKICAgICAgICAg
ICAgICdkb20vTm9kZUZpbHRlckNvbmRpdGlvbi5oJywKICAgICAgICAgICAgICdkb20vTm9kZUl0
ZXJhdG9yLmNwcCcsCiAgICAgICAgICAgICAnZG9tL05vZGVJdGVyYXRvci5oJywKKyAgICAgICAg
ICAgICdkb20vTm9kZUxvYWRJbml0aWF0b3IuY3BwJywKKyAgICAgICAgICAgICdkb20vTm9kZUxv
YWRJbml0aWF0b3IuaCcsCiAgICAgICAgICAgICAnZG9tL05vZGVSYXJlRGF0YS5oJywKICAgICAg
ICAgICAgICdkb20vTm9kZVJlbmRlcmluZ0NvbnRleHQuY3BwJywKICAgICAgICAgICAgICdkb20v
Tm9kZVJlbmRlcmluZ0NvbnRleHQuaCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9q
L1dlYkNvcmUudmNwcm9qCmluZGV4IGVmMmFhZjA1MTk5ZDFhMTlhMmQ0MzU4ZWE4ZjhkOWVlMzZi
YWU5OTIuLjA0ZDcyYzZhYWFiMWY3YjMyZDU5OGQ3OGEyMGY4ZDgyOWFmM2I2NjIgMTAwNzU1Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC0yNzYxMSw2ICsy
NzYxMSwxOCBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRo
PSIuLlxsb2FkZXJcTG9hZEluaXRpYXRvci5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxl
CisJCQkJUmVsYXRpdmVQYXRoPSIuLlxsb2FkZXJcTG9hZEluaXRpYXRvckhhbmRsZS5jcHAiCisJ
CQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGxvYWRlclxM
b2FkSW5pdGlhdG9ySGFuZGxlLmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXGxvYWRlclxNYWluUmVzb3VyY2VMb2FkZXIuY3BwIgogCQkJCT4KIAkJ
CTwvRmlsZT4KQEAgLTI3NjQzLDYgKzI3NjU1LDE0IEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJ
PEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGxvYWRlclxOdWxsTG9hZEluaXRpYXRvci5jcHAi
CisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGxvYWRl
clxOdWxsTG9hZEluaXRpYXRvci5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJ
UmVsYXRpdmVQYXRoPSIuLlxsb2FkZXJcUGluZ0xvYWRlci5jcHAiCiAJCQkJPgogCQkJPC9GaWxl
PgpAQCAtMzYyMTEsNiArMzYyMzEsMTQgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQor
CQkJCVJlbGF0aXZlUGF0aD0iLi5cY3NzXENTU0xvYWRJbml0aWF0b3IuY3BwIgorCQkJCT4KKwkJ
CTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxjc3NcQ1NTTG9hZEluaXRp
YXRvci5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIu
Llxjc3NcQ1NTTWVkaWFSdWxlLmNwcCIKIAkJCQk+CiAJCQkJPEZpbGVDb25maWd1cmF0aW9uCkBA
IC01Mjg2Myw2ICs1Mjg5MSwxNCBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJ
UmVsYXRpdmVQYXRoPSIuLlxkb21cTm9kZUxvYWRJbml0aWF0b3IuY3BwIgorCQkJCT4KKwkJCTwv
RmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cTm9kZUxvYWRJbml0aWF0
b3IuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5c
ZG9tXE5vZGVSZW5kZXJpbmdDb250ZXh0LmNwcCIKIAkJCQk+CiAJCQkJPEZpbGVDb25maWd1cmF0
aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKaW5kZXggY2I3YmQ2NTEwZThjNjIzMzgzNjFmNTE5NTc3ZGU0MTQyOTIwYTRlZC4uYTQ4NWY1
MTkwNTYzMGVmNWNhYTk2ODkwOTkwZTkwNzQxZGExZDcwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjk1OSw3ICsyOTU5LDE2
IEBACiAJCTg2QkUzNDAxMTUwNThDQjIwMENFMEZEOCAvKiBQZXJmb3JtYW5jZUVudHJ5LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NkJFMzNGQjE1MDU4
Q0IyMDBDRTBGRDggLyogUGVyZm9ybWFuY2VFbnRyeS5oICovOyB9OwogCQk4NkJFMzQwMzE1MDU4
Q0IyMDBDRTBGRDggLyogUGVyZm9ybWFuY2VFbnRyeUxpc3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODZCRTMzRkQxNTA1OENCMjAwQ0UwRkQ4IC8q
IFBlcmZvcm1hbmNlRW50cnlMaXN0LmNwcCAqLzsgfTsKIAkJODZCRTM0MDQxNTA1OENCMjAwQ0Uw
RkQ4IC8qIFBlcmZvcm1hbmNlRW50cnlMaXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA4NkJFMzNGRTE1MDU4Q0IyMDBDRTBGRDggLyogUGVyZm9ybWFu
Y2VFbnRyeUxpc3QuaCAqLzsgfTsKKwkJODZDMEM3NEQxNjI0RTI1RjAwNTcwQTNFIC8qIE5vZGVM
b2FkSW5pdGlhdG9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDg2QzBDNzRCMTYyNEUyNUYwMDU3MEEzRSAvKiBOb2RlTG9hZEluaXRpYXRvci5jcHAg
Ki87IH07CisJCTg2QzBDNzRFMTYyNEUyNUYwMDU3MEEzRSAvKiBOb2RlTG9hZEluaXRpYXRvci5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODZDMEM3NEMx
NjI0RTI1RjAwNTcwQTNFIC8qIE5vZGVMb2FkSW5pdGlhdG9yLmggKi87IH07CiAJCTg2RDk4MkY3
MTI1QzE1NDAwMEFEOUUzRCAvKiBEb2N1bWVudFRpbWluZy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODZEOTgyRjYxMjVDMTU0MDAwQUQ5RTNEIC8qIERv
Y3VtZW50VGltaW5nLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJODZGRURGMDAxNjFCOUU1RjAwMkEyNDE5IC8qIExvYWRJbml0aWF0b3IuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2ODZDOEZGMTYxQjk4
MUUwMEMyRjBBRSAvKiBMb2FkSW5pdGlhdG9yLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJODZGRURGMDExNjFCOUU1RjAwMkEyNDE5IC8qIExvYWRJ
bml0aWF0b3JIYW5kbGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gODY4NkM5MDAxNjFCOTgxRTAwQzJGMEFFIC8qIExvYWRJbml0aWF0b3JIYW5kbGUu
Y3BwICovOyB9OworCQk4NkZFREYwMjE2MUI5RTVGMDAyQTI0MTkgLyogTG9hZEluaXRpYXRvckhh
bmRsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODY4
NkM5MDExNjFCOTgxRTAwQzJGMEFFIC8qIExvYWRJbml0aWF0b3JIYW5kbGUuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk4NkZFREYwMzE2MUI5RTY5
MDAyQTI0MTkgLyogTnVsbExvYWRJbml0aWF0b3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODY4NkM5MDIxNjFCOTgxRTAwQzJGMEFFIC8qIE51bGxM
b2FkSW5pdGlhdG9yLmNwcCAqLzsgfTsKKwkJODZGRURGMDQxNjFCOUU2OTAwMkEyNDE5IC8qIE51
bGxMb2FkSW5pdGlhdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA4Njg2QzkwMzE2MUI5ODFFMDBDMkYwQUUgLyogTnVsbExvYWRJbml0aWF0b3IuaCAq
LzsgfTsKKwkJODZGRURGMDUxNjFCOUU4RDAwMkEyNDE5IC8qIENTU0xvYWRJbml0aWF0b3IuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODY4NkM4RkQx
NjFCOTdGNjAwQzJGMEFFIC8qIENTU0xvYWRJbml0aWF0b3IuY3BwICovOyB9OworCQk4NkZFREYw
NjE2MUI5RThEMDAyQTI0MTkgLyogQ1NTTG9hZEluaXRpYXRvci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODY4NkM4RkUxNjFCOTdGNjAwQzJGMEFFIC8q
IENTU0xvYWRJbml0aWF0b3IuaCAqLzsgfTsKIAkJODZGRjg4NjExNURFM0QwNzAwQkQ2QjI4IC8q
IFJlbmRlclRleHRUcmFja0N1ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA4NkZGODg1RTE1REUzQjgyMDBCRDZCMjggLyogUmVuZGVyVGV4dFRyYWNr
Q3VlLmNwcCAqLzsgfTsKIAkJODZGRjg4NjIxNURFM0QwNzAwQkQ2QjI4IC8qIFJlbmRlclRleHRU
cmFja0N1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
ODZGRjg4NUYxNURFM0I4MjAwQkQ2QjI4IC8qIFJlbmRlclRleHRUcmFja0N1ZS5oICovOyB9Owog
CQk4OTBBRTBFMTEyNTZBMDc5MDBGNTk2OEMgLyogRGlyZWN0b3J5UmVhZGVyQmFzZS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODkwQUUwRTAxMjU2QTA3
OTAwRjU5NjhDIC8qIERpcmVjdG9yeVJlYWRlckJhc2UuaCAqLzsgfTsKQEAgLTEwMTI4LDEyICsx
MDEzNywyMSBAQAogCQk4NjUxMkVEQjE1NEEyQUVFMDBBOTA0MjYgLyogUGVyZm9ybWFuY2VSZXNv
dXJjZVRpbWluZy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQZXJm
b3JtYW5jZVJlc291cmNlVGltaW5nLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
ODY1MTJFREMxNTRBMkFFRjAwQTkwNDI2IC8qIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWlu
Zy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NjUxMkVERDE1NEEyQUVGMDBBOTA0
MjYgLyogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRo
ID0gUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTg2ODZDOEZEMTYxQjk3RjYwMEMyRjBBRSAvKiBDU1NMb2FkSW5pdGlhdG9yLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENTU0xvYWRJbml0aWF0b3IuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4Njg2QzhGRTE2MUI5N0Y2MDBDMkYwQUUg
LyogQ1NTTG9hZEluaXRpYXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBD
U1NMb2FkSW5pdGlhdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg2ODZDOEZG
MTYxQjk4MUUwMEMyRjBBRSAvKiBMb2FkSW5pdGlhdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IExvYWRJbml0aWF0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJODY4NkM5MDAxNjFCOTgxRTAwQzJGMEFFIC8qIExvYWRJbml0aWF0b3JIYW5kbGUuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTG9hZEluaXRpYXRvckhhbmRsZS5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg2ODZDOTAxMTYxQjk4MUUwMEMyRjBB
RSAvKiBMb2FkSW5pdGlhdG9ySGFuZGxlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IExvYWRJbml0aWF0b3JIYW5kbGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
ODY4NkM5MDIxNjFCOTgxRTAwQzJGMEFFIC8qIE51bGxMb2FkSW5pdGlhdG9yLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE51bGxMb2FkSW5pdGlhdG9yLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODY4NkM5MDMxNjFCOTgxRTAwQzJGMEFFIC8qIE51
bGxMb2FkSW5pdGlhdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE51bGxM
b2FkSW5pdGlhdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg2QkUzM0ZBMTUw
NThDQjIwMENFMEZEOCAvKiBQZXJmb3JtYW5jZUVudHJ5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFBlcmZvcm1hbmNlRW50cnkuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk4NkJFMzNGQjE1MDU4Q0IyMDBDRTBGRDggLyogUGVyZm9ybWFuY2VFbnRy
eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQZXJmb3JtYW5jZUVudHJ5Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg2QkUzM0ZDMTUwNThDQjIwMENFMEZEOCAv
KiBQZXJmb3JtYW5jZUVudHJ5LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBQZXJmb3JtYW5j
ZUVudHJ5LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODZCRTMzRkQxNTA1OENC
MjAwQ0UwRkQ4IC8qIFBlcmZvcm1hbmNlRW50cnlMaXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFBlcmZvcm1hbmNlRW50cnlMaXN0LmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJODZCRTMzRkUxNTA1OENCMjAwQ0UwRkQ4IC8qIFBlcmZvcm1hbmNl
RW50cnlMaXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBlcmZvcm1hbmNl
RW50cnlMaXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg2QkUzM0ZGMTUwNThD
QjIwMENFMEZEOCAvKiBQZXJmb3JtYW5jZUVudHJ5TGlzdC5pZGwgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBw
YXRoID0gUGVyZm9ybWFuY2VFbnRyeUxpc3QuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk4NkMwQzc0QjE2MjRFMjVGMDA1NzBBM0UgLyogTm9kZUxvYWRJbml0aWF0b3IuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTm9kZUxvYWRJbml0aWF0b3IuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NkMwQzc0QzE2MjRFMjVGMDA1NzBBM0Ug
LyogTm9kZUxvYWRJbml0aWF0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
Tm9kZUxvYWRJbml0aWF0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODZEOTgy
RjYxMjVDMTU0MDAwQUQ5RTNEIC8qIERvY3VtZW50VGltaW5nLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IERvY3VtZW50VGltaW5nLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTg2RkY4ODVFMTVERTNCODIwMEJENkIyOCAvKiBSZW5kZXJUZXh0VHJhY2tDdWUuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVuZGVyVGV4dFRyYWNrQ3Vl
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODZGRjg4NUYxNURFM0I4MjAwQkQ2
QjI4IC8qIFJlbmRlclRleHRUcmFja0N1ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBSZW5kZXJUZXh0VHJhY2tDdWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTIwNjE5LDYgKzIwNjM3LDkgQEAKIAkJCQk5OENFNDMyNTEyOUUwMEJEMDA1ODIxREMgLyogTGlu
a0xvYWRlci5jcHAgKi8sCiAJCQkJOThDRTQzMjkxMjlFMDBFNTAwNTgyMURDIC8qIExpbmtMb2Fk
ZXIuaCAqLywKIAkJCQk5ODQyNjRFRjEyRDUyODBBMDAwRDg4QTQgLyogTGlua0xvYWRlckNsaWVu
dC5oICovLAorCQkJCTg2ODZDOEZGMTYxQjk4MUUwMEMyRjBBRSAvKiBMb2FkSW5pdGlhdG9yLmgg
Ki8sCisJCQkJODY4NkM5MDAxNjFCOTgxRTAwQzJGMEFFIC8qIExvYWRJbml0aWF0b3JIYW5kbGUu
Y3BwICovLAorCQkJCTg2ODZDOTAxMTYxQjk4MUUwMEMyRjBBRSAvKiBMb2FkSW5pdGlhdG9ySGFu
ZGxlLmggKi8sCiAJCQkJOTNFMjI3REMwQUY1ODlBRDAwRDQ4MzI0IC8qIE1haW5SZXNvdXJjZUxv
YWRlci5jcHAgKi8sCiAJCQkJNjU2RDM3MjkwQURCQTVERTAwQTQ1NTREIC8qIE1haW5SZXNvdXJj
ZUxvYWRlci5oICovLAogCQkJCTkzQ0NGMDVGMEFGNkNBNzYwMDAxOEU4OSAvKiBOYXZpZ2F0aW9u
QWN0aW9uLmNwcCAqLywKQEAgLTIwNjI3LDYgKzIwNjQ4LDggQEAKIAkJCQk5NzlGNDNEMjEwNzVF
NDRBMDAwMEY4M0IgLyogTmF2aWdhdGlvblNjaGVkdWxlci5oICovLAogCQkJCTkzRTIyN0REMEFG
NTg5QUQwMEQ0ODMyNCAvKiBOZXRzY2FwZVBsdWdJblN0cmVhbUxvYWRlci5jcHAgKi8sCiAJCQkJ
NjU2RDM3MkIwQURCQTVERTAwQTQ1NTREIC8qIE5ldHNjYXBlUGx1Z0luU3RyZWFtTG9hZGVyLmgg
Ki8sCisJCQkJODY4NkM5MDIxNjFCOTgxRTAwQzJGMEFFIC8qIE51bGxMb2FkSW5pdGlhdG9yLmNw
cCAqLywKKwkJCQk4Njg2QzkwMzE2MUI5ODFFMDBDMkYwQUUgLyogTnVsbExvYWRJbml0aWF0b3Iu
aCAqLywKIAkJCQlEMEZGMkE1QjExRjhDNDVBMDA3RTc0RTAgLyogUGluZ0xvYWRlci5jcHAgKi8s
CiAJCQkJRDBGRjJBNUMxMUY4QzQ1QTAwN0U3NEUwIC8qIFBpbmdMb2FkZXIuaCAqLywKIAkJCQkz
NzdDNENERTEwMTRFOUY2MDBCOUFFNDIgLyogUGxhY2Vob2xkZXJEb2N1bWVudC5jcHAgKi8sCkBA
IC0yMTExNiw2ICsyMTEzOSw4IEBACiAJCQkJQTgwRTZDREUwQTE5ODlDQTAwN0ZCOEM1IC8qIENT
U0luaXRpYWxWYWx1ZS5oICovLAogCQkJCUJDNzcyRTE1MTMzMTYyQzIwMDFFQzlDRSAvKiBDU1NM
aW5lQm94Q29udGFpblZhbHVlLmNwcCAqLywKIAkJCQlCQzc3MkUxMjEzMzE2MjBDMDAxRUM5Q0Ug
LyogQ1NTTGluZUJveENvbnRhaW5WYWx1ZS5oICovLAorCQkJCTg2ODZDOEZEMTYxQjk3RjYwMEMy
RjBBRSAvKiBDU1NMb2FkSW5pdGlhdG9yLmNwcCAqLywKKwkJCQk4Njg2QzhGRTE2MUI5N0Y2MDBD
MkYwQUUgLyogQ1NTTG9hZEluaXRpYXRvci5oICovLAogCQkJCUE4MEU2Q0QyMEExOTg5Q0EwMDdG
QjhDNSAvKiBDU1NNZWRpYVJ1bGUuY3BwICovLAogCQkJCUE4MEU2Q0Q5MEExOTg5Q0EwMDdGQjhD
NSAvKiBDU1NNZWRpYVJ1bGUuaCAqLywKIAkJCQk4NUM1NkNBMjBBQTg5QzEwMDBEOTU3NTUgLyog
Q1NTTWVkaWFSdWxlLmlkbCAqLywKQEAgLTIxNzg4LDYgKzIxODEzLDggQEAKIAkJCQkxQTc1MEQ4
NzBBOTBFMzk0MDAwRkYyMTUgLyogTm9kZUl0ZXJhdG9yLmlkbCAqLywKIAkJCQlBODE4NzIxMDA5
NzdEM0MwMDA1ODI2RDkgLyogTm9kZUxpc3QuaCAqLywKIAkJCQk4NUFDQTlGQTBBOUI2MzEwMDA2
NzFFOTAgLyogTm9kZUxpc3QuaWRsICovLAorCQkJCTg2QzBDNzRCMTYyNEUyNUYwMDU3MEEzRSAv
KiBOb2RlTG9hZEluaXRpYXRvci5jcHAgKi8sCisJCQkJODZDMEM3NEMxNjI0RTI1RjAwNTcwQTNF
IC8qIE5vZGVMb2FkSW5pdGlhdG9yLmggKi8sCiAJCQkJNjMxODlBRTIwRTgzQTMzMzAwMDEyRTQx
IC8qIE5vZGVSYXJlRGF0YS5oICovLAogCQkJCUE3RjVEOTREMTM4NEYwMkQwMEEyOUE4NyAvKiBO
b2RlUmVuZGVyaW5nQ29udGV4dC5jcHAgKi8sCiAJCQkJQTdGNUQ5NEUxMzg0RjAyRDAwQTI5QTg3
IC8qIE5vZGVSZW5kZXJpbmdDb250ZXh0LmggKi8sCkBAIC0yNTUzNyw2ICsyNTU2NCwxMSBAQAog
CQkJCTkzMUNCRDBEMTYxQTQ0RTkwMEU0Qzg3NCAvKiBTY3JvbGxpbmdTdGF0ZU5vZGUuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTkzMUNCRDBGMTYxQTQ0RTkwMEU0Qzg3NCAvKiBTY3JvbGxpbmdTdGF0
ZVNjcm9sbGluZ05vZGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzMUNCRDExMTYxQTQ0RTkwMEU0
Qzg3NCAvKiBTY3JvbGxpbmdTdGF0ZVRyZWUuaCBpbiBIZWFkZXJzICovLAorCQkJCTg2RkVERjAw
MTYxQjlFNUYwMDJBMjQxOSAvKiBMb2FkSW5pdGlhdG9yLmggaW4gSGVhZGVycyAqLywKKwkJCQk4
NkZFREYwMjE2MUI5RTVGMDAyQTI0MTkgLyogTG9hZEluaXRpYXRvckhhbmRsZS5oIGluIEhlYWRl
cnMgKi8sCisJCQkJODZGRURGMDQxNjFCOUU2OTAwMkEyNDE5IC8qIE51bGxMb2FkSW5pdGlhdG9y
LmggaW4gSGVhZGVycyAqLywKKwkJCQk4NkZFREYwNjE2MUI5RThEMDAyQTI0MTkgLyogQ1NTTG9h
ZEluaXRpYXRvci5oIGluIEhlYWRlcnMgKi8sCisJCQkJODZDMEM3NEUxNjI0RTI1RjAwNTcwQTNF
IC8qIE5vZGVMb2FkSW5pdGlhdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5
Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTI4NjM0LDYgKzI4NjY2
LDEwIEBACiAJCQkJOTMxQ0JEMEUxNjFBNDRFOTAwRTRDODc0IC8qIFNjcm9sbGluZ1N0YXRlU2Ny
b2xsaW5nTm9kZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5MzFDQkQxMDE2MUE0NEU5MDBFNEM4
NzQgLyogU2Nyb2xsaW5nU3RhdGVUcmVlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzMUNCRDEz
MTYxQTQ0RjgwMEU0Qzg3NCAvKiBTY3JvbGxpbmdTdGF0ZU5vZGVNYWMubW0gaW4gU291cmNlcyAq
LywKKwkJCQk4NkZFREYwMTE2MUI5RTVGMDAyQTI0MTkgLyogTG9hZEluaXRpYXRvckhhbmRsZS5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQk4NkZFREYwMzE2MUI5RTY5MDAyQTI0MTkgLyogTnVsbExv
YWRJbml0aWF0b3IuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJODZGRURGMDUxNjFCOUU4RDAwMkEy
NDE5IC8qIENTU0xvYWRJbml0aWF0b3IuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJODZDMEM3NEQx
NjI0RTI1RjAwNTcwQTNFIC8qIE5vZGVMb2FkSW5pdGlhdG9yLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlU3JjVmFsdWUuY3BwIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlU3JjVmFsdWUuY3BwCmluZGV4IDJhMWMwNDc4
N2Q2YTBjNGM4NzEzODA0NGEyYzE3NTU4OTg3MTBjZmIuLjA3NzJmNDA5NTkxZGZmYzg4NWJlN2Zi
NDhjY2VmMDRhNGM3MmE3YjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250
RmFjZVNyY1ZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VTcmNW
YWx1ZS5jcHAKQEAgLTI1LDYgKzI1LDcgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1
ZGUgIkNTU0ZvbnRGYWNlU3JjVmFsdWUuaCIKKyNpbmNsdWRlICJDU1NMb2FkSW5pdGlhdG9yLmgi
CiAjaW5jbHVkZSAiQ2FjaGVkRm9udC5oIgogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlTG9hZGVy
LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKQEAgLTk2LDcgKzk3LDcgQEAgQ2FjaGVkRm9udCog
Q1NTRm9udEZhY2VTcmNWYWx1ZTo6Y2FjaGVkRm9udChEb2N1bWVudCogZG9jdW1lbnQpCiB7CiAg
ICAgaWYgKCFtX2NhY2hlZEZvbnQpIHsKICAgICAgICAgUmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3Qo
ZG9jdW1lbnQtPmNvbXBsZXRlVVJMKG1fcmVzb3VyY2UpKTsKLSAgICAgICAgbV9jYWNoZWRGb250
ID0gZG9jdW1lbnQtPmNhY2hlZFJlc291cmNlTG9hZGVyKCktPnJlcXVlc3RGb250KHJlcXVlc3Qp
OworICAgICAgICBtX2NhY2hlZEZvbnQgPSBkb2N1bWVudC0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIo
KS0+cmVxdWVzdEZvbnQocmVxdWVzdCwgQ1NTTG9hZEluaXRpYXRvcihkb2N1bWVudCkpOwogICAg
IH0KICAgICByZXR1cm4gbV9jYWNoZWRGb250LmdldCgpOwogfQpAQCAtMTEzLDQgKzExNCwzIEBA
IHZvaWQgQ1NTRm9udEZhY2VTcmNWYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1l
bW9yeU9iamVjdEluZm8qIG1lbW9yeU9iCiB9CiAKIH0KLQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0ltYWdlU2V0VmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0lt
YWdlU2V0VmFsdWUuY3BwCmluZGV4IDZlMDJhMjBmOTVhYzNmMTRmNDYxYTFjNTEwMGI0YWQ2MmJk
OWVmMGEuLjE5ZmNiZTU1YjdhZjhhOGYyZDM3ZjE2NmExMThjMTk3MDNiN2EzYjIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZVNldFZhbHVlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTSW1hZ2VTZXRWYWx1ZS5jcHAKQEAgLTI5LDYgKzI5LDcgQEAKICNpZiBF
TkFCTEUoQ1NTX0lNQUdFX1NFVCkKIAogI2luY2x1ZGUgIkNTU0ltYWdlVmFsdWUuaCIKKyNpbmNs
dWRlICJDU1NMb2FkSW5pdGlhdG9yLmgiCiAjaW5jbHVkZSAiQ1NTUHJpbWl0aXZlVmFsdWUuaCIK
ICNpbmNsdWRlICJDYWNoZWRJbWFnZS5oIgogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlTG9hZGVy
LmgiCkBAIC0xMDksNyArMTEwLDcgQEAgU3R5bGVDYWNoZWRJbWFnZVNldCogQ1NTSW1hZ2VTZXRW
YWx1ZTo6Y2FjaGVkSW1hZ2VTZXQoQ2FjaGVkUmVzb3VyY2VMb2FkZXIqIGxvYWQKICAgICAgICAg
Ly8gYW5kIGFueSBDU1MgdHJhbnNmb3Jtcy4gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTgxNjk4CiAgICAgICAgIEltYWdlV2l0aFNjYWxlIGltYWdlID0gYmVzdEltYWdl
Rm9yU2NhbGVGYWN0b3IoKTsKICAgICAgICAgUmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QobG9hZGVy
LT5kb2N1bWVudCgpLT5jb21wbGV0ZVVSTChpbWFnZS5pbWFnZVVSTCkpOwotICAgICAgICBpZiAo
Q2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkSW1hZ2U+IGNhY2hlZEltYWdlID0gbG9hZGVyLT5y
ZXF1ZXN0SW1hZ2UocmVxdWVzdCkpIHsKKyAgICAgICAgaWYgKENhY2hlZFJlc291cmNlSGFuZGxl
PENhY2hlZEltYWdlPiBjYWNoZWRJbWFnZSA9IGxvYWRlci0+cmVxdWVzdEltYWdlKHJlcXVlc3Qs
IENTU0xvYWRJbml0aWF0b3IoZG9jdW1lbnQpKSkgewogICAgICAgICAgICAgbV9pbWFnZVNldCA9
IFN0eWxlQ2FjaGVkSW1hZ2VTZXQ6OmNyZWF0ZShjYWNoZWRJbWFnZS5nZXQoKSwgaW1hZ2Uuc2Nh
bGVGYWN0b3IsIHRoaXMpOwogICAgICAgICAgICAgbV9hY2Nlc3NlZEJlc3RGaXRJbWFnZSA9IHRy
dWU7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZVZh
bHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZVZhbHVlLmNwcAppbmRleCA3MjZj
MmMwNDM0NzFlOTY3YjkyYmM5ZmE3NjRjMzIzOWYyYjdhNTQ2Li5mN2I4NmZkZTFhNGNhYzU5Yjgz
ODAyYmE3NjdmM2U1ODI2NmEwODAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
SW1hZ2VWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlVmFsdWUuY3Bw
CkBAIC0yMiw2ICsyMiw3IEBACiAjaW5jbHVkZSAiQ1NTSW1hZ2VWYWx1ZS5oIgogCiAjaW5jbHVk
ZSAiQ1NTQ3Vyc29ySW1hZ2VWYWx1ZS5oIgorI2luY2x1ZGUgIkNTU0xvYWRJbml0aWF0b3IuaCIK
ICNpbmNsdWRlICJDU1NQYXJzZXIuaCIKICNpbmNsdWRlICJDU1NWYWx1ZUtleXdvcmRzLmgiCiAj
aW5jbHVkZSAiQ2FjaGVkSW1hZ2UuaCIKQEAgLTgzLDggKzg0LDEwIEBAIFN0eWxlQ2FjaGVkSW1h
Z2UqIENTU0ltYWdlVmFsdWU6OmNhY2hlZEltYWdlKENhY2hlZFJlc291cmNlTG9hZGVyKiBsb2Fk
ZXIsIGNvbnN0CiAgICAgICAgIG1fYWNjZXNzZWRJbWFnZSA9IHRydWU7CiAKICAgICAgICAgUmVz
b3VyY2VSZXF1ZXN0IHJlcXVlc3QobG9hZGVyLT5kb2N1bWVudCgpLT5jb21wbGV0ZVVSTCh1cmwp
KTsKLSAgICAgICAgaWYgKENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZEltYWdlPiBjYWNoZWRJ
bWFnZSA9IGxvYWRlci0+cmVxdWVzdEltYWdlKHJlcXVlc3QpKQorICAgICAgICBpZiAoQ2FjaGVk
UmVzb3VyY2VIYW5kbGU8Q2FjaGVkSW1hZ2U+IGNhY2hlZEltYWdlID0gbG9hZGVyLT5yZXF1ZXN0
SW1hZ2UocmVxdWVzdCwgbV9pbml0aWF0b3IuaW5pdGlhdG9yRG9jdW1lbnQoKSA/IG1faW5pdGlh
dG9yIDogQ1NTTG9hZEluaXRpYXRvcihsb2FkZXItPmRvY3VtZW50KCkpKSkgewogICAgICAgICAg
ICAgbV9pbWFnZSA9IFN0eWxlQ2FjaGVkSW1hZ2U6OmNyZWF0ZShjYWNoZWRJbWFnZS5nZXQoKSk7
CisgICAgICAgICAgICBtX2luaXRpYXRvci5jbGVhcigpOworICAgICAgICB9CiAgICAgfQogCiAg
ICAgcmV0dXJuIChtX2ltYWdlICYmIG1faW1hZ2UtPmlzQ2FjaGVkSW1hZ2UoKSkgPyBzdGF0aWNf
Y2FzdDxTdHlsZUNhY2hlZEltYWdlKj4obV9pbWFnZS5nZXQoKSkgOiAwOwpAQCAtMTMzLDQgKzEz
Niw5IEBAIHZvaWQgQ1NTSW1hZ2VWYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1l
bW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluCiAgICAgLy8gTm8gbmVlZCB0byByZXBvcnQg
bV9pbWFnZSBhcyBpdCBpcyBjb3VudGVkIGFzIHBhcnQgb2YgUmVuZGVyQXJlbmEuCiB9CiAKK3Zv
aWQgQ1NTSW1hZ2VWYWx1ZTo6c2V0SW5pdGlhdG9yKGNvbnN0IExvYWRJbml0aWF0b3ImIGluaXRp
YXRvcikKK3sKKyAgICBtX2luaXRpYXRvciA9IGluaXRpYXRvcjsKK30KKwogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlVmFsdWUu
aCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZVZhbHVlLmgKaW5kZXggOGM4MmYyYzY3ZGI0
MzNhNzUxNzMzYzk2NzFkZTliOTE1MWU3YTk4Yy4uNDE5YTJhODJkZjgwNGFkYWQyNmYyNGU5MjI1
ZWU5N2Q2YjcyYmFmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlVmFs
dWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VWYWx1ZS5oCkBAIC0yMiwxMSAr
MjIsMTMgQEAKICNkZWZpbmUgQ1NTSW1hZ2VWYWx1ZV9oCiAKICNpbmNsdWRlICJDU1NWYWx1ZS5o
IgorI2luY2x1ZGUgIkxvYWRJbml0aWF0b3JIYW5kbGUuaCIKICNpbmNsdWRlIDx3dGYvUmVmUHRy
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQ2FjaGVkUmVzb3VyY2VMb2FkZXI7
CitjbGFzcyBMb2FkSW5pdGlhdG9yOwogY2xhc3MgU3R5bGVDYWNoZWRJbWFnZTsKIGNsYXNzIFN0
eWxlSW1hZ2U7CiAKQEAgLTUwLDYgKzUyLDggQEAgcHVibGljOgogCiAgICAgdm9pZCByZXBvcnRE
ZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyopIGNvbnN0OwogCisgICAgdm9p
ZCBzZXRJbml0aWF0b3IoY29uc3QgTG9hZEluaXRpYXRvciYpOworCiBwcm90ZWN0ZWQ6CiAgICAg
Q1NTSW1hZ2VWYWx1ZShDbGFzc1R5cGUsIGNvbnN0IFN0cmluZyYgdXJsKTsKIApAQCAtNjQsNiAr
NjgsNyBAQCBwcml2YXRlOgogICAgIFN0cmluZyBtX3VybDsKICAgICBSZWZQdHI8U3R5bGVJbWFn
ZT4gbV9pbWFnZTsKICAgICBib29sIG1fYWNjZXNzZWRJbWFnZTsKKyAgICBMb2FkSW5pdGlhdG9y
SGFuZGxlIG1faW5pdGlhdG9yOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0xvYWRJbml0aWF0b3IuY3BwIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0xvYWRJbml0aWF0b3IuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ5OTgzMWY0ZTIxZTU1
NjAxYmY3OTUyYWM4YWYwZjk3YWVmNzI5N2IKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTTG9hZEluaXRpYXRvci5jcHAKQEAgLTAsMCArMSw1NiBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmli
dXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUg
bmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
CisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJj
b25maWcuaCIKKyNpbmNsdWRlICJDU1NMb2FkSW5pdGlhdG9yLmgiCisKKyNpbmNsdWRlICJEb2N1
bWVudC5oIgorCisjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgorI2luY2x1ZGUgPHd0Zi90
ZXh0L0F0b21pY1N0cmluZy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0NTU0xvYWRJbml0
aWF0b3I6OkNTU0xvYWRJbml0aWF0b3IoRG9jdW1lbnQqIGRvY3VtZW50KQorICAgIDogbV9kb2N1
bWVudChkb2N1bWVudCkKK3sKK30KKworQ1NTTG9hZEluaXRpYXRvcjo6fkNTU0xvYWRJbml0aWF0
b3IoKQoreworfQorCitjb25zdCBXVEY6OkF0b21pY1N0cmluZyYgQ1NTTG9hZEluaXRpYXRvcjo6
aW5pdGlhdG9yTmFtZSgpIGNvbnN0Cit7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNT
dHJpbmcsIG5hbWUsICgiY3NzIiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCkp
OworICAgIHJldHVybiBuYW1lOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTG9hZEluaXRpYXRvci5oIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0xvYWRJbml0aWF0b3IuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZDY2MTlkMTgyYzA1YzBhZGZh
MWIwNTFlMzUxYzM3OTQ4YjYyMDQyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0xvYWRJbml0aWF0b3IuaApAQCAtMCwwICsxLDU5IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4K
KyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBv
ZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
CisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBDU1NMb2FkSW5p
dGlhdG9yX2gKKyNkZWZpbmUgQ1NTTG9hZEluaXRpYXRvcl9oCisKKyNpbmNsdWRlICJMb2FkSW5p
dGlhdG9yLmgiCisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorCituYW1lc3BhY2UgV1RGIHsKK2Ns
YXNzIEF0b21pY1N0cmluZzsKK30KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBEb2N1
bWVudDsKKworY2xhc3MgQ1NTTG9hZEluaXRpYXRvciA6IHB1YmxpYyBMb2FkSW5pdGlhdG9yIHsK
K3B1YmxpYzoKKyAgICBDU1NMb2FkSW5pdGlhdG9yKERvY3VtZW50Kik7CisgICAgdmlydHVhbCB+
Q1NTTG9hZEluaXRpYXRvcigpOworCisgICAgdmlydHVhbCBjb25zdCBXVEY6OkF0b21pY1N0cmlu
ZyYgaW5pdGlhdG9yTmFtZSgpIGNvbnN0OworICAgIHZpcnR1YWwgRG9jdW1lbnQqIGluaXRpYXRv
ckRvY3VtZW50KCkgY29uc3QgeyByZXR1cm4gbV9kb2N1bWVudC5nZXQoKTsgfQorCitwcml2YXRl
OgorICAgIFJlZlB0cjxEb2N1bWVudD4gbV9kb2N1bWVudDsKK307CisKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKKworI2VuZGlmIC8vIENTU0xvYWRJbml0aWF0b3JfaApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZUltcG9ydC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
U3R5bGVSdWxlSW1wb3J0LmNwcAppbmRleCAyNmYyOWU4MmY4MGE5ZmY1MWRhY2U1NzBkOGY0N2U5
MzhhZTVkZTBhLi45M2ZjZTI1YzJkNDZmYjQxY2I4MmQxZTE3YTYzOTNhMzU4MDA3MjdhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlSW1wb3J0LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlSW1wb3J0LmNwcApAQCAtMjIsNiArMjIsNyBAQAogI2lu
Y2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlN0eWxlUnVsZUltcG9ydC5oIgogCisjaW5jbHVk
ZSAiQ1NTTG9hZEluaXRpYXRvci5oIgogI2luY2x1ZGUgIkNTU1N0eWxlU2hlZXQuaCIKICNpbmNs
dWRlICJDYWNoZWRDU1NTdHlsZVNoZWV0LmgiCiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VMb2Fk
ZXIuaCIKQEAgLTExNyw5ICsxMTgsOSBAQCB2b2lkIFN0eWxlUnVsZUltcG9ydDo6cmVxdWVzdFN0
eWxlU2hlZXQoKQogCiAgICAgUmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QoYWJzVVJMKTsKICAgICBp
ZiAobV9wYXJlbnRTdHlsZVNoZWV0LT5pc1VzZXJTdHlsZVNoZWV0KCkpCi0gICAgICAgIG1fY2Fj
aGVkU2hlZXQgPSBjYWNoZWRSZXNvdXJjZUxvYWRlci0+cmVxdWVzdFVzZXJDU1NTdHlsZVNoZWV0
KHJlcXVlc3QsIG1fcGFyZW50U3R5bGVTaGVldC0+Y2hhcnNldCgpKTsKKyAgICAgICAgbV9jYWNo
ZWRTaGVldCA9IGNhY2hlZFJlc291cmNlTG9hZGVyLT5yZXF1ZXN0VXNlckNTU1N0eWxlU2hlZXQo
cmVxdWVzdCwgbV9wYXJlbnRTdHlsZVNoZWV0LT5jaGFyc2V0KCksIENTU0xvYWRJbml0aWF0b3Io
ZG9jdW1lbnQpKTsKICAgICBlbHNlCi0gICAgICAgIG1fY2FjaGVkU2hlZXQgPSBjYWNoZWRSZXNv
dXJjZUxvYWRlci0+cmVxdWVzdENTU1N0eWxlU2hlZXQocmVxdWVzdCwgbV9wYXJlbnRTdHlsZVNo
ZWV0LT5jaGFyc2V0KCkpOworICAgICAgICBtX2NhY2hlZFNoZWV0ID0gY2FjaGVkUmVzb3VyY2VM
b2FkZXItPnJlcXVlc3RDU1NTdHlsZVNoZWV0KHJlcXVlc3QsIG1fcGFyZW50U3R5bGVTaGVldC0+
Y2hhcnNldCgpLCBDU1NMb2FkSW5pdGlhdG9yKGRvY3VtZW50KSk7CiAgICAgaWYgKG1fY2FjaGVk
U2hlZXQpIHsKICAgICAgICAgLy8gaWYgdGhlIGltcG9ydCBydWxlIGlzIGlzc3VlZCBkeW5hbWlj
YWxseSwgdGhlIHNoZWV0IG1heSBiZQogICAgICAgICAvLyByZW1vdmVkIGZyb20gdGhlIHBlbmRp
bmcgc2hlZXQgY291bnQsIHNvIGxldCB0aGUgZG9jIGtub3cKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9XZWJLaXRDU1NTVkdEb2N1bWVudFZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9XZWJLaXRDU1NTVkdEb2N1bWVudFZhbHVlLmNwcAppbmRleCA0NGM4ODA4OTQ3MGU4Mzlk
OTc0ZWJhMDFjYzA2ZjdkOTIwYzE4MTIyLi5hZjI4ZmY5N2M5OGI5MTAxMzUxOTBmZWUyODc1ZmY3
NzE3ZWI5NzNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTU1ZHRG9j
dW1lbnRWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1NWR0RvY3Vt
ZW50VmFsdWUuY3BwCkBAIC0yNyw2ICsyNyw3IEBACiAjaWYgRU5BQkxFKFNWRykKICNpbmNsdWRl
ICJXZWJLaXRDU1NTVkdEb2N1bWVudFZhbHVlLmgiCiAKKyNpbmNsdWRlICJDU1NMb2FkSW5pdGlh
dG9yLmgiCiAjaW5jbHVkZSAiQ1NTUGFyc2VyLmgiCiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VM
b2FkZXIuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgpAQCAtNTMsNyArNTQsNyBAQCBDYWNoZWRT
VkdEb2N1bWVudCogV2ViS2l0Q1NTU1ZHRG9jdW1lbnRWYWx1ZTo6bG9hZChDYWNoZWRSZXNvdXJj
ZUxvYWRlciogbG9hZGVyKQogICAgICAgICBtX2xvYWRSZXF1ZXN0ZWQgPSB0cnVlOwogCiAgICAg
ICAgIFJlc291cmNlUmVxdWVzdCByZXF1ZXN0KGxvYWRlci0+ZG9jdW1lbnQoKS0+Y29tcGxldGVV
UkwobV91cmwpKTsKLSAgICAgICAgbV9kb2N1bWVudCA9IGxvYWRlci0+cmVxdWVzdFNWR0RvY3Vt
ZW50KHJlcXVlc3QpOworICAgICAgICBtX2RvY3VtZW50ID0gbG9hZGVyLT5yZXF1ZXN0U1ZHRG9j
dW1lbnQocmVxdWVzdCwgQ1NTTG9hZEluaXRpYXRvcihsb2FkZXItPmRvY3VtZW50KCkpKTsKICAg
ICB9CiAKICAgICByZXR1cm4gbV9kb2N1bWVudC5nZXQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9XZWJLaXRDU1NTaGFkZXJWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
V2ViS2l0Q1NTU2hhZGVyVmFsdWUuY3BwCmluZGV4IDZmOTM3M2UwZjBmYTJkZjhiZjQ5NDI4MWI1
YzJkODc3MjlhYmI5NjEuLmUyMjAyZGVkODlmZDNlZjczOTc0Njk3NjlhOWZmODExOTUzMjE3M2Ug
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NTaGFkZXJWYWx1ZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1NoYWRlclZhbHVlLmNwcApAQCAtMzIs
OCArMzIsOSBAQAogI2lmIEVOQUJMRShDU1NfU0hBREVSUykKICNpbmNsdWRlICJXZWJLaXRDU1NT
aGFkZXJWYWx1ZS5oIgogCi0jaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaCIKKyNpbmNs
dWRlICJDU1NMb2FkSW5pdGlhdG9yLmgiCiAjaW5jbHVkZSAiQ1NTUGFyc2VyLmgiCisjaW5jbHVk
ZSAiQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1
ZGUgIlN0eWxlQ2FjaGVkU2hhZGVyLmgiCiAjaW5jbHVkZSAiU3R5bGVQZW5kaW5nU2hhZGVyLmgi
CkBAIC02MCw3ICs2MSw3IEBAIFN0eWxlQ2FjaGVkU2hhZGVyKiBXZWJLaXRDU1NTaGFkZXJWYWx1
ZTo6Y2FjaGVkU2hhZGVyKENhY2hlZFJlc291cmNlTG9hZGVyKiBsb2FkCiAgICAgICAgIG1fYWNj
ZXNzZWRTaGFkZXIgPSB0cnVlOwogCiAgICAgICAgIFJlc291cmNlUmVxdWVzdCByZXF1ZXN0KGxv
YWRlci0+ZG9jdW1lbnQoKS0+Y29tcGxldGVVUkwobV91cmwpKTsKLSAgICAgICAgaWYgKENhY2hl
ZFJlc291cmNlSGFuZGxlPENhY2hlZFNoYWRlcj4gY2FjaGVkU2hhZGVyID0gbG9hZGVyLT5yZXF1
ZXN0U2hhZGVyKHJlcXVlc3QpKQorICAgICAgICBpZiAoQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2Fj
aGVkU2hhZGVyPiBjYWNoZWRTaGFkZXIgPSBsb2FkZXItPnJlcXVlc3RTaGFkZXIocmVxdWVzdCwg
Q1NTTG9hZEluaXRpYXRvcihsb2FkZXItPmRvY3VtZW50KCkpKSkKICAgICAgICAgICAgIG1fc2hh
ZGVyID0gU3R5bGVDYWNoZWRTaGFkZXI6OmNyZWF0ZShjYWNoZWRTaGFkZXIuZ2V0KCkpOwogICAg
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGVMb2FkSW5pdGlhdG9yLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlTG9hZEluaXRpYXRvci5jcHAKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NTg0MGI3NzRiNzI5MTczMzBmNDA5NzBlYTY5NjBiODA0MmEyOTUyOQotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlTG9hZEluaXRpYXRvci5jcHAKQEAgLTAsMCArMSw1
NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoK
KyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2ds
ZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAor
ICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJOb2RlTG9hZEluaXRpYXRvci5oIgor
CisjaW5jbHVkZSAiTm9kZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK05vZGVMb2FkSW5p
dGlhdG9yOjpOb2RlTG9hZEluaXRpYXRvcihOb2RlKiBub2RlKQorICAgIDogbV9ub2RlKG5vZGUp
Cit7Cit9CisKK05vZGVMb2FkSW5pdGlhdG9yOjp+Tm9kZUxvYWRJbml0aWF0b3IoKQoreworfQor
Citjb25zdCBXVEY6OkF0b21pY1N0cmluZyYgTm9kZUxvYWRJbml0aWF0b3I6OmluaXRpYXRvck5h
bWUoKSBjb25zdAoreworICAgIHJldHVybiBtX25vZGUtPmxvY2FsTmFtZSgpOworfQorCitEb2N1
bWVudCogTm9kZUxvYWRJbml0aWF0b3I6OmluaXRpYXRvckRvY3VtZW50KCkgY29uc3QKK3sKKyAg
ICByZXR1cm4gbV9ub2RlLT5kb2N1bWVudCgpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZUxvYWRJbml0aWF0b3IuaCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Ob2RlTG9hZEluaXRpYXRvci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc1OWM2M2Y2
MTliMjc4YTMxMjgzZmZjMmQ4NjdkODI5NzhhOTVkOTQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vTm9kZUxvYWRJbml0aWF0b3IuaApAQCAtMCwwICsxLDU5IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRp
c3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9y
IHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNl
IG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhv
dXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMK
KyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRl
ZiBOb2RlTG9hZEluaXRpYXRvcl9oCisjZGVmaW5lIE5vZGVMb2FkSW5pdGlhdG9yX2gKKworI2lu
Y2x1ZGUgIkxvYWRJbml0aWF0b3IuaCIKKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisKK25hbWVz
cGFjZSBXVEYgeworY2xhc3MgQXRvbWljU3RyaW5nOworfQorCituYW1lc3BhY2UgV2ViQ29yZSB7
CitjbGFzcyBEb2N1bWVudDsKK2NsYXNzIE5vZGU7CisKK2NsYXNzIE5vZGVMb2FkSW5pdGlhdG9y
IDogcHVibGljIExvYWRJbml0aWF0b3IgeworcHVibGljOgorICAgIE5vZGVMb2FkSW5pdGlhdG9y
KE5vZGUqKTsKKyAgICB2aXJ0dWFsIH5Ob2RlTG9hZEluaXRpYXRvcigpOworCisgICAgdmlydHVh
bCBjb25zdCBXVEY6OkF0b21pY1N0cmluZyYgaW5pdGlhdG9yTmFtZSgpIGNvbnN0OworICAgIHZp
cnR1YWwgRG9jdW1lbnQqIGluaXRpYXRvckRvY3VtZW50KCkgY29uc3Q7CisKK3ByaXZhdGU6Cisg
ICAgUmVmUHRyPE5vZGU+IG1fbm9kZTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwor
I2VuZGlmIC8vIExvYWRJbml0aWF0b3JfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L1Byb2Nlc3NpbmdJbnN0cnVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUHJvY2Vzc2lu
Z0luc3RydWN0aW9uLmNwcAppbmRleCA2NzU5YmVjYmM2YWRhNDI4YWVkNjcyMjNkMDIzZjg0Yzk1
ZTk1ZTliLi4yOTk5ZDFiZjUxMTJhZWIzMzg5NTViMzYwNGJiYTI0NzBiNjFkMzVlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vUHJvY2Vzc2luZ0luc3RydWN0aW9uLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vUHJvY2Vzc2luZ0luc3RydWN0aW9uLmNwcApAQCAtMzAsNiArMzAs
NyBAQAogI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKICNpbmNsdWRlICJGcmFtZS5oIgogI2lu
Y2x1ZGUgIkZyYW1lTG9hZGVyLmgiCisjaW5jbHVkZSAiTm9kZUxvYWRJbml0aWF0b3IuaCIKICNp
bmNsdWRlICJYU0xTdHlsZVNoZWV0LmgiCiAjaW5jbHVkZSAiWE1MRG9jdW1lbnRQYXJzZXIuaCIg
Ly8gZm9yIHBhcnNlQXR0cmlidXRlcygpCiAjaW5jbHVkZSAiTWVkaWFMaXN0LmgiCkBAIC0xNjYs
NyArMTY3LDcgQEAgdm9pZCBQcm9jZXNzaW5nSW5zdHJ1Y3Rpb246OmNoZWNrU3R5bGVTaGVldCgp
CiAgICAgICAgICAgICBSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdChkb2N1bWVudCgpLT5jb21wbGV0
ZVVSTChocmVmKSk7CiAjaWYgRU5BQkxFKFhTTFQpCiAgICAgICAgICAgICBpZiAobV9pc1hTTCkK
LSAgICAgICAgICAgICAgICBtX2NhY2hlZFNoZWV0ID0gZG9jdW1lbnQoKS0+Y2FjaGVkUmVzb3Vy
Y2VMb2FkZXIoKS0+cmVxdWVzdFhTTFN0eWxlU2hlZXQocmVxdWVzdCk7CisgICAgICAgICAgICAg
ICAgbV9jYWNoZWRTaGVldCA9IGRvY3VtZW50KCktPmNhY2hlZFJlc291cmNlTG9hZGVyKCktPnJl
cXVlc3RYU0xTdHlsZVNoZWV0KHJlcXVlc3QsIE5vZGVMb2FkSW5pdGlhdG9yKHRoaXMpKTsKICAg
ICAgICAgICAgIGVsc2UKICNlbmRpZgogICAgICAgICAgICAgewpAQCAtMTc0LDcgKzE3NSw3IEBA
IHZvaWQgUHJvY2Vzc2luZ0luc3RydWN0aW9uOjpjaGVja1N0eWxlU2hlZXQoKQogICAgICAgICAg
ICAgICAgIGlmIChjaGFyc2V0LmlzRW1wdHkoKSkKICAgICAgICAgICAgICAgICAgICAgY2hhcnNl
dCA9IGRvY3VtZW50KCktPmNoYXJzZXQoKTsKIAotICAgICAgICAgICAgICAgIG1fY2FjaGVkU2hl
ZXQgPSBkb2N1bWVudCgpLT5jYWNoZWRSZXNvdXJjZUxvYWRlcigpLT5yZXF1ZXN0Q1NTU3R5bGVT
aGVldChyZXF1ZXN0LCBjaGFyc2V0KTsKKyAgICAgICAgICAgICAgICBtX2NhY2hlZFNoZWV0ID0g
ZG9jdW1lbnQoKS0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKS0+cmVxdWVzdENTU1N0eWxlU2hlZXQo
cmVxdWVzdCwgY2hhcnNldCwgTm9kZUxvYWRJbml0aWF0b3IodGhpcykpOwogICAgICAgICAgICAg
fQogICAgICAgICAgICAgaWYgKG1fY2FjaGVkU2hlZXQpCiAgICAgICAgICAgICAgICAgbV9jYWNo
ZWRTaGVldC0+YWRkQ2xpZW50KHRoaXMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L1NjcmlwdEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuY3Bw
CmluZGV4IDIwOWZjNzljMWM4YzA4YTRmNjlhOTk5OTgzZmIwNzE5ODYzOGU2OTYuLmU4ZmFiOTQ2
MDgzMTJkZmEwZGNiMGVlNDYxMGQ4ZTAxMjJiMWZlYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9TY3JpcHRFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0
RWxlbWVudC5jcHAKQEAgLTM3LDYgKzM3LDcgQEAKICNpbmNsdWRlICJIVE1MU2NyaXB0RWxlbWVu
dC5oIgogI2luY2x1ZGUgIklnbm9yZURlc3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVudGVyLmgi
CiAjaW5jbHVkZSAiTUlNRVR5cGVSZWdpc3RyeS5oIgorI2luY2x1ZGUgIk5vZGVMb2FkSW5pdGlh
dG9yLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFjay5oIgog
I2luY2x1ZGUgIlNjcmlwdFJ1bm5lci5oIgpAQCAtMjY1LDcgKzI2Niw3IEBAIGJvb2wgU2NyaXB0
RWxlbWVudDo6cmVxdWVzdFNjcmlwdChjb25zdCBTdHJpbmcmIHNvdXJjZVVybCkKICAgICAgICAg
ICAgIHVwZGF0ZVJlcXVlc3RGb3JBY2Nlc3NDb250cm9sKHJlcXVlc3QsIG1fZWxlbWVudC0+ZG9j
dW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKSwgYWxsb3dDcmVkZW50aWFscyk7CiAgICAgICAgIH0K
IAotICAgICAgICBtX2NhY2hlZFNjcmlwdCA9IG1fZWxlbWVudC0+ZG9jdW1lbnQoKS0+Y2FjaGVk
UmVzb3VyY2VMb2FkZXIoKS0+cmVxdWVzdFNjcmlwdChyZXF1ZXN0LCBzY3JpcHRDaGFyc2V0KCkp
OworICAgICAgICBtX2NhY2hlZFNjcmlwdCA9IG1fZWxlbWVudC0+ZG9jdW1lbnQoKS0+Y2FjaGVk
UmVzb3VyY2VMb2FkZXIoKS0+cmVxdWVzdFNjcmlwdChyZXF1ZXN0LCBzY3JpcHRDaGFyc2V0KCks
IE5vZGVMb2FkSW5pdGlhdG9yKGVsZW1lbnQoKSkpOwogICAgICAgICBtX2lzRXh0ZXJuYWxTY3Jp
cHQgPSB0cnVlOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
Qm9keUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQm9keUVsZW1lbnQuY3Bw
CmluZGV4IDg1Y2RmMzhiMTI1ZDc2M2Y4NjQwMzUwNDkyNmYxNmQ3NTEyMjY4ZDcuLjhkMDUzZWM2
YjJmMWNjZjA2YTViMGE2ZDA4NGY5NzFhM2IwZjMwMjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEJvZHlFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxCb2R5RWxlbWVudC5jcHAKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlICJIVE1MRnJhbWVF
bGVtZW50QmFzZS5oIgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIkhUTUxQYXJz
ZXJJZGlvbXMuaCIKKyNpbmNsdWRlICJOb2RlTG9hZEluaXRpYXRvci5oIgogI2luY2x1ZGUgIlBh
Z2UuaCIKICNpbmNsdWRlICJTY3JpcHRFdmVudExpc3RlbmVyLmgiCiAKQEAgLTcyLDggKzczLDEx
IEBAIHZvaWQgSFRNTEJvZHlFbGVtZW50Ojpjb2xsZWN0U3R5bGVGb3JBdHRyaWJ1dGUoY29uc3Qg
QXR0cmlidXRlJiBhdHRyaWJ1dGUsIFN0eWxlCiB7CiAgICAgaWYgKGF0dHJpYnV0ZS5uYW1lKCkg
PT0gYmFja2dyb3VuZEF0dHIpIHsKICAgICAgICAgU3RyaW5nIHVybCA9IHN0cmlwTGVhZGluZ0Fu
ZFRyYWlsaW5nSFRNTFNwYWNlcyhhdHRyaWJ1dGUudmFsdWUoKSk7Ci0gICAgICAgIGlmICghdXJs
LmlzRW1wdHkoKSkKLSAgICAgICAgICAgIHN0eWxlLT5zZXRQcm9wZXJ0eShDU1NQcm9wZXJ0eShD
U1NQcm9wZXJ0eUJhY2tncm91bmRJbWFnZSwgQ1NTSW1hZ2VWYWx1ZTo6Y3JlYXRlKGRvY3VtZW50
KCktPmNvbXBsZXRlVVJMKHVybCkuc3RyaW5nKCkpKSk7CisgICAgICAgIGlmICghdXJsLmlzRW1w
dHkoKSkgeworICAgICAgICAgICAgUmVmUHRyPENTU0ltYWdlVmFsdWU+IGltYWdlVmFsdWUgPSBD
U1NJbWFnZVZhbHVlOjpjcmVhdGUoZG9jdW1lbnQoKS0+Y29tcGxldGVVUkwodXJsKS5zdHJpbmco
KSk7CisgICAgICAgICAgICBpbWFnZVZhbHVlLT5zZXRJbml0aWF0b3IoTm9kZUxvYWRJbml0aWF0
b3IodGhpcykpOworICAgICAgICAgICAgc3R5bGUtPnNldFByb3BlcnR5KENTU1Byb3BlcnR5KENT
U1Byb3BlcnR5QmFja2dyb3VuZEltYWdlLCBpbWFnZVZhbHVlKSk7CisgICAgICAgIH0KICAgICB9
IGVsc2UgaWYgKGF0dHJpYnV0ZS5uYW1lKCkgPT0gbWFyZ2lud2lkdGhBdHRyIHx8IGF0dHJpYnV0
ZS5uYW1lKCkgPT0gbGVmdG1hcmdpbkF0dHIpIHsKICAgICAgICAgYWRkSFRNTExlbmd0aFRvU3R5
bGUoc3R5bGUsIENTU1Byb3BlcnR5TWFyZ2luUmlnaHQsIGF0dHJpYnV0ZS52YWx1ZSgpKTsKICAg
ICAgICAgYWRkSFRNTExlbmd0aFRvU3R5bGUoc3R5bGUsIENTU1Byb3BlcnR5TWFyZ2luTGVmdCwg
YXR0cmlidXRlLnZhbHVlKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
TGlua0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGlua0VsZW1lbnQuY3Bw
CmluZGV4IGZkYzdhNWNjZTMyMzFhZjljMjI0NGUxYzlmNDQ0ODNiODRiZjAxMzEuLjJkMTFlMDI2
YmUzMmJlZGE5M2EwOTJjNTA1NTUxYmI0NzlkZDEyZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTExpbmtFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxMaW5rRWxlbWVudC5jcHAKQEAgLTQxLDYgKzQxLDcgQEAKICNpbmNsdWRlICJIVE1MUGFyc2Vy
SWRpb21zLmgiCiAjaW5jbHVkZSAiTWVkaWFMaXN0LmgiCiAjaW5jbHVkZSAiTWVkaWFRdWVyeUV2
YWx1YXRvci5oIgorI2luY2x1ZGUgIk5vZGVMb2FkSW5pdGlhdG9yLmgiCiAjaW5jbHVkZSAiUGFn
ZS5oIgogI2luY2x1ZGUgIlNjcmlwdEV2ZW50TGlzdGVuZXIuaCIKICNpbmNsdWRlICJTZWN1cml0
eU9yaWdpbi5oIgpAQCAtMjIxLDggKzIyMiw4IEBAIHZvaWQgSFRNTExpbmtFbGVtZW50Ojpwcm9j
ZXNzKCkKICAgICAgICAgLy8gTG9hZCBzdHlsZXNoZWV0cyB0aGF0IGFyZSBub3QgbmVlZGVkIGZv
ciB0aGUgcmVuZGVyaW5nIGltbWVkaWF0ZWx5IHdpdGggbG93IHByaW9yaXR5LgogICAgICAgICBS
ZXNvdXJjZUxvYWRQcmlvcml0eSBwcmlvcml0eSA9IGJsb2NraW5nID8gUmVzb3VyY2VMb2FkUHJp
b3JpdHlVbnJlc29sdmVkIDogUmVzb3VyY2VMb2FkUHJpb3JpdHlWZXJ5TG93OwogICAgICAgICBS
ZXNvdXJjZVJlcXVlc3QgcmVxdWVzdChkb2N1bWVudCgpLT5jb21wbGV0ZVVSTChtX3VybCkpOwot
ICAgICAgICBtX2NhY2hlZFNoZWV0ID0gZG9jdW1lbnQoKS0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIo
KS0+cmVxdWVzdENTU1N0eWxlU2hlZXQocmVxdWVzdCwgY2hhcnNldCwgcHJpb3JpdHkpOwotICAg
ICAgICAKKyAgICAgICAgbV9jYWNoZWRTaGVldCA9IGRvY3VtZW50KCktPmNhY2hlZFJlc291cmNl
TG9hZGVyKCktPnJlcXVlc3RDU1NTdHlsZVNoZWV0KHJlcXVlc3QsIGNoYXJzZXQsIE5vZGVMb2Fk
SW5pdGlhdG9yKHRoaXMpLCBwcmlvcml0eSk7CisKICAgICAgICAgaWYgKG1fY2FjaGVkU2hlZXQp
CiAgICAgICAgICAgICBtX2NhY2hlZFNoZWV0LT5hZGRDbGllbnQodGhpcyk7CiAgICAgICAgIGVs
c2UgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGlua0VsZW1lbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExpbmtFbGVtZW50LmgKaW5kZXggMGI2YzZjOTk3ZjI4
YWUzNDEyNTM2MzgzZTBjMDEwNDA4ZDVmZmQxYS4uYmI3YWQxMWJlMzA2ZTI2MWU2OThlMzYzMTkw
ZjVkNzFhOWQ4NmMyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGlua0Vs
ZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMaW5rRWxlbWVudC5oCkBAIC03
NSw2ICs3NSw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIHBhcnNlQXR0
cmlidXRlKGNvbnN0IEF0dHJpYnV0ZSYpIE9WRVJSSURFOwogCisgICAgdmlydHVhbCBOb2RlKiBp
bml0aWF0b3JOb2RlKCkgeyByZXR1cm4gdGhpczsgfQogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRM
b2FkTGluaygpOwogICAgIHZvaWQgcHJvY2VzcygpOwogICAgIHN0YXRpYyB2b2lkIHByb2Nlc3ND
YWxsYmFjayhOb2RlKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9D
U1NQcmVsb2FkU2Nhbm5lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9DU1NQcmVs
b2FkU2Nhbm5lci5jcHAKaW5kZXggMjlmMWNjZDQ2OGJhZGQ4ZGU1YzNiMTllNzJmMmQ4NTJjZDMw
MDg5My4uYjZhMDMzYTY1MTc1MDlmMDAzMzViMmQ4YzkzNmI3MGZhM2U1NTY4MSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvQ1NTUHJlbG9hZFNjYW5uZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0NTU1ByZWxvYWRTY2FubmVyLmNwcApAQCAtMTk3
LDcgKzE5Nyw3IEBAIHZvaWQgQ1NTUHJlbG9hZFNjYW5uZXI6OmVtaXRSdWxlKCkKICAgICAgICAg
U3RyaW5nIHZhbHVlID0gcGFyc2VDU1NTdHJpbmdPclVSTChtX3J1bGVWYWx1ZS5jaGFyYWN0ZXJz
KCksIG1fcnVsZVZhbHVlLmxlbmd0aCgpKTsKICAgICAgICAgaWYgKCF2YWx1ZS5pc0VtcHR5KCkp
IHsKICAgICAgICAgICAgIFJlc291cmNlUmVxdWVzdCByZXF1ZXN0KG1fZG9jdW1lbnQtPmNvbXBs
ZXRlVVJMKHZhbHVlKSk7Ci0gICAgICAgICAgICBtX2RvY3VtZW50LT5jYWNoZWRSZXNvdXJjZUxv
YWRlcigpLT5wcmVsb2FkKENhY2hlZFJlc291cmNlOjpDU1NTdHlsZVNoZWV0LCByZXF1ZXN0LCBT
dHJpbmcoKSwgbV9zY2FubmluZ0JvZHkpOworICAgICAgICAgICAgbV9kb2N1bWVudC0+Y2FjaGVk
UmVzb3VyY2VMb2FkZXIoKS0+cHJlbG9hZChDYWNoZWRSZXNvdXJjZTo6Q1NTU3R5bGVTaGVldCwg
cmVxdWVzdCwgU3RyaW5nKCksIG1fc2Nhbm5pbmdCb2R5LCAqdGhpcyk7CiAgICAgICAgIH0KICAg
ICAgICAgbV9zdGF0ZSA9IEluaXRpYWw7CiAgICAgfSBlbHNlIGlmIChlcXVhbElnbm9yaW5nQ2Fz
ZSgiY2hhcnNldCIsIG1fcnVsZS5jaGFyYWN0ZXJzKCksIG1fcnVsZS5sZW5ndGgoKSkpCkBAIC0y
MDgsNCArMjA4LDEwIEBAIHZvaWQgQ1NTUHJlbG9hZFNjYW5uZXI6OmVtaXRSdWxlKCkKICAgICBt
X3J1bGVWYWx1ZS5jbGVhcigpOwogfQogCitjb25zdCBBdG9taWNTdHJpbmcmIENTU1ByZWxvYWRT
Y2FubmVyOjppbml0aWF0b3JOYW1lKCkgY29uc3QKK3sKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FM
KEF0b21pY1N0cmluZywgbmFtZSwgKCJjc3MiLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZyb21M
aXRlcmFsKSk7CisgICAgcmV0dXJuIG5hbWU7Cit9CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvcGFyc2VyL0NTU1ByZWxvYWRTY2FubmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3BhcnNlci9DU1NQcmVsb2FkU2Nhbm5lci5oCmluZGV4IGMzZGJiODAwZWRkOGVhMTBhYjI0
ZWIzYzEyM2I3Y2E5OGYyY2I0MjcuLjE1NWJhNTk5YzFkNWNiMjhmYmJkMjBkZjhhM2FhZGY1Y2Qw
M2E4YmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0NTU1ByZWxvYWRT
Y2FubmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvQ1NTUHJlbG9hZFNjYW5u
ZXIuaApAQCAtMjcsNiArMjcsNyBAQAogI2lmbmRlZiBDU1NQcmVsb2FkU2Nhbm5lcl9oCiAjZGVm
aW5lIENTU1ByZWxvYWRTY2FubmVyX2gKIAorI2luY2x1ZGUgIkxvYWRJbml0aWF0b3IuaCIKICNp
bmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
QEAgLTM0LDcgKzM1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRG9jdW1lbnQ7CiBj
bGFzcyBIVE1MVG9rZW47CiAKLWNsYXNzIENTU1ByZWxvYWRTY2FubmVyIHsKK2NsYXNzIENTU1By
ZWxvYWRTY2FubmVyIDogcHJpdmF0ZSBMb2FkSW5pdGlhdG9yIHsKICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShDU1NQcmVsb2FkU2Nhbm5lcik7CiBwdWJsaWM6CiAgICAgQ1NTUHJlbG9hZFNjYW5u
ZXIoRG9jdW1lbnQqKTsKQEAgLTQzLDYgKzQ0LDkgQEAgcHVibGljOgogICAgIHZvaWQgc2Nhbihj
b25zdCBIVE1MVG9rZW4mLCBib29sIHNjYW5uaW5nQm9keSk7CiAKIHByaXZhdGU6CisgICAgdmly
dHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIGluaXRpYXRvck5hbWUoKSBjb25zdDsKKyAgICB2aXJ0
dWFsIERvY3VtZW50KiBpbml0aWF0b3JEb2N1bWVudCgpIGNvbnN0IHsgcmV0dXJuIG1fZG9jdW1l
bnQ7IH0KKwogICAgIGVudW0gU3RhdGUgewogICAgICAgICBJbml0aWFsLAogICAgICAgICBNYXli
ZUNvbW1lbnQsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUHJl
bG9hZFNjYW5uZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFByZWxvYWRT
Y2FubmVyLmNwcAppbmRleCBhNzViNTJlMzU1MDZhYTMwZTVlOWJmMzA5ZjAyMGQ4NzE5MWNjZmY0
Li4yODQyZGE5MjI1YjA4Y2IzZTkxZWJiM2ZiMDFlMTE1MjVjOGY5NTY1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUHJlbG9hZFNjYW5uZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQcmVsb2FkU2Nhbm5lci5jcHAKQEAgLTM2LDYg
KzM2LDcgQEAKICNpbmNsdWRlICJIVE1MUGFyc2VySWRpb21zLmgiCiAjaW5jbHVkZSAiSW5wdXRU
eXBlTmFtZXMuaCIKICNpbmNsdWRlICJMaW5rUmVsQXR0cmlidXRlLmgiCisjaW5jbHVkZSAiTG9h
ZEluaXRpYXRvci5oIgogI2luY2x1ZGUgIk1lZGlhTGlzdC5oIgogI2luY2x1ZGUgIk1lZGlhUXVl
cnlFdmFsdWF0b3IuaCIKIApAQCAtNDMsMTAgKzQ0LDExIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKIAotY2xhc3MgUHJlbG9hZFRhc2sgeworY2xh
c3MgUHJlbG9hZFRhc2sgOiBwcml2YXRlIExvYWRJbml0aWF0b3IgewogcHVibGljOgotICAgIGV4
cGxpY2l0IFByZWxvYWRUYXNrKGNvbnN0IEhUTUxUb2tlbiYgdG9rZW4pCisgICAgZXhwbGljaXQg
UHJlbG9hZFRhc2soY29uc3QgSFRNTFRva2VuJiB0b2tlbiwgRG9jdW1lbnQqIGRvY3VtZW50KQog
ICAgICAgICA6IG1fdGFnTmFtZSh0b2tlbi5uYW1lKCkuZGF0YSgpLCB0b2tlbi5uYW1lKCkuc2l6
ZSgpKQorICAgICAgICAsIG1fZG9jdW1lbnQoZG9jdW1lbnQpCiAgICAgICAgICwgbV9saW5rSXNT
dHlsZVNoZWV0KGZhbHNlKQogICAgICAgICAsIG1fbGlua01lZGlhQXR0cmlidXRlSXNTY3JlZW4o
dHJ1ZSkKICAgICAgICAgLCBtX2lucHV0SXNJbWFnZShmYWxzZSkKQEAgLTEyMSwyNiArMTIzLDMw
IEBAIHB1YmxpYzoKICAgICAgICAgbV91cmxUb0xvYWQgPSBzdHJpcExlYWRpbmdBbmRUcmFpbGlu
Z0hUTUxTcGFjZXMoYXR0cmlidXRlVmFsdWUpOwogICAgIH0KIAotICAgIHZvaWQgcHJlbG9hZChE
b2N1bWVudCogZG9jdW1lbnQsIGJvb2wgc2Nhbm5pbmdCb2R5LCBjb25zdCBLVVJMJiBiYXNlVVJM
KQorICAgIHZvaWQgcHJlbG9hZChib29sIHNjYW5uaW5nQm9keSwgY29uc3QgS1VSTCYgYmFzZVVS
TCkKICAgICB7CiAgICAgICAgIGlmIChtX3VybFRvTG9hZC5pc0VtcHR5KCkpCiAgICAgICAgICAg
ICByZXR1cm47CiAKLSAgICAgICAgQ2FjaGVkUmVzb3VyY2VMb2FkZXIqIGNhY2hlZFJlc291cmNl
TG9hZGVyID0gZG9jdW1lbnQtPmNhY2hlZFJlc291cmNlTG9hZGVyKCk7Ci0gICAgICAgIFJlc291
cmNlUmVxdWVzdCByZXF1ZXN0ID0gZG9jdW1lbnQtPmNvbXBsZXRlVVJMKG1fdXJsVG9Mb2FkLCBi
YXNlVVJMKTsKKyAgICAgICAgQ2FjaGVkUmVzb3VyY2VMb2FkZXIqIGNhY2hlZFJlc291cmNlTG9h
ZGVyID0gbV9kb2N1bWVudC0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKTsKKyAgICAgICAgUmVzb3Vy
Y2VSZXF1ZXN0IHJlcXVlc3QgPSBtX2RvY3VtZW50LT5jb21wbGV0ZVVSTChtX3VybFRvTG9hZCwg
YmFzZVVSTCk7CiAgICAgICAgIGlmIChtX3RhZ05hbWUgPT0gc2NyaXB0VGFnKQotICAgICAgICAg
ICAgY2FjaGVkUmVzb3VyY2VMb2FkZXItPnByZWxvYWQoQ2FjaGVkUmVzb3VyY2U6OlNjcmlwdCwg
cmVxdWVzdCwgbV9jaGFyc2V0LCBzY2FubmluZ0JvZHkpOworICAgICAgICAgICAgY2FjaGVkUmVz
b3VyY2VMb2FkZXItPnByZWxvYWQoQ2FjaGVkUmVzb3VyY2U6OlNjcmlwdCwgcmVxdWVzdCwgbV9j
aGFyc2V0LCBzY2FubmluZ0JvZHksICp0aGlzKTsKICAgICAgICAgZWxzZSBpZiAobV90YWdOYW1l
ID09IGltZ1RhZyB8fCAobV90YWdOYW1lID09IGlucHV0VGFnICYmIG1faW5wdXRJc0ltYWdlKSkK
LSAgICAgICAgICAgIGNhY2hlZFJlc291cmNlTG9hZGVyLT5wcmVsb2FkKENhY2hlZFJlc291cmNl
OjpJbWFnZVJlc291cmNlLCByZXF1ZXN0LCBTdHJpbmcoKSwgc2Nhbm5pbmdCb2R5KTsKKyAgICAg
ICAgICAgIGNhY2hlZFJlc291cmNlTG9hZGVyLT5wcmVsb2FkKENhY2hlZFJlc291cmNlOjpJbWFn
ZVJlc291cmNlLCByZXF1ZXN0LCBTdHJpbmcoKSwgc2Nhbm5pbmdCb2R5LCAqdGhpcyk7CiAgICAg
ICAgIGVsc2UgaWYgKG1fdGFnTmFtZSA9PSBsaW5rVGFnICYmIG1fbGlua0lzU3R5bGVTaGVldCAm
JiBtX2xpbmtNZWRpYUF0dHJpYnV0ZUlzU2NyZWVuKSAKLSAgICAgICAgICAgIGNhY2hlZFJlc291
cmNlTG9hZGVyLT5wcmVsb2FkKENhY2hlZFJlc291cmNlOjpDU1NTdHlsZVNoZWV0LCByZXF1ZXN0
LCBtX2NoYXJzZXQsIHNjYW5uaW5nQm9keSk7CisgICAgICAgICAgICBjYWNoZWRSZXNvdXJjZUxv
YWRlci0+cHJlbG9hZChDYWNoZWRSZXNvdXJjZTo6Q1NTU3R5bGVTaGVldCwgcmVxdWVzdCwgbV9j
aGFyc2V0LCBzY2FubmluZ0JvZHksICp0aGlzKTsKICAgICB9CiAKICAgICBjb25zdCBBdG9taWNT
dHJpbmcmIHRhZ05hbWUoKSBjb25zdCB7IHJldHVybiBtX3RhZ05hbWU7IH0KICAgICBjb25zdCBT
dHJpbmcmIGJhc2VFbGVtZW50SHJlZigpIGNvbnN0IHsgcmV0dXJuIG1fYmFzZUVsZW1lbnRIcmVm
OyB9CiAKIHByaXZhdGU6CisgICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIGluaXRpYXRv
ck5hbWUoKSBjb25zdCB7IHJldHVybiBtX3RhZ05hbWU7IH0KKyAgICB2aXJ0dWFsIERvY3VtZW50
KiBpbml0aWF0b3JEb2N1bWVudCgpIGNvbnN0IHsgcmV0dXJuIG1fZG9jdW1lbnQ7IH0KKwogICAg
IEF0b21pY1N0cmluZyBtX3RhZ05hbWU7CisgICAgRG9jdW1lbnQqIG1fZG9jdW1lbnQ7CiAgICAg
U3RyaW5nIG1fdXJsVG9Mb2FkOwogICAgIFN0cmluZyBtX2NoYXJzZXQ7CiAgICAgU3RyaW5nIG1f
YmFzZUVsZW1lbnRIcmVmOwpAQCAtMTkwLDcgKzE5Niw3IEBAIHZvaWQgSFRNTFByZWxvYWRTY2Fu
bmVyOjpwcm9jZXNzVG9rZW4oKQogICAgIGlmIChtX3Rva2VuLnR5cGUoKSAhPSBIVE1MVG9rZW5U
eXBlczo6U3RhcnRUYWcpCiAgICAgICAgIHJldHVybjsKIAotICAgIFByZWxvYWRUYXNrIHRhc2so
bV90b2tlbik7CisgICAgUHJlbG9hZFRhc2sgdGFzayhtX3Rva2VuLCBtX2RvY3VtZW50KTsKICAg
ICBtX3Rva2VuaXplci0+dXBkYXRlU3RhdGVGb3IodGFzay50YWdOYW1lKCksIG1fZG9jdW1lbnQt
PmZyYW1lKCkpOwogCiAgICAgaWYgKHRhc2sudGFnTmFtZSgpID09IGJvZHlUYWcpCkBAIC0yMDIs
NyArMjA4LDcgQEAgdm9pZCBIVE1MUHJlbG9hZFNjYW5uZXI6OnByb2Nlc3NUb2tlbigpCiAgICAg
aWYgKHRhc2sudGFnTmFtZSgpID09IGJhc2VUYWcpCiAgICAgICAgIHVwZGF0ZVByZWRpY3RlZEJh
c2VFbGVtZW50VVJMKEtVUkwobV9kb2N1bWVudC0+dXJsKCksIHRhc2suYmFzZUVsZW1lbnRIcmVm
KCkpKTsKIAotICAgIHRhc2sucHJlbG9hZChtX2RvY3VtZW50LCBzY2FubmluZ0JvZHkoKSwgbV9w
cmVkaWN0ZWRCYXNlRWxlbWVudFVSTC5pc0VtcHR5KCkgPyBtX2RvY3VtZW50LT5iYXNlVVJMKCkg
OiBtX3ByZWRpY3RlZEJhc2VFbGVtZW50VVJMKTsKKyAgICB0YXNrLnByZWxvYWQoc2Nhbm5pbmdC
b2R5KCksIG1fcHJlZGljdGVkQmFzZUVsZW1lbnRVUkwuaXNFbXB0eSgpID8gbV9kb2N1bWVudC0+
YmFzZVVSTCgpIDogbV9wcmVkaWN0ZWRCYXNlRWxlbWVudFVSTCk7CiB9CiAKIGJvb2wgSFRNTFBy
ZWxvYWRTY2FubmVyOjpzY2FubmluZ0JvZHkoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC90cmFjay9Mb2FkYWJsZVRleHRUcmFjay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3RyYWNrL0xvYWRhYmxlVGV4dFRyYWNrLmNwcAppbmRleCBkOTVlOGNjZjlkNmVhMWY4YTUx
NjhiM2U2Y2ZjMjY3N2Q4OTFhNDI5Li4xYmYxYjNjNWUzODJiZjI5NDA4NGRlNWNmZWJiMzdlNzQ5
NzU5YzBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL0xvYWRhYmxlVGV4
dFRyYWNrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL0xvYWRhYmxlVGV4dFRy
YWNrLmNwcApAQCAtMTIyLDYgKzEyMiwxMSBAQCB2b2lkIExvYWRhYmxlVGV4dFRyYWNrOjpjdWVM
b2FkaW5nQ29tcGxldGVkKFRleHRUcmFja0xvYWRlciogbG9hZGVyLCBib29sIGxvYWRpbgogICAg
IG1fdHJhY2tFbGVtZW50LT5kaWRDb21wbGV0ZUxvYWQodGhpcywgbG9hZGluZ0ZhaWxlZCA/IEhU
TUxUcmFja0VsZW1lbnQ6OkZhaWx1cmUgOiBIVE1MVHJhY2tFbGVtZW50OjpTdWNjZXNzKTsKIH0K
IAorTm9kZSogTG9hZGFibGVUZXh0VHJhY2s6OmluaXRpYXRvck5vZGUoKQoreworICAgIHJldHVy
biBtX3RyYWNrRWxlbWVudDsKK30KKwogc2l6ZV90IExvYWRhYmxlVGV4dFRyYWNrOjp0cmFja0Vs
ZW1lbnRJbmRleCgpCiB7CiAgICAgQVNTRVJUKG1fdHJhY2tFbGVtZW50KTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svTG9hZGFibGVUZXh0VHJhY2suaCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvdHJhY2svTG9hZGFibGVUZXh0VHJhY2suaAppbmRleCAzMzE4M2RiOWI0NzFi
MjFkM2FiY2QxNDcxMzdiMzMyNzc0M2ZiODQ2Li5hMjg2YWQ0ZGRmMjRhMzE3NjVlYjgxZTkzNDdm
NzQzZGYzNmMxMjg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL0xvYWRh
YmxlVGV4dFRyYWNrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9Mb2FkYWJsZVRl
eHRUcmFjay5oCkBAIC00MSw3ICs0MSw3IEBAIGNsYXNzIExvYWRhYmxlVGV4dFRyYWNrOwogY2xh
c3MgTG9hZGFibGVUZXh0VHJhY2tDbGllbnQgOiBwdWJsaWMgVGV4dFRyYWNrQ2xpZW50IHsKIHB1
YmxpYzoKICAgICB2aXJ0dWFsIH5Mb2FkYWJsZVRleHRUcmFja0NsaWVudCgpIHsgfQotICAgIAor
CiAgICAgdmlydHVhbCBib29sIGNhbkxvYWRVcmwoTG9hZGFibGVUZXh0VHJhY2sqLCBjb25zdCBL
VVJMJikgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIHZvaWQgbG9hZGluZ0NvbXBsZXRl
ZChMb2FkYWJsZVRleHRUcmFjayosIGJvb2wgLyogbG9hZGluZ0ZhaWxlZCAqLykgeyB9CiB9OwpA
QCAtNjcsNiArNjcsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBuZXdDdWVzQXZhaWxh
YmxlKFRleHRUcmFja0xvYWRlciopOwogICAgIHZpcnR1YWwgdm9pZCBjdWVMb2FkaW5nU3RhcnRl
ZChUZXh0VHJhY2tMb2FkZXIqKTsKICAgICB2aXJ0dWFsIHZvaWQgY3VlTG9hZGluZ0NvbXBsZXRl
ZChUZXh0VHJhY2tMb2FkZXIqLCBib29sIGxvYWRpbmdGYWlsZWQpOworICAgIHZpcnR1YWwgTm9k
ZSogaW5pdGlhdG9yTm9kZSgpOwogCiAgICAgTG9hZGFibGVUZXh0VHJhY2soSFRNTFRyYWNrRWxl
bWVudCosIGNvbnN0IFN0cmluZyYga2luZCwgY29uc3QgU3RyaW5nJiBsYWJlbCwgY29uc3QgU3Ry
aW5nJiBsYW5ndWFnZSwgYm9vbCBpc0RlZmF1bHQpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkVGltaW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
RG9jdW1lbnRMb2FkVGltaW5nLmgKaW5kZXggNzAwOTU3NDI5NmY1N2I0NWRiNTVmMGE1ZDk3YzYx
MzJiN2Y3NGNmZC4uYWU1NTU0OWIzNTliZDEwNzA1ZGNkZGQ3NzRjZmQxYmRiMjM2ZWY3ZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZFRpbWluZy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRUaW1pbmcuaApAQCAtNzEsNiArNzEs
OCBAQCBwdWJsaWM6CiAgICAgYm9vbCBoYXNDcm9zc09yaWdpblJlZGlyZWN0KCkgY29uc3QgeyBy
ZXR1cm4gbV9oYXNDcm9zc09yaWdpblJlZGlyZWN0OyB9CiAgICAgYm9vbCBoYXNTYW1lT3JpZ2lu
QXNQcmV2aW91c0RvY3VtZW50KCkgY29uc3QgeyByZXR1cm4gbV9oYXNTYW1lT3JpZ2luQXNQcmV2
aW91c0RvY3VtZW50OyB9CiAKKyAgICBkb3VibGUgcmF3TmF2aWdhdGlvblN0YXJ0KCkgY29uc3Qg
eyByZXR1cm4gbV9uYXZpZ2F0aW9uU3RhcnQ7IH0KKwogcHJpdmF0ZToKICAgICBkb3VibGUgbV9y
ZWZlcmVuY2VNb25vdG9uaWNUaW1lOwogICAgIGRvdWJsZSBtX3JlZmVyZW5jZVdhbGxUaW1lOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmNw
cAppbmRleCA3MWExYWQzYjE5NzExOGMyYWIxYmNkZTI5MGEzMTkyZDVjNjkwNzRmLi5iNTA2NTZh
Zjk2ZjZhNzFhOTlhMTYzNTFlOTE1YzcxZWQzNTFiZGI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmNwcApAQCAtNTUsMjggKzU1LDI5
IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotdm9pZCBEb2N1bWVudFRocmVhZGFibGVMb2Fk
ZXI6OmxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoRG9jdW1lbnQqIGRvY3VtZW50LCBjb25zdCBS
ZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFRocmVhZGFibGVMb2FkZXJDbGllbnQmIGNsaWVudCwg
Y29uc3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMmIG9wdGlvbnMpCit2b2lkIERvY3VtZW50VGhy
ZWFkYWJsZUxvYWRlcjo6bG9hZFJlc291cmNlU3luY2hyb25vdXNseShEb2N1bWVudCogZG9jdW1l
bnQsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgVGhyZWFkYWJsZUxvYWRlckNsaWVu
dCYgY2xpZW50LCBjb25zdCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9ucyYgb3B0aW9ucywgY29uc3Qg
TG9hZEluaXRpYXRvciYgaW5pdGlhdG9yKQogewogICAgIC8vIFRoZSBsb2FkZXIgd2lsbCBiZSBk
ZWxldGVkIGFzIHNvb24gYXMgdGhpcyBmdW5jdGlvbiBleGl0cy4KLSAgICBSZWZQdHI8RG9jdW1l
bnRUaHJlYWRhYmxlTG9hZGVyPiBsb2FkZXIgPSBhZG9wdFJlZihuZXcgRG9jdW1lbnRUaHJlYWRh
YmxlTG9hZGVyKGRvY3VtZW50LCAmY2xpZW50LCBMb2FkU3luY2hyb25vdXNseSwgcmVxdWVzdCwg
b3B0aW9ucykpOworICAgIFJlZlB0cjxEb2N1bWVudFRocmVhZGFibGVMb2FkZXI+IGxvYWRlciA9
IGFkb3B0UmVmKG5ldyBEb2N1bWVudFRocmVhZGFibGVMb2FkZXIoZG9jdW1lbnQsICZjbGllbnQs
IExvYWRTeW5jaHJvbm91c2x5LCByZXF1ZXN0LCBvcHRpb25zLCBpbml0aWF0b3IpKTsKICAgICBB
U1NFUlQobG9hZGVyLT5oYXNPbmVSZWYoKSk7CiB9CiAKLVBhc3NSZWZQdHI8RG9jdW1lbnRUaHJl
YWRhYmxlTG9hZGVyPiBEb2N1bWVudFRocmVhZGFibGVMb2FkZXI6OmNyZWF0ZShEb2N1bWVudCog
ZG9jdW1lbnQsIFRocmVhZGFibGVMb2FkZXJDbGllbnQqIGNsaWVudCwgY29uc3QgUmVzb3VyY2VS
ZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9ucyYgb3B0aW9ucykK
K1Bhc3NSZWZQdHI8RG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyPiBEb2N1bWVudFRocmVhZGFibGVM
b2FkZXI6OmNyZWF0ZShEb2N1bWVudCogZG9jdW1lbnQsIFRocmVhZGFibGVMb2FkZXJDbGllbnQq
IGNsaWVudCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBUaHJlYWRhYmxl
TG9hZGVyT3B0aW9ucyYgb3B0aW9ucywgY29uc3QgTG9hZEluaXRpYXRvciYgaW5pdGlhdG9yKQog
ewotICAgIFJlZlB0cjxEb2N1bWVudFRocmVhZGFibGVMb2FkZXI+IGxvYWRlciA9IGFkb3B0UmVm
KG5ldyBEb2N1bWVudFRocmVhZGFibGVMb2FkZXIoZG9jdW1lbnQsIGNsaWVudCwgTG9hZEFzeW5j
aHJvbm91c2x5LCByZXF1ZXN0LCBvcHRpb25zKSk7CisgICAgUmVmUHRyPERvY3VtZW50VGhyZWFk
YWJsZUxvYWRlcj4gbG9hZGVyID0gYWRvcHRSZWYobmV3IERvY3VtZW50VGhyZWFkYWJsZUxvYWRl
cihkb2N1bWVudCwgY2xpZW50LCBMb2FkQXN5bmNocm9ub3VzbHksIHJlcXVlc3QsIG9wdGlvbnMs
IGluaXRpYXRvcikpOwogICAgIGlmICghbG9hZGVyLT5tX3Jlc291cmNlKQogICAgICAgICBsb2Fk
ZXIgPSAwOwogICAgIHJldHVybiBsb2FkZXIucmVsZWFzZSgpOwogfQogCi1Eb2N1bWVudFRocmVh
ZGFibGVMb2FkZXI6OkRvY3VtZW50VGhyZWFkYWJsZUxvYWRlcihEb2N1bWVudCogZG9jdW1lbnQs
IFRocmVhZGFibGVMb2FkZXJDbGllbnQqIGNsaWVudCwgQmxvY2tpbmdCZWhhdmlvciBibG9ja2lu
Z0JlaGF2aW9yLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFRocmVhZGFi
bGVMb2FkZXJPcHRpb25zJiBvcHRpb25zKQorRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyOjpEb2N1
bWVudFRocmVhZGFibGVMb2FkZXIoRG9jdW1lbnQqIGRvY3VtZW50LCBUaHJlYWRhYmxlTG9hZGVy
Q2xpZW50KiBjbGllbnQsIEJsb2NraW5nQmVoYXZpb3IgYmxvY2tpbmdCZWhhdmlvciwgY29uc3Qg
UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9ucyYg
b3B0aW9ucywgY29uc3QgTG9hZEluaXRpYXRvciYgaW5pdGlhdG9yKQogICAgIDogbV9jbGllbnQo
Y2xpZW50KQogICAgICwgbV9kb2N1bWVudChkb2N1bWVudCkKICAgICAsIG1fb3B0aW9ucyhvcHRp
b25zKQogICAgICwgbV9zYW1lT3JpZ2luUmVxdWVzdChzZWN1cml0eU9yaWdpbigpLT5jYW5SZXF1
ZXN0KHJlcXVlc3QudXJsKCkpKQogICAgICwgbV9zaW1wbGVSZXF1ZXN0KHRydWUpCiAgICAgLCBt
X2FzeW5jKGJsb2NraW5nQmVoYXZpb3IgPT0gTG9hZEFzeW5jaHJvbm91c2x5KQorICAgICwgbV9p
bml0aWF0b3IoaW5pdGlhdG9yKQogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgLCBtX3ByZWZs
aWdodFJlcXVlc3RJZGVudGlmaWVyKDApCiAjZW5kaWYKQEAgLTMwMyw3ICszMDQsNyBAQCB2b2lk
IERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcjo6bm90aWZ5RmluaXNoZWQoQ2FjaGVkUmVzb3VyY2Uq
IHJlc291cmNlKQogewogICAgIEFTU0VSVChtX2NsaWVudCk7CiAgICAgQVNTRVJUX1VOVVNFRChy
ZXNvdXJjZSwgcmVzb3VyY2UgPT0gbV9yZXNvdXJjZSk7Ci0gICAgICAgIAorCiAgICAgaWYgKG1f
cmVzb3VyY2UgJiYgKG1fcmVzb3VyY2UtPmVycm9yT2NjdXJyZWQoKSB8fCBtX3Jlc291cmNlLT53
YXNDYW5jZWxlZCgpKSkgewogICAgICAgICBSZXNvdXJjZUVycm9yIGVycm9yKCJOZXR3b3JrIFJl
cXVlc3QgRmFpbGVkIiwgMCwgbV9yZXNvdXJjZS0+dXJsKCksICJSZXNvdXJjZSBmYWlsZWQgdG8g
bG9hZCIpOwogICAgICAgICBpZiAobV9yZXNvdXJjZS0+d2FzQ2FuY2VsZWQoKSkKQEAgLTM4Niw3
ICszODcsNyBAQCB2b2lkIERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcjo6bG9hZFJlcXVlc3QoY29u
c3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBTZWN1cgogICAgICAgICB9CiAjZW5kaWYKICAg
ICAgICAgQVNTRVJUKCFtX3Jlc291cmNlKTsKLSAgICAgICAgbV9yZXNvdXJjZSA9IG1fZG9jdW1l
bnQtPmNhY2hlZFJlc291cmNlTG9hZGVyKCktPnJlcXVlc3RSYXdSZXNvdXJjZShuZXdSZXF1ZXN0
LCBvcHRpb25zKTsKKyAgICAgICAgbV9yZXNvdXJjZSA9IG1fZG9jdW1lbnQtPmNhY2hlZFJlc291
cmNlTG9hZGVyKCktPnJlcXVlc3RSYXdSZXNvdXJjZShuZXdSZXF1ZXN0LCBvcHRpb25zLCBtX2lu
aXRpYXRvcik7CiAgICAgICAgIGlmIChtX3Jlc291cmNlKSB7CiAjaWYgRU5BQkxFKElOU1BFQ1RP
UikKICAgICAgICAgICAgIGlmIChtX3Jlc291cmNlLT5sb2FkZXIoKSkgewpAQCAtMzk4LDcgKzM5
OSw3IEBAIHZvaWQgRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyOjpsb2FkUmVxdWVzdChjb25zdCBS
ZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFNlY3VyCiAgICAgICAgIH0KICAgICAgICAgcmV0dXJu
OwogICAgIH0KLSAgICAKKwogICAgIC8vIEZJWE1FOiBUaHJlYWRhYmxlTG9hZGVyT3B0aW9ucy5z
bmlmZkNvbnRlbnQgaXMgbm90IHN1cHBvcnRlZCBmb3Igc3luY2hyb25vdXMgcmVxdWVzdHMuCiAg
ICAgVmVjdG9yPGNoYXI+IGRhdGE7CiAgICAgUmVzb3VyY2VFcnJvciBlcnJvcjsKQEAgLTQzMCw3
ICs0MzEsMTMgQEAgdm9pZCBEb2N1bWVudFRocmVhZGFibGVMb2FkZXI6OmxvYWRSZXF1ZXN0KGNv
bnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgU2VjdXIKICAgICBpbnQgbGVuID0gc3RhdGlj
X2Nhc3Q8aW50PihkYXRhLnNpemUoKSk7CiAgICAgZGF0YVJlY2VpdmVkKDAsIGJ5dGVzLCBsZW4p
OwogCi0gICAgZGlkRmluaXNoTG9hZGluZyhpZGVudGlmaWVyLCAwLjApOworICAgIGRvdWJsZSBm
aW5pc2hUaW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CisjaWYgRU5BQkxFKFJF
U09VUkNFX1RJTUlORykKKyAgICBpZiAobV9pbml0aWF0b3IuaW5pdGlhdG9yRG9jdW1lbnQoKSkK
KyAgICAgICAgbV9pbml0aWF0b3IuaW5pdGlhdG9yRG9jdW1lbnQoKS0+ZG9tV2luZG93KCktPnBl
cmZvcm1hbmNlKCktPmFkZFJlc291cmNlVGltaW5nKG1faW5pdGlhdG9yLCByZXF1ZXN0LCByZXNw
b25zZSwgbV9pbml0aWF0b3IuaW5pdGlhdGlvblRpbWUoKSwgZmluaXNoVGltZSk7CisjZW5kaWYK
KworICAgIGRpZEZpbmlzaExvYWRpbmcoaWRlbnRpZmllciwgZmluaXNoVGltZSk7CiB9CiAKIGJv
b2wgRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyOjppc0FsbG93ZWRSZWRpcmVjdChjb25zdCBLVVJM
JiB1cmwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRh
YmxlTG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9h
ZGVyLmgKaW5kZXggODc5OTE5ZmVjYTU1YTIxZGNjZTNiZDAxY2I5ZGQ5OGM1OWY0MTA1Yy4uNDkw
Zjk2NzZjZTRkYjIyZDA4ZGEwYjM0ZTZkODU1NTk1OTRlMTIyYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuaApAQCAtMzQsNiArMzQsOCBA
QAogI2luY2x1ZGUgIkNhY2hlZFJhd1Jlc291cmNlLmgiCiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3Vy
Y2VIYW5kbGUuaCIKICNpbmNsdWRlICJGcmFtZUxvYWRlclR5cGVzLmgiCisjaW5jbHVkZSAiTG9h
ZEluaXRpYXRvckhhbmRsZS5oIgorI2luY2x1ZGUgIk51bGxMb2FkSW5pdGlhdG9yLmgiCiAjaW5j
bHVkZSAiVGhyZWFkYWJsZUxvYWRlci5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5j
bHVkZSA8d3RmL093blB0ci5oPgpAQCAtNDUsNiArNDcsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgIGNsYXNzIERvY3VtZW50OwogICAgIGNsYXNzIEtVUkw7CisgICAgY2xhc3MgTG9hZElu
aXRpYXRvcjsKICAgICBjbGFzcyBSZXNvdXJjZVJlcXVlc3Q7CiAgICAgY2xhc3MgU2VjdXJpdHlP
cmlnaW47CiAgICAgY2xhc3MgVGhyZWFkYWJsZUxvYWRlckNsaWVudDsKQEAgLTUyLDggKzU1LDgg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIERvY3VtZW50VGhyZWFkYWJsZUxvYWRl
ciA6IHB1YmxpYyBSZWZDb3VudGVkPERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcj4sIHB1YmxpYyBU
aHJlYWRhYmxlTG9hZGVyLCBwcml2YXRlIENhY2hlZFJhd1Jlc291cmNlQ2xpZW50ICB7CiAgICAg
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKLSAgICAgICAgc3RhdGlj
IHZvaWQgbG9hZFJlc291cmNlU3luY2hyb25vdXNseShEb2N1bWVudCosIGNvbnN0IFJlc291cmNl
UmVxdWVzdCYsIFRocmVhZGFibGVMb2FkZXJDbGllbnQmLCBjb25zdCBUaHJlYWRhYmxlTG9hZGVy
T3B0aW9ucyYpOwotICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxEb2N1bWVudFRocmVhZGFibGVM
b2FkZXI+IGNyZWF0ZShEb2N1bWVudCosIFRocmVhZGFibGVMb2FkZXJDbGllbnQqLCBjb25zdCBS
ZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9ucyYpOworICAgICAg
ICBzdGF0aWMgdm9pZCBsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KERvY3VtZW50KiwgY29uc3Qg
UmVzb3VyY2VSZXF1ZXN0JiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCYsIGNvbnN0IFRocmVhZGFi
bGVMb2FkZXJPcHRpb25zJiwgY29uc3QgTG9hZEluaXRpYXRvciYgPSBOdWxsTG9hZEluaXRpYXRv
cjo6aW5zdGFuY2UoKSk7CisgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPERvY3VtZW50VGhyZWFk
YWJsZUxvYWRlcj4gY3JlYXRlKERvY3VtZW50KiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCosIGNv
bnN0IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJiwgY29u
c3QgTG9hZEluaXRpYXRvciYgPSBOdWxsTG9hZEluaXRpYXRvcjo6aW5zdGFuY2UoKSk7CiAgICAg
ICAgIHZpcnR1YWwgfkRvY3VtZW50VGhyZWFkYWJsZUxvYWRlcigpOwogCiAgICAgICAgIHZpcnR1
YWwgdm9pZCBjYW5jZWwoKTsKQEAgLTcyLDcgKzc1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgICAgICAgICAgTG9hZEFzeW5jaHJvbm91c2x5CiAgICAgICAgIH07CiAKLSAgICAgICAgRG9j
dW1lbnRUaHJlYWRhYmxlTG9hZGVyKERvY3VtZW50KiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCos
IEJsb2NraW5nQmVoYXZpb3IsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFRocmVhZGFi
bGVMb2FkZXJPcHRpb25zJik7CisgICAgICAgIERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcihEb2N1
bWVudCosIFRocmVhZGFibGVMb2FkZXJDbGllbnQqLCBCbG9ja2luZ0JlaGF2aW9yLCBjb25zdCBS
ZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9ucyYsIGNvbnN0IExv
YWRJbml0aWF0b3ImKTsKIAogICAgICAgICB2b2lkIGNsZWFyUmVzb3VyY2UoKTsKIApAQCAtMTA4
LDYgKzExMSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgYm9vbCBtX3NpbXBsZVJl
cXVlc3Q7CiAgICAgICAgIGJvb2wgbV9hc3luYzsKICAgICAgICAgT3duUHRyPFJlc291cmNlUmVx
dWVzdD4gbV9hY3R1YWxSZXF1ZXN0OyAgLy8gbm9uLW51bGwgZHVyaW5nIEFjY2VzcyBDb250cm9s
IHByZWZsaWdodCBjaGVja3MKKyAgICAgICAgTG9hZEluaXRpYXRvckhhbmRsZSBtX2luaXRpYXRv
cjsKIAogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgICAgIHVuc2lnbmVkIGxvbmcgbV9wcmVm
bGlnaHRSZXF1ZXN0SWRlbnRpZmllcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9JbWFnZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3Bw
CmluZGV4IDA1MjNiM2E4OWYzMTY3NWNjNjk5ZTE1ZDlkMTYxNjA3ZjdlNzViMTEuLmIxNTE1YTU4
Y2YyYWU5ZTkzOGFlN2EyZmYyNzM3OTMwZTYyMzQwMjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0lt
YWdlTG9hZGVyLmNwcApAQCAtMzQsNiArMzQsNyBAQAogI2luY2x1ZGUgIkhUTUxPYmplY3RFbGVt
ZW50LmgiCiAjaW5jbHVkZSAiSFRNTFBhcnNlcklkaW9tcy5oIgogI2luY2x1ZGUgIkltYWdlTG9h
ZGVyQ2xpZW50LmgiCisjaW5jbHVkZSAiTm9kZUxvYWRJbml0aWF0b3IuaCIKICNpbmNsdWRlICJS
ZW5kZXJJbWFnZS5oIgogI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFjay5oIgogI2luY2x1ZGUgIlNl
Y3VyaXR5T3JpZ2luLmgiCkBAIC0xOTQsNyArMTk1LDcgQEAgdm9pZCBJbWFnZUxvYWRlcjo6dXBk
YXRlRnJvbUVsZW1lbnQoKQogICAgICAgICAgICAgZG9jdW1lbnQoKS0+Y2FjaGVkUmVzb3VyY2VM
b2FkZXIoKS0+bV9kb2N1bWVudFJlc291cmNlcy5zZXQobmV3SW1hZ2UtPnVybCgpLCBuZXdJbWFn
ZS5nZXQoKSk7CiAgICAgICAgICAgICBkb2N1bWVudCgpLT5jYWNoZWRSZXNvdXJjZUxvYWRlcigp
LT5zZXRBdXRvTG9hZEltYWdlcyhhdXRvTG9hZE90aGVySW1hZ2VzKTsKICAgICAgICAgfSBlbHNl
Ci0gICAgICAgICAgICBuZXdJbWFnZSA9IGRvY3VtZW50KCktPmNhY2hlZFJlc291cmNlTG9hZGVy
KCktPnJlcXVlc3RJbWFnZShyZXF1ZXN0KTsKKyAgICAgICAgICAgIG5ld0ltYWdlID0gZG9jdW1l
bnQoKS0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKS0+cmVxdWVzdEltYWdlKHJlcXVlc3QsIE5vZGVM
b2FkSW5pdGlhdG9yKGNsaWVudCgpLT5zb3VyY2VFbGVtZW50KCkpKTsKIAogICAgICAgICAvLyBJ
ZiB3ZSBkbyBub3QgaGF2ZSBhbiBpbWFnZSBoZXJlLCBpdCBtZWFucyB0aGF0IGEgY3Jvc3Mtc2l0
ZQogICAgICAgICAvLyB2aW9sYXRpb24gb2NjdXJyZWQsIG9yIHRoYXQgdGhlIGltYWdlIHdhcyBi
bG9ja2VkIHZpYSBDb250ZW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTGlu
a0xvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTGlua0xvYWRlci5jcHAKaW5kZXgg
YWYyNWE4NjgwM2M0MDc0NzljMTAyNjdhZjI2NjdlYTAyYWU1ZDJmMy4uNDFmMjQxODAyOGM4YjJm
Yzc2ZmM0NzY0YTg4ZmM3NTNkY2Q5NGIwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0xpbmtMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9MaW5rTG9hZGVy
LmNwcApAQCAtNDEsNiArNDEsNyBAQAogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiRnJh
bWVWaWV3LmgiCiAjaW5jbHVkZSAiTGlua1JlbEF0dHJpYnV0ZS5oIgorI2luY2x1ZGUgIk5vZGVM
b2FkSW5pdGlhdG9yLmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKICNpbmNsdWRlICJTdHlsZVJl
c29sdmVyLmgiCiAKQEAgLTEyMCwxMiArMTIxLDEyIEBAIGJvb2wgTGlua0xvYWRlcjo6bG9hZExp
bmsoY29uc3QgTGlua1JlbEF0dHJpYnV0ZSYgcmVsQXR0cmlidXRlLCBjb25zdCBTdHJpbmcmIHR5
CiAgICAgICAgICAgICB0eXBlID0gQ2FjaGVkUmVzb3VyY2U6OkxpbmtTdWJyZXNvdXJjZTsKICAg
ICAgICAgfQogICAgICAgICBSZXNvdXJjZVJlcXVlc3QgbGlua1JlcXVlc3QoZG9jdW1lbnQtPmNv
bXBsZXRlVVJMKGhyZWYpKTsKLSAgICAgICAgCisKICAgICAgICAgaWYgKG1fY2FjaGVkTGlua1Jl
c291cmNlKSB7CiAgICAgICAgICAgICBtX2NhY2hlZExpbmtSZXNvdXJjZS0+cmVtb3ZlQ2xpZW50
KHRoaXMpOwogICAgICAgICAgICAgbV9jYWNoZWRMaW5rUmVzb3VyY2UgPSAwOwogICAgICAgICB9
Ci0gICAgICAgIG1fY2FjaGVkTGlua1Jlc291cmNlID0gZG9jdW1lbnQtPmNhY2hlZFJlc291cmNl
TG9hZGVyKCktPnJlcXVlc3RMaW5rUmVzb3VyY2UodHlwZSwgbGlua1JlcXVlc3QsIHByaW9yaXR5
KTsKKyAgICAgICAgbV9jYWNoZWRMaW5rUmVzb3VyY2UgPSBkb2N1bWVudC0+Y2FjaGVkUmVzb3Vy
Y2VMb2FkZXIoKS0+cmVxdWVzdExpbmtSZXNvdXJjZSh0eXBlLCBsaW5rUmVxdWVzdCwgTm9kZUxv
YWRJbml0aWF0b3IobV9jbGllbnQtPmluaXRpYXRvck5vZGUoKSksIHByaW9yaXR5KTsKICAgICAg
ICAgaWYgKG1fY2FjaGVkTGlua1Jlc291cmNlKQogICAgICAgICAgICAgbV9jYWNoZWRMaW5rUmVz
b3VyY2UtPmFkZENsaWVudCh0aGlzKTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvTGlua0xvYWRlckNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0xpbmtM
b2FkZXJDbGllbnQuaAppbmRleCA0MzUwZWU3OGM5NWE3NjNmOWNjNWQ0NWU1YThlMTYyYTliMWE1
MDYzLi42ZGI0ZWRkYTc3ZTJkZGJhMjk3NWNkNzdkODBkM2ZiNTI4MDE3NDJlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTGlua0xvYWRlckNsaWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9MaW5rTG9hZGVyQ2xpZW50LmgKQEAgLTMyLDExICszMiwxNCBAQAogI2Rl
ZmluZSBMaW5rTG9hZGVyQ2xpZW50X2gKIAogbmFtZXNwYWNlIFdlYkNvcmUgeworY2xhc3MgTm9k
ZTsKIAogY2xhc3MgTGlua0xvYWRlckNsaWVudCB7CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+TGlu
a0xvYWRlckNsaWVudCgpIHsgfQogCisgICAgdmlydHVhbCBOb2RlKiBpbml0aWF0b3JOb2RlKCkg
PSAwOworCiAgICAgdmlydHVhbCBib29sIHNob3VsZExvYWRMaW5rKCkgPSAwOwogCiAgICAgdmly
dHVhbCB2b2lkIGxpbmtMb2FkZWQoKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvTG9hZEluaXRpYXRvci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0xvYWRJbml0aWF0
b3IuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yNTZmZjMzYWM1YjJkMGVmMWMxM2RlYWM3NzdiMDQyM2I4NmNmNDgx
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0xvYWRJbml0aWF0b3Iu
aApAQCAtMCwwICsxLDUxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
CisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
CisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAq
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBMb2FkSW5pdGlhdG9yX2gKKyNkZWZpbmUgTG9hZElu
aXRpYXRvcl9oCisKK25hbWVzcGFjZSBXVEYgeworY2xhc3MgQXRvbWljU3RyaW5nOworfQorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CitjbGFzcyBEb2N1bWVudDsKKworY2xhc3MgTG9hZEluaXRpYXRv
ciB7CitwdWJsaWM6CisgICAgdmlydHVhbCB+TG9hZEluaXRpYXRvcigpIHsgfQorCisgICAgdmly
dHVhbCBjb25zdCBXVEY6OkF0b21pY1N0cmluZyYgaW5pdGlhdG9yTmFtZSgpIGNvbnN0ID0gMDsK
KyAgICB2aXJ0dWFsIERvY3VtZW50KiBpbml0aWF0b3JEb2N1bWVudCgpIGNvbnN0ID0gMDsKK307
CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIExvYWRJbml0aWF0b3JfaApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0xvYWRJbml0aWF0b3JIYW5kbGUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0xvYWRJbml0aWF0b3JIYW5kbGUuY3BwCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmM4NjEwZjJmMmQwMjBjOTkzODZlMTdiZDM1MDlkY2VjNjI2ZTZhMzUKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTG9hZEluaXRpYXRvckhhbmRsZS5jcHAKQEAg
LTAsMCArMSw2MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICog
bWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICog
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAq
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJMb2FkSW5pdGlhdG9y
SGFuZGxlLmgiCisKKyNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitMb2FkSW5pdGlhdG9ySGFuZGxlOjpMb2FkSW5pdGlhdG9ySGFuZGxlKCkKK3sK
KyAgICBjbGVhcigpOworfQorCitMb2FkSW5pdGlhdG9ySGFuZGxlOjpMb2FkSW5pdGlhdG9ySGFu
ZGxlKGNvbnN0IExvYWRJbml0aWF0b3ImIGluaXRpYXRvcikKKyAgICA6IG1fbmFtZShpbml0aWF0
b3IuaW5pdGlhdG9yTmFtZSgpKQorICAgICwgbV9kb2N1bWVudChpbml0aWF0b3IuaW5pdGlhdG9y
RG9jdW1lbnQoKSkKKyAgICAsIG1fdGltZShtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSkK
K3sKK30KKworTG9hZEluaXRpYXRvckhhbmRsZTo6fkxvYWRJbml0aWF0b3JIYW5kbGUoKQorewor
fQorCit2b2lkIExvYWRJbml0aWF0b3JIYW5kbGU6OmNsZWFyKCkKK3sKKyAgICBERUZJTkVfU1RB
VElDX0xPQ0FMKEF0b21pY1N0cmluZywgbmFtZSwgKCJyZXNvdXJjZSIsIEF0b21pY1N0cmluZzo6
Q29uc3RydWN0RnJvbUxpdGVyYWwpKTsKKyAgICBtX25hbWUgPSBuYW1lOworICAgIG1fZG9jdW1l
bnQuY2xlYXIoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0xvYWRJbml0aWF0b3JIYW5kbGUuaCBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9Mb2FkSW5pdGlhdG9ySGFuZGxlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzgxNTY5NWI5ZWJjZGQw
NmVlOGEwOWU0NDhkMTM4YzkyZTdlYTAzMwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9Mb2FkSW5pdGlhdG9ySGFuZGxlLmgKQEAgLTAsMCArMSw2NiBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0
cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0
aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisg
KiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYg
TG9hZEluaXRpYXRvckhhbmRsZV9oCisjZGVmaW5lIExvYWRJbml0aWF0b3JIYW5kbGVfaAorCisj
aW5jbHVkZSAiRG9jdW1lbnQuaCIKKyNpbmNsdWRlICJMb2FkSW5pdGlhdG9yLmgiCisjaW5jbHVk
ZSA8d3RmL1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmluZy5oPgorCisj
aWYgRU5BQkxFKFJFU09VUkNFX1RJTUlORykKKyNpbmNsdWRlICJET01XaW5kb3cuaCIKKyNpbmNs
dWRlICJQZXJmb3JtYW5jZS5oIgorI2VuZGlmCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xh
c3MgTG9hZEluaXRpYXRvckhhbmRsZSA6IHB1YmxpYyBMb2FkSW5pdGlhdG9yIHsKK3B1YmxpYzoK
KyAgICBMb2FkSW5pdGlhdG9ySGFuZGxlKCk7CisgICAgTG9hZEluaXRpYXRvckhhbmRsZShjb25z
dCBMb2FkSW5pdGlhdG9yJik7CisgICAgdmlydHVhbCB+TG9hZEluaXRpYXRvckhhbmRsZSgpOwor
CisgICAgdm9pZCBjbGVhcigpOworCisgICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIGlu
aXRpYXRvck5hbWUoKSBjb25zdCB7IHJldHVybiBtX25hbWU7IH0KKyAgICB2aXJ0dWFsIERvY3Vt
ZW50KiBpbml0aWF0b3JEb2N1bWVudCgpIGNvbnN0IHsgcmV0dXJuIG1fZG9jdW1lbnQuZ2V0KCk7
IH0KKyAgICBkb3VibGUgaW5pdGlhdGlvblRpbWUoKSBjb25zdCB7IHJldHVybiBtX3RpbWU7IH0K
KworcHJpdmF0ZToKKyAgICBBdG9taWNTdHJpbmcgbV9uYW1lOworICAgIFJlZlB0cjxEb2N1bWVu
dD4gbV9kb2N1bWVudDsKKyAgICBkb3VibGUgbV90aW1lOworfTsKKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQorCisjZW5kaWYgLy8gTG9hZEluaXRpYXRvckhhbmRsZV9oCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvTWFpblJlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9NYWluUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IGVhNjY3MDM2YzhjMzlmNjYy
NDhkOGUyNWQ4Y2UxYjE4MWY3NGNlMWMuLjVlN2RlMTA2YmFhMGYyYWM2MmM5NDhjOGIzZTUyNWRh
YzY0YWM3ZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9NYWluUmVzb3VyY2VM
b2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9NYWluUmVzb3VyY2VMb2FkZXIu
Y3BwCkBAIC00NCw2ICs0NCw3IEBACiAjaW5jbHVkZSAiSFRNTEZvcm1FbGVtZW50LmgiCiAjaW5j
bHVkZSAiSGlzdG9yeUl0ZW0uaCIKICNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24u
aCIKKyNpbmNsdWRlICJOb2RlTG9hZEluaXRpYXRvci5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKICNp
bmNsdWRlICJSZXNvdXJjZUVycm9yLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGUuaCIKQEAg
LTUzLDYgKzU0LDExIEBACiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKICNpbmNsdWRlIDx3dGYvQ3Vy
cmVudFRpbWUuaD4KIAorI2lmIEVOQUJMRShSRVNPVVJDRV9USU1JTkcpCisjaW5jbHVkZSAiSFRN
TEZyYW1lT3duZXJFbGVtZW50LmgiCisjaW5jbHVkZSAiUGVyZm9ybWFuY2UuaCIKKyNlbmRpZgor
CiAjaWYgUExBVEZPUk0oUVQpCiAjaW5jbHVkZSAiUGx1Z2luRGF0YWJhc2UuaCIKICNlbmRpZgpA
QCAtNTIxLDcgKzUyNywxMyBAQCB2b2lkIE1haW5SZXNvdXJjZUxvYWRlcjo6ZGlkRmluaXNoTG9h
ZGluZyhkb3VibGUgZmluaXNoVGltZSkKICAgICBpZiAobV9sb2FkaW5nTXVsdGlwYXJ0Q29udGVu
dCkKICAgICAgICAgZGwtPm1heWJlRmluaXNoTG9hZGluZ011bHRpcGFydENvbnRlbnQoKTsKIAor
CiAgICAgZG9jdW1lbnRMb2FkZXIoKS0+dGltaW5nKCktPnNldFJlc3BvbnNlRW5kKGZpbmlzaFRp
bWUgPyBmaW5pc2hUaW1lIDogKG1fdGltZU9mTGFzdERhdGFSZWNlaXZlZCA/IG1fdGltZU9mTGFz
dERhdGFSZWNlaXZlZCA6IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpKSk7CisjaWYgRU5B
QkxFKFJFU09VUkNFX1RJTUlORykKKyAgICBpZiAobV9mcmFtZS0+b3duZXJFbGVtZW50KCkpCisg
ICAgICAgIG1fZnJhbWUtPm93bmVyRWxlbWVudCgpLT5kb2N1bWVudCgpLT5kb21XaW5kb3coKS0+
cGVyZm9ybWFuY2UoKS0+YWRkUmVzb3VyY2VUaW1pbmcoTm9kZUxvYWRJbml0aWF0b3IobV9mcmFt
ZS0+b3duZXJFbGVtZW50KCkpLCBvcmlnaW5hbFJlcXVlc3QoKSwgbV9yZXNwb25zZSwgZG9jdW1l
bnRMb2FkZXIoKS0+dGltaW5nKCktPnJhd05hdmlnYXRpb25TdGFydCgpLCBmaW5pc2hUaW1lKTsK
KyNlbmRpZgorCiAgICAgZG9jdW1lbnRMb2FkZXIoKS0+ZmluaXNoZWRMb2FkaW5nKCk7CiAgICAg
UmVzb3VyY2VMb2FkZXI6OmRpZEZpbmlzaExvYWRpbmcoZmluaXNoVGltZSk7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OdWxsTG9hZEluaXRpYXRvci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvTnVsbExvYWRJbml0aWF0b3IuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI0NzI3YmRh
ZTliOGE0MGM3MzBlMWQ5MDRhM2MwMTZiYWRjNWRiOTYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvTnVsbExvYWRJbml0aWF0b3IuY3BwCkBAIC0wLDAgKzEsNDQgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQor
ICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5j
LiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkK
KyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTnVsbExvYWRJbml0aWF0b3IuaCIKKworI2lu
Y2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjb25z
dCBOdWxsTG9hZEluaXRpYXRvciYgTnVsbExvYWRJbml0aWF0b3I6Omluc3RhbmNlKCkKK3sKKyAg
ICBERUZJTkVfU1RBVElDX0xPQ0FMKE51bGxMb2FkSW5pdGlhdG9yLCBpbnN0YW5jZSwgKCkpOwor
ICAgIHJldHVybiBpbnN0YW5jZTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL051bGxMb2FkSW5pdGlhdG9yLmggYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvTnVsbExvYWRJbml0aWF0b3IuaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMDZkZWFhODM4
Nzg0NTBjZWQwZjRlN2I5Y2I4YmQxZjcyYjQ0M2U0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL051bGxMb2FkSW5pdGlhdG9yLmgKQEAgLTAsMCArMSw1MyBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBk
aXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5v
ciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3Jz
ZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
CisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIg
T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICog
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5k
ZWYgTnVsbExvYWRJbml0aWF0b3JfaAorI2RlZmluZSBOdWxsTG9hZEluaXRpYXRvcl9oCisKKyNp
bmNsdWRlICJMb2FkSW5pdGlhdG9yLmgiCisjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5n
Lmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKK2NsYXNzIERvY3VtZW50OworCitjbGFzcyBOdWxs
TG9hZEluaXRpYXRvciA6IHB1YmxpYyBMb2FkSW5pdGlhdG9yIHsKK3B1YmxpYzoKKyAgICBzdGF0
aWMgY29uc3QgTnVsbExvYWRJbml0aWF0b3ImIGluc3RhbmNlKCk7CisKKyAgICB2aXJ0dWFsIGNv
bnN0IFdURjo6QXRvbWljU3RyaW5nJiBpbml0aWF0b3JOYW1lKCkgY29uc3QgeyByZXR1cm4gbV9u
YW1lOyB9CisgICAgdmlydHVhbCBEb2N1bWVudCogaW5pdGlhdG9yRG9jdW1lbnQoKSBjb25zdCB7
IHJldHVybiAwOyB9CisKK3ByaXZhdGU6CisgICAgQXRvbWljU3RyaW5nIG1fbmFtZTsKK307CisK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIE51bGxMb2FkSW5pdGlhdG9yX2gK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWROb3RpZmllci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkTm90aWZpZXIuY3BwCmluZGV4
IGM3MzQ5YTFlZDZhMjMzMzJkZjhjOTQyOTliMmYyOWMxNzM1MDAwNDcuLjI0ZGY0ODljNzkyZWIw
OWZlZTA3YTQwNDE2NzAwOTVkNTg0MmI1OTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9SZXNvdXJjZUxvYWROb3RpZmllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L1Jlc291cmNlTG9hZE5vdGlmaWVyLmNwcApAQCAtMTIxLDYgKzEyMSwxMCBAQCB2b2lkIFJlc291
cmNlTG9hZE5vdGlmaWVyOjpkaXNwYXRjaFdpbGxTZW5kUmVxdWVzdChEb2N1bWVudExvYWRlciog
bG9hZGVyLCB1bnNpZwogICAgIC8vIFJlcG9ydCBXZWJUaW1pbmcgZm9yIGFsbCBmcmFtZXMuCiAg
ICAgaWYgKGxvYWRlciAmJiAhcmVxdWVzdC5pc051bGwoKSAmJiByZXF1ZXN0LnVybCgpID09IGxv
YWRlci0+cmVxdWVzdFVSTCgpKQogICAgICAgICByZXF1ZXN0LnNldFJlcG9ydExvYWRUaW1pbmco
dHJ1ZSk7CisKKyNpZiBFTkFCTEUoUkVTT1VSQ0VfVElNSU5HKQorICAgIHJlcXVlc3Quc2V0UmVw
b3J0TG9hZFRpbWluZyh0cnVlKTsKKyNlbmRpZgogfQogCiB2b2lkIFJlc291cmNlTG9hZE5vdGlm
aWVyOjpkaXNwYXRjaERpZFJlY2VpdmVSZXNwb25zZShEb2N1bWVudExvYWRlciogbG9hZGVyLCB1
bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHIsIFJlc291
cmNlTG9hZGVyKiByZXNvdXJjZUxvYWRlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9SZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VM
b2FkZXIuY3BwCmluZGV4IGYwYTZjMzM1Y2NmOTY5MjZiNGIxMzE2OWY0MGU0MWNhODhlZWFjOWYu
LmE3N2Q3NDc3ZGNhNTIyN2Y2NTgyOTMwOWUxYjY1OGY2YzZjNTQzMmYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmNwcApAQCAtMjM5LDYgKzIzOSw4IEBAIHZvaWQgUmVz
b3VyY2VMb2FkZXI6OndpbGxTZW5kUmVxdWVzdChSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNv
bnN0IFJlc291cmNlUmVzCiAgICAgaWYgKCFyZWRpcmVjdFJlc3BvbnNlLmlzTnVsbCgpKQogICAg
ICAgICByZXNvdXJjZUxvYWRTY2hlZHVsZXIoKS0+Y3Jvc3NPcmlnaW5SZWRpcmVjdFJlY2VpdmVk
KHRoaXMsIHJlcXVlc3QudXJsKCkpOwogICAgIG1fcmVxdWVzdCA9IHJlcXVlc3Q7CisgICAgaWYg
KG1fb3JpZ2luYWxSZXF1ZXN0LmlzTnVsbCgpKQorICAgICAgICBtX29yaWdpbmFsUmVxdWVzdCA9
IHJlcXVlc3Q7CiB9CiAKIHZvaWQgUmVzb3VyY2VMb2FkZXI6OmRpZFNlbmREYXRhKHVuc2lnbmVk
IGxvbmcgbG9uZywgdW5zaWduZWQgbG9uZyBsb25nKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL1N1YnJlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9T
dWJyZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggNTZkZTBkMzQxMzNjM2Y1YTQ3MmJmYzJiYzZmNGU1
Y2RmMzgzMDNmZC4uMmZhMjJhMGNlMmE1ZDU2OGRiNmY1YTBmMjA2MzI3YjYzYjcyYzQ1MyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnJlc291cmNlTG9hZGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwCkBAIC02LDEzICs2
LDEzIEBACiAgKiBhcmUgbWV0OgogICoKICAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisgKiAg
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgogICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CiAgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uIAorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCiAgKiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBB
cHBsZSBDb21wdXRlciwgSW5jLiAoIkFwcGxlIikgbm9yIHRoZSBuYW1lcyBvZgogICogICAgIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQKLSAqICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uIAorICogICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KICAqCiAgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFO
WQogICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRApAQCAtNDMsNiArNDMsMTEgQEAKICNpbmNsdWRlIDx3dGYv
U3RkTGliRXh0cmFzLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogCisjaWYgRU5B
QkxFKFJFU09VUkNFX1RJTUlORykKKyNpbmNsdWRlICJET01XaW5kb3cuaCIKKyNpbmNsdWRlICJQ
ZXJmb3JtYW5jZS5oIgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogREVGSU5FX0RF
QlVHX09OTFlfR0xPQkFMKFdURjo6UmVmQ291bnRlZExlYWtDb3VudGVyLCBzdWJyZXNvdXJjZUxv
YWRlckNvdW50ZXIsICgiU3VicmVzb3VyY2VMb2FkZXIiKSk7CkBAIC0xNjQsNyArMTY5LDcgQEAg
dm9pZCBTdWJyZXNvdXJjZUxvYWRlcjo6d2lsbFNlbmRSZXF1ZXN0KFJlc291cmNlUmVxdWVzdCYg
bmV3UmVxdWVzdCwgY29uc3QgUmVzb3UKIHsKICAgICAvLyBTdG9yZSB0aGUgcHJldmlvdXMgVVJM
IGJlY2F1c2UgdGhlIGNhbGwgdG8gUmVzb3VyY2VMb2FkZXI6OndpbGxTZW5kUmVxdWVzdCB3aWxs
IG1vZGlmeSBpdC4KICAgICBLVVJMIHByZXZpb3VzVVJMID0gcmVxdWVzdCgpLnVybCgpOwotICAg
IAorCiAgICAgUmVzb3VyY2VMb2FkZXI6OndpbGxTZW5kUmVxdWVzdChuZXdSZXF1ZXN0LCByZWRp
cmVjdFJlc3BvbnNlKTsKICAgICBpZiAoIXByZXZpb3VzVVJMLmlzTnVsbCgpICYmICFuZXdSZXF1
ZXN0LmlzTnVsbCgpICYmIHByZXZpb3VzVVJMICE9IG5ld1JlcXVlc3QudXJsKCkpIHsKICAgICAg
ICAgaWYgKG1fZG9jdW1lbnQtPmNhY2hlZFJlc291cmNlTG9hZGVyKCktPmNhblJlcXVlc3QobV9y
ZXNvdXJjZS0+dHlwZSgpLCBuZXdSZXF1ZXN0LnVybCgpKSkgewpAQCAtMjI2LDggKzIzMSw4IEBA
IHZvaWQgU3VicmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVSZXNwb25zZShjb25zdCBSZXNvdXJj
ZVJlc3BvbnNlJiByZXNwb25zZSkKICAgICBpZiAobV9sb2FkaW5nTXVsdGlwYXJ0Q29udGVudCAm
JiBidWZmZXIgJiYgYnVmZmVyLT5zaXplKCkpIHsKICAgICAgICAgc2VuZERhdGFUb1Jlc291cmNl
KGJ1ZmZlci0+ZGF0YSgpLCBidWZmZXItPnNpemUoKSk7CiAgICAgICAgIGNsZWFyUmVzb3VyY2VE
YXRhKCk7Ci0gICAgICAgIC8vIFNpbmNlIGEgc3VicmVzb3VyY2UgbG9hZGVyIGRvZXMgbm90IGxv
YWQgbXVsdGlwYXJ0IHNlY3Rpb25zIHByb2dyZXNzaXZlbHksIGRhdGEgd2FzIGRlbGl2ZXJlZCB0
byB0aGUgbG9hZGVyIGFsbCBhdCBvbmNlLiAgICAgICAgCi0gICAgICAgIC8vIEFmdGVyIHRoZSBm
aXJzdCBtdWx0aXBhcnQgc2VjdGlvbiBpcyBjb21wbGV0ZSwgc2lnbmFsIHRvIGRlbGVnYXRlcyB0
aGF0IHRoaXMgbG9hZCBpcyAiZmluaXNoZWQiIAorICAgICAgICAvLyBTaW5jZSBhIHN1YnJlc291
cmNlIGxvYWRlciBkb2VzIG5vdCBsb2FkIG11bHRpcGFydCBzZWN0aW9ucyBwcm9ncmVzc2l2ZWx5
LCBkYXRhIHdhcyBkZWxpdmVyZWQgdG8gdGhlIGxvYWRlciBhbGwgYXQgb25jZS4KKyAgICAgICAg
Ly8gQWZ0ZXIgdGhlIGZpcnN0IG11bHRpcGFydCBzZWN0aW9uIGlzIGNvbXBsZXRlLCBzaWduYWwg
dG8gZGVsZWdhdGVzIHRoYXQgdGhpcyBsb2FkIGlzICJmaW5pc2hlZCIKICAgICAgICAgbV9kb2N1
bWVudExvYWRlci0+c3VicmVzb3VyY2VMb2FkZXJGaW5pc2hlZExvYWRpbmdPbmVQYXJ0KHRoaXMp
OwogICAgICAgICBkaWRGaW5pc2hMb2FkaW5nT25lUGFydCgwKTsKICAgICB9CkBAIC0yNjQsMTYg
KzI2OSwxNiBAQCBib29sIFN1YnJlc291cmNlTG9hZGVyOjpjaGVja0ZvckhUVFBTdGF0dXNDb2Rl
RXJyb3IoKQogCiB2b2lkIFN1YnJlc291cmNlTG9hZGVyOjpzZW5kRGF0YVRvUmVzb3VyY2UoY29u
c3QgY2hhciogZGF0YSwgaW50IGxlbmd0aCkKIHsKLSAgICAvLyBUaGVyZSBhcmUgdHdvIGNhc2Vz
IHdoZXJlIHdlIG1pZ2h0IG5lZWQgdG8gY3JlYXRlIG91ciBvd24gU2hhcmVkQnVmZmVyIGluc3Rl
YWQgb2YgY29weWluZyB0aGUgb25lIGluIFJlc291cmNlTG9hZGVyLiAKLSAgICAvLyAoMSkgTXVs
dGlwYXJ0IGNvbnRlbnQ6IFRoZSBsb2FkZXIgZGVsaXZlcnMgdGhlIGRhdGEgaW4gYSBtdWx0aXBh
cnQgc2VjdGlvbiBhbGwgYXQgb25jZSwgdGhlbiBzZW5kcyBlb2YuIAotICAgIC8vICAgICBUaGUg
cmVzb3VyY2UgZGF0YSB3aWxsIGNoYW5nZSBhcyB0aGUgbmV4dCBwYXJ0IGlzIGxvYWRlZCwgc28g
d2UgbmVlZCB0byBtYWtlIGEgY29weS4gCi0gICAgLy8gKDIpIE91ciBjbGllbnQgcmVxdWVzdGVk
IHRoYXQgdGhlIGRhdGEgbm90IGJlIGJ1ZmZlcmVkIGF0IHRoZSBSZXNvdXJjZUxvYWRlciBsZXZl
bCB2aWEgUmVzb3VyY2VMb2FkZXJPcHRpb25zLiBJbiB0aGlzIGNhc2UsIAotICAgIC8vICAgICBS
ZXNvdXJjZUxvYWRlcjo6cmVzb3VyY2VEYXRhKCkgd2lsbCBiZSBudWxsLiBIb3dldmVyLCB1bmxp
a2UgdGhlIG11bHRpcGFydCBjYXNlLCB3ZSBkb24ndCB3YW50IHRvIHRlbGwgdGhlIENhY2hlZFJl
c291cmNlIAotICAgIC8vICAgICB0aGF0IGFsbCBkYXRhIGhhcyBiZWVuIHJlY2VpdmVkIHlldC4g
Ci0gICAgaWYgKG1fbG9hZGluZ011bHRpcGFydENvbnRlbnQgfHwgIXJlc291cmNlRGF0YSgpKSB7
IAotICAgICAgICBSZWZQdHI8U2hhcmVkQnVmZmVyPiBjb3BpZWREYXRhID0gU2hhcmVkQnVmZmVy
OjpjcmVhdGUoZGF0YSwgbGVuZ3RoKTsgCi0gICAgICAgIG1fcmVzb3VyY2UtPmRhdGEoY29waWVk
RGF0YS5yZWxlYXNlKCksIG1fbG9hZGluZ011bHRpcGFydENvbnRlbnQpOyAKLSAgICB9IGVsc2Ug
CisgICAgLy8gVGhlcmUgYXJlIHR3byBjYXNlcyB3aGVyZSB3ZSBtaWdodCBuZWVkIHRvIGNyZWF0
ZSBvdXIgb3duIFNoYXJlZEJ1ZmZlciBpbnN0ZWFkIG9mIGNvcHlpbmcgdGhlIG9uZSBpbiBSZXNv
dXJjZUxvYWRlci4KKyAgICAvLyAoMSkgTXVsdGlwYXJ0IGNvbnRlbnQ6IFRoZSBsb2FkZXIgZGVs
aXZlcnMgdGhlIGRhdGEgaW4gYSBtdWx0aXBhcnQgc2VjdGlvbiBhbGwgYXQgb25jZSwgdGhlbiBz
ZW5kcyBlb2YuCisgICAgLy8gICAgIFRoZSByZXNvdXJjZSBkYXRhIHdpbGwgY2hhbmdlIGFzIHRo
ZSBuZXh0IHBhcnQgaXMgbG9hZGVkLCBzbyB3ZSBuZWVkIHRvIG1ha2UgYSBjb3B5LgorICAgIC8v
ICgyKSBPdXIgY2xpZW50IHJlcXVlc3RlZCB0aGF0IHRoZSBkYXRhIG5vdCBiZSBidWZmZXJlZCBh
dCB0aGUgUmVzb3VyY2VMb2FkZXIgbGV2ZWwgdmlhIFJlc291cmNlTG9hZGVyT3B0aW9ucy4gSW4g
dGhpcyBjYXNlLAorICAgIC8vICAgICBSZXNvdXJjZUxvYWRlcjo6cmVzb3VyY2VEYXRhKCkgd2ls
bCBiZSBudWxsLiBIb3dldmVyLCB1bmxpa2UgdGhlIG11bHRpcGFydCBjYXNlLCB3ZSBkb24ndCB3
YW50IHRvIHRlbGwgdGhlIENhY2hlZFJlc291cmNlCisgICAgLy8gICAgIHRoYXQgYWxsIGRhdGEg
aGFzIGJlZW4gcmVjZWl2ZWQgeWV0LgorICAgIGlmIChtX2xvYWRpbmdNdWx0aXBhcnRDb250ZW50
IHx8ICFyZXNvdXJjZURhdGEoKSkgeworICAgICAgICBSZWZQdHI8U2hhcmVkQnVmZmVyPiBjb3Bp
ZWREYXRhID0gU2hhcmVkQnVmZmVyOjpjcmVhdGUoZGF0YSwgbGVuZ3RoKTsKKyAgICAgICAgbV9y
ZXNvdXJjZS0+ZGF0YShjb3BpZWREYXRhLnJlbGVhc2UoKSwgbV9sb2FkaW5nTXVsdGlwYXJ0Q29u
dGVudCk7CisgICAgfSBlbHNlCiAgICAgICAgIG1fcmVzb3VyY2UtPmRhdGEocmVzb3VyY2VEYXRh
KCksIGZhbHNlKTsKIH0KIApAQCAtMjk2LDYgKzMwMSwxMSBAQCB2b2lkIFN1YnJlc291cmNlTG9h
ZGVyOjpkaWRGaW5pc2hMb2FkaW5nKGRvdWJsZSBmaW5pc2hUaW1lKQogICAgIFJlZlB0cjxTdWJy
ZXNvdXJjZUxvYWRlcj4gcHJvdGVjdCh0aGlzKTsKICAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZTxD
YWNoZWRSZXNvdXJjZT4gcHJvdGVjdFJlc291cmNlKG1fcmVzb3VyY2UpOwogICAgIG1fc3RhdGUg
PSBGaW5pc2hpbmc7CisjaWYgRU5BQkxFKFJFU09VUkNFX1RJTUlORykKKyAgICBjb25zdCBMb2Fk
SW5pdGlhdG9ySGFuZGxlJiBpbml0aWF0b3IgPSBtX3Jlc291cmNlLT5pbml0aWF0b3IoKTsKKyAg
ICBpZiAoaW5pdGlhdG9yLmluaXRpYXRvckRvY3VtZW50KCkpCisgICAgICAgIGluaXRpYXRvci5p
bml0aWF0b3JEb2N1bWVudCgpLT5kb21XaW5kb3coKS0+cGVyZm9ybWFuY2UoKS0+YWRkUmVzb3Vy
Y2VUaW1pbmcoaW5pdGlhdG9yLCBtX3Jlc291cmNlLT5yZXNvdXJjZVJlcXVlc3QoKSwgbV9yZXNv
dXJjZS0+cmVzcG9uc2UoKSwgaW5pdGlhdG9yLmluaXRpYXRpb25UaW1lKCksIGZpbmlzaFRpbWUp
OworI2VuZGlmCiAgICAgbV9yZXNvdXJjZS0+c2V0TG9hZEZpbmlzaFRpbWUoZmluaXNoVGltZSk7
CiAgICAgbV9yZXNvdXJjZS0+ZGF0YShyZXNvdXJjZURhdGEoKSwgdHJ1ZSk7CiAgICAgbV9yZXNv
dXJjZS0+ZmluaXNoKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFRy
YWNrTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UZXh0VHJhY2tMb2FkZXIuY3Bw
CmluZGV4IDIwMjU3MGQxZDBhOGQ1ZTM1ZjZjMTQ0Yjg5YWZmMmMyMGE4ODE1NzcuLjcyOWM2Zjhm
NjRiZDNmMzcyMjVjY2ViMmNhYjNjZWMxNDA4ZDllYjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9UZXh0VHJhY2tMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9UZXh0VHJhY2tMb2FkZXIuY3BwCkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSAiQ3Jvc3NP
cmlnaW5BY2Nlc3NDb250cm9sLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJM
b2dnaW5nLmgiCisjaW5jbHVkZSAiTm9kZUxvYWRJbml0aWF0b3IuaCIKICNpbmNsdWRlICJSZXNv
dXJjZUhhbmRsZS5oIgogI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFjay5oIgogI2luY2x1ZGUgIlNl
Y3VyaXR5T3JpZ2luLmgiCkBAIC00MSw3ICs0Miw3IEBACiAjaW5jbHVkZSAiV2ViVlRUUGFyc2Vy
LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKLSAgICAKKwogVGV4dFRyYWNrTG9hZGVyOjpUZXh0
VHJhY2tMb2FkZXIoVGV4dFRyYWNrTG9hZGVyQ2xpZW50KiBjbGllbnQsIFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQqIGNvbnRleHQpCiAgICAgOiBtX2NsaWVudChjbGllbnQpCiAgICAgLCBtX3Njcmlw
dEV4ZWN1dGlvbkNvbnRleHQoY29udGV4dCkKQEAgLTYxLDEyICs2MiwxMiBAQCBUZXh0VHJhY2tM
b2FkZXI6On5UZXh0VHJhY2tMb2FkZXIoKQogdm9pZCBUZXh0VHJhY2tMb2FkZXI6OmN1ZUxvYWRU
aW1lckZpcmVkKFRpbWVyPFRleHRUcmFja0xvYWRlcj4qIHRpbWVyKQogewogICAgIEFTU0VSVF9V
TlVTRUQodGltZXIsIHRpbWVyID09ICZtX2N1ZUxvYWRUaW1lcik7Ci0gICAgCisKICAgICBpZiAo
bV9uZXdDdWVzQXZhaWxhYmxlKSB7CiAgICAgICAgIG1fbmV3Q3Vlc0F2YWlsYWJsZSA9IGZhbHNl
OwotICAgICAgICBtX2NsaWVudC0+bmV3Q3Vlc0F2YWlsYWJsZSh0aGlzKTsgCisgICAgICAgIG1f
Y2xpZW50LT5uZXdDdWVzQXZhaWxhYmxlKHRoaXMpOwogICAgIH0KLSAgICAKKwogICAgIGlmICht
X3N0YXRlID49IEZpbmlzaGVkKQogICAgICAgICBtX2NsaWVudC0+Y3VlTG9hZGluZ0NvbXBsZXRl
ZCh0aGlzLCBtX3N0YXRlID09IEZhaWxlZCk7CiB9CkBAIC04MiwxMCArODMsMTAgQEAgdm9pZCBU
ZXh0VHJhY2tMb2FkZXI6OmNhbmNlbExvYWQoKQogdm9pZCBUZXh0VHJhY2tMb2FkZXI6OnByb2Nl
c3NOZXdDdWVEYXRhKENhY2hlZFJlc291cmNlKiByZXNvdXJjZSkKIHsKICAgICBBU1NFUlQobV9j
YWNoZWRDdWVEYXRhID09IHJlc291cmNlKTsKLSAgICAKKwogICAgIGlmIChtX3N0YXRlID09IEZh
aWxlZCB8fCAhcmVzb3VyY2UtPmRhdGEoKSkKICAgICAgICAgcmV0dXJuOwotICAgIAorCiAgICAg
U2hhcmVkQnVmZmVyKiBidWZmZXIgPSByZXNvdXJjZS0+ZGF0YSgpOwogICAgIGlmIChtX3BhcnNl
T2Zmc2V0ID09IGJ1ZmZlci0+c2l6ZSgpKQogICAgICAgICByZXR1cm47CkBAIC0xMDUsMTAgKzEw
NiwxMCBAQCB2b2lkIFRleHRUcmFja0xvYWRlcjo6cHJvY2Vzc05ld0N1ZURhdGEoQ2FjaGVkUmVz
b3VyY2UqIHJlc291cmNlKQogdm9pZCBUZXh0VHJhY2tMb2FkZXI6OmRpZFJlY2VpdmVEYXRhKENh
Y2hlZFJlc291cmNlKiByZXNvdXJjZSkKIHsKICAgICBBU1NFUlQobV9jYWNoZWRDdWVEYXRhID09
IHJlc291cmNlKTsKLSAgICAKKwogICAgIGlmICghcmVzb3VyY2UtPmRhdGEoKSkKICAgICAgICAg
cmV0dXJuOwotICAgIAorCiAgICAgcHJvY2Vzc05ld0N1ZURhdGEocmVzb3VyY2UpOwogfQogCkBA
IC0xNDAsNyArMTQxLDcgQEAgdm9pZCBUZXh0VHJhY2tMb2FkZXI6Om5vdGlmeUZpbmlzaGVkKENh
Y2hlZFJlc291cmNlKiByZXNvdXJjZSkKIAogICAgIGlmICghbV9jdWVMb2FkVGltZXIuaXNBY3Rp
dmUoKSkKICAgICAgICAgbV9jdWVMb2FkVGltZXIuc3RhcnRPbmVTaG90KDApOwotICAgIAorCiAg
ICAgY2FuY2VsTG9hZCgpOwogfQogCkBAIC0xNjgsMTIgKzE2OSwxMiBAQCBib29sIFRleHRUcmFj
a0xvYWRlcjo6bG9hZChjb25zdCBLVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgY3Jvc3NPcmlnaW5N
b2RlKQogICAgIH0KIAogICAgIENhY2hlZFJlc291cmNlTG9hZGVyKiBjYWNoZWRSZXNvdXJjZUxv
YWRlciA9IGRvY3VtZW50LT5jYWNoZWRSZXNvdXJjZUxvYWRlcigpOwotICAgIG1fY2FjaGVkQ3Vl
RGF0YSA9IGNhY2hlZFJlc291cmNlTG9hZGVyLT5yZXF1ZXN0VGV4dFRyYWNrKGN1ZVJlcXVlc3Qp
OworICAgIG1fY2FjaGVkQ3VlRGF0YSA9IGNhY2hlZFJlc291cmNlTG9hZGVyLT5yZXF1ZXN0VGV4
dFRyYWNrKGN1ZVJlcXVlc3QsIE5vZGVMb2FkSW5pdGlhdG9yKG1fY2xpZW50LT5pbml0aWF0b3JO
b2RlKCkpKTsKICAgICBpZiAobV9jYWNoZWRDdWVEYXRhKQogICAgICAgICBtX2NhY2hlZEN1ZURh
dGEtPmFkZENsaWVudCh0aGlzKTsKLSAgICAKKwogICAgIG1fY2xpZW50LT5jdWVMb2FkaW5nU3Rh
cnRlZCh0aGlzKTsKLSAgICAKKwogICAgIHJldHVybiB0cnVlOwogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFRyYWNrTG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvVGV4dFRyYWNrTG9hZGVyLmgKaW5kZXggNzQzMzRmOTA2NDZjZGZkNDU4ZjljMjNmNjJm
MDgxZjQ4NzViOGMzYy4uODI0ZTEzYTQwOGEzZDNlOWJkYTYwYjlmNmVjMzY4YjM0OTYxNDE4NyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RleHRUcmFja0xvYWRlci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UZXh0VHJhY2tMb2FkZXIuaApAQCAtMzgsMTcgKzM4LDE5
IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIERvY3VtZW50OwotY2xhc3MgVGV4dFRy
YWNrTG9hZGVyOworY2xhc3MgTm9kZTsKIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7Citj
bGFzcyBUZXh0VHJhY2tMb2FkZXI7CiAKIGNsYXNzIFRleHRUcmFja0xvYWRlckNsaWVudCB7CiBw
dWJsaWM6CiAgICAgdmlydHVhbCB+VGV4dFRyYWNrTG9hZGVyQ2xpZW50KCkgeyB9Ci0gICAgCisK
ICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkTG9hZEN1ZXMoVGV4dFRyYWNrTG9hZGVyKikgPSAwOwog
ICAgIHZpcnR1YWwgdm9pZCBuZXdDdWVzQXZhaWxhYmxlKFRleHRUcmFja0xvYWRlciopID0gMDsK
ICAgICB2aXJ0dWFsIHZvaWQgY3VlTG9hZGluZ1N0YXJ0ZWQoVGV4dFRyYWNrTG9hZGVyKikgPSAw
OwogICAgIHZpcnR1YWwgdm9pZCBjdWVMb2FkaW5nQ29tcGxldGVkKFRleHRUcmFja0xvYWRlcios
IGJvb2wgbG9hZGluZ0ZhaWxlZCkgPSAwOworICAgIHZpcnR1YWwgTm9kZSogaW5pdGlhdG9yTm9k
ZSgpID0gMDsKIH07CiAKIGNsYXNzIFRleHRUcmFja0xvYWRlciA6IHB1YmxpYyBDYWNoZWRSZXNv
dXJjZUNsaWVudCwgcHJpdmF0ZSBXZWJWVFRQYXJzZXJDbGllbnQgewpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL1RocmVhZGFibGVMb2FkZXIuY3BwCmluZGV4IDcyMGJhNGVlYTE1OTI3Y2MyNWRkMDA1
Nzg4NGE1ZDNlZjZkZGY3NjYuLjhkMzdlNjQ0NzVkMjliNDk0ODkxNjgxYzI2YWY5NDhjMTE1Y2I3
ZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5jcHAKQEAgLTQw
LDcgKzQwLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1QYXNzUmVmUHRyPFRocmVhZGFi
bGVMb2FkZXI+IFRocmVhZGFibGVMb2FkZXI6OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0
KiBjb250ZXh0LCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50KiBjbGllbnQsIGNvbnN0IFJlc291cmNl
UmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMmIG9wdGlvbnMp
IAorUGFzc1JlZlB0cjxUaHJlYWRhYmxlTG9hZGVyPiBUaHJlYWRhYmxlTG9hZGVyOjpjcmVhdGUo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCog
Y2xpZW50LCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFRocmVhZGFibGVM
b2FkZXJPcHRpb25zJiBvcHRpb25zLCBjb25zdCBMb2FkSW5pdGlhdG9yJiBpbml0aWF0b3IpCiB7
CiAgICAgQVNTRVJUKGNsaWVudCk7CiAgICAgQVNTRVJUKGNvbnRleHQpOwpAQCAtNTEsMTAgKzUx
LDEwIEBAIFBhc3NSZWZQdHI8VGhyZWFkYWJsZUxvYWRlcj4gVGhyZWFkYWJsZUxvYWRlcjo6Y3Jl
YXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvCiAjZW5kaWYgLy8gRU5BQkxFKFdPUktFUlMp
CiAKICAgICBBU1NFUlQoY29udGV4dC0+aXNEb2N1bWVudCgpKTsKLSAgICByZXR1cm4gRG9jdW1l
bnRUaHJlYWRhYmxlTG9hZGVyOjpjcmVhdGUoc3RhdGljX2Nhc3Q8RG9jdW1lbnQqPihjb250ZXh0
KSwgY2xpZW50LCByZXF1ZXN0LCBvcHRpb25zKTsKKyAgICByZXR1cm4gRG9jdW1lbnRUaHJlYWRh
YmxlTG9hZGVyOjpjcmVhdGUoc3RhdGljX2Nhc3Q8RG9jdW1lbnQqPihjb250ZXh0KSwgY2xpZW50
LCByZXF1ZXN0LCBvcHRpb25zLCBpbml0aWF0b3IpOwogfQogCi12b2lkIFRocmVhZGFibGVMb2Fk
ZXI6OmxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29u
dGV4dCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBUaHJlYWRhYmxlTG9hZGVyQ2xp
ZW50JiBjbGllbnQsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJiBvcHRpb25zKQordm9p
ZCBUaHJlYWRhYmxlTG9hZGVyOjpsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqIGNvbnRleHQsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgVGhy
ZWFkYWJsZUxvYWRlckNsaWVudCYgY2xpZW50LCBjb25zdCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9u
cyYgb3B0aW9ucywgY29uc3QgTG9hZEluaXRpYXRvciYgaW5pdGlhdG9yKQogewogICAgIEFTU0VS
VChjb250ZXh0KTsKIApAQCAtNjYsNyArNjYsNyBAQCB2b2lkIFRocmVhZGFibGVMb2FkZXI6Omxv
YWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dAog
I2VuZGlmIC8vIEVOQUJMRShXT1JLRVJTKQogCiAgICAgQVNTRVJUKGNvbnRleHQtPmlzRG9jdW1l
bnQoKSk7Ci0gICAgRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyOjpsb2FkUmVzb3VyY2VTeW5jaHJv
bm91c2x5KHN0YXRpY19jYXN0PERvY3VtZW50Kj4oY29udGV4dCksIHJlcXVlc3QsIGNsaWVudCwg
b3B0aW9ucyk7CisgICAgRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyOjpsb2FkUmVzb3VyY2VTeW5j
aHJvbm91c2x5KHN0YXRpY19jYXN0PERvY3VtZW50Kj4oY29udGV4dCksIHJlcXVlc3QsIGNsaWVu
dCwgb3B0aW9ucywgaW5pdGlhdG9yKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmgKaW5kZXggODhlOGRkMTBhNThhY2Vk
YjA1OTA5MTFkZjBkOWNlYTI4YzM4NGY2Yy4uMjQ5YjUzMGU2NGYxY2ZlYTFjY2FjZDc4YjljNjI3
YmQ0MjM0NmI0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVM
b2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5oCkBA
IC0zMSw2ICszMSw3IEBACiAjaWZuZGVmIFRocmVhZGFibGVMb2FkZXJfaAogI2RlZmluZSBUaHJl
YWRhYmxlTG9hZGVyX2gKIAorI2luY2x1ZGUgIk51bGxMb2FkSW5pdGlhdG9yLmgiCiAjaW5jbHVk
ZSAiUmVzb3VyY2VIYW5kbGUuaCIKICNpbmNsdWRlICJSZXNvdXJjZUxvYWRlck9wdGlvbnMuaCIK
ICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgpAQCAtNDEsNDkgKzQyLDUwIEBACiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAotICAgIGNsYXNzIFJlc291cmNlRXJyb3I7Ci0gICAgY2xhc3MgUmVz
b3VyY2VSZXF1ZXN0OwotICAgIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7Ci0gICAgY2xhc3MgU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dDsKLSAgICBjbGFzcyBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50Owot
ICAgIAotICAgIGVudW0gQ3Jvc3NPcmlnaW5SZXF1ZXN0UG9saWN5IHsKLSAgICAgICAgRGVueUNy
b3NzT3JpZ2luUmVxdWVzdHMsCi0gICAgICAgIFVzZUFjY2Vzc0NvbnRyb2wsCi0gICAgICAgIEFs
bG93Q3Jvc3NPcmlnaW5SZXF1ZXN0cwotICAgIH07CitjbGFzcyBMb2FkSW5pdGlhdG9yOworY2xh
c3MgUmVzb3VyY2VFcnJvcjsKK2NsYXNzIFJlc291cmNlUmVxdWVzdDsKK2NsYXNzIFJlc291cmNl
UmVzcG9uc2U7CitjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OworY2xhc3MgVGhyZWFkYWJs
ZUxvYWRlckNsaWVudDsKIAotICAgIGVudW0gUHJlZmxpZ2h0UG9saWN5IHsKLSAgICAgICAgQ29u
c2lkZXJQcmVmbGlnaHQsCi0gICAgICAgIEZvcmNlUHJlZmxpZ2h0LAotICAgICAgICBQcmV2ZW50
UHJlZmxpZ2h0Ci0gICAgfTsKK2VudW0gQ3Jvc3NPcmlnaW5SZXF1ZXN0UG9saWN5IHsKKyAgICBE
ZW55Q3Jvc3NPcmlnaW5SZXF1ZXN0cywKKyAgICBVc2VBY2Nlc3NDb250cm9sLAorICAgIEFsbG93
Q3Jvc3NPcmlnaW5SZXF1ZXN0cworfTsKIAotICAgIHN0cnVjdCBUaHJlYWRhYmxlTG9hZGVyT3B0
aW9ucyA6IHB1YmxpYyBSZXNvdXJjZUxvYWRlck9wdGlvbnMgewotICAgICAgICBUaHJlYWRhYmxl
TG9hZGVyT3B0aW9ucygpIDogcHJlZmxpZ2h0UG9saWN5KENvbnNpZGVyUHJlZmxpZ2h0KSwgY3Jv
c3NPcmlnaW5SZXF1ZXN0UG9saWN5KERlbnlDcm9zc09yaWdpblJlcXVlc3RzKSB7IH0KLSAgICAg
ICAgUHJlZmxpZ2h0UG9saWN5IHByZWZsaWdodFBvbGljeTsgLy8gSWYgQWNjZXNzQ29udHJvbCBp
cyB1c2VkLCBob3cgdG8gZGV0ZXJtaW5lIGlmIGEgcHJlZmxpZ2h0IGlzIG5lZWRlZC4KLSAgICAg
ICAgQ3Jvc3NPcmlnaW5SZXF1ZXN0UG9saWN5IGNyb3NzT3JpZ2luUmVxdWVzdFBvbGljeTsKLSAg
ICAgICAgUmVmUHRyPFNlY3VyaXR5T3JpZ2luPiBzZWN1cml0eU9yaWdpbjsKLSAgICB9OworZW51
bSBQcmVmbGlnaHRQb2xpY3kgeworICAgIENvbnNpZGVyUHJlZmxpZ2h0LAorICAgIEZvcmNlUHJl
ZmxpZ2h0LAorICAgIFByZXZlbnRQcmVmbGlnaHQKK307CiAKLSAgICAvLyBVc2VmdWwgZm9yIGRv
aW5nIGxvYWRlciBvcGVyYXRpb25zIGZyb20gYW55IHRocmVhZCAobm90IHRocmVhZHNhZmUsIAot
ICAgIC8vIGp1c3QgYWJsZSB0byBydW4gb24gdGhyZWFkcyBvdGhlciB0aGFuIHRoZSBtYWluIHRo
cmVhZCkuCi0gICAgY2xhc3MgVGhyZWFkYWJsZUxvYWRlciB7Ci0gICAgICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFRocmVhZGFibGVMb2FkZXIpOwotICAgIHB1YmxpYzoKLSAgICAgICAgc3RhdGlj
IHZvaWQgbG9hZFJlc291cmNlU3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25Db250ZXh0Kiwg
Y29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCYsIGNvbnN0IFRo
cmVhZGFibGVMb2FkZXJPcHRpb25zJik7Ci0gICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFRocmVh
ZGFibGVMb2FkZXI+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgVGhyZWFkYWJsZUxv
YWRlckNsaWVudCosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFRocmVhZGFibGVMb2Fk
ZXJPcHRpb25zJik7CitzdHJ1Y3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMgOiBwdWJsaWMgUmVz
b3VyY2VMb2FkZXJPcHRpb25zIHsKKyAgICBUaHJlYWRhYmxlTG9hZGVyT3B0aW9ucygpIDogcHJl
ZmxpZ2h0UG9saWN5KENvbnNpZGVyUHJlZmxpZ2h0KSwgY3Jvc3NPcmlnaW5SZXF1ZXN0UG9saWN5
KERlbnlDcm9zc09yaWdpblJlcXVlc3RzKSB7IH0KKyAgICBQcmVmbGlnaHRQb2xpY3kgcHJlZmxp
Z2h0UG9saWN5OyAvLyBJZiBBY2Nlc3NDb250cm9sIGlzIHVzZWQsIGhvdyB0byBkZXRlcm1pbmUg
aWYgYSBwcmVmbGlnaHQgaXMgbmVlZGVkLgorICAgIENyb3NzT3JpZ2luUmVxdWVzdFBvbGljeSBj
cm9zc09yaWdpblJlcXVlc3RQb2xpY3k7CisgICAgUmVmUHRyPFNlY3VyaXR5T3JpZ2luPiBzZWN1
cml0eU9yaWdpbjsKK307CiAKLSAgICAgICAgdmlydHVhbCB2b2lkIGNhbmNlbCgpID0gMDsKLSAg
ICAgICAgdm9pZCByZWYoKSB7IHJlZlRocmVhZGFibGVMb2FkZXIoKTsgfQotICAgICAgICB2b2lk
IGRlcmVmKCkgeyBkZXJlZlRocmVhZGFibGVMb2FkZXIoKTsgfQorLy8gVXNlZnVsIGZvciBkb2lu
ZyBsb2FkZXIgb3BlcmF0aW9ucyBmcm9tIGFueSB0aHJlYWQgKG5vdCB0aHJlYWRzYWZlLAorLy8g
anVzdCBhYmxlIHRvIHJ1biBvbiB0aHJlYWRzIG90aGVyIHRoYW4gdGhlIG1haW4gdGhyZWFkKS4K
K2NsYXNzIFRocmVhZGFibGVMb2FkZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRocmVh
ZGFibGVMb2FkZXIpOworcHVibGljOgorICAgIHN0YXRpYyB2b2lkIGxvYWRSZXNvdXJjZVN5bmNo
cm9ub3VzbHkoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYs
IFRocmVhZGFibGVMb2FkZXJDbGllbnQmLCBjb25zdCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9ucyYs
IGNvbnN0IExvYWRJbml0aWF0b3ImID0gTnVsbExvYWRJbml0aWF0b3I6Omluc3RhbmNlKCkpOwor
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPFRocmVhZGFibGVMb2FkZXI+IGNyZWF0ZShTY3JpcHRFeGVj
dXRpb25Db250ZXh0KiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCosIGNvbnN0IFJlc291cmNlUmVx
dWVzdCYsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJiwgY29uc3QgTG9hZEluaXRpYXRv
ciYgPSBOdWxsTG9hZEluaXRpYXRvcjo6aW5zdGFuY2UoKSk7CiAKLSAgICBwcm90ZWN0ZWQ6Ci0g
ICAgICAgIFRocmVhZGFibGVMb2FkZXIoKSB7IH0KLSAgICAgICAgdmlydHVhbCB+VGhyZWFkYWJs
ZUxvYWRlcigpIHsgfQotICAgICAgICB2aXJ0dWFsIHZvaWQgcmVmVGhyZWFkYWJsZUxvYWRlcigp
ID0gMDsKLSAgICAgICAgdmlydHVhbCB2b2lkIGRlcmVmVGhyZWFkYWJsZUxvYWRlcigpID0gMDsK
LSAgICB9OworICAgIHZpcnR1YWwgdm9pZCBjYW5jZWwoKSA9IDA7CisgICAgdm9pZCByZWYoKSB7
IHJlZlRocmVhZGFibGVMb2FkZXIoKTsgfQorICAgIHZvaWQgZGVyZWYoKSB7IGRlcmVmVGhyZWFk
YWJsZUxvYWRlcigpOyB9CisKK3Byb3RlY3RlZDoKKyAgICBUaHJlYWRhYmxlTG9hZGVyKCkgeyB9
CisgICAgdmlydHVhbCB+VGhyZWFkYWJsZUxvYWRlcigpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBy
ZWZUaHJlYWRhYmxlTG9hZGVyKCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBkZXJlZlRocmVhZGFi
bGVMb2FkZXIoKSA9IDA7Cit9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwCmluZGV4IDQyZTE4Njhi
NGQwMjI4MGRhZTIxZmViMWY2NzIyNmY4NWRhYWNlYjEuLmM4YTc0OWJiZjM0YTMxZjc4OTMzZjNk
NTZlYWM3ZTdiYzgwMTE3ZTkgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNo
ZS9DYWNoZWRSZXNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0Nh
Y2hlZFJlc291cmNlLmNwcApAQCAtNTQsNyArNTQsNyBAQAogdXNpbmcgbmFtZXNwYWNlIFdURjsK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewotICAgIAorCiBzdGF0aWMgUmVzb3VyY2VMb2FkUHJpb3Jp
dHkgZGVmYXVsdFByaW9yaXR5Rm9yUmVzb3VyY2VUeXBlKENhY2hlZFJlc291cmNlOjpUeXBlIHR5
cGUpCiB7CiAgICAgc3dpdGNoICh0eXBlKSB7CkBAIC0xMDIsNyArMTAyLDcgQEAgc3RhdGljIFJl
c291cmNlUmVxdWVzdDo6VGFyZ2V0VHlwZSBjYWNoZWRSZXNvdXJjZVR5cGVUb1RhcmdldFR5cGUo
Q2FjaGVkUmVzb3VyY2UKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpYU0xTdHlsZVNoZWV0Ogog
I2VuZGlmCiAgICAgICAgIHJldHVybiBSZXNvdXJjZVJlcXVlc3Q6OlRhcmdldElzU3R5bGVTaGVl
dDsKLSAgICBjYXNlIENhY2hlZFJlc291cmNlOjpTY3JpcHQ6IAorICAgIGNhc2UgQ2FjaGVkUmVz
b3VyY2U6OlNjcmlwdDoKICAgICAgICAgcmV0dXJuIFJlc291cmNlUmVxdWVzdDo6VGFyZ2V0SXNT
Y3JpcHQ7CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6Rm9udFJlc291cmNlOgogICAgICAgICBy
ZXR1cm4gUmVzb3VyY2VSZXF1ZXN0OjpUYXJnZXRJc0ZvbnRSZXNvdXJjZTsKQEAgLTExMiw3ICsx
MTIsNyBAQCBzdGF0aWMgUmVzb3VyY2VSZXF1ZXN0OjpUYXJnZXRUeXBlIGNhY2hlZFJlc291cmNl
VHlwZVRvVGFyZ2V0VHlwZShDYWNoZWRSZXNvdXJjZQogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6
OlNoYWRlclJlc291cmNlOgogI2VuZGlmCiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6UmF3UmVz
b3VyY2U6Ci0gICAgICAgIHJldHVybiBSZXNvdXJjZVJlcXVlc3Q6OlRhcmdldElzU3VicmVzb3Vy
Y2U7ICAgIAorICAgICAgICByZXR1cm4gUmVzb3VyY2VSZXF1ZXN0OjpUYXJnZXRJc1N1YnJlc291
cmNlOwogI2lmIEVOQUJMRShMSU5LX1BSRUZFVENIKQogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6
OkxpbmtQcmVmZXRjaDoKICAgICAgICAgcmV0dXJuIFJlc291cmNlUmVxdWVzdDo6VGFyZ2V0SXNQ
cmVmZXRjaDsKQEAgLTIyNSwxMyArMjI1LDEzIEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2U6OmxvYWQo
Q2FjaGVkUmVzb3VyY2VMb2FkZXIqIGNhY2hlZFJlc291cmNlTG9hZGVyLCBjb25zdCBSZXNvCiAg
ICAgICAgIG1fcmVzb3VyY2VSZXF1ZXN0LnNldEhUVFBIZWFkZXJGaWVsZCgiUHVycG9zZSIsICJw
cmVmZXRjaCIpOwogI2VuZGlmCiAgICAgbV9yZXNvdXJjZVJlcXVlc3Quc2V0UHJpb3JpdHkobG9h
ZFByaW9yaXR5KCkpOwotICAgIAorCiAgICAgbV9sb2FkZXIgPSByZXNvdXJjZUxvYWRTY2hlZHVs
ZXIoKS0+c2NoZWR1bGVTdWJyZXNvdXJjZUxvYWQoY2FjaGVkUmVzb3VyY2VMb2FkZXItPmRvY3Vt
ZW50KCktPmZyYW1lKCksIHRoaXMsIG1fcmVzb3VyY2VSZXF1ZXN0LCBtX3Jlc291cmNlUmVxdWVz
dC5wcmlvcml0eSgpLCBvcHRpb25zKTsKICAgICBpZiAoIW1fbG9hZGVyKSB7CiAgICAgICAgIC8v
IEZJWE1FOiBXaGF0IGlmIHJlc291cmNlcyBpbiBvdGhlciBmcmFtZXMgd2VyZSB3YWl0aW5nIGZv
ciB0aGlzIHJldmFsaWRhdGlvbj8KICAgICAgICAgTE9HKFJlc291cmNlTG9hZGluZywgIkNhbm5v
dCBzdGFydCBsb2FkaW5nICclcyciLCB1cmwoKS5zdHJpbmcoKS5sYXRpbjEoKS5kYXRhKCkpOwot
ICAgICAgICBpZiAobV9yZXNvdXJjZVRvUmV2YWxpZGF0ZSkgCi0gICAgICAgICAgICBtZW1vcnlD
YWNoZSgpLT5yZXZhbGlkYXRpb25GYWlsZWQodGhpcyk7IAorICAgICAgICBpZiAobV9yZXNvdXJj
ZVRvUmV2YWxpZGF0ZSkKKyAgICAgICAgICAgIG1lbW9yeUNhY2hlKCktPnJldmFsaWRhdGlvbkZh
aWxlZCh0aGlzKTsKICAgICAgICAgZXJyb3IoQ2FjaGVkUmVzb3VyY2U6OkxvYWRFcnJvcik7CiAg
ICAgICAgIHJldHVybjsKICAgICB9CkBAIC0yNTMsNyArMjUzLDcgQEAgdm9pZCBDYWNoZWRSZXNv
dXJjZTo6ZGF0YShQYXNzUmVmUHRyPFNoYXJlZEJ1ZmZlcj4sIGJvb2wgYWxsRGF0YVJlY2VpdmVk
KQogewogICAgIGlmICghYWxsRGF0YVJlY2VpdmVkKQogICAgICAgICByZXR1cm47Ci0gICAgCisK
ICAgICBzZXRMb2FkaW5nKGZhbHNlKTsKICAgICBjaGVja05vdGlmeSgpOwogfQpAQCAtMjcyLDYg
KzI3Miw3IEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2U6OmZpbmlzaCgpCiB7CiAgICAgaWYgKCFlcnJv
ck9jY3VycmVkKCkpCiAgICAgICAgIG1fc3RhdHVzID0gQ2FjaGVkOworICAgIG1faW5pdGlhdG9y
LmNsZWFyKCk7CiB9CiAKIGJvb2wgQ2FjaGVkUmVzb3VyY2U6OnBhc3Nlc0FjY2Vzc0NvbnRyb2xD
aGVjayhTZWN1cml0eU9yaWdpbiogc2VjdXJpdHlPcmlnaW4pCkBAIC0yODcsNyArMjg4LDcgQEAg
Ym9vbCBDYWNoZWRSZXNvdXJjZTo6aXNFeHBpcmVkKCkgY29uc3QKIAogICAgIHJldHVybiBjdXJy
ZW50QWdlKCkgPiBmcmVzaG5lc3NMaWZldGltZSgpOwogfQotICAgIAorCiBkb3VibGUgQ2FjaGVk
UmVzb3VyY2U6OmN1cnJlbnRBZ2UoKSBjb25zdAogewogICAgIC8vIFJGQzI2MTYgMTMuMi4zCkBA
IC0yOTksNyArMzAwLDcgQEAgZG91YmxlIENhY2hlZFJlc291cmNlOjpjdXJyZW50QWdlKCkgY29u
c3QKICAgICBkb3VibGUgcmVzaWRlbnRUaW1lID0gY3VycmVudFRpbWUoKSAtIG1fcmVzcG9uc2VU
aW1lc3RhbXA7CiAgICAgcmV0dXJuIGNvcnJlY3RlZFJlY2VpdmVkQWdlICsgcmVzaWRlbnRUaW1l
OwogfQotICAgIAorCiBkb3VibGUgQ2FjaGVkUmVzb3VyY2U6OmZyZXNobmVzc0xpZmV0aW1lKCkg
Y29uc3QKIHsKICAgICAvLyBDYWNoZSBub24taHR0cCByZXNvdXJjZXMgbGliZXJhbGx5CkBAIC0z
NjEsNyArMzYyLDcgQEAgQ2FjaGVkTWV0YWRhdGEqIENhY2hlZFJlc291cmNlOjpjYWNoZWRNZXRh
ZGF0YSh1bnNpZ25lZCBkYXRhVHlwZUlEKSBjb25zdAogCiB2b2lkIENhY2hlZFJlc291cmNlOjpz
dG9wTG9hZGluZygpCiB7Ci0gICAgQVNTRVJUKG1fbG9hZGVyKTsgICAgICAgICAgICAKKyAgICBB
U1NFUlQobV9sb2FkZXIpOwogICAgIG1fbG9hZGVyID0gMDsKIAogICAgIENhY2hlZFJlc291cmNl
SGFuZGxlPENhY2hlZFJlc291cmNlPiBwcm90ZWN0KHRoaXMpOwpAQCAtNDkyLDEzICs0OTMsMTMg
QEAgdm9pZCBDYWNoZWRSZXNvdXJjZTo6c2V0RGVjb2RlZFNpemUodW5zaWduZWQgc2l6ZSkKICAg
ICAvLyBxdWV1ZS4KICAgICBpZiAoaW5DYWNoZSgpKQogICAgICAgICBtZW1vcnlDYWNoZSgpLT5y
ZW1vdmVGcm9tTFJVTGlzdCh0aGlzKTsKLSAgICAKKwogICAgIG1fZGVjb2RlZFNpemUgPSBzaXpl
OwotICAgCi0gICAgaWYgKGluQ2FjaGUoKSkgeyAKKworICAgIGlmIChpbkNhY2hlKCkpIHsKICAg
ICAgICAgLy8gTm93IGluc2VydCBpbnRvIHRoZSBuZXcgTFJVIGxpc3QuCiAgICAgICAgIG1lbW9y
eUNhY2hlKCktPmluc2VydEluTFJVTGlzdCh0aGlzKTsKLSAgICAgICAgCisKICAgICAgICAgLy8g
SW5zZXJ0IGludG8gb3IgcmVtb3ZlIGZyb20gdGhlIGxpdmUgZGVjb2RlZCBsaXN0IGlmIG5lY2Vz
c2FyeS4KICAgICAgICAgLy8gV2hlbiBpbnNlcnRpbmcgaW50byB0aGUgTGl2ZURlY29kZWRSZXNv
dXJjZXNMaXN0IGl0IGlzIHBvc3NpYmxlCiAgICAgICAgIC8vIHRoYXQgdGhlIG1fbGFzdERlY29k
ZWRBY2Nlc3NUaW1lIGlzIHN0aWxsIHplcm8gb3Igc21hbGxlciB0aGFuCkBAIC01MjMsNyArNTI0
LDcgQEAgdm9pZCBDYWNoZWRSZXNvdXJjZTo6c2V0RW5jb2RlZFNpemUodW5zaWduZWQgc2l6ZSkK
IAogICAgIC8vIFRoZSBzaXplIGNhbm5vdCBldmVyIHNocmluayAodW5sZXNzIGl0IGlzIGJlaW5n
IG51bGxlZCBvdXQgYmVjYXVzZSBvZiBhbiBlcnJvcikuICBJZiBpdCBldmVyIGRvZXMsIGFzc2Vy
dC4KICAgICBBU1NFUlQoc2l6ZSA9PSAwIHx8IHNpemUgPj0gbV9lbmNvZGVkU2l6ZSk7Ci0gICAg
CisKICAgICBpbnQgZGVsdGEgPSBzaXplIC0gbV9lbmNvZGVkU2l6ZTsKIAogICAgIC8vIFRoZSBv
YmplY3QgbXVzdCBub3cgYmUgbW92ZWQgdG8gYSBkaWZmZXJlbnQgcXVldWUsIHNpbmNlIGl0cyBz
aXplIGhhcyBiZWVuIGNoYW5nZWQuCkBAIC01MzEsMTMgKzUzMiwxMyBAQCB2b2lkIENhY2hlZFJl
c291cmNlOjpzZXRFbmNvZGVkU2l6ZSh1bnNpZ25lZCBzaXplKQogICAgIC8vIHF1ZXVlLgogICAg
IGlmIChpbkNhY2hlKCkpCiAgICAgICAgIG1lbW9yeUNhY2hlKCktPnJlbW92ZUZyb21MUlVMaXN0
KHRoaXMpOwotICAgIAorCiAgICAgbV9lbmNvZGVkU2l6ZSA9IHNpemU7Ci0gICAKLSAgICBpZiAo
aW5DYWNoZSgpKSB7IAorCisgICAgaWYgKGluQ2FjaGUoKSkgewogICAgICAgICAvLyBOb3cgaW5z
ZXJ0IGludG8gdGhlIG5ldyBMUlUgbGlzdC4KICAgICAgICAgbWVtb3J5Q2FjaGUoKS0+aW5zZXJ0
SW5MUlVMaXN0KHRoaXMpOwotICAgICAgICAKKwogICAgICAgICAvLyBVcGRhdGUgdGhlIGNhY2hl
J3Mgc2l6ZSB0b3RhbHMuCiAgICAgICAgIG1lbW9yeUNhY2hlKCktPmFkanVzdFNpemUoaGFzQ2xp
ZW50cygpLCBkZWx0YSk7CiAgICAgfQpAQCAtNTQ2LDcgKzU0Nyw3IEBAIHZvaWQgQ2FjaGVkUmVz
b3VyY2U6OnNldEVuY29kZWRTaXplKHVuc2lnbmVkIHNpemUpCiB2b2lkIENhY2hlZFJlc291cmNl
OjpkaWRBY2Nlc3NEZWNvZGVkRGF0YShkb3VibGUgdGltZVN0YW1wKQogewogICAgIG1fbGFzdERl
Y29kZWRBY2Nlc3NUaW1lID0gdGltZVN0YW1wOwotICAgIAorCiAgICAgaWYgKGluQ2FjaGUoKSkg
ewogICAgICAgICBpZiAobV9pbkxpdmVEZWNvZGVkUmVzb3VyY2VzTGlzdCkgewogICAgICAgICAg
ICAgbWVtb3J5Q2FjaGUoKS0+cmVtb3ZlRnJvbUxpdmVEZWNvZGVkUmVzb3VyY2VzTGlzdCh0aGlz
KTsKQEAgLTU1NSw5ICs1NTYsOSBAQCB2b2lkIENhY2hlZFJlc291cmNlOjpkaWRBY2Nlc3NEZWNv
ZGVkRGF0YShkb3VibGUgdGltZVN0YW1wKQogICAgICAgICBtZW1vcnlDYWNoZSgpLT5wcnVuZSgp
OwogICAgIH0KIH0KLSAgICAKLXZvaWQgQ2FjaGVkUmVzb3VyY2U6OnNldFJlc291cmNlVG9SZXZh
bGlkYXRlKENhY2hlZFJlc291cmNlKiByZXNvdXJjZSkgCi17IAorCit2b2lkIENhY2hlZFJlc291
cmNlOjpzZXRSZXNvdXJjZVRvUmV2YWxpZGF0ZShDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2UpCit7
CiAgICAgQVNTRVJUKHJlc291cmNlKTsKICAgICBBU1NFUlQoIW1fcmVzb3VyY2VUb1JldmFsaWRh
dGUpOwogICAgIEFTU0VSVChyZXNvdXJjZSAhPSB0aGlzKTsKQEAgLTU3NSw4ICs1NzYsOCBAQCB2
b2lkIENhY2hlZFJlc291cmNlOjpzZXRSZXNvdXJjZVRvUmV2YWxpZGF0ZShDYWNoZWRSZXNvdXJj
ZSogcmVzb3VyY2UpCiAgICAgbV9yZXNvdXJjZVRvUmV2YWxpZGF0ZSA9IHJlc291cmNlOwogfQog
Ci12b2lkIENhY2hlZFJlc291cmNlOjpjbGVhclJlc291cmNlVG9SZXZhbGlkYXRlKCkgCi17IAor
dm9pZCBDYWNoZWRSZXNvdXJjZTo6Y2xlYXJSZXNvdXJjZVRvUmV2YWxpZGF0ZSgpCit7CiAgICAg
QVNTRVJUKG1fcmVzb3VyY2VUb1JldmFsaWRhdGUpOwogICAgIGlmIChtX3N3aXRjaGluZ0NsaWVu
dHNUb1JldmFsaWRhdGVkUmVzb3VyY2UpCiAgICAgICAgIHJldHVybjsKQEAgLTU5MCw3ICs1OTEs
NyBAQCB2b2lkIENhY2hlZFJlc291cmNlOjpjbGVhclJlc291cmNlVG9SZXZhbGlkYXRlKCkKICAg
ICBtX3Jlc291cmNlVG9SZXZhbGlkYXRlID0gMDsKICAgICBkZWxldGVJZlBvc3NpYmxlKCk7CiB9
Ci0gICAgCisKIHZvaWQgQ2FjaGVkUmVzb3VyY2U6OnN3aXRjaENsaWVudHNUb1JldmFsaWRhdGVk
UmVzb3VyY2UoKQogewogICAgIEFTU0VSVChtX3Jlc291cmNlVG9SZXZhbGlkYXRlKTsKQEAgLTYz
Niw3ICs2MzcsNyBAQCB2b2lkIENhY2hlZFJlc291cmNlOjpzd2l0Y2hDbGllbnRzVG9SZXZhbGlk
YXRlZFJlc291cmNlKCkKICAgICB9CiAgICAgbV9zd2l0Y2hpbmdDbGllbnRzVG9SZXZhbGlkYXRl
ZFJlc291cmNlID0gZmFsc2U7CiB9Ci0gICAgCisKIHZvaWQgQ2FjaGVkUmVzb3VyY2U6OnVwZGF0
ZVJlc3BvbnNlQWZ0ZXJSZXZhbGlkYXRpb24oY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgdmFsaWRh
dGluZ1Jlc3BvbnNlKQogewogICAgIG1fcmVzcG9uc2VUaW1lc3RhbXAgPSBjdXJyZW50VGltZSgp
OwpAQCAtNjg0LDcgKzY4NSw3IEBAIGJvb2wgQ2FjaGVkUmVzb3VyY2U6OmNhblVzZUNhY2hlVmFs
aWRhdG9yKCkgY29uc3QKIH0KIAogYm9vbCBDYWNoZWRSZXNvdXJjZTo6bXVzdFJldmFsaWRhdGVE
dWVUb0NhY2hlSGVhZGVycyhDYWNoZVBvbGljeSBjYWNoZVBvbGljeSkgY29uc3QKLXsgICAgCit7
CiAgICAgQVNTRVJUKGNhY2hlUG9saWN5ID09IENhY2hlUG9saWN5UmV2YWxpZGF0ZSB8fCBjYWNo
ZVBvbGljeSA9PSBDYWNoZVBvbGljeUNhY2hlIHx8IGNhY2hlUG9saWN5ID09IENhY2hlUG9saWN5
VmVyaWZ5KTsKIAogICAgIGlmIChjYWNoZVBvbGljeSA9PSBDYWNoZVBvbGljeVJldmFsaWRhdGUp
CkBAIC03MTMsMTIgKzcxNCwxMiBAQCBib29sIENhY2hlZFJlc291cmNlOjptdXN0UmV2YWxpZGF0
ZUR1ZVRvQ2FjaGVIZWFkZXJzKENhY2hlUG9saWN5IGNhY2hlUG9saWN5KSBjbwogfQogCiBib29s
IENhY2hlZFJlc291cmNlOjppc1NhZmVUb01ha2VQdXJnZWFibGUoKSBjb25zdAoteyAKK3sKICAg
ICByZXR1cm4gIWhhc0NsaWVudHMoKSAmJiAhbV9wcm94eVJlc291cmNlICYmICFtX3Jlc291cmNl
VG9SZXZhbGlkYXRlOwogfQogCi1ib29sIENhY2hlZFJlc291cmNlOjptYWtlUHVyZ2VhYmxlKGJv
b2wgcHVyZ2VhYmxlKSAKLXsgCitib29sIENhY2hlZFJlc291cmNlOjptYWtlUHVyZ2VhYmxlKGJv
b2wgcHVyZ2VhYmxlKQorewogICAgIGlmIChwdXJnZWFibGUpIHsKICAgICAgICAgQVNTRVJUKGlz
U2FmZVRvTWFrZVB1cmdlYWJsZSgpKTsKIApAQCAtNzI4LDExICs3MjksMTEgQEAgYm9vbCBDYWNo
ZWRSZXNvdXJjZTo6bWFrZVB1cmdlYWJsZShib29sIHB1cmdlYWJsZSkKICAgICAgICAgfQogICAg
ICAgICBpZiAoIW1fZGF0YSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgCisK
ICAgICAgICAgLy8gU2hvdWxkIG5vdCBtYWtlIGJ1ZmZlciBwdXJnZWFibGUgaWYgaXQgaGFzIHJl
ZnMgb3RoZXIgdGhhbiB0aGlzIHNpbmNlIHdlIGRvbid0IHdhbnQgdHdvIGNvcGllcy4KICAgICAg
ICAgaWYgKCFtX2RhdGEtPmhhc09uZVJlZigpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwot
ICAgICAgICAKKwogICAgICAgICBpZiAobV9kYXRhLT5oYXNQdXJnZWFibGVCdWZmZXIoKSkgewog
ICAgICAgICAgICAgbV9wdXJnZWFibGVEYXRhID0gbV9kYXRhLT5yZWxlYXNlUHVyZ2VhYmxlQnVm
ZmVyKCk7CiAgICAgICAgIH0gZWxzZSB7CkBAIC03NDEsNyArNzQyLDcgQEAgYm9vbCBDYWNoZWRS
ZXNvdXJjZTo6bWFrZVB1cmdlYWJsZShib29sIHB1cmdlYWJsZSkKICAgICAgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICBtX3B1cmdlYWJsZURhdGEtPnNldFB1cmdlUHJpb3Jp
dHkocHVyZ2VQcmlvcml0eSgpKTsKICAgICAgICAgfQotICAgICAgICAKKwogICAgICAgICBtX3B1
cmdlYWJsZURhdGEtPm1ha2VQdXJnZWFibGUodHJ1ZSk7CiAgICAgICAgIG1fZGF0YS5jbGVhcigp
OwogICAgICAgICByZXR1cm4gdHJ1ZTsKQEAgLTc1Myw3ICs3NTQsNyBAQCBib29sIENhY2hlZFJl
c291cmNlOjptYWtlUHVyZ2VhYmxlKGJvb2wgcHVyZ2VhYmxlKQogICAgIEFTU0VSVCghaGFzQ2xp
ZW50cygpKTsKIAogICAgIGlmICghbV9wdXJnZWFibGVEYXRhLT5tYWtlUHVyZ2VhYmxlKGZhbHNl
KSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOyAKKyAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAg
bV9kYXRhID0gU2hhcmVkQnVmZmVyOjphZG9wdFB1cmdlYWJsZUJ1ZmZlcihtX3B1cmdlYWJsZURh
dGEucmVsZWFzZSgpKTsKICAgICByZXR1cm4gdHJ1ZTsKQEAgLTc3NCw5ICs3NzUsOSBAQCB1bnNp
Z25lZCBDYWNoZWRSZXNvdXJjZTo6b3ZlcmhlYWRTaXplKCkgY29uc3QKICAgICBzdGF0aWMgY29u
c3QgaW50IGtBdmVyYWdlQ2xpZW50c0hhc2hNYXBTaXplID0gMzg0OwogICAgIHJldHVybiBzaXpl
b2YoQ2FjaGVkUmVzb3VyY2UpICsgbV9yZXNwb25zZS5tZW1vcnlVc2FnZSgpICsga0F2ZXJhZ2VD
bGllbnRzSGFzaE1hcFNpemUgKyBtX3Jlc291cmNlUmVxdWVzdC51cmwoKS5zdHJpbmcoKS5sZW5n
dGgoKSAqIDI7CiB9Ci0gICAgCi12b2lkIENhY2hlZFJlc291cmNlOjpzZXRMb2FkUHJpb3JpdHko
UmVzb3VyY2VMb2FkUHJpb3JpdHkgbG9hZFByaW9yaXR5KSAKLXsgCisKK3ZvaWQgQ2FjaGVkUmVz
b3VyY2U6OnNldExvYWRQcmlvcml0eShSZXNvdXJjZUxvYWRQcmlvcml0eSBsb2FkUHJpb3JpdHkp
Cit7CiAgICAgaWYgKGxvYWRQcmlvcml0eSA9PSBSZXNvdXJjZUxvYWRQcmlvcml0eVVucmVzb2x2
ZWQpCiAgICAgICAgIHJldHVybjsKICAgICBtX2xvYWRQcmlvcml0eSA9IGxvYWRQcmlvcml0eTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5o
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmgKaW5kZXggYjcz
OWQ2OGFmODFmMmRiN2I0ODYyZGYxNTlhYWNmMTU4ZTBiNTczMy4uN2Q4NTU5ZDE3Mjc3MWUzZTVl
MmI5MTQ5MjQxOTQ5YTg5ZWNhNTBhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L2NhY2hlL0NhY2hlZFJlc291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hl
L0NhY2hlZFJlc291cmNlLmgKQEAgLTI1LDYgKzI1LDggQEAKIAogI2luY2x1ZGUgIkNhY2hlUG9s
aWN5LmgiCiAjaW5jbHVkZSAiRnJhbWVMb2FkZXJUeXBlcy5oIgorI2luY2x1ZGUgIkxvYWRJbml0
aWF0b3IuaCIKKyNpbmNsdWRlICJMb2FkSW5pdGlhdG9ySGFuZGxlLmgiCiAjaW5jbHVkZSAiUHVy
Z2VQcmlvcml0eS5oIgogI2luY2x1ZGUgIlJlc291cmNlTG9hZFByaW9yaXR5LmgiCiAjaW5jbHVk
ZSAiUmVzb3VyY2VMb2FkZXJPcHRpb25zLmgiCkBAIC01Nyw3ICs1OSw3IEBAIGNsYXNzIENhY2hl
ZFJlc291cmNlIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDYWNoZWRSZXNvdXJjZSk7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIGZyaWVuZCBjbGFzcyBNZW1vcnlDYWNoZTsKICAg
ICBmcmllbmQgY2xhc3MgSW5zcGVjdG9yUmVzb3VyY2U7Ci0gICAgCisKIHB1YmxpYzoKICAgICBl
bnVtIFR5cGUgewogICAgICAgICBJbWFnZVJlc291cmNlLApAQCAtMTA1LDkgKzEwNywxMCBAQCBw
dWJsaWM6CiAgICAgdmlydHVhbCBib29sIHNob3VsZElnbm9yZUhUVFBTdGF0dXNDb2RlRXJyb3Jz
KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIAogICAgIFJlc291cmNlUmVxdWVzdCYgcmVzb3Vy
Y2VSZXF1ZXN0KCkgeyByZXR1cm4gbV9yZXNvdXJjZVJlcXVlc3Q7IH0KLSAgICBjb25zdCBLVVJM
JiB1cmwoKSBjb25zdCB7IHJldHVybiBtX3Jlc291cmNlUmVxdWVzdC51cmwoKTt9CisgICAgY29u
c3QgUmVzb3VyY2VSZXF1ZXN0JiByZXNvdXJjZVJlcXVlc3QoKSBjb25zdCB7IHJldHVybiBtX3Jl
c291cmNlUmVxdWVzdDsgfQorICAgIGNvbnN0IEtVUkwmIHVybCgpIGNvbnN0IHsgcmV0dXJuIG1f
cmVzb3VyY2VSZXF1ZXN0LnVybCgpOyB9CiAgICAgVHlwZSB0eXBlKCkgY29uc3QgeyByZXR1cm4g
c3RhdGljX2Nhc3Q8VHlwZT4obV90eXBlKTsgfQotICAgIAorCiAgICAgUmVzb3VyY2VMb2FkUHJp
b3JpdHkgbG9hZFByaW9yaXR5KCkgY29uc3QgeyByZXR1cm4gbV9sb2FkUHJpb3JpdHk7IH0KICAg
ICB2b2lkIHNldExvYWRQcmlvcml0eShSZXNvdXJjZUxvYWRQcmlvcml0eSk7CiAKQEAgLTEzOCw3
ICsxNDEsNyBAQCBwdWJsaWM6CiAgICAgdW5zaWduZWQgZW5jb2RlZFNpemUoKSBjb25zdCB7IHJl
dHVybiBtX2VuY29kZWRTaXplOyB9CiAgICAgdW5zaWduZWQgZGVjb2RlZFNpemUoKSBjb25zdCB7
IHJldHVybiBtX2RlY29kZWRTaXplOyB9CiAgICAgdW5zaWduZWQgb3ZlcmhlYWRTaXplKCkgY29u
c3Q7Ci0gICAgCisKICAgICBib29sIGlzTG9hZGVkKCkgY29uc3QgeyByZXR1cm4gIW1fbG9hZGlu
ZzsgfSAvLyBGSVhNRS4gTWV0aG9kIG5hbWUgaXMgaW5hY2N1cmF0ZS4gTG9hZGluZyBtaWdodCBu
b3QgaGF2ZSBzdGFydGVkIHlldC4KIAogICAgIGJvb2wgaXNMb2FkaW5nKCkgY29uc3QgeyByZXR1
cm4gbV9sb2FkaW5nOyB9CkBAIC0xNjEsNyArMTY0LDcgQEAgcHVibGljOgogICAgIHVuc2lnbmVk
IGFjY2Vzc0NvdW50KCkgY29uc3QgeyByZXR1cm4gbV9hY2Nlc3NDb3VudDsgfQogICAgIHZvaWQg
aW5jcmVhc2VBY2Nlc3NDb3VudCgpIHsgbV9hY2Nlc3NDb3VudCsrOyB9CiAKLSAgICAvLyBDb21w
dXRlcyB0aGUgc3RhdHVzIG9mIGFuIG9iamVjdCBhZnRlciBsb2FkaW5nLiAgCisgICAgLy8gQ29t
cHV0ZXMgdGhlIHN0YXR1cyBvZiBhbiBvYmplY3QgYWZ0ZXIgbG9hZGluZy4KICAgICAvLyBVcGRh
dGVzIHRoZSBleHBpcmUgZGF0ZSBvbiB0aGUgY2FjaGUgZW50cnkgZmlsZQogICAgIHZvaWQgZmlu
aXNoKCk7CiAKQEAgLTE3Myw5ICsxNzYsOSBAQCBwdWJsaWM6CiAgICAgLy8gVGhlIHJlc291cmNl
IGNhbiBiZSBicm91Z2h0IGJhY2sgdG8gY2FjaGUgYWZ0ZXIgc3VjY2Vzc2Z1bCByZXZhbGlkYXRp
b24uCiAgICAgdm9pZCBzZXRJbkNhY2hlKGJvb2wgaW5DYWNoZSkgeyBtX2luQ2FjaGUgPSBpbkNh
Y2hlOyB9CiAgICAgYm9vbCBpbkNhY2hlKCkgY29uc3QgeyByZXR1cm4gbV9pbkNhY2hlOyB9Ci0g
ICAgCisKICAgICBib29sIGluTGl2ZURlY29kZWRSZXNvdXJjZXNMaXN0KCkgeyByZXR1cm4gbV9p
bkxpdmVEZWNvZGVkUmVzb3VyY2VzTGlzdDsgfQotICAgIAorCiAgICAgdm9pZCBzdG9wTG9hZGlu
ZygpOwogCiAgICAgU2hhcmVkQnVmZmVyKiBkYXRhKCkgY29uc3QgeyBBU1NFUlQoIW1fcHVyZ2Vh
YmxlRGF0YSk7IHJldHVybiBtX2RhdGEuZ2V0KCk7IH0KQEAgLTE5Miw2ICsxOTUsOSBAQCBwdWJs
aWM6CiAgICAgLy8gaWRlbnRpZmllciB0aGF0IGlzIHVzZWQgdG8gZGlzdGluZ3Vpc2ggZGF0YSBn
ZW5lcmF0ZWQgYnkgdGhlIGNhbGxlci4KICAgICB2b2lkIHNldENhY2hlZE1ldGFkYXRhKHVuc2ln
bmVkIGRhdGFUeXBlSUQsIGNvbnN0IGNoYXIqLCBzaXplX3QpOwogCisgICAgdm9pZCBzZXRJbml0
aWF0b3IoY29uc3QgTG9hZEluaXRpYXRvciYgaW5pdGlhdG9yKSB7IG1faW5pdGlhdG9yID0gaW5p
dGlhdG9yOyB9CisgICAgY29uc3QgTG9hZEluaXRpYXRvckhhbmRsZSYgaW5pdGlhdG9yKCkgY29u
c3QgeyByZXR1cm4gbV9pbml0aWF0b3I7IH0KKwogICAgIC8vIFJldHVybnMgY2FjaGVkIG1ldGFk
YXRhIG9mIHRoZSBnaXZlbiB0eXBlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIHJlc291cmNlLgogICAg
IENhY2hlZE1ldGFkYXRhKiBjYWNoZWRNZXRhZGF0YSh1bnNpZ25lZCBkYXRhVHlwZUlEKSBjb25z
dDsKIApAQCAtMjEwLDQwICsyMTYsNDAgQEAgcHVibGljOgogICAgIGJvb2wgbG9hZEZhaWxlZE9y
Q2FuY2VsZWQoKSB7IHJldHVybiBtX3N0YXR1cyA9PSBDYW5jZWxlZCB8fCBtX3N0YXR1cyA9PSBM
b2FkRXJyb3I7IH0KIAogICAgIGJvb2wgc2VuZFJlc291cmNlTG9hZENhbGxiYWNrcygpIGNvbnN0
IHsgcmV0dXJuIG1fb3B0aW9ucy5zZW5kTG9hZENhbGxiYWNrcyA9PSBTZW5kQ2FsbGJhY2tzOyB9
Ci0gICAgCisKICAgICB2aXJ0dWFsIHZvaWQgZGVzdHJveURlY29kZWREYXRhKCkgeyB9CiAKICAg
ICB2b2lkIHNldE93bmluZ0NhY2hlZFJlc291cmNlTG9hZGVyKENhY2hlZFJlc291cmNlTG9hZGVy
KiBjYWNoZWRSZXNvdXJjZUxvYWRlcikgeyBtX293bmluZ0NhY2hlZFJlc291cmNlTG9hZGVyID0g
Y2FjaGVkUmVzb3VyY2VMb2FkZXI7IH0KLSAgICAKKwogICAgIC8vIE1lbW9yeUNhY2hlIGRvZXMg
bm90IGRlc3Ryb3kgdGhlIGRlY29kZWQgZGF0YSBvZiBhIENhY2hlZFJlc291cmNlIGlmIHRoZSBk
ZWNvZGVkIGRhdGEgd2lsbCBiZSBsaWtlbHkgdXNlZC4KICAgICB2aXJ0dWFsIGJvb2wgbGlrZWx5
VG9CZVVzZWRTb29uKCkgeyByZXR1cm4gZmFsc2U7IH0KIAogICAgIGJvb2wgaXNQcmVsb2FkZWQo
KSBjb25zdCB7IHJldHVybiBtX3ByZWxvYWRDb3VudDsgfQogICAgIHZvaWQgaW5jcmVhc2VQcmVs
b2FkQ291bnQoKSB7ICsrbV9wcmVsb2FkQ291bnQ7IH0KICAgICB2b2lkIGRlY3JlYXNlUHJlbG9h
ZENvdW50KCkgeyBBU1NFUlQobV9wcmVsb2FkQ291bnQpOyAtLW1fcHJlbG9hZENvdW50OyB9Ci0g
ICAgCisKICAgICB2b2lkIHJlZ2lzdGVySGFuZGxlKENhY2hlZFJlc291cmNlSGFuZGxlQmFzZSog
aCk7CiAgICAgdm9pZCB1bnJlZ2lzdGVySGFuZGxlKENhY2hlZFJlc291cmNlSGFuZGxlQmFzZSog
aCk7Ci0gICAgCisKICAgICBib29sIGNhblVzZUNhY2hlVmFsaWRhdG9yKCkgY29uc3Q7CiAgICAg
Ym9vbCBtdXN0UmV2YWxpZGF0ZUR1ZVRvQ2FjaGVIZWFkZXJzKENhY2hlUG9saWN5KSBjb25zdDsK
ICAgICBib29sIGlzQ2FjaGVWYWxpZGF0b3IoKSBjb25zdCB7IHJldHVybiBtX3Jlc291cmNlVG9S
ZXZhbGlkYXRlOyB9CiAgICAgQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlVG9SZXZhbGlkYXRlKCkg
Y29uc3QgeyByZXR1cm4gbV9yZXNvdXJjZVRvUmV2YWxpZGF0ZTsgfQotICAgIAorCiAgICAgYm9v
bCBpc1B1cmdlYWJsZSgpIGNvbnN0OwogICAgIGJvb2wgd2FzUHVyZ2VkKCkgY29uc3Q7Ci0gICAg
CisKICAgICAvLyBUaGlzIGlzIHVzZWQgYnkgdGhlIGFyY2hpdmUgbWFjaGluZXJ5IHRvIGdldCBh
dCBhIHB1cmdlZCByZXNvdXJjZSB3aXRob3V0CiAgICAgLy8gdHJpZ2dlcmluZyBhIGxvYWQuIFdl
IHNob3VsZCBtYWtlIGl0IHByb3RlY3RlZCBhZ2FpbiBpZiB3ZSBjYW4gZmluZCBhCiAgICAgLy8g
YmV0dGVyIHdheSB0byBoYW5kbGUgdGhlIGFyY2hpdmUgY2FzZS4KICAgICBib29sIG1ha2VQdXJn
ZWFibGUoYm9vbCBwdXJnZWFibGUpOwotICAgIAorCiAgICAgLy8gSFRUUCByZXZhbGlkYXRpb24g
c3VwcG9ydCBtZXRob2RzIGZvciBDYWNoZWRSZXNvdXJjZUxvYWRlci4KICAgICB2b2lkIHNldFJl
c291cmNlVG9SZXZhbGlkYXRlKENhY2hlZFJlc291cmNlKik7CiAgICAgdm9pZCBzd2l0Y2hDbGll
bnRzVG9SZXZhbGlkYXRlZFJlc291cmNlKCk7CiAgICAgdm9pZCBjbGVhclJlc291cmNlVG9SZXZh
bGlkYXRlKCk7CiAgICAgdm9pZCB1cGRhdGVSZXNwb25zZUFmdGVyUmV2YWxpZGF0aW9uKGNvbnN0
IFJlc291cmNlUmVzcG9uc2UmIHZhbGlkYXRpbmdSZXNwb25zZSk7Ci0gICAgCisKICAgICB2aXJ0
dWFsIHZvaWQgZGlkU2VuZERhdGEodW5zaWduZWQgbG9uZyBsb25nIC8qIGJ5dGVzU2VudCAqLywg
dW5zaWduZWQgbG9uZyBsb25nIC8qIHRvdGFsQnl0ZXNUb0JlU2VudCAqLykgeyB9CiAjaWYgUExB
VEZPUk0oQ0hST01JVU0pCiAgICAgdmlydHVhbCB2b2lkIGRpZERvd25sb2FkRGF0YShpbnQpIHsg
fQpAQCAtMjYyLDcgKzI2OCw3IEBAIHByb3RlY3RlZDoKICAgICB2b2lkIGRpZEFjY2Vzc0RlY29k
ZWREYXRhKGRvdWJsZSB0aW1lU3RhbXApOwogCiAgICAgYm9vbCBpc1NhZmVUb01ha2VQdXJnZWFi
bGUoKSBjb25zdDsKLSAgICAKKwogICAgIEhhc2hDb3VudGVkU2V0PENhY2hlZFJlc291cmNlQ2xp
ZW50Kj4gbV9jbGllbnRzOwogCiAgICAgY2xhc3MgQ2FjaGVkUmVzb3VyY2VDYWxsYmFjayB7CkBA
IC0zMzQsMTIgKzM0MCwxMiBAQCBwcml2YXRlOgogCiAgICAgQ2FjaGVkUmVzb3VyY2UqIG1fbmV4
dEluQWxsUmVzb3VyY2VzTGlzdDsKICAgICBDYWNoZWRSZXNvdXJjZSogbV9wcmV2SW5BbGxSZXNv
dXJjZXNMaXN0OwotICAgIAorCiAgICAgQ2FjaGVkUmVzb3VyY2UqIG1fbmV4dEluTGl2ZVJlc291
cmNlc0xpc3Q7CiAgICAgQ2FjaGVkUmVzb3VyY2UqIG1fcHJldkluTGl2ZVJlc291cmNlc0xpc3Q7
CiAKICAgICBDYWNoZWRSZXNvdXJjZUxvYWRlciogbV9vd25pbmdDYWNoZWRSZXNvdXJjZUxvYWRl
cjsgLy8gb25seSBub24tMCBmb3IgcmVzb3VyY2VzIHRoYXQgYXJlIG5vdCBpbiB0aGUgY2FjaGUK
LSAgICAKKwogICAgIC8vIElmIHRoaXMgZmllbGQgaXMgbm9uLW51bGwgd2UgYXJlIHVzaW5nIHRo
ZSByZXNvdXJjZSBhcyBhIHByb3h5IGZvciBjaGVja2luZyB3aGV0aGVyIGFuIGV4aXN0aW5nIHJl
c291cmNlIGlzIHN0aWxsIHVwIHRvIGRhdGUKICAgICAvLyB1c2luZyBIVFRQIElmLU1vZGlmaWVk
LVNpbmNlL0lmLU5vbmUtTWF0Y2ggaGVhZGVycy4gSWYgdGhlIHJlc3BvbnNlIGlzIDMwNCBhbGwg
Y2xpZW50cyBvZiB0aGlzIHJlc291cmNlIGFyZSBtb3ZlZAogICAgIC8vIHRvIHRvIGJlIGNsaWVu
dHMgb2YgbV9yZXNvdXJjZVRvUmV2YWxpZGF0ZSBhbmQgdGhlIHJlc291cmNlIGlzIGRlbGV0ZWQu
IElmIG5vdCwgdGhlIGZpZWxkIGlzIHplcm9lZCBhbmQgdGhpcwpAQCAtMzUxLDYgKzM1Nyw4IEBA
IHByaXZhdGU6CiAKICAgICAvLyBUaGVzZSBoYW5kbGVzIHdpbGwgbmVlZCB0byBiZSB1cGRhdGVk
IHRvIHBvaW50IHRvIHRoZSBtX3Jlc291cmNlVG9SZXZhbGlkYXRlIGluIGNhc2Ugd2UgZ2V0IDMw
NCByZXNwb25zZS4KICAgICBIYXNoU2V0PENhY2hlZFJlc291cmNlSGFuZGxlQmFzZSo+IG1faGFu
ZGxlc1RvUmV2YWxpZGF0ZTsKKworICAgIExvYWRJbml0aWF0b3JIYW5kbGUgbV9pbml0aWF0b3I7
CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVk
UmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJl
c291cmNlTG9hZGVyLmNwcAppbmRleCBiZTBkOWQ3OGE3ZjgyZjZmMmRkM2Q5YjEyYjBjOWNkZGUw
ZWI1YjZlLi45OWZkNzczMGY0NDE0Y2U0MzY1OTI5NjYyZWNkZWE1NjZlZmM2YTZhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5j
cHAKQEAgLTE1Miw3ICsxNTIsNyBAQCBGcmFtZSogQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmZyYW1l
KCkgY29uc3QKICAgICByZXR1cm4gbV9kb2N1bWVudCA/IG1fZG9jdW1lbnQtPmZyYW1lKCkgOiAw
OwogfQogCi1DYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRJbWFnZT4gQ2FjaGVkUmVzb3VyY2VM
b2FkZXI6OnJlcXVlc3RJbWFnZShSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QpCitDYWNoZWRSZXNv
dXJjZUhhbmRsZTxDYWNoZWRJbWFnZT4gQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RJbWFn
ZShSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IExvYWRJbml0aWF0b3ImIGluaXRpYXRv
cikKIHsKICAgICBpZiAoRnJhbWUqIGYgPSBmcmFtZSgpKSB7CiAgICAgICAgIGlmIChmLT5sb2Fk
ZXIoKS0+cGFnZURpc21pc3NhbEV2ZW50QmVpbmdEaXNwYXRjaGVkKCkgIT0gRnJhbWVMb2FkZXI6
Ok5vRGlzbWlzc2FsKSB7CkBAIC0xNjIsMzQgKzE2MiwzNCBAQCBDYWNoZWRSZXNvdXJjZUhhbmRs
ZTxDYWNoZWRJbWFnZT4gQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RJbWFnZShSZXNvdXJj
ZVJlcQogICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgIH0KICAgICB9Ci0gICAgcmV0dXJu
IHN0YXRpY19jYXN0PENhY2hlZEltYWdlKj4ocmVxdWVzdFJlc291cmNlKENhY2hlZFJlc291cmNl
OjpJbWFnZVJlc291cmNlLCByZXF1ZXN0LCBTdHJpbmcoKSwgZGVmYXVsdENhY2hlZFJlc291cmNl
T3B0aW9ucygpLCBSZXNvdXJjZUxvYWRQcmlvcml0eVVucmVzb2x2ZWQsIGZhbHNlLCBjbGllbnRE
ZWZlcnNJbWFnZShyZXF1ZXN0LnVybCgpKSA/IERlZmVycmVkQnlDbGllbnQgOiBOb0RlZmVyKS5n
ZXQoKSk7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PENhY2hlZEltYWdlKj4ocmVxdWVzdFJlc291
cmNlKENhY2hlZFJlc291cmNlOjpJbWFnZVJlc291cmNlLCByZXF1ZXN0LCBTdHJpbmcoKSwgZGVm
YXVsdENhY2hlZFJlc291cmNlT3B0aW9ucygpLCBpbml0aWF0b3IsIFJlc291cmNlTG9hZFByaW9y
aXR5VW5yZXNvbHZlZCwgZmFsc2UsIGNsaWVudERlZmVyc0ltYWdlKHJlcXVlc3QudXJsKCkpID8g
RGVmZXJyZWRCeUNsaWVudCA6IE5vRGVmZXIpLmdldCgpKTsKIH0KIAotQ2FjaGVkUmVzb3VyY2VI
YW5kbGU8Q2FjaGVkRm9udD4gQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RGb250KFJlc291
cmNlUmVxdWVzdCYgcmVxdWVzdCkKK0NhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZEZvbnQ+IENh
Y2hlZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0Rm9udChSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3Qs
IGNvbnN0IExvYWRJbml0aWF0b3ImIGluaXRpYXRvcikKIHsKLSAgICByZXR1cm4gc3RhdGljX2Nh
c3Q8Q2FjaGVkRm9udCo+KHJlcXVlc3RSZXNvdXJjZShDYWNoZWRSZXNvdXJjZTo6Rm9udFJlc291
cmNlLCByZXF1ZXN0LCBTdHJpbmcoKSwgZGVmYXVsdENhY2hlZFJlc291cmNlT3B0aW9ucygpKS5n
ZXQoKSk7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PENhY2hlZEZvbnQqPihyZXF1ZXN0UmVzb3Vy
Y2UoQ2FjaGVkUmVzb3VyY2U6OkZvbnRSZXNvdXJjZSwgcmVxdWVzdCwgU3RyaW5nKCksIGRlZmF1
bHRDYWNoZWRSZXNvdXJjZU9wdGlvbnMoKSwgaW5pdGlhdG9yKS5nZXQoKSk7CiB9CiAKICNpZiBF
TkFCTEUoVklERU9fVFJBQ0spCi1DYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRUZXh0VHJhY2s+
IENhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0VGV4dFRyYWNrKFJlc291cmNlUmVxdWVzdCYg
cmVxdWVzdCkKK0NhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFRleHRUcmFjaz4gQ2FjaGVkUmVz
b3VyY2VMb2FkZXI6OnJlcXVlc3RUZXh0VHJhY2soUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBj
b25zdCBMb2FkSW5pdGlhdG9yJiBpbml0aWF0b3IpCiB7Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0
PENhY2hlZFRleHRUcmFjayo+KHJlcXVlc3RSZXNvdXJjZShDYWNoZWRSZXNvdXJjZTo6VGV4dFRy
YWNrUmVzb3VyY2UsIHJlcXVlc3QsIFN0cmluZygpLCBkZWZhdWx0Q2FjaGVkUmVzb3VyY2VPcHRp
b25zKCkpLmdldCgpKTsKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Q2FjaGVkVGV4dFRyYWNrKj4o
cmVxdWVzdFJlc291cmNlKENhY2hlZFJlc291cmNlOjpUZXh0VHJhY2tSZXNvdXJjZSwgcmVxdWVz
dCwgU3RyaW5nKCksIGRlZmF1bHRDYWNoZWRSZXNvdXJjZU9wdGlvbnMoKSwgaW5pdGlhdG9yKS5n
ZXQoKSk7CiB9CiAjZW5kaWYKIAogI2lmIEVOQUJMRShDU1NfU0hBREVSUykKLUNhY2hlZFJlc291
cmNlSGFuZGxlPENhY2hlZFNoYWRlcj4gQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RTaGFk
ZXIoUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0KQorQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVk
U2hhZGVyPiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFNoYWRlcihSZXNvdXJjZVJlcXVl
c3QmIHJlcXVlc3QsIGNvbnN0IExvYWRJbml0aWF0b3ImIGluaXRpYXRvcikKIHsKLSAgICByZXR1
cm4gc3RhdGljX2Nhc3Q8Q2FjaGVkU2hhZGVyKj4ocmVxdWVzdFJlc291cmNlKENhY2hlZFJlc291
cmNlOjpTaGFkZXJSZXNvdXJjZSwgcmVxdWVzdCwgU3RyaW5nKCksIGRlZmF1bHRDYWNoZWRSZXNv
dXJjZU9wdGlvbnMoKSkuZ2V0KCkpOworICAgIHJldHVybiBzdGF0aWNfY2FzdDxDYWNoZWRTaGFk
ZXIqPihyZXF1ZXN0UmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2U6OlNoYWRlclJlc291cmNlLCByZXF1
ZXN0LCBTdHJpbmcoKSwgZGVmYXVsdENhY2hlZFJlc291cmNlT3B0aW9ucygpLCBpbml0aWF0b3Ip
LmdldCgpKTsKIH0KICNlbmRpZgogCi1DYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRDU1NTdHls
ZVNoZWV0PiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdENTU1N0eWxlU2hlZXQoUmVzb3Vy
Y2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBTdHJpbmcmIGNoYXJzZXQsIFJlc291cmNlTG9hZFBy
aW9yaXR5IHByaW9yaXR5KQorQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkQ1NTU3R5bGVTaGVl
dD4gQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RDU1NTdHlsZVNoZWV0KFJlc291cmNlUmVx
dWVzdCYgcmVxdWVzdCwgY29uc3QgU3RyaW5nJiBjaGFyc2V0LCBjb25zdCBMb2FkSW5pdGlhdG9y
JiBpbml0aWF0b3IsIFJlc291cmNlTG9hZFByaW9yaXR5IHByaW9yaXR5KQogewotICAgIHJldHVy
biBzdGF0aWNfY2FzdDxDYWNoZWRDU1NTdHlsZVNoZWV0Kj4ocmVxdWVzdFJlc291cmNlKENhY2hl
ZFJlc291cmNlOjpDU1NTdHlsZVNoZWV0LCByZXF1ZXN0LCBjaGFyc2V0LCBkZWZhdWx0Q2FjaGVk
UmVzb3VyY2VPcHRpb25zKCksIHByaW9yaXR5KS5nZXQoKSk7CisgICAgcmV0dXJuIHN0YXRpY19j
YXN0PENhY2hlZENTU1N0eWxlU2hlZXQqPihyZXF1ZXN0UmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2U6
OkNTU1N0eWxlU2hlZXQsIHJlcXVlc3QsIGNoYXJzZXQsIGRlZmF1bHRDYWNoZWRSZXNvdXJjZU9w
dGlvbnMoKSwgaW5pdGlhdG9yLCBwcmlvcml0eSkuZ2V0KCkpOwogfQogCi1DYWNoZWRSZXNvdXJj
ZUhhbmRsZTxDYWNoZWRDU1NTdHlsZVNoZWV0PiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVz
dFVzZXJDU1NTdHlsZVNoZWV0KFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgU3RyaW5n
JiBjaGFyc2V0KQorQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkQ1NTU3R5bGVTaGVldD4gQ2Fj
aGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RVc2VyQ1NTU3R5bGVTaGVldChSZXNvdXJjZVJlcXVl
c3QmIHJlcXVlc3QsIGNvbnN0IFN0cmluZyYgY2hhcnNldCwgY29uc3QgTG9hZEluaXRpYXRvciYg
aW5pdGlhdG9yKQogewogICAgIEtVUkwgdXJsID0gTWVtb3J5Q2FjaGU6OnJlbW92ZUZyYWdtZW50
SWRlbnRpZmllcklmTmVlZGVkKHJlcXVlc3QudXJsKCkpOwogCkBAIC0yMDYsNDIgKzIwNiw0MyBA
QCBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRDU1NTdHlsZVNoZWV0PiBDYWNoZWRSZXNvdXJj
ZUxvYWRlcjo6cmVxdWVzdFVzZXJDU1NTdAogICAgIG1lbW9yeUNhY2hlKCktPmFkZCh1c2VyU2hl
ZXQuZ2V0KCkpOwogICAgIC8vIEZJWE1FOiBsb2FkUmVzb3VyY2UgY2FsbHMgc2V0T3duaW5nQ2Fj
aGVkUmVzb3VyY2VMb2FkZXIoKSBpZiB0aGUgcmVzb3VyY2UgY291bGRuJ3QgYmUgYWRkZWQgdG8g
Y2FjaGUuIERvZXMgdGhpcyBmdW5jdGlvbiBuZWVkIHRvIGNhbGwgaXQsIHRvbz8KIAorICAgIHVz
ZXJTaGVldC0+c2V0SW5pdGlhdG9yKGluaXRpYXRvcik7CiAgICAgdXNlclNoZWV0LT5sb2FkKHRo
aXMsIFJlc291cmNlTG9hZGVyT3B0aW9ucyhEb05vdFNlbmRDYWxsYmFja3MsIFNuaWZmQ29udGVu
dCwgQnVmZmVyRGF0YSwgQWxsb3dTdG9yZWRDcmVkZW50aWFscywgQXNrQ2xpZW50Rm9yQ3Jvc3NP
cmlnaW5DcmVkZW50aWFscywgU2tpcFNlY3VyaXR5Q2hlY2spKTsKLSAgICAKKwogICAgIHJldHVy
biB1c2VyU2hlZXQ7CiB9CiAKLUNhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFNjcmlwdD4gQ2Fj
aGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RTY3JpcHQoUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0
LCBjb25zdCBTdHJpbmcmIGNoYXJzZXQpCitDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRTY3Jp
cHQ+IENhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0U2NyaXB0KFJlc291cmNlUmVxdWVzdCYg
cmVxdWVzdCwgY29uc3QgU3RyaW5nJiBjaGFyc2V0LCBjb25zdCBMb2FkSW5pdGlhdG9yJiBpbml0
aWF0b3IpCiB7Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PENhY2hlZFNjcmlwdCo+KHJlcXVlc3RS
ZXNvdXJjZShDYWNoZWRSZXNvdXJjZTo6U2NyaXB0LCByZXF1ZXN0LCBjaGFyc2V0LCBkZWZhdWx0
Q2FjaGVkUmVzb3VyY2VPcHRpb25zKCkpLmdldCgpKTsKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8
Q2FjaGVkU2NyaXB0Kj4ocmVxdWVzdFJlc291cmNlKENhY2hlZFJlc291cmNlOjpTY3JpcHQsIHJl
cXVlc3QsIGNoYXJzZXQsIGRlZmF1bHRDYWNoZWRSZXNvdXJjZU9wdGlvbnMoKSwgaW5pdGlhdG9y
KS5nZXQoKSk7CiB9CiAKICNpZiBFTkFCTEUoWFNMVCkKLUNhY2hlZFJlc291cmNlSGFuZGxlPENh
Y2hlZFhTTFN0eWxlU2hlZXQ+IENhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0WFNMU3R5bGVT
aGVldChSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QpCitDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNo
ZWRYU0xTdHlsZVNoZWV0PiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFhTTFN0eWxlU2hl
ZXQoUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBMb2FkSW5pdGlhdG9yJiBpbml0aWF0
b3IpCiB7Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PENhY2hlZFhTTFN0eWxlU2hlZXQqPihyZXF1
ZXN0UmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2U6OlhTTFN0eWxlU2hlZXQsIHJlcXVlc3QsIFN0cmlu
ZygpLCBkZWZhdWx0Q2FjaGVkUmVzb3VyY2VPcHRpb25zKCkpLmdldCgpKTsKKyAgICByZXR1cm4g
c3RhdGljX2Nhc3Q8Q2FjaGVkWFNMU3R5bGVTaGVldCo+KHJlcXVlc3RSZXNvdXJjZShDYWNoZWRS
ZXNvdXJjZTo6WFNMU3R5bGVTaGVldCwgcmVxdWVzdCwgU3RyaW5nKCksIGRlZmF1bHRDYWNoZWRS
ZXNvdXJjZU9wdGlvbnMoKSwgaW5pdGlhdG9yKS5nZXQoKSk7CiB9CiAjZW5kaWYKIAogI2lmIEVO
QUJMRShTVkcpCi1DYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRTVkdEb2N1bWVudD4gQ2FjaGVk
UmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RTVkdEb2N1bWVudChSZXNvdXJjZVJlcXVlc3QmIHJlcXVl
c3QpCitDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRTVkdEb2N1bWVudD4gQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXI6OnJlcXVlc3RTVkdEb2N1bWVudChSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNv
bnN0IExvYWRJbml0aWF0b3ImIGluaXRpYXRvcikKIHsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8
Q2FjaGVkU1ZHRG9jdW1lbnQqPihyZXF1ZXN0UmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2U6OlNWR0Rv
Y3VtZW50UmVzb3VyY2UsIHJlcXVlc3QsIHJlcXVlc3QudXJsKCksIGRlZmF1bHRDYWNoZWRSZXNv
dXJjZU9wdGlvbnMoKSkuZ2V0KCkpOworICAgIHJldHVybiBzdGF0aWNfY2FzdDxDYWNoZWRTVkdE
b2N1bWVudCo+KHJlcXVlc3RSZXNvdXJjZShDYWNoZWRSZXNvdXJjZTo6U1ZHRG9jdW1lbnRSZXNv
dXJjZSwgcmVxdWVzdCwgcmVxdWVzdC51cmwoKSwgZGVmYXVsdENhY2hlZFJlc291cmNlT3B0aW9u
cygpLCBpbml0aWF0b3IpLmdldCgpKTsKIH0KICNlbmRpZgogCiAjaWYgRU5BQkxFKExJTktfUFJF
RkVUQ0gpCi1DYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRSZXNvdXJjZT4gQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXI6OnJlcXVlc3RMaW5rUmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2U6OlR5cGUgdHlwZSwg
UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBSZXNvdXJjZUxvYWRQcmlvcml0eSBwcmlvcml0eSkK
K0NhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFJlc291cmNlPiBDYWNoZWRSZXNvdXJjZUxvYWRl
cjo6cmVxdWVzdExpbmtSZXNvdXJjZShDYWNoZWRSZXNvdXJjZTo6VHlwZSB0eXBlLCBSZXNvdXJj
ZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IExvYWRJbml0aWF0b3ImIGluaXRpYXRvciwgUmVzb3Vy
Y2VMb2FkUHJpb3JpdHkgcHJpb3JpdHkpCiB7CiAgICAgQVNTRVJUKGZyYW1lKCkpOwogICAgIEFT
U0VSVCh0eXBlID09IENhY2hlZFJlc291cmNlOjpMaW5rUHJlZmV0Y2ggfHwgdHlwZSA9PSBDYWNo
ZWRSZXNvdXJjZTo6TGlua1N1YnJlc291cmNlKTsKLSAgICByZXR1cm4gcmVxdWVzdFJlc291cmNl
KHR5cGUsIHJlcXVlc3QsIFN0cmluZygpLCBkZWZhdWx0Q2FjaGVkUmVzb3VyY2VPcHRpb25zKCks
IHByaW9yaXR5KTsKKyAgICByZXR1cm4gcmVxdWVzdFJlc291cmNlKHR5cGUsIHJlcXVlc3QsIFN0
cmluZygpLCBkZWZhdWx0Q2FjaGVkUmVzb3VyY2VPcHRpb25zKCksIGluaXRpYXRvciwgcHJpb3Jp
dHkpOwogfQogI2VuZGlmCiAKLUNhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFJhd1Jlc291cmNl
PiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFJhd1Jlc291cmNlKFJlc291cmNlUmVxdWVz
dCYgcmVxdWVzdCwgY29uc3QgUmVzb3VyY2VMb2FkZXJPcHRpb25zJiBvcHRpb25zKQorQ2FjaGVk
UmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmF3UmVzb3VyY2U+IENhY2hlZFJlc291cmNlTG9hZGVyOjpy
ZXF1ZXN0UmF3UmVzb3VyY2UoUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBSZXNvdXJj
ZUxvYWRlck9wdGlvbnMmIG9wdGlvbnMsIGNvbnN0IExvYWRJbml0aWF0b3ImIGluaXRpYXRvcikK
IHsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Q2FjaGVkUmF3UmVzb3VyY2UqPihyZXF1ZXN0UmVz
b3VyY2UoQ2FjaGVkUmVzb3VyY2U6OlJhd1Jlc291cmNlLCByZXF1ZXN0LCBTdHJpbmcoKSwgb3B0
aW9ucywgUmVzb3VyY2VMb2FkUHJpb3JpdHlVbnJlc29sdmVkLCBmYWxzZSkuZ2V0KCkpOworICAg
IHJldHVybiBzdGF0aWNfY2FzdDxDYWNoZWRSYXdSZXNvdXJjZSo+KHJlcXVlc3RSZXNvdXJjZShD
YWNoZWRSZXNvdXJjZTo6UmF3UmVzb3VyY2UsIHJlcXVlc3QsIFN0cmluZygpLCBvcHRpb25zLCBp
bml0aWF0b3IsIFJlc291cmNlTG9hZFByaW9yaXR5VW5yZXNvbHZlZCwgZmFsc2UpLmdldCgpKTsK
IH0KIAogYm9vbCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6Y2hlY2tJbnNlY3VyZUNvbnRlbnQoQ2Fj
aGVkUmVzb3VyY2U6OlR5cGUgdHlwZSwgY29uc3QgS1VSTCYgdXJsKSBjb25zdApAQCAtMzk1LDcg
KzM5Niw3IEBAIGJvb2wgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmNhblJlcXVlc3QoQ2FjaGVkUmVz
b3VyY2U6OlR5cGUgdHlwZSwgY29uc3QgS1VSTCYgdXJsCiAgICAgcmV0dXJuIHRydWU7CiB9CiAK
LUNhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFJlc291cmNlPiBDYWNoZWRSZXNvdXJjZUxvYWRl
cjo6cmVxdWVzdFJlc291cmNlKENhY2hlZFJlc291cmNlOjpUeXBlIHR5cGUsIFJlc291cmNlUmVx
dWVzdCYgcmVxdWVzdCwgY29uc3QgU3RyaW5nJiBjaGFyc2V0LCBjb25zdCBSZXNvdXJjZUxvYWRl
ck9wdGlvbnMmIG9wdGlvbnMsIFJlc291cmNlTG9hZFByaW9yaXR5IHByaW9yaXR5LCBib29sIGZv
clByZWxvYWQsIERlZmVyT3B0aW9uIGRlZmVyKQorQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVk
UmVzb3VyY2U+IENhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0UmVzb3VyY2UoQ2FjaGVkUmVz
b3VyY2U6OlR5cGUgdHlwZSwgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBTdHJpbmcm
IGNoYXJzZXQsIGNvbnN0IFJlc291cmNlTG9hZGVyT3B0aW9ucyYgb3B0aW9ucywgY29uc3QgTG9h
ZEluaXRpYXRvciYgaW5pdGlhdG9yLCBSZXNvdXJjZUxvYWRQcmlvcml0eSBwcmlvcml0eSwgYm9v
bCBmb3JQcmVsb2FkLCBEZWZlck9wdGlvbiBkZWZlcikKIHsKICAgICBLVVJMIHVybCA9IHJlcXVl
c3QudXJsKCk7CiAgICAgCkBAIC00MzAsMTAgKzQzMSwxMCBAQCBDYWNoZWRSZXNvdXJjZUhhbmRs
ZTxDYWNoZWRSZXNvdXJjZT4gQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RSZXNvdXJjZShD
YWNoZQogICAgICAgICBtZW1vcnlDYWNoZSgpLT5yZW1vdmUocmVzb3VyY2UuZ2V0KCkpOwogICAg
ICAgICAvLyBGYWxsIHRocm91Z2gKICAgICBjYXNlIExvYWQ6Ci0gICAgICAgIHJlc291cmNlID0g
bG9hZFJlc291cmNlKHR5cGUsIHJlcXVlc3QsIGNoYXJzZXQpOworICAgICAgICByZXNvdXJjZSA9
IGxvYWRSZXNvdXJjZSh0eXBlLCByZXF1ZXN0LCBjaGFyc2V0LCBpbml0aWF0b3IpOwogICAgICAg
ICBicmVhazsKICAgICBjYXNlIFJldmFsaWRhdGU6Ci0gICAgICAgIHJlc291cmNlID0gcmV2YWxp
ZGF0ZVJlc291cmNlKHJlc291cmNlLmdldCgpKTsKKyAgICAgICAgcmVzb3VyY2UgPSByZXZhbGlk
YXRlUmVzb3VyY2UocmVzb3VyY2UuZ2V0KCksIGluaXRpYXRvcik7CiAgICAgICAgIGJyZWFrOwog
ICAgIGNhc2UgVXNlOgogICAgICAgICBtZW1vcnlDYWNoZSgpLT5yZXNvdXJjZUFjY2Vzc2VkKHJl
c291cmNlLmdldCgpKTsKQEAgLTQ2NCwzNCArNDY1LDM2IEBAIENhY2hlZFJlc291cmNlSGFuZGxl
PENhY2hlZFJlc291cmNlPiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFJlc291cmNlKENh
Y2hlCiAgICAgcmV0dXJuIHJlc291cmNlOwogfQogCi1DYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNo
ZWRSZXNvdXJjZT4gQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJldmFsaWRhdGVSZXNvdXJjZShDYWNo
ZWRSZXNvdXJjZSogcmVzb3VyY2UpCitDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRSZXNvdXJj
ZT4gQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJldmFsaWRhdGVSZXNvdXJjZShDYWNoZWRSZXNvdXJj
ZSogcmVzb3VyY2UsIGNvbnN0IExvYWRJbml0aWF0b3ImIGluaXRpYXRvcikKIHsKICAgICBBU1NF
UlQocmVzb3VyY2UpOwogICAgIEFTU0VSVChyZXNvdXJjZS0+aW5DYWNoZSgpKTsKICAgICBBU1NF
UlQoIW1lbW9yeUNhY2hlKCktPmRpc2FibGVkKCkpOwogICAgIEFTU0VSVChyZXNvdXJjZS0+Y2Fu
VXNlQ2FjaGVWYWxpZGF0b3IoKSk7CiAgICAgQVNTRVJUKCFyZXNvdXJjZS0+cmVzb3VyY2VUb1Jl
dmFsaWRhdGUoKSk7Ci0gICAgCisKICAgICAvLyBDb3B5IHRoZSBVUkwgb3V0IG9mIHRoZSByZXNv
dXJjZSB0byBiZSByZXZhbGlkYXRlZCBpbiBjYXNlIGl0IGdldHMgZGVsZXRlZCBieSB0aGUgcmVt
b3ZlKCkgY2FsbCBiZWxvdy4KICAgICBTdHJpbmcgdXJsID0gcmVzb3VyY2UtPnVybCgpOwogICAg
IENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFJlc291cmNlPiBuZXdSZXNvdXJjZSA9IGNyZWF0
ZVJlc291cmNlKHJlc291cmNlLT50eXBlKCksIHJlc291cmNlLT5yZXNvdXJjZVJlcXVlc3QoKSwg
cmVzb3VyY2UtPmVuY29kaW5nKCkpOwogICAgIAogICAgIExPRyhSZXNvdXJjZUxvYWRpbmcsICJS
ZXNvdXJjZSAlcCBjcmVhdGVkIHRvIHJldmFsaWRhdGUgJXAiLCBuZXdSZXNvdXJjZS5nZXQoKSwg
cmVzb3VyY2UpOwogICAgIG5ld1Jlc291cmNlLT5zZXRSZXNvdXJjZVRvUmV2YWxpZGF0ZShyZXNv
dXJjZSk7CisgICAgbmV3UmVzb3VyY2UtPnNldEluaXRpYXRvcihpbml0aWF0b3IpOwogICAgIAog
ICAgIG1lbW9yeUNhY2hlKCktPnJlbW92ZShyZXNvdXJjZSk7CiAgICAgbWVtb3J5Q2FjaGUoKS0+
YWRkKG5ld1Jlc291cmNlLmdldCgpKTsKICAgICByZXR1cm4gbmV3UmVzb3VyY2U7CiB9CiAKLUNh
Y2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFJlc291cmNlPiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6
bG9hZFJlc291cmNlKENhY2hlZFJlc291cmNlOjpUeXBlIHR5cGUsIFJlc291cmNlUmVxdWVzdCYg
cmVxdWVzdCwgY29uc3QgU3RyaW5nJiBjaGFyc2V0KQorQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2Fj
aGVkUmVzb3VyY2U+IENhY2hlZFJlc291cmNlTG9hZGVyOjpsb2FkUmVzb3VyY2UoQ2FjaGVkUmVz
b3VyY2U6OlR5cGUgdHlwZSwgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBTdHJpbmcm
IGNoYXJzZXQsIGNvbnN0IExvYWRJbml0aWF0b3ImIGluaXRpYXRvcikKIHsKICAgICBBU1NFUlQo
IW1lbW9yeUNhY2hlKCktPnJlc291cmNlRm9yVVJMKHJlcXVlc3QudXJsKCkpKTsKLSAgICAKKwog
ICAgIExPRyhSZXNvdXJjZUxvYWRpbmcsICJMb2FkaW5nIENhY2hlZFJlc291cmNlIGZvciAnJXMn
LiIsIHJlcXVlc3QudXJsKCkuc3RyaW5nKCkubGF0aW4xKCkuZGF0YSgpKTsKLSAgICAKKwogICAg
IENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFJlc291cmNlPiByZXNvdXJjZSA9IGNyZWF0ZVJl
c291cmNlKHR5cGUsIHJlcXVlc3QsIGNoYXJzZXQpOwotICAgIAorICAgIHJlc291cmNlLT5zZXRJ
bml0aWF0b3IoaW5pdGlhdG9yKTsKKwogICAgIGlmICghbWVtb3J5Q2FjaGUoKS0+YWRkKHJlc291
cmNlLmdldCgpKSkKICAgICAgICAgcmVzb3VyY2UtPnNldE93bmluZ0NhY2hlZFJlc291cmNlTG9h
ZGVyKHRoaXMpOwogICAgIHJldHVybiByZXNvdXJjZTsKQEAgLTUwMSwxMSArNTA0LDExIEBAIENh
Y2hlZFJlc291cmNlTG9hZGVyOjpSZXZhbGlkYXRpb25Qb2xpY3kgQ2FjaGVkUmVzb3VyY2VMb2Fk
ZXI6OmRldGVybWluZVJldmFsaWRhCiB7CiAgICAgaWYgKCFleGlzdGluZ1Jlc291cmNlKQogICAg
ICAgICByZXR1cm4gTG9hZDsKLQorICAgIAogICAgIC8vIFdlIGFscmVhZHkgaGF2ZSBhIHByZWxv
YWQgZ29pbmcgZm9yIHRoaXMgVVJMLgogICAgIGlmIChmb3JQcmVsb2FkICYmIGV4aXN0aW5nUmVz
b3VyY2UtPmlzUHJlbG9hZGVkKCkpCiAgICAgICAgIHJldHVybiBVc2U7Ci0KKyAgICAKICAgICAv
LyBJZiB0aGUgc2FtZSBVUkwgaGFzIGJlZW4gbG9hZGVkIGFzIGEgZGlmZmVyZW50IHR5cGUsIHdl
IG5lZWQgdG8gcmVsb2FkLgogICAgIGlmIChleGlzdGluZ1Jlc291cmNlLT50eXBlKCkgIT0gdHlw
ZSkgewogICAgICAgICBMT0coUmVzb3VyY2VMb2FkaW5nLCAiQ2FjaGVkUmVzb3VyY2VMb2FkZXI6
OmRldGVybWluZVJldmFsaWRhdGlvblBvbGljeSByZWxvYWRpbmcgZHVlIHRvIHR5cGUgbWlzbWF0
Y2guIik7CkBAIC03NDIsOCArNzQ1LDggQEAgdm9pZCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6ZGVj
cmVtZW50UmVxdWVzdENvdW50KGNvbnN0IENhY2hlZFJlc291cmNlKiByZXMpCiAgICAgLS1tX3Jl
cXVlc3RDb3VudDsKICAgICBBU1NFUlQobV9yZXF1ZXN0Q291bnQgPiAtMSk7CiB9Ci0gICAgCi12
b2lkIENhY2hlZFJlc291cmNlTG9hZGVyOjpwcmVsb2FkKENhY2hlZFJlc291cmNlOjpUeXBlIHR5
cGUsIFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgU3RyaW5nJiBjaGFyc2V0LCBib29s
IHJlZmVyZW5jZWRGcm9tQm9keSkKKwordm9pZCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cHJlbG9h
ZChDYWNoZWRSZXNvdXJjZTo6VHlwZSB0eXBlLCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNv
bnN0IFN0cmluZyYgY2hhcnNldCwgYm9vbCByZWZlcmVuY2VkRnJvbUJvZHksIGNvbnN0IExvYWRJ
bml0aWF0b3ImIGluaXRpYXRvcikKIHsKICAgICAvLyBGSVhNRTogUmlwIHRoaXMgb3V0IHdoZW4g
d2UgYXJlIHN1cmUgaXQgaXMgbm8gbG9uZ2VyIG5lY2Vzc2FyeSAoZXZlbiBmb3IgbW9iaWxlKS4K
ICAgICBVTlVTRURfUEFSQU0ocmVmZXJlbmNlZEZyb21Cb2R5KTsKQEAgLTc1OCwxNSArNzYxLDE1
IEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnByZWxvYWQoQ2FjaGVkUmVzb3VyY2U6OlR5
cGUgdHlwZSwgUmVzb3VyY2VSZXF1ZXN0JiByCiAgICAgICAgIGlmICghaGFzUmVuZGVyaW5nICYm
ICFjYW5CbG9ja1BhcnNlcikgewogICAgICAgICAgICAgLy8gRG9uJ3QgcHJlbG9hZCBzdWJyZXNv
dXJjZXMgdGhhdCBjYW4ndCBibG9jayB0aGUgcGFyc2VyIGJlZm9yZSB3ZSBoYXZlIHNvbWV0aGlu
ZyB0byBkcmF3LgogICAgICAgICAgICAgLy8gVGhpcyBoZWxwcyBwcmV2ZW50IHByZWxvYWRzIGZy
b20gZGVsYXlpbmcgZmlyc3QgZGlzcGxheSB3aGVuIGJhbmR3aWR0aCBpcyBsaW1pdGVkLgotICAg
ICAgICAgICAgUGVuZGluZ1ByZWxvYWQgcGVuZGluZ1ByZWxvYWQgPSB7IHR5cGUsIHJlcXVlc3Qs
IGNoYXJzZXQgfTsKKyAgICAgICAgICAgIFBlbmRpbmdQcmVsb2FkIHBlbmRpbmdQcmVsb2FkID0g
eyB0eXBlLCByZXF1ZXN0LCBjaGFyc2V0LCBpbml0aWF0b3IgfTsKICAgICAgICAgICAgIG1fcGVu
ZGluZ1ByZWxvYWRzLmFwcGVuZChwZW5kaW5nUHJlbG9hZCk7CiAgICAgICAgICAgICByZXR1cm47
CiAgICAgICAgIH0KICAgICB9Ci0gICAgcmVxdWVzdFByZWxvYWQodHlwZSwgcmVxdWVzdCwgY2hh
cnNldCk7CisgICAgcmVxdWVzdFByZWxvYWQodHlwZSwgcmVxdWVzdCwgY2hhcnNldCwgaW5pdGlh
dG9yKTsKIH0KIAotdm9pZCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6Y2hlY2tGb3JQZW5kaW5nUHJl
bG9hZHMoKSAKK3ZvaWQgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmNoZWNrRm9yUGVuZGluZ1ByZWxv
YWRzKCkKIHsKICAgICBpZiAobV9wZW5kaW5nUHJlbG9hZHMuaXNFbXB0eSgpIHx8ICFtX2RvY3Vt
ZW50LT5ib2R5KCkgfHwgIW1fZG9jdW1lbnQtPmJvZHkoKS0+cmVuZGVyZXIoKSkKICAgICAgICAg
cmV0dXJuOwpAQCAtNzc0LDE4ICs3NzcsMTggQEAgdm9pZCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6
Y2hlY2tGb3JQZW5kaW5nUHJlbG9hZHMoKQogICAgICAgICBQZW5kaW5nUHJlbG9hZCBwcmVsb2Fk
ID0gbV9wZW5kaW5nUHJlbG9hZHMudGFrZUZpcnN0KCk7CiAgICAgICAgIC8vIERvbid0IHJlcXVl
c3QgcHJlbG9hZCBpZiB0aGUgcmVzb3VyY2UgYWxyZWFkeSBsb2FkZWQgbm9ybWFsbHkgKHRoaXMg
d2lsbCByZXN1bHQgaW4gZG91YmxlIGxvYWQgaWYgdGhlIHBhZ2UgaXMgYmVpbmcgcmVsb2FkZWQg
d2l0aCBjYWNoZWQgcmVzdWx0cyBpZ25vcmVkKS4KICAgICAgICAgaWYgKCFjYWNoZWRSZXNvdXJj
ZShwcmVsb2FkLm1fcmVxdWVzdC51cmwoKSkpCi0gICAgICAgICAgICByZXF1ZXN0UHJlbG9hZChw
cmVsb2FkLm1fdHlwZSwgcHJlbG9hZC5tX3JlcXVlc3QsIHByZWxvYWQubV9jaGFyc2V0KTsKKyAg
ICAgICAgICAgIHJlcXVlc3RQcmVsb2FkKHByZWxvYWQubV90eXBlLCBwcmVsb2FkLm1fcmVxdWVz
dCwgcHJlbG9hZC5tX2NoYXJzZXQsIHByZWxvYWQubV9pbml0aWF0b3IpOwogICAgIH0KICAgICBt
X3BlbmRpbmdQcmVsb2Fkcy5jbGVhcigpOwogfQogCi12b2lkIENhY2hlZFJlc291cmNlTG9hZGVy
OjpyZXF1ZXN0UHJlbG9hZChDYWNoZWRSZXNvdXJjZTo6VHlwZSB0eXBlLCBSZXNvdXJjZVJlcXVl
c3QmIHJlcXVlc3QsIGNvbnN0IFN0cmluZyYgY2hhcnNldCkKK3ZvaWQgQ2FjaGVkUmVzb3VyY2VM
b2FkZXI6OnJlcXVlc3RQcmVsb2FkKENhY2hlZFJlc291cmNlOjpUeXBlIHR5cGUsIFJlc291cmNl
UmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgU3RyaW5nJiBjaGFyc2V0LCBjb25zdCBMb2FkSW5pdGlh
dG9yJiBpbml0aWF0b3IpCiB7CiAgICAgU3RyaW5nIGVuY29kaW5nOwogICAgIGlmICh0eXBlID09
IENhY2hlZFJlc291cmNlOjpTY3JpcHQgfHwgdHlwZSA9PSBDYWNoZWRSZXNvdXJjZTo6Q1NTU3R5
bGVTaGVldCkKICAgICAgICAgZW5jb2RpbmcgPSBjaGFyc2V0LmlzRW1wdHkoKSA/IG1fZG9jdW1l
bnQtPmNoYXJzZXQoKSA6IGNoYXJzZXQ7CiAKLSAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNo
ZWRSZXNvdXJjZT4gcmVzb3VyY2UgPSByZXF1ZXN0UmVzb3VyY2UodHlwZSwgcmVxdWVzdCwgZW5j
b2RpbmcsIGRlZmF1bHRDYWNoZWRSZXNvdXJjZU9wdGlvbnMoKSwgUmVzb3VyY2VMb2FkUHJpb3Jp
dHlVbnJlc29sdmVkLCB0cnVlKTsKKyAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRSZXNv
dXJjZT4gcmVzb3VyY2UgPSByZXF1ZXN0UmVzb3VyY2UodHlwZSwgcmVxdWVzdCwgZW5jb2Rpbmcs
IGRlZmF1bHRDYWNoZWRSZXNvdXJjZU9wdGlvbnMoKSwgaW5pdGlhdG9yLCBSZXNvdXJjZUxvYWRQ
cmlvcml0eVVucmVzb2x2ZWQsIHRydWUpOwogICAgIGlmICghcmVzb3VyY2UgfHwgKG1fcHJlbG9h
ZHMgJiYgbV9wcmVsb2Fkcy0+Y29udGFpbnMocmVzb3VyY2UuZ2V0KCkpKSkKICAgICAgICAgcmV0
dXJuOwogICAgIHJlc291cmNlLT5pbmNyZWFzZVByZWxvYWRDb3VudCgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaAppbmRleCBiNWRj
Njk0ODJlMWRmMTE5NzE0YWI3ODM2NzFiZDUwNjJmYmFjYzA3Li5kYTQ5YjNjYTcwZjJiNGJhYjc3
YWFlZmU2ZGVkN2UyYmZhNTE5MGI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
Y2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
Y2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaApAQCAtMjksNiArMjksOCBAQAogI2luY2x1ZGUg
IkNhY2hlZFJlc291cmNlLmgiCiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VIYW5kbGUuaCIKICNp
bmNsdWRlICJDYWNoZVBvbGljeS5oIgorI2luY2x1ZGUgIkxvYWRJbml0aWF0b3IuaCIKKyNpbmNs
dWRlICJMb2FkSW5pdGlhdG9ySGFuZGxlLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VMb2FkUHJpb3Jp
dHkuaCIKICNpbmNsdWRlICJUaW1lci5oIgogI2luY2x1ZGUgPHd0Zi9EZXF1ZS5oPgpAQCAtNjMs
MjcgKzY1LDI3IEBAIHB1YmxpYzoKICAgICBDYWNoZWRSZXNvdXJjZUxvYWRlcihEb2N1bWVudCop
OwogICAgIH5DYWNoZWRSZXNvdXJjZUxvYWRlcigpOwogCi0gICAgQ2FjaGVkUmVzb3VyY2VIYW5k
bGU8Q2FjaGVkSW1hZ2U+IHJlcXVlc3RJbWFnZShSZXNvdXJjZVJlcXVlc3QmKTsKLSAgICBDYWNo
ZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRDU1NTdHlsZVNoZWV0PiByZXF1ZXN0Q1NTU3R5bGVTaGVl
dChSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBTdHJpbmcmIGNoYXJzZXQsIFJlc291cmNlTG9hZFBy
aW9yaXR5ID0gUmVzb3VyY2VMb2FkUHJpb3JpdHlVbnJlc29sdmVkKTsKLSAgICBDYWNoZWRSZXNv
dXJjZUhhbmRsZTxDYWNoZWRDU1NTdHlsZVNoZWV0PiByZXF1ZXN0VXNlckNTU1N0eWxlU2hlZXQo
UmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgU3RyaW5nJiBjaGFyc2V0KTsKLSAgICBDYWNoZWRSZXNv
dXJjZUhhbmRsZTxDYWNoZWRTY3JpcHQ+IHJlcXVlc3RTY3JpcHQoUmVzb3VyY2VSZXF1ZXN0Jiwg
Y29uc3QgU3RyaW5nJiBjaGFyc2V0KTsKLSAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRG
b250PiByZXF1ZXN0Rm9udChSZXNvdXJjZVJlcXVlc3QmKTsKLSAgICBDYWNoZWRSZXNvdXJjZUhh
bmRsZTxDYWNoZWRSYXdSZXNvdXJjZT4gcmVxdWVzdFJhd1Jlc291cmNlKFJlc291cmNlUmVxdWVz
dCYsIGNvbnN0IFJlc291cmNlTG9hZGVyT3B0aW9ucyYpOworICAgIENhY2hlZFJlc291cmNlSGFu
ZGxlPENhY2hlZEltYWdlPiByZXF1ZXN0SW1hZ2UoUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgTG9h
ZEluaXRpYXRvciYpOworICAgIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZENTU1N0eWxlU2hl
ZXQ+IHJlcXVlc3RDU1NTdHlsZVNoZWV0KFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFN0cmluZyYg
Y2hhcnNldCwgY29uc3QgTG9hZEluaXRpYXRvciYsIFJlc291cmNlTG9hZFByaW9yaXR5ID0gUmVz
b3VyY2VMb2FkUHJpb3JpdHlVbnJlc29sdmVkKTsKKyAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZTxD
YWNoZWRDU1NTdHlsZVNoZWV0PiByZXF1ZXN0VXNlckNTU1N0eWxlU2hlZXQoUmVzb3VyY2VSZXF1
ZXN0JiwgY29uc3QgU3RyaW5nJiBjaGFyc2V0LCBjb25zdCBMb2FkSW5pdGlhdG9yJik7CisgICAg
Q2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkU2NyaXB0PiByZXF1ZXN0U2NyaXB0KFJlc291cmNl
UmVxdWVzdCYsIGNvbnN0IFN0cmluZyYgY2hhcnNldCwgY29uc3QgTG9hZEluaXRpYXRvciYpOwor
ICAgIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZEZvbnQ+IHJlcXVlc3RGb250KFJlc291cmNl
UmVxdWVzdCYsIGNvbnN0IExvYWRJbml0aWF0b3ImKTsKKyAgICBDYWNoZWRSZXNvdXJjZUhhbmRs
ZTxDYWNoZWRSYXdSZXNvdXJjZT4gcmVxdWVzdFJhd1Jlc291cmNlKFJlc291cmNlUmVxdWVzdCYs
IGNvbnN0IFJlc291cmNlTG9hZGVyT3B0aW9ucyYsIGNvbnN0IExvYWRJbml0aWF0b3ImKTsKIAog
I2lmIEVOQUJMRShTVkcpCi0gICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkU1ZHRG9jdW1l
bnQ+IHJlcXVlc3RTVkdEb2N1bWVudChSZXNvdXJjZVJlcXVlc3QmKTsKKyAgICBDYWNoZWRSZXNv
dXJjZUhhbmRsZTxDYWNoZWRTVkdEb2N1bWVudD4gcmVxdWVzdFNWR0RvY3VtZW50KFJlc291cmNl
UmVxdWVzdCYsIGNvbnN0IExvYWRJbml0aWF0b3ImKTsKICNlbmRpZgogI2lmIEVOQUJMRShYU0xU
KQotICAgIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFhTTFN0eWxlU2hlZXQ+IHJlcXVlc3RY
U0xTdHlsZVNoZWV0KFJlc291cmNlUmVxdWVzdCYpOworICAgIENhY2hlZFJlc291cmNlSGFuZGxl
PENhY2hlZFhTTFN0eWxlU2hlZXQ+IHJlcXVlc3RYU0xTdHlsZVNoZWV0KFJlc291cmNlUmVxdWVz
dCYsIGNvbnN0IExvYWRJbml0aWF0b3ImKTsKICNlbmRpZgogI2lmIEVOQUJMRShMSU5LX1BSRUZF
VENIKQotICAgIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFJlc291cmNlPiByZXF1ZXN0TGlu
a1Jlc291cmNlKENhY2hlZFJlc291cmNlOjpUeXBlLCBSZXNvdXJjZVJlcXVlc3QmLCBSZXNvdXJj
ZUxvYWRQcmlvcml0eSA9IFJlc291cmNlTG9hZFByaW9yaXR5VW5yZXNvbHZlZCk7CisgICAgQ2Fj
aGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmVzb3VyY2U+IHJlcXVlc3RMaW5rUmVzb3VyY2UoQ2Fj
aGVkUmVzb3VyY2U6OlR5cGUsIFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IExvYWRJbml0aWF0b3Im
LCBSZXNvdXJjZUxvYWRQcmlvcml0eSA9IFJlc291cmNlTG9hZFByaW9yaXR5VW5yZXNvbHZlZCk7
CiAjZW5kaWYKICNpZiBFTkFCTEUoVklERU9fVFJBQ0spCi0gICAgQ2FjaGVkUmVzb3VyY2VIYW5k
bGU8Q2FjaGVkVGV4dFRyYWNrPiByZXF1ZXN0VGV4dFRyYWNrKFJlc291cmNlUmVxdWVzdCYpOwor
ICAgIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFRleHRUcmFjaz4gcmVxdWVzdFRleHRUcmFj
ayhSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBMb2FkSW5pdGlhdG9yJik7CiAjZW5kaWYKICNpZiBF
TkFCTEUoQ1NTX1NIQURFUlMpCi0gICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkU2hhZGVy
PiByZXF1ZXN0U2hhZGVyKFJlc291cmNlUmVxdWVzdCYpOworICAgIENhY2hlZFJlc291cmNlSGFu
ZGxlPENhY2hlZFNoYWRlcj4gcmVxdWVzdFNoYWRlcihSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBM
b2FkSW5pdGlhdG9yJik7CiAjZW5kaWYKIAogICAgIC8vIExvZ3MgYW4gYWNjZXNzIGRlbmllZCBt
ZXNzYWdlIHRvIHRoZSBjb25zb2xlIGZvciB0aGUgc3BlY2lmaWVkIFVSTC4KQEAgLTExOCw3ICsx
MjAsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc1ByZWxvYWRlZChjb25zdCBTdHJpbmcmIHVybFN0
cmluZykgY29uc3Q7CiAgICAgdm9pZCBjbGVhclByZWxvYWRzKCk7CiAgICAgdm9pZCBjbGVhclBl
bmRpbmdQcmVsb2FkcygpOwotICAgIHZvaWQgcHJlbG9hZChDYWNoZWRSZXNvdXJjZTo6VHlwZSwg
UmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgU3RyaW5nJiBjaGFyc2V0LCBib29sIHJlZmVyZW5jZWRG
cm9tQm9keSk7CisgICAgdm9pZCBwcmVsb2FkKENhY2hlZFJlc291cmNlOjpUeXBlLCBSZXNvdXJj
ZVJlcXVlc3QmLCBjb25zdCBTdHJpbmcmIGNoYXJzZXQsIGJvb2wgcmVmZXJlbmNlZEZyb21Cb2R5
LCBjb25zdCBMb2FkSW5pdGlhdG9yJik7CiAgICAgdm9pZCBjaGVja0ZvclBlbmRpbmdQcmVsb2Fk
cygpOwogICAgIHZvaWQgcHJpbnRQcmVsb2FkU3RhdHMoKTsKICAgICBib29sIGNhblJlcXVlc3Qo
Q2FjaGVkUmVzb3VyY2U6OlR5cGUsIGNvbnN0IEtVUkwmLCBib29sIGZvclByZWxvYWQgPSBmYWxz
ZSk7CkBAIC0xMjcsMTAgKzEyOSwxMCBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAgZW51bSBE
ZWZlck9wdGlvbiB7IE5vRGVmZXIsIERlZmVycmVkQnlDbGllbnQgfTsKLSAgICBDYWNoZWRSZXNv
dXJjZUhhbmRsZTxDYWNoZWRSZXNvdXJjZT4gcmVxdWVzdFJlc291cmNlKENhY2hlZFJlc291cmNl
OjpUeXBlLCBSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBTdHJpbmcmIGNoYXJzZXQsIGNvbnN0IFJl
c291cmNlTG9hZGVyT3B0aW9ucyYsIFJlc291cmNlTG9hZFByaW9yaXR5ID0gUmVzb3VyY2VMb2Fk
UHJpb3JpdHlVbnJlc29sdmVkLCBib29sIGlzUHJlbG9hZCA9IGZhbHNlLCBEZWZlck9wdGlvbiA9
IE5vRGVmZXIpOwotICAgIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFJlc291cmNlPiByZXZh
bGlkYXRlUmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2UqKTsKLSAgICBDYWNoZWRSZXNvdXJjZUhhbmRs
ZTxDYWNoZWRSZXNvdXJjZT4gbG9hZFJlc291cmNlKENhY2hlZFJlc291cmNlOjpUeXBlLCBSZXNv
dXJjZVJlcXVlc3QmLCBjb25zdCBTdHJpbmcmIGNoYXJzZXQpOwotICAgIHZvaWQgcmVxdWVzdFBy
ZWxvYWQoQ2FjaGVkUmVzb3VyY2U6OlR5cGUsIFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFN0cmlu
ZyYgY2hhcnNldCk7CisgICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmVzb3VyY2U+IHJl
cXVlc3RSZXNvdXJjZShDYWNoZWRSZXNvdXJjZTo6VHlwZSwgUmVzb3VyY2VSZXF1ZXN0JiwgY29u
c3QgU3RyaW5nJiBjaGFyc2V0LCBjb25zdCBSZXNvdXJjZUxvYWRlck9wdGlvbnMmLCBjb25zdCBM
b2FkSW5pdGlhdG9yJiwgUmVzb3VyY2VMb2FkUHJpb3JpdHkgPSBSZXNvdXJjZUxvYWRQcmlvcml0
eVVucmVzb2x2ZWQsIGJvb2wgaXNQcmVsb2FkID0gZmFsc2UsIERlZmVyT3B0aW9uID0gTm9EZWZl
cik7CisgICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmVzb3VyY2U+IHJldmFsaWRhdGVS
ZXNvdXJjZShDYWNoZWRSZXNvdXJjZSosIGNvbnN0IExvYWRJbml0aWF0b3ImKTsKKyAgICBDYWNo
ZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRSZXNvdXJjZT4gbG9hZFJlc291cmNlKENhY2hlZFJlc291
cmNlOjpUeXBlLCBSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBTdHJpbmcmIGNoYXJzZXQsIGNvbnN0
IExvYWRJbml0aWF0b3ImKTsKKyAgICB2b2lkIHJlcXVlc3RQcmVsb2FkKENhY2hlZFJlc291cmNl
OjpUeXBlLCBSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBTdHJpbmcmIGNoYXJzZXQsIGNvbnN0IExv
YWRJbml0aWF0b3ImKTsKIAogICAgIGVudW0gUmV2YWxpZGF0aW9uUG9saWN5IHsgVXNlLCBSZXZh
bGlkYXRlLCBSZWxvYWQsIExvYWQgfTsKICAgICBSZXZhbGlkYXRpb25Qb2xpY3kgZGV0ZXJtaW5l
UmV2YWxpZGF0aW9uUG9saWN5KENhY2hlZFJlc291cmNlOjpUeXBlLCBSZXNvdXJjZVJlcXVlc3Qm
LCBib29sIGZvclByZWxvYWQsIENhY2hlZFJlc291cmNlKiBleGlzdGluZ1Jlc291cmNlLCBEZWZl
ck9wdGlvbikgY29uc3Q7CkBAIC0xNTUsNiArMTU3LDcgQEAgcHJpdmF0ZToKICAgICAgICAgQ2Fj
aGVkUmVzb3VyY2U6OlR5cGUgbV90eXBlOwogICAgICAgICBSZXNvdXJjZVJlcXVlc3QgbV9yZXF1
ZXN0OwogICAgICAgICBTdHJpbmcgbV9jaGFyc2V0OworICAgICAgICBMb2FkSW5pdGlhdG9ySGFu
ZGxlIG1faW5pdGlhdG9yOwogICAgIH07CiAgICAgRGVxdWU8UGVuZGluZ1ByZWxvYWQ+IG1fcGVu
ZGluZ1ByZWxvYWRzOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9J
Y29uTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25Mb2FkZXIuY3Bw
CmluZGV4IDlkNzMzZGE0ZDhiOTAxMDYxOTZjYWM0YmVkMzQ3OTE2ODBhNTBlY2EuLjVkNTM5MDg1
Yzg5Mzk2YzFhZmZkNDBlMzEzYzY1MmNjNDEwZWYzOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9pY29uL0ljb25Mb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9pY29uL0ljb25Mb2FkZXIuY3BwCkBAIC02Niw3ICs2Niw4IEBAIHZvaWQgSWNvbkxvYWRlcjo6
c3RhcnRMb2FkaW5nKCkKICAgICByZXNvdXJjZVJlcXVlc3Quc2V0UHJpb3JpdHkoUmVzb3VyY2VM
b2FkUHJpb3JpdHlMb3cpOwogCiAgICAgbV9yZXNvdXJjZSA9IG1fZnJhbWUtPmRvY3VtZW50KCkt
PmNhY2hlZFJlc291cmNlTG9hZGVyKCktPnJlcXVlc3RSYXdSZXNvdXJjZShyZXNvdXJjZVJlcXVl
c3QsCi0gICAgICAgIFJlc291cmNlTG9hZGVyT3B0aW9ucyhTZW5kQ2FsbGJhY2tzLCBTbmlmZkNv
bnRlbnQsIEJ1ZmZlckRhdGEsIERvTm90QWxsb3dTdG9yZWRDcmVkZW50aWFscywgRG9Ob3RBc2tD
bGllbnRGb3JDcm9zc09yaWdpbkNyZWRlbnRpYWxzLCBEb1NlY3VyaXR5Q2hlY2spKTsKKyAgICAg
ICAgUmVzb3VyY2VMb2FkZXJPcHRpb25zKFNlbmRDYWxsYmFja3MsIFNuaWZmQ29udGVudCwgQnVm
ZmVyRGF0YSwgRG9Ob3RBbGxvd1N0b3JlZENyZWRlbnRpYWxzLCBEb05vdEFza0NsaWVudEZvckNy
b3NzT3JpZ2luQ3JlZGVudGlhbHMsIERvU2VjdXJpdHlDaGVjayksCisgICAgICAgICp0aGlzKTsK
ICAgICBpZiAobV9yZXNvdXJjZSkKICAgICAgICAgbV9yZXNvdXJjZS0+YWRkQ2xpZW50KHRoaXMp
OwogICAgIGVsc2UKQEAgLTEwMiw0ICsxMDMsMTUgQEAgdm9pZCBJY29uTG9hZGVyOjpub3RpZnlG
aW5pc2hlZChDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2UpCiAgICAgc3RvcExvYWRpbmcoKTsKIH0K
IAorY29uc3QgV1RGOjpBdG9taWNTdHJpbmcmIEljb25Mb2FkZXI6OmluaXRpYXRvck5hbWUoKSBj
b25zdAoreworICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCBuYW1lLCAoImlj
b24iLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKSk7CisgICAgcmV0dXJuIG5h
bWU7Cit9CisKK0RvY3VtZW50KiBJY29uTG9hZGVyOjppbml0aWF0b3JEb2N1bWVudCgpIGNvbnN0
Cit7CisgICAgcmV0dXJuIG1fZnJhbWUtPmRvY3VtZW50KCk7Cit9CisKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25Mb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9pY29uL0ljb25Mb2FkZXIuaAppbmRleCA2NWU4YmQ1MmYyNzA0MjEzNWM1YWM3ODMx
YTU3NGRlMmRkZWE5ZGM0Li4yMDk1Y2Q0MjcxMjI1ZjllNTAwODY5ZmRlODBmOWU1ZTJmNGQ2MGQ4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uTG9hZGVyLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkxvYWRlci5oCkBAIC0yOCw2ICsyOCw3
IEBACiAKICNpbmNsdWRlICJDYWNoZWRSYXdSZXNvdXJjZS5oIgogI2luY2x1ZGUgIkNhY2hlZFJl
c291cmNlSGFuZGxlLmgiCisjaW5jbHVkZSAiTG9hZEluaXRpYXRvci5oIgogI2luY2x1ZGUgPHd0
Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3Rm
L1JlZlB0ci5oPgpAQCAtMzcsNyArMzgsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBD
YWNoZWRSYXdSZXNvdXJjZTsKIGNsYXNzIEZyYW1lOwogCi1jbGFzcyBJY29uTG9hZGVyIDogcHJp
dmF0ZSBDYWNoZWRSYXdSZXNvdXJjZUNsaWVudCB7CitjbGFzcyBJY29uTG9hZGVyIDogcHJpdmF0
ZSBDYWNoZWRSYXdSZXNvdXJjZUNsaWVudCwgcHJpdmF0ZSBMb2FkSW5pdGlhdG9yIHsKICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShJY29uTG9hZGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8SWNvbkxvYWRlcj4gY3JlYXRlKEZyYW1l
Kik7CkBAIC01MCw2ICs1MSw5IEBAIHByaXZhdGU6CiAgICAgZXhwbGljaXQgSWNvbkxvYWRlcihG
cmFtZSopOwogICAgIHZpcnR1YWwgdm9pZCBub3RpZnlGaW5pc2hlZChDYWNoZWRSZXNvdXJjZSop
OwogCisgICAgdmlydHVhbCBjb25zdCBXVEY6OkF0b21pY1N0cmluZyYgaW5pdGlhdG9yTmFtZSgp
IGNvbnN0OworICAgIHZpcnR1YWwgRG9jdW1lbnQqIGluaXRpYXRvckRvY3VtZW50KCkgY29uc3Q7
CisKICAgICBGcmFtZSogbV9mcmFtZTsKICAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRS
YXdSZXNvdXJjZT4gbV9yZXNvdXJjZTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BlcmZvcm1hbmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3Bw
CmluZGV4IDkwMzM5MzAyMTllNjA0MTE1MTRjY2RlNTZmNjZiZTZiODU4OGQ1MTkuLmFmYTYyZjBm
ZmJiYzM5YjU5OTlkYmVmYTE3YTVjMTczNDg4ODZiMzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9y
bWFuY2UuY3BwCkBAIC0zMyw2ICszMyw4IEBACiAKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2lu
Y2x1ZGUgIkRvY3VtZW50TG9hZGVyLmgiCisjaW5jbHVkZSAiRWxlbWVudC5oIgorI2luY2x1ZGUg
IkxvYWRJbml0aWF0b3IuaCIKICNpbmNsdWRlICJNZW1vcnlJbmZvLmgiCiAjaW5jbHVkZSAiUGVy
Zm9ybWFuY2VFbnRyeS5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlTmF2aWdhdGlvbi5oIgpAQCAt
MTQzLDEyICsxNDUsOSBAQCB2b2lkIFBlcmZvcm1hbmNlOjp3ZWJraXRTZXRSZXNvdXJjZVRpbWlu
Z0J1ZmZlclNpemUodW5zaWduZWQgaW50KQogICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgdGhpcy4K
IH0KIAotdm9pZCBQZXJmb3JtYW5jZTo6YWRkUmVzb3VyY2VUaW1pbmcoY29uc3QgUmVzb3VyY2VS
ZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwgZG91Ymxl
IGZpbmlzaFRpbWUsIERvY3VtZW50KiByZXF1ZXN0aW5nRG9jdW1lbnQpCit2b2lkIFBlcmZvcm1h
bmNlOjphZGRSZXNvdXJjZVRpbWluZyhjb25zdCBMb2FkSW5pdGlhdG9yJiBpbml0aWF0b3IsIGNv
bnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVz
cG9uc2UsIGRvdWJsZSBpbml0aWF0aW9uVGltZSwgZG91YmxlIGZpbmlzaFRpbWUpCiB7Ci0gICAg
aWYgKCFyZXNwb25zZS5yZXNvdXJjZUxvYWRUaW1pbmcoKSkKLSAgICAgICAgcmV0dXJuOwotCi0g
ICAgUmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+IGVudHJ5ID0gUGVyZm9ybWFuY2VSZXNvdXJjZVRp
bWluZzo6Y3JlYXRlKHJlcXVlc3QsIHJlc3BvbnNlLCBmaW5pc2hUaW1lLCByZXF1ZXN0aW5nRG9j
dW1lbnQpOworICAgIFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5PiBlbnRyeSA9IFBlcmZvcm1hbmNl
UmVzb3VyY2VUaW1pbmc6OmNyZWF0ZShpbml0aWF0b3IuaW5pdGlhdG9yTmFtZSgpLCByZXF1ZXN0
LCByZXNwb25zZSwgaW5pdGlhdGlvblRpbWUsIGZpbmlzaFRpbWUsIGluaXRpYXRvci5pbml0aWF0
b3JEb2N1bWVudCgpKTsKICAgICAvLyBGSVhNRTogTmVlZCB0byBlbmZvcmNlIGJ1ZmZlciBsaW1p
dHMuCiAgICAgbV9yZXNvdXJjZVRpbWluZ0J1ZmZlci5hcHBlbmQoZW50cnkpOwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5oIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9QZXJmb3JtYW5jZS5oCmluZGV4IDhiYThjNWVlYTk1ZWU1ZDQzZDhjYmRlNDY3MGVkOTJi
MjE5NjFlNjguLjljZWExNDE1NjU2YjIzOWQ4ZTU2MjZmMzNjMzllMWRiNTA3ZjIzNTQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BlcmZvcm1hbmNlLmgKQEAgLTQ3LDYgKzQ3LDggQEAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogY2xhc3MgRG9jdW1lbnQ7CitjbGFzcyBFbGVtZW50OworY2xhc3MgTG9hZEluaXRp
YXRvcjsKIGNsYXNzIFJlc291cmNlUmVxdWVzdDsKIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CiAK
QEAgLTc1LDcgKzc3LDcgQEAgcHVibGljOgogCiAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9M
SVNURU5FUih3ZWJraXRyZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwpOwogCi0gICAgdm9pZCBhZGRS
ZXNvdXJjZVRpbWluZyhjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBSZXNvdXJjZVJlc3Bv
bnNlJiwgZG91YmxlIGZpbmlzaFRpbWUsIERvY3VtZW50Kik7CisgICAgdm9pZCBhZGRSZXNvdXJj
ZVRpbWluZyhjb25zdCBMb2FkSW5pdGlhdG9yJiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgY29u
c3QgUmVzb3VyY2VSZXNwb25zZSYsIGRvdWJsZSBpbml0aWF0aW9uVGltZSwgZG91YmxlIGZpbmlz
aFRpbWUpOwogI2VuZGlmCiAKICAgICB1c2luZyBSZWZDb3VudGVkPFBlcmZvcm1hbmNlPjo6cmVm
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5jcHAKaW5kZXggYWQ2OTU0NzAw
ZTY3MjRmYjEzYTA1MTFkMjAxMTkzNzQxZjk1MmJhNC4uMzJkYjdjZmU1NjM1Y2RmMzJjMzA1ZWM0
ZWFjMDk1MDFlNWY4M2VlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3Jt
YW5jZUVudHJ5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnku
Y3BwCkBAIC0zNSwxMSArMzUsMTEgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1QZXJmb3Jt
YW5jZUVudHJ5OjpQZXJmb3JtYW5jZUVudHJ5KGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3Ry
aW5nJiBlbnRyeVR5cGUsIGRvdWJsZSBzdGFydFRpbWUsIGRvdWJsZSBkdXJhdGlvbikKK1BlcmZv
cm1hbmNlRW50cnk6OlBlcmZvcm1hbmNlRW50cnkoY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBT
dHJpbmcmIGVudHJ5VHlwZSwgZG91YmxlIHN0YXJ0VGltZSwgZG91YmxlIGZpbmlzaFRpbWUpCiAg
ICAgOiBtX25hbWUobmFtZSkKICAgICAsIG1fZW50cnlUeXBlKGVudHJ5VHlwZSkKICAgICAsIG1f
c3RhcnRUaW1lKHN0YXJ0VGltZSkKLSAgICAsIG1fZHVyYXRpb24oZHVyYXRpb24pCisgICAgLCBt
X2R1cmF0aW9uKGZpbmlzaFRpbWUgLSBzdGFydFRpbWUpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5oIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9QZXJmb3JtYW5jZUVudHJ5LmgKaW5kZXggNmQ5NjcyMTk3NTNhNGI1YWM3MmRjNGM0NDRjYjBm
MWIzZWYyOTJjYy4uMGNlNzdkZjUxZjRlZDVjZDUzZTU4N2UwYzdmMjEzZTkyMjFjYTZiZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmgKQEAgLTUyLDcgKzUyLDcgQEAgcHVi
bGljOgogICAgIHZpcnR1YWwgYm9vbCBpc1Jlc291cmNlKCkgeyByZXR1cm4gZmFsc2U7IH0KIAog
cHJvdGVjdGVkOgotICAgIFBlcmZvcm1hbmNlRW50cnkoY29uc3QgU3RyaW5nJiBuYW1lLCBjb25z
dCBTdHJpbmcmIGVudHJ5VHlwZSwgZG91YmxlIHN0YXJ0VGltZSwgZG91YmxlIGR1cmF0aW9uKTsK
KyAgICBQZXJmb3JtYW5jZUVudHJ5KGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBl
bnRyeVR5cGUsIGRvdWJsZSBzdGFydFRpbWUsIGRvdWJsZSBmaW5pc2hUaW1lKTsKIAogcHJpdmF0
ZToKICAgICBjb25zdCBTdHJpbmcgbV9uYW1lOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5jcHAKaW5kZXggMDk3NmFkZDc4MDMyODgzYzNmNGE1
YTE3YmZmYmVhYzZkZWY0ZGQxYy4uMjQ0NTFkMGFiOGY1NzE0YTQyNWY1MDFhN2M4ZDk0MTY5OTg1
NTc1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVJlc291cmNl
VGltaW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VU
aW1pbmcuY3BwCkBAIC00NCw4ICs0NCwxNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVBl
cmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcoY29uc3Qg
UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25z
ZSwgZG91YmxlIGZpbmlzaFRpbWUsIERvY3VtZW50KiByZXF1ZXN0aW5nRG9jdW1lbnQpCi0gICAg
OiBQZXJmb3JtYW5jZUVudHJ5KHJlcXVlc3QudXJsKCkuc3RyaW5nKCksICJyZXNvdXJjZSIsIHJl
c3BvbnNlLnJlc291cmNlTG9hZFRpbWluZygpLT5yZXF1ZXN0VGltZSwgZmluaXNoVGltZSkKK2Rv
dWJsZSBtb25vdG9uaWNUaW1lVG9Eb2N1bWVudE1pbGxpc2Vjb25kcyhEb2N1bWVudCogZG9jdW1l
bnQsIGRvdWJsZSBzZWNvbmRzKQoreworICAgIEFTU0VSVChzZWNvbmRzID49IDAuMCk7CisgICAg
aWYgKCFzZWNvbmRzKQorICAgICAgICByZXR1cm4gMC4wOworICAgIHJldHVybiBkb2N1bWVudC0+
bG9hZGVyKCktPnRpbWluZygpLT5jb252ZXJ0TW9ub3RvbmljVGltZVRvRG9jdW1lbnRUaW1lKHNl
Y29uZHMpICogMTAwMC4wOworfQorCitQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpQZXJmb3Jt
YW5jZVJlc291cmNlVGltaW5nKGNvbnN0IEF0b21pY1N0cmluZyYgaW5pdGlhdG9yVHlwZSwgY29u
c3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNw
b25zZSwgZG91YmxlIGluaXRpYXRpb25UaW1lLCBkb3VibGUgZmluaXNoVGltZSwgRG9jdW1lbnQq
IHJlcXVlc3RpbmdEb2N1bWVudCkKKyAgICA6IFBlcmZvcm1hbmNlRW50cnkocmVxdWVzdC51cmwo
KS5zdHJpbmcoKSwgInJlc291cmNlIiwgbW9ub3RvbmljVGltZVRvRG9jdW1lbnRNaWxsaXNlY29u
ZHMocmVxdWVzdGluZ0RvY3VtZW50LCBpbml0aWF0aW9uVGltZSksIG1vbm90b25pY1RpbWVUb0Rv
Y3VtZW50TWlsbGlzZWNvbmRzKHJlcXVlc3RpbmdEb2N1bWVudCwgZmluaXNoVGltZSkpCisgICAg
LCBtX2luaXRpYXRvclR5cGUoaW5pdGlhdG9yVHlwZSkKICAgICAsIG1fdGltaW5nKHJlc3BvbnNl
LnJlc291cmNlTG9hZFRpbWluZygpKQogICAgICwgbV9maW5pc2hUaW1lKGZpbmlzaFRpbWUpCiAg
ICAgLCBtX3JlcXVlc3RpbmdEb2N1bWVudChyZXF1ZXN0aW5nRG9jdW1lbnQpCkBAIC01NiwxMCAr
NjUsOSBAQCBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjp+UGVyZm9ybWFuY2VSZXNvdXJjZVRp
bWluZygpCiB7CiB9CiAKLVN0cmluZyBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjppbml0aWF0
b3JUeXBlKCkgY29uc3QKK0F0b21pY1N0cmluZyBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpp
bml0aWF0b3JUeXBlKCkgY29uc3QKIHsKLSAgICAvLyBGSVhNRTogVGhpcyBzaG91bGQgYmUgZGVj
aWRlZCBieSB0aGUgcmVzb3VyY2UgdHlwZS4KLSAgICByZXR1cm4gIm90aGVyIjsKKyAgICByZXR1
cm4gbV9pbml0aWF0b3JUeXBlOwogfQogCiAvLyBGSVhNRTogTmVlZCB0byBlbmZvcmNlIHNhbWUt
b3JpZ2luIHBvbGljeSBvbiB0aGVzZS4KQEAgLTc3LDEyICs4NSwxMyBAQCBkb3VibGUgUGVyZm9y
bWFuY2VSZXNvdXJjZVRpbWluZzo6cmVkaXJlY3RFbmQoKSBjb25zdAogCiBkb3VibGUgUGVyZm9y
bWFuY2VSZXNvdXJjZVRpbWluZzo6ZmV0Y2hTdGFydCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1v
bm90b25pY1RpbWVUb0RvY3VtZW50TWlsbGlzZWNvbmRzKG1fdGltaW5nLT5yZXF1ZXN0VGltZSk7
CisgICAgLy8gRklYTUU6IFRoaXMgc2hvdWxkIGJlIGRpZmZlcmVudCBkZXBlbmRpbmcgb24gcmVk
aXJlY3RzLgorICAgIHJldHVybiAoc3RhcnRUaW1lKCkpOwogfQogCiBkb3VibGUgUGVyZm9ybWFu
Y2VSZXNvdXJjZVRpbWluZzo6ZG9tYWluTG9va3VwU3RhcnQoKSBjb25zdAogewotICAgIGlmICht
X3RpbWluZy0+ZG5zU3RhcnQgPCAwKQorICAgIGlmICghbV90aW1pbmcgfHwgbV90aW1pbmctPmRu
c1N0YXJ0IDwgMCkKICAgICAgICAgcmV0dXJuIGZldGNoU3RhcnQoKTsKIAogICAgIHJldHVybiBy
ZXNvdXJjZVRpbWVUb0RvY3VtZW50TWlsbGlzZWNvbmRzKG1fdGltaW5nLT5kbnNTdGFydCk7CkBA
IC05MCw3ICs5OSw3IEBAIGRvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpkb21haW5M
b29rdXBTdGFydCgpIGNvbnN0CiAKIGRvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpk
b21haW5Mb29rdXBFbmQoKSBjb25zdAogewotICAgIGlmIChtX3RpbWluZy0+ZG5zRW5kIDwgMCkK
KyAgICBpZiAoIW1fdGltaW5nIHx8IG1fdGltaW5nLT5kbnNFbmQgPCAwKQogICAgICAgICByZXR1
cm4gZG9tYWluTG9va3VwU3RhcnQoKTsKIAogICAgIHJldHVybiByZXNvdXJjZVRpbWVUb0RvY3Vt
ZW50TWlsbGlzZWNvbmRzKG1fdGltaW5nLT5kbnNFbmQpOwpAQCAtOTgsNyArMTA3LDcgQEAgZG91
YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmRvbWFpbkxvb2t1cEVuZCgpIGNvbnN0CiAK
IGRvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpjb25uZWN0U3RhcnQoKSBjb25zdAog
ewotICAgIGlmIChtX3RpbWluZy0+Y29ubmVjdFN0YXJ0IDwgMCkgLy8gQ29ubmVjdGlvbiB3YXMg
cmV1c2VkLgorICAgIGlmICghbV90aW1pbmcgfHwgbV90aW1pbmctPmNvbm5lY3RTdGFydCA8IDAp
IC8vIENvbm5lY3Rpb24gd2FzIHJldXNlZC4KICAgICAgICAgcmV0dXJuIGRvbWFpbkxvb2t1cEVu
ZCgpOwogCiAgICAgLy8gY29ubmVjdFN0YXJ0IGluY2x1ZGVzIGFueSBETlMgdGltZSwgc28gd2Ug
bWF5IG5lZWQgdG8gdHJpbSB0aGF0IG9mZi4KQEAgLTExMSw3ICsxMjAsNyBAQCBkb3VibGUgUGVy
Zm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6Y29ubmVjdFN0YXJ0KCkgY29uc3QKIAogZG91YmxlIFBl
cmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmNvbm5lY3RFbmQoKSBjb25zdAogewotICAgIGlmICht
X3RpbWluZy0+Y29ubmVjdEVuZCA8IDApIC8vIENvbm5lY3Rpb24gd2FzIHJldXNlZC4KKyAgICBp
ZiAoIW1fdGltaW5nIHx8IG1fdGltaW5nLT5jb25uZWN0RW5kIDwgMCkgLy8gQ29ubmVjdGlvbiB3
YXMgcmV1c2VkLgogICAgICAgICByZXR1cm4gY29ubmVjdFN0YXJ0KCk7CiAKICAgICByZXR1cm4g
cmVzb3VyY2VUaW1lVG9Eb2N1bWVudE1pbGxpc2Vjb25kcyhtX3RpbWluZy0+Y29ubmVjdEVuZCk7
CkBAIC0xMTksMzcgKzEyOCwzOSBAQCBkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6
Y29ubmVjdEVuZCgpIGNvbnN0CiAKIGRvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpz
ZWN1cmVDb25uZWN0aW9uU3RhcnQoKSBjb25zdAogewotICAgIGlmIChtX3RpbWluZy0+c3NsU3Rh
cnQgPCAwKSAvLyBTZWN1cmUgY29ubmVjdGlvbiBub3QgbmVnb3RpYXRlZC4KLSAgICAgICAgcmV0
dXJuIDA7CisgICAgaWYgKCFtX3RpbWluZyB8fCBtX3RpbWluZy0+c3NsU3RhcnQgPCAwKSAvLyBT
ZWN1cmUgY29ubmVjdGlvbiBub3QgbmVnb3RpYXRlZC4KKyAgICAgICAgcmV0dXJuIDAuMDsKIAog
ICAgIHJldHVybiByZXNvdXJjZVRpbWVUb0RvY3VtZW50TWlsbGlzZWNvbmRzKG1fdGltaW5nLT5z
c2xTdGFydCk7CiB9CiAKIGRvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpyZXF1ZXN0
U3RhcnQoKSBjb25zdAogeworICAgIGlmICghbV90aW1pbmcpCisgICAgICAgIHJldHVybiBjb25u
ZWN0RW5kKCk7CiAgICAgcmV0dXJuIHJlc291cmNlVGltZVRvRG9jdW1lbnRNaWxsaXNlY29uZHMo
bV90aW1pbmctPnNlbmRTdGFydCk7CiB9CiAKIGRvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGlt
aW5nOjpyZXNwb25zZVN0YXJ0KCkgY29uc3QKIHsKKyAgICBpZiAoIW1fdGltaW5nKQorICAgICAg
ICByZXR1cm4gcmVxdWVzdFN0YXJ0KCk7CiAgICAgLy8gRklYTUU6IFRoaXMgbnVtYmVyIGlzbid0
IGV4YWN0bHkgY29ycmVjdC4gU2VlIHRoZSBub3RlcyBpbiBQZXJmb3JtYW5jZVRpbWluZzo6cmVz
cG9uc2VTdGFydCgpLgogICAgIHJldHVybiByZXNvdXJjZVRpbWVUb0RvY3VtZW50TWlsbGlzZWNv
bmRzKG1fdGltaW5nLT5yZWNlaXZlSGVhZGVyc0VuZCk7CiB9CiAKIGRvdWJsZSBQZXJmb3JtYW5j
ZVJlc291cmNlVGltaW5nOjpyZXNwb25zZUVuZCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1vbm90
b25pY1RpbWVUb0RvY3VtZW50TWlsbGlzZWNvbmRzKG1fZmluaXNoVGltZSk7Ci19Ci0KLWRvdWJs
ZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjptb25vdG9uaWNUaW1lVG9Eb2N1bWVudE1pbGxp
c2Vjb25kcyhkb3VibGUgc2Vjb25kcykgY29uc3QKLXsKLSAgICBBU1NFUlQoc2Vjb25kcyA+PSAw
LjApOwotICAgIHJldHVybiBtX3JlcXVlc3RpbmdEb2N1bWVudC0+bG9hZGVyKCktPnRpbWluZygp
LT5jb252ZXJ0TW9ub3RvbmljVGltZVRvRG9jdW1lbnRUaW1lKHNlY29uZHMpICogMTAwMC4wOwor
ICAgIGlmICghbV90aW1pbmcpCisgICAgICAgIHJldHVybiByZXNwb25zZVN0YXJ0KCk7CisgICAg
cmV0dXJuIG1vbm90b25pY1RpbWVUb0RvY3VtZW50TWlsbGlzZWNvbmRzKG1fcmVxdWVzdGluZ0Rv
Y3VtZW50LmdldCgpLCBtX2ZpbmlzaFRpbWUpOwogfQogCiBkb3VibGUgUGVyZm9ybWFuY2VSZXNv
dXJjZVRpbWluZzo6cmVzb3VyY2VUaW1lVG9Eb2N1bWVudE1pbGxpc2Vjb25kcyhpbnQgZGVsdGFN
aWxsaXNlY29uZHMpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1vbm90b25pY1RpbWVUb0RvY3VtZW50
TWlsbGlzZWNvbmRzKG1fdGltaW5nLT5yZXF1ZXN0VGltZSkgKyBkZWx0YU1pbGxpc2Vjb25kczsK
KyAgICBpZiAoIWRlbHRhTWlsbGlzZWNvbmRzKQorICAgICAgICByZXR1cm4gMC4wOworICAgIHJl
dHVybiBtb25vdG9uaWNUaW1lVG9Eb2N1bWVudE1pbGxpc2Vjb25kcyhtX3JlcXVlc3RpbmdEb2N1
bWVudC5nZXQoKSwgbV90aW1pbmctPnJlcXVlc3RUaW1lKSArIGRlbHRhTWlsbGlzZWNvbmRzOwog
fQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVy
Zm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oCmluZGV4IDA4MmI4OTI1MTQ5NjI5ZTg4ZDNkNzFhYTY4
YmIxMWI3NTI2NjBhOTIuLmU3YjdiOGQxODYwNjM2MDRkMjIzODgyMTJiNDQ5YmQyMDNhMzYzZTEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWlu
Zy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5o
CkBAIC00OCwxMiArNDgsMTIgQEAgY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIAogY2xhc3MgUGVy
Zm9ybWFuY2VSZXNvdXJjZVRpbWluZyA6IHB1YmxpYyBQZXJmb3JtYW5jZUVudHJ5IHsKIHB1Ymxp
YzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nPiBjcmVh
dGUoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBSZXNvdXJjZVJlc3BvbnNl
JiByZXNwb25zZSwgZG91YmxlIGZpbmlzaFRpbWUsIERvY3VtZW50KiByZXF1ZXN0aW5nRG9jdW1l
bnQpCisgICAgc3RhdGljIFBhc3NSZWZQdHI8UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZz4gY3Jl
YXRlKGNvbnN0IEF0b21pY1N0cmluZyYgaW5pdGlhdG9yVHlwZSwgY29uc3QgUmVzb3VyY2VSZXF1
ZXN0JiByZXF1ZXN0LCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwgZG91YmxlIGlu
aXRpYXRpb25UaW1lLCBkb3VibGUgZmluaXNoVGltZSwgRG9jdW1lbnQqIHJlcXVlc3RpbmdEb2N1
bWVudCkKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgUGVyZm9ybWFuY2VSZXNv
dXJjZVRpbWluZyhyZXF1ZXN0LCByZXNwb25zZSwgZmluaXNoVGltZSwgcmVxdWVzdGluZ0RvY3Vt
ZW50KSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgUGVyZm9ybWFuY2VSZXNvdXJjZVRp
bWluZyhpbml0aWF0b3JUeXBlLCByZXF1ZXN0LCByZXNwb25zZSwgaW5pdGlhdGlvblRpbWUsIGZp
bmlzaFRpbWUsIHJlcXVlc3RpbmdEb2N1bWVudCkpOwogICAgIH0KIAotICAgIFN0cmluZyBpbml0
aWF0b3JUeXBlKCkgY29uc3Q7CisgICAgQXRvbWljU3RyaW5nIGluaXRpYXRvclR5cGUoKSBjb25z
dDsKIAogICAgIGRvdWJsZSByZWRpcmVjdFN0YXJ0KCkgY29uc3Q7CiAgICAgZG91YmxlIHJlZGly
ZWN0RW5kKCkgY29uc3Q7CkBAIC03MCwxMiArNzAsMTMgQEAgcHVibGljOgogICAgIHZpcnR1YWwg
Ym9vbCBpc1Jlc291cmNlKCkgeyByZXR1cm4gdHJ1ZTsgfQogCiBwcml2YXRlOgotICAgIFBlcmZv
cm1hbmNlUmVzb3VyY2VUaW1pbmcoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgUmVzb3Vy
Y2VSZXNwb25zZSYsIGRvdWJsZSBmaW5pc2hUaW1lLCBEb2N1bWVudCopOworICAgIFBlcmZvcm1h
bmNlUmVzb3VyY2VUaW1pbmcoY29uc3QgQXRvbWljU3RyaW5nJiBpbml0YXRvclR5cGUsIGNvbnN0
IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmLCBkb3VibGUgaW5pdGlh
dGlvblRpbWUsIGRvdWJsZSBmaW5pc2hUaW1lLCBEb2N1bWVudCopOwogICAgIH5QZXJmb3JtYW5j
ZVJlc291cmNlVGltaW5nKCk7CiAKLSAgICBkb3VibGUgbW9ub3RvbmljVGltZVRvRG9jdW1lbnRN
aWxsaXNlY29uZHMoZG91YmxlIHNlY29uZHMpIGNvbnN0OwogICAgIGRvdWJsZSByZXNvdXJjZVRp
bWVUb0RvY3VtZW50TWlsbGlzZWNvbmRzKGludCBkZWx0YU1pbGxpc2Vjb25kcykgY29uc3Q7CiAK
KyAgICBBdG9taWNTdHJpbmcgbV9pbml0aWF0b3JUeXBlOworICAgIGRvdWJsZSBtX2luaXRpYXRp
b25UaW1lOwogICAgIFJlZlB0cjxSZXNvdXJjZUxvYWRUaW1pbmc+IG1fdGltaW5nOwogICAgIGRv
dWJsZSBtX2ZpbmlzaFRpbWU7CiAgICAgUmVmUHRyPERvY3VtZW50PiBtX3JlcXVlc3RpbmdEb2N1
bWVudDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUltYWdlRWxlbWVudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVJbWFnZUVsZW1lbnQuY3BwCmluZGV4IDc2MzU3
MzhmZGUxODRkMWUxZGY0OGViNmZiMzZhZWNhYTIzNWQ1ZmIuLjdkM2VlMDVhMTk1ZGFkMTEyOGFm
ODI4Y2JhMGQ0NTBkZWJjMjVlZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdG
RUltYWdlRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFSW1hZ2VFbGVt
ZW50LmNwcApAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIkNvbG9yU3BhY2UuaCIKICNpbmNs
dWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkltYWdlLmgiCisjaW5jbHVkZSAiTm9kZUxvYWRJ
bml0aWF0b3IuaCIKICNpbmNsdWRlICJSZW5kZXJPYmplY3QuaCIKICNpbmNsdWRlICJSZW5kZXJT
VkdSZXNvdXJjZS5oIgogI2luY2x1ZGUgIlNWR0VsZW1lbnRJbnN0YW5jZS5oIgpAQCAtODEsNyAr
ODIsNyBAQCB2b2lkIFNWR0ZFSW1hZ2VFbGVtZW50OjpjbGVhclJlc291cmNlUmVmZXJlbmNlcygp
CiB2b2lkIFNWR0ZFSW1hZ2VFbGVtZW50OjpyZXF1ZXN0SW1hZ2VSZXNvdXJjZSgpCiB7CiAgICAg
UmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3Qob3duZXJEb2N1bWVudCgpLT5jb21wbGV0ZVVSTChocmVm
KCkpKTsKLSAgICBtX2NhY2hlZEltYWdlID0gZG9jdW1lbnQoKS0+Y2FjaGVkUmVzb3VyY2VMb2Fk
ZXIoKS0+cmVxdWVzdEltYWdlKHJlcXVlc3QpOworICAgIG1fY2FjaGVkSW1hZ2UgPSBkb2N1bWVu
dCgpLT5jYWNoZWRSZXNvdXJjZUxvYWRlcigpLT5yZXF1ZXN0SW1hZ2UocmVxdWVzdCwgTm9kZUxv
YWRJbml0aWF0b3IodGhpcykpOwogCiAgICAgaWYgKG1fY2FjaGVkSW1hZ2UpCiAgICAgICAgIG1f
Y2FjaGVkSW1hZ2UtPmFkZENsaWVudCh0aGlzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdGb250RmFjZVVyaUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0Zv
bnRGYWNlVXJpRWxlbWVudC5jcHAKaW5kZXggZjYxMDUzNzcyYjYyMmZhZmU5NDc1MGUwOTkzNDhl
Njc3MGI3ZTgwNy4uNDFkMzc2ZmU0MzZmZWZiZjM3N2RkYjU4ZjgwYjhmYzZlMmJmMjc0YSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRGYWNlVXJpRWxlbWVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRGYWNlVXJpRWxlbWVudC5jcHAKQEAgLTI4LDYg
KzI4LDcgQEAKICNpbmNsdWRlICJDYWNoZWRGb250LmgiCiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXIuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgorI2luY2x1ZGUgIk5vZGVMb2FkSW5p
dGlhdG9yLmgiCiAjaW5jbHVkZSAiU1ZHRm9udEZhY2VFbGVtZW50LmgiCiAjaW5jbHVkZSAiU1ZH
TmFtZXMuaCIKICNpbmNsdWRlICJYTGlua05hbWVzLmgiCkBAIC05Nyw3ICs5OCw3IEBAIHZvaWQg
U1ZHRm9udEZhY2VVcmlFbGVtZW50Ojpsb2FkRm9udCgpCiAgICAgaWYgKCFocmVmLmlzTnVsbCgp
KSB7CiAgICAgICAgIENhY2hlZFJlc291cmNlTG9hZGVyKiBjYWNoZWRSZXNvdXJjZUxvYWRlciA9
IGRvY3VtZW50KCktPmNhY2hlZFJlc291cmNlTG9hZGVyKCk7CiAgICAgICAgIFJlc291cmNlUmVx
dWVzdCByZXF1ZXN0KGRvY3VtZW50KCktPmNvbXBsZXRlVVJMKGhyZWYpKTsKLSAgICAgICAgbV9j
YWNoZWRGb250ID0gY2FjaGVkUmVzb3VyY2VMb2FkZXItPnJlcXVlc3RGb250KHJlcXVlc3QpOwor
ICAgICAgICBtX2NhY2hlZEZvbnQgPSBjYWNoZWRSZXNvdXJjZUxvYWRlci0+cmVxdWVzdEZvbnQo
cmVxdWVzdCwgTm9kZUxvYWRJbml0aWF0b3IodGhpcykpOwogICAgICAgICBpZiAobV9jYWNoZWRG
b250KSB7CiAgICAgICAgICAgICBtX2NhY2hlZEZvbnQtPmFkZENsaWVudCh0aGlzKTsKICAgICAg
ICAgICAgIG1fY2FjaGVkRm9udC0+YmVnaW5Mb2FkSWZOZWVkZWQoY2FjaGVkUmVzb3VyY2VMb2Fk
ZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1VzZUVsZW1lbnQuY3BwIGIv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR1VzZUVsZW1lbnQuY3BwCmluZGV4IGQxOWVhMTk1ZGYyMGEy
ZWY2MzlmNmExZTk5YTIwYjI1ODJiOTUwZTEuLjQ0NGYwMDAzNjExMzkyMGJiNjljNmNiOTg4OGY4
Njc2ZDEwOTczOTcgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdVc2VFbGVtZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVXNlRWxlbWVudC5jcHAKQEAgLTM0LDYg
KzM0LDcgQEAKICNpbmNsdWRlICJFdmVudC5oIgogI2luY2x1ZGUgIkV2ZW50TGlzdGVuZXIuaCIK
ICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKKyNpbmNsdWRlICJOb2RlTG9hZEluaXRpYXRvci5oIgog
I2luY2x1ZGUgIk5vZGVSZW5kZXJTdHlsZS5oIgogI2luY2x1ZGUgIlJlZ2lzdGVyZWRFdmVudExp
c3RlbmVyLmgiCiAjaW5jbHVkZSAiUmVuZGVyU1ZHUmVzb3VyY2UuaCIKQEAgLTI1NSw3ICsyNTYs
NyBAQCB2b2lkIFNWR1VzZUVsZW1lbnQ6OnN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlm
aWVkTmFtZSYgYXR0ck5hbWUpCiAgICAgICAgICAgICBLVVJMIHVybCA9IGRvY3VtZW50KCktPmNv
bXBsZXRlVVJMKGhyZWYoKSk7CiAgICAgICAgICAgICBpZiAodXJsLmhhc0ZyYWdtZW50SWRlbnRp
ZmllcigpKSB7CiAgICAgICAgICAgICAgICAgUmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QodXJsLnN0
cmluZygpKTsKLSAgICAgICAgICAgICAgICBtX2NhY2hlZERvY3VtZW50ID0gZG9jdW1lbnQoKS0+
Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKS0+cmVxdWVzdFNWR0RvY3VtZW50KHJlcXVlc3QpOworICAg
ICAgICAgICAgICAgIG1fY2FjaGVkRG9jdW1lbnQgPSBkb2N1bWVudCgpLT5jYWNoZWRSZXNvdXJj
ZUxvYWRlcigpLT5yZXF1ZXN0U1ZHRG9jdW1lbnQocmVxdWVzdCwgTm9kZUxvYWRJbml0aWF0b3Io
dGhpcykpOwogICAgICAgICAgICAgICAgIGlmIChtX2NhY2hlZERvY3VtZW50KQogICAgICAgICAg
ICAgICAgICAgICBtX2NhY2hlZERvY3VtZW50LT5hZGRDbGllbnQodGhpcyk7CiAgICAgICAgICAg
ICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwIGIv
U291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcAppbmRleCBlZTZmMjhjOWM0MjJm
MzdhNDRkMTI4OTE1ZWFhYzFjODg5MzZlMDcwLi44Y2VkY2E5MzgwODUyMWVlYzZlMDcyNGI5NGZk
NGU4ZTRiNTBjOTYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVl
c3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAKQEAgLTc1
Myw3ICs3NTMsNyBAQCB2b2lkIFhNTEh0dHBSZXF1ZXN0OjpjcmVhdGVSZXF1ZXN0KEV4Y2VwdGlv
bkNvZGUmIGVjKQogICAgICAgICAvLyBUaGlzIGlzIHRydWUgd2hpbGUgcnVubmluZyBvbnVubG9h
ZCBoYW5kbGVycy4KICAgICAgICAgLy8gRklYTUU6IE1heWJlIHdlIG5lZWQgdG8gYmUgYWJsZSB0
byBzZW5kIFhNTEh0dHBSZXF1ZXN0cyBmcm9tIG9udW5sb2FkLCA8aHR0cDovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA5MDQ+LgogICAgICAgICAvLyBGSVhNRTogTWF5YmUgY3Jl
YXRlKCkgY2FuIHJldHVybiBudWxsIGZvciBvdGhlciByZWFzb25zIHRvbz8KLSAgICAgICAgbV9s
b2FkZXIgPSBUaHJlYWRhYmxlTG9hZGVyOjpjcmVhdGUoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgp
LCB0aGlzLCByZXF1ZXN0LCBvcHRpb25zKTsKKyAgICAgICAgbV9sb2FkZXIgPSBUaHJlYWRhYmxl
TG9hZGVyOjpjcmVhdGUoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCB0aGlzLCByZXF1ZXN0LCBv
cHRpb25zLCAqdGhpcyk7CiAgICAgICAgIGlmIChtX2xvYWRlcikgewogICAgICAgICAgICAgLy8g
TmVpdGhlciB0aGlzIG9iamVjdCBub3IgdGhlIEphdmFTY3JpcHQgd3JhcHBlciBzaG91bGQgYmUg
ZGVsZXRlZCB3aGlsZQogICAgICAgICAgICAgLy8gYSByZXF1ZXN0IGlzIGluIHByb2dyZXNzIGJl
Y2F1c2Ugd2UgbmVlZCB0byBrZWVwIHRoZSBsaXN0ZW5lcnMgYWxpdmUsCkBAIC03NjIsNyArNzYy
LDcgQEAgdm9pZCBYTUxIdHRwUmVxdWVzdDo6Y3JlYXRlUmVxdWVzdChFeGNlcHRpb25Db2RlJiBl
YykKICAgICAgICAgfQogICAgIH0gZWxzZSB7CiAgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRh
dGlvbjo6d2lsbExvYWRYSFJTeW5jaHJvbm91c2x5KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7
Ci0gICAgICAgIFRocmVhZGFibGVMb2FkZXI6OmxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoc2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCgpLCByZXF1ZXN0LCAqdGhpcywgb3B0aW9ucyk7CisgICAgICAg
IFRocmVhZGFibGVMb2FkZXI6OmxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoc2NyaXB0RXhlY3V0
aW9uQ29udGV4dCgpLCByZXF1ZXN0LCAqdGhpcywgb3B0aW9ucywgKnRoaXMpOwogICAgICAgICBJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZExvYWRYSFJTeW5jaHJvbm91c2x5KHNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQoKSk7CiAgICAgfQogCkBAIC05ODUsNyArOTg1LDcgQEAgU3RyaW5nIFhN
TEh0dHBSZXF1ZXN0OjpnZXRSZXNwb25zZUhlYWRlcihjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUs
IEV4Y2VwdGlvbkNvZGUKICAgICAgICAgbG9nQ29uc29sZUVycm9yKHNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQoKSwgIlJlZnVzZWQgdG8gZ2V0IHVuc2FmZSBoZWFkZXIgXCIiICsgbmFtZSArICJcIiIp
OwogICAgICAgICByZXR1cm4gU3RyaW5nKCk7CiAgICAgfQotICAgIAorCiAgICAgSFRUUEhlYWRl
clNldCBhY2Nlc3NDb250cm9sRXhwb3NlSGVhZGVyU2V0OwogICAgIHBhcnNlQWNjZXNzQ29udHJv
bEV4cG9zZUhlYWRlcnNBbGxvd0xpc3QobV9yZXNwb25zZS5odHRwSGVhZGVyRmllbGQoIkFjY2Vz
cy1Db250cm9sLUV4cG9zZS1IZWFkZXJzIiksIGFjY2Vzc0NvbnRyb2xFeHBvc2VIZWFkZXJTZXQp
OwogCkBAIC0xMjI4LDQgKzEyMjgsMTAgQEAgRXZlbnRUYXJnZXREYXRhKiBYTUxIdHRwUmVxdWVz
dDo6ZW5zdXJlRXZlbnRUYXJnZXREYXRhKCkKICAgICByZXR1cm4gJm1fZXZlbnRUYXJnZXREYXRh
OwogfQogCitjb25zdCBBdG9taWNTdHJpbmcmIFhNTEh0dHBSZXF1ZXN0Ojppbml0aWF0b3JOYW1l
KCkgY29uc3QKK3sKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEF0b21pY1N0cmluZywgbmFtZSwg
KCJ4bWxodHRwcmVxdWVzdCIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpKTsK
KyAgICByZXR1cm4gbmFtZTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmggYi9Tb3VyY2UvV2ViQ29yZS94
bWwvWE1MSHR0cFJlcXVlc3QuaAppbmRleCBjYzZjYmM1MGMzNjAxNjUwODllMjY1OTk3NWNkMTBk
MzExMjJlZjVkLi45ZGU4MmFhNDYxMWJkMmQzZjNlNjE5MmQxYzBhOTg5NzlhYTMwOThiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuaApAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUg
IkV2ZW50TmFtZXMuaCIKICNpbmNsdWRlICJFdmVudFRhcmdldC5oIgogI2luY2x1ZGUgIkZvcm1E
YXRhLmgiCisjaW5jbHVkZSAiTG9hZEluaXRpYXRvci5oIgogI2luY2x1ZGUgIlJlc291cmNlUmVz
cG9uc2UuaCIKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgogI2luY2x1ZGUgIlRocmVhZGFi
bGVMb2FkZXJDbGllbnQuaCIKQEAgLTQ1LDcgKzQ2LDcgQEAgY2xhc3MgU2hhcmVkQnVmZmVyOwog
Y2xhc3MgVGV4dFJlc291cmNlRGVjb2RlcjsKIGNsYXNzIFRocmVhZGFibGVMb2FkZXI7CiAKLWNs
YXNzIFhNTEh0dHBSZXF1ZXN0IDogcHVibGljIFJlZkNvdW50ZWQ8WE1MSHR0cFJlcXVlc3Q+LCBw
dWJsaWMgRXZlbnRUYXJnZXQsIHByaXZhdGUgVGhyZWFkYWJsZUxvYWRlckNsaWVudCwgcHVibGlj
IEFjdGl2ZURPTU9iamVjdCB7CitjbGFzcyBYTUxIdHRwUmVxdWVzdCA6IHB1YmxpYyBSZWZDb3Vu
dGVkPFhNTEh0dHBSZXF1ZXN0PiwgcHVibGljIEV2ZW50VGFyZ2V0LCBwcml2YXRlIFRocmVhZGFi
bGVMb2FkZXJDbGllbnQsIHB1YmxpYyBBY3RpdmVET01PYmplY3QsIHByaXZhdGUgTG9hZEluaXRp
YXRvciB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGlj
IFBhc3NSZWZQdHI8WE1MSHR0cFJlcXVlc3Q+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0
KiwgUGFzc1JlZlB0cjxTZWN1cml0eU9yaWdpbj4gPSAwKTsKQEAgLTU5LDEwICs2MCwxMCBAQCBw
dWJsaWM6CiAgICAgICAgIExPQURJTkcgPSAzLAogICAgICAgICBET05FID0gNAogICAgIH07Ci0g
ICAgCisKICAgICBlbnVtIFJlc3BvbnNlVHlwZUNvZGUgewogICAgICAgICBSZXNwb25zZVR5cGVE
ZWZhdWx0LAotICAgICAgICBSZXNwb25zZVR5cGVUZXh0LCAKKyAgICAgICAgUmVzcG9uc2VUeXBl
VGV4dCwKICAgICAgICAgUmVzcG9uc2VUeXBlRG9jdW1lbnQsCiAgICAgICAgIFJlc3BvbnNlVHlw
ZUJsb2IsCiAgICAgICAgIFJlc3BvbnNlVHlwZUFycmF5QnVmZmVyCkBAIC0xODIsNiArMTgzLDkg
QEAgcHJpdmF0ZToKICAgICB2b2lkIG5ldHdvcmtFcnJvcigpOwogICAgIHZvaWQgYWJvcnRFcnJv
cigpOwogCisgICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIGluaXRpYXRvck5hbWUoKSBj
b25zdDsKKyAgICB2aXJ0dWFsIERvY3VtZW50KiBpbml0aWF0b3JEb2N1bWVudCgpIGNvbnN0IHsg
cmV0dXJuIGRvY3VtZW50KCk7IH0KKwogICAgIE93blB0cjxYTUxIdHRwUmVxdWVzdFVwbG9hZD4g
bV91cGxvYWQ7CiAKICAgICBLVVJMIG1fdXJsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
eG1sL1hTTEltcG9ydFJ1bGUuY3BwIGIvU291cmNlL1dlYkNvcmUveG1sL1hTTEltcG9ydFJ1bGUu
Y3BwCmluZGV4IDBhMTc3MGQwMzQ1YThhMWZjODNkN2I3ZmIyZDQ0MmQyYmEzOWViMWYuLjc5ZTM2
ZGM1NDA4NTdjZjc2ZDUwMzRlNWZmZjFkZWY3ZWE3NzBmZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3htbC9YU0xJbXBvcnRSdWxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFNM
SW1wb3J0UnVsZS5jcHAKQEAgLTQzLDcgKzQzLDcgQEAgWFNMSW1wb3J0UnVsZTo6flhTTEltcG9y
dFJ1bGUoKQogewogICAgIGlmIChtX3N0eWxlU2hlZXQpCiAgICAgICAgIG1fc3R5bGVTaGVldC0+
c2V0UGFyZW50U3R5bGVTaGVldCgwKTsKLSAgICAKKwogICAgIGlmIChtX2NhY2hlZFNoZWV0KQog
ICAgICAgICBtX2NhY2hlZFNoZWV0LT5yZW1vdmVDbGllbnQodGhpcyk7CiB9CkBAIC02MSw3ICs2
MSw3IEBAIHZvaWQgWFNMSW1wb3J0UnVsZTo6c2V0WFNMU3R5bGVTaGVldChjb25zdCBTdHJpbmcm
IGhyZWYsIGNvbnN0IEtVUkwmIGJhc2VVUkwsIGNvCiAKICAgICBtX3N0eWxlU2hlZXQtPnBhcnNl
U3RyaW5nKHNoZWV0KTsKICAgICBtX2xvYWRpbmcgPSBmYWxzZTsKLSAgICAKKwogICAgIGlmIChw
YXJlbnQpCiAgICAgICAgIHBhcmVudC0+Y2hlY2tMb2FkZWQoKTsKIH0KQEAgLTg0LDI2ICs4NCwy
NiBAQCB2b2lkIFhTTEltcG9ydFJ1bGU6OmxvYWRTaGVldCgpCiAKICAgICBpZiAocm9vdFNoZWV0
KQogICAgICAgICBjYWNoZWRSZXNvdXJjZUxvYWRlciA9IHJvb3RTaGVldC0+Y2FjaGVkUmVzb3Vy
Y2VMb2FkZXIoKTsKLSAgICAKKwogICAgIFN0cmluZyBhYnNIcmVmID0gbV9zdHJIcmVmOwogICAg
IFhTTFN0eWxlU2hlZXQqIHBhcmVudFNoZWV0ID0gcGFyZW50U3R5bGVTaGVldCgpOwogICAgIGlm
ICghcGFyZW50U2hlZXQtPmJhc2VVUkwoKS5pc051bGwoKSkKICAgICAgICAgLy8gdXNlIHBhcmVu
dCBzdHlsZWhlZXQncyBVUkwgYXMgdGhlIGJhc2UgVVJMCiAgICAgICAgIGFic0hyZWYgPSBLVVJM
KHBhcmVudFNoZWV0LT5iYXNlVVJMKCksIG1fc3RySHJlZikuc3RyaW5nKCk7Ci0gICAgCisKICAg
ICAvLyBDaGVjayBmb3IgYSBjeWNsZSBpbiBvdXIgaW1wb3J0IGNoYWluLiAgSWYgd2UgZW5jb3Vu
dGVyIGEgc3R5bGVzaGVldAogICAgIC8vIGluIG91ciBwYXJlbnQgY2hhaW4gd2l0aCB0aGUgc2Ft
ZSBVUkwsIHRoZW4ganVzdCBiYWlsLgogICAgIGZvciAoWFNMU3R5bGVTaGVldCogcGFyZW50U2hl
ZXQgPSBwYXJlbnRTdHlsZVNoZWV0KCk7IHBhcmVudFNoZWV0OyBwYXJlbnRTaGVldCA9IHBhcmVu
dFNoZWV0LT5wYXJlbnRTdHlsZVNoZWV0KCkpIHsKICAgICAgICAgaWYgKGFic0hyZWYgPT0gcGFy
ZW50U2hlZXQtPmJhc2VVUkwoKS5zdHJpbmcoKSkKICAgICAgICAgICAgIHJldHVybjsKICAgICB9
Ci0gICAgCisKICAgICBSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdChjYWNoZWRSZXNvdXJjZUxvYWRl
ci0+ZG9jdW1lbnQoKS0+Y29tcGxldGVVUkwoYWJzSHJlZikpOwotICAgIG1fY2FjaGVkU2hlZXQg
PSBjYWNoZWRSZXNvdXJjZUxvYWRlci0+cmVxdWVzdFhTTFN0eWxlU2hlZXQocmVxdWVzdCk7Ci0g
ICAgCisgICAgbV9jYWNoZWRTaGVldCA9IGNhY2hlZFJlc291cmNlTG9hZGVyLT5yZXF1ZXN0WFNM
U3R5bGVTaGVldChyZXF1ZXN0LCAqdGhpcyk7CisKICAgICBpZiAobV9jYWNoZWRTaGVldCkgewog
ICAgICAgICBtX2NhY2hlZFNoZWV0LT5hZGRDbGllbnQodGhpcyk7Ci0gICAgICAgIAorCiAgICAg
ICAgIC8vIElmIHRoZSBpbXBvcnRlZCBzaGVldCBpcyBpbiB0aGUgY2FjaGUsIHRoZW4gc2V0WFNM
U3R5bGVTaGVldCBnZXRzIGNhbGxlZCwKICAgICAgICAgLy8gYW5kIHRoZSBzaGVldCBldmVuIGdl
dHMgcGFyc2VkICh2aWEgcGFyc2VTdHJpbmcpLiAgSW4gdGhpcyBjYXNlIHdlIGhhdmUKICAgICAg
ICAgLy8gbG9hZGVkIChldmVuIGlmIG91ciBzdWJyZXNvdXJjZXMgaGF2ZW4ndCksIHNvIGlmIHdl
IGhhdmUgYSBzdHlsZXNoZWV0IGFmdGVyCkBAIC0xMTMsNiArMTEzLDEyIEBAIHZvaWQgWFNMSW1w
b3J0UnVsZTo6bG9hZFNoZWV0KCkKICAgICB9CiB9CiAKK2NvbnN0IFdURjo6QXRvbWljU3RyaW5n
JiBYU0xJbXBvcnRSdWxlOjppbml0aWF0b3JOYW1lKCkgY29uc3QKK3sKKyAgICBERUZJTkVfU1RB
VElDX0xPQ0FMKEF0b21pY1N0cmluZywgbmFtZSwgKCJ4c2wiLCBBdG9taWNTdHJpbmc6OkNvbnN0
cnVjdEZyb21MaXRlcmFsKSk7CisgICAgcmV0dXJuIG5hbWU7Cit9CisKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShYU0xUKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUveG1sL1hTTEltcG9ydFJ1bGUuaCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YU0xJbXBvcnRS
dWxlLmgKaW5kZXggMzUwY2RkOWIxNjUzNGI2MTdmMDYyNzYyOTNjNDc0MGUyY2Y2YjE5ZS4uMGUy
NGU5MjlkN2VlYzk2ZDU3YmY1NjZlMzY3ZTE5ZTBhYTdmMWFiOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUveG1sL1hTTEltcG9ydFJ1bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFNM
SW1wb3J0UnVsZS5oCkBAIC0yNyw2ICsyNyw3IEBACiAKICNpbmNsdWRlICJDYWNoZWRSZXNvdXJj
ZUhhbmRsZS5oIgogI2luY2x1ZGUgIkNhY2hlZFN0eWxlU2hlZXRDbGllbnQuaCIKKyNpbmNsdWRl
ICJMb2FkSW5pdGlhdG9yLmgiCiAjaW5jbHVkZSAiWFNMU3R5bGVTaGVldC5oIgogI2luY2x1ZGUg
PHd0Zi9QYXNzT3duUHRyLmg+CiAKQEAgLTM0LDcgKzM1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiBjbGFzcyBDYWNoZWRYU0xTdHlsZVNoZWV0OwogCi1jbGFzcyBYU0xJbXBvcnRSdWxlIDog
cHJpdmF0ZSBDYWNoZWRTdHlsZVNoZWV0Q2xpZW50IHsKK2NsYXNzIFhTTEltcG9ydFJ1bGUgOiBw
cml2YXRlIENhY2hlZFN0eWxlU2hlZXRDbGllbnQsIHByaXZhdGUgTG9hZEluaXRpYXRvciB7CiAg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25Q
dHI8WFNMSW1wb3J0UnVsZT4gY3JlYXRlKFhTTFN0eWxlU2hlZXQqIHBhcmVudFNoZWV0LCBjb25z
dCBTdHJpbmcmIGhyZWYpCkBAIC00Myw3ICs0NCw3IEBAIHB1YmxpYzoKICAgICB9CiAKICAgICB2
aXJ0dWFsIH5YU0xJbXBvcnRSdWxlKCk7Ci0gICAgCisKICAgICBjb25zdCBTdHJpbmcmIGhyZWYo
KSBjb25zdCB7IHJldHVybiBtX3N0ckhyZWY7IH0KICAgICBYU0xTdHlsZVNoZWV0KiBzdHlsZVNo
ZWV0KCkgY29uc3QgeyByZXR1cm4gbV9zdHlsZVNoZWV0LmdldCgpOyB9CiAKQEAgLTUyLDEyICs1
MywxNSBAQCBwdWJsaWM6CiAKICAgICBib29sIGlzTG9hZGluZygpOwogICAgIHZvaWQgbG9hZFNo
ZWV0KCk7Ci0gICAgCisKIHByaXZhdGU6CiAgICAgWFNMSW1wb3J0UnVsZShYU0xTdHlsZVNoZWV0
KiBwYXJlbnRTaGVldCwgY29uc3QgU3RyaW5nJiBocmVmKTsKIAogICAgIHZpcnR1YWwgdm9pZCBz
ZXRYU0xTdHlsZVNoZWV0KGNvbnN0IFN0cmluZyYgaHJlZiwgY29uc3QgS1VSTCYgYmFzZVVSTCwg
Y29uc3QgU3RyaW5nJiBzaGVldCk7Ci0gICAgCisKKyAgICB2aXJ0dWFsIGNvbnN0IFdURjo6QXRv
bWljU3RyaW5nJiBpbml0aWF0b3JOYW1lKCkgY29uc3Q7CisgICAgdmlydHVhbCBEb2N1bWVudCog
aW5pdGlhdG9yRG9jdW1lbnQoKSBjb25zdCB7IHJldHVybiBtX3BhcmVudFN0eWxlU2hlZXQtPm93
bmVyRG9jdW1lbnQoKTsgfQorCiAgICAgWFNMU3R5bGVTaGVldCogbV9wYXJlbnRTdHlsZVNoZWV0
OwogICAgIFN0cmluZyBtX3N0ckhyZWY7CiAgICAgUmVmUHRyPFhTTFN0eWxlU2hlZXQ+IG1fc3R5
bGVTaGVldDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwppbmRleCAzMDQwMmQ0Y2NkODM3YWJjNjhhZjJmZTRjZDc3OGQxOTgyNTY1NTE3
Li41YjdhNDU0NTNmZDIyZGE2OTdiODYyMmRjNWRmNTk0NTE2YzU3MTBkIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsNDQgQEAKKzIwMTItMTAtMDkgIEphbWVzIFNpbW9uc2VuICA8c2ltb25qYW1AY2hyb21pdW0u
b3JnPgorCisgICAgICAgIFtSZXNvdXJjZSBUaW1pbmddIEV4cG9zZSB0aW1pbmcgaW5mb3JtYXRp
b24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg0ODgz
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIHRl
c3RzIGFyZSBkZXNpZ25lZCB0byBiZSB1cHN0cmVhbWVkLiBFdmVudHVhbGx5LCB0aGUgbG9jYWwg
b25lcyB3aWxsIGJlIHJlcGxhY2VkIGJ5IHRoZSBvZmZpY2lhbCB1cHN0cmVhbSB2ZXJzaW9ucy4K
KworICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL0FoZW0udHRmOiBB
ZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9hbGxfcmVz
b3VyY2VfdHlwZXMuaHRtOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJm
L3Jlc291cmNlcy9ibGFua19pbWFnZS5wbmc6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMv
dzNjL3dlYnBlcmYvcmVzb3VyY2VzL2VtcHR5X3NjcmlwdC5qczogQWRkZWQuCisgICAgICAgICog
aHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwOiBB
ZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9ncmF5X2Jn
LmNzczogQWRkZWQuCisgICAgICAgIChib2R5KToKKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93
ZWJwZXJmL3Jlc291cmNlcy9ncmVlbl9mcmFtZS5odG06IEFkZGVkLgorICAgICAgICAqIGh0dHAv
dGVzdHMvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2luamVjdF9yZXNvdXJjZV90ZXN0Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL25lc3RlZC5j
c3M6IEFkZGVkLgorICAgICAgICAoQGZvbnQtZmFjZSk6CisgICAgICAgIChvbCk6CisgICAgICAg
ICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpz
OgorICAgICAgICAodGVzdF9ncmVhdGVyX29yX2VxdWFscyk6CisgICAgICAgICh0ZXN0X2ZhaWwp
OgorICAgICAgICAodGVzdF9yZXNvdXJjZV9lbnRyaWVzKToKKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJj
ZV9hdHRyaWJ1dGVfb3JkZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rl
c3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNv
dXJjZV9hdHRyaWJ1dGVfb3JkZXIuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93
M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2Vf
ZHluYW1pY19pbnNlcnRpb24tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rl
c3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNv
dXJjZV9keW5hbWljX2luc2VydGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJj
ZV9mcmFtZV9pbml0aWF0b3JfdHlwZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0
dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0
X3Jlc291cmNlX2ZyYW1lX2luaXRpYXRvcl90eXBlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0
dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0
X3Jlc291cmNlX2luaXRpYXRvcl90eXBlcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90
ZXN0X3Jlc291cmNlX2luaXRpYXRvcl90eXBlcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9y
ZXNvdXJjZV9yZWRpcmVjdHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rl
c3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNv
dXJjZV9yZWRpcmVjdHMuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2Vi
cGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2VfcmVwYXJl
bnRpbmctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJw
ZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9yZXBhcmVu
dGluZy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1p
c3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9zY3JpcHRfdHlwZXMtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1p
c3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9zY3JpcHRfdHlwZXMuaHRt
bDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9uczog
U2tpcCB0aGVzZSBuZXcgdGVzdHMgdW50aWwgdGhlIGZsYWcgaXMgZmxpcHBlZC4KKwogMjAxMi0x
MC0wNSAgVy4gSmFtZXMgTWFjTGVhbiAgPHdqbWFjbGVhbkBjaHJvbWl1bS5vcmc+CiAKICAgICAg
ICAgW2Nocm9taXVtXSBFbmhhbmNlIHN1cHBvcnQgZm9yIHRyYW5zZm9ybXMgaW4gTGlua0hpZ2hs
aWdodC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVz
b3VyY2VzL0FoZW0udHRmIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNv
dXJjZXMvQWhlbS50dGYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWM4MWNiMDMxNjVhYjgzMWEzNmFiYjU5MTQ1ZmY3
YTJmNTY3NWZiOQpHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMTI0ODAKemNtZUhOWkZtJmI2QEtT
cVhGcWA/ViNKOF9Xe1ooMzI3O0Mlck5+RjVORCt9QnFOVTB2SklNeUt5SyM0OGYmeFdyCnopa2dV
IVQ4JkM2QjclWTwzUihuODVmSzRWc2l0VFZtbyE+VVpCJlkyZUdwalJKM0EyKytkcUIkVkxQK1c/
M3tiPAp6eT1UdDc9YmR9Yz96flV7XyVSYjJgZCg3anIoZVVeUUxfTUwwSlcxVnFNX09AeVlmYz50
e1Q4ZFJFM2hZSTBhc3kKej9ASEZeUk1rd2F5bDdRd0h4MEFeMT51TXAzaCFEcHJhU0FfXlh3bT8h
dEstWkRJZWgzR1pJWlRKUj5sal9MfjUkCnp4aDdyXzVfTSs9ZnVkNkMrTX1Ve1Q2YCspRThXOyQj
Nm5TWE0lTyNtMEtOTTF7KmxedkdCcz1HPjVWYCFgPldqYAp6ZU9FOW5AMDNmY3VJQDdFQWlQPXxI
Q1BxRGBVLWo3YytUPlJmWG8xYE8lcDY/UF5GZCFgKU1MR2ZadFlvZW9JVG8Kejl8dFlYTDNyI3dV
IztpdXdLaW9nVG9sJTteYXlqWlNMSiMxUSM1TCFhfiQlUjJ8Uyh5RzE0bVY+KypBbDE0QUo4Cnpz
a1JSU1RMcU5kQSp8RGM8KkJlZDwyKz9PbHdMWmdHWTFYXnpURnMqazh9M2FOODJrLWNXU3R7czZ7
WVRwTTJnfgp6YDA4NHRhNTJkcTlhcDx9IVg/e05nVSlyeWZTYXFBVCFWYUUtdmo3YCZnZzwxPFJU
OXpwKHs+Q0tHKlZZSTI4cHIKejRjJjElZGYrPHtDYDF0N01OZ2M4QkFrZ3tfI1YhfSszMWFQUD5l
cTRpeFR3MXhpfUJzTX1QYlAxOF9iRDspZlc3CnpBN0w7cTtKUCp4ISFSN0J4RFhAb1Z+b1RfNz1A
bztHJW0mJVQhT0s8NnlzMmFAd2Z+VmE1Kk84M1M1YndWaUpDYQp6dDhnX1kpODchdlFHcVpfUkg2
eklSQVVPUktARm1hQSZ5I0hpdipITHAkXnhmOXUxZ14+djAzN2FiS0IlcEw0bD0KejZGMUB9YH5v
LVFFJkxMPDs4eHMqeEE3fTk7KGdxWEpKNXolX3leaUM4Kn1ndS1vQFkwaks1PHBldlF7SzR8bjEm
Cnp7MDRYOUpeVHFEOzhvbSVDWnJqcWAqMSh6PDdLPnBLVnVpKHorZG9ORVdxI1pBckBqTVRKWm97
QEstQSRkJDAodgp6Vj5rQlZLYGgyWVNjMFdeNz57NVhtZzctOCN4XlZQSTlCMmJKYyg2VWppPk41
ZXZkVkgyNVlnN0pFdS1HZlVgQSgKelFTOGhwJXNAc2RRT2NBQ1d1RSRpeD1ucGN5R3dnU1RkIT50
SWlqbTU1SXNhdDZwNmxLcGVRWDI3OFY4N3BiX2o2CnolbktGLWRqIXU4anRvdT9uISl7Tll+UUQ1
R1BFbGcofWxEKiZhJF9LX1REKG8tYnRkSD1xYGsxQEJBOz4lTUc2VAp6Z310ejQ1MUNCbj9NeTNv
KmMmc2BHN35jdzA3dSQrNG5BXyQ7biQ5SS1KNUNJMWhsTWdTPVh8cjw/KXVLRWVyTk8KenlaNW5s
WWtFZ3xtejx+Y19Wa0FJTCtRciF0IzV0eVgzdzBEWX19OE1iQEdzNG1nak5EKGN8UmYjZGIjRiNO
JUdaCnpRUjNoTU0qMHMjTG5DbzhtK2B6Q25+OTAxaD59QCYwYjdaVEltRjIjJmlAdS1wYjZXdDRL
RVN9X2MzLTRHVV5oSwp6dy1iPnxpT0khYD01amxsODtIO3FSeiY5JHNtfkt4UGdyclMhYldUJj95
OEMxRGE3cUhNRDlGZHgwZExZKmk4fD0KejYxI3NTZFohWTwqQXUlcDVKYDczKCRnJmpLYTF5eHMj
VX43NzgmYl5sQz43elVNRjVSKTdTU0xsdzw/JHB5V1RJCnpMPyl1bEJlaVFaIThPYmNvU1IjaWRx
IWJ5O2RKJUdCWGc3a00rMkhUKyVsYWo0a3l5aWwofFEtUUs4bSR4RW17Rgp6Q2hwWTlVbDdpYElH
QXZyMldLc0MpJmdnTGFRNFA7STRAdzwhVHErUkBNTFN4KzNNc1YqPyUkclhMQXNTYF4wcyUKeiNt
UE9Mb1pRS35vIT9eND9AO0dBX31BPFktKjY3JXtOe0s1MlhnKWNiODt7ejJYa15UQ2tKektGZWVC
NUgjciF7CnpDJiskK1dDI3JBK3h7IzA/KDtnbmJEaFdjbUBEeyhZQ0dTVXpsI0hrc15sbT1sLXxs
Zld1ITdlMmBkUkByWlFXWgp6dVBqczZDfGlfZnJCJklkOTkwOHFmIWEmJHVhPklnKVg4ZDBvdSlS
YlAzalZMd1lveyZzaXhJLV5eb1MjXjBsNT8KektXJklNTXdfSGYoSGdXe18jUyhhd289PW0/YSs0
OShAJTY9Jihub290UGojaD1AYSNecDNyQ052LVNEPEdKVER7CnpNUV8keV4/bXdMU0hNLV4+Z0RT
MURzXyE+Tz9KZ3goX0Q/TkNmNT96WVMkKiRQRkxGMT9tQT82akNgWX4oYSN1Uwp6ajQ+dHxRO1lg
VjdVTTJzaytJVSlWQypuPDgqUm9YWnJ6PmQ3VmN2QUFvblF1TTBjZS08LVc7MSpTKX5+c0MldEAK
enQ5eklHOXJ1MEBKZUB0PUohZzNhQEg0X1EtYyM8V15+fl94O2tuUUF1OyojZFgzd2poN1NEJkMh
KE59YW80M2UmCnpvX0NtY3RvSkghanJWJSpaUWlAUmlAaV5KSCtvPDg/KHgzd3tuVGdweTg0Mj96
UGBifShZYEJ2NSNNI2JufDw/cQp6M3c8a20+d1ZqT1p9e0h6OXFfQ0U5RGZnZ1p+czk1TmRFK1gq
cWB2dl53MExzX2I+Q1dAbyhgcmAmPDN7ezZfPFUKekt0WjVhcG5zcT1GZks0VDVEUUVUR3pPWGlP
OUhDe24qdXVuPXxGcW5QJHk1UHs3eVlQXjx5QDBuc1YkTntRe1A9CnpoWFJrJVFCdSlhU3pfeG8y
eFlZYD51bDMoJVAhPEFkdS1YRGUhcU9XdG03NXNrUyF+RyVlfkUoUmsrb2NZKnxCJgp6K0hBYEAr
cWA0VEY4SXxCRX11ZEQkRkBGKV4xcDAzbXYlbjA8dmkkYCVEcWpJVHM+dWhYNG8+dnFBI3soanp4
ZGUKem1OXiFFdHUxcGJgZmdrMVNvQnN+PTItTWtaOC0tWG07NGA3K1JzSTJtJmNhI3NMdi1PQ1R7
VXExaTF3ZnZKNFZECnpFNjVIb0VxO3J6RyRzVCE1JFhpYkQ4R35CNVkqWHF5KUE3NmR6b1l4cSp5
ODw/YDl+PWIoUzR6QlN6TU9BZzhDNgp6cikqek9ZdF9+cnJMNzJrc0haa1dTejN2KVVtdUhtYkYz
YExaYi0xNXluQlopPHlIQHE/MXBPZ0cwNj1RV2JgQnsKelJyMjA3RUxFfmMhcz1tQ3BSKEZqdjBQ
elVsM2EpK2J5NlJ2MT9rSUZ0RFBLVyh5fSsheEAoeUJxLVN5ejwhbUYhCno5ZzRGZyVPbUpUZ3Ny
M3BAP09YOG5WcXJXV0V6IUdVJmVNKCtMMUZ7TzslSHF4Xmx+VUo+X2cpSXElMihFYW9ncQp6OCZS
XkFPdE8mVm19Rzx8U2dvYiFTKzdnelgkaEAkd0M9Y21lTEs3TVYpOXI7TUlAOTZSaXc7QlFpS3d3
TkpVSXgKek1uJkA0SStsNzF2IVRNUU9eS29saGdRXzNPYzlFT01YKXk1VGh2RllEPFVFcGlQd3V6
dmNpbXxgaC1wRURrPkI0CnpzQVopKmxyKEZxVmBqMHFFTk5FTylyaVY/TFpyLU9zeWJGQkQma1NI
WHNjN3pAdDg8WE97VUNmdlJJNXcjS1V6Sgp6Vz59T0A3MzFVS3Vvd31GQnd9VkYrbW50QkZEbnll
cD1lenFSREVWcmxxY2YjTiFIcG5pLSQoYz1zMl5ndHxwWTIKenp+TTtLQ0ItRXxzXnhpe3UwdihG
bVBPfCZfPHd5MHpJYk43e0RnSHBMMjduMCRsU29wO3NoY1hIM3o5dyQhX15GCnord3Q0UGJvXzY1
anlHQnlONkIhIWpVMld7YUAxeSM9X1l4TWNhcjBGa0hyXlROY1AoemktIyFyaG13Nkx4cmJSKwp6
Kjs9eVZwMGdObStuQXJkaCNoI3o7eTNPal5ZSnh1QXw9bzliJktoXm8xRHIkV0sqV2VYX1BGLUh1
NUZrdz5YcF4KemthX25KX1RpdHtrQmBhbktac0FQeEpoPjdJJiRTNkNhPiomaXw0cjZWbWR4Z00m
MmZ9QDBPRW13fUF8fV48PlI4CnprIWcxP3hwd28mdWJnQUNGUEQ7d19iT1IqJnlxPjZEIU0tQXZl
QmN9az5qPH0zckV3c1gwaF5mcHBlZ35lR1UhSApCY0BoOHMKCmxpdGVyYWwgMApIY21WP2QwMDAw
MQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVzb3Vy
Y2VzL2FsbF9yZXNvdXJjZV90eXBlcy5odG0gYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93
ZWJwZXJmL3Jlc291cmNlcy9hbGxfcmVzb3VyY2VfdHlwZXMuaHRtCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ1Yjhi
NzE1Y2VlYWUxOTRhMjc5N2I5YjQxYTM4ZTU4YTllZTQ0MDIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9hbGxfcmVzb3VyY2Vf
dHlwZXMuaHRtCkBAIC0wLDAgKzEsNDUgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCIg
aHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiAvPgorICAgICAgICA8dGl0bGU+QWxsIFJlc291cmNl
IFR5cGVzIFRlc3QgUGFnZTwvdGl0bGU+CisgICAgPC9oZWFkPgorICAgIDxib2R5IGJhY2tncm91
bmQ9J2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPWltYWdlJmlkPWJvZHknPgorICAgICAgICA8
c2NyaXB0PgorICAgICAgICAgICAgaWYgKHdpbmRvdy5wYXJlbnQuaGFzT3duUHJvcGVydHkoJ29u
X3Rlc3RfYm9keV9jcmVhdGVkJykpCisgICAgICAgICAgICAgICAgd2luZG93LnBhcmVudC5vbl90
ZXN0X2JvZHlfY3JlYXRlZCgpOworICAgICAgICA8L3NjcmlwdD4KKyAgICAgICAgPGxpbmsgcmVs
PSJzdHlsZXNoZWV0IiBocmVmPSJuZXN0ZWQuY3NzIj48L2xpbms+CisgICAgICAgIDxpbWcgc3Jj
PSJibGFua19pbWFnZS5wbmciPjwvaW1nPgorICAgICAgICA8aWZyYW1lIHNyYz0iYmxhbmtfcGFn
ZV9ncmVlbi5odG0iIHdpZHRoPSIxMDBweCIgaGVpZ2h0PSIxMDBweCI+PC9pZnJhbWU+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSJlbXB0eV9zY3JpcHQuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0PgorICAgICAgICAgICAgdmFyIHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdDsKKyAgICAgICAg
ICAgIHhoci5vcGVuKCJHRVQiLCAiYmxhbmtfcGFnZV95ZWxsb3cuaHRtIiwgZmFsc2UpOworICAg
ICAgICAgICAgeGhyLnNlbmQoKTsKKyAgICAgICAgPC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIEBmb250LWZhY2UgeworICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBy
ZW1vdGVGb250QWhlbTsKKyAgICAgICAgICAgICAgICBzcmM6IHVybCgnQWhlbS50dGYnKTsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmcmFtZSB7CisgICAgICAgICAgICAgICAgYmFja2dy
b3VuZDogdXJsKCdnZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1pbWFnZSZpZD0xJyk7CisgICAg
ICAgICAgICB9CisgICAgICAgICAgICB1bCB7CisgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6
IHJlbW90ZUZvbnRBaGVtOworICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGUtaW1hZ2U6IHVybCgn
Z2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9aW1hZ2UmaWQ9MicpOworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgICAgICA8dWw+CisgICAgICAgICAgICA8bGk+VGVzdDwvbGk+
CisgICAgICAgIDwvdWw+CisgICAgICAgIDxvbD4KKyAgICAgICAgICAgIDxsaT5UZXN0PC9saT4K
KyAgICAgICAgPC9vbD4KKyAgICAgICAgPGVtYmVkIHNyYz0iZ2VuZXJhdGVfcmVzb3VyY2UucGhw
P3R5cGU9Y3NzJmlkPWVtYmVkIiB0eXBlPSJ0ZXh0L2NzcyI+PC9lbWJlZD4KKyAgICAgICAgPGlu
cHV0IHR5cGU9ImltYWdlIiBzcmM9ImdlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPWltYWdlJmlk
PWlucHV0Ij48L2lucHV0PgorICAgICAgICA8b2JqZWN0IHR5cGU9ImltYWdlL3BuZyIgZGF0YT0i
Z2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9aW1hZ2UmaWQ9b2JqZWN0Ij48L29iamVjdD4KKyAg
ICAgICAgPHZpZGVvIHBvc3Rlcj0iZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9aW1hZ2UmaWQ9
cG9zdGVyIj48L3ZpZGVvPgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2JsYW5rX2ltYWdlLnBuZyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2JsYW5rX2ltYWdl
LnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5jY2Y3YTZjYTA1YmZmYzkzMDVjOGRlYmNiYzI5ZWYwZDFhNWM3Yjc0
CkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAxMDMKemNtZUFTQE4/KG9sSHlgdVZCcSFpYTB2cF5q
M0NVeDFTQlZ2MmoyczZpaTZ5cDd9bE1XYz9zbGo3STtKIUdjYSVxCnVnREBrKnRUX0B1S157KlIj
fUpPfCR2Xik4d2BYQWUkTW87Y25hSmxyYVJ5SVVLYkxoKjJ+N1lTaDhjX2kKCmxpdGVyYWwgMApI
Y21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBl
cmYvcmVzb3VyY2VzL2VtcHR5X3NjcmlwdC5qcyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNj
L3dlYnBlcmYvcmVzb3VyY2VzL2VtcHR5X3NjcmlwdC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wOTJiYzJiMDQx
MjYxMDA4Nzg1MzA4ODhlNmIxYjMwNjAyZGNlMjEzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZW1wdHlfc2NyaXB0LmpzCkBA
IC0wLDAgKzEgQEAKKzsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dl
YnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMjFkZDZhZDRlNzFmYTY5OWZkYjVkMWY3Zjc1NTQ1MzgxYzg4MDY5Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2Vu
ZXJhdGVfcmVzb3VyY2UucGhwCkBAIC0wLDAgKzEsNDggQEAKKzw/cGhwCisgICR0eXBlID0gJF9H
RVRbInR5cGUiXTsKKworICAkcmVzcG9uc2VfY29kZSA9IDIwMDsKKyAgJGJvZHkgPSAiIjsKKyAg
JGNvbnRlbnRfdHlwZSA9ICJ0ZXh0L3BsYWluIjsKKworICBzd2l0Y2ggKCR0eXBlKSB7CisgIGNh
c2UgImF1ZGlvIjoKKyAgICAgICRib2R5ID0gZmlsZV9nZXRfY29udGVudHMoInNpbGVuY2Uud2F2
Iik7CisgICAgICAkY29udGVudF90eXBlID0gImF1ZGlvL3dhdiI7CisgICAgICBicmVhazsKKwor
ICBjYXNlICJjc3MiOgorICAgICAgJGJvZHkgPSBmaWxlX2dldF9jb250ZW50cygiZ3JheV9iZy5j
c3MiKTsKKyAgICAgICRjb250ZW50X3R5cGUgPSAidGV4dC9jc3MiOworICAgICAgYnJlYWs7CisK
KyAgY2FzZSAiZm9udCI6CisgICAgICAkYm9keSA9IGZpbGVfZ2V0X2NvbnRlbnRzKCJBaGVtLnR0
ZiIpOworICAgICAgJGNvbnRlbnRfdHlwZSA9ICJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0iOwor
ICAgICAgYnJlYWs7CisKKyAgY2FzZSAiaWZyYW1lIjoKKyAgICAgICRib2R5ID0gZmlsZV9nZXRf
Y29udGVudHMoImJsYW5rX3BhZ2VfZ3JlZW4uaHRtIik7CisgICAgICAkY29udGVudF90eXBlID0g
InRleHQvaHRtbCI7CisgICAgICBicmVhazsKKworICBjYXNlICJpbWFnZSI6CisgICAgICAkYm9k
eSA9IGZpbGVfZ2V0X2NvbnRlbnRzKCJibGFua19pbWFnZS5wbmciKTsKKyAgICAgICRjb250ZW50
X3R5cGUgPSAiaW1hZ2UvcG5nIjsKKyAgICAgIGJyZWFrOworCisgIGNhc2UgInNjcmlwdCI6Cisg
ICAgICAkYm9keSA9IGZpbGVfZ2V0X2NvbnRlbnRzKCJlbXB0eV9zY3JpcHQuanMiKTsKKyAgICAg
ICRjb250ZW50X3R5cGUgPSAidGV4dC9qYXZhc2NyaXB0IjsKKyAgICAgIGJyZWFrOworCisgIGRl
ZmF1bHQ6CisgICAgICAkcmVzcG9uc2VfY29kZSA9IDQwNDsKKyAgICAgIGJyZWFrOworICB9CisK
KyAgaGVhZGVyKCJIVFRQLzEuMSAkcmVzcG9uc2VfY29kZSIpOworICBoZWFkZXIoIkNvbnRlbnQt
dHlwZTogJGNvbnRlbnRfdHlwZSIpOworICBwcmludCgkYm9keSk7CisgIGV4aXQ7Cis/PgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ3Jh
eV9iZy5jc3MgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9n
cmF5X2JnLmNzcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNzA1MTQ1ZmI4NzczNTU4YTc5NTJkYzE0ZjE4ZmRiNDFl
NGI4MjMyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2Vi
cGVyZi9yZXNvdXJjZXMvZ3JheV9iZy5jc3MKQEAgLTAsMCArMSBAQAorYm9keSB7IGJhY2tncm91
bmQtY29sb3I6ICNiYmJiYmI7IH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
dzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dyZWVuX2ZyYW1lLmh0bSBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dyZWVuX2ZyYW1lLmh0bQpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5j
OTFmNDRhYmYzMjkxMDBlNWE3YTNjYWNmODcyOWMyMGNmYzM3MWJiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ3JlZW5fZnJh
bWUuaHRtCkBAIC0wLDAgKzEsNyBAQAorPGh0bWw+CisgIDxoZWFkPgorICAgIDxmcmFtZXNldD4K
KyAgICAgIDxmcmFtZSBzcmM9ImJsYW5rX3BhZ2VfZ3JlZW4uaHRtIj4KKyAgICA8L2ZyYW1lc2V0
PgorICA8L2hlYWQ+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3czYy93ZWJwZXJmL3Jlc291cmNlcy9pbmplY3RfcmVzb3VyY2VfdGVzdC5odG1sIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvaW5qZWN0X3Jlc291cmNlX3Rl
c3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xZjEwMDYxY2VjODgxMTE3N2VmZTU5OGViN2Y1ODMxMzg0YWUx
NjM4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVy
Zi9yZXNvdXJjZXMvaW5qZWN0X3Jlc291cmNlX3Rlc3QuaHRtbApAQCAtMCwwICsxLDMgQEAKKzxz
Y3JpcHQ+Cit3aW5kb3cucGFyZW50LnNldHVwX2lmcmFtZSgpOworPC9zY3JpcHQ+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9uZXN0ZWQu
Y3NzIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvbmVzdGVk
LmNzcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5iZjUwNjVmODZlYWNhYWM0MGU0ZWUyMGQ1YWEwZjNmYTc4YzIzMzcz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9y
ZXNvdXJjZXMvbmVzdGVkLmNzcwpAQCAtMCwwICsxLDEwIEBACitAaW1wb3J0ICJnZW5lcmF0ZV9y
ZXNvdXJjZS5waHA/dHlwZT1jc3MmaWQ9bjEiOworCitAZm9udC1mYWNlIHsKKyAgICBmb250LWZh
bWlseTogcmVtb3RlRm9udDsKKyAgICBzcmM6IHVybCgnZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5
cGU9Zm9udCZpZD1uMScpOworfQorb2wgeworICAgIGZvbnQtZmFtaWx5OiByZW1vdGVGb250Owor
ICAgIGxpc3Qtc3R5bGUtaW1hZ2U6IHVybCgnZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9aW1h
Z2UmaWQ9bjEnKTsKK30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dl
YnBlcmYvcmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVzcy5qcyBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVzcy5qcwppbmRleCA4
Nzc0NTA2ZTI0OTI4ZTdiOTYxNGMzMGM5ODFiMTMxMTBhZDA4ZDQzLi40NTRkMjhlOTFmOTg4ODdi
ZjE5MjA2MzFkZjFmMjA5NTEzNTE3M2ExIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3MuanMKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJu
ZXNzLmpzCkBAIC0xNTAsNyArMTUwLDYzIEBAIGZ1bmN0aW9uIHRlc3RfZ3JlYXRlcl90aGFuKHZh
bHVlLCBncmVhdGVyX3RoYW4sIG1zZywgcHJvcGVydGllcykKICAgICB3cF90ZXN0KGZ1bmN0aW9u
ICgpIHsgYXNzZXJ0X3RydWUodmFsdWUgPiBncmVhdGVyX3RoYW4sIG1zZyk7IH0sIG1zZywgcHJv
cGVydGllcyk7CiB9CiAKK2Z1bmN0aW9uIHRlc3RfZ3JlYXRlcl9vcl9lcXVhbHModmFsdWUsIGdy
ZWF0ZXJfdGhhbiwgbXNnLCBwcm9wZXJ0aWVzKQoreworICAgIHdwX3Rlc3QoZnVuY3Rpb24gKCkg
eyBhc3NlcnRfdHJ1ZSh2YWx1ZSA+PSBncmVhdGVyX3RoYW4sIG1zZyk7IH0sIG1zZywgcHJvcGVy
dGllcyk7Cit9CisKIGZ1bmN0aW9uIHRlc3Rfbm90X2VxdWFscyh2YWx1ZSwgbm90ZXF1YWxzLCBt
c2csIHByb3BlcnRpZXMpCiB7CiAgICAgd3BfdGVzdChmdW5jdGlvbigpIHsgYXNzZXJ0X3RydWUo
dmFsdWUgIT09IG5vdGVxdWFscywgbXNnKTsgfSwgbXNnLCBwcm9wZXJ0aWVzKTsKIH0KKworZnVu
Y3Rpb24gdGVzdF9jb250YWlucyhuZWVkbGUsIGhheXN0YWNrLCBtc2csIHByb3BlcnRpZXMpCit7
CisgICAgd3BfdGVzdChmdW5jdGlvbigpIHsgYXNzZXJ0X3RydWUobmVlZGxlIGluIGhheXN0YWNr
LCBtc2cpOyB9LCBtc2csIHByb3BlcnRpZXMpOworfQorCitmdW5jdGlvbiB0ZXN0X2ZhaWwobXNn
LCBwcm9wZXJ0aWVzKQoreworICAgIHdwX3Rlc3QoZnVuY3Rpb24oKSB7IGFzc2VydF91bnJlYWNo
ZWQoKTsgfSwgbXNnLCBwcm9wZXJ0aWVzKTsKK30KKworZnVuY3Rpb24gdGVzdF9yZXNvdXJjZV9l
bnRyaWVzKGVudHJpZXMsIGV4cGVjdGVkX2VudHJpZXMpCit7CisgICAgLy8gVGhpcyBpcyBzbGln
aHRseSBjb252b2x1dGVkIHNvIHRoYXQgd2UgY2FuIHNvcnQgdGhlIG91dHB1dC4KKyAgICB2YXIg
YWN0dWFsX2VudHJpZXMgPSB7fTsKKworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZW50cmllcy5s
ZW5ndGg7ICsraSkgeworICAgICAgICB2YXIgZW50cnkgPSBlbnRyaWVzW2ldOworICAgICAgICB2
YXIgZm91bmQgPSBmYWxzZTsKKyAgICAgICAgZm9yICh2YXIgZXhwZWN0ZWRfZW50cnkgaW4gZXhw
ZWN0ZWRfZW50cmllcykgeworICAgICAgICAgICAgaWYgKGVudHJ5Lm5hbWUgPT0gd2luZG93Lmxv
Y2F0aW9uLm9yaWdpbiArIGV4cGVjdGVkX2VudHJ5KSB7CisgICAgICAgICAgICAgICAgZm91bmQg
PSB0cnVlOworICAgICAgICAgICAgICAgIGlmIChleHBlY3RlZF9lbnRyeSBpbiBhY3R1YWxfZW50
cmllcykgeworICAgICAgICAgICAgICAgICAgICB0ZXN0X2ZhaWwoZXhwZWN0ZWRfZW50cnkgKyAn
IGlzIG5vdCBleHBlY3RlZCB0byBoYXZlIGR1cGxpY2F0ZSBlbnRyaWVzJyk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgICAgIGFjdHVhbF9lbnRyaWVzW2V4cGVjdGVkX2VudHJ5XSA9
IGVudHJ5OworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICB9
CisgICAgICAgIGlmICghZm91bmQpIHsKKyAgICAgICAgICAgIHRlc3RfZmFpbChlbnRyaWVzW2ld
Lm5hbWUgKyAnIGlzIG5vdCBleHBlY3RlZCB0byBiZSBpbiB0aGUgUmVzb3VyY2UgVGltaW5nIGJ1
ZmZlcicpOworICAgICAgICB9CisgICAgfQorCisgICAgc29ydGVkX3VybHMgPSBbXTsKKyAgICBm
b3IgKHZhciBpIGluIGFjdHVhbF9lbnRyaWVzKSB7CisgICAgICAgIHNvcnRlZF91cmxzLnB1c2go
aSk7CisgICAgfQorICAgIHNvcnRlZF91cmxzLnNvcnQoKTsKKyAgICBmb3IgKHZhciBpIGluIHNv
cnRlZF91cmxzKSB7CisgICAgICAgIHZhciB1cmwgPSBzb3J0ZWRfdXJsc1tpXTsKKyAgICAgICAg
dGVzdF9lcXVhbHMoYWN0dWFsX2VudHJpZXNbdXJsXS5pbml0aWF0b3JUeXBlLAorICAgICAgICAg
ICAgICAgICAgICBleHBlY3RlZF9lbnRyaWVzW3VybF0sCisgICAgICAgICAgICAgICAgICAgIHVy
bCArICcgaXMgZXhwZWN0ZWQgdG8gaGF2ZSBpbml0aWF0b3JUeXBlICcgKyBleHBlY3RlZF9lbnRy
aWVzW3VybF0pOworICAgIH0KKyAgICBmb3IgKHZhciBqIGluIGV4cGVjdGVkX2VudHJpZXMpIHsK
KyAgICAgICAgaWYgKCEoaiBpbiBhY3R1YWxfZW50cmllcykpIHsKKyAgICAgICAgICAgIHRlc3Rf
ZmFpbChqICsgJyBpcyBleHBlY3RlZCB0byBiZSBpbiB0aGUgUmVzb3VyY2UgVGltaW5nIGJ1ZmZl
cicpOworICAgICAgICB9CisgICAgfQorfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVz
b3VyY2VfYXR0cmlidXRlX29yZGVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291
cmNlX2F0dHJpYnV0ZV9vcmRlci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDc4ODE4OTE2ZWQz
YjI4YzA1MTMzYTgyMTY3YWFiZGExYWZlOTFkMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRt
bC90ZXN0X3Jlc291cmNlX2F0dHJpYnV0ZV9vcmRlci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
OCBAQAorRGVzY3JpcHRpb24KKworVGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IHRoZSBQZXJmb3Jt
YW5jZVJlc291cmNlVGltaW5nIGF0dHJpYnV0ZXMgYXBwZWFyIGluIHRoZSBjb3JyZWN0IGNocm9u
b2xvZ2ljYWwgb3JkZXIuCisKKworCitQQVNTIE9ubHkgMSBQZXJmb3JtYW5jZUVudHJ5IHNob3Vs
ZCBtYXRjaCAKK1BBU1MgcmVkaXJlY3RTdGFydCBzaG91bGQgYmUgMCAKK1BBU1MgcmVkaXJlY3RF
bmQgc2hvdWxkIGJlIDAgCitQQVNTIGZldGNoU3RhcnQgc2hvdWxkIGJlIG5vbi16ZXJvIAorUEFT
UyBkb21haW5Mb29rdXBTdGFydCBzaG91bGQgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIGZl
dGNoU3RhcnQgCitQQVNTIGRvbWFpbkxvb2t1cEVuZCBzaG91bGQgYmUgZ3JlYXRlciB0aGFuIG9y
IGVxdWFsIHRvIGRvbWFpbkxvb2t1cFN0YXJ0IAorUEFTUyBjb25uZWN0U3RhcnQgc2hvdWxkIGJl
IGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byBkb21haW5Mb29rdXBFbmQgCitQQVNTIGNvbm5lY3RF
bmQgc2hvdWxkIGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byBjb25uZWN0U3RhcnQgCitQQVNT
IHJlcXVlc3RTdGFydCBzaG91bGQgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIGNvbm5lY3RF
bmQgCitQQVNTIHJlc3BvbnNlU3RhcnQgc2hvdWxkIGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0
byByZXF1ZXN0U3RhcnQgCitQQVNTIHJlc3BvbnNlRW5kIHNob3VsZCBiZSBncmVhdGVyIHRoYW4g
b3IgZXF1YWwgdG8gcmVzcG9uc2VTdGFydCAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3Rf
cmVzb3VyY2VfYXR0cmlidXRlX29yZGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3cz
Yy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9h
dHRyaWJ1dGVfb3JkZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NmU1NjFiNzQyNjZlYTkwYjVmYTVlZTNk
Yzk3NmYwMjI0Mjg2ODJjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3Vy
Y2VfYXR0cmlidXRlX29yZGVyLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+Cis8dGl0bGU+UmVzb3Vy
Y2UgVGltaW5nIGF0dHJpYnV0ZSBvcmRlcjwvdGl0bGU+Cis8bGluayByZWw9ImF1dGhvciIgdGl0
bGU9Ikdvb2dsZSIgaHJlZj0iaHR0cDovL3d3dy5nb29nbGUuY29tLyIgLz4KKzxsaW5rIHJlbD0i
aGVscCIgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvcmVzb3VyY2UtdGltaW5nLyNwZXJmb3Jt
YW5jZXJlc291cmNldGltaW5nIi8+Cis8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvdzNjL3dlYnBlcmYvcmVzb3Vy
Y2VzL3dlYnBlcmZ0ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZnVuY3Rpb24g
c2V0dXBfaWZyYW1lKCkgeworICAgIGlmcmFtZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdm
cmFtZUNvbnRleHQnKTsKKyAgICB2YXIgZCA9IGlmcmFtZS5jb250ZW50V2luZG93LmRvY3VtZW50
OworICAgIHZhciBib2R5ID0gZC5jcmVhdGVFbGVtZW50KCdib2R5Jyk7CisgICAgZC5nZXRFbGVt
ZW50c0J5VGFnTmFtZSgnaHRtbCcpWzBdLmFwcGVuZENoaWxkKGJvZHkpOworCisgICAgdmFyIGlt
YWdlID0gZC5jcmVhdGVFbGVtZW50KCdpbWcnKTsKKyAgICBpbWFnZS5zcmMgPSAnL3czYy93ZWJw
ZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1pbWFnZSc7CisgICAgYm9k
eS5hcHBlbmRDaGlsZChpbWFnZSk7Cit9CitmdW5jdGlvbiBvbmxvYWRfdGVzdCgpIHsKKyAgICB2
YXIgZW50cmllcyA9IGlmcmFtZS5jb250ZW50V2luZG93LnBlcmZvcm1hbmNlLndlYmtpdEdldEVu
dHJpZXNCeU5hbWUod2luZG93LmxvY2F0aW9uLm9yaWdpbiArICcvdzNjL3dlYnBlcmYvcmVzb3Vy
Y2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPWltYWdlJyk7CisgICAgdGVzdF9lcXVhbHMo
ZW50cmllcy5sZW5ndGgsIDEsICdPbmx5IDEgUGVyZm9ybWFuY2VFbnRyeSBzaG91bGQgbWF0Y2gn
KTsKKyAgICB2YXIgZW50cnkgPSBlbnRyaWVzWzBdOworCisgICAgdGVzdF9lcXVhbHMoZW50cnku
cmVkaXJlY3RTdGFydCwgMCwgInJlZGlyZWN0U3RhcnQgc2hvdWxkIGJlIDAiKTsKKyAgICB0ZXN0
X2VxdWFscyhlbnRyeS5yZWRpcmVjdEVuZCwgMCwgInJlZGlyZWN0RW5kIHNob3VsZCBiZSAwIik7
CisgICAgdGVzdF9ncmVhdGVyX3RoYW4oZW50cnkuZmV0Y2hTdGFydCwgMCwgImZldGNoU3RhcnQg
c2hvdWxkIGJlIG5vbi16ZXJvIik7CisgICAgdGVzdF9ncmVhdGVyX29yX2VxdWFscyhlbnRyeS5k
b21haW5Mb29rdXBTdGFydCwgZW50cnkuZmV0Y2hTdGFydCwgImRvbWFpbkxvb2t1cFN0YXJ0IHNo
b3VsZCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gZmV0Y2hTdGFydCIpOworICAgIHRlc3Rf
Z3JlYXRlcl9vcl9lcXVhbHMoZW50cnkuZG9tYWluTG9va3VwRW5kLCBlbnRyeS5kb21haW5Mb29r
dXBTdGFydCwgImRvbWFpbkxvb2t1cEVuZCBzaG91bGQgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFs
IHRvIGRvbWFpbkxvb2t1cFN0YXJ0Iik7CisgICAgdGVzdF9ncmVhdGVyX29yX2VxdWFscyhlbnRy
eS5jb25uZWN0U3RhcnQsIGVudHJ5LmRvbWFpbkxvb2t1cEVuZCwgImNvbm5lY3RTdGFydCBzaG91
bGQgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIGRvbWFpbkxvb2t1cEVuZCIpOworICAgIHRl
c3RfZ3JlYXRlcl9vcl9lcXVhbHMoZW50cnkuY29ubmVjdEVuZCwgZW50cnkuY29ubmVjdFN0YXJ0
LCAiY29ubmVjdEVuZCBzaG91bGQgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIGNvbm5lY3RT
dGFydCIpOworICAgIHRlc3RfZ3JlYXRlcl9vcl9lcXVhbHMoZW50cnkucmVxdWVzdFN0YXJ0LCBl
bnRyeS5jb25uZWN0RW5kLCAicmVxdWVzdFN0YXJ0IHNob3VsZCBiZSBncmVhdGVyIHRoYW4gb3Ig
ZXF1YWwgdG8gY29ubmVjdEVuZCIpOworICAgIHRlc3RfZ3JlYXRlcl9vcl9lcXVhbHMoZW50cnku
cmVzcG9uc2VTdGFydCwgZW50cnkucmVxdWVzdFN0YXJ0LCAicmVzcG9uc2VTdGFydCBzaG91bGQg
YmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIHJlcXVlc3RTdGFydCIpOworICAgIHRlc3RfZ3Jl
YXRlcl9vcl9lcXVhbHMoZW50cnkucmVzcG9uc2VFbmQsIGVudHJ5LnJlc3BvbnNlU3RhcnQsICJy
ZXNwb25zZUVuZCBzaG91bGQgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIHJlc3BvbnNlU3Rh
cnQiKTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8aDE+RGVzY3JpcHRpb248L2gx
PgorPHA+VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IHRoZSBQZXJmb3JtYW5jZVJlc291cmNlVGlt
aW5nIGF0dHJpYnV0ZXMgYXBwZWFyIGluIHRoZSBjb3JyZWN0IGNocm9ub2xvZ2ljYWwgb3JkZXIu
PC9wPgorPGRpdiBpZD0ibG9nIj48L2Rpdj4KKzxpZnJhbWUgaWQ9ImZyYW1lQ29udGV4dCIgb25s
b2FkPSJvbmxvYWRfdGVzdCgpOyIgc3JjPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2luamVjdF9y
ZXNvdXJjZV90ZXN0Lmh0bWwiPjwvaWZyYW1lPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNl
LXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2VfZHluYW1pY19pbnNlcnRpb24tZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNl
LXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2VfZHluYW1pY19pbnNlcnRpb24tZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjU5YzQwMGRkZGMyOTg4YTEzMTU2M2FkNDc5MjJjMjI5YTUxMjRjN2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1p
c3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9keW5hbWljX2luc2VydGlv
bi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMCBAQAorRGVzY3JpcHRpb24KKworVGhpcyB0ZXN0
IHZhbGlkYXRlcyB0aGF0IGFsbCBvZiB0aGUgaW5pdGlhdG9yIHR5cGVzIGFyZSByZXByZXNlbnRl
ZCBldmVuIHdoZW4gZHluYW1pY2FsbHkgaW5zZXJ0ZWQuCisKKworCitQQVNTIC93M2Mvd2VicGVy
Zi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9Y3NzIGlzIGV4cGVjdGVkIHRv
IGhhdmUgaW5pdGlhdG9yVHlwZSBsaW5rIAorUEFTUyAvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dl
bmVyYXRlX3Jlc291cmNlLnBocD90eXBlPWlmcmFtZSBpcyBleHBlY3RlZCB0byBoYXZlIGluaXRp
YXRvclR5cGUgaWZyYW1lIAorUEFTUyAvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jl
c291cmNlLnBocD90eXBlPWltYWdlIGlzIGV4cGVjdGVkIHRvIGhhdmUgaW5pdGlhdG9yVHlwZSBp
bWcgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3Vi
bWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX2R5bmFtaWNfaW5zZXJ0
aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24v
cmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9keW5hbWljX2luc2VydGlvbi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmJmNzMxMDg0NzFmMWUxYmZhODAzNDBkM2QyMTczNmIzZWVjYTE0ZjkKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1p
c3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9keW5hbWljX2luc2VydGlv
bi5odG1sCkBAIC0wLDAgKzEsNTIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPgorPHRpdGxlPlJlc291cmNlIFRpbWluZyBpbml0aWF0
b3IgdHlwZXMgd2l0aCBkeW5hbWljIGluc2VydGlvbjwvdGl0bGU+Cis8bGluayByZWw9ImF1dGhv
ciIgdGl0bGU9Ikdvb2dsZSIgaHJlZj0iaHR0cDovL3d3dy5nb29nbGUuY29tLyIgLz4KKzxsaW5r
IHJlbD0iaGVscCIgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvcmVzb3VyY2UtdGltaW5nLyNk
b20tcGVyZm9ybWFuY2VyZXNvdXJjZXRpbWluZy1pbml0aWF0b3J0eXBlIi8+Cis8c2NyaXB0IHNy
Yz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0PgordmFyIGlmcmFtZTsKK2Z1bmN0aW9uIHNldHVwX2lmcmFtZSgpIHsKKyAg
ICBpZnJhbWUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZnJhbWVDb250ZXh0Jyk7CisgICAg
dmFyIGQgPSBpZnJhbWUuY29udGVudFdpbmRvdy5kb2N1bWVudDsKKyAgICB2YXIgYm9keSA9IGQu
Y3JlYXRlRWxlbWVudCgnYm9keScpOworICAgIGQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2h0bWwn
KVswXS5hcHBlbmRDaGlsZChib2R5KTsKKworICAgIHZhciBzdHlsZSA9IGQuY3JlYXRlRWxlbWVu
dCgnbGluaycpOworICAgIHN0eWxlLnJlbCA9ICdzdHlsZXNoZWV0JzsKKyAgICBzdHlsZS5ocmVm
ID0gJy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9Y3Nz
JzsKKyAgICBib2R5LmFwcGVuZENoaWxkKHN0eWxlKTsKKworICAgIHZhciBpbWFnZSA9IGQuY3Jl
YXRlRWxlbWVudCgnaW1nJyk7CisgICAgaW1hZ2Uuc3JjID0gJy93M2Mvd2VicGVyZi9yZXNvdXJj
ZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9aW1hZ2UnOworICAgIGJvZHkuYXBwZW5kQ2hp
bGQoaW1hZ2UpOworCisgICAgdmFyIHN1YmZyYW1lID0gZC5jcmVhdGVFbGVtZW50KCdpZnJhbWUn
KTsKKyAgICBzdWJmcmFtZS5zcmMgPSAnL3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9y
ZXNvdXJjZS5waHA/dHlwZT1pZnJhbWUnOworICAgIGJvZHkuYXBwZW5kQ2hpbGQoc3ViZnJhbWUp
OworfQorZnVuY3Rpb24gb25sb2FkX3Rlc3QoKSB7CisgICAgdmFyIGVudHJpZXMgPSBpZnJhbWUu
Y29udGVudFdpbmRvdy5wZXJmb3JtYW5jZS53ZWJraXRHZXRFbnRyaWVzKCk7CisKKyAgICB2YXIg
ZXhwZWN0ZWRfZW50cmllcyA9IHsKKyAgICAgICAgJy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2Vu
ZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9Y3NzJzogJ2xpbmsnLAorICAgICAgICAnL3czYy93ZWJw
ZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1pbWFnZSc6ICdpbWcnLAor
ICAgICAgICAnL3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlw
ZT1pZnJhbWUnOiAnaWZyYW1lJywKKyAgICB9OworCisgICAgdGVzdF9yZXNvdXJjZV9lbnRyaWVz
KGVudHJpZXMsIGV4cGVjdGVkX2VudHJpZXMpOworfQord2luZG93LnNldHVwX2lmcmFtZSA9IHNl
dHVwX2lmcmFtZTsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8aDE+RGVzY3JpcHRpb248
L2gxPgorPHA+VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IGFsbCBvZiB0aGUgaW5pdGlhdG9yIHR5
cGVzIGFyZSByZXByZXNlbnRlZCBldmVuIHdoZW4gZHluYW1pY2FsbHkgaW5zZXJ0ZWQuPC9wPgor
PGRpdiBpZD0ibG9nIj48L2Rpdj4KKzxpZnJhbWUgaWQ9ImZyYW1lQ29udGV4dCIgb25sb2FkPSJv
bmxvYWRfdGVzdCgpOyIgc3JjPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2luamVjdF9yZXNvdXJj
ZV90ZXN0Lmh0bWwiPjwvaWZyYW1lPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWlu
Zy9odG1sL3Rlc3RfcmVzb3VyY2VfZnJhbWVfaW5pdGlhdG9yX3R5cGUtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRp
bWluZy9odG1sL3Rlc3RfcmVzb3VyY2VfZnJhbWVfaW5pdGlhdG9yX3R5cGUtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmM1Y2YyODk0ZmQyYWIwNWE5MWNhMGIzM2NmMjEzZTMyZDY0YWY3YmQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1p
c3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9mcmFtZV9pbml0aWF0b3Jf
dHlwZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw4IEBACitEZXNjcmlwdGlvbgorCitUaGlzIHRl
c3QgdmFsaWRhdGVzIHRoYXQgdGhlIGZyYW1lIGluaXRpYXRvciB0eXBlIGlzIHJlcHJlc2VudGVk
LgorCisKKworUEFTUyAvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2JsYW5rX3BhZ2VfZ3JlZW4uaHRt
IGlzIGV4cGVjdGVkIHRvIGhhdmUgaW5pdGlhdG9yVHlwZSBmcmFtZSAKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRp
bWluZy9odG1sL3Rlc3RfcmVzb3VyY2VfZnJhbWVfaW5pdGlhdG9yX3R5cGUuaHRtbCBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcv
aHRtbC90ZXN0X3Jlc291cmNlX2ZyYW1lX2luaXRpYXRvcl90eXBlLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZTAwYjljNjNhMmM0NTc1MzllZDQzMWZkMDcyMzJmMTNmMTNmYzFjYQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJj
ZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX2ZyYW1lX2luaXRpYXRvcl90eXBlLmh0bWwKQEAg
LTAsMCArMSwzMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hh
cnNldD0idXRmLTgiIC8+Cis8dGl0bGU+UmVzb3VyY2UgVGltaW5nIGZyYW1lIGluaXRpYXRvciB0
eXBlPC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iR29vZ2xlIiBocmVmPSJodHRw
Oi8vd3d3Lmdvb2dsZS5jb20vIiAvPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwOi8vd3d3
LnczLm9yZy9UUi9yZXNvdXJjZS10aW1pbmcvI2RvbS1wZXJmb3JtYW5jZXJlc291cmNldGltaW5n
LWluaXRpYXRvcnR5cGUiLz4KKzxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMv
d2VicGVyZnRlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitzZXR1cCh7ZXhwbGlj
aXRfZG9uZTogdHJ1ZX0pOworCitmdW5jdGlvbiBvbmxvYWRfdGVzdCgpIHsKKyAgICB2YXIgZW50
cmllcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmcmFtZUNvbnRleHQnKS5jb250ZW50V2lu
ZG93LnBlcmZvcm1hbmNlLndlYmtpdEdldEVudHJpZXMoKTsKKworICAgIHZhciBleHBlY3RlZF9l
bnRyaWVzID0geworICAgICAgICAnL3czYy93ZWJwZXJmL3Jlc291cmNlcy9ibGFua19wYWdlX2dy
ZWVuLmh0bSc6ICdmcmFtZScsCisgICAgfTsKKworICAgIHRlc3RfcmVzb3VyY2VfZW50cmllcyhl
bnRyaWVzLCBleHBlY3RlZF9lbnRyaWVzKTsKKyAgICBkb25lKCk7Cit9Cis8L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPGgxPkRlc2NyaXB0aW9uPC9oMT4KKzxwPlRoaXMgdGVzdCB2YWxpZGF0
ZXMgdGhhdCB0aGUgZnJhbWUgaW5pdGlhdG9yIHR5cGUgaXMgcmVwcmVzZW50ZWQuPC9wPgorPGRp
diBpZD0ibG9nIj48L2Rpdj4KKzxpZnJhbWUgaWQ9ImZyYW1lQ29udGV4dCIgb25sb2FkPSJvbmxv
YWRfdGVzdCgpOyIgc3JjPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dyZWVuX2ZyYW1lLmh0bSIg
c3R5bGU9IndpZHRoOiAyNTBweDsgaGVpZ2h0OiAyNTBweDsiPjwvaWZyYW1lPgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9z
dWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2VfaW5pdGlhdG9yX3R5
cGVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3Vi
bWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX2luaXRpYXRvcl90eXBl
cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTQzYTZmOGNkZTU0MTk4MDk0Yjk5ODRiNmQ4YTRj
NjcyM2U1NmQ0MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNj
L3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX2lu
aXRpYXRvcl90eXBlcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyMyBAQAorRGVzY3JpcHRpb24K
KworVGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IGFsbCBvZiB0aGUgaW5pdGlhdG9yIHR5cGVzIGFy
ZSByZXByZXNlbnRlZC4KKworCisKK1BBU1MgL3czYy93ZWJwZXJmL3Jlc291cmNlcy9BaGVtLnR0
ZiBpcyBleHBlY3RlZCB0byBoYXZlIGluaXRpYXRvclR5cGUgY3NzIAorUEFTUyAvdzNjL3dlYnBl
cmYvcmVzb3VyY2VzL2JsYW5rX2ltYWdlLnBuZyBpcyBleHBlY3RlZCB0byBoYXZlIGluaXRpYXRv
clR5cGUgaW1nIAorUEFTUyAvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2JsYW5rX3BhZ2VfZ3JlZW4u
aHRtIGlzIGV4cGVjdGVkIHRvIGhhdmUgaW5pdGlhdG9yVHlwZSBpZnJhbWUgCitQQVNTIC93M2Mv
d2VicGVyZi9yZXNvdXJjZXMvYmxhbmtfcGFnZV95ZWxsb3cuaHRtIGlzIGV4cGVjdGVkIHRvIGhh
dmUgaW5pdGlhdG9yVHlwZSB4bWxodHRwcmVxdWVzdCAKK1BBU1MgL3czYy93ZWJwZXJmL3Jlc291
cmNlcy9lbXB0eV9zY3JpcHQuanMgaXMgZXhwZWN0ZWQgdG8gaGF2ZSBpbml0aWF0b3JUeXBlIHNj
cmlwdCAKK1BBU1MgL3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/
dHlwZT1jc3MmaWQ9ZW1iZWQgaXMgZXhwZWN0ZWQgdG8gaGF2ZSBpbml0aWF0b3JUeXBlIGVtYmVk
IAorUEFTUyAvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBl
PWNzcyZpZD1uMSBpcyBleHBlY3RlZCB0byBoYXZlIGluaXRpYXRvclR5cGUgY3NzIAorUEFTUyAv
dzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPWZvbnQmaWQ9
bjEgaXMgZXhwZWN0ZWQgdG8gaGF2ZSBpbml0aWF0b3JUeXBlIGNzcyAKK1BBU1MgL3czYy93ZWJw
ZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1pbWFnZSZpZD0xIGlzIGV4
cGVjdGVkIHRvIGhhdmUgaW5pdGlhdG9yVHlwZSBjc3MgCitQQVNTIC93M2Mvd2VicGVyZi9yZXNv
dXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9aW1hZ2UmaWQ9MiBpcyBleHBlY3RlZCB0
byBoYXZlIGluaXRpYXRvclR5cGUgY3NzIAorUEFTUyAvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dl
bmVyYXRlX3Jlc291cmNlLnBocD90eXBlPWltYWdlJmlkPWJvZHkgaXMgZXhwZWN0ZWQgdG8gaGF2
ZSBpbml0aWF0b3JUeXBlIGJvZHkgCitQQVNTIC93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJh
dGVfcmVzb3VyY2UucGhwP3R5cGU9aW1hZ2UmaWQ9aW5wdXQgaXMgZXhwZWN0ZWQgdG8gaGF2ZSBp
bml0aWF0b3JUeXBlIGlucHV0IAorUEFTUyAvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRl
X3Jlc291cmNlLnBocD90eXBlPWltYWdlJmlkPW4xIGlzIGV4cGVjdGVkIHRvIGhhdmUgaW5pdGlh
dG9yVHlwZSBjc3MgCitQQVNTIC93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3Vy
Y2UucGhwP3R5cGU9aW1hZ2UmaWQ9b2JqZWN0IGlzIGV4cGVjdGVkIHRvIGhhdmUgaW5pdGlhdG9y
VHlwZSBvYmplY3QgCitQQVNTIC93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3Vy
Y2UucGhwP3R5cGU9aW1hZ2UmaWQ9cG9zdGVyIGlzIGV4cGVjdGVkIHRvIGhhdmUgaW5pdGlhdG9y
VHlwZSB2aWRlbyAKK1BBU1MgL3czYy93ZWJwZXJmL3Jlc291cmNlcy9uZXN0ZWQuY3NzIGlzIGV4
cGVjdGVkIHRvIGhhdmUgaW5pdGlhdG9yVHlwZSBsaW5rIAorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0
bWwvdGVzdF9yZXNvdXJjZV9pbml0aWF0b3JfdHlwZXMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jl
c291cmNlX2luaXRpYXRvcl90eXBlcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAwMTNkNjM0MGZhMDYyNTUx
NDMzYmI5YzA1ZDUzYjMxOGZmMTVhNzAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVz
dF9yZXNvdXJjZV9pbml0aWF0b3JfdHlwZXMuaHRtbApAQCAtMCwwICsxLDk3IEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4KKzx0aXRs
ZT5SZXNvdXJjZSBUaW1pbmcgaW5pdGlhdG9yIHR5cGVzPC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0
aG9yIiB0aXRsZT0iR29vZ2xlIiBocmVmPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20vIiAvPgorPGxp
bmsgcmVsPSJoZWxwIiBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9yZXNvdXJjZS10aW1pbmcv
I2RvbS1wZXJmb3JtYW5jZXJlc291cmNldGltaW5nLWluaXRpYXRvcnR5cGUiLz4KKzxzY3JpcHQg
c3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQ+CitzZXR1cCh7ZXhwbGljaXRfZG9uZTogdHJ1ZX0pOworCit2YXIgYmFj
a2dyb3VuZF9sb2FkZWQgPSBmYWxzZTsKK3ZhciBwYWdlX2xvYWRlZCA9IGZhbHNlOwordmFyIG9s
X2ZvbnRfbG9hZGVkID0gZmFsc2U7Cit2YXIgdWxfZm9udF9sb2FkZWQgPSBmYWxzZTsKKworZnVu
Y3Rpb24gY2hlY2tfZmluaXNoZWQoKSB7CisgICAgaWYgKCF1bF9mb250X2xvYWRlZCkgeworICAg
ICAgICB1bF9mb250X2xvYWRlZCA9IGNoZWNrX2ZvbnRfbG9hZGVkKCd1bCcpOworICAgIH0KKyAg
ICBpZiAoIW9sX2ZvbnRfbG9hZGVkKSB7CisgICAgICAgIG9sX2ZvbnRfbG9hZGVkID0gY2hlY2tf
Zm9udF9sb2FkZWQoJ29sJyk7CisgICAgfQorICAgIGlmIChwYWdlX2xvYWRlZCAmJiBvbF9mb250
X2xvYWRlZCAmJiB1bF9mb250X2xvYWRlZCAmJiBiYWNrZ3JvdW5kX2xvYWRlZCkgeworICAgICAg
ICBwZXJmb3JtX3Rlc3QoKTsKKyAgICB9Cit9CisKK2Z1bmN0aW9uIGNoZWNrX2ZvbnRfbG9hZGVk
KHR5cGUpIHsKKyAgICB2YXIgd2lkdGhfdmFyX25hbWUgPSAnb3JpZ2luYWxfd2lkdGhfJyArIHR5
cGU7CisgICAgdmFyIGVsZW1lbnRfdmFyX25hbWUgPSAnZWxlbWVudF8nICsgdHlwZTsKKyAgICBp
ZiAoIXRoaXMuaGFzT3duUHJvcGVydHkod2lkdGhfdmFyX25hbWUpKSB7CisgICAgICAgIHZhciBk
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ZyYW1lQ29udGV4dCcpLmNvbnRlbnRXaW5kb3cu
ZG9jdW1lbnQ7CisgICAgICAgIHZhciBsaXN0ID0gZC5jcmVhdGVFbGVtZW50KHR5cGUpOworICAg
ICAgICB2YXIgbGkgPSBkLmNyZWF0ZUVsZW1lbnQoJ2xpJyk7CisgICAgICAgIGxpLmlubmVySFRN
TCA9ICd3aWR0aF90ZXN0JzsKKyAgICAgICAgbGlzdC5hcHBlbmRDaGlsZChsaSk7CisgICAgICAg
IGQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2JvZHknKVswXS5hcHBlbmRDaGlsZChsaXN0KTsKKyAg
ICAgICAgdGhpc1tlbGVtZW50X3Zhcl9uYW1lXSA9IGxpc3Q7CisgICAgICAgIHRoaXNbd2lkdGhf
dmFyX25hbWVdID0gbGkub2Zmc2V0SGVpZ2h0OworICAgIH0KKyAgICByZXR1cm4gdGhpc1t3aWR0
aF92YXJfbmFtZV0gIT0gdGhpc1tlbGVtZW50X3Zhcl9uYW1lXS5vZmZzZXRIZWlnaHQ7Cit9CisK
K2Z1bmN0aW9uIG9ubG9hZF90ZXN0KCkgeworICAgIHBhZ2VfbG9hZGVkID0gdHJ1ZTsKKworICAg
IHZhciBpbWFnZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2ltZycpOworICAgIGltYWdlLnNy
YyA9ICcvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPWlt
YWdlJmlkPW4xJzsKKyAgICBiYWNrZ3JvdW5kX2xvYWRlZCA9IGltYWdlLmNvbXBsZXRlZDsKKyAg
ICBpZiAoIWJhY2tncm91bmRfbG9hZGVkKSB7CisgICAgICAgIGltYWdlLm9ubG9hZCA9IGZ1bmN0
aW9uKCkgeworICAgICAgICAgICAgYmFja2dyb3VuZF9sb2FkZWQgPSB0cnVlOworICAgICAgICB9
CisgICAgfQorCisgICAgc2V0SW50ZXJ2YWwoY2hlY2tfZmluaXNoZWQsIDEwMCk7Cit9CisKK2Z1
bmN0aW9uIHBlcmZvcm1fdGVzdCgpIHsKKyAgICB2YXIgZW50cmllcyA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCdmcmFtZUNvbnRleHQnKS5jb250ZW50V2luZG93LnBlcmZvcm1hbmNlLndlYmtp
dEdldEVudHJpZXMoKTsKKworICAgIHZhciBleHBlY3RlZF9lbnRyaWVzID0geworICAgICAgICAn
L3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1pbWFnZSZp
ZD1ib2R5JzogJ2JvZHknLAorICAgICAgICAnL3czYy93ZWJwZXJmL3Jlc291cmNlcy9uZXN0ZWQu
Y3NzJzogJ2xpbmsnLAorICAgICAgICAnL3czYy93ZWJwZXJmL3Jlc291cmNlcy9ibGFua19pbWFn
ZS5wbmcnOiAnaW1nJywKKyAgICAgICAgJy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvYmxhbmtfcGFn
ZV9ncmVlbi5odG0nOiAnaWZyYW1lJywKKyAgICAgICAgJy93M2Mvd2VicGVyZi9yZXNvdXJjZXMv
ZW1wdHlfc2NyaXB0LmpzJzogJ3NjcmlwdCcsCisgICAgICAgICcvdzNjL3dlYnBlcmYvcmVzb3Vy
Y2VzL2JsYW5rX3BhZ2VfeWVsbG93Lmh0bSc6ICd4bWxodHRwcmVxdWVzdCcsCisgICAgICAgICcv
dzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPWltYWdlJmlk
PTEnOiAnY3NzJywKKyAgICAgICAgJy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVz
b3VyY2UucGhwP3R5cGU9aW1hZ2UmaWQ9Mic6ICdjc3MnLAorICAgICAgICAnL3czYy93ZWJwZXJm
L3Jlc291cmNlcy9BaGVtLnR0Zic6ICdjc3MnLAorICAgICAgICAnL3czYy93ZWJwZXJmL3Jlc291
cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1jc3MmaWQ9bjEnOiAnY3NzJywKKyAgICAg
ICAgJy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9Zm9u
dCZpZD1uMSc6ICdjc3MnLAorICAgICAgICAnL3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0
ZV9yZXNvdXJjZS5waHA/dHlwZT1pbWFnZSZpZD1uMSc6ICdjc3MnLAorICAgICAgICAnL3czYy93
ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1jc3MmaWQ9ZW1iZWQn
OiAnZW1iZWQnLAorICAgICAgICAnL3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNv
dXJjZS5waHA/dHlwZT1pbWFnZSZpZD1pbnB1dCc6ICdpbnB1dCcsCisgICAgICAgICcvdzNjL3dl
YnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPWltYWdlJmlkPW9iamVj
dCc6ICdvYmplY3QnLAorICAgICAgICAnL3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9y
ZXNvdXJjZS5waHA/dHlwZT1pbWFnZSZpZD1wb3N0ZXInOiAndmlkZW8nLAorICAgIH07CisKKyAg
ICB0ZXN0X3Jlc291cmNlX2VudHJpZXMoZW50cmllcywgZXhwZWN0ZWRfZW50cmllcyk7CisgICAg
ZG9uZSgpOworfQorCit3aW5kb3cub25fdGVzdF9ib2R5X2NyZWF0ZWQgPSBjaGVja19maW5pc2hl
ZDsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8aDE+RGVzY3JpcHRpb248L2gxPgorPHA+
VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IGFsbCBvZiB0aGUgaW5pdGlhdG9yIHR5cGVzIGFyZSBy
ZXByZXNlbnRlZC48L3A+Cis8ZGl2IGlkPSJsb2ciPjwvZGl2PgorPGlmcmFtZSBpZD0iZnJhbWVD
b250ZXh0IiBvbmxvYWQ9Im9ubG9hZF90ZXN0KCk7IiBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJj
ZXMvYWxsX3Jlc291cmNlX3R5cGVzLmh0bSIgc3R5bGU9IndpZHRoOiAyNTBweDsgaGVpZ2h0OiAy
NTBweDsiPjwvaWZyYW1lPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1s
L3Rlc3RfcmVzb3VyY2VfcmVkaXJlY3RzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jl
c291cmNlX3JlZGlyZWN0cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTc4OThkMDZlNTkzZGY2
ZGI2NTg1OWE3MzgyZTRhN2NjNjdhNjZiNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90
ZXN0X3Jlc291cmNlX3JlZGlyZWN0cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMiBAQAorRGVz
Y3JpcHRpb24KKworVGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IHJlZGlyZWN0cyBkbyBub3QgYWx0
ZXIgdGhlIFVSTC4KKworCisKK1BBU1MgL3czYy93ZWJwZXJmL3Jlc291cmNlcy9yZWRpcmVjdC5w
aHA/bG9jYXRpb249L3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHAl
M0Z0eXBlPWNzcyBpcyBleHBlY3RlZCB0byBoYXZlIGluaXRpYXRvclR5cGUgbGluayAKK1BBU1Mg
L3czYy93ZWJwZXJmL3Jlc291cmNlcy9yZWRpcmVjdC5waHA/bG9jYXRpb249L3czYy93ZWJwZXJm
L3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHAlM0Z0eXBlPWlmcmFtZSBpcyBleHBlY3Rl
ZCB0byBoYXZlIGluaXRpYXRvclR5cGUgaWZyYW1lIAorUEFTUyAvdzNjL3dlYnBlcmYvcmVzb3Vy
Y2VzL3JlZGlyZWN0LnBocD9sb2NhdGlvbj0vdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRl
X3Jlc291cmNlLnBocCUzRnR5cGU9aWZyYW1lJTI2aWQ9eGhyIGlzIGV4cGVjdGVkIHRvIGhhdmUg
aW5pdGlhdG9yVHlwZSB4bWxodHRwcmVxdWVzdCAKK1BBU1MgL3czYy93ZWJwZXJmL3Jlc291cmNl
cy9yZWRpcmVjdC5waHA/bG9jYXRpb249L3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9y
ZXNvdXJjZS5waHAlM0Z0eXBlPWltYWdlIGlzIGV4cGVjdGVkIHRvIGhhdmUgaW5pdGlhdG9yVHlw
ZSBpbWcgCitQQVNTIC93M2Mvd2VicGVyZi9yZXNvdXJjZXMvcmVkaXJlY3QucGhwP2xvY2F0aW9u
PS93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwJTNGdHlwZT1zY3Jp
cHQgaXMgZXhwZWN0ZWQgdG8gaGF2ZSBpbml0aWF0b3JUeXBlIHNjcmlwdCAKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNl
LXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2VfcmVkaXJlY3RzLmh0bWwgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVz
dF9yZXNvdXJjZV9yZWRpcmVjdHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNThiOGZmMzRkYjYwMjE3YTFj
OTkwMGE1OWMyOWEwM2U5Y2Y5YzZhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3Rf
cmVzb3VyY2VfcmVkaXJlY3RzLmh0bWwKQEAgLTAsMCArMSw0OSBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+Cis8dGl0bGU+UmVzb3Vy
Y2UgVGltaW5nIHJlZGlyZWN0IG5hbWVzPC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRs
ZT0iR29vZ2xlIiBocmVmPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20vIiAvPgorPGxpbmsgcmVsPSJo
ZWxwIiBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9yZXNvdXJjZS10aW1pbmcvI3BlcmZvcm1h
bmNlcmVzb3VyY2V0aW1pbmciLz4KKzxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJj
ZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+Cit2YXIgaWZyYW1l
OworZnVuY3Rpb24gc2V0dXBfaWZyYW1lKCkgeworICAgIHZhciBpZnJhbWVfY29udGVudCA9Cisg
ICAgICAgICc8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii93M2Mvd2VicGVyZi9yZXNvdXJj
ZXMvcmVkaXJlY3QucGhwP2xvY2F0aW9uPS93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVf
cmVzb3VyY2UucGhwJTNGdHlwZT1jc3MiPjwvbGluaz4nICsKKyAgICAgICAgJzxpbWcgc3JjPSIv
dzNjL3dlYnBlcmYvcmVzb3VyY2VzL3JlZGlyZWN0LnBocD9sb2NhdGlvbj0vdzNjL3dlYnBlcmYv
cmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocCUzRnR5cGU9aW1hZ2UiPjwvaW1nPicgKwor
ICAgICAgICAnPGlmcmFtZSBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMvcmVkaXJlY3QucGhw
P2xvY2F0aW9uPS93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwJTNG
dHlwZT1pZnJhbWUiPjwvaWZyYW1lPicgKworICAgICAgICAnPHNjcmlwdCBzcmM9Ii93M2Mvd2Vi
cGVyZi9yZXNvdXJjZXMvcmVkaXJlY3QucGhwP2xvY2F0aW9uPS93M2Mvd2VicGVyZi9yZXNvdXJj
ZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwJTNGdHlwZT1zY3JpcHQiPjwvc2NyJyArICdpcHQ+JyAr
CisgICAgICAgICc8c2NyaXB0PicgKworICAgICAgICAndmFyIHhociA9IG5ldyBYTUxIdHRwUmVx
dWVzdDsnICsKKyAgICAgICAgJ3hoci5vcGVuKCJHRVQiLCAiL3czYy93ZWJwZXJmL3Jlc291cmNl
cy9yZWRpcmVjdC5waHA/bG9jYXRpb249L3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9y
ZXNvdXJjZS5waHAlM0Z0eXBlPWlmcmFtZSUyNmlkPXhociIsIGZhbHNlKTsnICsKKyAgICAgICAg
J3hoci5zZW5kKCk7JyArCisgICAgICAgICc8L3NjcicgKyAnaXB0Pic7CisgICAgaWZyYW1lID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ZyYW1lQ29udGV4dCcpOworICAgIGlmcmFtZS5jb250
ZW50V2luZG93LmRvY3VtZW50LndyaXRlKGlmcmFtZV9jb250ZW50KTsKK30KK2Z1bmN0aW9uIG9u
bG9hZF90ZXN0KCkgeworICAgIHZhciBlbnRyaWVzID0gaWZyYW1lLmNvbnRlbnRXaW5kb3cucGVy
Zm9ybWFuY2Uud2Via2l0R2V0RW50cmllcygpOworCisgICAgdmFyIGV4cGVjdGVkX2VudHJpZXMg
PSB7CisgICAgICAgICcvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL3JlZGlyZWN0LnBocD9sb2NhdGlv
bj0vdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocCUzRnR5cGU9Y3Nz
JzogJ2xpbmsnLAorICAgICAgICAnL3czYy93ZWJwZXJmL3Jlc291cmNlcy9yZWRpcmVjdC5waHA/
bG9jYXRpb249L3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHAlM0Z0
eXBlPWltYWdlJzogJ2ltZycsCisgICAgICAgICcvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL3JlZGly
ZWN0LnBocD9sb2NhdGlvbj0vdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNl
LnBocCUzRnR5cGU9aWZyYW1lJzogJ2lmcmFtZScsCisgICAgICAgICcvdzNjL3dlYnBlcmYvcmVz
b3VyY2VzL3JlZGlyZWN0LnBocD9sb2NhdGlvbj0vdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVy
YXRlX3Jlc291cmNlLnBocCUzRnR5cGU9c2NyaXB0JzogJ3NjcmlwdCcsCisgICAgICAgICcvdzNj
L3dlYnBlcmYvcmVzb3VyY2VzL3JlZGlyZWN0LnBocD9sb2NhdGlvbj0vdzNjL3dlYnBlcmYvcmVz
b3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocCUzRnR5cGU9aWZyYW1lJTI2aWQ9eGhyJzogJ3ht
bGh0dHByZXF1ZXN0JywKKyAgICB9OworCisgICAgdGVzdF9yZXNvdXJjZV9lbnRyaWVzKGVudHJp
ZXMsIGV4cGVjdGVkX2VudHJpZXMpOworfQord2luZG93LnNldHVwX2lmcmFtZSA9IHNldHVwX2lm
cmFtZTsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8aDE+RGVzY3JpcHRpb248L2gxPgor
PHA+VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IHJlZGlyZWN0cyBkbyBub3QgYWx0ZXIgdGhlIFVS
TC48L3A+Cis8ZGl2IGlkPSJsb2ciPjwvZGl2PgorPGlmcmFtZSBpZD0iZnJhbWVDb250ZXh0IiBv
bmxvYWQ9Im9ubG9hZF90ZXN0KCk7IiBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMvaW5qZWN0
X3Jlc291cmNlX3Rlc3QuaHRtbCI+PC9pZnJhbWU+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3Vy
Y2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9yZXBhcmVudGluZy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGlt
aW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9yZXBhcmVudGluZy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZTg1YTc2YjEyZjY0MTEzZTU5OWJkZDJjZWM5YWZkZmQwMDc5ZjI4ZgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNv
dXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX3JlcGFyZW50aW5nLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDggQEAKK0Rlc2NyaXB0aW9uCisKK1RoaXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCBy
ZXBhcmVudGluZyBhbiBlbGVtZW50IGRvZXNuJ3QgY2hhbmdlIHRoZSBpbml0aWF0b3IgZG9jdW1l
bnQuCisKKyAgCisKK1BBU1MgL3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJj
ZS5waHA/dHlwZT1pbWFnZSZpZD1tb3ZlX3RvX3BhcmVudCBpcyBleHBlY3RlZCB0byBoYXZlIGlu
aXRpYXRvclR5cGUgaW1nIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3cz
Yy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9y
ZXBhcmVudGluZy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJt
aXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2VfcmVwYXJlbnRpbmcuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43OTU4NzVkNzk0ZjExNjA3ZGQ2OGJlNjNmNmY2ZGQ0Njc1NmYxYzJkCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJt
aXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2VfcmVwYXJlbnRpbmcuaHRt
bApAQCAtMCwwICsxLDUwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBjaGFyc2V0PSJ1dGYtOCIgLz4KKzx0aXRsZT5SZXNvdXJjZSBUaW1pbmcgcmVwYXJlbnRpbmcg
ZWxlbWVudHM8L3RpdGxlPgorPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJHb29nbGUiIGhyZWY9
Imh0dHA6Ly93d3cuZ29vZ2xlLmNvbS8iIC8+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6
Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRpbWluZy8jZG9tLXBlcmZvcm1hbmNlcmVzb3VyY2V0
aW1pbmctaW5pdGlhdG9ydHlwZSIvPgorPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3czYy93ZWJwZXJmL3Jlc291
cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK3ZhciBpZnJh
bWU7CitmdW5jdGlvbiBzZXR1cF9pZnJhbWUoKSB7CisgICAgaWZyYW1lID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ2ZyYW1lQ29udGV4dCcpOworICAgIHZhciBkID0gaWZyYW1lLmNvbnRlbnRX
aW5kb3cuZG9jdW1lbnQ7CisgICAgdmFyIGlmcmFtZUJvZHkgPSBkLmNyZWF0ZUVsZW1lbnQoJ2Jv
ZHknKTsKKworICAgIHZhciBtb3ZlX3RvX3BhcmVudCA9IGQuY3JlYXRlRWxlbWVudCgiaW1nIik7
CisgICAgbW92ZV90b19wYXJlbnQuc3JjID0gJy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJh
dGVfcmVzb3VyY2UucGhwP3R5cGU9aW1hZ2UmaWQ9bW92ZV90b19wYXJlbnQnOworICAgIGlmcmFt
ZUJvZHkuYXBwZW5kQ2hpbGQobW92ZV90b19wYXJlbnQpOworICAgIGlmcmFtZUJvZHkucmVtb3Zl
Q2hpbGQobW92ZV90b19wYXJlbnQpOworCisgICAgdmFyIHBhcmVudEJvZHkgPSBkb2N1bWVudC5n
ZXRFbGVtZW50c0J5VGFnTmFtZSgnYm9keScpWzBdOworICAgIHBhcmVudEJvZHkuYXBwZW5kQ2hp
bGQobW92ZV90b19wYXJlbnQpOworCisgICAgdmFyIG1vdmVfdG9fY2hpbGQgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJpbWciKTsKKyAgICBtb3ZlX3RvX2NoaWxkLnNyYyA9ICcvdzNjL3dlYnBl
cmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPWltYWdlJmlkPW1vdmVfdG9f
Y2hpbGQnOworICAgIHBhcmVudEJvZHkuYXBwZW5kQ2hpbGQobW92ZV90b19jaGlsZCk7CisgICAg
cGFyZW50Qm9keS5yZW1vdmVDaGlsZChtb3ZlX3RvX2NoaWxkKTsKKyAgICBpZnJhbWVCb2R5LmFw
cGVuZENoaWxkKG1vdmVfdG9fY2hpbGQpOworfQorZnVuY3Rpb24gb25sb2FkX3Rlc3QoKSB7Cisg
ICAgdmFyIGVudHJpZXMgPSBpZnJhbWUuY29udGVudFdpbmRvdy5wZXJmb3JtYW5jZS53ZWJraXRH
ZXRFbnRyaWVzKCk7CisKKyAgICB2YXIgZXhwZWN0ZWRfZW50cmllcyA9IHsKKyAgICAgICAgJy93
M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9aW1hZ2UmaWQ9
bW92ZV90b19wYXJlbnQnOiAnaW1nJywKKyAgICB9OworCisgICAgdGVzdF9yZXNvdXJjZV9lbnRy
aWVzKGVudHJpZXMsIGV4cGVjdGVkX2VudHJpZXMpOworfQord2luZG93LnNldHVwX2lmcmFtZSA9
IHNldHVwX2lmcmFtZTsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8aDE+RGVzY3JpcHRp
b248L2gxPgorPHA+VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IHJlcGFyZW50aW5nIGFuIGVsZW1l
bnQgZG9lc24ndCBjaGFuZ2UgdGhlIGluaXRpYXRvciBkb2N1bWVudC48L3A+Cis8ZGl2IGlkPSJs
b2ciPjwvZGl2PgorPGlmcmFtZSBpZD0iZnJhbWVDb250ZXh0IiBvbmxvYWQ9Im9ubG9hZF90ZXN0
KCk7IiBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMvaW5qZWN0X3Jlc291cmNlX3Rlc3QuaHRt
bCI+PC9pZnJhbWU+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVz
dF9yZXNvdXJjZV9zY3JpcHRfdHlwZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVz
b3VyY2Vfc2NyaXB0X3R5cGVzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNmM2ZjkzODVmNDE5
Y2FiNGQ4OWVkMTA3YTZmOTUxYjhiNjlkNzIwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1s
L3Rlc3RfcmVzb3VyY2Vfc2NyaXB0X3R5cGVzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE2IEBA
CitEZXNjcmlwdGlvbgorCitUaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQgYWxsIG9mIHRoZSBkaWZm
ZXJlbnQgdHlwZXMgb2Ygc2NyaXB0IGxvYWRzIGFyZSByZXBvcnRlZCB3aXRoIHRoZSBjb3JyZWN0
IGluaXRpYXRvci4KKworCisKK1BBU1MgL3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9y
ZXNvdXJjZS5waHA/dHlwZT1zY3JpcHQmaWQ9MSBpcyBleHBlY3RlZCB0byBoYXZlIGluaXRpYXRv
clR5cGUgc2NyaXB0IAorUEFTUyAvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291
cmNlLnBocD90eXBlPXNjcmlwdCZpZD0yIGlzIGV4cGVjdGVkIHRvIGhhdmUgaW5pdGlhdG9yVHlw
ZSBzY3JpcHQgCitQQVNTIC93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2Uu
cGhwP3R5cGU9c2NyaXB0JmlkPTMgaXMgZXhwZWN0ZWQgdG8gaGF2ZSBpbml0aWF0b3JUeXBlIHNj
cmlwdCAKK1BBU1MgL3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/
dHlwZT1zY3JpcHQmaWQ9NCBpcyBleHBlY3RlZCB0byBoYXZlIGluaXRpYXRvclR5cGUgc2NyaXB0
IAorUEFTUyAvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBl
PXNjcmlwdCZpZD01IGlzIGV4cGVjdGVkIHRvIGhhdmUgaW5pdGlhdG9yVHlwZSBzY3JpcHQgCitQ
QVNTIC93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9c2Ny
aXB0JmlkPTYgaXMgZXhwZWN0ZWQgdG8gaGF2ZSBpbml0aWF0b3JUeXBlIHNjcmlwdCAKK1BBU1Mg
L3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1zY3JpcHQm
aWQ9NyBpcyBleHBlY3RlZCB0byBoYXZlIGluaXRpYXRvclR5cGUgc2NyaXB0IAorUEFTUyAvdzNj
L3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPXNjcmlwdCZpZD04
IGlzIGV4cGVjdGVkIHRvIGhhdmUgaW5pdGlhdG9yVHlwZSBzY3JpcHQgCitQQVNTIC93M2Mvd2Vi
cGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9c2NyaXB0JmlkPTkgaXMg
ZXhwZWN0ZWQgdG8gaGF2ZSBpbml0aWF0b3JUeXBlIHNjcmlwdCAKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWlu
Zy9odG1sL3Rlc3RfcmVzb3VyY2Vfc2NyaXB0X3R5cGVzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9y
ZXNvdXJjZV9zY3JpcHRfdHlwZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MDAzOWJiM2UyN2VhNjBiOTNi
YTA4MTBiNjY4YzY1YmI3YWJmMDMxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3Rf
cmVzb3VyY2Vfc2NyaXB0X3R5cGVzLmh0bWwKQEAgLTAsMCArMSw2NiBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+Cis8dGl0bGU+UmVz
b3VyY2UgVGltaW5nIHNjcmlwdCBpbml0aWF0b3IgdHlwZXM8L3RpdGxlPgorPGxpbmsgcmVsPSJh
dXRob3IiIHRpdGxlPSJHb29nbGUiIGhyZWY9Imh0dHA6Ly93d3cuZ29vZ2xlLmNvbS8iIC8+Cis8
bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRpbWlu
Zy8jZG9tLXBlcmZvcm1hbmNlcmVzb3VyY2V0aW1pbmctaW5pdGlhdG9ydHlwZSIvPgorPHNjcmlw
dCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgorPHNjcmlwdD4KK3ZhciBpZnJhbWU7CitmdW5jdGlvbiBzZXR1cF9pZnJhbWUoKSB7
CisgICAgdmFyIGlmcmFtZV9jb250ZW50ID0KKyAgICAgICAgJzxzY3JpcHQgc3JjPSIvdzNjL3dl
YnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPXNjcmlwdCZpZD0xIj48
L3NjcicgKyAnaXB0PicgKworICAgICAgICAnPHNjcmlwdCBzcmM9Ii93M2Mvd2VicGVyZi9yZXNv
dXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9c2NyaXB0JmlkPTIiIGFzeW5jPjwvc2Ny
JyArICdpcHQ+JyArCisgICAgICAgICc8c2NyaXB0IHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNl
cy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1zY3JpcHQmaWQ9MyIgYXN5bmM9ZmFsc2U+PC9z
Y3InICsgJ2lwdD4nICsKKyAgICAgICAgJzxzY3JpcHQgc3JjPSIvdzNjL3dlYnBlcmYvcmVzb3Vy
Y2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPXNjcmlwdCZpZD00IiBkZWZlcj48L3Njcicg
KyAnaXB0PicgKworICAgICAgICAnPHNjcmlwdD4nICsKKyAgICAgICAgJ2RvY3VtZW50LndyaXRl
KCI8c2NyaXB0IHNyYz1cXCIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNl
LnBocD90eXBlPXNjcmlwdCZpZD01XFwiPjwvc2NyIiArICJpcHQ+Iik7JyArCisgICAgICAgICd2
YXIgczEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTsnICsKKyAgICAgICAgJ3Mx
LnNyYyA9ICIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBl
PXNjcmlwdCZpZD02IjsnICsKKyAgICAgICAgJ2RvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1l
KCJoZWFkIilbMF0uYXBwZW5kQ2hpbGQoczEpOycgKworICAgICAgICAndmFyIHMyID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7JyArCisgICAgICAgICdzMi5zcmMgPSAiL3czYy93
ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1zY3JpcHQmaWQ9NyI7
JyArCisgICAgICAgICdzMi5hc3luYyA9IHRydWU7JyArCisgICAgICAgICdkb2N1bWVudC5nZXRF
bGVtZW50c0J5VGFnTmFtZSgiaGVhZCIpWzBdLmFwcGVuZENoaWxkKHMyKTsnICsKKyAgICAgICAg
J3ZhciBzMyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpOycgKworICAgICAgICAn
czMuc3JjID0gIi93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5
cGU9c2NyaXB0JmlkPTgiOycgKworICAgICAgICAnczMuYXN5bmMgPSBmYWxzZTsnICsKKyAgICAg
ICAgJ2RvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF0uYXBwZW5kQ2hpbGQo
czMpOycgKworICAgICAgICAndmFyIHM0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0
Iik7JyArCisgICAgICAgICdzNC5zcmMgPSAiL3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0
ZV9yZXNvdXJjZS5waHA/dHlwZT1zY3JpcHQmaWQ9OSI7JyArCisgICAgICAgICdzNC5kZWZlciA9
IHRydWU7JyArCisgICAgICAgICdkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVhZCIp
WzBdLmFwcGVuZENoaWxkKHM0KTsnICsKKyAgICAgICAgJzwvc2NyJyArICdpcHQ+JzsKKyAgICBp
ZnJhbWUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZnJhbWVDb250ZXh0Jyk7CisgICAgaWZy
YW1lLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQud3JpdGUoaWZyYW1lX2NvbnRlbnQpOworfQorZnVu
Y3Rpb24gb25sb2FkX3Rlc3QoKSB7CisgICAgdmFyIGVudHJpZXMgPSBpZnJhbWUuY29udGVudFdp
bmRvdy5wZXJmb3JtYW5jZS53ZWJraXRHZXRFbnRyaWVzKCk7CisKKyAgICB2YXIgZXhwZWN0ZWRf
ZW50cmllcyA9IHsKKyAgICAgICAgJy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVz
b3VyY2UucGhwP3R5cGU9c2NyaXB0JmlkPTEnOiAnc2NyaXB0JywKKyAgICAgICAgJy93M2Mvd2Vi
cGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9c2NyaXB0JmlkPTInOiAn
c2NyaXB0JywKKyAgICAgICAgJy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3Vy
Y2UucGhwP3R5cGU9c2NyaXB0JmlkPTMnOiAnc2NyaXB0JywKKyAgICAgICAgJy93M2Mvd2VicGVy
Zi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9c2NyaXB0JmlkPTQnOiAnc2Ny
aXB0JywKKyAgICAgICAgJy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2Uu
cGhwP3R5cGU9c2NyaXB0JmlkPTUnOiAnc2NyaXB0JywKKyAgICAgICAgJy93M2Mvd2VicGVyZi9y
ZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9c2NyaXB0JmlkPTYnOiAnc2NyaXB0
JywKKyAgICAgICAgJy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhw
P3R5cGU9c2NyaXB0JmlkPTcnOiAnc2NyaXB0JywKKyAgICAgICAgJy93M2Mvd2VicGVyZi9yZXNv
dXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9c2NyaXB0JmlkPTgnOiAnc2NyaXB0JywK
KyAgICAgICAgJy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5
cGU9c2NyaXB0JmlkPTknOiAnc2NyaXB0JywKKyAgICB9OworCisgICAgdGVzdF9yZXNvdXJjZV9l
bnRyaWVzKGVudHJpZXMsIGV4cGVjdGVkX2VudHJpZXMpOworfQord2luZG93LnNldHVwX2lmcmFt
ZSA9IHNldHVwX2lmcmFtZTsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8aDE+RGVzY3Jp
cHRpb248L2gxPgorPHA+VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IGFsbCBvZiB0aGUgZGlmZmVy
ZW50IHR5cGVzIG9mIHNjcmlwdCBsb2FkcyBhcmUgcmVwb3J0ZWQgd2l0aCB0aGUgY29ycmVjdCBp
bml0aWF0b3IuPC9wCis8ZGl2IGlkPSJsb2ciPjwvZGl2PgorPGlmcmFtZSBpZD0iZnJhbWVDb250
ZXh0IiBvbmxvYWQ9Im9ubG9hZF90ZXN0KCk7IiBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMv
aW5qZWN0X3Jlc291cmNlX3Rlc3QuaHRtbCI+PC9pZnJhbWU+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25z
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucwppbmRleCA2
ODcxMGQ5NTMxZmM2Mjg4YmNjZGM0ZTk1Y2IxMWIzOGE5NzU3Yjc5Li41ZDU4NjM4YjM0ODc3OTgw
YzI1ODYxYWI5MDYyZjRkNWNmMmM5NGRlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTM3ODksMyArMzc4OSw2IEBAIHdlYmtpdC5vcmcv
Yi85NTEyMSBmYXN0L2JvcmRlcnMvYm9yZGVyLWltYWdlLXNpZGUtcmVkdWN0aW9uLmh0bWwgWyBJ
bWFnZU9ubHlGYWlsCiAjIGZhaWxpbmcgYWZ0ZXIgcjEzMDQ0MyBidXQgd2UncmUgbm90IHN1cmUg
aWYgdGhpcyBpcyBhIHJlYWwgYnVnIG9yIGp1c3QgbmVlZHMgcmViYXNlbGluaW5nCiB3ZWJraXQu
b3JnL2IvOTg1NDUgWyBNYWMgXSBmYXN0L3RleHQvaW50ZXJuYXRpb25hbC90ZXh0LXNwbGljZWQt
Zm9udC5odG1sIFsgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvOTg1NDUgWyBNYWMgXSBmYXN0L3dy
aXRpbmctbW9kZS9LdXNhLU1ha3VyYS1iYWNrZ3JvdW5kLWNhbnZhcy5odG1sIFsgRmFpbHVyZSBd
CisKKyMgRmFpbHMgdW50aWwgd2UgZW5hYmxlIHRoZSBSZXNvdXJjZSBUaW1pbmcgQVBJLgorIyB3
ZWJraXQub3JnL2IvNjExMzggaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291
cmNlLXRpbWluZyBbIFNraXAgXQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>168811</attachid>
            <date>2012-10-15 17:21:41 -0700</date>
            <delta_ts>2012-12-03 14:22:13 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-84883-20121015172031.patch</filename>
            <type>text/plain</type>
            <size>208496</size>
            <attacher name="James Simonsen">simonjam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMxMzgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWE0Zjc5NjE3OTU5ZGE4
NTU2ZDYzOTliNzg3ZmI0ZmNmZGViOGQyNC4uNjUxYTI5NTcwM2JhYWJkZDFiMjkzNjRiZjMxODJh
ZGFkZjdlZThkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2MyBAQAorMjAxMi0xMC0wOSAgSmFt
ZXMgU2ltb25zZW4gIDxzaW1vbmphbUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW1Jlc291cmNl
IFRpbWluZ10gRXhwb3NlIHRpbWluZyBpbmZvcm1hdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODQ4ODMKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBOb3RlOiBTdGFydCByZXZpZXdpbmcgaW4gdGhlIGxv
YWRlci8gZGlyZWN0b3J5LgorCisgICAgICAgIEFkZGVkIGEgTG9hZEluaXRpYXRvciBpbnRlcmZh
Y2UgdGhhdCBtdXN0IGJlIHBhc3NlZCBpbiB3aGVuZXZlciBhIHJlc291cmNlIGlzIHJlcXVlc3Rl
ZC4gSXQncworICAgICAgICB0eXBpY2FsbHkgdGhlIG5vZGUgdGhhdCBpbml0aWF0ZWQgdGhlIGxv
YWQuIFRoZSBMb2FkSW5pdGlhdG9yIHBhc3NlcyB0aGUgZG9jdW1lbnQgYW5kIG5hbWUgb2YKKyAg
ICAgICAgdGhlIGluaXRpYXRvci4KKworICAgICAgICBUaGUgYnVmZmVyIGlzIHBvcHVsYXRlZCBl
dmVuIGlmIHRoZSBsb2FkIHRpbWUgaW5mb3JtYXRpb24gaXMgbWlzc2luZy4gVGhpcyBhbGxvd3Mg
dGVzdGluZyBmcm9tCisgICAgICAgIERSVC4KKworICAgICAgICBUZXN0czogaHR0cC90ZXN0cy93
M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2Vf
YXR0cmlidXRlX29yZGVyLmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvdzNjL3dlYnBl
cmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX2R5bmFtaWNf
aW5zZXJ0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3Vi
bWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX2ZyYW1lX2luaXRpYXRv
cl90eXBlLmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlz
c2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX2luaXRpYXRvcl90eXBlcy5o
dG1sCisgICAgICAgICAgICAgICBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVz
b3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9yZWRpcmVjdHMuaHRtbAorICAgICAgICAg
ICAgICAgaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9o
dG1sL3Rlc3RfcmVzb3VyY2VfcmVwYXJlbnRpbmcuaHRtbAorICAgICAgICAgICAgICAgaHR0cC90
ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVz
b3VyY2Vfc2NyaXB0X3R5cGVzLmh0bWwKKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAg
ICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogVGFyZ2V0LnByaToKKyAgICAg
ICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3By
b2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAg
ICAqIGNzcy9DU1NGb250RmFjZVNyY1ZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU0Zv
bnRGYWNlU3JjVmFsdWU6OmNhY2hlZEZvbnQpOgorICAgICAgICAqIGNzcy9DU1NJbWFnZVNldFZh
bHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ltYWdlU2V0VmFsdWU6OmNhY2hlZEltYWdl
U2V0KToKKyAgICAgICAgKiBjc3MvQ1NTSW1hZ2VWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpDU1NJbWFnZVZhbHVlOjpjYWNoZWRJbWFnZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NJbWFn
ZVZhbHVlOjpzZXRJbml0aWF0b3IpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogY3Nz
L0NTU0ltYWdlVmFsdWUuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoQ1NTSW1hZ2VW
YWx1ZSk6CisgICAgICAgICogY3NzL0NTU0xvYWRJbml0aWF0b3IuY3BwOiBVc2VkIGJ5IGFsbCBD
U1MgaW5pdGlhdG9ycy4KKyAgICAgICAgKFdlYkNvcmU6OkNTU0xvYWRJbml0aWF0b3I6OkNTU0xv
YWRJbml0aWF0b3IpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTTG9hZEluaXRpYXRvcjo6aW5pdGlh
dG9yTmFtZSk6CisgICAgICAgICogY3NzL0NTU0xvYWRJbml0aWF0b3IuaDoKKyAgICAgICAgKFdU
Rik6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKENTU0xvYWRJbml0aWF0b3IpOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTTG9hZEluaXRpYXRvcjo6aW5pdGlhdG9yRG9jdW1lbnQpOgorICAg
ICAgICAqIGNzcy9TdHlsZVJ1bGVJbXBvcnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVS
dWxlSW1wb3J0OjpyZXF1ZXN0U3R5bGVTaGVldCk6CisgICAgICAgICogY3NzL1dlYktpdENTU1NW
R0RvY3VtZW50VmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViS2l0Q1NTU1ZHRG9jdW1l
bnRWYWx1ZTo6bG9hZCk6CisgICAgICAgICogY3NzL1dlYktpdENTU1NoYWRlclZhbHVlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OldlYktpdENTU1NoYWRlclZhbHVlOjpjYWNoZWRTaGFkZXIpOgor
ICAgICAgICAqIGRvbS9Ob2RlTG9hZEluaXRpYXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpO
b2RlTG9hZEluaXRpYXRvcjo6Tm9kZUxvYWRJbml0aWF0b3IpOgorICAgICAgICAoV2ViQ29yZTo6
Tm9kZUxvYWRJbml0aWF0b3I6OmluaXRpYXRvck5hbWUpOgorICAgICAgICAoV2ViQ29yZTo6Tm9k
ZUxvYWRJbml0aWF0b3I6OmluaXRpYXRvckRvY3VtZW50KToKKyAgICAgICAgKiBkb20vTm9kZUxv
YWRJbml0aWF0b3IuaDoKKyAgICAgICAgKFdURik6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAg
ICAgKE5vZGVMb2FkSW5pdGlhdG9yKToKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGVMb2FkSW5pdGlh
dG9yOjp+Tm9kZUxvYWRJbml0aWF0b3IpOgorICAgICAgICAqIGRvbS9Qcm9jZXNzaW5nSW5zdHJ1
Y3Rpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UHJvY2Vzc2luZ0luc3RydWN0aW9uOjpjaGVj
a1N0eWxlU2hlZXQpOgorICAgICAgICAqIGRvbS9TY3JpcHRFbGVtZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlNjcmlwdEVsZW1lbnQ6OnJlcXVlc3RTY3JpcHQpOgorICAgICAgICAqIGh0bWwv
SFRNTEJvZHlFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxCb2R5RWxlbWVudDo6
Y29sbGVjdFN0eWxlRm9yQXR0cmlidXRlKToKKyAgICAgICAgKiBodG1sL0hUTUxMaW5rRWxlbWVu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTGlua0VsZW1lbnQ6OnByb2Nlc3MpOgorICAg
ICAgICAqIGh0bWwvSFRNTExpbmtFbGVtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTGlu
a0VsZW1lbnQ6OmluaXRpYXRvck5vZGUpOgorICAgICAgICAqIGh0bWwvcGFyc2VyL0NTU1ByZWxv
YWRTY2FubmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ByZWxvYWRTY2FubmVyOjplbWl0
UnVsZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmVsb2FkU2Nhbm5lcjo6aW5pdGlhdG9yTmFt
ZSk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBodG1sL3BhcnNlci9DU1NQcmVsb2Fk
U2Nhbm5lci5oOgorICAgICAgICAoQ1NTUHJlbG9hZFNjYW5uZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTUHJlbG9hZFNjYW5uZXI6OmluaXRpYXRvckRvY3VtZW50KToKKyAgICAgICAgKiBodG1s
L3BhcnNlci9IVE1MUHJlbG9hZFNjYW5uZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UHJlbG9h
ZFRhc2s6OlByZWxvYWRUYXNrKToKKyAgICAgICAgKFdlYkNvcmU6OlByZWxvYWRUYXNrOjpwcmVs
b2FkKToKKyAgICAgICAgKFdlYkNvcmU6OlByZWxvYWRUYXNrOjppbml0aWF0b3JOYW1lKToKKyAg
ICAgICAgKFdlYkNvcmU6OlByZWxvYWRUYXNrOjppbml0aWF0b3JEb2N1bWVudCk6CisgICAgICAg
IChQcmVsb2FkVGFzayk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MUHJlbG9hZFNjYW5uZXI6OnBy
b2Nlc3NUb2tlbik6CisgICAgICAgICogaHRtbC90cmFjay9Mb2FkYWJsZVRleHRUcmFjay5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpMb2FkYWJsZVRleHRUcmFjazo6aW5pdGlhdG9yTm9kZSk6Cisg
ICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBodG1sL3RyYWNrL0xvYWRhYmxlVGV4dFRyYWNr
Lmg6CisgICAgICAgIChMb2FkYWJsZVRleHRUcmFja0NsaWVudCk6CisgICAgICAgIChMb2FkYWJs
ZVRleHRUcmFjayk6CisgICAgICAgICogbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudFRocmVhZGFibGVMb2FkZXI6OmxvYWRSZXNv
dXJjZVN5bmNocm9ub3VzbHkpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRUaHJlYWRhYmxl
TG9hZGVyOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRUaHJlYWRhYmxlTG9h
ZGVyOjpEb2N1bWVudFRocmVhZGFibGVMb2FkZXIpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1l
bnRUaHJlYWRhYmxlTG9hZGVyOjpub3RpZnlGaW5pc2hlZCk6CisgICAgICAgIChXZWJDb3JlOjpE
b2N1bWVudFRocmVhZGFibGVMb2FkZXI6OmxvYWRSZXF1ZXN0KToKKyAgICAgICAgKiBsb2FkZXIv
RG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAg
KERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcik6CisgICAgICAgICogbG9hZGVyL0ltYWdlTG9hZGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlTG9hZGVyOjp1cGRhdGVGcm9tRWxlbWVudCk6
CisgICAgICAgICogbG9hZGVyL0xpbmtMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGlu
a0xvYWRlcjo6bG9hZExpbmspOgorICAgICAgICAqIGxvYWRlci9MaW5rTG9hZGVyQ2xpZW50Lmg6
CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKExpbmtMb2FkZXJDbGllbnQpOgorICAgICAg
ICAqIGxvYWRlci9Mb2FkSW5pdGlhdG9yLmg6CisgICAgICAgIChXVEYpOgorICAgICAgICAoV2Vi
Q29yZSk6CisgICAgICAgIChXZWJDb3JlOjpMb2FkSW5pdGlhdG9yOjp+TG9hZEluaXRpYXRvcik6
CisgICAgICAgIChMb2FkSW5pdGlhdG9yKToKKyAgICAgICAgKiBsb2FkZXIvTG9hZEluaXRpYXRv
ckhhbmRsZS5jcHA6IFNhdmVzIExvYWRJbml0aWF0b3IgZGF0YSB1bnRpbCB0aGUgbG9hZCBjb21w
bGV0ZXMuCisgICAgICAgIChXZWJDb3JlOjpMb2FkSW5pdGlhdG9ySGFuZGxlOjpMb2FkSW5pdGlh
dG9ySGFuZGxlKToKKyAgICAgICAgKFdlYkNvcmU6OkxvYWRJbml0aWF0b3JIYW5kbGU6OmNsZWFy
KToKKyAgICAgICAgKiBsb2FkZXIvTG9hZEluaXRpYXRvckhhbmRsZS5oOgorICAgICAgICAoTG9h
ZEluaXRpYXRvckhhbmRsZSk6CisgICAgICAgIChXZWJDb3JlOjpMb2FkSW5pdGlhdG9ySGFuZGxl
Ojppbml0aWF0b3JOYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OkxvYWRJbml0aWF0b3JIYW5kbGU6
OmluaXRpYXRvckRvY3VtZW50KToKKyAgICAgICAgKiBsb2FkZXIvTWFpblJlc291cmNlTG9hZGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1haW5SZXNvdXJjZUxvYWRlcjo6ZGlkRmluaXNoTG9h
ZGluZyk6CisgICAgICAgICogbG9hZGVyL051bGxMb2FkSW5pdGlhdG9yLmNwcDogRGVmYXVsdCBM
b2FkSW5pdGl0b3IgdXNlZCBpZiBubyBpbmZvcm1hdGlvbiBpcyBhdmFpbGFibGUuCisgICAgICAg
IChXZWJDb3JlOjpOdWxsTG9hZEluaXRpYXRvcjo6aW5zdGFuY2UpOgorICAgICAgICAqIGxvYWRl
ci9OdWxsTG9hZEluaXRpYXRvci5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChOdWxs
TG9hZEluaXRpYXRvcik6CisgICAgICAgIChXZWJDb3JlOjpOdWxsTG9hZEluaXRpYXRvcjo6aW5p
dGlhdG9yTmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpOdWxsTG9hZEluaXRpYXRvcjo6aW5pdGlh
dG9yRG9jdW1lbnQpOgorICAgICAgICAqIGxvYWRlci9SZXNvdXJjZUxvYWROb3RpZmllci5jcHA6
IENvbGxlY3QgdGltaW5nIGluZm8gZm9yIHN1YnJlc291cmNlcyB3aGVuIFJFU09VUkNFX1RJTUlO
RyBpcyBlbmFibGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkTm90aWZpZXI6OmRp
c3BhdGNoV2lsbFNlbmRSZXF1ZXN0KToKKyAgICAgICAgKiBsb2FkZXIvUmVzb3VyY2VMb2FkZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkZXI6OndpbGxTZW5kUmVxdWVzdCk6
IEtlZXAgdHJhY2sgb2YgdGhlIG9yaWdpbmFsIHJlcXVlc3QgZXZlbiB3aGVuIGNhbGxlZCBieSBN
YWluUmVzb3VyY2VMb2FkZXIsIHdoaWNoIGJ5cGFzc2VzIGluaXQoKS4KKyAgICAgICAgKiBsb2Fk
ZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3VicmVzb3VyY2VM
b2FkZXI6OndpbGxTZW5kUmVxdWVzdCk6CisgICAgICAgIChXZWJDb3JlOjpTdWJyZXNvdXJjZUxv
YWRlcjo6ZGlkUmVjZWl2ZVJlc3BvbnNlKToKKyAgICAgICAgKFdlYkNvcmU6OlN1YnJlc291cmNl
TG9hZGVyOjpzZW5kRGF0YVRvUmVzb3VyY2UpOgorICAgICAgICAoV2ViQ29yZTo6U3VicmVzb3Vy
Y2VMb2FkZXI6OmRpZEZpbmlzaExvYWRpbmcpOiBQb3B1bGF0ZSBSZXNvdXJjZSBUaW1pbmcgYnVm
ZmVyIGhlcmUuCisgICAgICAgICogbG9hZGVyL1RleHRUcmFja0xvYWRlci5jcHA6CisgICAgICAg
IChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRUcmFja0xvYWRlcjo6Y3VlTG9hZFRp
bWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6VGV4dFRyYWNrTG9hZGVyOjpwcm9jZXNzTmV3
Q3VlRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpUZXh0VHJhY2tMb2FkZXI6OmRpZFJlY2VpdmVE
YXRhKToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRUcmFja0xvYWRlcjo6bm90aWZ5RmluaXNoZWQp
OgorICAgICAgICAoV2ViQ29yZTo6VGV4dFRyYWNrTG9hZGVyOjpsb2FkKToKKyAgICAgICAgKiBs
b2FkZXIvVGV4dFRyYWNrTG9hZGVyLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFRl
eHRUcmFja0xvYWRlckNsaWVudCk6CisgICAgICAgICogbG9hZGVyL1RocmVhZGFibGVMb2FkZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6VGhyZWFkYWJsZUxvYWRlcjo6Y3JlYXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6OlRocmVhZGFibGVMb2FkZXI6OmxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkp
OgorICAgICAgICAqIGxvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmg6CisgICAgICAgIChXZWJDb3Jl
KToKKyAgICAgICAgKFdlYkNvcmU6OlRocmVhZGFibGVMb2FkZXJPcHRpb25zOjpUaHJlYWRhYmxl
TG9hZGVyT3B0aW9ucyk6CisgICAgICAgIChUaHJlYWRhYmxlTG9hZGVyT3B0aW9ucyk6CisgICAg
ICAgIChUaHJlYWRhYmxlTG9hZGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlRocmVhZGFibGVMb2Fk
ZXI6OnJlZik6CisgICAgICAgIChXZWJDb3JlOjpUaHJlYWRhYmxlTG9hZGVyOjpkZXJlZik6Cisg
ICAgICAgIChXZWJDb3JlOjpUaHJlYWRhYmxlTG9hZGVyOjpUaHJlYWRhYmxlTG9hZGVyKToKKyAg
ICAgICAgKFdlYkNvcmU6OlRocmVhZGFibGVMb2FkZXI6On5UaHJlYWRhYmxlTG9hZGVyKToKKyAg
ICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwOgorICAgICAgICAoV2ViQ29y
ZSk6CisgICAgICAgIChXZWJDb3JlOjpjYWNoZWRSZXNvdXJjZVR5cGVUb1RhcmdldFR5cGUpOgor
ICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OmxvYWQpOgorICAgICAgICAoV2ViQ29y
ZTo6Q2FjaGVkUmVzb3VyY2U6OmRhdGEpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3Vy
Y2U6OmZpbmlzaCk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZTo6c3RvcExvYWRp
bmcpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OnNldERlY29kZWRTaXplKToK
KyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlOjpzZXRFbmNvZGVkU2l6ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZTo6ZGlkQWNjZXNzRGVjb2RlZERhdGEpOgorICAg
ICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OnNldFJlc291cmNlVG9SZXZhbGlkYXRlKToK
KyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlOjpjbGVhclJlc291cmNlVG9SZXZhbGlk
YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlOjptdXN0UmV2YWxpZGF0ZUR1
ZVRvQ2FjaGVIZWFkZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlOjppc1Nh
ZmVUb01ha2VQdXJnZWFibGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6Om1h
a2VQdXJnZWFibGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OnNldExvYWRQ
cmlvcml0eSk6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmg6CisgICAg
ICAgIChDYWNoZWRSZXNvdXJjZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZTo6
cmVzb3VyY2VSZXF1ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlOjp1cmwp
OgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OnNldEluaXRpYXRvcik6IFRyYWNr
IHRoaXMgZm9yIHRoZSBsaWZlIG9mIHRoZSBsb2FkLgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVk
UmVzb3VyY2U6OmluaXRpYXRvcik6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291
cmNlTG9hZGVyLmNwcDogUGFzcyB0aGUgaW5pdGlhdG9yIHRocm91Z2guCisgICAgICAgIChXZWJD
b3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdEltYWdlKToKKyAgICAgICAgKFdlYkNv
cmU6OkNhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0Rm9udCk6CisgICAgICAgIChXZWJDb3Jl
OjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFRleHRUcmFjayk6CisgICAgICAgIChXZWJD
b3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFNoYWRlcik6CisgICAgICAgIChXZWJD
b3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdENTU1N0eWxlU2hlZXQpOgorICAgICAg
ICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RVc2VyQ1NTU3R5bGVTaGVl
dCk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFNjcmlw
dCk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFhTTFN0
eWxlU2hlZXQpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVl
c3RTVkdEb2N1bWVudCk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6
cmVxdWVzdExpbmtSZXNvdXJjZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxv
YWRlcjo6cmVxdWVzdFJhd1Jlc291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291
cmNlTG9hZGVyOjpyZXF1ZXN0UmVzb3VyY2UpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVz
b3VyY2VMb2FkZXI6OnJldmFsaWRhdGVSZXNvdXJjZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWNo
ZWRSZXNvdXJjZUxvYWRlcjo6bG9hZFJlc291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hl
ZFJlc291cmNlTG9hZGVyOjpkZXRlcm1pbmVSZXZhbGlkYXRpb25Qb2xpY3kpOgorICAgICAgICAo
V2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cHJlbG9h
ZCk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6Y2hlY2tGb3JQZW5k
aW5nUHJlbG9hZHMpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJl
cXVlc3RQcmVsb2FkKToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2Fk
ZXIuaDoKKyAgICAgICAgKENhY2hlZFJlc291cmNlTG9hZGVyKToKKyAgICAgICAgKFBlbmRpbmdQ
cmVsb2FkKToKKyAgICAgICAgKiBsb2FkZXIvaWNvbi9JY29uTG9hZGVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6Okljb25Mb2FkZXI6OnN0YXJ0TG9hZGluZyk6CisgICAgICAgIChXZWJDb3JlOjpJ
Y29uTG9hZGVyOjppbml0aWF0b3JOYW1lKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAo
V2ViQ29yZTo6SWNvbkxvYWRlcjo6aW5pdGlhdG9yRG9jdW1lbnQpOgorICAgICAgICAqIGxvYWRl
ci9pY29uL0ljb25Mb2FkZXIuaDoKKyAgICAgICAgKEljb25Mb2FkZXIpOgorICAgICAgICAqIHBh
Z2UvUGVyZm9ybWFuY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OmFkZFJl
c291cmNlVGltaW5nKToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlLmg6CisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKFBlcmZvcm1hbmNlKToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1h
bmNlUmVzb3VyY2VUaW1pbmcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VSZXNv
dXJjZVRpbWluZzo6UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyk6CisgICAgICAgIChXZWJDb3Jl
OjpQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjppbml0aWF0b3JUeXBlKTogUmV0dXJucyB0aGUg
cHJvcGVyIHZhbHVlIG5vdy4KKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VU
aW1pbmc6OmZldGNoU3RhcnQpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VSZXNvdXJj
ZVRpbWluZzo6ZG9tYWluTG9va3VwU3RhcnQpOiBSZXR1cm5zIHByZXZpb3VzIHZhbHVlIGlmIG5v
dGhpbmcgaXMgYXZhaWxhYmxlLgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VSZXNvdXJj
ZVRpbWluZzo6ZG9tYWluTG9va3VwRW5kKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNl
UmVzb3VyY2VUaW1pbmc6OmNvbm5lY3RTdGFydCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3Jt
YW5jZVJlc291cmNlVGltaW5nOjpjb25uZWN0RW5kKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZv
cm1hbmNlUmVzb3VyY2VUaW1pbmc6OnNlY3VyZUNvbm5lY3Rpb25TdGFydCk6CisgICAgICAgIChX
ZWJDb3JlOjpQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpyZXF1ZXN0U3RhcnQpOgorICAgICAg
ICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6cmVzcG9uc2VTdGFydCk6Cisg
ICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpyZXNwb25zZUVuZCk6
CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjptb25vdG9uaWNU
aW1lVG9Eb2N1bWVudE1pbGxpc2Vjb25kcyk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5j
ZVJlc291cmNlVGltaW5nOjpyZXNvdXJjZVRpbWVUb0RvY3VtZW50TWlsbGlzZWNvbmRzKToKKyAg
ICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaDoKKyAgICAgICAgKFdlYkNv
cmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmNyZWF0ZSk6CisgICAgICAgIChQZXJmb3Jt
YW5jZVJlc291cmNlVGltaW5nKToKKyAgICAgICAgKiBzdmcvU1ZHRkVJbWFnZUVsZW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6U1ZHRkVJbWFnZUVsZW1lbnQ6OnJlcXVlc3RJbWFnZVJlc291
cmNlKToKKyAgICAgICAgKiBzdmcvU1ZHRm9udEZhY2VVcmlFbGVtZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlNWR0ZvbnRGYWNlVXJpRWxlbWVudDo6bG9hZEZvbnQpOgorICAgICAgICAqIHN2
Zy9TVkdVc2VFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1VzZUVsZW1lbnQ6OnN2
Z0F0dHJpYnV0ZUNoYW5nZWQpOgorICAgICAgICAqIHhtbC9YTUxIdHRwUmVxdWVzdC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpYTUxIdHRwUmVxdWVzdDo6Y3JlYXRlUmVxdWVzdCk6CisgICAgICAg
IChXZWJDb3JlOjpYTUxIdHRwUmVxdWVzdDo6Z2V0UmVzcG9uc2VIZWFkZXIpOgorICAgICAgICAo
V2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6OmluaXRpYXRvck5hbWUpOgorICAgICAgICAoV2ViQ29y
ZSk6CisgICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0Lmg6CisgICAgICAgIChYTUxIdHRwUmVx
dWVzdCk6CisgICAgICAgIChXZWJDb3JlOjpYTUxIdHRwUmVxdWVzdDo6aW5pdGlhdG9yRG9jdW1l
bnQpOgorICAgICAgICAqIHhtbC9YU0xJbXBvcnRSdWxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlhTTEltcG9ydFJ1bGU6On5YU0xJbXBvcnRSdWxlKToKKyAgICAgICAgKFdlYkNvcmU6OlhTTElt
cG9ydFJ1bGU6OnNldFhTTFN0eWxlU2hlZXQpOgorICAgICAgICAoV2ViQ29yZTo6WFNMSW1wb3J0
UnVsZTo6bG9hZFNoZWV0KToKKyAgICAgICAgKFdlYkNvcmU6OlhTTEltcG9ydFJ1bGU6OmluaXRp
YXRvck5hbWUpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogeG1sL1hTTEltcG9ydFJ1
bGUuaDoKKyAgICAgICAgKFhTTEltcG9ydFJ1bGUpOgorICAgICAgICAoV2ViQ29yZTo6WFNMSW1w
b3J0UnVsZTo6aW5pdGlhdG9yRG9jdW1lbnQpOgorCiAyMDEyLTEwLTE1ICBUb255IENoYW5nICA8
dG9ueUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjEz
MTM2Ny4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNl
L1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggYWZmNGY5ZDlkNDY0Yjg2NjU0M2IxZGZiYjBj
NzQ3NDY4ZDVjODk2Zi4uMjY2Yjk3YzlkYWZmNDg4MTJmMWZhNWQwY2I5ZDc3NDUzYmVkZGRmYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dl
YkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTEwMzcsNiArMTAzNyw3IEBAIFNFVChXZWJDb3JlX1NP
VVJDRVMKICAgICBjc3MvQ1NTSW5oZXJpdGVkVmFsdWUuY3BwCiAgICAgY3NzL0NTU0luaXRpYWxW
YWx1ZS5jcHAKICAgICBjc3MvQ1NTTGluZUJveENvbnRhaW5WYWx1ZS5jcHAKKyAgICBjc3MvQ1NT
TG9hZEluaXRpYXRvci5jcHAKICAgICBjc3MvQ1NTTWVkaWFSdWxlLmNwcAogICAgIGNzcy9DU1NP
TVV0aWxzLmNwcAogICAgIGNzcy9DU1NQYWdlUnVsZS5jcHAKQEAgLTExODksNiArMTE5MCw3IEBA
IFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBkb20vTm9kZUZpbHRlckNvbmRpdGlvbi5jcHAKICAg
ICBkb20vTm9kZUZpbHRlci5jcHAKICAgICBkb20vTm9kZUl0ZXJhdG9yLmNwcAorICAgIGRvbS9O
b2RlTG9hZEluaXRpYXRvci5jcHAKICAgICBkb20vTm9kZVJlbmRlcmluZ0NvbnRleHQuY3BwCiAg
ICAgZG9tL05vdGF0aW9uLmNwcAogICAgIGRvbS9PdmVyZmxvd0V2ZW50LmNwcApAQCAtMTYzMyw4
ICsxNjM1LDEwIEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBsb2FkZXIvSGlzdG9yeUNvbnRy
b2xsZXIuY3BwCiAgICAgbG9hZGVyL0ltYWdlTG9hZGVyLmNwcAogICAgIGxvYWRlci9MaW5rTG9h
ZGVyLmNwcAorICAgIGxvYWRlci9Mb2FkSW5pdGlhdG9ySGFuZGxlLmNwcAogICAgIGxvYWRlci9N
YWluUmVzb3VyY2VMb2FkZXIuY3BwCiAgICAgbG9hZGVyL05hdmlnYXRpb25BY3Rpb24uY3BwCisg
ICAgbG9hZGVyL051bGxMb2FkSW5pdGlhdG9yLmNwcAogICAgIGxvYWRlci9OZXRzY2FwZVBsdWdJ
blN0cmVhbUxvYWRlci5jcHAKICAgICBsb2FkZXIvUGluZ0xvYWRlci5jcHAKICAgICBsb2FkZXIv
UGxhY2Vob2xkZXJEb2N1bWVudC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1h
a2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4
IGM0NWY1YzY4YWJkZGY0ZGE5YjZhYmI3NzFkNTQ4MjQxNGQwYzY0M2QuLmM5ZTUwMzM2ZmRkZjM5
YjllNGI1ZjE4ZGRkOGQ5YjM4ZTU2MjU0MGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dO
VW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5h
bQpAQCAtMjU0Myw2ICsyNTQzLDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTSW5pdGlhbFZhbHVlLmggXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NMaW5l
Qm94Q29udGFpblZhbHVlLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvY3NzL0NTU0xpbmVCb3hDb250
YWluVmFsdWUuaCBcCisJU291cmNlL1dlYkNvcmUvY3NzL0NTU0xvYWRJbml0aWF0b3IuY3BwIFwK
KwlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTG9hZEluaXRpYXRvci5oIFwKIAlTb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTTWVkaWFSdWxlLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvY3NzL0NTU01lZGlhUnVs
ZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTT01VdGlscy5jcHAgXApAQCAtMjg3Nyw2ICsy
ODc5LDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vTm9kZUl0
ZXJhdG9yLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL05vZGVJdGVyYXRvci5oIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9kb20vTm9kZUxpc3QuaCBcCisJU291cmNlL1dlYkNvcmUvZG9tL05vZGVMb2Fk
SW5pdGlhdG9yLmNwcCBcCisJU291cmNlL1dlYkNvcmUvZG9tL05vZGVMb2FkSW5pdGlhdG9yLmgg
XAogCVNvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlUmFyZURhdGEuaCBcCiAJU291cmNlL1dlYkNvcmUv
ZG9tL05vZGVSZW5kZXJpbmdDb250ZXh0LmggXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlUmVu
ZGVyU3R5bGUuaCBcCkBAIC0zODk4LDEyICszOTAyLDE3IEBAIHdlYmNvcmVfc291cmNlcyArPSBc
CiAJU291cmNlL1dlYkNvcmUvbG9hZGVyL0xpbmtMb2FkZXIuaCBcCiAJU291cmNlL1dlYkNvcmUv
bG9hZGVyL0xpbmtMb2FkZXIuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9sb2FkZXIvTGlua0xvYWRl
ckNsaWVudC5oIFwKKwlTb3VyY2UvV2ViQ29yZS9sb2FkZXIvTG9hZEluaXRpYXRvci5oIFwKKwlT
b3VyY2UvV2ViQ29yZS9sb2FkZXIvTG9hZEluaXRpYXRvckhhbmRsZS5jcHAgXAorCVNvdXJjZS9X
ZWJDb3JlL2xvYWRlci9Mb2FkSW5pdGlhdG9ySGFuZGxlLmggXAogCVNvdXJjZS9XZWJDb3JlL2xv
YWRlci9NYWluUmVzb3VyY2VMb2FkZXIuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9sb2FkZXIvTWFp
blJlc291cmNlTG9hZGVyLmggXAogCVNvdXJjZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uQWN0
aW9uLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25BY3Rpb24uaCBcCiAJ
U291cmNlL1dlYkNvcmUvbG9hZGVyL05ldHNjYXBlUGx1Z0luU3RyZWFtTG9hZGVyLmNwcCBcCiAJ
U291cmNlL1dlYkNvcmUvbG9hZGVyL05ldHNjYXBlUGx1Z0luU3RyZWFtTG9hZGVyLmggXAorCVNv
dXJjZS9XZWJDb3JlL2xvYWRlci9OdWxsTG9hZEluaXRpYXRvci5jcHAgXAorCVNvdXJjZS9XZWJD
b3JlL2xvYWRlci9OdWxsTG9hZEluaXRpYXRvci5oIFwKIAlTb3VyY2UvV2ViQ29yZS9sb2FkZXIv
UGluZ0xvYWRlci5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2xvYWRlci9QaW5nTG9hZGVyLmggXAog
CVNvdXJjZS9XZWJDb3JlL2xvYWRlci9QbGFjZWhvbGRlckRvY3VtZW50LmNwcCBcCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnBy
aQppbmRleCA4ZmFlYjgwYzRjYTc2MTRlNDI2NjM3MDQ2YTFiMDkwOTA2YjI0ZTZlLi5kZDIyMDk1
OTM5MmU1OTc1OWU5ODFiMzI2MGQyYjg5MjNhM2EwYzNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9UYXJnZXQucHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKQEAgLTI3OCw2
ICsyNzgsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBjc3MvQ1NTSW5oZXJpdGVkVmFsdWUuY3BwIFwK
ICAgICBjc3MvQ1NTSW5pdGlhbFZhbHVlLmNwcCBcCiAgICAgY3NzL0NTU0xpbmVCb3hDb250YWlu
VmFsdWUuY3BwIFwKKyAgICBjc3MvQ1NTTG9hZEluaXRpYXRvci5jcHAgXAogICAgIGNzcy9DU1NN
ZWRpYVJ1bGUuY3BwIFwKICAgICBjc3MvQ1NTT01VdGlscy5jcHAgXAogICAgIGNzcy9DU1NQYWdl
UnVsZS5jcHAgXApAQCAtNDI2LDYgKzQyNyw3IEBAIFNPVVJDRVMgKz0gXAogICAgIGRvbS9Ob2Rl
RmlsdGVyQ29uZGl0aW9uLmNwcCBcCiAgICAgZG9tL05vZGVGaWx0ZXIuY3BwIFwKICAgICBkb20v
Tm9kZUl0ZXJhdG9yLmNwcCBcCisgICAgZG9tL05vZGVMb2FkSW5pdGlhdG9yLmNwcCBcCiAgICAg
ZG9tL05vZGVSZW5kZXJpbmdDb250ZXh0LmNwcCBcCiAgICAgZG9tL05vdGF0aW9uLmNwcCBcCiAg
ICAgZG9tL1N0YXRpY0hhc2hTZXROb2RlTGlzdC5jcHAgXApAQCAtODMyLDkgKzgzNCwxMSBAQCBT
T1VSQ0VTICs9IFwKICAgICBsb2FkZXIvaWNvbi9JY29uTG9hZGVyLmNwcCBcCiAgICAgbG9hZGVy
L0ltYWdlTG9hZGVyLmNwcCBcCiAgICAgbG9hZGVyL0xpbmtMb2FkZXIuY3BwIFwKKyAgICBsb2Fk
ZXIvTG9hZEluaXRpYXRvckhhbmRsZS5jcHAgXAogICAgIGxvYWRlci9NYWluUmVzb3VyY2VMb2Fk
ZXIuY3BwIFwKICAgICBsb2FkZXIvTmF2aWdhdGlvbkFjdGlvbi5jcHAgXAogICAgIGxvYWRlci9O
ZXRzY2FwZVBsdWdJblN0cmVhbUxvYWRlci5jcHAgXAorICAgIGxvYWRlci9OdWxsTG9hZEluaXRp
YXRvci5jcHAgXAogICAgIGxvYWRlci9QaW5nTG9hZGVyLmNwcCBcCiAgICAgbG9hZGVyL1BsYWNl
aG9sZGVyRG9jdW1lbnQuY3BwIFwKICAgICBsb2FkZXIvUG9saWN5Q2FsbGJhY2suY3BwIFwKQEAg
LTE0NDYsNiArMTQ1MCw3IEBAIEhFQURFUlMgKz0gXAogICAgIGNzcy9DU1NJbXBvcnRSdWxlLmgg
XAogICAgIGNzcy9DU1NJbmhlcml0ZWRWYWx1ZS5oIFwKICAgICBjc3MvQ1NTSW5pdGlhbFZhbHVl
LmggXAorICAgIGNzcy9DU1NMb2FkSW5pdGlhdG9yLmggXAogICAgIGNzcy9DU1NNZWRpYVJ1bGUu
aCBcCiAgICAgY3NzL0NTU09NVXRpbHMuaCBcCiAgICAgY3NzL0NTU1BhZ2VSdWxlLmggXApAQCAt
MTU4OCw2ICsxNTkzLDcgQEAgSEVBREVSUyArPSBcCiAgICAgZG9tL05vZGVGaWx0ZXIuaCBcCiAg
ICAgZG9tL05vZGUuaCBcCiAgICAgZG9tL05vZGVJdGVyYXRvci5oIFwKKyAgICBkb20vTm9kZUxv
YWRJbml0aWF0b3IuaCBcCiAgICAgZG9tL05vZGVSZW5kZXJpbmdDb250ZXh0LmggXAogICAgIGRv
bS9Ob3RhdGlvbi5oIFwKICAgICBkb20vU3RhdGljSGFzaFNldE5vZGVMaXN0LmggXApAQCAtMTk1
Nyw5ICsxOTYzLDEyIEBAIEhFQURFUlMgKz0gXAogICAgIGxvYWRlci9JbWFnZUxvYWRlci5oIFwK
ICAgICBsb2FkZXIvTGlua0xvYWRlci5oIFwKICAgICBsb2FkZXIvTGlua0xvYWRlckNsaWVudC5o
IFwKKyAgICBsb2FkZXIvTG9hZEluaXRpYXRvci5oIFwKKyAgICBsb2FkZXIvTG9hZEluaXRpYXRv
ckhhbmRsZS5oIFwKICAgICBsb2FkZXIvTWFpblJlc291cmNlTG9hZGVyLmggXAogICAgIGxvYWRl
ci9OYXZpZ2F0aW9uQWN0aW9uLmggXAogICAgIGxvYWRlci9OZXRzY2FwZVBsdWdJblN0cmVhbUxv
YWRlci5oIFwKKyAgICBsb2FkZXIvTnVsbExvYWRJbml0aWF0b3IuaCBcCiAgICAgbG9hZGVyL1Bs
YWNlaG9sZGVyRG9jdW1lbnQuaCBcCiAgICAgbG9hZGVyL1ByZXJlbmRlcmVyLmggXAogICAgIGxv
YWRlci9QcmVyZW5kZXJlckNsaWVudC5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCAxZWM3ZGQ4Y2Rm
YTE0NjQ2OTU1ZDYyNDQwYTZiYzc2Njc2N2NmNDg5Li45ODNiY2ZhZTRlYTk3ZDljZTgyYTdlNmVm
YTNiMzA1MzRjZTY1ODNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkK
KysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0yNTUyLDYgKzI1NTIsOCBAQAog
ICAgICAgICAgICAgJ2Nzcy9DU1NJbml0aWFsVmFsdWUuY3BwJywKICAgICAgICAgICAgICdjc3Mv
Q1NTSW5pdGlhbFZhbHVlLmgnLAogICAgICAgICAgICAgJ2Nzcy9DU1NMaW5lQm94Q29udGFpblZh
bHVlLmNwcCcsCisgICAgICAgICAgICAnY3NzL0NTU0xvYWRJbml0aWF0b3IuY3BwJywKKyAgICAg
ICAgICAgICdjc3MvQ1NTTG9hZEluaXRpYXRvci5oJywKICAgICAgICAgICAgICdjc3MvQ1NTTWVk
aWFSdWxlLmNwcCcsCiAgICAgICAgICAgICAnY3NzL0NTU01lZGlhUnVsZS5oJywKICAgICAgICAg
ICAgICdjc3MvQ1NTT01VdGlscy5jcHAnLApAQCAtMjk5MSwxMSArMjk5MywxNiBAQAogICAgICAg
ICAgICAgJ2xvYWRlci9MaW5rTG9hZGVyLmNwcCcsCiAgICAgICAgICAgICAnbG9hZGVyL0xpbmtM
b2FkZXIuaCcsCiAgICAgICAgICAgICAnbG9hZGVyL0xpbmtMb2FkZXJDbGllbnQuaCcsCisgICAg
ICAgICAgICAnbG9hZGVyL0xvYWRJbml0aWF0b3IuaCcsCisgICAgICAgICAgICAnbG9hZGVyL0xv
YWRJbml0aWF0b3JIYW5kbGUuY3BwJywKKyAgICAgICAgICAgICdsb2FkZXIvTG9hZEluaXRpYXRv
ckhhbmRsZS5oJywKICAgICAgICAgICAgICdsb2FkZXIvTWFpblJlc291cmNlTG9hZGVyLmNwcCcs
CiAgICAgICAgICAgICAnbG9hZGVyL01haW5SZXNvdXJjZUxvYWRlci5oJywKICAgICAgICAgICAg
ICdsb2FkZXIvTmF2aWdhdGlvbkFjdGlvbi5jcHAnLAogICAgICAgICAgICAgJ2xvYWRlci9OYXZp
Z2F0aW9uU2NoZWR1bGVyLmNwcCcsCiAgICAgICAgICAgICAnbG9hZGVyL05ldHNjYXBlUGx1Z0lu
U3RyZWFtTG9hZGVyLmNwcCcsCisgICAgICAgICAgICAnbG9hZGVyL051bGxMb2FkSW5pdGlhdG9y
LmNwcCcsCisgICAgICAgICAgICAnbG9hZGVyL051bGxMb2FkSW5pdGlhdG9yLmgnLAogICAgICAg
ICAgICAgJ2xvYWRlci9QaW5nTG9hZGVyLmNwcCcsCiAgICAgICAgICAgICAnbG9hZGVyL1BpbmdM
b2FkZXIuaCcsCiAgICAgICAgICAgICAnbG9hZGVyL1BsYWNlaG9sZGVyRG9jdW1lbnQuY3BwJywK
QEAgLTM5MTAsNiArMzkxNyw4IEBACiAgICAgICAgICAgICAnZG9tL05vZGVGaWx0ZXJDb25kaXRp
b24uaCcsCiAgICAgICAgICAgICAnZG9tL05vZGVJdGVyYXRvci5jcHAnLAogICAgICAgICAgICAg
J2RvbS9Ob2RlSXRlcmF0b3IuaCcsCisgICAgICAgICAgICAnZG9tL05vZGVMb2FkSW5pdGlhdG9y
LmNwcCcsCisgICAgICAgICAgICAnZG9tL05vZGVMb2FkSW5pdGlhdG9yLmgnLAogICAgICAgICAg
ICAgJ2RvbS9Ob2RlUmFyZURhdGEuaCcsCiAgICAgICAgICAgICAnZG9tL05vZGVSZW5kZXJpbmdD
b250ZXh0LmNwcCcsCiAgICAgICAgICAgICAnZG9tL05vZGVSZW5kZXJpbmdDb250ZXh0LmgnLApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2og
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCBiMWM4
MzBjN2RiNGM0ZDUyY2E3MjVkYWI4OTFmMDc0ODIwNzU1ZDEwLi5hNTE5YzlkZTI0MTNjMTExOTAw
YTZhMTVlYTU3YTYzZWEzNDAzZWI5IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJv
ai9XZWJDb3JlLnZjcHJvagpAQCAtMjc2MDcsNiArMjc2MDcsMTggQEAKIAkJCQk+CiAJCQk8L0Zp
bGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cbG9hZGVyXExvYWRJbml0aWF0b3Iu
aCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cbG9h
ZGVyXExvYWRJbml0aWF0b3JIYW5kbGUuY3BwIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxl
CisJCQkJUmVsYXRpdmVQYXRoPSIuLlxsb2FkZXJcTG9hZEluaXRpYXRvckhhbmRsZS5oIgorCQkJ
CT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxsb2FkZXJcTWFp
blJlc291cmNlTG9hZGVyLmNwcCIKIAkJCQk+CiAJCQk8L0ZpbGU+CkBAIC0yNzYzOSw2ICsyNzY1
MSwxNCBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIu
Llxsb2FkZXJcTnVsbExvYWRJbml0aWF0b3IuY3BwIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxG
aWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxsb2FkZXJcTnVsbExvYWRJbml0aWF0b3IuaCIKKwkJ
CQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cbG9hZGVyXFBp
bmdMb2FkZXIuY3BwIgogCQkJCT4KIAkJCTwvRmlsZT4KQEAgLTM2MjE5LDYgKzM2MjM5LDE0IEBA
CiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGNzc1xD
U1NMb2FkSW5pdGlhdG9yLmNwcCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJl
bGF0aXZlUGF0aD0iLi5cY3NzXENTU0xvYWRJbml0aWF0b3IuaCIKKwkJCQk+CisJCQk8L0ZpbGU+
CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cY3NzXENTU01lZGlhUnVsZS5jcHAiCiAJ
CQkJPgogCQkJCTxGaWxlQ29uZmlndXJhdGlvbgpAQCAtNTI5MzksNiArNTI5NjcsMTQgQEAKIAkJ
CQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXE5vZGVM
b2FkSW5pdGlhdG9yLmNwcCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0
aXZlUGF0aD0iLi5cZG9tXE5vZGVMb2FkSW5pdGlhdG9yLmgiCisJCQkJPgorCQkJPC9GaWxlPgor
CQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxOb2RlUmVuZGVyaW5nQ29udGV4dC5j
cHAiCiAJCQkJPgogCQkJCTxGaWxlQ29uZmlndXJhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDg3ZWM4MGYxZmU2Mjg1NWY2
MDkxM2Q3MTE4NWI0ZGMwNGJmZTgwNTQuLmQ1NGQxYmY4NWUyZThmNmUyMzc0ZWU2MGIwOWY2MzRm
N2JkODVhNTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKQEAgLTI5NjYsNyArMjk2NiwxNiBAQAogCQk4NkJFMzQwMTE1MDU4Q0IyMDBD
RTBGRDggLyogUGVyZm9ybWFuY2VFbnRyeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gODZCRTMzRkIxNTA1OENCMjAwQ0UwRkQ4IC8qIFBlcmZvcm1hbmNl
RW50cnkuaCAqLzsgfTsKIAkJODZCRTM0MDMxNTA1OENCMjAwQ0UwRkQ4IC8qIFBlcmZvcm1hbmNl
RW50cnlMaXN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDg2QkUzM0ZEMTUwNThDQjIwMENFMEZEOCAvKiBQZXJmb3JtYW5jZUVudHJ5TGlzdC5jcHAg
Ki87IH07CiAJCTg2QkUzNDA0MTUwNThDQjIwMENFMEZEOCAvKiBQZXJmb3JtYW5jZUVudHJ5TGlz
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODZCRTMz
RkUxNTA1OENCMjAwQ0UwRkQ4IC8qIFBlcmZvcm1hbmNlRW50cnlMaXN0LmggKi87IH07CisJCTg2
QzBDNzREMTYyNEUyNUYwMDU3MEEzRSAvKiBOb2RlTG9hZEluaXRpYXRvci5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NkMwQzc0QjE2MjRFMjVGMDA1
NzBBM0UgLyogTm9kZUxvYWRJbml0aWF0b3IuY3BwICovOyB9OworCQk4NkMwQzc0RTE2MjRFMjVG
MDA1NzBBM0UgLyogTm9kZUxvYWRJbml0aWF0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2QzBDNzRDMTYyNEUyNUYwMDU3MEEzRSAvKiBOb2RlTG9h
ZEluaXRpYXRvci5oICovOyB9OwogCQk4NkQ5ODJGNzEyNUMxNTQwMDBBRDlFM0QgLyogRG9jdW1l
bnRUaW1pbmcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDg2RDk4MkY2MTI1QzE1NDAwMEFEOUUzRCAvKiBEb2N1bWVudFRpbWluZy5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTg2RkVERjAwMTYxQjlFNUYw
MDJBMjQxOSAvKiBMb2FkSW5pdGlhdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA4Njg2QzhGRjE2MUI5ODFFMDBDMkYwQUUgLyogTG9hZEluaXRpYXRv
ci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTg2
RkVERjAxMTYxQjlFNUYwMDJBMjQxOSAvKiBMb2FkSW5pdGlhdG9ySGFuZGxlLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2ODZDOTAwMTYxQjk4MUUw
MEMyRjBBRSAvKiBMb2FkSW5pdGlhdG9ySGFuZGxlLmNwcCAqLzsgfTsKKwkJODZGRURGMDIxNjFC
OUU1RjAwMkEyNDE5IC8qIExvYWRJbml0aWF0b3JIYW5kbGUuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2ODZDOTAxMTYxQjk4MUUwMEMyRjBBRSAvKiBM
b2FkSW5pdGlhdG9ySGFuZGxlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKKwkJODZGRURGMDMxNjFCOUU2OTAwMkEyNDE5IC8qIE51bGxMb2FkSW5pdGlh
dG9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2
ODZDOTAyMTYxQjk4MUUwMEMyRjBBRSAvKiBOdWxsTG9hZEluaXRpYXRvci5jcHAgKi87IH07CisJ
CTg2RkVERjA0MTYxQjlFNjkwMDJBMjQxOSAvKiBOdWxsTG9hZEluaXRpYXRvci5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODY4NkM5MDMxNjFCOTgxRTAw
QzJGMEFFIC8qIE51bGxMb2FkSW5pdGlhdG9yLmggKi87IH07CisJCTg2RkVERjA1MTYxQjlFOEQw
MDJBMjQxOSAvKiBDU1NMb2FkSW5pdGlhdG9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2ODZDOEZEMTYxQjk3RjYwMEMyRjBBRSAvKiBDU1NMb2Fk
SW5pdGlhdG9yLmNwcCAqLzsgfTsKKwkJODZGRURGMDYxNjFCOUU4RDAwMkEyNDE5IC8qIENTU0xv
YWRJbml0aWF0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDg2ODZDOEZFMTYxQjk3RjYwMEMyRjBBRSAvKiBDU1NMb2FkSW5pdGlhdG9yLmggKi87IH07
CiAJCTg2RkY4ODYxMTVERTNEMDcwMEJENkIyOCAvKiBSZW5kZXJUZXh0VHJhY2tDdWUuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODZGRjg4NUUxNURF
M0I4MjAwQkQ2QjI4IC8qIFJlbmRlclRleHRUcmFja0N1ZS5jcHAgKi87IH07CiAJCTg2RkY4ODYy
MTVERTNEMDcwMEJENkIyOCAvKiBSZW5kZXJUZXh0VHJhY2tDdWUuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2RkY4ODVGMTVERTNCODIwMEJENkIyOCAv
KiBSZW5kZXJUZXh0VHJhY2tDdWUuaCAqLzsgfTsKIAkJODkwQUUwRTExMjU2QTA3OTAwRjU5NjhD
IC8qIERpcmVjdG9yeVJlYWRlckJhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDg5MEFFMEUwMTI1NkEwNzkwMEY1OTY4QyAvKiBEaXJlY3RvcnlSZWFk
ZXJCYXNlLmggKi87IH07CkBAIC0xMDE0OSwxMiArMTAxNTgsMjEgQEAKIAkJODY1MTJFREIxNTRB
MkFFRTAwQTkwNDI2IC8qIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg2NTEyRURDMTU0QTJBRUYwMEE5MDQyNiAv
KiBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJODY1MTJFREQxNTRBMkFFRjAwQTkwNDI2IC8qIFBlcmZvcm1hbmNlUmVzb3VyY2VU
aW1pbmcuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1p
bmcuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4Njg2QzhGRDE2MUI5N0Y2MDBD
MkYwQUUgLyogQ1NTTG9hZEluaXRpYXRvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBDU1NMb2FkSW5pdGlhdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJODY4NkM4RkUxNjFCOTdGNjAwQzJGMEFFIC8qIENTU0xvYWRJbml0aWF0b3IuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ1NTTG9hZEluaXRpYXRvci5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk4Njg2QzhGRjE2MUI5ODFFMDBDMkYwQUUgLyogTG9hZElu
aXRpYXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMb2FkSW5pdGlhdG9y
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg2ODZDOTAwMTYxQjk4MUUwMEMyRjBB
RSAvKiBMb2FkSW5pdGlhdG9ySGFuZGxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IExvYWRJbml0aWF0b3JIYW5kbGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk4Njg2QzkwMTE2MUI5ODFFMDBDMkYwQUUgLyogTG9hZEluaXRpYXRvckhhbmRsZS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMb2FkSW5pdGlhdG9ySGFuZGxlLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg2ODZDOTAyMTYxQjk4MUUwMEMyRjBBRSAv
KiBOdWxsTG9hZEluaXRpYXRvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBOdWxsTG9hZEluaXRpYXRvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTg2ODZDOTAzMTYxQjk4MUUwMEMyRjBBRSAvKiBOdWxsTG9hZEluaXRpYXRvci5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOdWxsTG9hZEluaXRpYXRvci5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk4NkJFMzNGQTE1MDU4Q0IyMDBDRTBGRDggLyogUGVyZm9ybWFu
Y2VFbnRyeS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQZXJmb3Jt
YW5jZUVudHJ5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODZCRTMzRkIxNTA1
OENCMjAwQ0UwRkQ4IC8qIFBlcmZvcm1hbmNlRW50cnkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gUGVyZm9ybWFuY2VFbnRyeS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk4NkJFMzNGQzE1MDU4Q0IyMDBDRTBGRDggLyogUGVyZm9ybWFuY2VFbnRyeS5pZGwgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSB0ZXh0OyBwYXRoID0gUGVyZm9ybWFuY2VFbnRyeS5pZGw7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTg2QkUzM0ZEMTUwNThDQjIwMENFMEZEOCAvKiBQZXJmb3JtYW5jZUVu
dHJ5TGlzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQZXJmb3Jt
YW5jZUVudHJ5TGlzdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg2QkUzM0ZF
MTUwNThDQjIwMENFMEZEOCAvKiBQZXJmb3JtYW5jZUVudHJ5TGlzdC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBQZXJmb3JtYW5jZUVudHJ5TGlzdC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk4NkJFMzNGRjE1MDU4Q0IyMDBDRTBGRDggLyogUGVyZm9ybWFuY2VF
bnRyeUxpc3QuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFBlcmZvcm1hbmNlRW50cnlMaXN0
LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODZDMEM3NEIxNjI0RTI1RjAwNTcw
QTNFIC8qIE5vZGVMb2FkSW5pdGlhdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IE5vZGVMb2FkSW5pdGlhdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJODZDMEM3NEMxNjI0RTI1RjAwNTcwQTNFIC8qIE5vZGVMb2FkSW5pdGlhdG9yLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5vZGVMb2FkSW5pdGlhdG9yLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg2RDk4MkY2MTI1QzE1NDAwMEFEOUUzRCAvKiBEb2N1
bWVudFRpbWluZy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEb2N1bWVudFRp
bWluZy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NkZGODg1RTE1REUzQjgyMDBC
RDZCMjggLyogUmVuZGVyVGV4dFRyYWNrQ3VlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IFJlbmRlclRleHRUcmFja0N1ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTg2RkY4ODVGMTVERTNCODIwMEJENkIyOCAvKiBSZW5kZXJUZXh0VHJhY2tDdWUu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVuZGVyVGV4dFRyYWNrQ3VlLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMDY2NCw2ICsyMDY4Miw5IEBACiAJCQkJ
OThDRTQzMjUxMjlFMDBCRDAwNTgyMURDIC8qIExpbmtMb2FkZXIuY3BwICovLAogCQkJCTk4Q0U0
MzI5MTI5RTAwRTUwMDU4MjFEQyAvKiBMaW5rTG9hZGVyLmggKi8sCiAJCQkJOTg0MjY0RUYxMkQ1
MjgwQTAwMEQ4OEE0IC8qIExpbmtMb2FkZXJDbGllbnQuaCAqLywKKwkJCQk4Njg2QzhGRjE2MUI5
ODFFMDBDMkYwQUUgLyogTG9hZEluaXRpYXRvci5oICovLAorCQkJCTg2ODZDOTAwMTYxQjk4MUUw
MEMyRjBBRSAvKiBMb2FkSW5pdGlhdG9ySGFuZGxlLmNwcCAqLywKKwkJCQk4Njg2QzkwMTE2MUI5
ODFFMDBDMkYwQUUgLyogTG9hZEluaXRpYXRvckhhbmRsZS5oICovLAogCQkJCTkzRTIyN0RDMEFG
NTg5QUQwMEQ0ODMyNCAvKiBNYWluUmVzb3VyY2VMb2FkZXIuY3BwICovLAogCQkJCTY1NkQzNzI5
MEFEQkE1REUwMEE0NTU0RCAvKiBNYWluUmVzb3VyY2VMb2FkZXIuaCAqLywKIAkJCQk5M0NDRjA1
RjBBRjZDQTc2MDAwMThFODkgLyogTmF2aWdhdGlvbkFjdGlvbi5jcHAgKi8sCkBAIC0yMDY3Miw2
ICsyMDY5Myw4IEBACiAJCQkJOTc5RjQzRDIxMDc1RTQ0QTAwMDBGODNCIC8qIE5hdmlnYXRpb25T
Y2hlZHVsZXIuaCAqLywKIAkJCQk5M0UyMjdERDBBRjU4OUFEMDBENDgzMjQgLyogTmV0c2NhcGVQ
bHVnSW5TdHJlYW1Mb2FkZXIuY3BwICovLAogCQkJCTY1NkQzNzJCMEFEQkE1REUwMEE0NTU0RCAv
KiBOZXRzY2FwZVBsdWdJblN0cmVhbUxvYWRlci5oICovLAorCQkJCTg2ODZDOTAyMTYxQjk4MUUw
MEMyRjBBRSAvKiBOdWxsTG9hZEluaXRpYXRvci5jcHAgKi8sCisJCQkJODY4NkM5MDMxNjFCOTgx
RTAwQzJGMEFFIC8qIE51bGxMb2FkSW5pdGlhdG9yLmggKi8sCiAJCQkJRDBGRjJBNUIxMUY4QzQ1
QTAwN0U3NEUwIC8qIFBpbmdMb2FkZXIuY3BwICovLAogCQkJCUQwRkYyQTVDMTFGOEM0NUEwMDdF
NzRFMCAvKiBQaW5nTG9hZGVyLmggKi8sCiAJCQkJMzc3QzRDREUxMDE0RTlGNjAwQjlBRTQyIC8q
IFBsYWNlaG9sZGVyRG9jdW1lbnQuY3BwICovLApAQCAtMjExNjMsNiArMjExODYsOCBAQAogCQkJ
CUE4MEU2Q0RFMEExOTg5Q0EwMDdGQjhDNSAvKiBDU1NJbml0aWFsVmFsdWUuaCAqLywKIAkJCQlC
Qzc3MkUxNTEzMzE2MkMyMDAxRUM5Q0UgLyogQ1NTTGluZUJveENvbnRhaW5WYWx1ZS5jcHAgKi8s
CiAJCQkJQkM3NzJFMTIxMzMxNjIwQzAwMUVDOUNFIC8qIENTU0xpbmVCb3hDb250YWluVmFsdWUu
aCAqLywKKwkJCQk4Njg2QzhGRDE2MUI5N0Y2MDBDMkYwQUUgLyogQ1NTTG9hZEluaXRpYXRvci5j
cHAgKi8sCisJCQkJODY4NkM4RkUxNjFCOTdGNjAwQzJGMEFFIC8qIENTU0xvYWRJbml0aWF0b3Iu
aCAqLywKIAkJCQlBODBFNkNEMjBBMTk4OUNBMDA3RkI4QzUgLyogQ1NTTWVkaWFSdWxlLmNwcCAq
LywKIAkJCQlBODBFNkNEOTBBMTk4OUNBMDA3RkI4QzUgLyogQ1NTTWVkaWFSdWxlLmggKi8sCiAJ
CQkJODVDNTZDQTIwQUE4OUMxMDAwRDk1NzU1IC8qIENTU01lZGlhUnVsZS5pZGwgKi8sCkBAIC0y
MTg0Miw2ICsyMTg2Nyw4IEBACiAJCQkJMUE3NTBEODcwQTkwRTM5NDAwMEZGMjE1IC8qIE5vZGVJ
dGVyYXRvci5pZGwgKi8sCiAJCQkJQTgxODcyMTAwOTc3RDNDMDAwNTgyNkQ5IC8qIE5vZGVMaXN0
LmggKi8sCiAJCQkJODVBQ0E5RkEwQTlCNjMxMDAwNjcxRTkwIC8qIE5vZGVMaXN0LmlkbCAqLywK
KwkJCQk4NkMwQzc0QjE2MjRFMjVGMDA1NzBBM0UgLyogTm9kZUxvYWRJbml0aWF0b3IuY3BwICov
LAorCQkJCTg2QzBDNzRDMTYyNEUyNUYwMDU3MEEzRSAvKiBOb2RlTG9hZEluaXRpYXRvci5oICov
LAogCQkJCTYzMTg5QUUyMEU4M0EzMzMwMDAxMkU0MSAvKiBOb2RlUmFyZURhdGEuaCAqLywKIAkJ
CQlBN0Y1RDk0RDEzODRGMDJEMDBBMjlBODcgLyogTm9kZVJlbmRlcmluZ0NvbnRleHQuY3BwICov
LAogCQkJCUE3RjVEOTRFMTM4NEYwMkQwMEEyOUE4NyAvKiBOb2RlUmVuZGVyaW5nQ29udGV4dC5o
ICovLApAQCAtMjU1OTgsNiArMjU2MjUsMTEgQEAKIAkJCQk1MTRCQzg0MzE2MUNGMDVDMDA0RDUy
RjQgLyogUmVzb3VyY2VCdWZmZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTU3MjhCRDlFMTYyNTM2
OTYwMEM0MEI1NiAvKiBTaWJsaW5nVHJhdmVyc2FsU3RyYXRlZ2llcy5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJOTM5MUE5OTExNjI3NDZDQjAwMjk3MzMwIC8qIFNjcm9sbGluZ0Nvb3JkaW5hdG9yTWFj
LmggaW4gSGVhZGVycyAqLywKKwkJCQk4NkZFREYwMDE2MUI5RTVGMDAyQTI0MTkgLyogTG9hZElu
aXRpYXRvci5oIGluIEhlYWRlcnMgKi8sCisJCQkJODZGRURGMDIxNjFCOUU1RjAwMkEyNDE5IC8q
IExvYWRJbml0aWF0b3JIYW5kbGUuaCBpbiBIZWFkZXJzICovLAorCQkJCTg2RkVERjA0MTYxQjlF
NjkwMDJBMjQxOSAvKiBOdWxsTG9hZEluaXRpYXRvci5oIGluIEhlYWRlcnMgKi8sCisJCQkJODZG
RURGMDYxNjFCOUU4RDAwMkEyNDE5IC8qIENTU0xvYWRJbml0aWF0b3IuaCBpbiBIZWFkZXJzICov
LAorCQkJCTg2QzBDNzRFMTYyNEUyNUYwMDU3MEEzRSAvKiBOb2RlTG9hZEluaXRpYXRvci5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2lu
ZyA9IDA7CiAJCX07CkBAIC0yODcwMiw2ICsyODczNCwxMCBAQAogCQkJCTMxOTU1QTg2MTYwRDE5
OTAwMDg1ODAyNSAvKiBSZW5kZXJTbmFwc2hvdHRlZFBsdWdJbi5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQk1MTRCQzgzRjE2MUNGMDRBMDA0RDUyRjQgLyogUmVzb3VyY2VCdWZmZXIubW0gaW4gU291
cmNlcyAqLywKIAkJCQk1MTRCQzg0MjE2MUNGMDVDMDA0RDUyRjQgLyogUmVzb3VyY2VCdWZmZXIu
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJODZGRURGMDExNjFCOUU1RjAwMkEyNDE5IC8qIExvYWRJ
bml0aWF0b3JIYW5kbGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJODZGRURGMDMxNjFCOUU2OTAw
MkEyNDE5IC8qIE51bGxMb2FkSW5pdGlhdG9yLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTg2RkVE
RjA1MTYxQjlFOEQwMDJBMjQxOSAvKiBDU1NMb2FkSW5pdGlhdG9yLmNwcCBpbiBTb3VyY2VzICov
LAorCQkJCTg2QzBDNzREMTYyNEUyNUYwMDU3MEEzRSAvKiBOb2RlTG9hZEluaXRpYXRvci5jcHAg
aW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNz
aW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFj
ZVNyY1ZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZVNyY1ZhbHVlLmNw
cAppbmRleCAyYTFjMDQ3ODdkNmEwYzRjODcxMzgwNDRhMmMxNzU1ODk4NzEwY2ZiLi4wNzcyZjQw
OTU5MWRmZmM4ODViZTdmYjQ4Y2NlZjA0YTRjNzJhN2I1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTRm9udEZhY2VTcmNWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0ZvbnRGYWNlU3JjVmFsdWUuY3BwCkBAIC0yNSw2ICsyNSw3IEBACiAKICNpbmNsdWRlICJj
b25maWcuaCIKICNpbmNsdWRlICJDU1NGb250RmFjZVNyY1ZhbHVlLmgiCisjaW5jbHVkZSAiQ1NT
TG9hZEluaXRpYXRvci5oIgogI2luY2x1ZGUgIkNhY2hlZEZvbnQuaCIKICNpbmNsdWRlICJDYWNo
ZWRSZXNvdXJjZUxvYWRlci5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCkBAIC05Niw3ICs5Nyw3
IEBAIENhY2hlZEZvbnQqIENTU0ZvbnRGYWNlU3JjVmFsdWU6OmNhY2hlZEZvbnQoRG9jdW1lbnQq
IGRvY3VtZW50KQogewogICAgIGlmICghbV9jYWNoZWRGb250KSB7CiAgICAgICAgIFJlc291cmNl
UmVxdWVzdCByZXF1ZXN0KGRvY3VtZW50LT5jb21wbGV0ZVVSTChtX3Jlc291cmNlKSk7Ci0gICAg
ICAgIG1fY2FjaGVkRm9udCA9IGRvY3VtZW50LT5jYWNoZWRSZXNvdXJjZUxvYWRlcigpLT5yZXF1
ZXN0Rm9udChyZXF1ZXN0KTsKKyAgICAgICAgbV9jYWNoZWRGb250ID0gZG9jdW1lbnQtPmNhY2hl
ZFJlc291cmNlTG9hZGVyKCktPnJlcXVlc3RGb250KHJlcXVlc3QsIENTU0xvYWRJbml0aWF0b3Io
ZG9jdW1lbnQpKTsKICAgICB9CiAgICAgcmV0dXJuIG1fY2FjaGVkRm9udC5nZXQoKTsKIH0KQEAg
LTExMyw0ICsxMTQsMyBAQCB2b2lkIENTU0ZvbnRGYWNlU3JjVmFsdWU6OnJlcG9ydERlc2NlbmRh
bnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYgogfQogCiB9Ci0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZVNldFZhbHVlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NJbWFnZVNldFZhbHVlLmNwcAppbmRleCA2ZTAyYTIwZjk1YWMzZjE0ZjQ2
MWExYzUxMDBiNGFkNjJiZDllZjBhLi4xOWZjYmU1NWI3YWY4YThmMmQzN2YxNjZhMTE4YzE5NzAz
YjdhM2IyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VTZXRWYWx1ZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlU2V0VmFsdWUuY3BwCkBAIC0yOSw2
ICsyOSw3IEBACiAjaWYgRU5BQkxFKENTU19JTUFHRV9TRVQpCiAKICNpbmNsdWRlICJDU1NJbWFn
ZVZhbHVlLmgiCisjaW5jbHVkZSAiQ1NTTG9hZEluaXRpYXRvci5oIgogI2luY2x1ZGUgIkNTU1By
aW1pdGl2ZVZhbHVlLmgiCiAjaW5jbHVkZSAiQ2FjaGVkSW1hZ2UuaCIKICNpbmNsdWRlICJDYWNo
ZWRSZXNvdXJjZUxvYWRlci5oIgpAQCAtMTA5LDcgKzExMCw3IEBAIFN0eWxlQ2FjaGVkSW1hZ2VT
ZXQqIENTU0ltYWdlU2V0VmFsdWU6OmNhY2hlZEltYWdlU2V0KENhY2hlZFJlc291cmNlTG9hZGVy
KiBsb2FkCiAgICAgICAgIC8vIGFuZCBhbnkgQ1NTIHRyYW5zZm9ybXMuIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MTY5OAogICAgICAgICBJbWFnZVdpdGhTY2FsZSBp
bWFnZSA9IGJlc3RJbWFnZUZvclNjYWxlRmFjdG9yKCk7CiAgICAgICAgIFJlc291cmNlUmVxdWVz
dCByZXF1ZXN0KGxvYWRlci0+ZG9jdW1lbnQoKS0+Y29tcGxldGVVUkwoaW1hZ2UuaW1hZ2VVUkwp
KTsKLSAgICAgICAgaWYgKENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZEltYWdlPiBjYWNoZWRJ
bWFnZSA9IGxvYWRlci0+cmVxdWVzdEltYWdlKHJlcXVlc3QpKSB7CisgICAgICAgIGlmIChDYWNo
ZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRJbWFnZT4gY2FjaGVkSW1hZ2UgPSBsb2FkZXItPnJlcXVl
c3RJbWFnZShyZXF1ZXN0LCBDU1NMb2FkSW5pdGlhdG9yKGRvY3VtZW50KSkpIHsKICAgICAgICAg
ICAgIG1faW1hZ2VTZXQgPSBTdHlsZUNhY2hlZEltYWdlU2V0OjpjcmVhdGUoY2FjaGVkSW1hZ2Uu
Z2V0KCksIGltYWdlLnNjYWxlRmFjdG9yLCB0aGlzKTsKICAgICAgICAgICAgIG1fYWNjZXNzZWRC
ZXN0Rml0SW1hZ2UgPSB0cnVlOwogICAgICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTSW1hZ2VWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VWYWx1
ZS5jcHAKaW5kZXggNzI2YzJjMDQzNDcxZTk2N2I5MmJjOWZhNzY0YzMyMzlmMmI3YTU0Ni4uZjdi
ODZmZGUxYTRjYWM1OWI4MzgwMmJhNzY3ZjNlNTgyNjZhMDgwMSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0ltYWdlVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NJbWFnZVZhbHVlLmNwcApAQCAtMjIsNiArMjIsNyBAQAogI2luY2x1ZGUgIkNTU0ltYWdlVmFs
dWUuaCIKIAogI2luY2x1ZGUgIkNTU0N1cnNvckltYWdlVmFsdWUuaCIKKyNpbmNsdWRlICJDU1NM
b2FkSW5pdGlhdG9yLmgiCiAjaW5jbHVkZSAiQ1NTUGFyc2VyLmgiCiAjaW5jbHVkZSAiQ1NTVmFs
dWVLZXl3b3Jkcy5oIgogI2luY2x1ZGUgIkNhY2hlZEltYWdlLmgiCkBAIC04Myw4ICs4NCwxMCBA
QCBTdHlsZUNhY2hlZEltYWdlKiBDU1NJbWFnZVZhbHVlOjpjYWNoZWRJbWFnZShDYWNoZWRSZXNv
dXJjZUxvYWRlciogbG9hZGVyLCBjb25zdAogICAgICAgICBtX2FjY2Vzc2VkSW1hZ2UgPSB0cnVl
OwogCiAgICAgICAgIFJlc291cmNlUmVxdWVzdCByZXF1ZXN0KGxvYWRlci0+ZG9jdW1lbnQoKS0+
Y29tcGxldGVVUkwodXJsKSk7Ci0gICAgICAgIGlmIChDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNo
ZWRJbWFnZT4gY2FjaGVkSW1hZ2UgPSBsb2FkZXItPnJlcXVlc3RJbWFnZShyZXF1ZXN0KSkKKyAg
ICAgICAgaWYgKENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZEltYWdlPiBjYWNoZWRJbWFnZSA9
IGxvYWRlci0+cmVxdWVzdEltYWdlKHJlcXVlc3QsIG1faW5pdGlhdG9yLmluaXRpYXRvckRvY3Vt
ZW50KCkgPyBtX2luaXRpYXRvciA6IENTU0xvYWRJbml0aWF0b3IobG9hZGVyLT5kb2N1bWVudCgp
KSkpIHsKICAgICAgICAgICAgIG1faW1hZ2UgPSBTdHlsZUNhY2hlZEltYWdlOjpjcmVhdGUoY2Fj
aGVkSW1hZ2UuZ2V0KCkpOworICAgICAgICAgICAgbV9pbml0aWF0b3IuY2xlYXIoKTsKKyAgICAg
ICAgfQogICAgIH0KIAogICAgIHJldHVybiAobV9pbWFnZSAmJiBtX2ltYWdlLT5pc0NhY2hlZElt
YWdlKCkpID8gc3RhdGljX2Nhc3Q8U3R5bGVDYWNoZWRJbWFnZSo+KG1faW1hZ2UuZ2V0KCkpIDog
MDsKQEAgLTEzMyw0ICsxMzYsOSBAQCB2b2lkIENTU0ltYWdlVmFsdWU6OnJlcG9ydERlc2NlbmRh
bnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbgogICAgIC8vIE5v
IG5lZWQgdG8gcmVwb3J0IG1faW1hZ2UgYXMgaXQgaXMgY291bnRlZCBhcyBwYXJ0IG9mIFJlbmRl
ckFyZW5hLgogfQogCit2b2lkIENTU0ltYWdlVmFsdWU6OnNldEluaXRpYXRvcihjb25zdCBMb2Fk
SW5pdGlhdG9yJiBpbml0aWF0b3IpCit7CisgICAgbV9pbml0aWF0b3IgPSBpbml0aWF0b3I7Cit9
CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NJbWFnZVZhbHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VWYWx1ZS5oCmlu
ZGV4IDhjODJmMmM2N2RiNDMzYTc1MTczM2M5NjcxZGU5YjkxNTFlN2E5OGMuLjQxOWEyYTgyZGY4
MDRhZGFkMjZmMjRlOTIyNWVlOTdkNmI3MmJhZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NJbWFnZVZhbHVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlVmFs
dWUuaApAQCAtMjIsMTEgKzIyLDEzIEBACiAjZGVmaW5lIENTU0ltYWdlVmFsdWVfaAogCiAjaW5j
bHVkZSAiQ1NTVmFsdWUuaCIKKyNpbmNsdWRlICJMb2FkSW5pdGlhdG9ySGFuZGxlLmgiCiAjaW5j
bHVkZSA8d3RmL1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIENhY2hl
ZFJlc291cmNlTG9hZGVyOworY2xhc3MgTG9hZEluaXRpYXRvcjsKIGNsYXNzIFN0eWxlQ2FjaGVk
SW1hZ2U7CiBjbGFzcyBTdHlsZUltYWdlOwogCkBAIC01MCw2ICs1Miw4IEBAIHB1YmxpYzoKIAog
ICAgIHZvaWQgcmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qKSBj
b25zdDsKIAorICAgIHZvaWQgc2V0SW5pdGlhdG9yKGNvbnN0IExvYWRJbml0aWF0b3ImKTsKKwog
cHJvdGVjdGVkOgogICAgIENTU0ltYWdlVmFsdWUoQ2xhc3NUeXBlLCBjb25zdCBTdHJpbmcmIHVy
bCk7CiAKQEAgLTY0LDYgKzY4LDcgQEAgcHJpdmF0ZToKICAgICBTdHJpbmcgbV91cmw7CiAgICAg
UmVmUHRyPFN0eWxlSW1hZ2U+IG1faW1hZ2U7CiAgICAgYm9vbCBtX2FjY2Vzc2VkSW1hZ2U7Cisg
ICAgTG9hZEluaXRpYXRvckhhbmRsZSBtX2luaXRpYXRvcjsKIH07CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NMb2FkSW5pdGlhdG9y
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NMb2FkSW5pdGlhdG9yLmNwcApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5kOTk4MzFmNGUyMWU1NTYwMWJmNzk1MmFjOGFmMGY5N2FlZjcyOTdiCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0xvYWRJbml0aWF0b3IuY3BwCkBAIC0wLDAgKzEs
NTYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAq
CisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICog
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29n
bGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQK
KyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQ1NTTG9hZEluaXRpYXRvci5oIgor
CisjaW5jbHVkZSAiRG9jdW1lbnQuaCIKKworI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4K
KyNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJpbmcuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitDU1NMb2FkSW5pdGlhdG9yOjpDU1NMb2FkSW5pdGlhdG9yKERvY3VtZW50KiBkb2N1bWVu
dCkKKyAgICA6IG1fZG9jdW1lbnQoZG9jdW1lbnQpCit7Cit9CisKK0NTU0xvYWRJbml0aWF0b3I6
On5DU1NMb2FkSW5pdGlhdG9yKCkKK3sKK30KKworY29uc3QgV1RGOjpBdG9taWNTdHJpbmcmIENT
U0xvYWRJbml0aWF0b3I6OmluaXRpYXRvck5hbWUoKSBjb25zdAoreworICAgIERFRklORV9TVEFU
SUNfTE9DQUwoQXRvbWljU3RyaW5nLCBuYW1lLCAoImNzcyIsIEF0b21pY1N0cmluZzo6Q29uc3Ry
dWN0RnJvbUxpdGVyYWwpKTsKKyAgICByZXR1cm4gbmFtZTsKK30KKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0xvYWRJbml0aWF0b3Iu
aCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NMb2FkSW5pdGlhdG9yLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmQ2
NjE5ZDE4MmMwNWMwYWRmYTFiMDUxZTM1MWMzNzk0OGI2MjA0MgotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NMb2FkSW5pdGlhdG9yLmgKQEAgLTAsMCArMSw1OSBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisg
KiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMu
IG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQor
ICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
Zm5kZWYgQ1NTTG9hZEluaXRpYXRvcl9oCisjZGVmaW5lIENTU0xvYWRJbml0aWF0b3JfaAorCisj
aW5jbHVkZSAiTG9hZEluaXRpYXRvci5oIgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKworbmFt
ZXNwYWNlIFdURiB7CitjbGFzcyBBdG9taWNTdHJpbmc7Cit9CisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworY2xhc3MgRG9jdW1lbnQ7CisKK2NsYXNzIENTU0xvYWRJbml0aWF0b3IgOiBwdWJsaWMg
TG9hZEluaXRpYXRvciB7CitwdWJsaWM6CisgICAgQ1NTTG9hZEluaXRpYXRvcihEb2N1bWVudCop
OworICAgIHZpcnR1YWwgfkNTU0xvYWRJbml0aWF0b3IoKTsKKworICAgIHZpcnR1YWwgY29uc3Qg
V1RGOjpBdG9taWNTdHJpbmcmIGluaXRpYXRvck5hbWUoKSBjb25zdDsKKyAgICB2aXJ0dWFsIERv
Y3VtZW50KiBpbml0aWF0b3JEb2N1bWVudCgpIGNvbnN0IHsgcmV0dXJuIG1fZG9jdW1lbnQuZ2V0
KCk7IH0KKworcHJpdmF0ZToKKyAgICBSZWZQdHI8RG9jdW1lbnQ+IG1fZG9jdW1lbnQ7Cit9Owor
Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBDU1NMb2FkSW5pdGlhdG9yX2gK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGVJbXBvcnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZUltcG9ydC5jcHAKaW5kZXggMjZmMjllODJmODBhOWZm
NTFkYWNlNTcwZDhmNDdlOTM4YWU1ZGUwYS4uOTNmY2UyNWMyZDQ2ZmI0MWNiODJkMWUxN2E2Mzkz
YTM1ODAwNzI3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZUltcG9y
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZUltcG9ydC5jcHAKQEAgLTIy
LDYgKzIyLDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJTdHlsZVJ1bGVJbXBv
cnQuaCIKIAorI2luY2x1ZGUgIkNTU0xvYWRJbml0aWF0b3IuaCIKICNpbmNsdWRlICJDU1NTdHls
ZVNoZWV0LmgiCiAjaW5jbHVkZSAiQ2FjaGVkQ1NTU3R5bGVTaGVldC5oIgogI2luY2x1ZGUgIkNh
Y2hlZFJlc291cmNlTG9hZGVyLmgiCkBAIC0xMTcsOSArMTE4LDkgQEAgdm9pZCBTdHlsZVJ1bGVJ
bXBvcnQ6OnJlcXVlc3RTdHlsZVNoZWV0KCkKIAogICAgIFJlc291cmNlUmVxdWVzdCByZXF1ZXN0
KGFic1VSTCk7CiAgICAgaWYgKG1fcGFyZW50U3R5bGVTaGVldC0+aXNVc2VyU3R5bGVTaGVldCgp
KQotICAgICAgICBtX2NhY2hlZFNoZWV0ID0gY2FjaGVkUmVzb3VyY2VMb2FkZXItPnJlcXVlc3RV
c2VyQ1NTU3R5bGVTaGVldChyZXF1ZXN0LCBtX3BhcmVudFN0eWxlU2hlZXQtPmNoYXJzZXQoKSk7
CisgICAgICAgIG1fY2FjaGVkU2hlZXQgPSBjYWNoZWRSZXNvdXJjZUxvYWRlci0+cmVxdWVzdFVz
ZXJDU1NTdHlsZVNoZWV0KHJlcXVlc3QsIG1fcGFyZW50U3R5bGVTaGVldC0+Y2hhcnNldCgpLCBD
U1NMb2FkSW5pdGlhdG9yKGRvY3VtZW50KSk7CiAgICAgZWxzZQotICAgICAgICBtX2NhY2hlZFNo
ZWV0ID0gY2FjaGVkUmVzb3VyY2VMb2FkZXItPnJlcXVlc3RDU1NTdHlsZVNoZWV0KHJlcXVlc3Qs
IG1fcGFyZW50U3R5bGVTaGVldC0+Y2hhcnNldCgpKTsKKyAgICAgICAgbV9jYWNoZWRTaGVldCA9
IGNhY2hlZFJlc291cmNlTG9hZGVyLT5yZXF1ZXN0Q1NTU3R5bGVTaGVldChyZXF1ZXN0LCBtX3Bh
cmVudFN0eWxlU2hlZXQtPmNoYXJzZXQoKSwgQ1NTTG9hZEluaXRpYXRvcihkb2N1bWVudCkpOwog
ICAgIGlmIChtX2NhY2hlZFNoZWV0KSB7CiAgICAgICAgIC8vIGlmIHRoZSBpbXBvcnQgcnVsZSBp
cyBpc3N1ZWQgZHluYW1pY2FsbHksIHRoZSBzaGVldCBtYXkgYmUKICAgICAgICAgLy8gcmVtb3Zl
ZCBmcm9tIHRoZSBwZW5kaW5nIHNoZWV0IGNvdW50LCBzbyBsZXQgdGhlIGRvYyBrbm93CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTU1ZHRG9jdW1lbnRWYWx1ZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTU1ZHRG9jdW1lbnRWYWx1ZS5jcHAKaW5kZXgg
NDRjODgwODk0NzBlODM5ZDk3NGViYTAxY2MwNmY3ZDkyMGMxODEyMi4uYWYyOGZmOTdjOThiOTEw
MTM1MTkwZmVlMjg3NWZmNzcxN2ViOTczYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L1dlYktpdENTU1NWR0RvY3VtZW50VmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9X
ZWJLaXRDU1NTVkdEb2N1bWVudFZhbHVlLmNwcApAQCAtMjcsNiArMjcsNyBAQAogI2lmIEVOQUJM
RShTVkcpCiAjaW5jbHVkZSAiV2ViS2l0Q1NTU1ZHRG9jdW1lbnRWYWx1ZS5oIgogCisjaW5jbHVk
ZSAiQ1NTTG9hZEluaXRpYXRvci5oIgogI2luY2x1ZGUgIkNTU1BhcnNlci5oIgogI2luY2x1ZGUg
IkNhY2hlZFJlc291cmNlTG9hZGVyLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKQEAgLTUzLDcg
KzU0LDcgQEAgQ2FjaGVkU1ZHRG9jdW1lbnQqIFdlYktpdENTU1NWR0RvY3VtZW50VmFsdWU6Omxv
YWQoQ2FjaGVkUmVzb3VyY2VMb2FkZXIqIGxvYWRlcikKICAgICAgICAgbV9sb2FkUmVxdWVzdGVk
ID0gdHJ1ZTsKIAogICAgICAgICBSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdChsb2FkZXItPmRvY3Vt
ZW50KCktPmNvbXBsZXRlVVJMKG1fdXJsKSk7Ci0gICAgICAgIG1fZG9jdW1lbnQgPSBsb2FkZXIt
PnJlcXVlc3RTVkdEb2N1bWVudChyZXF1ZXN0KTsKKyAgICAgICAgbV9kb2N1bWVudCA9IGxvYWRl
ci0+cmVxdWVzdFNWR0RvY3VtZW50KHJlcXVlc3QsIENTU0xvYWRJbml0aWF0b3IobG9hZGVyLT5k
b2N1bWVudCgpKSk7CiAgICAgfQogCiAgICAgcmV0dXJuIG1fZG9jdW1lbnQuZ2V0KCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTU2hhZGVyVmFsdWUuY3BwIGIvU291
cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1NoYWRlclZhbHVlLmNwcAppbmRleCA2ZjkzNzNlMGYw
ZmEyZGY4YmY0OTQyODFiNWMyZDg3NzI5YWJiOTYxLi5lMjIwMmRlZDg5ZmQzZWY3Mzk3NDY5NzY5
YTlmZjgxMTk1MzIxNzNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NT
U2hhZGVyVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NTaGFkZXJW
YWx1ZS5jcHAKQEAgLTMyLDggKzMyLDkgQEAKICNpZiBFTkFCTEUoQ1NTX1NIQURFUlMpCiAjaW5j
bHVkZSAiV2ViS2l0Q1NTU2hhZGVyVmFsdWUuaCIKIAotI2luY2x1ZGUgIkNhY2hlZFJlc291cmNl
TG9hZGVyLmgiCisjaW5jbHVkZSAiQ1NTTG9hZEluaXRpYXRvci5oIgogI2luY2x1ZGUgIkNTU1Bh
cnNlci5oIgorI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlTG9hZGVyLmgiCiAjaW5jbHVkZSAiRG9j
dW1lbnQuaCIKICNpbmNsdWRlICJTdHlsZUNhY2hlZFNoYWRlci5oIgogI2luY2x1ZGUgIlN0eWxl
UGVuZGluZ1NoYWRlci5oIgpAQCAtNjAsNyArNjEsNyBAQCBTdHlsZUNhY2hlZFNoYWRlciogV2Vi
S2l0Q1NTU2hhZGVyVmFsdWU6OmNhY2hlZFNoYWRlcihDYWNoZWRSZXNvdXJjZUxvYWRlciogbG9h
ZAogICAgICAgICBtX2FjY2Vzc2VkU2hhZGVyID0gdHJ1ZTsKIAogICAgICAgICBSZXNvdXJjZVJl
cXVlc3QgcmVxdWVzdChsb2FkZXItPmRvY3VtZW50KCktPmNvbXBsZXRlVVJMKG1fdXJsKSk7Ci0g
ICAgICAgIGlmIChDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRTaGFkZXI+IGNhY2hlZFNoYWRl
ciA9IGxvYWRlci0+cmVxdWVzdFNoYWRlcihyZXF1ZXN0KSkKKyAgICAgICAgaWYgKENhY2hlZFJl
c291cmNlSGFuZGxlPENhY2hlZFNoYWRlcj4gY2FjaGVkU2hhZGVyID0gbG9hZGVyLT5yZXF1ZXN0
U2hhZGVyKHJlcXVlc3QsIENTU0xvYWRJbml0aWF0b3IobG9hZGVyLT5kb2N1bWVudCgpKSkpCiAg
ICAgICAgICAgICBtX3NoYWRlciA9IFN0eWxlQ2FjaGVkU2hhZGVyOjpjcmVhdGUoY2FjaGVkU2hh
ZGVyLmdldCgpKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2Rl
TG9hZEluaXRpYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZUxvYWRJbml0aWF0b3Iu
Y3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjU4NDBiNzc0YjcyOTE3MzMwZjQwOTcwZWE2OTYwYjgwNDJhMjk1MjkK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZUxvYWRJbml0aWF0b3Iu
Y3BwCkBAIC0wLDAgKzEsNTcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgor
ICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTm9kZUxv
YWRJbml0aWF0b3IuaCIKKworI2luY2x1ZGUgIk5vZGUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitOb2RlTG9hZEluaXRpYXRvcjo6Tm9kZUxvYWRJbml0aWF0b3IoTm9kZSogbm9kZSkKKyAg
ICA6IG1fbm9kZShub2RlKQoreworfQorCitOb2RlTG9hZEluaXRpYXRvcjo6fk5vZGVMb2FkSW5p
dGlhdG9yKCkKK3sKK30KKworY29uc3QgV1RGOjpBdG9taWNTdHJpbmcmIE5vZGVMb2FkSW5pdGlh
dG9yOjppbml0aWF0b3JOYW1lKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9ub2RlLT5sb2NhbE5h
bWUoKTsKK30KKworRG9jdW1lbnQqIE5vZGVMb2FkSW5pdGlhdG9yOjppbml0aWF0b3JEb2N1bWVu
dCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fbm9kZS0+ZG9jdW1lbnQoKTsKK30KKworfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGVMb2Fk
SW5pdGlhdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZUxvYWRJbml0aWF0b3IuaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43NTljNjNmNjE5YjI3OGEzMTI4M2ZmYzJkODY3ZDgyOTc4YTk1ZDk0Ci0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGVMb2FkSW5pdGlhdG9yLmgKQEAgLTAs
MCArMSw1OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0
OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
CisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpZm5kZWYgTm9kZUxvYWRJbml0aWF0b3JfaAorI2RlZmluZSBOb2RlTG9hZElu
aXRpYXRvcl9oCisKKyNpbmNsdWRlICJMb2FkSW5pdGlhdG9yLmgiCisjaW5jbHVkZSA8d3RmL1Jl
ZlB0ci5oPgorCituYW1lc3BhY2UgV1RGIHsKK2NsYXNzIEF0b21pY1N0cmluZzsKK30KKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworY2xhc3MgRG9jdW1lbnQ7CitjbGFzcyBOb2RlOworCitjbGFzcyBO
b2RlTG9hZEluaXRpYXRvciA6IHB1YmxpYyBMb2FkSW5pdGlhdG9yIHsKK3B1YmxpYzoKKyAgICBO
b2RlTG9hZEluaXRpYXRvcihOb2RlKik7CisgICAgdmlydHVhbCB+Tm9kZUxvYWRJbml0aWF0b3Io
KTsKKworICAgIHZpcnR1YWwgY29uc3QgV1RGOjpBdG9taWNTdHJpbmcmIGluaXRpYXRvck5hbWUo
KSBjb25zdDsKKyAgICB2aXJ0dWFsIERvY3VtZW50KiBpbml0aWF0b3JEb2N1bWVudCgpIGNvbnN0
OworCitwcml2YXRlOgorICAgIFJlZlB0cjxOb2RlPiBtX25vZGU7Cit9OworCit9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBMb2FkSW5pdGlhdG9yX2gKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uY3BwIGIvU291cmNlL1dlYkNv
cmUvZG9tL1Byb2Nlc3NpbmdJbnN0cnVjdGlvbi5jcHAKaW5kZXggNGJjYTFkMWViOTVlYmFhZWMx
MGFkMTM4ZmNjNmQxZmViM2Y2ZjZiNi4uMGJlMmQ2NGQ2NDY1YWRjNTMxNWMyZjU4YjFlNDU4ZTkw
NzdhNWNhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1Byb2Nlc3NpbmdJbnN0cnVj
dGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1Byb2Nlc3NpbmdJbnN0cnVjdGlvbi5j
cHAKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCiAjaW5jbHVk
ZSAiRnJhbWUuaCIKICNpbmNsdWRlICJGcmFtZUxvYWRlci5oIgorI2luY2x1ZGUgIk5vZGVMb2Fk
SW5pdGlhdG9yLmgiCiAjaW5jbHVkZSAiWFNMU3R5bGVTaGVldC5oIgogI2luY2x1ZGUgIlhNTERv
Y3VtZW50UGFyc2VyLmgiIC8vIGZvciBwYXJzZUF0dHJpYnV0ZXMoKQogI2luY2x1ZGUgIk1lZGlh
TGlzdC5oIgpAQCAtMTY2LDcgKzE2Nyw3IEBAIHZvaWQgUHJvY2Vzc2luZ0luc3RydWN0aW9uOjpj
aGVja1N0eWxlU2hlZXQoKQogICAgICAgICAgICAgUmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QoZG9j
dW1lbnQoKS0+Y29tcGxldGVVUkwoaHJlZikpOwogI2lmIEVOQUJMRShYU0xUKQogICAgICAgICAg
ICAgaWYgKG1faXNYU0wpCi0gICAgICAgICAgICAgICAgbV9jYWNoZWRTaGVldCA9IGRvY3VtZW50
KCktPmNhY2hlZFJlc291cmNlTG9hZGVyKCktPnJlcXVlc3RYU0xTdHlsZVNoZWV0KHJlcXVlc3Qp
OworICAgICAgICAgICAgICAgIG1fY2FjaGVkU2hlZXQgPSBkb2N1bWVudCgpLT5jYWNoZWRSZXNv
dXJjZUxvYWRlcigpLT5yZXF1ZXN0WFNMU3R5bGVTaGVldChyZXF1ZXN0LCBOb2RlTG9hZEluaXRp
YXRvcih0aGlzKSk7CiAgICAgICAgICAgICBlbHNlCiAjZW5kaWYKICAgICAgICAgICAgIHsKQEAg
LTE3NCw3ICsxNzUsNyBAQCB2b2lkIFByb2Nlc3NpbmdJbnN0cnVjdGlvbjo6Y2hlY2tTdHlsZVNo
ZWV0KCkKICAgICAgICAgICAgICAgICBpZiAoY2hhcnNldC5pc0VtcHR5KCkpCiAgICAgICAgICAg
ICAgICAgICAgIGNoYXJzZXQgPSBkb2N1bWVudCgpLT5jaGFyc2V0KCk7CiAKLSAgICAgICAgICAg
ICAgICBtX2NhY2hlZFNoZWV0ID0gZG9jdW1lbnQoKS0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKS0+
cmVxdWVzdENTU1N0eWxlU2hlZXQocmVxdWVzdCwgY2hhcnNldCk7CisgICAgICAgICAgICAgICAg
bV9jYWNoZWRTaGVldCA9IGRvY3VtZW50KCktPmNhY2hlZFJlc291cmNlTG9hZGVyKCktPnJlcXVl
c3RDU1NTdHlsZVNoZWV0KHJlcXVlc3QsIGNoYXJzZXQsIE5vZGVMb2FkSW5pdGlhdG9yKHRoaXMp
KTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGlmIChtX2NhY2hlZFNoZWV0KQogICAgICAg
ICAgICAgICAgIG1fY2FjaGVkU2hlZXQtPmFkZENsaWVudCh0aGlzKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9T
Y3JpcHRFbGVtZW50LmNwcAppbmRleCAyMDlmYzc5YzFjOGMwOGE0ZjY5YTk5OTk4M2ZiMDcxOTg2
MzhlNjk2Li5lOGZhYjk0NjA4MzEyZGZhMGRjYjBlZTQ2MTBkOGUwMTIyYjFmZWM5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuY3BwCkBAIC0zNyw2ICszNyw3IEBACiAjaW5jbHVkZSAi
SFRNTFNjcmlwdEVsZW1lbnQuaCIKICNpbmNsdWRlICJJZ25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291
bnRJbmNyZW1lbnRlci5oIgogI2luY2x1ZGUgIk1JTUVUeXBlUmVnaXN0cnkuaCIKKyNpbmNsdWRl
ICJOb2RlTG9hZEluaXRpYXRvci5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJTY3Jp
cHRDYWxsU3RhY2suaCIKICNpbmNsdWRlICJTY3JpcHRSdW5uZXIuaCIKQEAgLTI2NSw3ICsyNjYs
NyBAQCBib29sIFNjcmlwdEVsZW1lbnQ6OnJlcXVlc3RTY3JpcHQoY29uc3QgU3RyaW5nJiBzb3Vy
Y2VVcmwpCiAgICAgICAgICAgICB1cGRhdGVSZXF1ZXN0Rm9yQWNjZXNzQ29udHJvbChyZXF1ZXN0
LCBtX2VsZW1lbnQtPmRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCksIGFsbG93Q3JlZGVudGlh
bHMpOwogICAgICAgICB9CiAKLSAgICAgICAgbV9jYWNoZWRTY3JpcHQgPSBtX2VsZW1lbnQtPmRv
Y3VtZW50KCktPmNhY2hlZFJlc291cmNlTG9hZGVyKCktPnJlcXVlc3RTY3JpcHQocmVxdWVzdCwg
c2NyaXB0Q2hhcnNldCgpKTsKKyAgICAgICAgbV9jYWNoZWRTY3JpcHQgPSBtX2VsZW1lbnQtPmRv
Y3VtZW50KCktPmNhY2hlZFJlc291cmNlTG9hZGVyKCktPnJlcXVlc3RTY3JpcHQocmVxdWVzdCwg
c2NyaXB0Q2hhcnNldCgpLCBOb2RlTG9hZEluaXRpYXRvcihlbGVtZW50KCkpKTsKICAgICAgICAg
bV9pc0V4dGVybmFsU2NyaXB0ID0gdHJ1ZTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEJvZHlFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TEJvZHlFbGVtZW50LmNwcAppbmRleCA4NWNkZjM4YjEyNWQ3NjNmODY0MDM1MDQ5MjZmMTZkNzUx
MjI2OGQ3Li44ZDA1M2VjNmIyZjFjY2YwNmE1YjBhNmQwODRmOTcxYTNiMGYzMDIzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCb2R5RWxlbWVudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MQm9keUVsZW1lbnQuY3BwCkBAIC0zNCw2ICszNCw3IEBACiAjaW5j
bHVkZSAiSFRNTEZyYW1lRWxlbWVudEJhc2UuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNp
bmNsdWRlICJIVE1MUGFyc2VySWRpb21zLmgiCisjaW5jbHVkZSAiTm9kZUxvYWRJbml0aWF0b3Iu
aCIKICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXZlbnRMaXN0ZW5lci5oIgog
CkBAIC03Miw4ICs3MywxMSBAQCB2b2lkIEhUTUxCb2R5RWxlbWVudDo6Y29sbGVjdFN0eWxlRm9y
QXR0cmlidXRlKGNvbnN0IEF0dHJpYnV0ZSYgYXR0cmlidXRlLCBTdHlsZQogewogICAgIGlmIChh
dHRyaWJ1dGUubmFtZSgpID09IGJhY2tncm91bmRBdHRyKSB7CiAgICAgICAgIFN0cmluZyB1cmwg
PSBzdHJpcExlYWRpbmdBbmRUcmFpbGluZ0hUTUxTcGFjZXMoYXR0cmlidXRlLnZhbHVlKCkpOwot
ICAgICAgICBpZiAoIXVybC5pc0VtcHR5KCkpCi0gICAgICAgICAgICBzdHlsZS0+c2V0UHJvcGVy
dHkoQ1NTUHJvcGVydHkoQ1NTUHJvcGVydHlCYWNrZ3JvdW5kSW1hZ2UsIENTU0ltYWdlVmFsdWU6
OmNyZWF0ZShkb2N1bWVudCgpLT5jb21wbGV0ZVVSTCh1cmwpLnN0cmluZygpKSkpOworICAgICAg
ICBpZiAoIXVybC5pc0VtcHR5KCkpIHsKKyAgICAgICAgICAgIFJlZlB0cjxDU1NJbWFnZVZhbHVl
PiBpbWFnZVZhbHVlID0gQ1NTSW1hZ2VWYWx1ZTo6Y3JlYXRlKGRvY3VtZW50KCktPmNvbXBsZXRl
VVJMKHVybCkuc3RyaW5nKCkpOworICAgICAgICAgICAgaW1hZ2VWYWx1ZS0+c2V0SW5pdGlhdG9y
KE5vZGVMb2FkSW5pdGlhdG9yKHRoaXMpKTsKKyAgICAgICAgICAgIHN0eWxlLT5zZXRQcm9wZXJ0
eShDU1NQcm9wZXJ0eShDU1NQcm9wZXJ0eUJhY2tncm91bmRJbWFnZSwgaW1hZ2VWYWx1ZSkpOwor
ICAgICAgICB9CiAgICAgfSBlbHNlIGlmIChhdHRyaWJ1dGUubmFtZSgpID09IG1hcmdpbndpZHRo
QXR0ciB8fCBhdHRyaWJ1dGUubmFtZSgpID09IGxlZnRtYXJnaW5BdHRyKSB7CiAgICAgICAgIGFk
ZEhUTUxMZW5ndGhUb1N0eWxlKHN0eWxlLCBDU1NQcm9wZXJ0eU1hcmdpblJpZ2h0LCBhdHRyaWJ1
dGUudmFsdWUoKSk7CiAgICAgICAgIGFkZEhUTUxMZW5ndGhUb1N0eWxlKHN0eWxlLCBDU1NQcm9w
ZXJ0eU1hcmdpbkxlZnQsIGF0dHJpYnV0ZS52YWx1ZSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTExpbmtFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TExpbmtFbGVtZW50LmNwcAppbmRleCBmZGM3YTVjY2UzMjMxYWY5YzIyNDRlMWM5ZjQ0NDgzYjg0
YmYwMTMxLi4yZDExZTAyNmJlMzJiZWRhOTNhMDkyYzUwNTU1MWJiNDc5ZGQxMmRiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMaW5rRWxlbWVudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MTGlua0VsZW1lbnQuY3BwCkBAIC00MSw2ICs0MSw3IEBACiAjaW5j
bHVkZSAiSFRNTFBhcnNlcklkaW9tcy5oIgogI2luY2x1ZGUgIk1lZGlhTGlzdC5oIgogI2luY2x1
ZGUgIk1lZGlhUXVlcnlFdmFsdWF0b3IuaCIKKyNpbmNsdWRlICJOb2RlTG9hZEluaXRpYXRvci5o
IgogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJTY3JpcHRFdmVudExpc3RlbmVyLmgiCiAj
aW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKQEAgLTIyMSw4ICsyMjIsOCBAQCB2b2lkIEhUTUxM
aW5rRWxlbWVudDo6cHJvY2VzcygpCiAgICAgICAgIC8vIExvYWQgc3R5bGVzaGVldHMgdGhhdCBh
cmUgbm90IG5lZWRlZCBmb3IgdGhlIHJlbmRlcmluZyBpbW1lZGlhdGVseSB3aXRoIGxvdyBwcmlv
cml0eS4KICAgICAgICAgUmVzb3VyY2VMb2FkUHJpb3JpdHkgcHJpb3JpdHkgPSBibG9ja2luZyA/
IFJlc291cmNlTG9hZFByaW9yaXR5VW5yZXNvbHZlZCA6IFJlc291cmNlTG9hZFByaW9yaXR5VmVy
eUxvdzsKICAgICAgICAgUmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QoZG9jdW1lbnQoKS0+Y29tcGxl
dGVVUkwobV91cmwpKTsKLSAgICAgICAgbV9jYWNoZWRTaGVldCA9IGRvY3VtZW50KCktPmNhY2hl
ZFJlc291cmNlTG9hZGVyKCktPnJlcXVlc3RDU1NTdHlsZVNoZWV0KHJlcXVlc3QsIGNoYXJzZXQs
IHByaW9yaXR5KTsKLSAgICAgICAgCisgICAgICAgIG1fY2FjaGVkU2hlZXQgPSBkb2N1bWVudCgp
LT5jYWNoZWRSZXNvdXJjZUxvYWRlcigpLT5yZXF1ZXN0Q1NTU3R5bGVTaGVldChyZXF1ZXN0LCBj
aGFyc2V0LCBOb2RlTG9hZEluaXRpYXRvcih0aGlzKSwgcHJpb3JpdHkpOworCiAgICAgICAgIGlm
IChtX2NhY2hlZFNoZWV0KQogICAgICAgICAgICAgbV9jYWNoZWRTaGVldC0+YWRkQ2xpZW50KHRo
aXMpOwogICAgICAgICBlbHNlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TExpbmtFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMaW5rRWxlbWVudC5oCmlu
ZGV4IDBiNmM2Yzk5N2YyOGFlMzQxMjUzNjM4M2UwYzAxMDQwOGQ1ZmZkMWEuLmJiN2FkMTFiZTMw
NmUyNjFlNjk4ZTM2MzE5MGY1ZDcxYTlkODZjMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTExpbmtFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGlu
a0VsZW1lbnQuaApAQCAtNzUsNiArNzUsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIHZpcnR1
YWwgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBBdHRyaWJ1dGUmKSBPVkVSUklERTsKIAorICAg
IHZpcnR1YWwgTm9kZSogaW5pdGlhdG9yTm9kZSgpIHsgcmV0dXJuIHRoaXM7IH0KICAgICB2aXJ0
dWFsIGJvb2wgc2hvdWxkTG9hZExpbmsoKTsKICAgICB2b2lkIHByb2Nlc3MoKTsKICAgICBzdGF0
aWMgdm9pZCBwcm9jZXNzQ2FsbGJhY2soTm9kZSopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9wYXJzZXIvQ1NTUHJlbG9hZFNjYW5uZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9wYXJzZXIvQ1NTUHJlbG9hZFNjYW5uZXIuY3BwCmluZGV4IDI5ZjFjY2Q0NjhiYWRkOGRlNWMz
YjE5ZTcyZjJkODUyY2QzMDA4OTMuLmI2YTAzM2E2NTE3NTA5ZjAwMzM1YjJkOGM5MzZiNzBmYTNl
NTU2ODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0NTU1ByZWxvYWRT
Y2FubmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9DU1NQcmVsb2FkU2Nh
bm5lci5jcHAKQEAgLTE5Nyw3ICsxOTcsNyBAQCB2b2lkIENTU1ByZWxvYWRTY2FubmVyOjplbWl0
UnVsZSgpCiAgICAgICAgIFN0cmluZyB2YWx1ZSA9IHBhcnNlQ1NTU3RyaW5nT3JVUkwobV9ydWxl
VmFsdWUuY2hhcmFjdGVycygpLCBtX3J1bGVWYWx1ZS5sZW5ndGgoKSk7CiAgICAgICAgIGlmICgh
dmFsdWUuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICBSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdCht
X2RvY3VtZW50LT5jb21wbGV0ZVVSTCh2YWx1ZSkpOwotICAgICAgICAgICAgbV9kb2N1bWVudC0+
Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKS0+cHJlbG9hZChDYWNoZWRSZXNvdXJjZTo6Q1NTU3R5bGVT
aGVldCwgcmVxdWVzdCwgU3RyaW5nKCksIG1fc2Nhbm5pbmdCb2R5KTsKKyAgICAgICAgICAgIG1f
ZG9jdW1lbnQtPmNhY2hlZFJlc291cmNlTG9hZGVyKCktPnByZWxvYWQoQ2FjaGVkUmVzb3VyY2U6
OkNTU1N0eWxlU2hlZXQsIHJlcXVlc3QsIFN0cmluZygpLCBtX3NjYW5uaW5nQm9keSwgKnRoaXMp
OwogICAgICAgICB9CiAgICAgICAgIG1fc3RhdGUgPSBJbml0aWFsOwogICAgIH0gZWxzZSBpZiAo
ZXF1YWxJZ25vcmluZ0Nhc2UoImNoYXJzZXQiLCBtX3J1bGUuY2hhcmFjdGVycygpLCBtX3J1bGUu
bGVuZ3RoKCkpKQpAQCAtMjA4LDQgKzIwOCwxMCBAQCB2b2lkIENTU1ByZWxvYWRTY2FubmVyOjpl
bWl0UnVsZSgpCiAgICAgbV9ydWxlVmFsdWUuY2xlYXIoKTsKIH0KIAorY29uc3QgQXRvbWljU3Ry
aW5nJiBDU1NQcmVsb2FkU2Nhbm5lcjo6aW5pdGlhdG9yTmFtZSgpIGNvbnN0Cit7CisgICAgREVG
SU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIG5hbWUsICgiY3NzIiwgQXRvbWljU3RyaW5n
OjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCkpOworICAgIHJldHVybiBuYW1lOworfQorCiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9DU1NQcmVsb2FkU2Nhbm5lci5oIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvQ1NTUHJlbG9hZFNjYW5uZXIuaAppbmRleCBjM2Ri
YjgwMGVkZDhlYTEwYWIyNGViM2MxMjNiN2NhOThmMmNiNDI3Li4xNTViYTU5OWMxZDVjYjI4ZmJi
ZDIwZGY4YTNhYWRmNWNkMDNhOGJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3Bh
cnNlci9DU1NQcmVsb2FkU2Nhbm5lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2Vy
L0NTU1ByZWxvYWRTY2FubmVyLmgKQEAgLTI3LDYgKzI3LDcgQEAKICNpZm5kZWYgQ1NTUHJlbG9h
ZFNjYW5uZXJfaAogI2RlZmluZSBDU1NQcmVsb2FkU2Nhbm5lcl9oCiAKKyNpbmNsdWRlICJMb2Fk
SW5pdGlhdG9yLmgiCiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQnVpbGRlci5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CkBAIC0zNCw3ICszNSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNs
YXNzIERvY3VtZW50OwogY2xhc3MgSFRNTFRva2VuOwogCi1jbGFzcyBDU1NQcmVsb2FkU2Nhbm5l
ciB7CitjbGFzcyBDU1NQcmVsb2FkU2Nhbm5lciA6IHByaXZhdGUgTG9hZEluaXRpYXRvciB7CiAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ1NTUHJlbG9hZFNjYW5uZXIpOwogcHVibGljOgogICAg
IENTU1ByZWxvYWRTY2FubmVyKERvY3VtZW50Kik7CkBAIC00Myw2ICs0NCw5IEBAIHB1YmxpYzoK
ICAgICB2b2lkIHNjYW4oY29uc3QgSFRNTFRva2VuJiwgYm9vbCBzY2FubmluZ0JvZHkpOwogCiBw
cml2YXRlOgorICAgIHZpcnR1YWwgY29uc3QgQXRvbWljU3RyaW5nJiBpbml0aWF0b3JOYW1lKCkg
Y29uc3Q7CisgICAgdmlydHVhbCBEb2N1bWVudCogaW5pdGlhdG9yRG9jdW1lbnQoKSBjb25zdCB7
IHJldHVybiBtX2RvY3VtZW50OyB9CisKICAgICBlbnVtIFN0YXRlIHsKICAgICAgICAgSW5pdGlh
bCwKICAgICAgICAgTWF5YmVDb21tZW50LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9wYXJzZXIvSFRNTFByZWxvYWRTY2FubmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFy
c2VyL0hUTUxQcmVsb2FkU2Nhbm5lci5jcHAKaW5kZXggYTc1YjUyZTM1NTA2YWEzMGU1ZTliZjMw
OWYwMjBkODcxOTFjY2ZmNC4uMjg0MmRhOTIyNWIwOGNiM2U5MWViYjNmYjAxZTExNTI1YzhmOTU2
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFByZWxvYWRTY2Fu
bmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUHJlbG9hZFNjYW5u
ZXIuY3BwCkBAIC0zNiw2ICszNiw3IEBACiAjaW5jbHVkZSAiSFRNTFBhcnNlcklkaW9tcy5oIgog
I2luY2x1ZGUgIklucHV0VHlwZU5hbWVzLmgiCiAjaW5jbHVkZSAiTGlua1JlbEF0dHJpYnV0ZS5o
IgorI2luY2x1ZGUgIkxvYWRJbml0aWF0b3IuaCIKICNpbmNsdWRlICJNZWRpYUxpc3QuaCIKICNp
bmNsdWRlICJNZWRpYVF1ZXJ5RXZhbHVhdG9yLmgiCiAKQEAgLTQzLDEwICs0NCwxMSBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiAKLWNsYXNzIFBy
ZWxvYWRUYXNrIHsKK2NsYXNzIFByZWxvYWRUYXNrIDogcHJpdmF0ZSBMb2FkSW5pdGlhdG9yIHsK
IHB1YmxpYzoKLSAgICBleHBsaWNpdCBQcmVsb2FkVGFzayhjb25zdCBIVE1MVG9rZW4mIHRva2Vu
KQorICAgIGV4cGxpY2l0IFByZWxvYWRUYXNrKGNvbnN0IEhUTUxUb2tlbiYgdG9rZW4sIERvY3Vt
ZW50KiBkb2N1bWVudCkKICAgICAgICAgOiBtX3RhZ05hbWUodG9rZW4ubmFtZSgpLmRhdGEoKSwg
dG9rZW4ubmFtZSgpLnNpemUoKSkKKyAgICAgICAgLCBtX2RvY3VtZW50KGRvY3VtZW50KQogICAg
ICAgICAsIG1fbGlua0lzU3R5bGVTaGVldChmYWxzZSkKICAgICAgICAgLCBtX2xpbmtNZWRpYUF0
dHJpYnV0ZUlzU2NyZWVuKHRydWUpCiAgICAgICAgICwgbV9pbnB1dElzSW1hZ2UoZmFsc2UpCkBA
IC0xMjEsMjYgKzEyMywzMCBAQCBwdWJsaWM6CiAgICAgICAgIG1fdXJsVG9Mb2FkID0gc3RyaXBM
ZWFkaW5nQW5kVHJhaWxpbmdIVE1MU3BhY2VzKGF0dHJpYnV0ZVZhbHVlKTsKICAgICB9CiAKLSAg
ICB2b2lkIHByZWxvYWQoRG9jdW1lbnQqIGRvY3VtZW50LCBib29sIHNjYW5uaW5nQm9keSwgY29u
c3QgS1VSTCYgYmFzZVVSTCkKKyAgICB2b2lkIHByZWxvYWQoYm9vbCBzY2FubmluZ0JvZHksIGNv
bnN0IEtVUkwmIGJhc2VVUkwpCiAgICAgewogICAgICAgICBpZiAobV91cmxUb0xvYWQuaXNFbXB0
eSgpKQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIENhY2hlZFJlc291cmNlTG9hZGVy
KiBjYWNoZWRSZXNvdXJjZUxvYWRlciA9IGRvY3VtZW50LT5jYWNoZWRSZXNvdXJjZUxvYWRlcigp
OwotICAgICAgICBSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdCA9IGRvY3VtZW50LT5jb21wbGV0ZVVS
TChtX3VybFRvTG9hZCwgYmFzZVVSTCk7CisgICAgICAgIENhY2hlZFJlc291cmNlTG9hZGVyKiBj
YWNoZWRSZXNvdXJjZUxvYWRlciA9IG1fZG9jdW1lbnQtPmNhY2hlZFJlc291cmNlTG9hZGVyKCk7
CisgICAgICAgIFJlc291cmNlUmVxdWVzdCByZXF1ZXN0ID0gbV9kb2N1bWVudC0+Y29tcGxldGVV
UkwobV91cmxUb0xvYWQsIGJhc2VVUkwpOwogICAgICAgICBpZiAobV90YWdOYW1lID09IHNjcmlw
dFRhZykKLSAgICAgICAgICAgIGNhY2hlZFJlc291cmNlTG9hZGVyLT5wcmVsb2FkKENhY2hlZFJl
c291cmNlOjpTY3JpcHQsIHJlcXVlc3QsIG1fY2hhcnNldCwgc2Nhbm5pbmdCb2R5KTsKKyAgICAg
ICAgICAgIGNhY2hlZFJlc291cmNlTG9hZGVyLT5wcmVsb2FkKENhY2hlZFJlc291cmNlOjpTY3Jp
cHQsIHJlcXVlc3QsIG1fY2hhcnNldCwgc2Nhbm5pbmdCb2R5LCAqdGhpcyk7CiAgICAgICAgIGVs
c2UgaWYgKG1fdGFnTmFtZSA9PSBpbWdUYWcgfHwgKG1fdGFnTmFtZSA9PSBpbnB1dFRhZyAmJiBt
X2lucHV0SXNJbWFnZSkpCi0gICAgICAgICAgICBjYWNoZWRSZXNvdXJjZUxvYWRlci0+cHJlbG9h
ZChDYWNoZWRSZXNvdXJjZTo6SW1hZ2VSZXNvdXJjZSwgcmVxdWVzdCwgU3RyaW5nKCksIHNjYW5u
aW5nQm9keSk7CisgICAgICAgICAgICBjYWNoZWRSZXNvdXJjZUxvYWRlci0+cHJlbG9hZChDYWNo
ZWRSZXNvdXJjZTo6SW1hZ2VSZXNvdXJjZSwgcmVxdWVzdCwgU3RyaW5nKCksIHNjYW5uaW5nQm9k
eSwgKnRoaXMpOwogICAgICAgICBlbHNlIGlmIChtX3RhZ05hbWUgPT0gbGlua1RhZyAmJiBtX2xp
bmtJc1N0eWxlU2hlZXQgJiYgbV9saW5rTWVkaWFBdHRyaWJ1dGVJc1NjcmVlbikgCi0gICAgICAg
ICAgICBjYWNoZWRSZXNvdXJjZUxvYWRlci0+cHJlbG9hZChDYWNoZWRSZXNvdXJjZTo6Q1NTU3R5
bGVTaGVldCwgcmVxdWVzdCwgbV9jaGFyc2V0LCBzY2FubmluZ0JvZHkpOworICAgICAgICAgICAg
Y2FjaGVkUmVzb3VyY2VMb2FkZXItPnByZWxvYWQoQ2FjaGVkUmVzb3VyY2U6OkNTU1N0eWxlU2hl
ZXQsIHJlcXVlc3QsIG1fY2hhcnNldCwgc2Nhbm5pbmdCb2R5LCAqdGhpcyk7CiAgICAgfQogCiAg
ICAgY29uc3QgQXRvbWljU3RyaW5nJiB0YWdOYW1lKCkgY29uc3QgeyByZXR1cm4gbV90YWdOYW1l
OyB9CiAgICAgY29uc3QgU3RyaW5nJiBiYXNlRWxlbWVudEhyZWYoKSBjb25zdCB7IHJldHVybiBt
X2Jhc2VFbGVtZW50SHJlZjsgfQogCiBwcml2YXRlOgorICAgIHZpcnR1YWwgY29uc3QgQXRvbWlj
U3RyaW5nJiBpbml0aWF0b3JOYW1lKCkgY29uc3QgeyByZXR1cm4gbV90YWdOYW1lOyB9CisgICAg
dmlydHVhbCBEb2N1bWVudCogaW5pdGlhdG9yRG9jdW1lbnQoKSBjb25zdCB7IHJldHVybiBtX2Rv
Y3VtZW50OyB9CisKICAgICBBdG9taWNTdHJpbmcgbV90YWdOYW1lOworICAgIERvY3VtZW50KiBt
X2RvY3VtZW50OwogICAgIFN0cmluZyBtX3VybFRvTG9hZDsKICAgICBTdHJpbmcgbV9jaGFyc2V0
OwogICAgIFN0cmluZyBtX2Jhc2VFbGVtZW50SHJlZjsKQEAgLTE5MCw3ICsxOTYsNyBAQCB2b2lk
IEhUTUxQcmVsb2FkU2Nhbm5lcjo6cHJvY2Vzc1Rva2VuKCkKICAgICBpZiAobV90b2tlbi50eXBl
KCkgIT0gSFRNTFRva2VuVHlwZXM6OlN0YXJ0VGFnKQogICAgICAgICByZXR1cm47CiAKLSAgICBQ
cmVsb2FkVGFzayB0YXNrKG1fdG9rZW4pOworICAgIFByZWxvYWRUYXNrIHRhc2sobV90b2tlbiwg
bV9kb2N1bWVudCk7CiAgICAgbV90b2tlbml6ZXItPnVwZGF0ZVN0YXRlRm9yKHRhc2sudGFnTmFt
ZSgpLCBtX2RvY3VtZW50LT5mcmFtZSgpKTsKIAogICAgIGlmICh0YXNrLnRhZ05hbWUoKSA9PSBi
b2R5VGFnKQpAQCAtMjAyLDcgKzIwOCw3IEBAIHZvaWQgSFRNTFByZWxvYWRTY2FubmVyOjpwcm9j
ZXNzVG9rZW4oKQogICAgIGlmICh0YXNrLnRhZ05hbWUoKSA9PSBiYXNlVGFnKQogICAgICAgICB1
cGRhdGVQcmVkaWN0ZWRCYXNlRWxlbWVudFVSTChLVVJMKG1fZG9jdW1lbnQtPnVybCgpLCB0YXNr
LmJhc2VFbGVtZW50SHJlZigpKSk7CiAKLSAgICB0YXNrLnByZWxvYWQobV9kb2N1bWVudCwgc2Nh
bm5pbmdCb2R5KCksIG1fcHJlZGljdGVkQmFzZUVsZW1lbnRVUkwuaXNFbXB0eSgpID8gbV9kb2N1
bWVudC0+YmFzZVVSTCgpIDogbV9wcmVkaWN0ZWRCYXNlRWxlbWVudFVSTCk7CisgICAgdGFzay5w
cmVsb2FkKHNjYW5uaW5nQm9keSgpLCBtX3ByZWRpY3RlZEJhc2VFbGVtZW50VVJMLmlzRW1wdHko
KSA/IG1fZG9jdW1lbnQtPmJhc2VVUkwoKSA6IG1fcHJlZGljdGVkQmFzZUVsZW1lbnRVUkwpOwog
fQogCiBib29sIEhUTUxQcmVsb2FkU2Nhbm5lcjo6c2Nhbm5pbmdCb2R5KCkgY29uc3QKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svTG9hZGFibGVUZXh0VHJhY2suY3BwIGIv
U291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9Mb2FkYWJsZVRleHRUcmFjay5jcHAKaW5kZXggZDk1
ZThjY2Y5ZDZlYTFmOGE1MTY4YjNlNmNmYzI2NzdkODkxYTQyOS4uMWJmMWIzYzVlMzgyYmYyOTQw
ODRkZTVjZmViYjM3ZTc0OTc1OWMwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC90
cmFjay9Mb2FkYWJsZVRleHRUcmFjay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC90cmFj
ay9Mb2FkYWJsZVRleHRUcmFjay5jcHAKQEAgLTEyMiw2ICsxMjIsMTEgQEAgdm9pZCBMb2FkYWJs
ZVRleHRUcmFjazo6Y3VlTG9hZGluZ0NvbXBsZXRlZChUZXh0VHJhY2tMb2FkZXIqIGxvYWRlciwg
Ym9vbCBsb2FkaW4KICAgICBtX3RyYWNrRWxlbWVudC0+ZGlkQ29tcGxldGVMb2FkKHRoaXMsIGxv
YWRpbmdGYWlsZWQgPyBIVE1MVHJhY2tFbGVtZW50OjpGYWlsdXJlIDogSFRNTFRyYWNrRWxlbWVu
dDo6U3VjY2Vzcyk7CiB9CiAKK05vZGUqIExvYWRhYmxlVGV4dFRyYWNrOjppbml0aWF0b3JOb2Rl
KCkKK3sKKyAgICByZXR1cm4gbV90cmFja0VsZW1lbnQ7Cit9CisKIHNpemVfdCBMb2FkYWJsZVRl
eHRUcmFjazo6dHJhY2tFbGVtZW50SW5kZXgoKQogewogICAgIEFTU0VSVChtX3RyYWNrRWxlbWVu
dCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL0xvYWRhYmxlVGV4dFRy
YWNrLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL0xvYWRhYmxlVGV4dFRyYWNrLmgKaW5k
ZXggMzMxODNkYjliNDcxYjIxZDNhYmNkMTQ3MTM3YjMzMjc3NDNmYjg0Ni4uYTI4NmFkNGRkZjI0
YTMxNzY1ZWI4MWU5MzQ3Zjc0M2RmMzZjMTI4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC90cmFjay9Mb2FkYWJsZVRleHRUcmFjay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
dHJhY2svTG9hZGFibGVUZXh0VHJhY2suaApAQCAtNDEsNyArNDEsNyBAQCBjbGFzcyBMb2FkYWJs
ZVRleHRUcmFjazsKIGNsYXNzIExvYWRhYmxlVGV4dFRyYWNrQ2xpZW50IDogcHVibGljIFRleHRU
cmFja0NsaWVudCB7CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+TG9hZGFibGVUZXh0VHJhY2tDbGll
bnQoKSB7IH0KLSAgICAKKwogICAgIHZpcnR1YWwgYm9vbCBjYW5Mb2FkVXJsKExvYWRhYmxlVGV4
dFRyYWNrKiwgY29uc3QgS1VSTCYpIHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCB2b2lk
IGxvYWRpbmdDb21wbGV0ZWQoTG9hZGFibGVUZXh0VHJhY2sqLCBib29sIC8qIGxvYWRpbmdGYWls
ZWQgKi8pIHsgfQogfTsKQEAgLTY3LDYgKzY3LDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZv
aWQgbmV3Q3Vlc0F2YWlsYWJsZShUZXh0VHJhY2tMb2FkZXIqKTsKICAgICB2aXJ0dWFsIHZvaWQg
Y3VlTG9hZGluZ1N0YXJ0ZWQoVGV4dFRyYWNrTG9hZGVyKik7CiAgICAgdmlydHVhbCB2b2lkIGN1
ZUxvYWRpbmdDb21wbGV0ZWQoVGV4dFRyYWNrTG9hZGVyKiwgYm9vbCBsb2FkaW5nRmFpbGVkKTsK
KyAgICB2aXJ0dWFsIE5vZGUqIGluaXRpYXRvck5vZGUoKTsKIAogICAgIExvYWRhYmxlVGV4dFRy
YWNrKEhUTUxUcmFja0VsZW1lbnQqLCBjb25zdCBTdHJpbmcmIGtpbmQsIGNvbnN0IFN0cmluZyYg
bGFiZWwsIGNvbnN0IFN0cmluZyYgbGFuZ3VhZ2UsIGJvb2wgaXNEZWZhdWx0KTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZFRpbWluZy5oIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZFRpbWluZy5oCmluZGV4IDY0NDk0MzMwZDUwNmM4
N2VmOTkxMjRiMjM2OWI4NzVlNDgyZjVlNTAuLmNjNDg4ODlhNThjNzcyMTZjODFlNmY1ZmUwZWFm
NTNiN2VjMTkwMmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExv
YWRUaW1pbmcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkVGltaW5n
LmgKQEAgLTY4LDYgKzY4LDggQEAgcHVibGljOgogICAgIGJvb2wgaGFzQ3Jvc3NPcmlnaW5SZWRp
cmVjdCgpIGNvbnN0IHsgcmV0dXJuIG1faGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdDsgfQogICAgIGJv
b2wgaGFzU2FtZU9yaWdpbkFzUHJldmlvdXNEb2N1bWVudCgpIGNvbnN0IHsgcmV0dXJuIG1faGFz
U2FtZU9yaWdpbkFzUHJldmlvdXNEb2N1bWVudDsgfQogCisgICAgZG91YmxlIG1vbm90b25pY05h
dmlnYXRpb25TdGFydCgpIGNvbnN0IHsgcmV0dXJuIG1fbmF2aWdhdGlvblN0YXJ0OyB9CisKIHBy
aXZhdGU6CiAgICAgZG91YmxlIG1fcmVmZXJlbmNlTW9ub3RvbmljVGltZTsKICAgICBkb3VibGUg
bV9yZWZlcmVuY2VXYWxsVGltZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9E
b2N1bWVudFRocmVhZGFibGVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3Vt
ZW50VGhyZWFkYWJsZUxvYWRlci5jcHAKaW5kZXggNzFhMWFkM2IxOTcxMThjMmFiMWJjZGUyOTBh
MzE5MmQ1YzY5MDc0Zi4uYjUwNjU2YWY5NmY2YTcxYTk5YTE2MzUxZTkxNWM3MWVkMzUxYmRiOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRl
ci5jcHAKQEAgLTU1LDI4ICs1NSwyOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXZvaWQg
RG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyOjpsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KERvY3Vt
ZW50KiBkb2N1bWVudCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBUaHJlYWRhYmxl
TG9hZGVyQ2xpZW50JiBjbGllbnQsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJiBvcHRp
b25zKQordm9pZCBEb2N1bWVudFRocmVhZGFibGVMb2FkZXI6OmxvYWRSZXNvdXJjZVN5bmNocm9u
b3VzbHkoRG9jdW1lbnQqIGRvY3VtZW50LCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3Qs
IFRocmVhZGFibGVMb2FkZXJDbGllbnQmIGNsaWVudCwgY29uc3QgVGhyZWFkYWJsZUxvYWRlck9w
dGlvbnMmIG9wdGlvbnMsIGNvbnN0IExvYWRJbml0aWF0b3ImIGluaXRpYXRvcikKIHsKICAgICAv
LyBUaGUgbG9hZGVyIHdpbGwgYmUgZGVsZXRlZCBhcyBzb29uIGFzIHRoaXMgZnVuY3Rpb24gZXhp
dHMuCi0gICAgUmVmUHRyPERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcj4gbG9hZGVyID0gYWRvcHRS
ZWYobmV3IERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcihkb2N1bWVudCwgJmNsaWVudCwgTG9hZFN5
bmNocm9ub3VzbHksIHJlcXVlc3QsIG9wdGlvbnMpKTsKKyAgICBSZWZQdHI8RG9jdW1lbnRUaHJl
YWRhYmxlTG9hZGVyPiBsb2FkZXIgPSBhZG9wdFJlZihuZXcgRG9jdW1lbnRUaHJlYWRhYmxlTG9h
ZGVyKGRvY3VtZW50LCAmY2xpZW50LCBMb2FkU3luY2hyb25vdXNseSwgcmVxdWVzdCwgb3B0aW9u
cywgaW5pdGlhdG9yKSk7CiAgICAgQVNTRVJUKGxvYWRlci0+aGFzT25lUmVmKCkpOwogfQogCi1Q
YXNzUmVmUHRyPERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcj4gRG9jdW1lbnRUaHJlYWRhYmxlTG9h
ZGVyOjpjcmVhdGUoRG9jdW1lbnQqIGRvY3VtZW50LCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50KiBj
bGllbnQsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgVGhyZWFkYWJsZUxv
YWRlck9wdGlvbnMmIG9wdGlvbnMpCitQYXNzUmVmUHRyPERvY3VtZW50VGhyZWFkYWJsZUxvYWRl
cj4gRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyOjpjcmVhdGUoRG9jdW1lbnQqIGRvY3VtZW50LCBU
aHJlYWRhYmxlTG9hZGVyQ2xpZW50KiBjbGllbnQsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVx
dWVzdCwgY29uc3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMmIG9wdGlvbnMsIGNvbnN0IExvYWRJ
bml0aWF0b3ImIGluaXRpYXRvcikKIHsKLSAgICBSZWZQdHI8RG9jdW1lbnRUaHJlYWRhYmxlTG9h
ZGVyPiBsb2FkZXIgPSBhZG9wdFJlZihuZXcgRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyKGRvY3Vt
ZW50LCBjbGllbnQsIExvYWRBc3luY2hyb25vdXNseSwgcmVxdWVzdCwgb3B0aW9ucykpOworICAg
IFJlZlB0cjxEb2N1bWVudFRocmVhZGFibGVMb2FkZXI+IGxvYWRlciA9IGFkb3B0UmVmKG5ldyBE
b2N1bWVudFRocmVhZGFibGVMb2FkZXIoZG9jdW1lbnQsIGNsaWVudCwgTG9hZEFzeW5jaHJvbm91
c2x5LCByZXF1ZXN0LCBvcHRpb25zLCBpbml0aWF0b3IpKTsKICAgICBpZiAoIWxvYWRlci0+bV9y
ZXNvdXJjZSkKICAgICAgICAgbG9hZGVyID0gMDsKICAgICByZXR1cm4gbG9hZGVyLnJlbGVhc2Uo
KTsKIH0KIAotRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyOjpEb2N1bWVudFRocmVhZGFibGVMb2Fk
ZXIoRG9jdW1lbnQqIGRvY3VtZW50LCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50KiBjbGllbnQsIEJs
b2NraW5nQmVoYXZpb3IgYmxvY2tpbmdCZWhhdmlvciwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBy
ZXF1ZXN0LCBjb25zdCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9ucyYgb3B0aW9ucykKK0RvY3VtZW50
VGhyZWFkYWJsZUxvYWRlcjo6RG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyKERvY3VtZW50KiBkb2N1
bWVudCwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCogY2xpZW50LCBCbG9ja2luZ0JlaGF2aW9yIGJs
b2NraW5nQmVoYXZpb3IsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgVGhy
ZWFkYWJsZUxvYWRlck9wdGlvbnMmIG9wdGlvbnMsIGNvbnN0IExvYWRJbml0aWF0b3ImIGluaXRp
YXRvcikKICAgICA6IG1fY2xpZW50KGNsaWVudCkKICAgICAsIG1fZG9jdW1lbnQoZG9jdW1lbnQp
CiAgICAgLCBtX29wdGlvbnMob3B0aW9ucykKICAgICAsIG1fc2FtZU9yaWdpblJlcXVlc3Qoc2Vj
dXJpdHlPcmlnaW4oKS0+Y2FuUmVxdWVzdChyZXF1ZXN0LnVybCgpKSkKICAgICAsIG1fc2ltcGxl
UmVxdWVzdCh0cnVlKQogICAgICwgbV9hc3luYyhibG9ja2luZ0JlaGF2aW9yID09IExvYWRBc3lu
Y2hyb25vdXNseSkKKyAgICAsIG1faW5pdGlhdG9yKGluaXRpYXRvcikKICNpZiBFTkFCTEUoSU5T
UEVDVE9SKQogICAgICwgbV9wcmVmbGlnaHRSZXF1ZXN0SWRlbnRpZmllcigwKQogI2VuZGlmCkBA
IC0zMDMsNyArMzA0LDcgQEAgdm9pZCBEb2N1bWVudFRocmVhZGFibGVMb2FkZXI6Om5vdGlmeUZp
bmlzaGVkKENhY2hlZFJlc291cmNlKiByZXNvdXJjZSkKIHsKICAgICBBU1NFUlQobV9jbGllbnQp
OwogICAgIEFTU0VSVF9VTlVTRUQocmVzb3VyY2UsIHJlc291cmNlID09IG1fcmVzb3VyY2UpOwot
ICAgICAgICAKKwogICAgIGlmIChtX3Jlc291cmNlICYmIChtX3Jlc291cmNlLT5lcnJvck9jY3Vy
cmVkKCkgfHwgbV9yZXNvdXJjZS0+d2FzQ2FuY2VsZWQoKSkpIHsKICAgICAgICAgUmVzb3VyY2VF
cnJvciBlcnJvcigiTmV0d29yayBSZXF1ZXN0IEZhaWxlZCIsIDAsIG1fcmVzb3VyY2UtPnVybCgp
LCAiUmVzb3VyY2UgZmFpbGVkIHRvIGxvYWQiKTsKICAgICAgICAgaWYgKG1fcmVzb3VyY2UtPndh
c0NhbmNlbGVkKCkpCkBAIC0zODYsNyArMzg3LDcgQEAgdm9pZCBEb2N1bWVudFRocmVhZGFibGVM
b2FkZXI6OmxvYWRSZXF1ZXN0KGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgU2VjdXIK
ICAgICAgICAgfQogI2VuZGlmCiAgICAgICAgIEFTU0VSVCghbV9yZXNvdXJjZSk7Ci0gICAgICAg
IG1fcmVzb3VyY2UgPSBtX2RvY3VtZW50LT5jYWNoZWRSZXNvdXJjZUxvYWRlcigpLT5yZXF1ZXN0
UmF3UmVzb3VyY2UobmV3UmVxdWVzdCwgb3B0aW9ucyk7CisgICAgICAgIG1fcmVzb3VyY2UgPSBt
X2RvY3VtZW50LT5jYWNoZWRSZXNvdXJjZUxvYWRlcigpLT5yZXF1ZXN0UmF3UmVzb3VyY2UobmV3
UmVxdWVzdCwgb3B0aW9ucywgbV9pbml0aWF0b3IpOwogICAgICAgICBpZiAobV9yZXNvdXJjZSkg
ewogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgICAgICAgICBpZiAobV9yZXNvdXJjZS0+bG9h
ZGVyKCkpIHsKQEAgLTM5OCw3ICszOTksNyBAQCB2b2lkIERvY3VtZW50VGhyZWFkYWJsZUxvYWRl
cjo6bG9hZFJlcXVlc3QoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBTZWN1cgogICAg
ICAgICB9CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0gICAgCisKICAgICAvLyBGSVhNRTogVGhy
ZWFkYWJsZUxvYWRlck9wdGlvbnMuc25pZmZDb250ZW50IGlzIG5vdCBzdXBwb3J0ZWQgZm9yIHN5
bmNocm9ub3VzIHJlcXVlc3RzLgogICAgIFZlY3RvcjxjaGFyPiBkYXRhOwogICAgIFJlc291cmNl
RXJyb3IgZXJyb3I7CkBAIC00MzAsNyArNDMxLDEzIEBAIHZvaWQgRG9jdW1lbnRUaHJlYWRhYmxl
TG9hZGVyOjpsb2FkUmVxdWVzdChjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFNlY3Vy
CiAgICAgaW50IGxlbiA9IHN0YXRpY19jYXN0PGludD4oZGF0YS5zaXplKCkpOwogICAgIGRhdGFS
ZWNlaXZlZCgwLCBieXRlcywgbGVuKTsKIAotICAgIGRpZEZpbmlzaExvYWRpbmcoaWRlbnRpZmll
ciwgMC4wKTsKKyAgICBkb3VibGUgZmluaXNoVGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5n
VGltZSgpOworI2lmIEVOQUJMRShSRVNPVVJDRV9USU1JTkcpCisgICAgaWYgKG1faW5pdGlhdG9y
LmluaXRpYXRvckRvY3VtZW50KCkpCisgICAgICAgIG1faW5pdGlhdG9yLmluaXRpYXRvckRvY3Vt
ZW50KCktPmRvbVdpbmRvdygpLT5wZXJmb3JtYW5jZSgpLT5hZGRSZXNvdXJjZVRpbWluZyhtX2lu
aXRpYXRvciwgcmVxdWVzdCwgcmVzcG9uc2UsIG1faW5pdGlhdG9yLmluaXRpYXRpb25UaW1lKCks
IGZpbmlzaFRpbWUpOworI2VuZGlmCisKKyAgICBkaWRGaW5pc2hMb2FkaW5nKGlkZW50aWZpZXIs
IGZpbmlzaFRpbWUpOwogfQogCiBib29sIERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcjo6aXNBbGxv
d2VkUmVkaXJlY3QoY29uc3QgS1VSTCYgdXJsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5oCmluZGV4IDg3OTkxOWZlY2E1NWEyMWRjY2UzYmQw
MWNiOWRkOThjNTlmNDEwNWMuLjQ5MGY5Njc2Y2U0ZGIyMmQwOGRhMGIzNGU2ZDg1NTU5NTk0ZTEy
MmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVM
b2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9h
ZGVyLmgKQEAgLTM0LDYgKzM0LDggQEAKICNpbmNsdWRlICJDYWNoZWRSYXdSZXNvdXJjZS5oIgog
I2luY2x1ZGUgIkNhY2hlZFJlc291cmNlSGFuZGxlLmgiCiAjaW5jbHVkZSAiRnJhbWVMb2FkZXJU
eXBlcy5oIgorI2luY2x1ZGUgIkxvYWRJbml0aWF0b3JIYW5kbGUuaCIKKyNpbmNsdWRlICJOdWxs
TG9hZEluaXRpYXRvci5oIgogI2luY2x1ZGUgIlRocmVhZGFibGVMb2FkZXIuaCIKICNpbmNsdWRl
IDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KQEAgLTQ1LDYgKzQ3LDcg
QEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBEb2N1bWVudDsKICAgICBjbGFzcyBL
VVJMOworICAgIGNsYXNzIExvYWRJbml0aWF0b3I7CiAgICAgY2xhc3MgUmVzb3VyY2VSZXF1ZXN0
OwogICAgIGNsYXNzIFNlY3VyaXR5T3JpZ2luOwogICAgIGNsYXNzIFRocmVhZGFibGVMb2FkZXJD
bGllbnQ7CkBAIC01Miw4ICs1NSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBE
b2N1bWVudFRocmVhZGFibGVMb2FkZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxEb2N1bWVudFRocmVh
ZGFibGVMb2FkZXI+LCBwdWJsaWMgVGhyZWFkYWJsZUxvYWRlciwgcHJpdmF0ZSBDYWNoZWRSYXdS
ZXNvdXJjZUNsaWVudCAgewogICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBw
dWJsaWM6Ci0gICAgICAgIHN0YXRpYyB2b2lkIGxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoRG9j
dW1lbnQqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50Jiwg
Y29uc3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMmKTsKLSAgICAgICAgc3RhdGljIFBhc3NSZWZQ
dHI8RG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyPiBjcmVhdGUoRG9jdW1lbnQqLCBUaHJlYWRhYmxl
TG9hZGVyQ2xpZW50KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgVGhyZWFkYWJsZUxv
YWRlck9wdGlvbnMmKTsKKyAgICAgICAgc3RhdGljIHZvaWQgbG9hZFJlc291cmNlU3luY2hyb25v
dXNseShEb2N1bWVudCosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIFRocmVhZGFibGVMb2FkZXJD
bGllbnQmLCBjb25zdCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9ucyYsIGNvbnN0IExvYWRJbml0aWF0
b3ImID0gTnVsbExvYWRJbml0aWF0b3I6Omluc3RhbmNlKCkpOworICAgICAgICBzdGF0aWMgUGFz
c1JlZlB0cjxEb2N1bWVudFRocmVhZGFibGVMb2FkZXI+IGNyZWF0ZShEb2N1bWVudCosIFRocmVh
ZGFibGVMb2FkZXJDbGllbnQqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBUaHJlYWRh
YmxlTG9hZGVyT3B0aW9ucyYsIGNvbnN0IExvYWRJbml0aWF0b3ImID0gTnVsbExvYWRJbml0aWF0
b3I6Omluc3RhbmNlKCkpOwogICAgICAgICB2aXJ0dWFsIH5Eb2N1bWVudFRocmVhZGFibGVMb2Fk
ZXIoKTsKIAogICAgICAgICB2aXJ0dWFsIHZvaWQgY2FuY2VsKCk7CkBAIC03Miw3ICs3NSw3IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAgIExvYWRBc3luY2hyb25vdXNseQogICAg
ICAgICB9OwogCi0gICAgICAgIERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcihEb2N1bWVudCosIFRo
cmVhZGFibGVMb2FkZXJDbGllbnQqLCBCbG9ja2luZ0JlaGF2aW9yLCBjb25zdCBSZXNvdXJjZVJl
cXVlc3QmLCBjb25zdCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9ucyYpOworICAgICAgICBEb2N1bWVu
dFRocmVhZGFibGVMb2FkZXIoRG9jdW1lbnQqLCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50KiwgQmxv
Y2tpbmdCZWhhdmlvciwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgVGhyZWFkYWJsZUxv
YWRlck9wdGlvbnMmLCBjb25zdCBMb2FkSW5pdGlhdG9yJik7CiAKICAgICAgICAgdm9pZCBjbGVh
clJlc291cmNlKCk7CiAKQEAgLTEwOCw2ICsxMTEsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgICAgIGJvb2wgbV9zaW1wbGVSZXF1ZXN0OwogICAgICAgICBib29sIG1fYXN5bmM7CiAgICAg
ICAgIE93blB0cjxSZXNvdXJjZVJlcXVlc3Q+IG1fYWN0dWFsUmVxdWVzdDsgIC8vIG5vbi1udWxs
IGR1cmluZyBBY2Nlc3MgQ29udHJvbCBwcmVmbGlnaHQgY2hlY2tzCisgICAgICAgIExvYWRJbml0
aWF0b3JIYW5kbGUgbV9pbml0aWF0b3I7CiAKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgICAg
ICB1bnNpZ25lZCBsb25nIG1fcHJlZmxpZ2h0UmVxdWVzdElkZW50aWZpZXI7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL0ltYWdlTG9hZGVyLmNwcAppbmRleCAwNTIzYjNhODlmMzE2NzVjYzY5OWUxNWQ5ZDE2
MTYwN2Y3ZTc1YjExLi5iMTUxNWE1OGNmMmFlOWU5MzhhZTdhMmZmMjczNzkzMGU2MjM0MDI2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAKQEAgLTM0LDYgKzM0LDcgQEAKICNp
bmNsdWRlICJIVE1MT2JqZWN0RWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxQYXJzZXJJZGlvbXMu
aCIKICNpbmNsdWRlICJJbWFnZUxvYWRlckNsaWVudC5oIgorI2luY2x1ZGUgIk5vZGVMb2FkSW5p
dGlhdG9yLmgiCiAjaW5jbHVkZSAiUmVuZGVySW1hZ2UuaCIKICNpbmNsdWRlICJTY3JpcHRDYWxs
U3RhY2suaCIKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgpAQCAtMTk0LDcgKzE5NSw3IEBA
IHZvaWQgSW1hZ2VMb2FkZXI6OnVwZGF0ZUZyb21FbGVtZW50KCkKICAgICAgICAgICAgIGRvY3Vt
ZW50KCktPmNhY2hlZFJlc291cmNlTG9hZGVyKCktPm1fZG9jdW1lbnRSZXNvdXJjZXMuc2V0KG5l
d0ltYWdlLT51cmwoKSwgbmV3SW1hZ2UuZ2V0KCkpOwogICAgICAgICAgICAgZG9jdW1lbnQoKS0+
Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKS0+c2V0QXV0b0xvYWRJbWFnZXMoYXV0b0xvYWRPdGhlcklt
YWdlcyk7CiAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgbmV3SW1hZ2UgPSBkb2N1bWVudCgp
LT5jYWNoZWRSZXNvdXJjZUxvYWRlcigpLT5yZXF1ZXN0SW1hZ2UocmVxdWVzdCk7CisgICAgICAg
ICAgICBuZXdJbWFnZSA9IGRvY3VtZW50KCktPmNhY2hlZFJlc291cmNlTG9hZGVyKCktPnJlcXVl
c3RJbWFnZShyZXF1ZXN0LCBOb2RlTG9hZEluaXRpYXRvcihjbGllbnQoKS0+c291cmNlRWxlbWVu
dCgpKSk7CiAKICAgICAgICAgLy8gSWYgd2UgZG8gbm90IGhhdmUgYW4gaW1hZ2UgaGVyZSwgaXQg
bWVhbnMgdGhhdCBhIGNyb3NzLXNpdGUKICAgICAgICAgLy8gdmlvbGF0aW9uIG9jY3VycmVkLCBv
ciB0aGF0IHRoZSBpbWFnZSB3YXMgYmxvY2tlZCB2aWEgQ29udGVudApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0xpbmtMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0xpbmtMb2FkZXIuY3BwCmluZGV4IGFmMjVhODY4MDNjNDA3NDc5YzEwMjY3YWYyNjY3ZWEwMmFl
NWQyZjMuLjQxZjI0MTgwMjhjOGIyZmM3NmZjNDc2NGE4OGZjNzUzZGNkOTRiMDMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9MaW5rTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvTGlua0xvYWRlci5jcHAKQEAgLTQxLDYgKzQxLDcgQEAKICNpbmNsdWRlICJG
cmFtZS5oIgogI2luY2x1ZGUgIkZyYW1lVmlldy5oIgogI2luY2x1ZGUgIkxpbmtSZWxBdHRyaWJ1
dGUuaCIKKyNpbmNsdWRlICJOb2RlTG9hZEluaXRpYXRvci5oIgogI2luY2x1ZGUgIlNldHRpbmdz
LmgiCiAjaW5jbHVkZSAiU3R5bGVSZXNvbHZlci5oIgogCkBAIC0xMjAsMTIgKzEyMSwxMiBAQCBi
b29sIExpbmtMb2FkZXI6OmxvYWRMaW5rKGNvbnN0IExpbmtSZWxBdHRyaWJ1dGUmIHJlbEF0dHJp
YnV0ZSwgY29uc3QgU3RyaW5nJiB0eQogICAgICAgICAgICAgdHlwZSA9IENhY2hlZFJlc291cmNl
OjpMaW5rU3VicmVzb3VyY2U7CiAgICAgICAgIH0KICAgICAgICAgUmVzb3VyY2VSZXF1ZXN0IGxp
bmtSZXF1ZXN0KGRvY3VtZW50LT5jb21wbGV0ZVVSTChocmVmKSk7Ci0gICAgICAgIAorCiAgICAg
ICAgIGlmIChtX2NhY2hlZExpbmtSZXNvdXJjZSkgewogICAgICAgICAgICAgbV9jYWNoZWRMaW5r
UmVzb3VyY2UtPnJlbW92ZUNsaWVudCh0aGlzKTsKICAgICAgICAgICAgIG1fY2FjaGVkTGlua1Jl
c291cmNlID0gMDsKICAgICAgICAgfQotICAgICAgICBtX2NhY2hlZExpbmtSZXNvdXJjZSA9IGRv
Y3VtZW50LT5jYWNoZWRSZXNvdXJjZUxvYWRlcigpLT5yZXF1ZXN0TGlua1Jlc291cmNlKHR5cGUs
IGxpbmtSZXF1ZXN0LCBwcmlvcml0eSk7CisgICAgICAgIG1fY2FjaGVkTGlua1Jlc291cmNlID0g
ZG9jdW1lbnQtPmNhY2hlZFJlc291cmNlTG9hZGVyKCktPnJlcXVlc3RMaW5rUmVzb3VyY2UodHlw
ZSwgbGlua1JlcXVlc3QsIE5vZGVMb2FkSW5pdGlhdG9yKG1fY2xpZW50LT5pbml0aWF0b3JOb2Rl
KCkpLCBwcmlvcml0eSk7CiAgICAgICAgIGlmIChtX2NhY2hlZExpbmtSZXNvdXJjZSkKICAgICAg
ICAgICAgIG1fY2FjaGVkTGlua1Jlc291cmNlLT5hZGRDbGllbnQodGhpcyk7CiAgICAgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0xpbmtMb2FkZXJDbGllbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9MaW5rTG9hZGVyQ2xpZW50LmgKaW5kZXggNDM1MGVlNzhjOTVhNzYz
ZjljYzVkNDVlNWE4ZTE2MmE5YjFhNTA2My4uNmRiNGVkZGE3N2UyZGRiYTI5NzVjZDc3ZDgwZDNm
YjUyODAxNzQyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0xpbmtMb2FkZXJD
bGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTGlua0xvYWRlckNsaWVudC5oCkBA
IC0zMiwxMSArMzIsMTQgQEAKICNkZWZpbmUgTGlua0xvYWRlckNsaWVudF9oCiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKK2NsYXNzIE5vZGU7CiAKIGNsYXNzIExpbmtMb2FkZXJDbGllbnQgewogcHVi
bGljOgogICAgIHZpcnR1YWwgfkxpbmtMb2FkZXJDbGllbnQoKSB7IH0KIAorICAgIHZpcnR1YWwg
Tm9kZSogaW5pdGlhdG9yTm9kZSgpID0gMDsKKwogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRMb2Fk
TGluaygpID0gMDsKIAogICAgIHZpcnR1YWwgdm9pZCBsaW5rTG9hZGVkKCkgPSAwOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0xvYWRJbml0aWF0b3IuaCBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9Mb2FkSW5pdGlhdG9yLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjU2ZmYzM2FjNWIyZDBlZjFj
MTNkZWFjNzc3YjA0MjNiODZjZjQ4MQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9Mb2FkSW5pdGlhdG9yLmgKQEAgLTAsMCArMSw1MSBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24u
CisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMg
b2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgTG9hZEluaXRp
YXRvcl9oCisjZGVmaW5lIExvYWRJbml0aWF0b3JfaAorCituYW1lc3BhY2UgV1RGIHsKK2NsYXNz
IEF0b21pY1N0cmluZzsKK30KKworbmFtZXNwYWNlIFdlYkNvcmUgeworY2xhc3MgRG9jdW1lbnQ7
CisKK2NsYXNzIExvYWRJbml0aWF0b3IgeworcHVibGljOgorICAgIHZpcnR1YWwgfkxvYWRJbml0
aWF0b3IoKSB7IH0KKworICAgIHZpcnR1YWwgY29uc3QgV1RGOjpBdG9taWNTdHJpbmcmIGluaXRp
YXRvck5hbWUoKSBjb25zdCA9IDA7CisgICAgdmlydHVhbCBEb2N1bWVudCogaW5pdGlhdG9yRG9j
dW1lbnQoKSBjb25zdCA9IDA7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRp
ZiAvLyBMb2FkSW5pdGlhdG9yX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9M
b2FkSW5pdGlhdG9ySGFuZGxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Mb2FkSW5pdGlh
dG9ySGFuZGxlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jODYxMGYyZjJkMDIwYzk5Mzg2ZTE3YmQzNTA5ZGNl
YzYyNmU2YTM1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0xvYWRJ
bml0aWF0b3JIYW5kbGUuY3BwCkBAIC0wLDAgKzEsNjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICog
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0
cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAq
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisj
aW5jbHVkZSAiTG9hZEluaXRpYXRvckhhbmRsZS5oIgorCisjaW5jbHVkZSA8d3RmL0N1cnJlbnRU
aW1lLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworTG9hZEluaXRpYXRvckhhbmRsZTo6TG9h
ZEluaXRpYXRvckhhbmRsZSgpCit7CisgICAgY2xlYXIoKTsKK30KKworTG9hZEluaXRpYXRvckhh
bmRsZTo6TG9hZEluaXRpYXRvckhhbmRsZShjb25zdCBMb2FkSW5pdGlhdG9yJiBpbml0aWF0b3Ip
CisgICAgOiBtX25hbWUoaW5pdGlhdG9yLmluaXRpYXRvck5hbWUoKSkKKyAgICAsIG1fZG9jdW1l
bnQoaW5pdGlhdG9yLmluaXRpYXRvckRvY3VtZW50KCkpCisgICAgLCBtX3RpbWUobW9ub3Rvbmlj
YWxseUluY3JlYXNpbmdUaW1lKCkpCit7Cit9CisKK0xvYWRJbml0aWF0b3JIYW5kbGU6On5Mb2Fk
SW5pdGlhdG9ySGFuZGxlKCkKK3sKK30KKwordm9pZCBMb2FkSW5pdGlhdG9ySGFuZGxlOjpjbGVh
cigpCit7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIG5hbWUsICgicmVz
b3VyY2UiLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKSk7CisgICAgbV9uYW1l
ID0gbmFtZTsKKyAgICBtX2RvY3VtZW50LmNsZWFyKCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Mb2FkSW5pdGlhdG9ySGFu
ZGxlLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTG9hZEluaXRpYXRvckhhbmRsZS5oCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjM4MTU2OTViOWViY2RkMDZlZThhMDllNDQ4ZDEzOGM5MmU3ZWEwMzMKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTG9hZEluaXRpYXRvckhhbmRsZS5oCkBA
IC0wLDAgKzEsNjYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAq
IG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAq
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisg
KiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaWZuZGVmIExvYWRJbml0aWF0b3JIYW5kbGVfaAorI2RlZmluZSBMb2Fk
SW5pdGlhdG9ySGFuZGxlX2gKKworI2luY2x1ZGUgIkRvY3VtZW50LmgiCisjaW5jbHVkZSAiTG9h
ZEluaXRpYXRvci5oIgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvdGV4
dC9BdG9taWNTdHJpbmcuaD4KKworI2lmIEVOQUJMRShSRVNPVVJDRV9USU1JTkcpCisjaW5jbHVk
ZSAiRE9NV2luZG93LmgiCisjaW5jbHVkZSAiUGVyZm9ybWFuY2UuaCIKKyNlbmRpZgorCituYW1l
c3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIExvYWRJbml0aWF0b3JIYW5kbGUgOiBwdWJsaWMgTG9h
ZEluaXRpYXRvciB7CitwdWJsaWM6CisgICAgTG9hZEluaXRpYXRvckhhbmRsZSgpOworICAgIExv
YWRJbml0aWF0b3JIYW5kbGUoY29uc3QgTG9hZEluaXRpYXRvciYpOworICAgIHZpcnR1YWwgfkxv
YWRJbml0aWF0b3JIYW5kbGUoKTsKKworICAgIHZvaWQgY2xlYXIoKTsKKworICAgIHZpcnR1YWwg
Y29uc3QgQXRvbWljU3RyaW5nJiBpbml0aWF0b3JOYW1lKCkgY29uc3QgeyByZXR1cm4gbV9uYW1l
OyB9CisgICAgdmlydHVhbCBEb2N1bWVudCogaW5pdGlhdG9yRG9jdW1lbnQoKSBjb25zdCB7IHJl
dHVybiBtX2RvY3VtZW50LmdldCgpOyB9CisgICAgZG91YmxlIGluaXRpYXRpb25UaW1lKCkgY29u
c3QgeyByZXR1cm4gbV90aW1lOyB9CisKK3ByaXZhdGU6CisgICAgQXRvbWljU3RyaW5nIG1fbmFt
ZTsKKyAgICBSZWZQdHI8RG9jdW1lbnQ+IG1fZG9jdW1lbnQ7CisgICAgZG91YmxlIG1fdGltZTsK
K307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIExvYWRJbml0aWF0b3JI
YW5kbGVfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL01haW5SZXNvdXJjZUxv
YWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTWFpblJlc291cmNlTG9hZGVyLmNwcApp
bmRleCAxZjliYjQ2NTI1MzI1NTI3ODE5YmFmMDJhZDFmNmVhZjA0NzBiNmZiLi4yZTY0MjgyMGNl
MzQ3MDEzMDhmZWE0MzA5YTdiZjAzNGFjM2Q0YmFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvTWFpblJlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvTWFpblJlc291cmNlTG9hZGVyLmNwcApAQCAtNDQsNiArNDQsNyBAQAogI2luY2x1ZGUgIkhU
TUxGb3JtRWxlbWVudC5oIgogI2luY2x1ZGUgIkhpc3RvcnlJdGVtLmgiCiAjaW5jbHVkZSAiSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgiCisjaW5jbHVkZSAiTm9kZUxvYWRJbml0aWF0b3IuaCIK
ICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VFcnJvci5oIgogI2luY2x1ZGUg
IlJlc291cmNlSGFuZGxlLmgiCkBAIC01Myw2ICs1NCwxMSBAQAogI2luY2x1ZGUgIlNldHRpbmdz
LmgiCiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CiAKKyNpZiBFTkFCTEUoUkVTT1VSQ0Vf
VElNSU5HKQorI2luY2x1ZGUgIkhUTUxGcmFtZU93bmVyRWxlbWVudC5oIgorI2luY2x1ZGUgIlBl
cmZvcm1hbmNlLmgiCisjZW5kaWYKKwogI2lmIFBMQVRGT1JNKFFUKQogI2luY2x1ZGUgIlBsdWdp
bkRhdGFiYXNlLmgiCiAjZW5kaWYKQEAgLTUyMSw3ICs1MjcsMTMgQEAgdm9pZCBNYWluUmVzb3Vy
Y2VMb2FkZXI6OmRpZEZpbmlzaExvYWRpbmcoZG91YmxlIGZpbmlzaFRpbWUpCiAgICAgaWYgKG1f
bG9hZGluZ011bHRpcGFydENvbnRlbnQpCiAgICAgICAgIGRsLT5tYXliZUZpbmlzaExvYWRpbmdN
dWx0aXBhcnRDb250ZW50KCk7CiAKKwogICAgIGRvY3VtZW50TG9hZGVyKCktPnRpbWluZygpLT5z
ZXRSZXNwb25zZUVuZChmaW5pc2hUaW1lID8gZmluaXNoVGltZSA6IChtX3RpbWVPZkxhc3REYXRh
UmVjZWl2ZWQgPyBtX3RpbWVPZkxhc3REYXRhUmVjZWl2ZWQgOiBtb25vdG9uaWNhbGx5SW5jcmVh
c2luZ1RpbWUoKSkpOworI2lmIEVOQUJMRShSRVNPVVJDRV9USU1JTkcpCisgICAgaWYgKG1fZnJh
bWUtPm93bmVyRWxlbWVudCgpKQorICAgICAgICBtX2ZyYW1lLT5vd25lckVsZW1lbnQoKS0+ZG9j
dW1lbnQoKS0+ZG9tV2luZG93KCktPnBlcmZvcm1hbmNlKCktPmFkZFJlc291cmNlVGltaW5nKE5v
ZGVMb2FkSW5pdGlhdG9yKG1fZnJhbWUtPm93bmVyRWxlbWVudCgpKSwgb3JpZ2luYWxSZXF1ZXN0
KCksIG1fcmVzcG9uc2UsIGRvY3VtZW50TG9hZGVyKCktPnRpbWluZygpLT5tb25vdG9uaWNOYXZp
Z2F0aW9uU3RhcnQoKSwgZmluaXNoVGltZSk7CisjZW5kaWYKKwogICAgIGRvY3VtZW50TG9hZGVy
KCktPmZpbmlzaGVkTG9hZGluZygpOwogICAgIFJlc291cmNlTG9hZGVyOjpkaWRGaW5pc2hMb2Fk
aW5nKGZpbmlzaFRpbWUpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTnVs
bExvYWRJbml0aWF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL051bGxMb2FkSW5pdGlh
dG9yLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yNDcyN2JkYWU5YjhhNDBjNzMwZTFkOTA0YTNjMDE2YmFkYzVk
Yjk2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL051bGxMb2FkSW5p
dGlhdG9yLmNwcApAQCAtMCwwICsxLDQ0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdv
b2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUK
KyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5l
aXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUg
Ik51bGxMb2FkSW5pdGlhdG9yLmgiCisKKyNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworY29uc3QgTnVsbExvYWRJbml0aWF0b3ImIE51bGxMb2Fk
SW5pdGlhdG9yOjppbnN0YW5jZSgpCit7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChOdWxsTG9h
ZEluaXRpYXRvciwgaW5zdGFuY2UsICgpKTsKKyAgICByZXR1cm4gaW5zdGFuY2U7Cit9CisKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9O
dWxsTG9hZEluaXRpYXRvci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL051bGxMb2FkSW5pdGlh
dG9yLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYjA2ZGVhYTgzODc4NDUwY2VkMGY0ZTdiOWNiOGJkMWY3MmI0NDNl
NAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OdWxsTG9hZEluaXRp
YXRvci5oCkBAIC0wLDAgKzEsNTMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICog
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIE51bGxMb2FkSW5pdGlhdG9yX2gKKyNkZWZp
bmUgTnVsbExvYWRJbml0aWF0b3JfaAorCisjaW5jbHVkZSAiTG9hZEluaXRpYXRvci5oIgorI2lu
Y2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmluZy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7Citj
bGFzcyBEb2N1bWVudDsKKworY2xhc3MgTnVsbExvYWRJbml0aWF0b3IgOiBwdWJsaWMgTG9hZElu
aXRpYXRvciB7CitwdWJsaWM6CisgICAgc3RhdGljIGNvbnN0IE51bGxMb2FkSW5pdGlhdG9yJiBp
bnN0YW5jZSgpOworCisgICAgdmlydHVhbCBjb25zdCBXVEY6OkF0b21pY1N0cmluZyYgaW5pdGlh
dG9yTmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fbmFtZTsgfQorICAgIHZpcnR1YWwgRG9jdW1lbnQq
IGluaXRpYXRvckRvY3VtZW50KCkgY29uc3QgeyByZXR1cm4gMDsgfQorCitwcml2YXRlOgorICAg
IEF0b21pY1N0cmluZyBtX25hbWU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNl
bmRpZiAvLyBOdWxsTG9hZEluaXRpYXRvcl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvUmVzb3VyY2VMb2FkTm90aWZpZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jl
c291cmNlTG9hZE5vdGlmaWVyLmNwcAppbmRleCBjNzM0OWExZWQ2YTIzMzMyZGY4Yzk0Mjk5YjJm
MjljMTczNTAwMDQ3Li4yNGRmNDg5Yzc5MmViMDlmZWUwN2E0MDQxNjcwMDk1ZDU4NDJiNTk2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkTm90aWZpZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWROb3RpZmllci5jcHAKQEAg
LTEyMSw2ICsxMjEsMTAgQEAgdm9pZCBSZXNvdXJjZUxvYWROb3RpZmllcjo6ZGlzcGF0Y2hXaWxs
U2VuZFJlcXVlc3QoRG9jdW1lbnRMb2FkZXIqIGxvYWRlciwgdW5zaWcKICAgICAvLyBSZXBvcnQg
V2ViVGltaW5nIGZvciBhbGwgZnJhbWVzLgogICAgIGlmIChsb2FkZXIgJiYgIXJlcXVlc3QuaXNO
dWxsKCkgJiYgcmVxdWVzdC51cmwoKSA9PSBsb2FkZXItPnJlcXVlc3RVUkwoKSkKICAgICAgICAg
cmVxdWVzdC5zZXRSZXBvcnRMb2FkVGltaW5nKHRydWUpOworCisjaWYgRU5BQkxFKFJFU09VUkNF
X1RJTUlORykKKyAgICByZXF1ZXN0LnNldFJlcG9ydExvYWRUaW1pbmcodHJ1ZSk7CisjZW5kaWYK
IH0KIAogdm9pZCBSZXNvdXJjZUxvYWROb3RpZmllcjo6ZGlzcGF0Y2hEaWRSZWNlaXZlUmVzcG9u
c2UoRG9jdW1lbnRMb2FkZXIqIGxvYWRlciwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25z
dCBSZXNvdXJjZVJlc3BvbnNlJiByLCBSZXNvdXJjZUxvYWRlciogcmVzb3VyY2VMb2FkZXIpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmNwcAppbmRleCA3NzUyNTc5Y2UwNzRi
NGUxNGQ3MmEzYjBlOTVkMTczNmUwZTI1MDAzLi41ZWYyYmRmOTVhZDE0YTFjYWFmOGRjNGYwMTFm
ODE0ZGFmYWQ0ZGY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VM
b2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5jcHAK
QEAgLTI0MCw2ICsyNDAsOCBAQCB2b2lkIFJlc291cmNlTG9hZGVyOjp3aWxsU2VuZFJlcXVlc3Qo
UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBSZXNvdXJjZVJlcwogICAgIGlmICghcmVk
aXJlY3RSZXNwb25zZS5pc051bGwoKSkKICAgICAgICAgcmVzb3VyY2VMb2FkU2NoZWR1bGVyKCkt
PmNyb3NzT3JpZ2luUmVkaXJlY3RSZWNlaXZlZCh0aGlzLCByZXF1ZXN0LnVybCgpKTsKICAgICBt
X3JlcXVlc3QgPSByZXF1ZXN0OworICAgIGlmIChtX29yaWdpbmFsUmVxdWVzdC5pc051bGwoKSkK
KyAgICAgICAgbV9vcmlnaW5hbFJlcXVlc3QgPSByZXF1ZXN0OwogfQogCiB2b2lkIFJlc291cmNl
TG9hZGVyOjpkaWRTZW5kRGF0YSh1bnNpZ25lZCBsb25nIGxvbmcsIHVuc2lnbmVkIGxvbmcgbG9u
ZykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IDM2
YjM2NzY2MDY5MzYyMGRiNjQzMTFhZGQ5Mjg0MzVjYjZmYjg2YTIuLjJmYWYxZjM1YTBjZDg3ZGVh
MWQ3ZWRiODAxMmZiYzMwMzBiMjFjNGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9TdWJyZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnJl
c291cmNlTG9hZGVyLmNwcApAQCAtNiwxMyArNiwxMyBAQAogICogYXJlIG1ldDoKICAqCiAgKiAx
LiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuIAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICAqIDIuICBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAogICog
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKLSAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAKKyAqICAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgog
ICogMy4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJBcHBsZSIp
IG5vciB0aGUgbmFtZXMgb2YKICAqICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCi0gKiAgICAgZnJvbSB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLiAKKyAqICAg
ICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uCiAgKgogICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRT
IENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKICAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKQEAgLTQ0
LDYgKzQ0LDExIEBACiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogI2luY2x1ZGUgPHd0
Zi90ZXh0L0NTdHJpbmcuaD4KIAorI2lmIEVOQUJMRShSRVNPVVJDRV9USU1JTkcpCisjaW5jbHVk
ZSAiRE9NV2luZG93LmgiCisjaW5jbHVkZSAiUGVyZm9ybWFuY2UuaCIKKyNlbmRpZgorCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIERFRklORV9ERUJVR19PTkxZX0dMT0JBTChXVEY6OlJlZkNvdW50
ZWRMZWFrQ291bnRlciwgc3VicmVzb3VyY2VMb2FkZXJDb3VudGVyLCAoIlN1YnJlc291cmNlTG9h
ZGVyIikpOwpAQCAtMTYzLDcgKzE2OCw3IEBAIHZvaWQgU3VicmVzb3VyY2VMb2FkZXI6OndpbGxT
ZW5kUmVxdWVzdChSZXNvdXJjZVJlcXVlc3QmIG5ld1JlcXVlc3QsIGNvbnN0IFJlc291CiB7CiAg
ICAgLy8gU3RvcmUgdGhlIHByZXZpb3VzIFVSTCBiZWNhdXNlIHRoZSBjYWxsIHRvIFJlc291cmNl
TG9hZGVyOjp3aWxsU2VuZFJlcXVlc3Qgd2lsbCBtb2RpZnkgaXQuCiAgICAgS1VSTCBwcmV2aW91
c1VSTCA9IHJlcXVlc3QoKS51cmwoKTsKLSAgICAKKwogICAgIFJlc291cmNlTG9hZGVyOjp3aWxs
U2VuZFJlcXVlc3QobmV3UmVxdWVzdCwgcmVkaXJlY3RSZXNwb25zZSk7CiAgICAgaWYgKCFwcmV2
aW91c1VSTC5pc051bGwoKSAmJiAhbmV3UmVxdWVzdC5pc051bGwoKSAmJiBwcmV2aW91c1VSTCAh
PSBuZXdSZXF1ZXN0LnVybCgpKSB7CiAgICAgICAgIGlmIChtX2RvY3VtZW50TG9hZGVyLT5jYWNo
ZWRSZXNvdXJjZUxvYWRlcigpLT5jYW5SZXF1ZXN0KG1fcmVzb3VyY2UtPnR5cGUoKSwgbmV3UmVx
dWVzdC51cmwoKSkpIHsKQEAgLTIyNSw4ICsyMzAsOCBAQCB2b2lkIFN1YnJlc291cmNlTG9hZGVy
OjpkaWRSZWNlaXZlUmVzcG9uc2UoY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCiAg
ICAgaWYgKG1fbG9hZGluZ011bHRpcGFydENvbnRlbnQgJiYgYnVmZmVyICYmIGJ1ZmZlci0+c2l6
ZSgpKSB7CiAgICAgICAgIHNlbmREYXRhVG9SZXNvdXJjZShidWZmZXItPmRhdGEoKSwgYnVmZmVy
LT5zaXplKCkpOwogICAgICAgICBjbGVhclJlc291cmNlRGF0YSgpOwotICAgICAgICAvLyBTaW5j
ZSBhIHN1YnJlc291cmNlIGxvYWRlciBkb2VzIG5vdCBsb2FkIG11bHRpcGFydCBzZWN0aW9ucyBw
cm9ncmVzc2l2ZWx5LCBkYXRhIHdhcyBkZWxpdmVyZWQgdG8gdGhlIGxvYWRlciBhbGwgYXQgb25j
ZS4gICAgICAgIAotICAgICAgICAvLyBBZnRlciB0aGUgZmlyc3QgbXVsdGlwYXJ0IHNlY3Rpb24g
aXMgY29tcGxldGUsIHNpZ25hbCB0byBkZWxlZ2F0ZXMgdGhhdCB0aGlzIGxvYWQgaXMgImZpbmlz
aGVkIiAKKyAgICAgICAgLy8gU2luY2UgYSBzdWJyZXNvdXJjZSBsb2FkZXIgZG9lcyBub3QgbG9h
ZCBtdWx0aXBhcnQgc2VjdGlvbnMgcHJvZ3Jlc3NpdmVseSwgZGF0YSB3YXMgZGVsaXZlcmVkIHRv
IHRoZSBsb2FkZXIgYWxsIGF0IG9uY2UuCisgICAgICAgIC8vIEFmdGVyIHRoZSBmaXJzdCBtdWx0
aXBhcnQgc2VjdGlvbiBpcyBjb21wbGV0ZSwgc2lnbmFsIHRvIGRlbGVnYXRlcyB0aGF0IHRoaXMg
bG9hZCBpcyAiZmluaXNoZWQiCiAgICAgICAgIG1fZG9jdW1lbnRMb2FkZXItPnN1YnJlc291cmNl
TG9hZGVyRmluaXNoZWRMb2FkaW5nT25lUGFydCh0aGlzKTsKICAgICAgICAgZGlkRmluaXNoTG9h
ZGluZ09uZVBhcnQoMCk7CiAgICAgfQpAQCAtMjk1LDYgKzMwMCwxMSBAQCB2b2lkIFN1YnJlc291
cmNlTG9hZGVyOjpkaWRGaW5pc2hMb2FkaW5nKGRvdWJsZSBmaW5pc2hUaW1lKQogICAgIFJlZlB0
cjxTdWJyZXNvdXJjZUxvYWRlcj4gcHJvdGVjdCh0aGlzKTsKICAgICBDYWNoZWRSZXNvdXJjZUhh
bmRsZTxDYWNoZWRSZXNvdXJjZT4gcHJvdGVjdFJlc291cmNlKG1fcmVzb3VyY2UpOwogICAgIG1f
c3RhdGUgPSBGaW5pc2hpbmc7CisjaWYgRU5BQkxFKFJFU09VUkNFX1RJTUlORykKKyAgICBjb25z
dCBMb2FkSW5pdGlhdG9ySGFuZGxlJiBpbml0aWF0b3IgPSBtX3Jlc291cmNlLT5pbml0aWF0b3Io
KTsKKyAgICBpZiAoaW5pdGlhdG9yLmluaXRpYXRvckRvY3VtZW50KCkpCisgICAgICAgIGluaXRp
YXRvci5pbml0aWF0b3JEb2N1bWVudCgpLT5kb21XaW5kb3coKS0+cGVyZm9ybWFuY2UoKS0+YWRk
UmVzb3VyY2VUaW1pbmcoaW5pdGlhdG9yLCBtX3Jlc291cmNlLT5yZXNvdXJjZVJlcXVlc3QoKSwg
bV9yZXNvdXJjZS0+cmVzcG9uc2UoKSwgaW5pdGlhdG9yLmluaXRpYXRpb25UaW1lKCksIGZpbmlz
aFRpbWUpOworI2VuZGlmCiAgICAgbV9yZXNvdXJjZS0+c2V0TG9hZEZpbmlzaFRpbWUoZmluaXNo
VGltZSk7CiAgICAgbV9yZXNvdXJjZS0+ZGF0YShyZXNvdXJjZURhdGEoKSwgdHJ1ZSk7CiAgICAg
bV9yZXNvdXJjZS0+ZmluaXNoKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
VGV4dFRyYWNrTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UZXh0VHJhY2tMb2Fk
ZXIuY3BwCmluZGV4IGE5YjdmOTYwYmY2ZDY1MDMwMDUxN2NiMGY5NjNhZGE0NWU5NWExZmIuLmEz
M2M3MDViMTU3YjQ0ODM1MWMxMDg1MmYxZThjY2I0NjAxYmIzYTUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9UZXh0VHJhY2tMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9UZXh0VHJhY2tMb2FkZXIuY3BwCkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSAi
Q3Jvc3NPcmlnaW5BY2Nlc3NDb250cm9sLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNs
dWRlICJMb2dnaW5nLmgiCisjaW5jbHVkZSAiTm9kZUxvYWRJbml0aWF0b3IuaCIKICNpbmNsdWRl
ICJSZXNvdXJjZUJ1ZmZlci5oIgogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlLmgiCiAjaW5jbHVk
ZSAiU2NyaXB0Q2FsbFN0YWNrLmgiCkBAIC00MSw3ICs0Miw3IEBACiAjaW5jbHVkZSAiV2ViVlRU
UGFyc2VyLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKLSAgICAKKwogVGV4dFRyYWNrTG9hZGVy
OjpUZXh0VHJhY2tMb2FkZXIoVGV4dFRyYWNrTG9hZGVyQ2xpZW50KiBjbGllbnQsIFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpCiAgICAgOiBtX2NsaWVudChjbGllbnQpCiAgICAgLCBt
X3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQoY29udGV4dCkKQEAgLTYxLDEyICs2MiwxMiBAQCBUZXh0
VHJhY2tMb2FkZXI6On5UZXh0VHJhY2tMb2FkZXIoKQogdm9pZCBUZXh0VHJhY2tMb2FkZXI6OmN1
ZUxvYWRUaW1lckZpcmVkKFRpbWVyPFRleHRUcmFja0xvYWRlcj4qIHRpbWVyKQogewogICAgIEFT
U0VSVF9VTlVTRUQodGltZXIsIHRpbWVyID09ICZtX2N1ZUxvYWRUaW1lcik7Ci0gICAgCisKICAg
ICBpZiAobV9uZXdDdWVzQXZhaWxhYmxlKSB7CiAgICAgICAgIG1fbmV3Q3Vlc0F2YWlsYWJsZSA9
IGZhbHNlOwotICAgICAgICBtX2NsaWVudC0+bmV3Q3Vlc0F2YWlsYWJsZSh0aGlzKTsgCisgICAg
ICAgIG1fY2xpZW50LT5uZXdDdWVzQXZhaWxhYmxlKHRoaXMpOwogICAgIH0KLSAgICAKKwogICAg
IGlmIChtX3N0YXRlID49IEZpbmlzaGVkKQogICAgICAgICBtX2NsaWVudC0+Y3VlTG9hZGluZ0Nv
bXBsZXRlZCh0aGlzLCBtX3N0YXRlID09IEZhaWxlZCk7CiB9CkBAIC04MiwxMCArODMsMTAgQEAg
dm9pZCBUZXh0VHJhY2tMb2FkZXI6OmNhbmNlbExvYWQoKQogdm9pZCBUZXh0VHJhY2tMb2FkZXI6
OnByb2Nlc3NOZXdDdWVEYXRhKENhY2hlZFJlc291cmNlKiByZXNvdXJjZSkKIHsKICAgICBBU1NF
UlQobV9jYWNoZWRDdWVEYXRhID09IHJlc291cmNlKTsKLSAgICAKKwogICAgIGlmIChtX3N0YXRl
ID09IEZhaWxlZCB8fCAhcmVzb3VyY2UtPnJlc291cmNlQnVmZmVyKCkpCiAgICAgICAgIHJldHVy
bjsKLSAgICAKKwogICAgIFJlc291cmNlQnVmZmVyKiBidWZmZXIgPSByZXNvdXJjZS0+cmVzb3Vy
Y2VCdWZmZXIoKTsKICAgICBpZiAobV9wYXJzZU9mZnNldCA9PSBidWZmZXItPnNpemUoKSkKICAg
ICAgICAgcmV0dXJuOwpAQCAtMTA1LDEwICsxMDYsMTAgQEAgdm9pZCBUZXh0VHJhY2tMb2FkZXI6
OnByb2Nlc3NOZXdDdWVEYXRhKENhY2hlZFJlc291cmNlKiByZXNvdXJjZSkKIHZvaWQgVGV4dFRy
YWNrTG9hZGVyOjpkaWRSZWNlaXZlRGF0YShDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2UpCiB7CiAg
ICAgQVNTRVJUKG1fY2FjaGVkQ3VlRGF0YSA9PSByZXNvdXJjZSk7Ci0gICAgCisKICAgICBpZiAo
IXJlc291cmNlLT5yZXNvdXJjZUJ1ZmZlcigpKQogICAgICAgICByZXR1cm47Ci0gICAgCisKICAg
ICBwcm9jZXNzTmV3Q3VlRGF0YShyZXNvdXJjZSk7CiB9CiAKQEAgLTE0MCw3ICsxNDEsNyBAQCB2
b2lkIFRleHRUcmFja0xvYWRlcjo6bm90aWZ5RmluaXNoZWQoQ2FjaGVkUmVzb3VyY2UqIHJlc291
cmNlKQogCiAgICAgaWYgKCFtX2N1ZUxvYWRUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICBtX2N1
ZUxvYWRUaW1lci5zdGFydE9uZVNob3QoMCk7Ci0gICAgCisKICAgICBjYW5jZWxMb2FkKCk7CiB9
CiAKQEAgLTE2OCwxMiArMTY5LDEyIEBAIGJvb2wgVGV4dFRyYWNrTG9hZGVyOjpsb2FkKGNvbnN0
IEtVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBjcm9zc09yaWdpbk1vZGUpCiAgICAgfQogCiAgICAg
Q2FjaGVkUmVzb3VyY2VMb2FkZXIqIGNhY2hlZFJlc291cmNlTG9hZGVyID0gZG9jdW1lbnQtPmNh
Y2hlZFJlc291cmNlTG9hZGVyKCk7Ci0gICAgbV9jYWNoZWRDdWVEYXRhID0gY2FjaGVkUmVzb3Vy
Y2VMb2FkZXItPnJlcXVlc3RUZXh0VHJhY2soY3VlUmVxdWVzdCk7CisgICAgbV9jYWNoZWRDdWVE
YXRhID0gY2FjaGVkUmVzb3VyY2VMb2FkZXItPnJlcXVlc3RUZXh0VHJhY2soY3VlUmVxdWVzdCwg
Tm9kZUxvYWRJbml0aWF0b3IobV9jbGllbnQtPmluaXRpYXRvck5vZGUoKSkpOwogICAgIGlmICht
X2NhY2hlZEN1ZURhdGEpCiAgICAgICAgIG1fY2FjaGVkQ3VlRGF0YS0+YWRkQ2xpZW50KHRoaXMp
OwotICAgIAorCiAgICAgbV9jbGllbnQtPmN1ZUxvYWRpbmdTdGFydGVkKHRoaXMpOwotICAgIAor
CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9UZXh0VHJhY2tMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UZXh0VHJhY2tMb2Fk
ZXIuaAppbmRleCA3NDMzNGY5MDY0NmNkZmQ0NThmOWMyM2Y2MmYwODFmNDg3NWI4YzNjLi44MjRl
MTNhNDA4YTNkM2U5YmRhNjBiOWY2ZWMzNjhiMzQ5NjE0MTg3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvVGV4dFRyYWNrTG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL1RleHRUcmFja0xvYWRlci5oCkBAIC0zOCwxNyArMzgsMTkgQEAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogY2xhc3MgRG9jdW1lbnQ7Ci1jbGFzcyBUZXh0VHJhY2tMb2FkZXI7CitjbGFzcyBO
b2RlOwogY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKK2NsYXNzIFRleHRUcmFja0xvYWRl
cjsKIAogY2xhc3MgVGV4dFRyYWNrTG9hZGVyQ2xpZW50IHsKIHB1YmxpYzoKICAgICB2aXJ0dWFs
IH5UZXh0VHJhY2tMb2FkZXJDbGllbnQoKSB7IH0KLSAgICAKKwogICAgIHZpcnR1YWwgYm9vbCBz
aG91bGRMb2FkQ3VlcyhUZXh0VHJhY2tMb2FkZXIqKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIG5l
d0N1ZXNBdmFpbGFibGUoVGV4dFRyYWNrTG9hZGVyKikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBj
dWVMb2FkaW5nU3RhcnRlZChUZXh0VHJhY2tMb2FkZXIqKSA9IDA7CiAgICAgdmlydHVhbCB2b2lk
IGN1ZUxvYWRpbmdDb21wbGV0ZWQoVGV4dFRyYWNrTG9hZGVyKiwgYm9vbCBsb2FkaW5nRmFpbGVk
KSA9IDA7CisgICAgdmlydHVhbCBOb2RlKiBpbml0aWF0b3JOb2RlKCkgPSAwOwogfTsKIAogY2xh
c3MgVGV4dFRyYWNrTG9hZGVyIDogcHVibGljIENhY2hlZFJlc291cmNlQ2xpZW50LCBwcml2YXRl
IFdlYlZUVFBhcnNlckNsaWVudCB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
VGhyZWFkYWJsZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxv
YWRlci5jcHAKaW5kZXggNzIwYmE0ZWVhMTU5MjdjYzI1ZGQwMDU3ODg0YTVkM2VmNmRkZjc2Ni4u
OGQzN2U2NDQ3NWQyOWI0OTQ4OTE2ODFjMjZhZjk0OGMxMTVjYjdkMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmNwcApAQCAtNDAsNyArNDAsNyBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLVBhc3NSZWZQdHI8VGhyZWFkYWJsZUxvYWRlcj4gVGhyZWFkYWJs
ZUxvYWRlcjo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFRocmVhZGFi
bGVMb2FkZXJDbGllbnQqIGNsaWVudCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBj
b25zdCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9ucyYgb3B0aW9ucykgCitQYXNzUmVmUHRyPFRocmVh
ZGFibGVMb2FkZXI+IFRocmVhZGFibGVMb2FkZXI6OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250
ZXh0KiBjb250ZXh0LCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50KiBjbGllbnQsIGNvbnN0IFJlc291
cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMmIG9wdGlv
bnMsIGNvbnN0IExvYWRJbml0aWF0b3ImIGluaXRpYXRvcikKIHsKICAgICBBU1NFUlQoY2xpZW50
KTsKICAgICBBU1NFUlQoY29udGV4dCk7CkBAIC01MSwxMCArNTEsMTAgQEAgUGFzc1JlZlB0cjxU
aHJlYWRhYmxlTG9hZGVyPiBUaHJlYWRhYmxlTG9hZGVyOjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCogY28KICNlbmRpZiAvLyBFTkFCTEUoV09SS0VSUykKIAogICAgIEFTU0VSVChjb250
ZXh0LT5pc0RvY3VtZW50KCkpOwotICAgIHJldHVybiBEb2N1bWVudFRocmVhZGFibGVMb2FkZXI6
OmNyZWF0ZShzdGF0aWNfY2FzdDxEb2N1bWVudCo+KGNvbnRleHQpLCBjbGllbnQsIHJlcXVlc3Qs
IG9wdGlvbnMpOworICAgIHJldHVybiBEb2N1bWVudFRocmVhZGFibGVMb2FkZXI6OmNyZWF0ZShz
dGF0aWNfY2FzdDxEb2N1bWVudCo+KGNvbnRleHQpLCBjbGllbnQsIHJlcXVlc3QsIG9wdGlvbnMs
IGluaXRpYXRvcik7CiB9CiAKLXZvaWQgVGhyZWFkYWJsZUxvYWRlcjo6bG9hZFJlc291cmNlU3lu
Y2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBjb25zdCBSZXNvdXJj
ZVJlcXVlc3QmIHJlcXVlc3QsIFRocmVhZGFibGVMb2FkZXJDbGllbnQmIGNsaWVudCwgY29uc3Qg
VGhyZWFkYWJsZUxvYWRlck9wdGlvbnMmIG9wdGlvbnMpCit2b2lkIFRocmVhZGFibGVMb2FkZXI6
OmxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4
dCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50
JiBjbGllbnQsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJiBvcHRpb25zLCBjb25zdCBM
b2FkSW5pdGlhdG9yJiBpbml0aWF0b3IpCiB7CiAgICAgQVNTRVJUKGNvbnRleHQpOwogCkBAIC02
Niw3ICs2Niw3IEBAIHZvaWQgVGhyZWFkYWJsZUxvYWRlcjo6bG9hZFJlc291cmNlU3luY2hyb25v
dXNseShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0CiAjZW5kaWYgLy8gRU5BQkxFKFdP
UktFUlMpCiAKICAgICBBU1NFUlQoY29udGV4dC0+aXNEb2N1bWVudCgpKTsKLSAgICBEb2N1bWVu
dFRocmVhZGFibGVMb2FkZXI6OmxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoc3RhdGljX2Nhc3Q8
RG9jdW1lbnQqPihjb250ZXh0KSwgcmVxdWVzdCwgY2xpZW50LCBvcHRpb25zKTsKKyAgICBEb2N1
bWVudFRocmVhZGFibGVMb2FkZXI6OmxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoc3RhdGljX2Nh
c3Q8RG9jdW1lbnQqPihjb250ZXh0KSwgcmVxdWVzdCwgY2xpZW50LCBvcHRpb25zLCBpbml0aWF0
b3IpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Ro
cmVhZGFibGVMb2FkZXIuaAppbmRleCA4OGU4ZGQxMGE1OGFjZWRiMDU5MDkxMWRmMGQ5Y2VhMjhj
Mzg0ZjZjLi4yNDliNTMwZTY0ZjFjZmVhMWNjYWNkNzhiOWM2MjdiZDQyMzQ2YjQ4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmgKQEAgLTMxLDYgKzMxLDcgQEAKICNp
Zm5kZWYgVGhyZWFkYWJsZUxvYWRlcl9oCiAjZGVmaW5lIFRocmVhZGFibGVMb2FkZXJfaAogCisj
aW5jbHVkZSAiTnVsbExvYWRJbml0aWF0b3IuaCIKICNpbmNsdWRlICJSZXNvdXJjZUhhbmRsZS5o
IgogI2luY2x1ZGUgIlJlc291cmNlTG9hZGVyT3B0aW9ucy5oIgogI2luY2x1ZGUgIlNlY3VyaXR5
T3JpZ2luLmgiCkBAIC00MSw0OSArNDIsNTAgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0g
ICAgY2xhc3MgUmVzb3VyY2VFcnJvcjsKLSAgICBjbGFzcyBSZXNvdXJjZVJlcXVlc3Q7Ci0gICAg
Y2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKLSAgICBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0
OwotICAgIGNsYXNzIFRocmVhZGFibGVMb2FkZXJDbGllbnQ7Ci0gICAgCi0gICAgZW51bSBDcm9z
c09yaWdpblJlcXVlc3RQb2xpY3kgewotICAgICAgICBEZW55Q3Jvc3NPcmlnaW5SZXF1ZXN0cywK
LSAgICAgICAgVXNlQWNjZXNzQ29udHJvbCwKLSAgICAgICAgQWxsb3dDcm9zc09yaWdpblJlcXVl
c3RzCi0gICAgfTsKK2NsYXNzIExvYWRJbml0aWF0b3I7CitjbGFzcyBSZXNvdXJjZUVycm9yOwor
Y2xhc3MgUmVzb3VyY2VSZXF1ZXN0OworY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKK2NsYXNzIFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQ7CitjbGFzcyBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50OwogCi0g
ICAgZW51bSBQcmVmbGlnaHRQb2xpY3kgewotICAgICAgICBDb25zaWRlclByZWZsaWdodCwKLSAg
ICAgICAgRm9yY2VQcmVmbGlnaHQsCi0gICAgICAgIFByZXZlbnRQcmVmbGlnaHQKLSAgICB9Owor
ZW51bSBDcm9zc09yaWdpblJlcXVlc3RQb2xpY3kgeworICAgIERlbnlDcm9zc09yaWdpblJlcXVl
c3RzLAorICAgIFVzZUFjY2Vzc0NvbnRyb2wsCisgICAgQWxsb3dDcm9zc09yaWdpblJlcXVlc3Rz
Cit9OwogCi0gICAgc3RydWN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zIDogcHVibGljIFJlc291
cmNlTG9hZGVyT3B0aW9ucyB7Ci0gICAgICAgIFRocmVhZGFibGVMb2FkZXJPcHRpb25zKCkgOiBw
cmVmbGlnaHRQb2xpY3koQ29uc2lkZXJQcmVmbGlnaHQpLCBjcm9zc09yaWdpblJlcXVlc3RQb2xp
Y3koRGVueUNyb3NzT3JpZ2luUmVxdWVzdHMpIHsgfQotICAgICAgICBQcmVmbGlnaHRQb2xpY3kg
cHJlZmxpZ2h0UG9saWN5OyAvLyBJZiBBY2Nlc3NDb250cm9sIGlzIHVzZWQsIGhvdyB0byBkZXRl
cm1pbmUgaWYgYSBwcmVmbGlnaHQgaXMgbmVlZGVkLgotICAgICAgICBDcm9zc09yaWdpblJlcXVl
c3RQb2xpY3kgY3Jvc3NPcmlnaW5SZXF1ZXN0UG9saWN5OwotICAgICAgICBSZWZQdHI8U2VjdXJp
dHlPcmlnaW4+IHNlY3VyaXR5T3JpZ2luOwotICAgIH07CitlbnVtIFByZWZsaWdodFBvbGljeSB7
CisgICAgQ29uc2lkZXJQcmVmbGlnaHQsCisgICAgRm9yY2VQcmVmbGlnaHQsCisgICAgUHJldmVu
dFByZWZsaWdodAorfTsKIAotICAgIC8vIFVzZWZ1bCBmb3IgZG9pbmcgbG9hZGVyIG9wZXJhdGlv
bnMgZnJvbSBhbnkgdGhyZWFkIChub3QgdGhyZWFkc2FmZSwgCi0gICAgLy8ganVzdCBhYmxlIHRv
IHJ1biBvbiB0aHJlYWRzIG90aGVyIHRoYW4gdGhlIG1haW4gdGhyZWFkKS4KLSAgICBjbGFzcyBU
aHJlYWRhYmxlTG9hZGVyIHsKLSAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGhyZWFkYWJs
ZUxvYWRlcik7Ci0gICAgcHVibGljOgotICAgICAgICBzdGF0aWMgdm9pZCBsb2FkUmVzb3VyY2VT
eW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBjb25zdCBSZXNvdXJjZVJlcXVl
c3QmLCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50JiwgY29uc3QgVGhyZWFkYWJsZUxvYWRlck9wdGlv
bnMmKTsKLSAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8VGhyZWFkYWJsZUxvYWRlcj4gY3JlYXRl
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50KiwgY29uc3Qg
UmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMmKTsKK3N0cnVj
dCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9ucyA6IHB1YmxpYyBSZXNvdXJjZUxvYWRlck9wdGlvbnMg
eworICAgIFRocmVhZGFibGVMb2FkZXJPcHRpb25zKCkgOiBwcmVmbGlnaHRQb2xpY3koQ29uc2lk
ZXJQcmVmbGlnaHQpLCBjcm9zc09yaWdpblJlcXVlc3RQb2xpY3koRGVueUNyb3NzT3JpZ2luUmVx
dWVzdHMpIHsgfQorICAgIFByZWZsaWdodFBvbGljeSBwcmVmbGlnaHRQb2xpY3k7IC8vIElmIEFj
Y2Vzc0NvbnRyb2wgaXMgdXNlZCwgaG93IHRvIGRldGVybWluZSBpZiBhIHByZWZsaWdodCBpcyBu
ZWVkZWQuCisgICAgQ3Jvc3NPcmlnaW5SZXF1ZXN0UG9saWN5IGNyb3NzT3JpZ2luUmVxdWVzdFBv
bGljeTsKKyAgICBSZWZQdHI8U2VjdXJpdHlPcmlnaW4+IHNlY3VyaXR5T3JpZ2luOworfTsKIAot
ICAgICAgICB2aXJ0dWFsIHZvaWQgY2FuY2VsKCkgPSAwOwotICAgICAgICB2b2lkIHJlZigpIHsg
cmVmVGhyZWFkYWJsZUxvYWRlcigpOyB9Ci0gICAgICAgIHZvaWQgZGVyZWYoKSB7IGRlcmVmVGhy
ZWFkYWJsZUxvYWRlcigpOyB9CisvLyBVc2VmdWwgZm9yIGRvaW5nIGxvYWRlciBvcGVyYXRpb25z
IGZyb20gYW55IHRocmVhZCAobm90IHRocmVhZHNhZmUsCisvLyBqdXN0IGFibGUgdG8gcnVuIG9u
IHRocmVhZHMgb3RoZXIgdGhhbiB0aGUgbWFpbiB0aHJlYWQpLgorY2xhc3MgVGhyZWFkYWJsZUxv
YWRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGhyZWFkYWJsZUxvYWRlcik7CitwdWJs
aWM6CisgICAgc3RhdGljIHZvaWQgbG9hZFJlc291cmNlU3luY2hyb25vdXNseShTY3JpcHRFeGVj
dXRpb25Db250ZXh0KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgVGhyZWFkYWJsZUxvYWRlckNs
aWVudCYsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJiwgY29uc3QgTG9hZEluaXRpYXRv
ciYgPSBOdWxsTG9hZEluaXRpYXRvcjo6aW5zdGFuY2UoKSk7CisgICAgc3RhdGljIFBhc3NSZWZQ
dHI8VGhyZWFkYWJsZUxvYWRlcj4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBUaHJl
YWRhYmxlTG9hZGVyQ2xpZW50KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgVGhyZWFk
YWJsZUxvYWRlck9wdGlvbnMmLCBjb25zdCBMb2FkSW5pdGlhdG9yJiA9IE51bGxMb2FkSW5pdGlh
dG9yOjppbnN0YW5jZSgpKTsKIAotICAgIHByb3RlY3RlZDoKLSAgICAgICAgVGhyZWFkYWJsZUxv
YWRlcigpIHsgfQotICAgICAgICB2aXJ0dWFsIH5UaHJlYWRhYmxlTG9hZGVyKCkgeyB9Ci0gICAg
ICAgIHZpcnR1YWwgdm9pZCByZWZUaHJlYWRhYmxlTG9hZGVyKCkgPSAwOwotICAgICAgICB2aXJ0
dWFsIHZvaWQgZGVyZWZUaHJlYWRhYmxlTG9hZGVyKCkgPSAwOwotICAgIH07CisgICAgdmlydHVh
bCB2b2lkIGNhbmNlbCgpID0gMDsKKyAgICB2b2lkIHJlZigpIHsgcmVmVGhyZWFkYWJsZUxvYWRl
cigpOyB9CisgICAgdm9pZCBkZXJlZigpIHsgZGVyZWZUaHJlYWRhYmxlTG9hZGVyKCk7IH0KKwor
cHJvdGVjdGVkOgorICAgIFRocmVhZGFibGVMb2FkZXIoKSB7IH0KKyAgICB2aXJ0dWFsIH5UaHJl
YWRhYmxlTG9hZGVyKCkgeyB9CisgICAgdmlydHVhbCB2b2lkIHJlZlRocmVhZGFibGVMb2FkZXIo
KSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGRlcmVmVGhyZWFkYWJsZUxvYWRlcigpID0gMDsKK307
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAKaW5kZXggNTgxMTVlMDU4M2Y1YzZiZWM5ZTkzZjgzMmJm
ODQwODU3MzA5N2VlZi4uOWVjMTYxOWM2NTA3ZGY1MTJjNTM2ODEzNDMxNmYxY2NjMTFkNjhkMSAx
MDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwCkBA
IC01NCw3ICs1NCw3IEBACiB1c2luZyBuYW1lc3BhY2UgV1RGOwogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7Ci0gICAgCisKIHN0YXRpYyBSZXNvdXJjZUxvYWRQcmlvcml0eSBkZWZhdWx0UHJpb3JpdHlG
b3JSZXNvdXJjZVR5cGUoQ2FjaGVkUmVzb3VyY2U6OlR5cGUgdHlwZSkKIHsKICAgICBzd2l0Y2gg
KHR5cGUpIHsKQEAgLTEwMiw3ICsxMDIsNyBAQCBzdGF0aWMgUmVzb3VyY2VSZXF1ZXN0OjpUYXJn
ZXRUeXBlIGNhY2hlZFJlc291cmNlVHlwZVRvVGFyZ2V0VHlwZShDYWNoZWRSZXNvdXJjZQogICAg
IGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlhTTFN0eWxlU2hlZXQ6CiAjZW5kaWYKICAgICAgICAgcmV0
dXJuIFJlc291cmNlUmVxdWVzdDo6VGFyZ2V0SXNTdHlsZVNoZWV0OwotICAgIGNhc2UgQ2FjaGVk
UmVzb3VyY2U6OlNjcmlwdDogCisgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6U2NyaXB0OgogICAg
ICAgICByZXR1cm4gUmVzb3VyY2VSZXF1ZXN0OjpUYXJnZXRJc1NjcmlwdDsKICAgICBjYXNlIENh
Y2hlZFJlc291cmNlOjpGb250UmVzb3VyY2U6CiAgICAgICAgIHJldHVybiBSZXNvdXJjZVJlcXVl
c3Q6OlRhcmdldElzRm9udFJlc291cmNlOwpAQCAtMTEyLDcgKzExMiw3IEBAIHN0YXRpYyBSZXNv
dXJjZVJlcXVlc3Q6OlRhcmdldFR5cGUgY2FjaGVkUmVzb3VyY2VUeXBlVG9UYXJnZXRUeXBlKENh
Y2hlZFJlc291cmNlCiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6U2hhZGVyUmVzb3VyY2U6CiAj
ZW5kaWYKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpSYXdSZXNvdXJjZToKLSAgICAgICAgcmV0
dXJuIFJlc291cmNlUmVxdWVzdDo6VGFyZ2V0SXNTdWJyZXNvdXJjZTsgICAgCisgICAgICAgIHJl
dHVybiBSZXNvdXJjZVJlcXVlc3Q6OlRhcmdldElzU3VicmVzb3VyY2U7CiAjaWYgRU5BQkxFKExJ
TktfUFJFRkVUQ0gpCiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6TGlua1ByZWZldGNoOgogICAg
ICAgICByZXR1cm4gUmVzb3VyY2VSZXF1ZXN0OjpUYXJnZXRJc1ByZWZldGNoOwpAQCAtMjI1LDEz
ICsyMjUsMTMgQEAgdm9pZCBDYWNoZWRSZXNvdXJjZTo6bG9hZChDYWNoZWRSZXNvdXJjZUxvYWRl
ciogY2FjaGVkUmVzb3VyY2VMb2FkZXIsIGNvbnN0IFJlc28KICAgICAgICAgbV9yZXNvdXJjZVJl
cXVlc3Quc2V0SFRUUEhlYWRlckZpZWxkKCJQdXJwb3NlIiwgInByZWZldGNoIik7CiAjZW5kaWYK
ICAgICBtX3Jlc291cmNlUmVxdWVzdC5zZXRQcmlvcml0eShsb2FkUHJpb3JpdHkoKSk7Ci0gICAg
CisKICAgICBtX2xvYWRlciA9IHJlc291cmNlTG9hZFNjaGVkdWxlcigpLT5zY2hlZHVsZVN1YnJl
c291cmNlTG9hZChjYWNoZWRSZXNvdXJjZUxvYWRlci0+ZG9jdW1lbnQoKS0+ZnJhbWUoKSwgdGhp
cywgbV9yZXNvdXJjZVJlcXVlc3QsIG1fcmVzb3VyY2VSZXF1ZXN0LnByaW9yaXR5KCksIG9wdGlv
bnMpOwogICAgIGlmICghbV9sb2FkZXIpIHsKICAgICAgICAgLy8gRklYTUU6IFdoYXQgaWYgcmVz
b3VyY2VzIGluIG90aGVyIGZyYW1lcyB3ZXJlIHdhaXRpbmcgZm9yIHRoaXMgcmV2YWxpZGF0aW9u
PwogICAgICAgICBMT0coUmVzb3VyY2VMb2FkaW5nLCAiQ2Fubm90IHN0YXJ0IGxvYWRpbmcgJyVz
JyIsIHVybCgpLnN0cmluZygpLmxhdGluMSgpLmRhdGEoKSk7Ci0gICAgICAgIGlmIChtX3Jlc291
cmNlVG9SZXZhbGlkYXRlKSAKLSAgICAgICAgICAgIG1lbW9yeUNhY2hlKCktPnJldmFsaWRhdGlv
bkZhaWxlZCh0aGlzKTsgCisgICAgICAgIGlmIChtX3Jlc291cmNlVG9SZXZhbGlkYXRlKQorICAg
ICAgICAgICAgbWVtb3J5Q2FjaGUoKS0+cmV2YWxpZGF0aW9uRmFpbGVkKHRoaXMpOwogICAgICAg
ICBlcnJvcihDYWNoZWRSZXNvdXJjZTo6TG9hZEVycm9yKTsKICAgICAgICAgcmV0dXJuOwogICAg
IH0KQEAgLTI1Myw3ICsyNTMsNyBAQCB2b2lkIENhY2hlZFJlc291cmNlOjpkYXRhKFBhc3NSZWZQ
dHI8UmVzb3VyY2VCdWZmZXI+LCBib29sIGFsbERhdGFSZWNlaXZlZCkKIHsKICAgICBpZiAoIWFs
bERhdGFSZWNlaXZlZCkKICAgICAgICAgcmV0dXJuOwotICAgIAorCiAgICAgc2V0TG9hZGluZyhm
YWxzZSk7CiAgICAgY2hlY2tOb3RpZnkoKTsKIH0KQEAgLTI3Miw2ICsyNzIsNyBAQCB2b2lkIENh
Y2hlZFJlc291cmNlOjpmaW5pc2goKQogewogICAgIGlmICghZXJyb3JPY2N1cnJlZCgpKQogICAg
ICAgICBtX3N0YXR1cyA9IENhY2hlZDsKKyAgICBtX2luaXRpYXRvci5jbGVhcigpOwogfQogCiBi
b29sIENhY2hlZFJlc291cmNlOjpwYXNzZXNBY2Nlc3NDb250cm9sQ2hlY2soU2VjdXJpdHlPcmln
aW4qIHNlY3VyaXR5T3JpZ2luKQpAQCAtMjg3LDcgKzI4OCw3IEBAIGJvb2wgQ2FjaGVkUmVzb3Vy
Y2U6OmlzRXhwaXJlZCgpIGNvbnN0CiAKICAgICByZXR1cm4gY3VycmVudEFnZSgpID4gZnJlc2hu
ZXNzTGlmZXRpbWUoKTsKIH0KLSAgICAKKwogZG91YmxlIENhY2hlZFJlc291cmNlOjpjdXJyZW50
QWdlKCkgY29uc3QKIHsKICAgICAvLyBSRkMyNjE2IDEzLjIuMwpAQCAtMjk5LDcgKzMwMCw3IEBA
IGRvdWJsZSBDYWNoZWRSZXNvdXJjZTo6Y3VycmVudEFnZSgpIGNvbnN0CiAgICAgZG91YmxlIHJl
c2lkZW50VGltZSA9IGN1cnJlbnRUaW1lKCkgLSBtX3Jlc3BvbnNlVGltZXN0YW1wOwogICAgIHJl
dHVybiBjb3JyZWN0ZWRSZWNlaXZlZEFnZSArIHJlc2lkZW50VGltZTsKIH0KLSAgICAKKwogZG91
YmxlIENhY2hlZFJlc291cmNlOjpmcmVzaG5lc3NMaWZldGltZSgpIGNvbnN0CiB7CiAgICAgLy8g
Q2FjaGUgbm9uLWh0dHAgcmVzb3VyY2VzIGxpYmVyYWxseQpAQCAtMzYxLDcgKzM2Miw3IEBAIENh
Y2hlZE1ldGFkYXRhKiBDYWNoZWRSZXNvdXJjZTo6Y2FjaGVkTWV0YWRhdGEodW5zaWduZWQgZGF0
YVR5cGVJRCkgY29uc3QKIAogdm9pZCBDYWNoZWRSZXNvdXJjZTo6c3RvcExvYWRpbmcoKQogewot
ICAgIEFTU0VSVChtX2xvYWRlcik7ICAgICAgICAgICAgCisgICAgQVNTRVJUKG1fbG9hZGVyKTsK
ICAgICBtX2xvYWRlciA9IDA7CiAKICAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRSZXNv
dXJjZT4gcHJvdGVjdCh0aGlzKTsKQEAgLTQ5MiwxMyArNDkzLDEzIEBAIHZvaWQgQ2FjaGVkUmVz
b3VyY2U6OnNldERlY29kZWRTaXplKHVuc2lnbmVkIHNpemUpCiAgICAgLy8gcXVldWUuCiAgICAg
aWYgKGluQ2FjaGUoKSkKICAgICAgICAgbWVtb3J5Q2FjaGUoKS0+cmVtb3ZlRnJvbUxSVUxpc3Qo
dGhpcyk7Ci0gICAgCisKICAgICBtX2RlY29kZWRTaXplID0gc2l6ZTsKLSAgIAotICAgIGlmIChp
bkNhY2hlKCkpIHsgCisKKyAgICBpZiAoaW5DYWNoZSgpKSB7CiAgICAgICAgIC8vIE5vdyBpbnNl
cnQgaW50byB0aGUgbmV3IExSVSBsaXN0LgogICAgICAgICBtZW1vcnlDYWNoZSgpLT5pbnNlcnRJ
bkxSVUxpc3QodGhpcyk7Ci0gICAgICAgIAorCiAgICAgICAgIC8vIEluc2VydCBpbnRvIG9yIHJl
bW92ZSBmcm9tIHRoZSBsaXZlIGRlY29kZWQgbGlzdCBpZiBuZWNlc3NhcnkuCiAgICAgICAgIC8v
IFdoZW4gaW5zZXJ0aW5nIGludG8gdGhlIExpdmVEZWNvZGVkUmVzb3VyY2VzTGlzdCBpdCBpcyBw
b3NzaWJsZQogICAgICAgICAvLyB0aGF0IHRoZSBtX2xhc3REZWNvZGVkQWNjZXNzVGltZSBpcyBz
dGlsbCB6ZXJvIG9yIHNtYWxsZXIgdGhhbgpAQCAtNTIzLDcgKzUyNCw3IEBAIHZvaWQgQ2FjaGVk
UmVzb3VyY2U6OnNldEVuY29kZWRTaXplKHVuc2lnbmVkIHNpemUpCiAKICAgICAvLyBUaGUgc2l6
ZSBjYW5ub3QgZXZlciBzaHJpbmsgKHVubGVzcyBpdCBpcyBiZWluZyBudWxsZWQgb3V0IGJlY2F1
c2Ugb2YgYW4gZXJyb3IpLiAgSWYgaXQgZXZlciBkb2VzLCBhc3NlcnQuCiAgICAgQVNTRVJUKHNp
emUgPT0gMCB8fCBzaXplID49IG1fZW5jb2RlZFNpemUpOwotICAgIAorCiAgICAgaW50IGRlbHRh
ID0gc2l6ZSAtIG1fZW5jb2RlZFNpemU7CiAKICAgICAvLyBUaGUgb2JqZWN0IG11c3Qgbm93IGJl
IG1vdmVkIHRvIGEgZGlmZmVyZW50IHF1ZXVlLCBzaW5jZSBpdHMgc2l6ZSBoYXMgYmVlbiBjaGFu
Z2VkLgpAQCAtNTMxLDEzICs1MzIsMTMgQEAgdm9pZCBDYWNoZWRSZXNvdXJjZTo6c2V0RW5jb2Rl
ZFNpemUodW5zaWduZWQgc2l6ZSkKICAgICAvLyBxdWV1ZS4KICAgICBpZiAoaW5DYWNoZSgpKQog
ICAgICAgICBtZW1vcnlDYWNoZSgpLT5yZW1vdmVGcm9tTFJVTGlzdCh0aGlzKTsKLSAgICAKKwog
ICAgIG1fZW5jb2RlZFNpemUgPSBzaXplOwotICAgCi0gICAgaWYgKGluQ2FjaGUoKSkgeyAKKwor
ICAgIGlmIChpbkNhY2hlKCkpIHsKICAgICAgICAgLy8gTm93IGluc2VydCBpbnRvIHRoZSBuZXcg
TFJVIGxpc3QuCiAgICAgICAgIG1lbW9yeUNhY2hlKCktPmluc2VydEluTFJVTGlzdCh0aGlzKTsK
LSAgICAgICAgCisKICAgICAgICAgLy8gVXBkYXRlIHRoZSBjYWNoZSdzIHNpemUgdG90YWxzLgog
ICAgICAgICBtZW1vcnlDYWNoZSgpLT5hZGp1c3RTaXplKGhhc0NsaWVudHMoKSwgZGVsdGEpOwog
ICAgIH0KQEAgLTU0Niw3ICs1NDcsNyBAQCB2b2lkIENhY2hlZFJlc291cmNlOjpzZXRFbmNvZGVk
U2l6ZSh1bnNpZ25lZCBzaXplKQogdm9pZCBDYWNoZWRSZXNvdXJjZTo6ZGlkQWNjZXNzRGVjb2Rl
ZERhdGEoZG91YmxlIHRpbWVTdGFtcCkKIHsKICAgICBtX2xhc3REZWNvZGVkQWNjZXNzVGltZSA9
IHRpbWVTdGFtcDsKLSAgICAKKwogICAgIGlmIChpbkNhY2hlKCkpIHsKICAgICAgICAgaWYgKG1f
aW5MaXZlRGVjb2RlZFJlc291cmNlc0xpc3QpIHsKICAgICAgICAgICAgIG1lbW9yeUNhY2hlKCkt
PnJlbW92ZUZyb21MaXZlRGVjb2RlZFJlc291cmNlc0xpc3QodGhpcyk7CkBAIC01NTUsOSArNTU2
LDkgQEAgdm9pZCBDYWNoZWRSZXNvdXJjZTo6ZGlkQWNjZXNzRGVjb2RlZERhdGEoZG91YmxlIHRp
bWVTdGFtcCkKICAgICAgICAgbWVtb3J5Q2FjaGUoKS0+cHJ1bmUoKTsKICAgICB9CiB9Ci0gICAg
Ci12b2lkIENhY2hlZFJlc291cmNlOjpzZXRSZXNvdXJjZVRvUmV2YWxpZGF0ZShDYWNoZWRSZXNv
dXJjZSogcmVzb3VyY2UpIAoteyAKKwordm9pZCBDYWNoZWRSZXNvdXJjZTo6c2V0UmVzb3VyY2VU
b1JldmFsaWRhdGUoQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlKQorewogICAgIEFTU0VSVChyZXNv
dXJjZSk7CiAgICAgQVNTRVJUKCFtX3Jlc291cmNlVG9SZXZhbGlkYXRlKTsKICAgICBBU1NFUlQo
cmVzb3VyY2UgIT0gdGhpcyk7CkBAIC01NzUsOCArNTc2LDggQEAgdm9pZCBDYWNoZWRSZXNvdXJj
ZTo6c2V0UmVzb3VyY2VUb1JldmFsaWRhdGUoQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlKQogICAg
IG1fcmVzb3VyY2VUb1JldmFsaWRhdGUgPSByZXNvdXJjZTsKIH0KIAotdm9pZCBDYWNoZWRSZXNv
dXJjZTo6Y2xlYXJSZXNvdXJjZVRvUmV2YWxpZGF0ZSgpIAoteyAKK3ZvaWQgQ2FjaGVkUmVzb3Vy
Y2U6OmNsZWFyUmVzb3VyY2VUb1JldmFsaWRhdGUoKQorewogICAgIEFTU0VSVChtX3Jlc291cmNl
VG9SZXZhbGlkYXRlKTsKICAgICBpZiAobV9zd2l0Y2hpbmdDbGllbnRzVG9SZXZhbGlkYXRlZFJl
c291cmNlKQogICAgICAgICByZXR1cm47CkBAIC01OTAsNyArNTkxLDcgQEAgdm9pZCBDYWNoZWRS
ZXNvdXJjZTo6Y2xlYXJSZXNvdXJjZVRvUmV2YWxpZGF0ZSgpCiAgICAgbV9yZXNvdXJjZVRvUmV2
YWxpZGF0ZSA9IDA7CiAgICAgZGVsZXRlSWZQb3NzaWJsZSgpOwogfQotICAgIAorCiB2b2lkIENh
Y2hlZFJlc291cmNlOjpzd2l0Y2hDbGllbnRzVG9SZXZhbGlkYXRlZFJlc291cmNlKCkKIHsKICAg
ICBBU1NFUlQobV9yZXNvdXJjZVRvUmV2YWxpZGF0ZSk7CkBAIC02MzYsNyArNjM3LDcgQEAgdm9p
ZCBDYWNoZWRSZXNvdXJjZTo6c3dpdGNoQ2xpZW50c1RvUmV2YWxpZGF0ZWRSZXNvdXJjZSgpCiAg
ICAgfQogICAgIG1fc3dpdGNoaW5nQ2xpZW50c1RvUmV2YWxpZGF0ZWRSZXNvdXJjZSA9IGZhbHNl
OwogfQotICAgIAorCiB2b2lkIENhY2hlZFJlc291cmNlOjp1cGRhdGVSZXNwb25zZUFmdGVyUmV2
YWxpZGF0aW9uKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHZhbGlkYXRpbmdSZXNwb25zZSkKIHsK
ICAgICBtX3Jlc3BvbnNlVGltZXN0YW1wID0gY3VycmVudFRpbWUoKTsKQEAgLTY4NCw3ICs2ODUs
NyBAQCBib29sIENhY2hlZFJlc291cmNlOjpjYW5Vc2VDYWNoZVZhbGlkYXRvcigpIGNvbnN0CiB9
CiAKIGJvb2wgQ2FjaGVkUmVzb3VyY2U6Om11c3RSZXZhbGlkYXRlRHVlVG9DYWNoZUhlYWRlcnMo
Q2FjaGVQb2xpY3kgY2FjaGVQb2xpY3kpIGNvbnN0Ci17ICAgIAorewogICAgIEFTU0VSVChjYWNo
ZVBvbGljeSA9PSBDYWNoZVBvbGljeVJldmFsaWRhdGUgfHwgY2FjaGVQb2xpY3kgPT0gQ2FjaGVQ
b2xpY3lDYWNoZSB8fCBjYWNoZVBvbGljeSA9PSBDYWNoZVBvbGljeVZlcmlmeSk7CiAKICAgICBp
ZiAoY2FjaGVQb2xpY3kgPT0gQ2FjaGVQb2xpY3lSZXZhbGlkYXRlKQpAQCAtNzEzLDEyICs3MTQs
MTIgQEAgYm9vbCBDYWNoZWRSZXNvdXJjZTo6bXVzdFJldmFsaWRhdGVEdWVUb0NhY2hlSGVhZGVy
cyhDYWNoZVBvbGljeSBjYWNoZVBvbGljeSkgY28KIH0KIAogYm9vbCBDYWNoZWRSZXNvdXJjZTo6
aXNTYWZlVG9NYWtlUHVyZ2VhYmxlKCkgY29uc3QKLXsgCit7CiAgICAgcmV0dXJuICFoYXNDbGll
bnRzKCkgJiYgIW1fcHJveHlSZXNvdXJjZSAmJiAhbV9yZXNvdXJjZVRvUmV2YWxpZGF0ZTsKIH0K
IAotYm9vbCBDYWNoZWRSZXNvdXJjZTo6bWFrZVB1cmdlYWJsZShib29sIHB1cmdlYWJsZSkgCi17
IAorYm9vbCBDYWNoZWRSZXNvdXJjZTo6bWFrZVB1cmdlYWJsZShib29sIHB1cmdlYWJsZSkKK3sK
ICAgICBpZiAocHVyZ2VhYmxlKSB7CiAgICAgICAgIEFTU0VSVChpc1NhZmVUb01ha2VQdXJnZWFi
bGUoKSk7CiAKQEAgLTcyOCwxMSArNzI5LDExIEBAIGJvb2wgQ2FjaGVkUmVzb3VyY2U6Om1ha2VQ
dXJnZWFibGUoYm9vbCBwdXJnZWFibGUpCiAgICAgICAgIH0KICAgICAgICAgaWYgKCFtX2RhdGEp
CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIAorCiAgICAgICAgIC8vIFNob3Vs
ZCBub3QgbWFrZSBidWZmZXIgcHVyZ2VhYmxlIGlmIGl0IGhhcyByZWZzIG90aGVyIHRoYW4gdGhp
cyBzaW5jZSB3ZSBkb24ndCB3YW50IHR3byBjb3BpZXMuCiAgICAgICAgIGlmICghbV9kYXRhLT5o
YXNPbmVSZWYoKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgCisKICAgICAg
ICAgaWYgKG1fZGF0YS0+aGFzUHVyZ2VhYmxlQnVmZmVyKCkpIHsKICAgICAgICAgICAgIG1fcHVy
Z2VhYmxlRGF0YSA9IG1fZGF0YS0+cmVsZWFzZVB1cmdlYWJsZUJ1ZmZlcigpOwogICAgICAgICB9
IGVsc2UgewpAQCAtNzQxLDcgKzc0Miw3IEBAIGJvb2wgQ2FjaGVkUmVzb3VyY2U6Om1ha2VQdXJn
ZWFibGUoYm9vbCBwdXJnZWFibGUpCiAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAg
ICAgICAgICAgbV9wdXJnZWFibGVEYXRhLT5zZXRQdXJnZVByaW9yaXR5KHB1cmdlUHJpb3JpdHko
KSk7CiAgICAgICAgIH0KLSAgICAgICAgCisKICAgICAgICAgbV9wdXJnZWFibGVEYXRhLT5tYWtl
UHVyZ2VhYmxlKHRydWUpOwogICAgICAgICBtX2RhdGEuY2xlYXIoKTsKICAgICAgICAgcmV0dXJu
IHRydWU7CkBAIC03NTMsNyArNzU0LDcgQEAgYm9vbCBDYWNoZWRSZXNvdXJjZTo6bWFrZVB1cmdl
YWJsZShib29sIHB1cmdlYWJsZSkKICAgICBBU1NFUlQoIWhhc0NsaWVudHMoKSk7CiAKICAgICBp
ZiAoIW1fcHVyZ2VhYmxlRGF0YS0+bWFrZVB1cmdlYWJsZShmYWxzZSkpCi0gICAgICAgIHJldHVy
biBmYWxzZTsgCisgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIG1fZGF0YSA9IFJlc291cmNl
QnVmZmVyOjphZG9wdFNoYXJlZEJ1ZmZlcihTaGFyZWRCdWZmZXI6OmFkb3B0UHVyZ2VhYmxlQnVm
ZmVyKG1fcHVyZ2VhYmxlRGF0YS5yZWxlYXNlKCkpKTsKICAgICByZXR1cm4gdHJ1ZTsKQEAgLTc3
NCw5ICs3NzUsOSBAQCB1bnNpZ25lZCBDYWNoZWRSZXNvdXJjZTo6b3ZlcmhlYWRTaXplKCkgY29u
c3QKICAgICBzdGF0aWMgY29uc3QgaW50IGtBdmVyYWdlQ2xpZW50c0hhc2hNYXBTaXplID0gMzg0
OwogICAgIHJldHVybiBzaXplb2YoQ2FjaGVkUmVzb3VyY2UpICsgbV9yZXNwb25zZS5tZW1vcnlV
c2FnZSgpICsga0F2ZXJhZ2VDbGllbnRzSGFzaE1hcFNpemUgKyBtX3Jlc291cmNlUmVxdWVzdC51
cmwoKS5zdHJpbmcoKS5sZW5ndGgoKSAqIDI7CiB9Ci0gICAgCi12b2lkIENhY2hlZFJlc291cmNl
OjpzZXRMb2FkUHJpb3JpdHkoUmVzb3VyY2VMb2FkUHJpb3JpdHkgbG9hZFByaW9yaXR5KSAKLXsg
CisKK3ZvaWQgQ2FjaGVkUmVzb3VyY2U6OnNldExvYWRQcmlvcml0eShSZXNvdXJjZUxvYWRQcmlv
cml0eSBsb2FkUHJpb3JpdHkpCit7CiAgICAgaWYgKGxvYWRQcmlvcml0eSA9PSBSZXNvdXJjZUxv
YWRQcmlvcml0eVVucmVzb2x2ZWQpCiAgICAgICAgIHJldHVybjsKICAgICBtX2xvYWRQcmlvcml0
eSA9IGxvYWRQcmlvcml0eTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNo
ZS9DYWNoZWRSZXNvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJl
c291cmNlLmgKaW5kZXggZWIzMWQ5ZDFmMmQ5YzRmOTQzZjVjYWFmMjhkNDE1MjFmMTY1MDc1Yy4u
YzM1YWI0N2M5ZjQ1MzRkZThiOWE2N2VkZDAwYWMwMTgxOTE3ZTJjMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmgKQEAgLTI1LDYgKzI1LDggQEAKIAog
I2luY2x1ZGUgIkNhY2hlUG9saWN5LmgiCiAjaW5jbHVkZSAiRnJhbWVMb2FkZXJUeXBlcy5oIgor
I2luY2x1ZGUgIkxvYWRJbml0aWF0b3IuaCIKKyNpbmNsdWRlICJMb2FkSW5pdGlhdG9ySGFuZGxl
LmgiCiAjaW5jbHVkZSAiUHVyZ2VQcmlvcml0eS5oIgogI2luY2x1ZGUgIlJlc291cmNlTG9hZFBy
aW9yaXR5LmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VMb2FkZXJPcHRpb25zLmgiCkBAIC01OCw3ICs2
MCw3IEBAIGNsYXNzIENhY2hlZFJlc291cmNlIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShD
YWNoZWRSZXNvdXJjZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIGZyaWVuZCBjbGFz
cyBNZW1vcnlDYWNoZTsKICAgICBmcmllbmQgY2xhc3MgSW5zcGVjdG9yUmVzb3VyY2U7Ci0gICAg
CisKIHB1YmxpYzoKICAgICBlbnVtIFR5cGUgewogICAgICAgICBJbWFnZVJlc291cmNlLApAQCAt
MTA2LDkgKzEwOCwxMCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIHNob3VsZElnbm9yZUhU
VFBTdGF0dXNDb2RlRXJyb3JzKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIAogICAgIFJlc291
cmNlUmVxdWVzdCYgcmVzb3VyY2VSZXF1ZXN0KCkgeyByZXR1cm4gbV9yZXNvdXJjZVJlcXVlc3Q7
IH0KLSAgICBjb25zdCBLVVJMJiB1cmwoKSBjb25zdCB7IHJldHVybiBtX3Jlc291cmNlUmVxdWVz
dC51cmwoKTt9CisgICAgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXNvdXJjZVJlcXVlc3QoKSBj
b25zdCB7IHJldHVybiBtX3Jlc291cmNlUmVxdWVzdDsgfQorICAgIGNvbnN0IEtVUkwmIHVybCgp
IGNvbnN0IHsgcmV0dXJuIG1fcmVzb3VyY2VSZXF1ZXN0LnVybCgpOyB9CiAgICAgVHlwZSB0eXBl
KCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8VHlwZT4obV90eXBlKTsgfQotICAgIAorCiAg
ICAgUmVzb3VyY2VMb2FkUHJpb3JpdHkgbG9hZFByaW9yaXR5KCkgY29uc3QgeyByZXR1cm4gbV9s
b2FkUHJpb3JpdHk7IH0KICAgICB2b2lkIHNldExvYWRQcmlvcml0eShSZXNvdXJjZUxvYWRQcmlv
cml0eSk7CiAKQEAgLTEzOSw3ICsxNDIsNyBAQCBwdWJsaWM6CiAgICAgdW5zaWduZWQgZW5jb2Rl
ZFNpemUoKSBjb25zdCB7IHJldHVybiBtX2VuY29kZWRTaXplOyB9CiAgICAgdW5zaWduZWQgZGVj
b2RlZFNpemUoKSBjb25zdCB7IHJldHVybiBtX2RlY29kZWRTaXplOyB9CiAgICAgdW5zaWduZWQg
b3ZlcmhlYWRTaXplKCkgY29uc3Q7Ci0gICAgCisKICAgICBib29sIGlzTG9hZGVkKCkgY29uc3Qg
eyByZXR1cm4gIW1fbG9hZGluZzsgfSAvLyBGSVhNRS4gTWV0aG9kIG5hbWUgaXMgaW5hY2N1cmF0
ZS4gTG9hZGluZyBtaWdodCBub3QgaGF2ZSBzdGFydGVkIHlldC4KIAogICAgIGJvb2wgaXNMb2Fk
aW5nKCkgY29uc3QgeyByZXR1cm4gbV9sb2FkaW5nOyB9CkBAIC0xNjIsNyArMTY1LDcgQEAgcHVi
bGljOgogICAgIHVuc2lnbmVkIGFjY2Vzc0NvdW50KCkgY29uc3QgeyByZXR1cm4gbV9hY2Nlc3ND
b3VudDsgfQogICAgIHZvaWQgaW5jcmVhc2VBY2Nlc3NDb3VudCgpIHsgbV9hY2Nlc3NDb3VudCsr
OyB9CiAKLSAgICAvLyBDb21wdXRlcyB0aGUgc3RhdHVzIG9mIGFuIG9iamVjdCBhZnRlciBsb2Fk
aW5nLiAgCisgICAgLy8gQ29tcHV0ZXMgdGhlIHN0YXR1cyBvZiBhbiBvYmplY3QgYWZ0ZXIgbG9h
ZGluZy4KICAgICAvLyBVcGRhdGVzIHRoZSBleHBpcmUgZGF0ZSBvbiB0aGUgY2FjaGUgZW50cnkg
ZmlsZQogICAgIHZvaWQgZmluaXNoKCk7CiAKQEAgLTE3NCw5ICsxNzcsOSBAQCBwdWJsaWM6CiAg
ICAgLy8gVGhlIHJlc291cmNlIGNhbiBiZSBicm91Z2h0IGJhY2sgdG8gY2FjaGUgYWZ0ZXIgc3Vj
Y2Vzc2Z1bCByZXZhbGlkYXRpb24uCiAgICAgdm9pZCBzZXRJbkNhY2hlKGJvb2wgaW5DYWNoZSkg
eyBtX2luQ2FjaGUgPSBpbkNhY2hlOyB9CiAgICAgYm9vbCBpbkNhY2hlKCkgY29uc3QgeyByZXR1
cm4gbV9pbkNhY2hlOyB9Ci0gICAgCisKICAgICBib29sIGluTGl2ZURlY29kZWRSZXNvdXJjZXNM
aXN0KCkgeyByZXR1cm4gbV9pbkxpdmVEZWNvZGVkUmVzb3VyY2VzTGlzdDsgfQotICAgIAorCiAg
ICAgdm9pZCBzdG9wTG9hZGluZygpOwogCiAgICAgUmVzb3VyY2VCdWZmZXIqIHJlc291cmNlQnVm
ZmVyKCkgY29uc3QgeyBBU1NFUlQoIW1fcHVyZ2VhYmxlRGF0YSk7IHJldHVybiBtX2RhdGEuZ2V0
KCk7IH0KQEAgLTE5Myw2ICsxOTYsOSBAQCBwdWJsaWM6CiAgICAgLy8gaWRlbnRpZmllciB0aGF0
IGlzIHVzZWQgdG8gZGlzdGluZ3Vpc2ggZGF0YSBnZW5lcmF0ZWQgYnkgdGhlIGNhbGxlci4KICAg
ICB2b2lkIHNldENhY2hlZE1ldGFkYXRhKHVuc2lnbmVkIGRhdGFUeXBlSUQsIGNvbnN0IGNoYXIq
LCBzaXplX3QpOwogCisgICAgdm9pZCBzZXRJbml0aWF0b3IoY29uc3QgTG9hZEluaXRpYXRvciYg
aW5pdGlhdG9yKSB7IG1faW5pdGlhdG9yID0gaW5pdGlhdG9yOyB9CisgICAgY29uc3QgTG9hZElu
aXRpYXRvckhhbmRsZSYgaW5pdGlhdG9yKCkgY29uc3QgeyByZXR1cm4gbV9pbml0aWF0b3I7IH0K
KwogICAgIC8vIFJldHVybnMgY2FjaGVkIG1ldGFkYXRhIG9mIHRoZSBnaXZlbiB0eXBlIGFzc29j
aWF0ZWQgd2l0aCB0aGlzIHJlc291cmNlLgogICAgIENhY2hlZE1ldGFkYXRhKiBjYWNoZWRNZXRh
ZGF0YSh1bnNpZ25lZCBkYXRhVHlwZUlEKSBjb25zdDsKIApAQCAtMjExLDM3ICsyMTcsMzcgQEAg
cHVibGljOgogICAgIGJvb2wgbG9hZEZhaWxlZE9yQ2FuY2VsZWQoKSB7IHJldHVybiBtX3N0YXR1
cyA9PSBDYW5jZWxlZCB8fCBtX3N0YXR1cyA9PSBMb2FkRXJyb3I7IH0KIAogICAgIGJvb2wgc2Vu
ZFJlc291cmNlTG9hZENhbGxiYWNrcygpIGNvbnN0IHsgcmV0dXJuIG1fb3B0aW9ucy5zZW5kTG9h
ZENhbGxiYWNrcyA9PSBTZW5kQ2FsbGJhY2tzOyB9Ci0gICAgCisKICAgICB2aXJ0dWFsIHZvaWQg
ZGVzdHJveURlY29kZWREYXRhKCkgeyB9CiAKICAgICB2b2lkIHNldE93bmluZ0NhY2hlZFJlc291
cmNlTG9hZGVyKENhY2hlZFJlc291cmNlTG9hZGVyKiBjYWNoZWRSZXNvdXJjZUxvYWRlcikgeyBt
X293bmluZ0NhY2hlZFJlc291cmNlTG9hZGVyID0gY2FjaGVkUmVzb3VyY2VMb2FkZXI7IH0KLSAg
ICAKKwogICAgIGJvb2wgaXNQcmVsb2FkZWQoKSBjb25zdCB7IHJldHVybiBtX3ByZWxvYWRDb3Vu
dDsgfQogICAgIHZvaWQgaW5jcmVhc2VQcmVsb2FkQ291bnQoKSB7ICsrbV9wcmVsb2FkQ291bnQ7
IH0KICAgICB2b2lkIGRlY3JlYXNlUHJlbG9hZENvdW50KCkgeyBBU1NFUlQobV9wcmVsb2FkQ291
bnQpOyAtLW1fcHJlbG9hZENvdW50OyB9Ci0gICAgCisKICAgICB2b2lkIHJlZ2lzdGVySGFuZGxl
KENhY2hlZFJlc291cmNlSGFuZGxlQmFzZSogaCk7CiAgICAgdm9pZCB1bnJlZ2lzdGVySGFuZGxl
KENhY2hlZFJlc291cmNlSGFuZGxlQmFzZSogaCk7Ci0gICAgCisKICAgICBib29sIGNhblVzZUNh
Y2hlVmFsaWRhdG9yKCkgY29uc3Q7CiAgICAgYm9vbCBtdXN0UmV2YWxpZGF0ZUR1ZVRvQ2FjaGVI
ZWFkZXJzKENhY2hlUG9saWN5KSBjb25zdDsKICAgICBib29sIGlzQ2FjaGVWYWxpZGF0b3IoKSBj
b25zdCB7IHJldHVybiBtX3Jlc291cmNlVG9SZXZhbGlkYXRlOyB9CiAgICAgQ2FjaGVkUmVzb3Vy
Y2UqIHJlc291cmNlVG9SZXZhbGlkYXRlKCkgY29uc3QgeyByZXR1cm4gbV9yZXNvdXJjZVRvUmV2
YWxpZGF0ZTsgfQotICAgIAorCiAgICAgYm9vbCBpc1B1cmdlYWJsZSgpIGNvbnN0OwogICAgIGJv
b2wgd2FzUHVyZ2VkKCkgY29uc3Q7Ci0gICAgCisKICAgICAvLyBUaGlzIGlzIHVzZWQgYnkgdGhl
IGFyY2hpdmUgbWFjaGluZXJ5IHRvIGdldCBhdCBhIHB1cmdlZCByZXNvdXJjZSB3aXRob3V0CiAg
ICAgLy8gdHJpZ2dlcmluZyBhIGxvYWQuIFdlIHNob3VsZCBtYWtlIGl0IHByb3RlY3RlZCBhZ2Fp
biBpZiB3ZSBjYW4gZmluZCBhCiAgICAgLy8gYmV0dGVyIHdheSB0byBoYW5kbGUgdGhlIGFyY2hp
dmUgY2FzZS4KICAgICBib29sIG1ha2VQdXJnZWFibGUoYm9vbCBwdXJnZWFibGUpOwotICAgIAor
CiAgICAgLy8gSFRUUCByZXZhbGlkYXRpb24gc3VwcG9ydCBtZXRob2RzIGZvciBDYWNoZWRSZXNv
dXJjZUxvYWRlci4KICAgICB2b2lkIHNldFJlc291cmNlVG9SZXZhbGlkYXRlKENhY2hlZFJlc291
cmNlKik7CiAgICAgdm9pZCBzd2l0Y2hDbGllbnRzVG9SZXZhbGlkYXRlZFJlc291cmNlKCk7CiAg
ICAgdm9pZCBjbGVhclJlc291cmNlVG9SZXZhbGlkYXRlKCk7CiAgICAgdm9pZCB1cGRhdGVSZXNw
b25zZUFmdGVyUmV2YWxpZGF0aW9uKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHZhbGlkYXRpbmdS
ZXNwb25zZSk7Ci0gICAgCisKICAgICB2aXJ0dWFsIHZvaWQgZGlkU2VuZERhdGEodW5zaWduZWQg
bG9uZyBsb25nIC8qIGJ5dGVzU2VudCAqLywgdW5zaWduZWQgbG9uZyBsb25nIC8qIHRvdGFsQnl0
ZXNUb0JlU2VudCAqLykgeyB9CiAjaWYgUExBVEZPUk0oQ0hST01JVU0pCiAgICAgdmlydHVhbCB2
b2lkIGRpZERvd25sb2FkRGF0YShpbnQpIHsgfQpAQCAtMjYwLDcgKzI2Niw3IEBAIHByb3RlY3Rl
ZDoKICAgICB2b2lkIGRpZEFjY2Vzc0RlY29kZWREYXRhKGRvdWJsZSB0aW1lU3RhbXApOwogCiAg
ICAgYm9vbCBpc1NhZmVUb01ha2VQdXJnZWFibGUoKSBjb25zdDsKLSAgICAKKwogICAgIEhhc2hD
b3VudGVkU2V0PENhY2hlZFJlc291cmNlQ2xpZW50Kj4gbV9jbGllbnRzOwogCiAgICAgY2xhc3Mg
Q2FjaGVkUmVzb3VyY2VDYWxsYmFjayB7CkBAIC0zMzIsMTIgKzMzOCwxMiBAQCBwcml2YXRlOgog
CiAgICAgQ2FjaGVkUmVzb3VyY2UqIG1fbmV4dEluQWxsUmVzb3VyY2VzTGlzdDsKICAgICBDYWNo
ZWRSZXNvdXJjZSogbV9wcmV2SW5BbGxSZXNvdXJjZXNMaXN0OwotICAgIAorCiAgICAgQ2FjaGVk
UmVzb3VyY2UqIG1fbmV4dEluTGl2ZVJlc291cmNlc0xpc3Q7CiAgICAgQ2FjaGVkUmVzb3VyY2Uq
IG1fcHJldkluTGl2ZVJlc291cmNlc0xpc3Q7CiAKICAgICBDYWNoZWRSZXNvdXJjZUxvYWRlciog
bV9vd25pbmdDYWNoZWRSZXNvdXJjZUxvYWRlcjsgLy8gb25seSBub24tMCBmb3IgcmVzb3VyY2Vz
IHRoYXQgYXJlIG5vdCBpbiB0aGUgY2FjaGUKLSAgICAKKwogICAgIC8vIElmIHRoaXMgZmllbGQg
aXMgbm9uLW51bGwgd2UgYXJlIHVzaW5nIHRoZSByZXNvdXJjZSBhcyBhIHByb3h5IGZvciBjaGVj
a2luZyB3aGV0aGVyIGFuIGV4aXN0aW5nIHJlc291cmNlIGlzIHN0aWxsIHVwIHRvIGRhdGUKICAg
ICAvLyB1c2luZyBIVFRQIElmLU1vZGlmaWVkLVNpbmNlL0lmLU5vbmUtTWF0Y2ggaGVhZGVycy4g
SWYgdGhlIHJlc3BvbnNlIGlzIDMwNCBhbGwgY2xpZW50cyBvZiB0aGlzIHJlc291cmNlIGFyZSBt
b3ZlZAogICAgIC8vIHRvIHRvIGJlIGNsaWVudHMgb2YgbV9yZXNvdXJjZVRvUmV2YWxpZGF0ZSBh
bmQgdGhlIHJlc291cmNlIGlzIGRlbGV0ZWQuIElmIG5vdCwgdGhlIGZpZWxkIGlzIHplcm9lZCBh
bmQgdGhpcwpAQCAtMzQ5LDYgKzM1NSw4IEBAIHByaXZhdGU6CiAKICAgICAvLyBUaGVzZSBoYW5k
bGVzIHdpbGwgbmVlZCB0byBiZSB1cGRhdGVkIHRvIHBvaW50IHRvIHRoZSBtX3Jlc291cmNlVG9S
ZXZhbGlkYXRlIGluIGNhc2Ugd2UgZ2V0IDMwNCByZXNwb25zZS4KICAgICBIYXNoU2V0PENhY2hl
ZFJlc291cmNlSGFuZGxlQmFzZSo+IG1faGFuZGxlc1RvUmV2YWxpZGF0ZTsKKworICAgIExvYWRJ
bml0aWF0b3JIYW5kbGUgbV9pbml0aWF0b3I7CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAppbmRleCBjNmNlNDA2
YjYzYTY3MDU3NGNjNWNkZDg2ZTgwOTY0ZWY5Y2U2NTc3Li5lOGVhZmZjZWUyMTIyZGY1YjNmY2M4
NGMxMzZhMzBjMWQwNGNiMjZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2Fj
aGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTE1NSw3ICsxNTUsNyBAQCBGcmFtZSog
Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OmZyYW1lKCkgY29uc3QKICAgICByZXR1cm4gbV9kb2N1bWVu
dExvYWRlciA/IG1fZG9jdW1lbnRMb2FkZXItPmZyYW1lKCkgOiAwOwogfQogCi1DYWNoZWRSZXNv
dXJjZUhhbmRsZTxDYWNoZWRJbWFnZT4gQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RJbWFn
ZShSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QpCitDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRJ
bWFnZT4gQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RJbWFnZShSZXNvdXJjZVJlcXVlc3Qm
IHJlcXVlc3QsIGNvbnN0IExvYWRJbml0aWF0b3ImIGluaXRpYXRvcikKIHsKICAgICBpZiAoRnJh
bWUqIGYgPSBmcmFtZSgpKSB7CiAgICAgICAgIGlmIChmLT5sb2FkZXIoKS0+cGFnZURpc21pc3Nh
bEV2ZW50QmVpbmdEaXNwYXRjaGVkKCkgIT0gRnJhbWVMb2FkZXI6Ok5vRGlzbWlzc2FsKSB7CkBA
IC0xNjUsMzQgKzE2NSwzNCBAQCBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRJbWFnZT4gQ2Fj
aGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RJbWFnZShSZXNvdXJjZVJlcQogICAgICAgICAgICAg
cmV0dXJuIDA7CiAgICAgICAgIH0KICAgICB9Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PENhY2hl
ZEltYWdlKj4ocmVxdWVzdFJlc291cmNlKENhY2hlZFJlc291cmNlOjpJbWFnZVJlc291cmNlLCBy
ZXF1ZXN0LCBTdHJpbmcoKSwgZGVmYXVsdENhY2hlZFJlc291cmNlT3B0aW9ucygpLCBSZXNvdXJj
ZUxvYWRQcmlvcml0eVVucmVzb2x2ZWQsIGZhbHNlLCBjbGllbnREZWZlcnNJbWFnZShyZXF1ZXN0
LnVybCgpKSA/IERlZmVycmVkQnlDbGllbnQgOiBOb0RlZmVyKS5nZXQoKSk7CisgICAgcmV0dXJu
IHN0YXRpY19jYXN0PENhY2hlZEltYWdlKj4ocmVxdWVzdFJlc291cmNlKENhY2hlZFJlc291cmNl
OjpJbWFnZVJlc291cmNlLCByZXF1ZXN0LCBTdHJpbmcoKSwgZGVmYXVsdENhY2hlZFJlc291cmNl
T3B0aW9ucygpLCBpbml0aWF0b3IsIFJlc291cmNlTG9hZFByaW9yaXR5VW5yZXNvbHZlZCwgZmFs
c2UsIGNsaWVudERlZmVyc0ltYWdlKHJlcXVlc3QudXJsKCkpID8gRGVmZXJyZWRCeUNsaWVudCA6
IE5vRGVmZXIpLmdldCgpKTsKIH0KIAotQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkRm9udD4g
Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RGb250KFJlc291cmNlUmVxdWVzdCYgcmVxdWVz
dCkKK0NhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZEZvbnQ+IENhY2hlZFJlc291cmNlTG9hZGVy
OjpyZXF1ZXN0Rm9udChSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IExvYWRJbml0aWF0
b3ImIGluaXRpYXRvcikKIHsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Q2FjaGVkRm9udCo+KHJl
cXVlc3RSZXNvdXJjZShDYWNoZWRSZXNvdXJjZTo6Rm9udFJlc291cmNlLCByZXF1ZXN0LCBTdHJp
bmcoKSwgZGVmYXVsdENhY2hlZFJlc291cmNlT3B0aW9ucygpKS5nZXQoKSk7CisgICAgcmV0dXJu
IHN0YXRpY19jYXN0PENhY2hlZEZvbnQqPihyZXF1ZXN0UmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2U6
OkZvbnRSZXNvdXJjZSwgcmVxdWVzdCwgU3RyaW5nKCksIGRlZmF1bHRDYWNoZWRSZXNvdXJjZU9w
dGlvbnMoKSwgaW5pdGlhdG9yKS5nZXQoKSk7CiB9CiAKICNpZiBFTkFCTEUoVklERU9fVFJBQ0sp
Ci1DYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRUZXh0VHJhY2s+IENhY2hlZFJlc291cmNlTG9h
ZGVyOjpyZXF1ZXN0VGV4dFRyYWNrKFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCkKK0NhY2hlZFJl
c291cmNlSGFuZGxlPENhY2hlZFRleHRUcmFjaz4gQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVl
c3RUZXh0VHJhY2soUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBMb2FkSW5pdGlhdG9y
JiBpbml0aWF0b3IpCiB7Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PENhY2hlZFRleHRUcmFjayo+
KHJlcXVlc3RSZXNvdXJjZShDYWNoZWRSZXNvdXJjZTo6VGV4dFRyYWNrUmVzb3VyY2UsIHJlcXVl
c3QsIFN0cmluZygpLCBkZWZhdWx0Q2FjaGVkUmVzb3VyY2VPcHRpb25zKCkpLmdldCgpKTsKKyAg
ICByZXR1cm4gc3RhdGljX2Nhc3Q8Q2FjaGVkVGV4dFRyYWNrKj4ocmVxdWVzdFJlc291cmNlKENh
Y2hlZFJlc291cmNlOjpUZXh0VHJhY2tSZXNvdXJjZSwgcmVxdWVzdCwgU3RyaW5nKCksIGRlZmF1
bHRDYWNoZWRSZXNvdXJjZU9wdGlvbnMoKSwgaW5pdGlhdG9yKS5nZXQoKSk7CiB9CiAjZW5kaWYK
IAogI2lmIEVOQUJMRShDU1NfU0hBREVSUykKLUNhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFNo
YWRlcj4gQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RTaGFkZXIoUmVzb3VyY2VSZXF1ZXN0
JiByZXF1ZXN0KQorQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkU2hhZGVyPiBDYWNoZWRSZXNv
dXJjZUxvYWRlcjo6cmVxdWVzdFNoYWRlcihSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0
IExvYWRJbml0aWF0b3ImIGluaXRpYXRvcikKIHsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Q2Fj
aGVkU2hhZGVyKj4ocmVxdWVzdFJlc291cmNlKENhY2hlZFJlc291cmNlOjpTaGFkZXJSZXNvdXJj
ZSwgcmVxdWVzdCwgU3RyaW5nKCksIGRlZmF1bHRDYWNoZWRSZXNvdXJjZU9wdGlvbnMoKSkuZ2V0
KCkpOworICAgIHJldHVybiBzdGF0aWNfY2FzdDxDYWNoZWRTaGFkZXIqPihyZXF1ZXN0UmVzb3Vy
Y2UoQ2FjaGVkUmVzb3VyY2U6OlNoYWRlclJlc291cmNlLCByZXF1ZXN0LCBTdHJpbmcoKSwgZGVm
YXVsdENhY2hlZFJlc291cmNlT3B0aW9ucygpLCBpbml0aWF0b3IpLmdldCgpKTsKIH0KICNlbmRp
ZgogCi1DYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRDU1NTdHlsZVNoZWV0PiBDYWNoZWRSZXNv
dXJjZUxvYWRlcjo6cmVxdWVzdENTU1N0eWxlU2hlZXQoUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0
LCBjb25zdCBTdHJpbmcmIGNoYXJzZXQsIFJlc291cmNlTG9hZFByaW9yaXR5IHByaW9yaXR5KQor
Q2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkQ1NTU3R5bGVTaGVldD4gQ2FjaGVkUmVzb3VyY2VM
b2FkZXI6OnJlcXVlc3RDU1NTdHlsZVNoZWV0KFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29u
c3QgU3RyaW5nJiBjaGFyc2V0LCBjb25zdCBMb2FkSW5pdGlhdG9yJiBpbml0aWF0b3IsIFJlc291
cmNlTG9hZFByaW9yaXR5IHByaW9yaXR5KQogewotICAgIHJldHVybiBzdGF0aWNfY2FzdDxDYWNo
ZWRDU1NTdHlsZVNoZWV0Kj4ocmVxdWVzdFJlc291cmNlKENhY2hlZFJlc291cmNlOjpDU1NTdHls
ZVNoZWV0LCByZXF1ZXN0LCBjaGFyc2V0LCBkZWZhdWx0Q2FjaGVkUmVzb3VyY2VPcHRpb25zKCks
IHByaW9yaXR5KS5nZXQoKSk7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PENhY2hlZENTU1N0eWxl
U2hlZXQqPihyZXF1ZXN0UmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2U6OkNTU1N0eWxlU2hlZXQsIHJl
cXVlc3QsIGNoYXJzZXQsIGRlZmF1bHRDYWNoZWRSZXNvdXJjZU9wdGlvbnMoKSwgaW5pdGlhdG9y
LCBwcmlvcml0eSkuZ2V0KCkpOwogfQogCi1DYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRDU1NT
dHlsZVNoZWV0PiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFVzZXJDU1NTdHlsZVNoZWV0
KFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgU3RyaW5nJiBjaGFyc2V0KQorQ2FjaGVk
UmVzb3VyY2VIYW5kbGU8Q2FjaGVkQ1NTU3R5bGVTaGVldD4gQ2FjaGVkUmVzb3VyY2VMb2FkZXI6
OnJlcXVlc3RVc2VyQ1NTU3R5bGVTaGVldChSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0
IFN0cmluZyYgY2hhcnNldCwgY29uc3QgTG9hZEluaXRpYXRvciYgaW5pdGlhdG9yKQogewogICAg
IEtVUkwgdXJsID0gTWVtb3J5Q2FjaGU6OnJlbW92ZUZyYWdtZW50SWRlbnRpZmllcklmTmVlZGVk
KHJlcXVlc3QudXJsKCkpOwogCkBAIC0yMDksNDIgKzIwOSw0MyBAQCBDYWNoZWRSZXNvdXJjZUhh
bmRsZTxDYWNoZWRDU1NTdHlsZVNoZWV0PiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFVz
ZXJDU1NTdAogICAgIG1lbW9yeUNhY2hlKCktPmFkZCh1c2VyU2hlZXQuZ2V0KCkpOwogICAgIC8v
IEZJWE1FOiBsb2FkUmVzb3VyY2UgY2FsbHMgc2V0T3duaW5nQ2FjaGVkUmVzb3VyY2VMb2FkZXIo
KSBpZiB0aGUgcmVzb3VyY2UgY291bGRuJ3QgYmUgYWRkZWQgdG8gY2FjaGUuIERvZXMgdGhpcyBm
dW5jdGlvbiBuZWVkIHRvIGNhbGwgaXQsIHRvbz8KIAorICAgIHVzZXJTaGVldC0+c2V0SW5pdGlh
dG9yKGluaXRpYXRvcik7CiAgICAgdXNlclNoZWV0LT5sb2FkKHRoaXMsIFJlc291cmNlTG9hZGVy
T3B0aW9ucyhEb05vdFNlbmRDYWxsYmFja3MsIFNuaWZmQ29udGVudCwgQnVmZmVyRGF0YSwgQWxs
b3dTdG9yZWRDcmVkZW50aWFscywgQXNrQ2xpZW50Rm9yQ3Jvc3NPcmlnaW5DcmVkZW50aWFscywg
U2tpcFNlY3VyaXR5Q2hlY2spKTsKLSAgICAKKwogICAgIHJldHVybiB1c2VyU2hlZXQ7CiB9CiAK
LUNhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFNjcmlwdD4gQ2FjaGVkUmVzb3VyY2VMb2FkZXI6
OnJlcXVlc3RTY3JpcHQoUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBTdHJpbmcmIGNo
YXJzZXQpCitDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRTY3JpcHQ+IENhY2hlZFJlc291cmNl
TG9hZGVyOjpyZXF1ZXN0U2NyaXB0KFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgU3Ry
aW5nJiBjaGFyc2V0LCBjb25zdCBMb2FkSW5pdGlhdG9yJiBpbml0aWF0b3IpCiB7Ci0gICAgcmV0
dXJuIHN0YXRpY19jYXN0PENhY2hlZFNjcmlwdCo+KHJlcXVlc3RSZXNvdXJjZShDYWNoZWRSZXNv
dXJjZTo6U2NyaXB0LCByZXF1ZXN0LCBjaGFyc2V0LCBkZWZhdWx0Q2FjaGVkUmVzb3VyY2VPcHRp
b25zKCkpLmdldCgpKTsKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Q2FjaGVkU2NyaXB0Kj4ocmVx
dWVzdFJlc291cmNlKENhY2hlZFJlc291cmNlOjpTY3JpcHQsIHJlcXVlc3QsIGNoYXJzZXQsIGRl
ZmF1bHRDYWNoZWRSZXNvdXJjZU9wdGlvbnMoKSwgaW5pdGlhdG9yKS5nZXQoKSk7CiB9CiAKICNp
ZiBFTkFCTEUoWFNMVCkKLUNhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFhTTFN0eWxlU2hlZXQ+
IENhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0WFNMU3R5bGVTaGVldChSZXNvdXJjZVJlcXVl
c3QmIHJlcXVlc3QpCitDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRYU0xTdHlsZVNoZWV0PiBD
YWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFhTTFN0eWxlU2hlZXQoUmVzb3VyY2VSZXF1ZXN0
JiByZXF1ZXN0LCBjb25zdCBMb2FkSW5pdGlhdG9yJiBpbml0aWF0b3IpCiB7Ci0gICAgcmV0dXJu
IHN0YXRpY19jYXN0PENhY2hlZFhTTFN0eWxlU2hlZXQqPihyZXF1ZXN0UmVzb3VyY2UoQ2FjaGVk
UmVzb3VyY2U6OlhTTFN0eWxlU2hlZXQsIHJlcXVlc3QsIFN0cmluZygpLCBkZWZhdWx0Q2FjaGVk
UmVzb3VyY2VPcHRpb25zKCkpLmdldCgpKTsKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Q2FjaGVk
WFNMU3R5bGVTaGVldCo+KHJlcXVlc3RSZXNvdXJjZShDYWNoZWRSZXNvdXJjZTo6WFNMU3R5bGVT
aGVldCwgcmVxdWVzdCwgU3RyaW5nKCksIGRlZmF1bHRDYWNoZWRSZXNvdXJjZU9wdGlvbnMoKSwg
aW5pdGlhdG9yKS5nZXQoKSk7CiB9CiAjZW5kaWYKIAogI2lmIEVOQUJMRShTVkcpCi1DYWNoZWRS
ZXNvdXJjZUhhbmRsZTxDYWNoZWRTVkdEb2N1bWVudD4gQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJl
cXVlc3RTVkdEb2N1bWVudChSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QpCitDYWNoZWRSZXNvdXJj
ZUhhbmRsZTxDYWNoZWRTVkdEb2N1bWVudD4gQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RT
VkdEb2N1bWVudChSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IExvYWRJbml0aWF0b3Im
IGluaXRpYXRvcikKIHsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Q2FjaGVkU1ZHRG9jdW1lbnQq
PihyZXF1ZXN0UmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2U6OlNWR0RvY3VtZW50UmVzb3VyY2UsIHJl
cXVlc3QsIHJlcXVlc3QudXJsKCksIGRlZmF1bHRDYWNoZWRSZXNvdXJjZU9wdGlvbnMoKSkuZ2V0
KCkpOworICAgIHJldHVybiBzdGF0aWNfY2FzdDxDYWNoZWRTVkdEb2N1bWVudCo+KHJlcXVlc3RS
ZXNvdXJjZShDYWNoZWRSZXNvdXJjZTo6U1ZHRG9jdW1lbnRSZXNvdXJjZSwgcmVxdWVzdCwgcmVx
dWVzdC51cmwoKSwgZGVmYXVsdENhY2hlZFJlc291cmNlT3B0aW9ucygpLCBpbml0aWF0b3IpLmdl
dCgpKTsKIH0KICNlbmRpZgogCiAjaWYgRU5BQkxFKExJTktfUFJFRkVUQ0gpCi1DYWNoZWRSZXNv
dXJjZUhhbmRsZTxDYWNoZWRSZXNvdXJjZT4gQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RM
aW5rUmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2U6OlR5cGUgdHlwZSwgUmVzb3VyY2VSZXF1ZXN0JiBy
ZXF1ZXN0LCBSZXNvdXJjZUxvYWRQcmlvcml0eSBwcmlvcml0eSkKK0NhY2hlZFJlc291cmNlSGFu
ZGxlPENhY2hlZFJlc291cmNlPiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdExpbmtSZXNv
dXJjZShDYWNoZWRSZXNvdXJjZTo6VHlwZSB0eXBlLCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3Qs
IGNvbnN0IExvYWRJbml0aWF0b3ImIGluaXRpYXRvciwgUmVzb3VyY2VMb2FkUHJpb3JpdHkgcHJp
b3JpdHkpCiB7CiAgICAgQVNTRVJUKGZyYW1lKCkpOwogICAgIEFTU0VSVCh0eXBlID09IENhY2hl
ZFJlc291cmNlOjpMaW5rUHJlZmV0Y2ggfHwgdHlwZSA9PSBDYWNoZWRSZXNvdXJjZTo6TGlua1N1
YnJlc291cmNlKTsKLSAgICByZXR1cm4gcmVxdWVzdFJlc291cmNlKHR5cGUsIHJlcXVlc3QsIFN0
cmluZygpLCBkZWZhdWx0Q2FjaGVkUmVzb3VyY2VPcHRpb25zKCksIHByaW9yaXR5KTsKKyAgICBy
ZXR1cm4gcmVxdWVzdFJlc291cmNlKHR5cGUsIHJlcXVlc3QsIFN0cmluZygpLCBkZWZhdWx0Q2Fj
aGVkUmVzb3VyY2VPcHRpb25zKCksIGluaXRpYXRvciwgcHJpb3JpdHkpOwogfQogI2VuZGlmCiAK
LUNhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFJhd1Jlc291cmNlPiBDYWNoZWRSZXNvdXJjZUxv
YWRlcjo6cmVxdWVzdFJhd1Jlc291cmNlKFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3Qg
UmVzb3VyY2VMb2FkZXJPcHRpb25zJiBvcHRpb25zKQorQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2Fj
aGVkUmF3UmVzb3VyY2U+IENhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0UmF3UmVzb3VyY2Uo
UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBSZXNvdXJjZUxvYWRlck9wdGlvbnMmIG9w
dGlvbnMsIGNvbnN0IExvYWRJbml0aWF0b3ImIGluaXRpYXRvcikKIHsKLSAgICByZXR1cm4gc3Rh
dGljX2Nhc3Q8Q2FjaGVkUmF3UmVzb3VyY2UqPihyZXF1ZXN0UmVzb3VyY2UoQ2FjaGVkUmVzb3Vy
Y2U6OlJhd1Jlc291cmNlLCByZXF1ZXN0LCBTdHJpbmcoKSwgb3B0aW9ucywgUmVzb3VyY2VMb2Fk
UHJpb3JpdHlVbnJlc29sdmVkLCBmYWxzZSkuZ2V0KCkpOworICAgIHJldHVybiBzdGF0aWNfY2Fz
dDxDYWNoZWRSYXdSZXNvdXJjZSo+KHJlcXVlc3RSZXNvdXJjZShDYWNoZWRSZXNvdXJjZTo6UmF3
UmVzb3VyY2UsIHJlcXVlc3QsIFN0cmluZygpLCBvcHRpb25zLCBpbml0aWF0b3IsIFJlc291cmNl
TG9hZFByaW9yaXR5VW5yZXNvbHZlZCwgZmFsc2UpLmdldCgpKTsKIH0KIAogYm9vbCBDYWNoZWRS
ZXNvdXJjZUxvYWRlcjo6Y2hlY2tJbnNlY3VyZUNvbnRlbnQoQ2FjaGVkUmVzb3VyY2U6OlR5cGUg
dHlwZSwgY29uc3QgS1VSTCYgdXJsKSBjb25zdApAQCAtNDAyLDcgKzQwMyw3IEBAIGJvb2wgQ2Fj
aGVkUmVzb3VyY2VMb2FkZXI6OmNhblJlcXVlc3QoQ2FjaGVkUmVzb3VyY2U6OlR5cGUgdHlwZSwg
Y29uc3QgS1VSTCYgdXJsCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUNhY2hlZFJlc291cmNlSGFu
ZGxlPENhY2hlZFJlc291cmNlPiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFJlc291cmNl
KENhY2hlZFJlc291cmNlOjpUeXBlIHR5cGUsIFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29u
c3QgU3RyaW5nJiBjaGFyc2V0LCBjb25zdCBSZXNvdXJjZUxvYWRlck9wdGlvbnMmIG9wdGlvbnMs
IFJlc291cmNlTG9hZFByaW9yaXR5IHByaW9yaXR5LCBib29sIGZvclByZWxvYWQsIERlZmVyT3B0
aW9uIGRlZmVyKQorQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmVzb3VyY2U+IENhY2hlZFJl
c291cmNlTG9hZGVyOjpyZXF1ZXN0UmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2U6OlR5cGUgdHlwZSwg
UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBTdHJpbmcmIGNoYXJzZXQsIGNvbnN0IFJl
c291cmNlTG9hZGVyT3B0aW9ucyYgb3B0aW9ucywgY29uc3QgTG9hZEluaXRpYXRvciYgaW5pdGlh
dG9yLCBSZXNvdXJjZUxvYWRQcmlvcml0eSBwcmlvcml0eSwgYm9vbCBmb3JQcmVsb2FkLCBEZWZl
ck9wdGlvbiBkZWZlcikKIHsKICAgICBLVVJMIHVybCA9IHJlcXVlc3QudXJsKCk7CiAgICAgCkBA
IC00MzcsMTAgKzQzOCwxMCBAQCBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRSZXNvdXJjZT4g
Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RSZXNvdXJjZShDYWNoZQogICAgICAgICBtZW1v
cnlDYWNoZSgpLT5yZW1vdmUocmVzb3VyY2UuZ2V0KCkpOwogICAgICAgICAvLyBGYWxsIHRocm91
Z2gKICAgICBjYXNlIExvYWQ6Ci0gICAgICAgIHJlc291cmNlID0gbG9hZFJlc291cmNlKHR5cGUs
IHJlcXVlc3QsIGNoYXJzZXQpOworICAgICAgICByZXNvdXJjZSA9IGxvYWRSZXNvdXJjZSh0eXBl
LCByZXF1ZXN0LCBjaGFyc2V0LCBpbml0aWF0b3IpOwogICAgICAgICBicmVhazsKICAgICBjYXNl
IFJldmFsaWRhdGU6Ci0gICAgICAgIHJlc291cmNlID0gcmV2YWxpZGF0ZVJlc291cmNlKHJlc291
cmNlLmdldCgpKTsKKyAgICAgICAgcmVzb3VyY2UgPSByZXZhbGlkYXRlUmVzb3VyY2UocmVzb3Vy
Y2UuZ2V0KCksIGluaXRpYXRvcik7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgVXNlOgogICAg
ICAgICBtZW1vcnlDYWNoZSgpLT5yZXNvdXJjZUFjY2Vzc2VkKHJlc291cmNlLmdldCgpKTsKQEAg
LTQ3MSwzNCArNDcyLDM2IEBAIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFJlc291cmNlPiBD
YWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFJlc291cmNlKENhY2hlCiAgICAgcmV0dXJuIHJl
c291cmNlOwogfQogCi1DYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRSZXNvdXJjZT4gQ2FjaGVk
UmVzb3VyY2VMb2FkZXI6OnJldmFsaWRhdGVSZXNvdXJjZShDYWNoZWRSZXNvdXJjZSogcmVzb3Vy
Y2UpCitDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRSZXNvdXJjZT4gQ2FjaGVkUmVzb3VyY2VM
b2FkZXI6OnJldmFsaWRhdGVSZXNvdXJjZShDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2UsIGNvbnN0
IExvYWRJbml0aWF0b3ImIGluaXRpYXRvcikKIHsKICAgICBBU1NFUlQocmVzb3VyY2UpOwogICAg
IEFTU0VSVChyZXNvdXJjZS0+aW5DYWNoZSgpKTsKICAgICBBU1NFUlQoIW1lbW9yeUNhY2hlKCkt
PmRpc2FibGVkKCkpOwogICAgIEFTU0VSVChyZXNvdXJjZS0+Y2FuVXNlQ2FjaGVWYWxpZGF0b3Io
KSk7CiAgICAgQVNTRVJUKCFyZXNvdXJjZS0+cmVzb3VyY2VUb1JldmFsaWRhdGUoKSk7Ci0gICAg
CisKICAgICAvLyBDb3B5IHRoZSBVUkwgb3V0IG9mIHRoZSByZXNvdXJjZSB0byBiZSByZXZhbGlk
YXRlZCBpbiBjYXNlIGl0IGdldHMgZGVsZXRlZCBieSB0aGUgcmVtb3ZlKCkgY2FsbCBiZWxvdy4K
ICAgICBTdHJpbmcgdXJsID0gcmVzb3VyY2UtPnVybCgpOwogICAgIENhY2hlZFJlc291cmNlSGFu
ZGxlPENhY2hlZFJlc291cmNlPiBuZXdSZXNvdXJjZSA9IGNyZWF0ZVJlc291cmNlKHJlc291cmNl
LT50eXBlKCksIHJlc291cmNlLT5yZXNvdXJjZVJlcXVlc3QoKSwgcmVzb3VyY2UtPmVuY29kaW5n
KCkpOwogICAgIAogICAgIExPRyhSZXNvdXJjZUxvYWRpbmcsICJSZXNvdXJjZSAlcCBjcmVhdGVk
IHRvIHJldmFsaWRhdGUgJXAiLCBuZXdSZXNvdXJjZS5nZXQoKSwgcmVzb3VyY2UpOwogICAgIG5l
d1Jlc291cmNlLT5zZXRSZXNvdXJjZVRvUmV2YWxpZGF0ZShyZXNvdXJjZSk7CisgICAgbmV3UmVz
b3VyY2UtPnNldEluaXRpYXRvcihpbml0aWF0b3IpOwogICAgIAogICAgIG1lbW9yeUNhY2hlKCkt
PnJlbW92ZShyZXNvdXJjZSk7CiAgICAgbWVtb3J5Q2FjaGUoKS0+YWRkKG5ld1Jlc291cmNlLmdl
dCgpKTsKICAgICByZXR1cm4gbmV3UmVzb3VyY2U7CiB9CiAKLUNhY2hlZFJlc291cmNlSGFuZGxl
PENhY2hlZFJlc291cmNlPiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6bG9hZFJlc291cmNlKENhY2hl
ZFJlc291cmNlOjpUeXBlIHR5cGUsIFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgU3Ry
aW5nJiBjaGFyc2V0KQorQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmVzb3VyY2U+IENhY2hl
ZFJlc291cmNlTG9hZGVyOjpsb2FkUmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2U6OlR5cGUgdHlwZSwg
UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBTdHJpbmcmIGNoYXJzZXQsIGNvbnN0IExv
YWRJbml0aWF0b3ImIGluaXRpYXRvcikKIHsKICAgICBBU1NFUlQoIW1lbW9yeUNhY2hlKCktPnJl
c291cmNlRm9yVVJMKHJlcXVlc3QudXJsKCkpKTsKLSAgICAKKwogICAgIExPRyhSZXNvdXJjZUxv
YWRpbmcsICJMb2FkaW5nIENhY2hlZFJlc291cmNlIGZvciAnJXMnLiIsIHJlcXVlc3QudXJsKCku
c3RyaW5nKCkubGF0aW4xKCkuZGF0YSgpKTsKLSAgICAKKwogICAgIENhY2hlZFJlc291cmNlSGFu
ZGxlPENhY2hlZFJlc291cmNlPiByZXNvdXJjZSA9IGNyZWF0ZVJlc291cmNlKHR5cGUsIHJlcXVl
c3QsIGNoYXJzZXQpOwotICAgIAorICAgIHJlc291cmNlLT5zZXRJbml0aWF0b3IoaW5pdGlhdG9y
KTsKKwogICAgIGlmICghbWVtb3J5Q2FjaGUoKS0+YWRkKHJlc291cmNlLmdldCgpKSkKICAgICAg
ICAgcmVzb3VyY2UtPnNldE93bmluZ0NhY2hlZFJlc291cmNlTG9hZGVyKHRoaXMpOwogICAgIHJl
dHVybiByZXNvdXJjZTsKQEAgLTUwOCwxMSArNTExLDExIEBAIENhY2hlZFJlc291cmNlTG9hZGVy
OjpSZXZhbGlkYXRpb25Qb2xpY3kgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmRldGVybWluZVJldmFs
aWRhCiB7CiAgICAgaWYgKCFleGlzdGluZ1Jlc291cmNlKQogICAgICAgICByZXR1cm4gTG9hZDsK
LQorICAgIAogICAgIC8vIFdlIGFscmVhZHkgaGF2ZSBhIHByZWxvYWQgZ29pbmcgZm9yIHRoaXMg
VVJMLgogICAgIGlmIChmb3JQcmVsb2FkICYmIGV4aXN0aW5nUmVzb3VyY2UtPmlzUHJlbG9hZGVk
KCkpCiAgICAgICAgIHJldHVybiBVc2U7Ci0KKyAgICAKICAgICAvLyBJZiB0aGUgc2FtZSBVUkwg
aGFzIGJlZW4gbG9hZGVkIGFzIGEgZGlmZmVyZW50IHR5cGUsIHdlIG5lZWQgdG8gcmVsb2FkLgog
ICAgIGlmIChleGlzdGluZ1Jlc291cmNlLT50eXBlKCkgIT0gdHlwZSkgewogICAgICAgICBMT0co
UmVzb3VyY2VMb2FkaW5nLCAiQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmRldGVybWluZVJldmFsaWRh
dGlvblBvbGljeSByZWxvYWRpbmcgZHVlIHRvIHR5cGUgbWlzbWF0Y2guIik7CkBAIC03NTAsOCAr
NzUzLDggQEAgdm9pZCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6ZGVjcmVtZW50UmVxdWVzdENvdW50
KGNvbnN0IENhY2hlZFJlc291cmNlKiByZXMpCiAgICAgLS1tX3JlcXVlc3RDb3VudDsKICAgICBB
U1NFUlQobV9yZXF1ZXN0Q291bnQgPiAtMSk7CiB9Ci0gICAgCi12b2lkIENhY2hlZFJlc291cmNl
TG9hZGVyOjpwcmVsb2FkKENhY2hlZFJlc291cmNlOjpUeXBlIHR5cGUsIFJlc291cmNlUmVxdWVz
dCYgcmVxdWVzdCwgY29uc3QgU3RyaW5nJiBjaGFyc2V0LCBib29sIHJlZmVyZW5jZWRGcm9tQm9k
eSkKKwordm9pZCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cHJlbG9hZChDYWNoZWRSZXNvdXJjZTo6
VHlwZSB0eXBlLCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFN0cmluZyYgY2hhcnNl
dCwgYm9vbCByZWZlcmVuY2VkRnJvbUJvZHksIGNvbnN0IExvYWRJbml0aWF0b3ImIGluaXRpYXRv
cikKIHsKICAgICAvLyBGSVhNRTogUmlwIHRoaXMgb3V0IHdoZW4gd2UgYXJlIHN1cmUgaXQgaXMg
bm8gbG9uZ2VyIG5lY2Vzc2FyeSAoZXZlbiBmb3IgbW9iaWxlKS4KICAgICBVTlVTRURfUEFSQU0o
cmVmZXJlbmNlZEZyb21Cb2R5KTsKQEAgLTc2NiwxNSArNzY5LDE1IEBAIHZvaWQgQ2FjaGVkUmVz
b3VyY2VMb2FkZXI6OnByZWxvYWQoQ2FjaGVkUmVzb3VyY2U6OlR5cGUgdHlwZSwgUmVzb3VyY2VS
ZXF1ZXN0JiByCiAgICAgICAgIGlmICghaGFzUmVuZGVyaW5nICYmICFjYW5CbG9ja1BhcnNlcikg
ewogICAgICAgICAgICAgLy8gRG9uJ3QgcHJlbG9hZCBzdWJyZXNvdXJjZXMgdGhhdCBjYW4ndCBi
bG9jayB0aGUgcGFyc2VyIGJlZm9yZSB3ZSBoYXZlIHNvbWV0aGluZyB0byBkcmF3LgogICAgICAg
ICAgICAgLy8gVGhpcyBoZWxwcyBwcmV2ZW50IHByZWxvYWRzIGZyb20gZGVsYXlpbmcgZmlyc3Qg
ZGlzcGxheSB3aGVuIGJhbmR3aWR0aCBpcyBsaW1pdGVkLgotICAgICAgICAgICAgUGVuZGluZ1By
ZWxvYWQgcGVuZGluZ1ByZWxvYWQgPSB7IHR5cGUsIHJlcXVlc3QsIGNoYXJzZXQgfTsKKyAgICAg
ICAgICAgIFBlbmRpbmdQcmVsb2FkIHBlbmRpbmdQcmVsb2FkID0geyB0eXBlLCByZXF1ZXN0LCBj
aGFyc2V0LCBpbml0aWF0b3IgfTsKICAgICAgICAgICAgIG1fcGVuZGluZ1ByZWxvYWRzLmFwcGVu
ZChwZW5kaW5nUHJlbG9hZCk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICB9
Ci0gICAgcmVxdWVzdFByZWxvYWQodHlwZSwgcmVxdWVzdCwgY2hhcnNldCk7CisgICAgcmVxdWVz
dFByZWxvYWQodHlwZSwgcmVxdWVzdCwgY2hhcnNldCwgaW5pdGlhdG9yKTsKIH0KIAotdm9pZCBD
YWNoZWRSZXNvdXJjZUxvYWRlcjo6Y2hlY2tGb3JQZW5kaW5nUHJlbG9hZHMoKSAKK3ZvaWQgQ2Fj
aGVkUmVzb3VyY2VMb2FkZXI6OmNoZWNrRm9yUGVuZGluZ1ByZWxvYWRzKCkKIHsKICAgICBpZiAo
bV9wZW5kaW5nUHJlbG9hZHMuaXNFbXB0eSgpIHx8ICFtX2RvY3VtZW50LT5ib2R5KCkgfHwgIW1f
ZG9jdW1lbnQtPmJvZHkoKS0+cmVuZGVyZXIoKSkKICAgICAgICAgcmV0dXJuOwpAQCAtNzgyLDE4
ICs3ODUsMTggQEAgdm9pZCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6Y2hlY2tGb3JQZW5kaW5nUHJl
bG9hZHMoKQogICAgICAgICBQZW5kaW5nUHJlbG9hZCBwcmVsb2FkID0gbV9wZW5kaW5nUHJlbG9h
ZHMudGFrZUZpcnN0KCk7CiAgICAgICAgIC8vIERvbid0IHJlcXVlc3QgcHJlbG9hZCBpZiB0aGUg
cmVzb3VyY2UgYWxyZWFkeSBsb2FkZWQgbm9ybWFsbHkgKHRoaXMgd2lsbCByZXN1bHQgaW4gZG91
YmxlIGxvYWQgaWYgdGhlIHBhZ2UgaXMgYmVpbmcgcmVsb2FkZWQgd2l0aCBjYWNoZWQgcmVzdWx0
cyBpZ25vcmVkKS4KICAgICAgICAgaWYgKCFjYWNoZWRSZXNvdXJjZShwcmVsb2FkLm1fcmVxdWVz
dC51cmwoKSkpCi0gICAgICAgICAgICByZXF1ZXN0UHJlbG9hZChwcmVsb2FkLm1fdHlwZSwgcHJl
bG9hZC5tX3JlcXVlc3QsIHByZWxvYWQubV9jaGFyc2V0KTsKKyAgICAgICAgICAgIHJlcXVlc3RQ
cmVsb2FkKHByZWxvYWQubV90eXBlLCBwcmVsb2FkLm1fcmVxdWVzdCwgcHJlbG9hZC5tX2NoYXJz
ZXQsIHByZWxvYWQubV9pbml0aWF0b3IpOwogICAgIH0KICAgICBtX3BlbmRpbmdQcmVsb2Fkcy5j
bGVhcigpOwogfQogCi12b2lkIENhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0UHJlbG9hZChD
YWNoZWRSZXNvdXJjZTo6VHlwZSB0eXBlLCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0
IFN0cmluZyYgY2hhcnNldCkKK3ZvaWQgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RQcmVs
b2FkKENhY2hlZFJlc291cmNlOjpUeXBlIHR5cGUsIFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwg
Y29uc3QgU3RyaW5nJiBjaGFyc2V0LCBjb25zdCBMb2FkSW5pdGlhdG9yJiBpbml0aWF0b3IpCiB7
CiAgICAgU3RyaW5nIGVuY29kaW5nOwogICAgIGlmICh0eXBlID09IENhY2hlZFJlc291cmNlOjpT
Y3JpcHQgfHwgdHlwZSA9PSBDYWNoZWRSZXNvdXJjZTo6Q1NTU3R5bGVTaGVldCkKICAgICAgICAg
ZW5jb2RpbmcgPSBjaGFyc2V0LmlzRW1wdHkoKSA/IG1fZG9jdW1lbnQtPmNoYXJzZXQoKSA6IGNo
YXJzZXQ7CiAKLSAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRSZXNvdXJjZT4gcmVzb3Vy
Y2UgPSByZXF1ZXN0UmVzb3VyY2UodHlwZSwgcmVxdWVzdCwgZW5jb2RpbmcsIGRlZmF1bHRDYWNo
ZWRSZXNvdXJjZU9wdGlvbnMoKSwgUmVzb3VyY2VMb2FkUHJpb3JpdHlVbnJlc29sdmVkLCB0cnVl
KTsKKyAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRSZXNvdXJjZT4gcmVzb3VyY2UgPSBy
ZXF1ZXN0UmVzb3VyY2UodHlwZSwgcmVxdWVzdCwgZW5jb2RpbmcsIGRlZmF1bHRDYWNoZWRSZXNv
dXJjZU9wdGlvbnMoKSwgaW5pdGlhdG9yLCBSZXNvdXJjZUxvYWRQcmlvcml0eVVucmVzb2x2ZWQs
IHRydWUpOwogICAgIGlmICghcmVzb3VyY2UgfHwgKG1fcHJlbG9hZHMgJiYgbV9wcmVsb2Fkcy0+
Y29udGFpbnMocmVzb3VyY2UuZ2V0KCkpKSkKICAgICAgICAgcmV0dXJuOwogICAgIHJlc291cmNl
LT5pbmNyZWFzZVByZWxvYWRDb3VudCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
Y2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaAppbmRleCAyYTc5ODVlNmNiMjQ5MjUyZDgxNTll
OTg1ZTY5MDQ1M2M2ZGVkODAzLi42OWQzMGY5YjZlMjIxZDllZWM0MjdlNjcxOWMzM2NhM2UxYWU5
NDY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXIuaApAQCAtMjksNiArMjksOCBAQAogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlLmgi
CiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VIYW5kbGUuaCIKICNpbmNsdWRlICJDYWNoZVBvbGlj
eS5oIgorI2luY2x1ZGUgIkxvYWRJbml0aWF0b3IuaCIKKyNpbmNsdWRlICJMb2FkSW5pdGlhdG9y
SGFuZGxlLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VMb2FkUHJpb3JpdHkuaCIKICNpbmNsdWRlICJU
aW1lci5oIgogI2luY2x1ZGUgPHd0Zi9EZXF1ZS5oPgpAQCAtNzEsMjcgKzczLDI3IEBAIHB1Ymxp
YzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDYWNoZWRSZXNvdXJjZUxvYWRlcj4gY3JlYXRlKERv
Y3VtZW50TG9hZGVyKiBkb2N1bWVudExvYWRlcikgeyByZXR1cm4gYWRvcHRSZWYobmV3IENhY2hl
ZFJlc291cmNlTG9hZGVyKGRvY3VtZW50TG9hZGVyKSk7IH0KICAgICB+Q2FjaGVkUmVzb3VyY2VM
b2FkZXIoKTsKIAotICAgIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZEltYWdlPiByZXF1ZXN0
SW1hZ2UoUmVzb3VyY2VSZXF1ZXN0Jik7Ci0gICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVk
Q1NTU3R5bGVTaGVldD4gcmVxdWVzdENTU1N0eWxlU2hlZXQoUmVzb3VyY2VSZXF1ZXN0JiwgY29u
c3QgU3RyaW5nJiBjaGFyc2V0LCBSZXNvdXJjZUxvYWRQcmlvcml0eSA9IFJlc291cmNlTG9hZFBy
aW9yaXR5VW5yZXNvbHZlZCk7Ci0gICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkQ1NTU3R5
bGVTaGVldD4gcmVxdWVzdFVzZXJDU1NTdHlsZVNoZWV0KFJlc291cmNlUmVxdWVzdCYsIGNvbnN0
IFN0cmluZyYgY2hhcnNldCk7Ci0gICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkU2NyaXB0
PiByZXF1ZXN0U2NyaXB0KFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFN0cmluZyYgY2hhcnNldCk7
Ci0gICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkRm9udD4gcmVxdWVzdEZvbnQoUmVzb3Vy
Y2VSZXF1ZXN0Jik7Ci0gICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmF3UmVzb3VyY2U+
IHJlcXVlc3RSYXdSZXNvdXJjZShSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBSZXNvdXJjZUxvYWRl
ck9wdGlvbnMmKTsKKyAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRJbWFnZT4gcmVxdWVz
dEltYWdlKFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IExvYWRJbml0aWF0b3ImKTsKKyAgICBDYWNo
ZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRDU1NTdHlsZVNoZWV0PiByZXF1ZXN0Q1NTU3R5bGVTaGVl
dChSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBTdHJpbmcmIGNoYXJzZXQsIGNvbnN0IExvYWRJbml0
aWF0b3ImLCBSZXNvdXJjZUxvYWRQcmlvcml0eSA9IFJlc291cmNlTG9hZFByaW9yaXR5VW5yZXNv
bHZlZCk7CisgICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkQ1NTU3R5bGVTaGVldD4gcmVx
dWVzdFVzZXJDU1NTdHlsZVNoZWV0KFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFN0cmluZyYgY2hh
cnNldCwgY29uc3QgTG9hZEluaXRpYXRvciYpOworICAgIENhY2hlZFJlc291cmNlSGFuZGxlPENh
Y2hlZFNjcmlwdD4gcmVxdWVzdFNjcmlwdChSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBTdHJpbmcm
IGNoYXJzZXQsIGNvbnN0IExvYWRJbml0aWF0b3ImKTsKKyAgICBDYWNoZWRSZXNvdXJjZUhhbmRs
ZTxDYWNoZWRGb250PiByZXF1ZXN0Rm9udChSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBMb2FkSW5p
dGlhdG9yJik7CisgICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmF3UmVzb3VyY2U+IHJl
cXVlc3RSYXdSZXNvdXJjZShSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBSZXNvdXJjZUxvYWRlck9w
dGlvbnMmLCBjb25zdCBMb2FkSW5pdGlhdG9yJik7CiAKICNpZiBFTkFCTEUoU1ZHKQotICAgIENh
Y2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFNWR0RvY3VtZW50PiByZXF1ZXN0U1ZHRG9jdW1lbnQo
UmVzb3VyY2VSZXF1ZXN0Jik7CisgICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkU1ZHRG9j
dW1lbnQ+IHJlcXVlc3RTVkdEb2N1bWVudChSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBMb2FkSW5p
dGlhdG9yJik7CiAjZW5kaWYKICNpZiBFTkFCTEUoWFNMVCkKLSAgICBDYWNoZWRSZXNvdXJjZUhh
bmRsZTxDYWNoZWRYU0xTdHlsZVNoZWV0PiByZXF1ZXN0WFNMU3R5bGVTaGVldChSZXNvdXJjZVJl
cXVlc3QmKTsKKyAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRYU0xTdHlsZVNoZWV0PiBy
ZXF1ZXN0WFNMU3R5bGVTaGVldChSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBMb2FkSW5pdGlhdG9y
Jik7CiAjZW5kaWYKICNpZiBFTkFCTEUoTElOS19QUkVGRVRDSCkKLSAgICBDYWNoZWRSZXNvdXJj
ZUhhbmRsZTxDYWNoZWRSZXNvdXJjZT4gcmVxdWVzdExpbmtSZXNvdXJjZShDYWNoZWRSZXNvdXJj
ZTo6VHlwZSwgUmVzb3VyY2VSZXF1ZXN0JiwgUmVzb3VyY2VMb2FkUHJpb3JpdHkgPSBSZXNvdXJj
ZUxvYWRQcmlvcml0eVVucmVzb2x2ZWQpOworICAgIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hl
ZFJlc291cmNlPiByZXF1ZXN0TGlua1Jlc291cmNlKENhY2hlZFJlc291cmNlOjpUeXBlLCBSZXNv
dXJjZVJlcXVlc3QmLCBjb25zdCBMb2FkSW5pdGlhdG9yJiwgUmVzb3VyY2VMb2FkUHJpb3JpdHkg
PSBSZXNvdXJjZUxvYWRQcmlvcml0eVVucmVzb2x2ZWQpOwogI2VuZGlmCiAjaWYgRU5BQkxFKFZJ
REVPX1RSQUNLKQotICAgIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFRleHRUcmFjaz4gcmVx
dWVzdFRleHRUcmFjayhSZXNvdXJjZVJlcXVlc3QmKTsKKyAgICBDYWNoZWRSZXNvdXJjZUhhbmRs
ZTxDYWNoZWRUZXh0VHJhY2s+IHJlcXVlc3RUZXh0VHJhY2soUmVzb3VyY2VSZXF1ZXN0JiwgY29u
c3QgTG9hZEluaXRpYXRvciYpOwogI2VuZGlmCiAjaWYgRU5BQkxFKENTU19TSEFERVJTKQotICAg
IENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFNoYWRlcj4gcmVxdWVzdFNoYWRlcihSZXNvdXJj
ZVJlcXVlc3QmKTsKKyAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRTaGFkZXI+IHJlcXVl
c3RTaGFkZXIoUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgTG9hZEluaXRpYXRvciYpOwogI2VuZGlm
CiAKICAgICAvLyBMb2dzIGFuIGFjY2VzcyBkZW5pZWQgbWVzc2FnZSB0byB0aGUgY29uc29sZSBm
b3IgdGhlIHNwZWNpZmllZCBVUkwuCkBAIC0xMjgsNyArMTMwLDcgQEAgcHVibGljOgogICAgIGJv
b2wgaXNQcmVsb2FkZWQoY29uc3QgU3RyaW5nJiB1cmxTdHJpbmcpIGNvbnN0OwogICAgIHZvaWQg
Y2xlYXJQcmVsb2FkcygpOwogICAgIHZvaWQgY2xlYXJQZW5kaW5nUHJlbG9hZHMoKTsKLSAgICB2
b2lkIHByZWxvYWQoQ2FjaGVkUmVzb3VyY2U6OlR5cGUsIFJlc291cmNlUmVxdWVzdCYsIGNvbnN0
IFN0cmluZyYgY2hhcnNldCwgYm9vbCByZWZlcmVuY2VkRnJvbUJvZHkpOworICAgIHZvaWQgcHJl
bG9hZChDYWNoZWRSZXNvdXJjZTo6VHlwZSwgUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgU3RyaW5n
JiBjaGFyc2V0LCBib29sIHJlZmVyZW5jZWRGcm9tQm9keSwgY29uc3QgTG9hZEluaXRpYXRvciYp
OwogICAgIHZvaWQgY2hlY2tGb3JQZW5kaW5nUHJlbG9hZHMoKTsKICAgICB2b2lkIHByaW50UHJl
bG9hZFN0YXRzKCk7CiAgICAgYm9vbCBjYW5SZXF1ZXN0KENhY2hlZFJlc291cmNlOjpUeXBlLCBj
b25zdCBLVVJMJiwgYm9vbCBmb3JQcmVsb2FkID0gZmFsc2UpOwpAQCAtMTM5LDEwICsxNDEsMTAg
QEAgcHJpdmF0ZToKICAgICBleHBsaWNpdCBDYWNoZWRSZXNvdXJjZUxvYWRlcihEb2N1bWVudExv
YWRlciopOwogCiAgICAgZW51bSBEZWZlck9wdGlvbiB7IE5vRGVmZXIsIERlZmVycmVkQnlDbGll
bnQgfTsKLSAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRSZXNvdXJjZT4gcmVxdWVzdFJl
c291cmNlKENhY2hlZFJlc291cmNlOjpUeXBlLCBSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBTdHJp
bmcmIGNoYXJzZXQsIGNvbnN0IFJlc291cmNlTG9hZGVyT3B0aW9ucyYsIFJlc291cmNlTG9hZFBy
aW9yaXR5ID0gUmVzb3VyY2VMb2FkUHJpb3JpdHlVbnJlc29sdmVkLCBib29sIGlzUHJlbG9hZCA9
IGZhbHNlLCBEZWZlck9wdGlvbiA9IE5vRGVmZXIpOwotICAgIENhY2hlZFJlc291cmNlSGFuZGxl
PENhY2hlZFJlc291cmNlPiByZXZhbGlkYXRlUmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2UqKTsKLSAg
ICBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRSZXNvdXJjZT4gbG9hZFJlc291cmNlKENhY2hl
ZFJlc291cmNlOjpUeXBlLCBSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBTdHJpbmcmIGNoYXJzZXQp
OwotICAgIHZvaWQgcmVxdWVzdFByZWxvYWQoQ2FjaGVkUmVzb3VyY2U6OlR5cGUsIFJlc291cmNl
UmVxdWVzdCYsIGNvbnN0IFN0cmluZyYgY2hhcnNldCk7CisgICAgQ2FjaGVkUmVzb3VyY2VIYW5k
bGU8Q2FjaGVkUmVzb3VyY2U+IHJlcXVlc3RSZXNvdXJjZShDYWNoZWRSZXNvdXJjZTo6VHlwZSwg
UmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgU3RyaW5nJiBjaGFyc2V0LCBjb25zdCBSZXNvdXJjZUxv
YWRlck9wdGlvbnMmLCBjb25zdCBMb2FkSW5pdGlhdG9yJiwgUmVzb3VyY2VMb2FkUHJpb3JpdHkg
PSBSZXNvdXJjZUxvYWRQcmlvcml0eVVucmVzb2x2ZWQsIGJvb2wgaXNQcmVsb2FkID0gZmFsc2Us
IERlZmVyT3B0aW9uID0gTm9EZWZlcik7CisgICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVk
UmVzb3VyY2U+IHJldmFsaWRhdGVSZXNvdXJjZShDYWNoZWRSZXNvdXJjZSosIGNvbnN0IExvYWRJ
bml0aWF0b3ImKTsKKyAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRSZXNvdXJjZT4gbG9h
ZFJlc291cmNlKENhY2hlZFJlc291cmNlOjpUeXBlLCBSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBT
dHJpbmcmIGNoYXJzZXQsIGNvbnN0IExvYWRJbml0aWF0b3ImKTsKKyAgICB2b2lkIHJlcXVlc3RQ
cmVsb2FkKENhY2hlZFJlc291cmNlOjpUeXBlLCBSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBTdHJp
bmcmIGNoYXJzZXQsIGNvbnN0IExvYWRJbml0aWF0b3ImKTsKIAogICAgIGVudW0gUmV2YWxpZGF0
aW9uUG9saWN5IHsgVXNlLCBSZXZhbGlkYXRlLCBSZWxvYWQsIExvYWQgfTsKICAgICBSZXZhbGlk
YXRpb25Qb2xpY3kgZGV0ZXJtaW5lUmV2YWxpZGF0aW9uUG9saWN5KENhY2hlZFJlc291cmNlOjpU
eXBlLCBSZXNvdXJjZVJlcXVlc3QmLCBib29sIGZvclByZWxvYWQsIENhY2hlZFJlc291cmNlKiBl
eGlzdGluZ1Jlc291cmNlLCBEZWZlck9wdGlvbikgY29uc3Q7CkBAIC0xNjgsNiArMTcwLDcgQEAg
cHJpdmF0ZToKICAgICAgICAgQ2FjaGVkUmVzb3VyY2U6OlR5cGUgbV90eXBlOwogICAgICAgICBS
ZXNvdXJjZVJlcXVlc3QgbV9yZXF1ZXN0OwogICAgICAgICBTdHJpbmcgbV9jaGFyc2V0OworICAg
ICAgICBMb2FkSW5pdGlhdG9ySGFuZGxlIG1faW5pdGlhdG9yOwogICAgIH07CiAgICAgRGVxdWU8
UGVuZGluZ1ByZWxvYWQ+IG1fcGVuZGluZ1ByZWxvYWRzOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9pY29uL0ljb25Mb2FkZXIuY3BwCmluZGV4IDYzYmMwZWExY2EyMTc0ZGE4MGUxNWNhMjNkZTg4
OTA1YjE0NWI1MzQuLmI3NmMxMDI2NWM1ZTliMjFkZjYwZTZmMDFiZDQzNzZiOTQ0MTZiZWMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25Mb2FkZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25Mb2FkZXIuY3BwCkBAIC02Niw3ICs2Niw4
IEBAIHZvaWQgSWNvbkxvYWRlcjo6c3RhcnRMb2FkaW5nKCkKICAgICByZXNvdXJjZVJlcXVlc3Qu
c2V0UHJpb3JpdHkoUmVzb3VyY2VMb2FkUHJpb3JpdHlMb3cpOwogCiAgICAgbV9yZXNvdXJjZSA9
IG1fZnJhbWUtPmRvY3VtZW50KCktPmNhY2hlZFJlc291cmNlTG9hZGVyKCktPnJlcXVlc3RSYXdS
ZXNvdXJjZShyZXNvdXJjZVJlcXVlc3QsCi0gICAgICAgIFJlc291cmNlTG9hZGVyT3B0aW9ucyhT
ZW5kQ2FsbGJhY2tzLCBTbmlmZkNvbnRlbnQsIEJ1ZmZlckRhdGEsIERvTm90QWxsb3dTdG9yZWRD
cmVkZW50aWFscywgRG9Ob3RBc2tDbGllbnRGb3JDcm9zc09yaWdpbkNyZWRlbnRpYWxzLCBEb1Nl
Y3VyaXR5Q2hlY2spKTsKKyAgICAgICAgUmVzb3VyY2VMb2FkZXJPcHRpb25zKFNlbmRDYWxsYmFj
a3MsIFNuaWZmQ29udGVudCwgQnVmZmVyRGF0YSwgRG9Ob3RBbGxvd1N0b3JlZENyZWRlbnRpYWxz
LCBEb05vdEFza0NsaWVudEZvckNyb3NzT3JpZ2luQ3JlZGVudGlhbHMsIERvU2VjdXJpdHlDaGVj
ayksCisgICAgICAgICp0aGlzKTsKICAgICBpZiAobV9yZXNvdXJjZSkKICAgICAgICAgbV9yZXNv
dXJjZS0+YWRkQ2xpZW50KHRoaXMpOwogICAgIGVsc2UKQEAgLTEwMiw0ICsxMDMsMTUgQEAgdm9p
ZCBJY29uTG9hZGVyOjpub3RpZnlGaW5pc2hlZChDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2UpCiAg
ICAgc3RvcExvYWRpbmcoKTsKIH0KIAorY29uc3QgV1RGOjpBdG9taWNTdHJpbmcmIEljb25Mb2Fk
ZXI6OmluaXRpYXRvck5hbWUoKSBjb25zdAoreworICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRv
bWljU3RyaW5nLCBuYW1lLCAoImljb24iLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRl
cmFsKSk7CisgICAgcmV0dXJuIG5hbWU7Cit9CisKK0RvY3VtZW50KiBJY29uTG9hZGVyOjppbml0
aWF0b3JEb2N1bWVudCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fZnJhbWUtPmRvY3VtZW50KCk7
Cit9CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25Mb2Fk
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25Mb2FkZXIuaAppbmRleCA2NWU4
YmQ1MmYyNzA0MjEzNWM1YWM3ODMxYTU3NGRlMmRkZWE5ZGM0Li4yMDk1Y2Q0MjcxMjI1ZjllNTAw
ODY5ZmRlODBmOWU1ZTJmNGQ2MGQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
aWNvbi9JY29uTG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkxv
YWRlci5oCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpbmNsdWRlICJDYWNoZWRSYXdSZXNvdXJjZS5o
IgogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlSGFuZGxlLmgiCisjaW5jbHVkZSAiTG9hZEluaXRp
YXRvci5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgpAQCAtMzcsNyArMzgsNyBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiBjbGFzcyBDYWNoZWRSYXdSZXNvdXJjZTsKIGNsYXNzIEZyYW1lOwogCi1j
bGFzcyBJY29uTG9hZGVyIDogcHJpdmF0ZSBDYWNoZWRSYXdSZXNvdXJjZUNsaWVudCB7CitjbGFz
cyBJY29uTG9hZGVyIDogcHJpdmF0ZSBDYWNoZWRSYXdSZXNvdXJjZUNsaWVudCwgcHJpdmF0ZSBM
b2FkSW5pdGlhdG9yIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJY29uTG9hZGVyKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8SWNv
bkxvYWRlcj4gY3JlYXRlKEZyYW1lKik7CkBAIC01MCw2ICs1MSw5IEBAIHByaXZhdGU6CiAgICAg
ZXhwbGljaXQgSWNvbkxvYWRlcihGcmFtZSopOwogICAgIHZpcnR1YWwgdm9pZCBub3RpZnlGaW5p
c2hlZChDYWNoZWRSZXNvdXJjZSopOwogCisgICAgdmlydHVhbCBjb25zdCBXVEY6OkF0b21pY1N0
cmluZyYgaW5pdGlhdG9yTmFtZSgpIGNvbnN0OworICAgIHZpcnR1YWwgRG9jdW1lbnQqIGluaXRp
YXRvckRvY3VtZW50KCkgY29uc3Q7CisKICAgICBGcmFtZSogbV9mcmFtZTsKICAgICBDYWNoZWRS
ZXNvdXJjZUhhbmRsZTxDYWNoZWRSYXdSZXNvdXJjZT4gbV9yZXNvdXJjZTsKIH07CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGVyZm9ybWFuY2UuY3BwCmluZGV4IGJmZjFiNTM2MWE5ZjVjMDdkZGQ5NTA3ZmY3ODky
NDBjZmVmMDk5Y2IuLjRkZjAzMmNhNTEwMjhlYTVmMzM2ZjU0ODYxNDYzZjZmN2U1MjcyYzIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwCkBAIC0zMyw2ICszMyw4IEBACiAKICNpbmNs
dWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkRvY3VtZW50TG9hZGVyLmgiCisjaW5jbHVkZSAi
RWxlbWVudC5oIgorI2luY2x1ZGUgIkxvYWRJbml0aWF0b3IuaCIKICNpbmNsdWRlICJNZW1vcnlJ
bmZvLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VFbnRyeS5oIgogI2luY2x1ZGUgIlBlcmZvcm1h
bmNlTmF2aWdhdGlvbi5oIgpAQCAtMTQzLDEyICsxNDUsOSBAQCB2b2lkIFBlcmZvcm1hbmNlOjp3
ZWJraXRTZXRSZXNvdXJjZVRpbWluZ0J1ZmZlclNpemUodW5zaWduZWQgaW50KQogICAgIC8vIEZJ
WE1FOiBJbXBsZW1lbnQgdGhpcy4KIH0KIAotdm9pZCBQZXJmb3JtYW5jZTo6YWRkUmVzb3VyY2VU
aW1pbmcoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBSZXNvdXJjZVJlc3Bv
bnNlJiByZXNwb25zZSwgZG91YmxlIGZpbmlzaFRpbWUsIERvY3VtZW50KiByZXF1ZXN0aW5nRG9j
dW1lbnQpCit2b2lkIFBlcmZvcm1hbmNlOjphZGRSZXNvdXJjZVRpbWluZyhjb25zdCBMb2FkSW5p
dGlhdG9yJiBpbml0aWF0b3IsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3Qg
UmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIGRvdWJsZSBpbml0aWF0aW9uVGltZSwgZG91Ymxl
IGZpbmlzaFRpbWUpCiB7Ci0gICAgaWYgKCFyZXNwb25zZS5yZXNvdXJjZUxvYWRUaW1pbmcoKSkK
LSAgICAgICAgcmV0dXJuOwotCi0gICAgUmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+IGVudHJ5ID0g
UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6Y3JlYXRlKHJlcXVlc3QsIHJlc3BvbnNlLCBmaW5p
c2hUaW1lLCByZXF1ZXN0aW5nRG9jdW1lbnQpOworICAgIFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5
PiBlbnRyeSA9IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmNyZWF0ZShpbml0aWF0b3IuaW5p
dGlhdG9yTmFtZSgpLCByZXF1ZXN0LCByZXNwb25zZSwgaW5pdGlhdGlvblRpbWUsIGZpbmlzaFRp
bWUsIGluaXRpYXRvci5pbml0aWF0b3JEb2N1bWVudCgpKTsKICAgICAvLyBGSVhNRTogTmVlZCB0
byBlbmZvcmNlIGJ1ZmZlciBsaW1pdHMuCiAgICAgbV9yZXNvdXJjZVRpbWluZ0J1ZmZlci5hcHBl
bmQoZW50cnkpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5j
ZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5oCmluZGV4IDdjMjcwY2UwZDQ0
NjNlODM4YzdhZmM5MGVhOGZkNTY4ZDZlNGUxNDQuLjJhNzZhMWNlMjlmMTVhODcyZmQ0MTBkZjhi
ZmJmZTdiZjRiNjRlODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFu
Y2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmgKQEAgLTQ3LDYgKzQ3
LDggQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRG9jdW1lbnQ7CitjbGFzcyBFbGVt
ZW50OworY2xhc3MgTG9hZEluaXRpYXRvcjsKIGNsYXNzIFJlc291cmNlUmVxdWVzdDsKIGNsYXNz
IFJlc291cmNlUmVzcG9uc2U7CiAKQEAgLTc1LDcgKzc3LDcgQEAgcHVibGljOgogCiAgICAgREVG
SU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih3ZWJraXRyZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1
bGwpOwogCi0gICAgdm9pZCBhZGRSZXNvdXJjZVRpbWluZyhjb25zdCBSZXNvdXJjZVJlcXVlc3Qm
LCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiwgZG91YmxlIGZpbmlzaFRpbWUsIERvY3VtZW50Kik7
CisgICAgdm9pZCBhZGRSZXNvdXJjZVRpbWluZyhjb25zdCBMb2FkSW5pdGlhdG9yJiwgY29uc3Qg
UmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYsIGRvdWJsZSBpbml0aWF0
aW9uVGltZSwgZG91YmxlIGZpbmlzaFRpbWUpOwogI2VuZGlmCiAKICAgICB1c2luZyBSZWZDb3Vu
dGVkPFBlcmZvcm1hbmNlPjo6cmVmOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Q
ZXJmb3JtYW5jZUVudHJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRy
eS5jcHAKaW5kZXggYWQ2OTU0NzAwZTY3MjRmYjEzYTA1MTFkMjAxMTkzNzQxZjk1MmJhNC4uMzJk
YjdjZmU1NjM1Y2RmMzJjMzA1ZWM0ZWFjMDk1MDFlNWY4M2VlNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BlcmZvcm1hbmNlRW50cnkuY3BwCkBAIC0zNSwxMSArMzUsMTEgQEAKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi1QZXJmb3JtYW5jZUVudHJ5OjpQZXJmb3JtYW5jZUVudHJ5KGNvbnN0IFN0
cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBlbnRyeVR5cGUsIGRvdWJsZSBzdGFydFRpbWUsIGRv
dWJsZSBkdXJhdGlvbikKK1BlcmZvcm1hbmNlRW50cnk6OlBlcmZvcm1hbmNlRW50cnkoY29uc3Qg
U3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGVudHJ5VHlwZSwgZG91YmxlIHN0YXJ0VGltZSwg
ZG91YmxlIGZpbmlzaFRpbWUpCiAgICAgOiBtX25hbWUobmFtZSkKICAgICAsIG1fZW50cnlUeXBl
KGVudHJ5VHlwZSkKICAgICAsIG1fc3RhcnRUaW1lKHN0YXJ0VGltZSkKLSAgICAsIG1fZHVyYXRp
b24oZHVyYXRpb24pCisgICAgLCBtX2R1cmF0aW9uKGZpbmlzaFRpbWUgLSBzdGFydFRpbWUpCiB7
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5o
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmgKaW5kZXggNmQ5NjcyMTk3
NTNhNGI1YWM3MmRjNGM0NDRjYjBmMWIzZWYyOTJjYy4uMGNlNzdkZjUxZjRlZDVjZDUzZTU4N2Uw
YzdmMjEzZTkyMjFjYTZiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3Jt
YW5jZUVudHJ5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmgK
QEAgLTUyLDcgKzUyLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBpc1Jlc291cmNlKCkg
eyByZXR1cm4gZmFsc2U7IH0KIAogcHJvdGVjdGVkOgotICAgIFBlcmZvcm1hbmNlRW50cnkoY29u
c3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGVudHJ5VHlwZSwgZG91YmxlIHN0YXJ0VGlt
ZSwgZG91YmxlIGR1cmF0aW9uKTsKKyAgICBQZXJmb3JtYW5jZUVudHJ5KGNvbnN0IFN0cmluZyYg
bmFtZSwgY29uc3QgU3RyaW5nJiBlbnRyeVR5cGUsIGRvdWJsZSBzdGFydFRpbWUsIGRvdWJsZSBm
aW5pc2hUaW1lKTsKIAogcHJpdmF0ZToKICAgICBjb25zdCBTdHJpbmcgbV9uYW1lOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5jcHAKaW5kZXgg
MDk3NmFkZDc4MDMyODgzYzNmNGE1YTE3YmZmYmVhYzZkZWY0ZGQxYy4uZGYxZGM3NmVjMWQyNWRk
YzNjMTY0MTMxZWFjZTYxMDQzOTIyMmQxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuY3BwCkBAIC00NCw4ICs0NCwxNSBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLVBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OlBlcmZvcm1hbmNl
UmVzb3VyY2VUaW1pbmcoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBSZXNv
dXJjZVJlc3BvbnNlJiByZXNwb25zZSwgZG91YmxlIGZpbmlzaFRpbWUsIERvY3VtZW50KiByZXF1
ZXN0aW5nRG9jdW1lbnQpCi0gICAgOiBQZXJmb3JtYW5jZUVudHJ5KHJlcXVlc3QudXJsKCkuc3Ry
aW5nKCksICJyZXNvdXJjZSIsIHJlc3BvbnNlLnJlc291cmNlTG9hZFRpbWluZygpLT5yZXF1ZXN0
VGltZSwgZmluaXNoVGltZSkKK2RvdWJsZSBtb25vdG9uaWNUaW1lVG9Eb2N1bWVudE1pbGxpc2Vj
b25kcyhEb2N1bWVudCogZG9jdW1lbnQsIGRvdWJsZSBzZWNvbmRzKQoreworICAgIEFTU0VSVChz
ZWNvbmRzID49IDAuMCk7CisgICAgcmV0dXJuIGRvY3VtZW50LT5sb2FkZXIoKS0+dGltaW5nKCkt
Pm1vbm90b25pY1RpbWVUb1plcm9CYXNlZERvY3VtZW50VGltZShzZWNvbmRzKSAqIDEwMDAuMDsK
K30KKworUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWlu
Zyhjb25zdCBBdG9taWNTdHJpbmcmIGluaXRpYXRvclR5cGUsIGNvbnN0IFJlc291cmNlUmVxdWVz
dCYgcmVxdWVzdCwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIGRvdWJsZSBpbml0
aWF0aW9uVGltZSwgZG91YmxlIGZpbmlzaFRpbWUsIERvY3VtZW50KiByZXF1ZXN0aW5nRG9jdW1l
bnQpCisgICAgOiBQZXJmb3JtYW5jZUVudHJ5KHJlcXVlc3QudXJsKCkuc3RyaW5nKCksICJyZXNv
dXJjZSIsIG1vbm90b25pY1RpbWVUb0RvY3VtZW50TWlsbGlzZWNvbmRzKHJlcXVlc3RpbmdEb2N1
bWVudCwgaW5pdGlhdGlvblRpbWUpLCBtb25vdG9uaWNUaW1lVG9Eb2N1bWVudE1pbGxpc2Vjb25k
cyhyZXF1ZXN0aW5nRG9jdW1lbnQsIGZpbmlzaFRpbWUpKQorICAgICwgbV9pbml0aWF0b3JUeXBl
KGluaXRpYXRvclR5cGUpCiAgICAgLCBtX3RpbWluZyhyZXNwb25zZS5yZXNvdXJjZUxvYWRUaW1p
bmcoKSkKICAgICAsIG1fZmluaXNoVGltZShmaW5pc2hUaW1lKQogICAgICwgbV9yZXF1ZXN0aW5n
RG9jdW1lbnQocmVxdWVzdGluZ0RvY3VtZW50KQpAQCAtNTYsMTAgKzYzLDkgQEAgUGVyZm9ybWFu
Y2VSZXNvdXJjZVRpbWluZzo6flBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcoKQogewogfQogCi1T
dHJpbmcgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6aW5pdGlhdG9yVHlwZSgpIGNvbnN0CitB
dG9taWNTdHJpbmcgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6aW5pdGlhdG9yVHlwZSgpIGNv
bnN0CiB7Ci0gICAgLy8gRklYTUU6IFRoaXMgc2hvdWxkIGJlIGRlY2lkZWQgYnkgdGhlIHJlc291
cmNlIHR5cGUuCi0gICAgcmV0dXJuICJvdGhlciI7CisgICAgcmV0dXJuIG1faW5pdGlhdG9yVHlw
ZTsKIH0KIAogLy8gRklYTUU6IE5lZWQgdG8gZW5mb3JjZSBzYW1lLW9yaWdpbiBwb2xpY3kgb24g
dGhlc2UuCkBAIC03NywxMiArODMsMTMgQEAgZG91YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1p
bmc6OnJlZGlyZWN0RW5kKCkgY29uc3QKIAogZG91YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1p
bmc6OmZldGNoU3RhcnQoKSBjb25zdAogewotICAgIHJldHVybiBtb25vdG9uaWNUaW1lVG9Eb2N1
bWVudE1pbGxpc2Vjb25kcyhtX3RpbWluZy0+cmVxdWVzdFRpbWUpOworICAgIC8vIEZJWE1FOiBU
aGlzIHNob3VsZCBiZSBkaWZmZXJlbnQgZGVwZW5kaW5nIG9uIHJlZGlyZWN0cy4KKyAgICByZXR1
cm4gKHN0YXJ0VGltZSgpKTsKIH0KIAogZG91YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6
OmRvbWFpbkxvb2t1cFN0YXJ0KCkgY29uc3QKIHsKLSAgICBpZiAobV90aW1pbmctPmRuc1N0YXJ0
IDwgMCkKKyAgICBpZiAoIW1fdGltaW5nIHx8IG1fdGltaW5nLT5kbnNTdGFydCA8IDApCiAgICAg
ICAgIHJldHVybiBmZXRjaFN0YXJ0KCk7CiAKICAgICByZXR1cm4gcmVzb3VyY2VUaW1lVG9Eb2N1
bWVudE1pbGxpc2Vjb25kcyhtX3RpbWluZy0+ZG5zU3RhcnQpOwpAQCAtOTAsNyArOTcsNyBAQCBk
b3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6ZG9tYWluTG9va3VwU3RhcnQoKSBjb25z
dAogCiBkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6ZG9tYWluTG9va3VwRW5kKCkg
Y29uc3QKIHsKLSAgICBpZiAobV90aW1pbmctPmRuc0VuZCA8IDApCisgICAgaWYgKCFtX3RpbWlu
ZyB8fCBtX3RpbWluZy0+ZG5zRW5kIDwgMCkKICAgICAgICAgcmV0dXJuIGRvbWFpbkxvb2t1cFN0
YXJ0KCk7CiAKICAgICByZXR1cm4gcmVzb3VyY2VUaW1lVG9Eb2N1bWVudE1pbGxpc2Vjb25kcyht
X3RpbWluZy0+ZG5zRW5kKTsKQEAgLTk4LDcgKzEwNSw3IEBAIGRvdWJsZSBQZXJmb3JtYW5jZVJl
c291cmNlVGltaW5nOjpkb21haW5Mb29rdXBFbmQoKSBjb25zdAogCiBkb3VibGUgUGVyZm9ybWFu
Y2VSZXNvdXJjZVRpbWluZzo6Y29ubmVjdFN0YXJ0KCkgY29uc3QKIHsKLSAgICBpZiAobV90aW1p
bmctPmNvbm5lY3RTdGFydCA8IDApIC8vIENvbm5lY3Rpb24gd2FzIHJldXNlZC4KKyAgICBpZiAo
IW1fdGltaW5nIHx8IG1fdGltaW5nLT5jb25uZWN0U3RhcnQgPCAwKSAvLyBDb25uZWN0aW9uIHdh
cyByZXVzZWQuCiAgICAgICAgIHJldHVybiBkb21haW5Mb29rdXBFbmQoKTsKIAogICAgIC8vIGNv
bm5lY3RTdGFydCBpbmNsdWRlcyBhbnkgRE5TIHRpbWUsIHNvIHdlIG1heSBuZWVkIHRvIHRyaW0g
dGhhdCBvZmYuCkBAIC0xMTEsNyArMTE4LDcgQEAgZG91YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VU
aW1pbmc6OmNvbm5lY3RTdGFydCgpIGNvbnN0CiAKIGRvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNl
VGltaW5nOjpjb25uZWN0RW5kKCkgY29uc3QKIHsKLSAgICBpZiAobV90aW1pbmctPmNvbm5lY3RF
bmQgPCAwKSAvLyBDb25uZWN0aW9uIHdhcyByZXVzZWQuCisgICAgaWYgKCFtX3RpbWluZyB8fCBt
X3RpbWluZy0+Y29ubmVjdEVuZCA8IDApIC8vIENvbm5lY3Rpb24gd2FzIHJldXNlZC4KICAgICAg
ICAgcmV0dXJuIGNvbm5lY3RTdGFydCgpOwogCiAgICAgcmV0dXJuIHJlc291cmNlVGltZVRvRG9j
dW1lbnRNaWxsaXNlY29uZHMobV90aW1pbmctPmNvbm5lY3RFbmQpOwpAQCAtMTE5LDM3ICsxMjYs
MzkgQEAgZG91YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmNvbm5lY3RFbmQoKSBjb25z
dAogCiBkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6c2VjdXJlQ29ubmVjdGlvblN0
YXJ0KCkgY29uc3QKIHsKLSAgICBpZiAobV90aW1pbmctPnNzbFN0YXJ0IDwgMCkgLy8gU2VjdXJl
IGNvbm5lY3Rpb24gbm90IG5lZ290aWF0ZWQuCi0gICAgICAgIHJldHVybiAwOworICAgIGlmICgh
bV90aW1pbmcgfHwgbV90aW1pbmctPnNzbFN0YXJ0IDwgMCkgLy8gU2VjdXJlIGNvbm5lY3Rpb24g
bm90IG5lZ290aWF0ZWQuCisgICAgICAgIHJldHVybiAwLjA7CiAKICAgICByZXR1cm4gcmVzb3Vy
Y2VUaW1lVG9Eb2N1bWVudE1pbGxpc2Vjb25kcyhtX3RpbWluZy0+c3NsU3RhcnQpOwogfQogCiBk
b3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6cmVxdWVzdFN0YXJ0KCkgY29uc3QKIHsK
KyAgICBpZiAoIW1fdGltaW5nKQorICAgICAgICByZXR1cm4gY29ubmVjdEVuZCgpOwogICAgIHJl
dHVybiByZXNvdXJjZVRpbWVUb0RvY3VtZW50TWlsbGlzZWNvbmRzKG1fdGltaW5nLT5zZW5kU3Rh
cnQpOwogfQogCiBkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6cmVzcG9uc2VTdGFy
dCgpIGNvbnN0CiB7CisgICAgaWYgKCFtX3RpbWluZykKKyAgICAgICAgcmV0dXJuIHJlcXVlc3RT
dGFydCgpOwogICAgIC8vIEZJWE1FOiBUaGlzIG51bWJlciBpc24ndCBleGFjdGx5IGNvcnJlY3Qu
IFNlZSB0aGUgbm90ZXMgaW4gUGVyZm9ybWFuY2VUaW1pbmc6OnJlc3BvbnNlU3RhcnQoKS4KICAg
ICByZXR1cm4gcmVzb3VyY2VUaW1lVG9Eb2N1bWVudE1pbGxpc2Vjb25kcyhtX3RpbWluZy0+cmVj
ZWl2ZUhlYWRlcnNFbmQpOwogfQogCiBkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6
cmVzcG9uc2VFbmQoKSBjb25zdAogewotICAgIHJldHVybiBtb25vdG9uaWNUaW1lVG9Eb2N1bWVu
dE1pbGxpc2Vjb25kcyhtX2ZpbmlzaFRpbWUpOwotfQotCi1kb3VibGUgUGVyZm9ybWFuY2VSZXNv
dXJjZVRpbWluZzo6bW9ub3RvbmljVGltZVRvRG9jdW1lbnRNaWxsaXNlY29uZHMoZG91YmxlIHNl
Y29uZHMpIGNvbnN0Ci17Ci0gICAgQVNTRVJUKHNlY29uZHMgPj0gMC4wKTsKLSAgICByZXR1cm4g
bV9yZXF1ZXN0aW5nRG9jdW1lbnQtPmxvYWRlcigpLT50aW1pbmcoKS0+Y29udmVydE1vbm90b25p
Y1RpbWVUb0RvY3VtZW50VGltZShzZWNvbmRzKSAqIDEwMDAuMDsKKyAgICBpZiAoIW1fdGltaW5n
KQorICAgICAgICByZXR1cm4gcmVzcG9uc2VTdGFydCgpOworICAgIHJldHVybiBtb25vdG9uaWNU
aW1lVG9Eb2N1bWVudE1pbGxpc2Vjb25kcyhtX3JlcXVlc3RpbmdEb2N1bWVudC5nZXQoKSwgbV9m
aW5pc2hUaW1lKTsKIH0KIAogZG91YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnJlc291
cmNlVGltZVRvRG9jdW1lbnRNaWxsaXNlY29uZHMoaW50IGRlbHRhTWlsbGlzZWNvbmRzKSBjb25z
dAogewotICAgIHJldHVybiBtb25vdG9uaWNUaW1lVG9Eb2N1bWVudE1pbGxpc2Vjb25kcyhtX3Rp
bWluZy0+cmVxdWVzdFRpbWUpICsgZGVsdGFNaWxsaXNlY29uZHM7CisgICAgaWYgKCFkZWx0YU1p
bGxpc2Vjb25kcykKKyAgICAgICAgcmV0dXJuIDAuMDsKKyAgICByZXR1cm4gbW9ub3RvbmljVGlt
ZVRvRG9jdW1lbnRNaWxsaXNlY29uZHMobV9yZXF1ZXN0aW5nRG9jdW1lbnQuZ2V0KCksIG1fdGlt
aW5nLT5yZXF1ZXN0VGltZSkgKyBkZWx0YU1pbGxpc2Vjb25kczsKIH0KIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVJl
c291cmNlVGltaW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VU
aW1pbmcuaAppbmRleCAwODJiODkyNTE0OTYyOWU4OGQzZDcxYWE2OGJiMTFiNzUyNjYwYTkyLi5l
N2I3YjhkMTg2MDYzNjA0ZDIyMzg4MjEyYjQ0OWJkMjAzYTM2M2UxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaApAQCAtNDgsMTIgKzQ4LDEy
IEBAIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CiAKIGNsYXNzIFBlcmZvcm1hbmNlUmVzb3VyY2VU
aW1pbmcgOiBwdWJsaWMgUGVyZm9ybWFuY2VFbnRyeSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBh
c3NSZWZQdHI8UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZz4gY3JlYXRlKGNvbnN0IFJlc291cmNl
UmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIGRvdWJs
ZSBmaW5pc2hUaW1lLCBEb2N1bWVudCogcmVxdWVzdGluZ0RvY3VtZW50KQorICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc+IGNyZWF0ZShjb25zdCBBdG9taWNT
dHJpbmcmIGluaXRpYXRvclR5cGUsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29u
c3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIGRvdWJsZSBpbml0aWF0aW9uVGltZSwgZG91
YmxlIGZpbmlzaFRpbWUsIERvY3VtZW50KiByZXF1ZXN0aW5nRG9jdW1lbnQpCiAgICAgewotICAg
ICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcocmVxdWVz
dCwgcmVzcG9uc2UsIGZpbmlzaFRpbWUsIHJlcXVlc3RpbmdEb2N1bWVudCkpOworICAgICAgICBy
ZXR1cm4gYWRvcHRSZWYobmV3IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcoaW5pdGlhdG9yVHlw
ZSwgcmVxdWVzdCwgcmVzcG9uc2UsIGluaXRpYXRpb25UaW1lLCBmaW5pc2hUaW1lLCByZXF1ZXN0
aW5nRG9jdW1lbnQpKTsKICAgICB9CiAKLSAgICBTdHJpbmcgaW5pdGlhdG9yVHlwZSgpIGNvbnN0
OworICAgIEF0b21pY1N0cmluZyBpbml0aWF0b3JUeXBlKCkgY29uc3Q7CiAKICAgICBkb3VibGUg
cmVkaXJlY3RTdGFydCgpIGNvbnN0OwogICAgIGRvdWJsZSByZWRpcmVjdEVuZCgpIGNvbnN0OwpA
QCAtNzAsMTIgKzcwLDEzIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgaXNSZXNvdXJjZSgp
IHsgcmV0dXJuIHRydWU7IH0KIAogcHJpdmF0ZToKLSAgICBQZXJmb3JtYW5jZVJlc291cmNlVGlt
aW5nKGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmLCBkb3Vi
bGUgZmluaXNoVGltZSwgRG9jdW1lbnQqKTsKKyAgICBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5n
KGNvbnN0IEF0b21pY1N0cmluZyYgaW5pdGF0b3JUeXBlLCBjb25zdCBSZXNvdXJjZVJlcXVlc3Qm
LCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiwgZG91YmxlIGluaXRpYXRpb25UaW1lLCBkb3VibGUg
ZmluaXNoVGltZSwgRG9jdW1lbnQqKTsKICAgICB+UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZygp
OwogCi0gICAgZG91YmxlIG1vbm90b25pY1RpbWVUb0RvY3VtZW50TWlsbGlzZWNvbmRzKGRvdWJs
ZSBzZWNvbmRzKSBjb25zdDsKICAgICBkb3VibGUgcmVzb3VyY2VUaW1lVG9Eb2N1bWVudE1pbGxp
c2Vjb25kcyhpbnQgZGVsdGFNaWxsaXNlY29uZHMpIGNvbnN0OwogCisgICAgQXRvbWljU3RyaW5n
IG1faW5pdGlhdG9yVHlwZTsKKyAgICBkb3VibGUgbV9pbml0aWF0aW9uVGltZTsKICAgICBSZWZQ
dHI8UmVzb3VyY2VMb2FkVGltaW5nPiBtX3RpbWluZzsKICAgICBkb3VibGUgbV9maW5pc2hUaW1l
OwogICAgIFJlZlB0cjxEb2N1bWVudD4gbV9yZXF1ZXN0aW5nRG9jdW1lbnQ7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVJbWFnZUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0ZFSW1hZ2VFbGVtZW50LmNwcAppbmRleCA3NjM1NzM4ZmRlMTg0ZDFlMWRmNDhl
YjZmYjM2YWVjYWEyMzVkNWZiLi43ZDNlZTA1YTE5NWRhZDExMjhhZjgyOGNiYTBkNDUwZGViYzI1
ZWRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVJbWFnZUVsZW1lbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUltYWdlRWxlbWVudC5jcHAKQEAgLTMwLDYg
KzMwLDcgQEAKICNpbmNsdWRlICJDb2xvclNwYWNlLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIK
ICNpbmNsdWRlICJJbWFnZS5oIgorI2luY2x1ZGUgIk5vZGVMb2FkSW5pdGlhdG9yLmgiCiAjaW5j
bHVkZSAiUmVuZGVyT2JqZWN0LmgiCiAjaW5jbHVkZSAiUmVuZGVyU1ZHUmVzb3VyY2UuaCIKICNp
bmNsdWRlICJTVkdFbGVtZW50SW5zdGFuY2UuaCIKQEAgLTgxLDcgKzgyLDcgQEAgdm9pZCBTVkdG
RUltYWdlRWxlbWVudDo6Y2xlYXJSZXNvdXJjZVJlZmVyZW5jZXMoKQogdm9pZCBTVkdGRUltYWdl
RWxlbWVudDo6cmVxdWVzdEltYWdlUmVzb3VyY2UoKQogewogICAgIFJlc291cmNlUmVxdWVzdCBy
ZXF1ZXN0KG93bmVyRG9jdW1lbnQoKS0+Y29tcGxldGVVUkwoaHJlZigpKSk7Ci0gICAgbV9jYWNo
ZWRJbWFnZSA9IGRvY3VtZW50KCktPmNhY2hlZFJlc291cmNlTG9hZGVyKCktPnJlcXVlc3RJbWFn
ZShyZXF1ZXN0KTsKKyAgICBtX2NhY2hlZEltYWdlID0gZG9jdW1lbnQoKS0+Y2FjaGVkUmVzb3Vy
Y2VMb2FkZXIoKS0+cmVxdWVzdEltYWdlKHJlcXVlc3QsIE5vZGVMb2FkSW5pdGlhdG9yKHRoaXMp
KTsKIAogICAgIGlmIChtX2NhY2hlZEltYWdlKQogICAgICAgICBtX2NhY2hlZEltYWdlLT5hZGRD
bGllbnQodGhpcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udEZhY2VV
cmlFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RmFjZVVyaUVsZW1lbnQu
Y3BwCmluZGV4IGY2MTA1Mzc3MmI2MjJmYWZlOTQ3NTBlMDk5MzQ4ZTY3NzBiN2U4MDcuLjQxZDM3
NmZlNDM2ZmVmYmYzNzdkZGI1OGY4MGI4ZmM2ZTJiZjI3NGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdGb250RmFjZVVyaUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdGb250RmFjZVVyaUVsZW1lbnQuY3BwCkBAIC0yOCw2ICsyOCw3IEBACiAjaW5jbHVk
ZSAiQ2FjaGVkRm9udC5oIgogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlTG9hZGVyLmgiCiAjaW5j
bHVkZSAiRG9jdW1lbnQuaCIKKyNpbmNsdWRlICJOb2RlTG9hZEluaXRpYXRvci5oIgogI2luY2x1
ZGUgIlNWR0ZvbnRGYWNlRWxlbWVudC5oIgogI2luY2x1ZGUgIlNWR05hbWVzLmgiCiAjaW5jbHVk
ZSAiWExpbmtOYW1lcy5oIgpAQCAtOTcsNyArOTgsNyBAQCB2b2lkIFNWR0ZvbnRGYWNlVXJpRWxl
bWVudDo6bG9hZEZvbnQoKQogICAgIGlmICghaHJlZi5pc051bGwoKSkgewogICAgICAgICBDYWNo
ZWRSZXNvdXJjZUxvYWRlciogY2FjaGVkUmVzb3VyY2VMb2FkZXIgPSBkb2N1bWVudCgpLT5jYWNo
ZWRSZXNvdXJjZUxvYWRlcigpOwogICAgICAgICBSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdChkb2N1
bWVudCgpLT5jb21wbGV0ZVVSTChocmVmKSk7Ci0gICAgICAgIG1fY2FjaGVkRm9udCA9IGNhY2hl
ZFJlc291cmNlTG9hZGVyLT5yZXF1ZXN0Rm9udChyZXF1ZXN0KTsKKyAgICAgICAgbV9jYWNoZWRG
b250ID0gY2FjaGVkUmVzb3VyY2VMb2FkZXItPnJlcXVlc3RGb250KHJlcXVlc3QsIE5vZGVMb2Fk
SW5pdGlhdG9yKHRoaXMpKTsKICAgICAgICAgaWYgKG1fY2FjaGVkRm9udCkgewogICAgICAgICAg
ICAgbV9jYWNoZWRGb250LT5hZGRDbGllbnQodGhpcyk7CiAgICAgICAgICAgICBtX2NhY2hlZEZv
bnQtPmJlZ2luTG9hZElmTmVlZGVkKGNhY2hlZFJlc291cmNlTG9hZGVyKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdVc2VFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdVc2VFbGVtZW50LmNwcAppbmRleCBkMTllYTE5NWRmMjBhMmVmNjM5ZjZhMWU5OWEyMGIy
NTgyYjk1MGUxLi40NDRmMDAwMzYxMTM5MjBiYjY5YzZjYjk4ODhmODY3NmQxMDk3Mzk3IDEwMDc1
NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVXNlRWxlbWVudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR1VzZUVsZW1lbnQuY3BwCkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVk
ZSAiRXZlbnQuaCIKICNpbmNsdWRlICJFdmVudExpc3RlbmVyLmgiCiAjaW5jbHVkZSAiSFRNTE5h
bWVzLmgiCisjaW5jbHVkZSAiTm9kZUxvYWRJbml0aWF0b3IuaCIKICNpbmNsdWRlICJOb2RlUmVu
ZGVyU3R5bGUuaCIKICNpbmNsdWRlICJSZWdpc3RlcmVkRXZlbnRMaXN0ZW5lci5oIgogI2luY2x1
ZGUgIlJlbmRlclNWR1Jlc291cmNlLmgiCkBAIC0yNTUsNyArMjU2LDcgQEAgdm9pZCBTVkdVc2VF
bGVtZW50OjpzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1l
KQogICAgICAgICAgICAgS1VSTCB1cmwgPSBkb2N1bWVudCgpLT5jb21wbGV0ZVVSTChocmVmKCkp
OwogICAgICAgICAgICAgaWYgKHVybC5oYXNGcmFnbWVudElkZW50aWZpZXIoKSkgewogICAgICAg
ICAgICAgICAgIFJlc291cmNlUmVxdWVzdCByZXF1ZXN0KHVybC5zdHJpbmcoKSk7Ci0gICAgICAg
ICAgICAgICAgbV9jYWNoZWREb2N1bWVudCA9IGRvY3VtZW50KCktPmNhY2hlZFJlc291cmNlTG9h
ZGVyKCktPnJlcXVlc3RTVkdEb2N1bWVudChyZXF1ZXN0KTsKKyAgICAgICAgICAgICAgICBtX2Nh
Y2hlZERvY3VtZW50ID0gZG9jdW1lbnQoKS0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKS0+cmVxdWVz
dFNWR0RvY3VtZW50KHJlcXVlc3QsIE5vZGVMb2FkSW5pdGlhdG9yKHRoaXMpKTsKICAgICAgICAg
ICAgICAgICBpZiAobV9jYWNoZWREb2N1bWVudCkKICAgICAgICAgICAgICAgICAgICAgbV9jYWNo
ZWREb2N1bWVudC0+YWRkQ2xpZW50KHRoaXMpOwogICAgICAgICAgICAgfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3ht
bC9YTUxIdHRwUmVxdWVzdC5jcHAKaW5kZXggZjYxNjkwODU0ZWY3M2UzOWJjMDRmZjY5Mjk2NjUx
ZGFjNmE4N2IwZS4uMzZhNWQ1MTM2N2Q3M2VjNGY0NGFiOTk2MDU0OTA2NWQ2M2Q1NzIyNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCkBAIC03NTMsNyArNzUzLDcgQEAgdm9p
ZCBYTUxIdHRwUmVxdWVzdDo6Y3JlYXRlUmVxdWVzdChFeGNlcHRpb25Db2RlJiBlYykKICAgICAg
ICAgLy8gVGhpcyBpcyB0cnVlIHdoaWxlIHJ1bm5pbmcgb251bmxvYWQgaGFuZGxlcnMuCiAgICAg
ICAgIC8vIEZJWE1FOiBNYXliZSB3ZSBuZWVkIHRvIGJlIGFibGUgdG8gc2VuZCBYTUxIdHRwUmVx
dWVzdHMgZnJvbSBvbnVubG9hZCwgPGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEwOTA0Pi4KICAgICAgICAgLy8gRklYTUU6IE1heWJlIGNyZWF0ZSgpIGNhbiByZXR1cm4g
bnVsbCBmb3Igb3RoZXIgcmVhc29ucyB0b28/Ci0gICAgICAgIG1fbG9hZGVyID0gVGhyZWFkYWJs
ZUxvYWRlcjo6Y3JlYXRlKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgdGhpcywgcmVxdWVzdCwg
b3B0aW9ucyk7CisgICAgICAgIG1fbG9hZGVyID0gVGhyZWFkYWJsZUxvYWRlcjo6Y3JlYXRlKHNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgdGhpcywgcmVxdWVzdCwgb3B0aW9ucywgKnRoaXMpOwog
ICAgICAgICBpZiAobV9sb2FkZXIpIHsKICAgICAgICAgICAgIC8vIE5laXRoZXIgdGhpcyBvYmpl
Y3Qgbm9yIHRoZSBKYXZhU2NyaXB0IHdyYXBwZXIgc2hvdWxkIGJlIGRlbGV0ZWQgd2hpbGUKICAg
ICAgICAgICAgIC8vIGEgcmVxdWVzdCBpcyBpbiBwcm9ncmVzcyBiZWNhdXNlIHdlIG5lZWQgdG8g
a2VlcCB0aGUgbGlzdGVuZXJzIGFsaXZlLApAQCAtNzYyLDcgKzc2Miw3IEBAIHZvaWQgWE1MSHR0
cFJlcXVlc3Q6OmNyZWF0ZVJlcXVlc3QoRXhjZXB0aW9uQ29kZSYgZWMpCiAgICAgICAgIH0KICAg
ICB9IGVsc2UgewogICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxMb2FkWEhS
U3luY2hyb25vdXNseShzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOwotICAgICAgICBUaHJlYWRh
YmxlTG9hZGVyOjpsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KHNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQoKSwgcmVxdWVzdCwgKnRoaXMsIG9wdGlvbnMpOworICAgICAgICBUaHJlYWRhYmxlTG9hZGVy
Ojpsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgcmVx
dWVzdCwgKnRoaXMsIG9wdGlvbnMsICp0aGlzKTsKICAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uOjpkaWRMb2FkWEhSU3luY2hyb25vdXNseShzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkp
OwogICAgIH0KIApAQCAtOTg1LDcgKzk4NSw3IEBAIFN0cmluZyBYTUxIdHRwUmVxdWVzdDo6Z2V0
UmVzcG9uc2VIZWFkZXIoY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lLCBFeGNlcHRpb25Db2RlCiAg
ICAgICAgIGxvZ0NvbnNvbGVFcnJvcihzY3JpcHRFeGVjdXRpb25Db250ZXh0KCksICJSZWZ1c2Vk
IHRvIGdldCB1bnNhZmUgaGVhZGVyIFwiIiArIG5hbWUgKyAiXCIiKTsKICAgICAgICAgcmV0dXJu
IFN0cmluZygpOwogICAgIH0KLSAgICAKKwogICAgIEhUVFBIZWFkZXJTZXQgYWNjZXNzQ29udHJv
bEV4cG9zZUhlYWRlclNldDsKICAgICBwYXJzZUFjY2Vzc0NvbnRyb2xFeHBvc2VIZWFkZXJzQWxs
b3dMaXN0KG1fcmVzcG9uc2UuaHR0cEhlYWRlckZpZWxkKCJBY2Nlc3MtQ29udHJvbC1FeHBvc2Ut
SGVhZGVycyIpLCBhY2Nlc3NDb250cm9sRXhwb3NlSGVhZGVyU2V0KTsKIApAQCAtMTIyOCw0ICsx
MjI4LDEwIEBAIEV2ZW50VGFyZ2V0RGF0YSogWE1MSHR0cFJlcXVlc3Q6OmVuc3VyZUV2ZW50VGFy
Z2V0RGF0YSgpCiAgICAgcmV0dXJuICZtX2V2ZW50VGFyZ2V0RGF0YTsKIH0KIAorY29uc3QgQXRv
bWljU3RyaW5nJiBYTUxIdHRwUmVxdWVzdDo6aW5pdGlhdG9yTmFtZSgpIGNvbnN0Cit7CisgICAg
REVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIG5hbWUsICgieG1saHR0cHJlcXVlc3Qi
LCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKSk7CisgICAgcmV0dXJuIG5hbWU7
Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3htbC9YTUxIdHRwUmVxdWVzdC5oIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0
LmgKaW5kZXggY2M2Y2JjNTBjMzYwMTY1MDg5ZTI2NTk5NzVjZDEwZDMxMTIyZWY1ZC4uOWRlODJh
YTQ2MTFiZDJkM2YzZTYxOTJkMWMwYTk4OTc5YWEzMDk4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0
dHBSZXF1ZXN0LmgKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCiAj
aW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKICNpbmNsdWRlICJGb3JtRGF0YS5oIgorI2luY2x1ZGUg
IkxvYWRJbml0aWF0b3IuaCIKICNpbmNsdWRlICJSZXNvdXJjZVJlc3BvbnNlLmgiCiAjaW5jbHVk
ZSAiU2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRlICJUaHJlYWRhYmxlTG9hZGVyQ2xpZW50Lmgi
CkBAIC00NSw3ICs0Niw3IEBAIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIGNsYXNzIFRleHRSZXNvdXJj
ZURlY29kZXI7CiBjbGFzcyBUaHJlYWRhYmxlTG9hZGVyOwogCi1jbGFzcyBYTUxIdHRwUmVxdWVz
dCA6IHB1YmxpYyBSZWZDb3VudGVkPFhNTEh0dHBSZXF1ZXN0PiwgcHVibGljIEV2ZW50VGFyZ2V0
LCBwcml2YXRlIFRocmVhZGFibGVMb2FkZXJDbGllbnQsIHB1YmxpYyBBY3RpdmVET01PYmplY3Qg
eworY2xhc3MgWE1MSHR0cFJlcXVlc3QgOiBwdWJsaWMgUmVmQ291bnRlZDxYTUxIdHRwUmVxdWVz
dD4sIHB1YmxpYyBFdmVudFRhcmdldCwgcHJpdmF0ZSBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50LCBw
dWJsaWMgQWN0aXZlRE9NT2JqZWN0LCBwcml2YXRlIExvYWRJbml0aWF0b3IgewogICAgIFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFhNTEh0
dHBSZXF1ZXN0PiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8U2Vj
dXJpdHlPcmlnaW4+ID0gMCk7CkBAIC01OSwxMCArNjAsMTAgQEAgcHVibGljOgogICAgICAgICBM
T0FESU5HID0gMywKICAgICAgICAgRE9ORSA9IDQKICAgICB9OwotICAgIAorCiAgICAgZW51bSBS
ZXNwb25zZVR5cGVDb2RlIHsKICAgICAgICAgUmVzcG9uc2VUeXBlRGVmYXVsdCwKLSAgICAgICAg
UmVzcG9uc2VUeXBlVGV4dCwgCisgICAgICAgIFJlc3BvbnNlVHlwZVRleHQsCiAgICAgICAgIFJl
c3BvbnNlVHlwZURvY3VtZW50LAogICAgICAgICBSZXNwb25zZVR5cGVCbG9iLAogICAgICAgICBS
ZXNwb25zZVR5cGVBcnJheUJ1ZmZlcgpAQCAtMTgyLDYgKzE4Myw5IEBAIHByaXZhdGU6CiAgICAg
dm9pZCBuZXR3b3JrRXJyb3IoKTsKICAgICB2b2lkIGFib3J0RXJyb3IoKTsKIAorICAgIHZpcnR1
YWwgY29uc3QgQXRvbWljU3RyaW5nJiBpbml0aWF0b3JOYW1lKCkgY29uc3Q7CisgICAgdmlydHVh
bCBEb2N1bWVudCogaW5pdGlhdG9yRG9jdW1lbnQoKSBjb25zdCB7IHJldHVybiBkb2N1bWVudCgp
OyB9CisKICAgICBPd25QdHI8WE1MSHR0cFJlcXVlc3RVcGxvYWQ+IG1fdXBsb2FkOwogCiAgICAg
S1VSTCBtX3VybDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YU0xJbXBvcnRSdWxl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YU0xJbXBvcnRSdWxlLmNwcAppbmRleCAwYTE3NzBk
MDM0NWE4YTFmYzgzZDdiN2ZiMmQ0NDJkMmJhMzllYjFmLi43OWUzNmRjNTQwODU3Y2Y3NmQ1MDM0
ZTVmZmYxZGVmN2VhNzcwZmU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFNMSW1w
b3J0UnVsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hTTEltcG9ydFJ1bGUuY3BwCkBA
IC00Myw3ICs0Myw3IEBAIFhTTEltcG9ydFJ1bGU6On5YU0xJbXBvcnRSdWxlKCkKIHsKICAgICBp
ZiAobV9zdHlsZVNoZWV0KQogICAgICAgICBtX3N0eWxlU2hlZXQtPnNldFBhcmVudFN0eWxlU2hl
ZXQoMCk7Ci0gICAgCisKICAgICBpZiAobV9jYWNoZWRTaGVldCkKICAgICAgICAgbV9jYWNoZWRT
aGVldC0+cmVtb3ZlQ2xpZW50KHRoaXMpOwogfQpAQCAtNjEsNyArNjEsNyBAQCB2b2lkIFhTTElt
cG9ydFJ1bGU6OnNldFhTTFN0eWxlU2hlZXQoY29uc3QgU3RyaW5nJiBocmVmLCBjb25zdCBLVVJM
JiBiYXNlVVJMLCBjbwogCiAgICAgbV9zdHlsZVNoZWV0LT5wYXJzZVN0cmluZyhzaGVldCk7CiAg
ICAgbV9sb2FkaW5nID0gZmFsc2U7Ci0gICAgCisKICAgICBpZiAocGFyZW50KQogICAgICAgICBw
YXJlbnQtPmNoZWNrTG9hZGVkKCk7CiB9CkBAIC04NCwyNiArODQsMjYgQEAgdm9pZCBYU0xJbXBv
cnRSdWxlOjpsb2FkU2hlZXQoKQogCiAgICAgaWYgKHJvb3RTaGVldCkKICAgICAgICAgY2FjaGVk
UmVzb3VyY2VMb2FkZXIgPSByb290U2hlZXQtPmNhY2hlZFJlc291cmNlTG9hZGVyKCk7Ci0gICAg
CisKICAgICBTdHJpbmcgYWJzSHJlZiA9IG1fc3RySHJlZjsKICAgICBYU0xTdHlsZVNoZWV0KiBw
YXJlbnRTaGVldCA9IHBhcmVudFN0eWxlU2hlZXQoKTsKICAgICBpZiAoIXBhcmVudFNoZWV0LT5i
YXNlVVJMKCkuaXNOdWxsKCkpCiAgICAgICAgIC8vIHVzZSBwYXJlbnQgc3R5bGVoZWV0J3MgVVJM
IGFzIHRoZSBiYXNlIFVSTAogICAgICAgICBhYnNIcmVmID0gS1VSTChwYXJlbnRTaGVldC0+YmFz
ZVVSTCgpLCBtX3N0ckhyZWYpLnN0cmluZygpOwotICAgIAorCiAgICAgLy8gQ2hlY2sgZm9yIGEg
Y3ljbGUgaW4gb3VyIGltcG9ydCBjaGFpbi4gIElmIHdlIGVuY291bnRlciBhIHN0eWxlc2hlZXQK
ICAgICAvLyBpbiBvdXIgcGFyZW50IGNoYWluIHdpdGggdGhlIHNhbWUgVVJMLCB0aGVuIGp1c3Qg
YmFpbC4KICAgICBmb3IgKFhTTFN0eWxlU2hlZXQqIHBhcmVudFNoZWV0ID0gcGFyZW50U3R5bGVT
aGVldCgpOyBwYXJlbnRTaGVldDsgcGFyZW50U2hlZXQgPSBwYXJlbnRTaGVldC0+cGFyZW50U3R5
bGVTaGVldCgpKSB7CiAgICAgICAgIGlmIChhYnNIcmVmID09IHBhcmVudFNoZWV0LT5iYXNlVVJM
KCkuc3RyaW5nKCkpCiAgICAgICAgICAgICByZXR1cm47CiAgICAgfQotICAgIAorCiAgICAgUmVz
b3VyY2VSZXF1ZXN0IHJlcXVlc3QoY2FjaGVkUmVzb3VyY2VMb2FkZXItPmRvY3VtZW50KCktPmNv
bXBsZXRlVVJMKGFic0hyZWYpKTsKLSAgICBtX2NhY2hlZFNoZWV0ID0gY2FjaGVkUmVzb3VyY2VM
b2FkZXItPnJlcXVlc3RYU0xTdHlsZVNoZWV0KHJlcXVlc3QpOwotICAgIAorICAgIG1fY2FjaGVk
U2hlZXQgPSBjYWNoZWRSZXNvdXJjZUxvYWRlci0+cmVxdWVzdFhTTFN0eWxlU2hlZXQocmVxdWVz
dCwgKnRoaXMpOworCiAgICAgaWYgKG1fY2FjaGVkU2hlZXQpIHsKICAgICAgICAgbV9jYWNoZWRT
aGVldC0+YWRkQ2xpZW50KHRoaXMpOwotICAgICAgICAKKwogICAgICAgICAvLyBJZiB0aGUgaW1w
b3J0ZWQgc2hlZXQgaXMgaW4gdGhlIGNhY2hlLCB0aGVuIHNldFhTTFN0eWxlU2hlZXQgZ2V0cyBj
YWxsZWQsCiAgICAgICAgIC8vIGFuZCB0aGUgc2hlZXQgZXZlbiBnZXRzIHBhcnNlZCAodmlhIHBh
cnNlU3RyaW5nKS4gIEluIHRoaXMgY2FzZSB3ZSBoYXZlCiAgICAgICAgIC8vIGxvYWRlZCAoZXZl
biBpZiBvdXIgc3VicmVzb3VyY2VzIGhhdmVuJ3QpLCBzbyBpZiB3ZSBoYXZlIGEgc3R5bGVzaGVl
dCBhZnRlcgpAQCAtMTEzLDYgKzExMywxMiBAQCB2b2lkIFhTTEltcG9ydFJ1bGU6OmxvYWRTaGVl
dCgpCiAgICAgfQogfQogCitjb25zdCBXVEY6OkF0b21pY1N0cmluZyYgWFNMSW1wb3J0UnVsZTo6
aW5pdGlhdG9yTmFtZSgpIGNvbnN0Cit7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNT
dHJpbmcsIG5hbWUsICgieHNsIiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCkp
OworICAgIHJldHVybiBuYW1lOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRp
ZiAvLyBFTkFCTEUoWFNMVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YU0xJbXBv
cnRSdWxlLmggYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFNMSW1wb3J0UnVsZS5oCmluZGV4IDM1MGNk
ZDliMTY1MzRiNjE3ZjA2Mjc2MjkzYzQ3NDBlMmNmNmIxOWUuLjBlMjRlOTI5ZDdlZWM5NmQ1N2Jm
NTY2ZTM2N2UxOWUwYWE3ZjFhYjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YU0xJ
bXBvcnRSdWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hTTEltcG9ydFJ1bGUuaApAQCAt
MjcsNiArMjcsNyBAQAogCiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VIYW5kbGUuaCIKICNpbmNs
dWRlICJDYWNoZWRTdHlsZVNoZWV0Q2xpZW50LmgiCisjaW5jbHVkZSAiTG9hZEluaXRpYXRvci5o
IgogI2luY2x1ZGUgIlhTTFN0eWxlU2hlZXQuaCIKICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5o
PgogCkBAIC0zNCw3ICszNSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQ2FjaGVk
WFNMU3R5bGVTaGVldDsKIAotY2xhc3MgWFNMSW1wb3J0UnVsZSA6IHByaXZhdGUgQ2FjaGVkU3R5
bGVTaGVldENsaWVudCB7CitjbGFzcyBYU0xJbXBvcnRSdWxlIDogcHJpdmF0ZSBDYWNoZWRTdHls
ZVNoZWV0Q2xpZW50LCBwcml2YXRlIExvYWRJbml0aWF0b3IgewogICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPFhTTEltcG9ydFJ1bGU+
IGNyZWF0ZShYU0xTdHlsZVNoZWV0KiBwYXJlbnRTaGVldCwgY29uc3QgU3RyaW5nJiBocmVmKQpA
QCAtNDMsNyArNDQsNyBAQCBwdWJsaWM6CiAgICAgfQogCiAgICAgdmlydHVhbCB+WFNMSW1wb3J0
UnVsZSgpOwotICAgIAorCiAgICAgY29uc3QgU3RyaW5nJiBocmVmKCkgY29uc3QgeyByZXR1cm4g
bV9zdHJIcmVmOyB9CiAgICAgWFNMU3R5bGVTaGVldCogc3R5bGVTaGVldCgpIGNvbnN0IHsgcmV0
dXJuIG1fc3R5bGVTaGVldC5nZXQoKTsgfQogCkBAIC01MiwxMiArNTMsMTUgQEAgcHVibGljOgog
CiAgICAgYm9vbCBpc0xvYWRpbmcoKTsKICAgICB2b2lkIGxvYWRTaGVldCgpOwotICAgIAorCiBw
cml2YXRlOgogICAgIFhTTEltcG9ydFJ1bGUoWFNMU3R5bGVTaGVldCogcGFyZW50U2hlZXQsIGNv
bnN0IFN0cmluZyYgaHJlZik7CiAKICAgICB2aXJ0dWFsIHZvaWQgc2V0WFNMU3R5bGVTaGVldChj
b25zdCBTdHJpbmcmIGhyZWYsIGNvbnN0IEtVUkwmIGJhc2VVUkwsIGNvbnN0IFN0cmluZyYgc2hl
ZXQpOwotICAgIAorCisgICAgdmlydHVhbCBjb25zdCBXVEY6OkF0b21pY1N0cmluZyYgaW5pdGlh
dG9yTmFtZSgpIGNvbnN0OworICAgIHZpcnR1YWwgRG9jdW1lbnQqIGluaXRpYXRvckRvY3VtZW50
KCkgY29uc3QgeyByZXR1cm4gbV9wYXJlbnRTdHlsZVNoZWV0LT5vd25lckRvY3VtZW50KCk7IH0K
KwogICAgIFhTTFN0eWxlU2hlZXQqIG1fcGFyZW50U3R5bGVTaGVldDsKICAgICBTdHJpbmcgbV9z
dHJIcmVmOwogICAgIFJlZlB0cjxYU0xTdHlsZVNoZWV0PiBtX3N0eWxlU2hlZXQ7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXgg
OGZiMjRiMDQ4ODBhMjUxZWQ1ZWY0ZWMzYTZjYjY3MWU5MzExOWJlZi4uYzNjY2JjMzNiZmMzYmFh
MzUxM2Y0YTMxOTNjNmU3MDdhNWFmMjY5ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDEyLTEw
LTA5ICBKYW1lcyBTaW1vbnNlbiAgPHNpbW9uamFtQGNocm9taXVtLm9yZz4KKworICAgICAgICBb
UmVzb3VyY2UgVGltaW5nXSBFeHBvc2UgdGltaW5nIGluZm9ybWF0aW9uCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NDg4MworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSB0ZXN0cyBhcmUgZGVzaWduZWQg
dG8gYmUgdXBzdHJlYW1lZC4gRXZlbnR1YWxseSwgdGhlIGxvY2FsIG9uZXMgd2lsbCBiZSByZXBs
YWNlZCBieSB0aGUgb2ZmaWNpYWwgdXBzdHJlYW0gdmVyc2lvbnMuCisKKyAgICAgICAgKiBodHRw
L3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9BaGVtLnR0ZjogQWRkZWQuCisgICAgICAgICog
aHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvYWxsX3Jlc291cmNlX3R5cGVzLmh0bTog
QWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvYmxhbmtf
aW1hZ2UucG5nOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291
cmNlcy9lbXB0eV9zY3JpcHQuanM6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dl
YnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocDogQWRkZWQuCisgICAgICAgICog
aHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ3JheV9iZy5jc3M6IEFkZGVkLgorICAg
ICAgICAoYm9keSk6CisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMv
Z3JlZW5fZnJhbWUuaHRtOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJm
L3Jlc291cmNlcy9pbmplY3RfcmVzb3VyY2VfdGVzdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9uZXN0ZWQuY3NzOiBBZGRlZC4KKyAgICAg
ICAgKEBmb250LWZhY2UpOgorICAgICAgICAob2wpOgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNj
L3dlYnBlcmYvcmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVzcy5qczoKKyAgICAgICAgKHRlc3Rf
Z3JlYXRlcl9vcl9lcXVhbHMpOgorICAgICAgICAodGVzdF9mYWlsKToKKyAgICAgICAgKHRlc3Rf
cmVzb3VyY2VfZW50cmllcyk6CisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJt
aXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2VfYXR0cmlidXRlX29yZGVy
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9z
dWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2VfYXR0cmlidXRlX29y
ZGVyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlz
c2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX2R5bmFtaWNfaW5zZXJ0aW9u
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9z
dWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2VfZHluYW1pY19pbnNl
cnRpb24uaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJt
aXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2VfZnJhbWVfaW5pdGlhdG9y
X3R5cGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJw
ZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9mcmFtZV9p
bml0aWF0b3JfdHlwZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJw
ZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9pbml0aWF0
b3JfdHlwZXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93
ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9pbml0
aWF0b3JfdHlwZXMuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVy
Zi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2VfcmVkaXJlY3Rz
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9z
dWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2VfcmVkaXJlY3RzLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9y
ZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX3JlcGFyZW50aW5nLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jl
c291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2VfcmVwYXJlbnRpbmcuaHRtbDogQWRkZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRp
bWluZy9odG1sL3Rlc3RfcmVzb3VyY2Vfc2NyaXB0X3R5cGVzLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRp
bWluZy9odG1sL3Rlc3RfcmVzb3VyY2Vfc2NyaXB0X3R5cGVzLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHBsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnM6IFNraXAgdGhlc2UgbmV3IHRl
c3RzIHVudGlsIHRoZSBmbGFnIGlzIGZsaXBwZWQuCisKIDIwMTItMTAtMTUgIERhbmEgSmFuc2Vu
cyAgPGRhbmFrakBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmViYXNlbGluZSBhZnRlciByMTMx
MzU4LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNv
dXJjZXMvQWhlbS50dGYgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291
cmNlcy9BaGVtLnR0ZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hYzgxY2IwMzE2NWFiODMxYTM2YWJiNTkxNDVmZjdh
MmY1Njc1ZmI5CkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAxMjQ4MAp6Y21lSE5aRm0mYjZAS1Nx
WEZxYD9WI0o4X1d7WigzMjc7QyVyTn5GNU5EK31CcU5VMHZKSU15S3lLIzQ4ZiZ4V3IKeilrZ1Uh
VDgmQzZCNyVZPDNSKG44NWZLNFZzaXRUVm1vIT5VWkImWTJlR3BqUkozQTIrK2RxQiRWTFArVz8z
e2I8Cnp5PVR0Nz1iZH1jP3p+VXtfJVJiMmBkKDdqcihlVV5RTF9NTDBKVzFWcU1fT0B5WWZjPnR7
VDhkUkUzaFlJMGFzeQp6P0BIRl5STWt3YXlsN1F3SHgwQV4xPnVNcDNoIURwcmFTQV9eWHdtPyF0
Sy1aREllaDNHWklaVEpSPmxqX0x+NSQKenhoN3JfNV9NKz1mdWQ2QytNfVV7VDZgKylFOFc7JCM2
blNYTSVPI20wS05NMXsqbF52R0JzPUc+NVZgIWA+V2pgCnplT0U5bkAwM2ZjdUlAN0VBaVA9fEhD
UHFEYFUtajdjK1Q+UmZYbzFgTyVwNj9QXkZkIWApTUxHZlp0WW9lb0lUbwp6OXx0WVhMM3Ijd1Uj
O2l1d0tpb2dUb2wlO15heWpaU0xKIzFRIzVMIWF+JCVSMnxTKHlHMTRtVj4rKkFsMTRBSjgKenNr
UlJTVExxTmRBKnxEYzwqQmVkPDIrP09sd0xaZ0dZMVheelRGcyprOH0zYU44MmstY1dTdHtzNntZ
VHBNMmd+CnpgMDg0dGE1MmRxOWFwPH0hWD97TmdVKXJ5ZlNhcUFUIVZhRS12ajdgJmdnPDE8UlQ5
enAoez5DS0cqVllJMjhwcgp6NGMmMSVkZis8e0NgMXQ3TU5nYzhCQWtne18jViF9KzMxYVBQPmVx
NGl4VHcxeGl9QnNNfVBiUDE4X2JEOylmVzcKekE3TDtxO0pQKnghIVI3QnhEWEBvVn5vVF83PUBv
O0clbSYlVCFPSzw2eXMyYUB3Zn5WYTUqTzgzUzVid1ZpSkNhCnp0OGdfWSk4NyF2UUdxWl9SSDZ6
SVJBVU9SS0BGbWFBJnkjSGl2KkhMcCReeGY5dTFnXj52MDM3YWJLQiVwTDRsPQp6NkYxQH1gfm8t
UUUmTEw8Ozh4cyp4QTd9OTsoZ3FYSko1eiVfeV5pQzgqfWd1LW9AWTBqSzU8cGV2UXtLNHxuMSYK
enswNFg5Sl5UcUQ7OG9tJUNacmpxYCoxKHo8N0s+cEtWdWkoeitkb05FV3EjWkFyQGpNVEpab3tA
Sy1BJGQkMCh2CnpWPmtCVktgaDJZU2MwV143Pns1WG1nNy04I3heVlBJOUIyYkpjKDZVamk+TjVl
dmRWSDI1WWc3SkV1LUdmVWBBKAp6UVM4aHAlc0BzZFFPY0FDV3VFJGl4PW5wY3lHd2dTVGQhPnRJ
aWptNTVJc2F0NnA2bEtwZVFYMjc4Vjg3cGJfajYKeiVuS0YtZGohdThqdG91P24hKXtOWX5RRDVH
UEVsZyh9bEQqJmEkX0tfVEQoby1idGRIPXFgazFAQkE7PiVNRzZUCnpnfXR6NDUxQ0JuP015M28q
YyZzYEc3fmN3MDd1JCs0bkFfJDtuJDlJLUo1Q0kxaGxNZ1M9WHxyPD8pdUtFZXJOTwp6eVo1bmxZ
a0VnfG16PH5jX1ZrQUlMK1FyIXQjNXR5WDN3MERZfX04TWJAR3M0bWdqTkQoY3xSZiNkYiNGI04l
R1oKelFSM2hNTSowcyNMbkNvOG0rYHpDbn45MDFoPn1AJjBiN1pUSW1GMiMmaUB1LXBiNld0NEtF
U31fYzMtNEdVXmhLCnp3LWI+fGlPSSFgPTVqbGw4O0g7cVJ6Jjkkc21+S3hQZ3JyUyFiV1QmP3k4
QzFEYTdxSE1EOUZkeDBkTFkqaTh8PQp6NjEjc1NkWiFZPCpBdSVwNUpgNzMoJGcmakthMXl4cyNV
fjc3OCZiXmxDPjd6VU1GNVIpN1NTTGx3PD8kcHlXVEkKekw/KXVsQmVpUVohOE9iY29TUiNpZHEh
Ynk7ZEolR0JYZzdrTSsySFQrJWxhajRreXlpbCh8US1RSzhtJHhFbXtGCnpDaHBZOVVsN2lgSUdB
dnIyV0tzQykmZ2dMYVE0UDtJNEB3PCFUcStSQE1MU3grM01zVio/JSRyWExBc1NgXjBzJQp6I21Q
T0xvWlFLfm8hP140P0A7R0FffUE8WS0qNjcle057SzUyWGcpY2I4O3t6MlhrXlRDa0p6S0ZlZUI1
SCNyIXsKekMmKyQrV0MjckEreHsjMD8oO2duYkRoV2NtQER7KFlDR1NVemwjSGtzXmxtPWwtfGxm
V3UhN2UyYGRSQHJaUVdaCnp1UGpzNkN8aV9mckImSWQ5OTA4cWYhYSYkdWE+SWcpWDhkMG91KVJi
UDNqVkx3WW97JnNpeEktXl5vUyNeMGw1Pwp6S1cmSU1Nd19IZihIZ1d7XyNTKGF3bz09bT9hKzQ5
KEAlNj0mKG5vb3RQaiNoPUBhI15wM3JDTnYtU0Q8R0pURHsKek1RXyR5Xj9td0xTSE0tXj5nRFMx
RHNfIT5PP0pneChfRD9OQ2Y1P3pZUyQqJFBGTEYxP21BPzZqQ2BZfihhI3VTCnpqND50fFE7WWBW
N1VNMnNrK0lVKVZDKm48OCpSb1hacno+ZDdWY3ZBQW9uUXVNMGNlLTwtVzsxKlMpfn5zQyV0QAp6
dDl6SUc5cnUwQEplQHQ9SiFnM2FASDRfUS1jIzxXXn5+X3g7a25RQXU7KiNkWDN3amg3U0QmQyEo
Tn1hbzQzZSYKem9fQ21jdG9KSCFqclYlKlpRaUBSaUBpXkpIK288OD8oeDN3e25UZ3B5ODQyP3pQ
YGJ9KFlgQnY1I00jYm58PD9xCnozdzxrbT53VmpPWn17SHo5cV9DRTlEZmdnWn5zOTVOZEUrWCpx
YHZ2XncwTHNfYj5DV0BvKGByYCY8M3t7Nl88VQp6S3RaNWFwbnNxPUZmSzRUNURRRVRHek9YaU85
SEN7bip1dW49fEZxblAkeTVQezd5WVBePHlAMG5zViROe1F7UD0KemhYUmslUUJ1KWFTel94bzJ4
WVlgPnVsMyglUCE8QWR1LVhEZSFxT1d0bTc1c2tTIX5HJWV+RShSaytvY1kqfEImCnorSEFgQCtx
YDRURjhJfEJFfXVkRCRGQEYpXjFwMDNtdiVuMDx2aSRgJURxaklUcz51aFg0bz52cUEjeyhqenhk
ZQp6bU5eIUV0dTFwYmBmZ2sxU29Cc349Mi1Na1o4LS1YbTs0YDcrUnNJMm0mY2Ejc0x2LU9DVHtV
cTFpMXdmdko0VkQKekU2NUhvRXE7cnpHJHNUITUkWGliRDhHfkI1WSpYcXkpQTc2ZHpvWXhxKnk4
PD9gOX49YihTNHpCU3pNT0FnOEM2CnpyKSp6T1l0X35yckw3MmtzSFprV1N6M3YpVW11SG1iRjNg
TFpiLTE1eW5CWik8eUhAcT8xcE9nRzA2PVFXYmBCewp6UnIyMDdFTEV+YyFzPW1DcFIoRmp2MFB6
VWwzYSkrYnk2UnYxP2tJRnREUEtXKHl9KyF4QCh5QnEtU3l6PCFtRiEKejlnNEZnJU9tSlRnc3Iz
cEA/T1g4blZxcldXRXohR1UmZU0oK0wxRntPOyVIcXhebH5VSj5fZylJcSUyKEVhb2dxCno4JlJe
QU90TyZWbX1HPHxTZ29iIVMrN2d6WCRoQCR3Qz1jbWVMSzdNVik5cjtNSUA5NlJpdztCUWlLd3dO
SlVJeAp6TW4mQDRJK2w3MXYhVE1RT15Lb2xoZ1FfM09jOUVPTVgpeTVUaHZGWUQ8VUVwaVB3dXp2
Y2ltfGBoLXBFRGs+QjQKenNBWikqbHIoRnFWYGowcUVOTkVPKXJpVj9MWnItT3N5YkZCRCZrU0hY
c2M3ekB0ODxYT3tVQ2Z2Ukk1dyNLVXpKCnpXPn1PQDczMVVLdW93fUZCd31WRittbnRCRkRueWVw
PWV6cVJERVZybHFjZiNOIUhwbmktJChjPXMyXmd0fHBZMgp6en5NO0tDQi1FfHNeeGl7dTB2KEZt
UE98Jl88d3kwekliTjd7RGdIcEwyN24wJGxTb3A7c2hjWEgzejl3JCFfXkYKeit3dDRQYm9fNjVq
eUdCeU42QiEhalUyV3thQDF5Iz1fWXhNY2FyMEZrSHJeVE5jUCh6aS0jIXJobXc2THhyYlIrCnoq
Oz15VnAwZ05tK25BcmRoI2gjejt5M09qXllKeHVBfD1vOWImS2hebzFEciRXSypXZVhfUEYtSHU1
Rmt3PlhwXgp6a2FfbkpfVGl0e2tCYGFuS1pzQVB4Smg+N0kmJFM2Q2E+KiZpfDRyNlZtZHhnTSYy
Zn1AME9FbXd9QXx9Xjw+UjgKemshZzE/eHB3byZ1YmdBQ0ZQRDt3X2JPUiomeXE+NkQhTS1BdmVC
Y31rPmo8fTNyRXdzWDBoXmZwcGVnfmVHVSFICkJjQGg4cwoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAx
CgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJj
ZXMvYWxsX3Jlc291cmNlX3R5cGVzLmh0bSBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dl
YnBlcmYvcmVzb3VyY2VzL2FsbF9yZXNvdXJjZV90eXBlcy5odG0KbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDViOGI3
MTVjZWVhZTE5NGEyNzk3YjliNDFhMzhlNThhOWVlNDQwMgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2FsbF9yZXNvdXJjZV90
eXBlcy5odG0KQEAgLTAsMCArMSw0NSBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04IiBo
dHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIC8+CisgICAgICAgIDx0aXRsZT5BbGwgUmVzb3VyY2Ug
VHlwZXMgVGVzdCBQYWdlPC90aXRsZT4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHkgYmFja2dyb3Vu
ZD0nZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9aW1hZ2UmaWQ9Ym9keSc+CisgICAgICAgIDxz
Y3JpcHQ+CisgICAgICAgICAgICBpZiAod2luZG93LnBhcmVudC5oYXNPd25Qcm9wZXJ0eSgnb25f
dGVzdF9ib2R5X2NyZWF0ZWQnKSkKKyAgICAgICAgICAgICAgICB3aW5kb3cucGFyZW50Lm9uX3Rl
c3RfYm9keV9jcmVhdGVkKCk7CisgICAgICAgIDwvc2NyaXB0PgorICAgICAgICA8bGluayByZWw9
InN0eWxlc2hlZXQiIGhyZWY9Im5lc3RlZC5jc3MiPjwvbGluaz4KKyAgICAgICAgPGltZyBzcmM9
ImJsYW5rX2ltYWdlLnBuZyI+PC9pbWc+CisgICAgICAgIDxpZnJhbWUgc3JjPSJibGFua19wYWdl
X2dyZWVuLmh0bSIgd2lkdGg9IjEwMHB4IiBoZWlnaHQ9IjEwMHB4Ij48L2lmcmFtZT4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9ImVtcHR5X3NjcmlwdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQ+CisgICAgICAgICAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0OworICAgICAgICAg
ICAgeGhyLm9wZW4oIkdFVCIsICJibGFua19wYWdlX3llbGxvdy5odG0iLCBmYWxzZSk7CisgICAg
ICAgICAgICB4aHIuc2VuZCgpOworICAgICAgICA8L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgQGZvbnQtZmFjZSB7CisgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IHJl
bW90ZUZvbnRBaGVtOworICAgICAgICAgICAgICAgIHNyYzogdXJsKCdBaGVtLnR0ZicpOworICAg
ICAgICAgICAgfQorICAgICAgICAgICAgaWZyYW1lIHsKKyAgICAgICAgICAgICAgICBiYWNrZ3Jv
dW5kOiB1cmwoJ2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPWltYWdlJmlkPTEnKTsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIHVsIHsKKyAgICAgICAgICAgICAgICBmb250LWZhbWlseTog
cmVtb3RlRm9udEFoZW07CisgICAgICAgICAgICAgICAgbGlzdC1zdHlsZS1pbWFnZTogdXJsKCdn
ZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1pbWFnZSZpZD0yJyk7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgICAgIDx1bD4KKyAgICAgICAgICAgIDxsaT5UZXN0PC9saT4K
KyAgICAgICAgPC91bD4KKyAgICAgICAgPG9sPgorICAgICAgICAgICAgPGxpPlRlc3Q8L2xpPgor
ICAgICAgICA8L29sPgorICAgICAgICA8ZW1iZWQgc3JjPSJnZW5lcmF0ZV9yZXNvdXJjZS5waHA/
dHlwZT1jc3MmaWQ9ZW1iZWQiIHR5cGU9InRleHQvY3NzIj48L2VtYmVkPgorICAgICAgICA8aW5w
dXQgdHlwZT0iaW1hZ2UiIHNyYz0iZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9aW1hZ2UmaWQ9
aW5wdXQiPjwvaW5wdXQ+CisgICAgICAgIDxvYmplY3QgdHlwZT0iaW1hZ2UvcG5nIiBkYXRhPSJn
ZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1pbWFnZSZpZD1vYmplY3QiPjwvb2JqZWN0PgorICAg
ICAgICA8dmlkZW8gcG9zdGVyPSJnZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1pbWFnZSZpZD1w
b3N0ZXIiPjwvdmlkZW8+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvYmxhbmtfaW1hZ2UucG5nIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvYmxhbmtfaW1hZ2Uu
cG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmNjZjdhNmNhMDViZmZjOTMwNWM4ZGViY2JjMjllZjBkMWE1YzdiNzQK
R0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDEwMwp6Y21lQVNATj8ob2xIeWB1VkJxIWlhMHZwXmoz
Q1V4MVNCVnYyajJzNmlpNnlwN31sTVdjP3NsajdJO0ohR2NhJXEKdWdEQGsqdFRfQHVLXnsqUiN9
Sk98JHZeKTh3YFhBZSRNbztjbmFKbHJhUnlJVUtiTGgqMn43WVNoOGNfaQoKbGl0ZXJhbCAwCkhj
bVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVy
Zi9yZXNvdXJjZXMvZW1wdHlfc2NyaXB0LmpzIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mv
d2VicGVyZi9yZXNvdXJjZXMvZW1wdHlfc2NyaXB0LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA5MmJjMmIwNDEy
NjEwMDg3ODUzMDg4OGU2YjFiMzA2MDJkY2UyMTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9lbXB0eV9zY3JpcHQuanMKQEAg
LTAsMCArMSBAQAorOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2Vi
cGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjIyMWRkNmFkNGU3MWZhNjk5ZmRiNWQxZjdmNzU1NDUzODFjODgwNjkKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5l
cmF0ZV9yZXNvdXJjZS5waHAKQEAgLTAsMCArMSw0OCBAQAorPD9waHAKKyAgJHR5cGUgPSAkX0dF
VFsidHlwZSJdOworCisgICRyZXNwb25zZV9jb2RlID0gMjAwOworICAkYm9keSA9ICIiOworICAk
Y29udGVudF90eXBlID0gInRleHQvcGxhaW4iOworCisgIHN3aXRjaCAoJHR5cGUpIHsKKyAgY2Fz
ZSAiYXVkaW8iOgorICAgICAgJGJvZHkgPSBmaWxlX2dldF9jb250ZW50cygic2lsZW5jZS53YXYi
KTsKKyAgICAgICRjb250ZW50X3R5cGUgPSAiYXVkaW8vd2F2IjsKKyAgICAgIGJyZWFrOworCisg
IGNhc2UgImNzcyI6CisgICAgICAkYm9keSA9IGZpbGVfZ2V0X2NvbnRlbnRzKCJncmF5X2JnLmNz
cyIpOworICAgICAgJGNvbnRlbnRfdHlwZSA9ICJ0ZXh0L2NzcyI7CisgICAgICBicmVhazsKKwor
ICBjYXNlICJmb250IjoKKyAgICAgICRib2R5ID0gZmlsZV9nZXRfY29udGVudHMoIkFoZW0udHRm
Iik7CisgICAgICAkY29udGVudF90eXBlID0gImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSI7Cisg
ICAgICBicmVhazsKKworICBjYXNlICJpZnJhbWUiOgorICAgICAgJGJvZHkgPSBmaWxlX2dldF9j
b250ZW50cygiYmxhbmtfcGFnZV9ncmVlbi5odG0iKTsKKyAgICAgICRjb250ZW50X3R5cGUgPSAi
dGV4dC9odG1sIjsKKyAgICAgIGJyZWFrOworCisgIGNhc2UgImltYWdlIjoKKyAgICAgICRib2R5
ID0gZmlsZV9nZXRfY29udGVudHMoImJsYW5rX2ltYWdlLnBuZyIpOworICAgICAgJGNvbnRlbnRf
dHlwZSA9ICJpbWFnZS9wbmciOworICAgICAgYnJlYWs7CisKKyAgY2FzZSAic2NyaXB0IjoKKyAg
ICAgICRib2R5ID0gZmlsZV9nZXRfY29udGVudHMoImVtcHR5X3NjcmlwdC5qcyIpOworICAgICAg
JGNvbnRlbnRfdHlwZSA9ICJ0ZXh0L2phdmFzY3JpcHQiOworICAgICAgYnJlYWs7CisKKyAgZGVm
YXVsdDoKKyAgICAgICRyZXNwb25zZV9jb2RlID0gNDA0OworICAgICAgYnJlYWs7CisgIH0KKwor
ICBoZWFkZXIoIkhUVFAvMS4xICRyZXNwb25zZV9jb2RlIik7CisgIGhlYWRlcigiQ29udGVudC10
eXBlOiAkY29udGVudF90eXBlIik7CisgIHByaW50KCRib2R5KTsKKyAgZXhpdDsKKz8+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9ncmF5
X2JnLmNzcyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dy
YXlfYmcuY3NzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM3MDUxNDVmYjg3NzM1NThhNzk1MmRjMTRmMThmZGI0MWU0
YjgyMzIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJw
ZXJmL3Jlc291cmNlcy9ncmF5X2JnLmNzcwpAQCAtMCwwICsxIEBACitib2R5IHsgYmFja2dyb3Vu
ZC1jb2xvcjogI2JiYmJiYjsgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93
M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ3JlZW5fZnJhbWUuaHRtIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ3JlZW5fZnJhbWUuaHRtCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM5
MWY0NGFiZjMyOTEwMGU1YTdhM2NhY2Y4NzI5YzIwY2ZjMzcxYmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9ncmVlbl9mcmFt
ZS5odG0KQEAgLTAsMCArMSw3IEBACis8aHRtbD4KKyAgPGhlYWQ+CisgICAgPGZyYW1lc2V0Pgor
ICAgICAgPGZyYW1lIHNyYz0iYmxhbmtfcGFnZV9ncmVlbi5odG0iPgorICAgIDwvZnJhbWVzZXQ+
CisgIDwvaGVhZD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
dzNjL3dlYnBlcmYvcmVzb3VyY2VzL2luamVjdF9yZXNvdXJjZV90ZXN0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9pbmplY3RfcmVzb3VyY2VfdGVz
dC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjFmMTAwNjFjZWM4ODExMTc3ZWZlNTk4ZWI3ZjU4MzEzODRhZTE2
MzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJm
L3Jlc291cmNlcy9pbmplY3RfcmVzb3VyY2VfdGVzdC5odG1sCkBAIC0wLDAgKzEsMyBAQAorPHNj
cmlwdD4KK3dpbmRvdy5wYXJlbnQuc2V0dXBfaWZyYW1lKCk7Cis8L3NjcmlwdD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL25lc3RlZC5j
c3MgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9uZXN0ZWQu
Y3NzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmJmNTA2NWY4NmVhY2FhYzQwZTRlZTIwZDVhYTBmM2ZhNzhjMjMzNzMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jl
c291cmNlcy9uZXN0ZWQuY3NzCkBAIC0wLDAgKzEsMTAgQEAKK0BpbXBvcnQgImdlbmVyYXRlX3Jl
c291cmNlLnBocD90eXBlPWNzcyZpZD1uMSI7CisKK0Bmb250LWZhY2UgeworICAgIGZvbnQtZmFt
aWx5OiByZW1vdGVGb250OworICAgIHNyYzogdXJsKCdnZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlw
ZT1mb250JmlkPW4xJyk7Cit9CitvbCB7CisgICAgZm9udC1mYW1pbHk6IHJlbW90ZUZvbnQ7Cisg
ICAgbGlzdC1zdHlsZS1pbWFnZTogdXJsKCdnZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1pbWFn
ZSZpZD1uMScpOworfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2Vi
cGVyZi9yZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpzIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpzCmluZGV4IDg3
NzQ1MDZlMjQ5MjhlN2I5NjE0YzMwYzk4MWIxMzExMGFkMDhkNDMuLjQ1NGQyOGU5MWY5ODg4N2Jm
MTkyMDYzMWRmMWYyMDk1MTM1MTczYTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVzcy5qcworKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy93ZWJwZXJmdGVzdGhhcm5l
c3MuanMKQEAgLTE1MCw3ICsxNTAsNjMgQEAgZnVuY3Rpb24gdGVzdF9ncmVhdGVyX3RoYW4odmFs
dWUsIGdyZWF0ZXJfdGhhbiwgbXNnLCBwcm9wZXJ0aWVzKQogICAgIHdwX3Rlc3QoZnVuY3Rpb24g
KCkgeyBhc3NlcnRfdHJ1ZSh2YWx1ZSA+IGdyZWF0ZXJfdGhhbiwgbXNnKTsgfSwgbXNnLCBwcm9w
ZXJ0aWVzKTsKIH0KIAorZnVuY3Rpb24gdGVzdF9ncmVhdGVyX29yX2VxdWFscyh2YWx1ZSwgZ3Jl
YXRlcl90aGFuLCBtc2csIHByb3BlcnRpZXMpCit7CisgICAgd3BfdGVzdChmdW5jdGlvbiAoKSB7
IGFzc2VydF90cnVlKHZhbHVlID49IGdyZWF0ZXJfdGhhbiwgbXNnKTsgfSwgbXNnLCBwcm9wZXJ0
aWVzKTsKK30KKwogZnVuY3Rpb24gdGVzdF9ub3RfZXF1YWxzKHZhbHVlLCBub3RlcXVhbHMsIG1z
ZywgcHJvcGVydGllcykKIHsKICAgICB3cF90ZXN0KGZ1bmN0aW9uKCkgeyBhc3NlcnRfdHJ1ZSh2
YWx1ZSAhPT0gbm90ZXF1YWxzLCBtc2cpOyB9LCBtc2csIHByb3BlcnRpZXMpOwogfQorCitmdW5j
dGlvbiB0ZXN0X2NvbnRhaW5zKG5lZWRsZSwgaGF5c3RhY2ssIG1zZywgcHJvcGVydGllcykKK3sK
KyAgICB3cF90ZXN0KGZ1bmN0aW9uKCkgeyBhc3NlcnRfdHJ1ZShuZWVkbGUgaW4gaGF5c3RhY2ss
IG1zZyk7IH0sIG1zZywgcHJvcGVydGllcyk7Cit9CisKK2Z1bmN0aW9uIHRlc3RfZmFpbChtc2cs
IHByb3BlcnRpZXMpCit7CisgICAgd3BfdGVzdChmdW5jdGlvbigpIHsgYXNzZXJ0X3VucmVhY2hl
ZCgpOyB9LCBtc2csIHByb3BlcnRpZXMpOworfQorCitmdW5jdGlvbiB0ZXN0X3Jlc291cmNlX2Vu
dHJpZXMoZW50cmllcywgZXhwZWN0ZWRfZW50cmllcykKK3sKKyAgICAvLyBUaGlzIGlzIHNsaWdo
dGx5IGNvbnZvbHV0ZWQgc28gdGhhdCB3ZSBjYW4gc29ydCB0aGUgb3V0cHV0LgorICAgIHZhciBh
Y3R1YWxfZW50cmllcyA9IHt9OworCisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBlbnRyaWVzLmxl
bmd0aDsgKytpKSB7CisgICAgICAgIHZhciBlbnRyeSA9IGVudHJpZXNbaV07CisgICAgICAgIHZh
ciBmb3VuZCA9IGZhbHNlOworICAgICAgICBmb3IgKHZhciBleHBlY3RlZF9lbnRyeSBpbiBleHBl
Y3RlZF9lbnRyaWVzKSB7CisgICAgICAgICAgICBpZiAoZW50cnkubmFtZSA9PSB3aW5kb3cubG9j
YXRpb24ub3JpZ2luICsgZXhwZWN0ZWRfZW50cnkpIHsKKyAgICAgICAgICAgICAgICBmb3VuZCA9
IHRydWU7CisgICAgICAgICAgICAgICAgaWYgKGV4cGVjdGVkX2VudHJ5IGluIGFjdHVhbF9lbnRy
aWVzKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RfZmFpbChleHBlY3RlZF9lbnRyeSArICcg
aXMgbm90IGV4cGVjdGVkIHRvIGhhdmUgZHVwbGljYXRlIGVudHJpZXMnKTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICAgICAgYWN0dWFsX2VudHJpZXNbZXhwZWN0ZWRfZW50cnldID0g
ZW50cnk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgIH0K
KyAgICAgICAgaWYgKCFmb3VuZCkgeworICAgICAgICAgICAgdGVzdF9mYWlsKGVudHJpZXNbaV0u
bmFtZSArICcgaXMgbm90IGV4cGVjdGVkIHRvIGJlIGluIHRoZSBSZXNvdXJjZSBUaW1pbmcgYnVm
ZmVyJyk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBzb3J0ZWRfdXJscyA9IFtdOworICAgIGZv
ciAodmFyIGkgaW4gYWN0dWFsX2VudHJpZXMpIHsKKyAgICAgICAgc29ydGVkX3VybHMucHVzaChp
KTsKKyAgICB9CisgICAgc29ydGVkX3VybHMuc29ydCgpOworICAgIGZvciAodmFyIGkgaW4gc29y
dGVkX3VybHMpIHsKKyAgICAgICAgdmFyIHVybCA9IHNvcnRlZF91cmxzW2ldOworICAgICAgICB0
ZXN0X2VxdWFscyhhY3R1YWxfZW50cmllc1t1cmxdLmluaXRpYXRvclR5cGUsCisgICAgICAgICAg
ICAgICAgICAgIGV4cGVjdGVkX2VudHJpZXNbdXJsXSwKKyAgICAgICAgICAgICAgICAgICAgdXJs
ICsgJyBpcyBleHBlY3RlZCB0byBoYXZlIGluaXRpYXRvclR5cGUgJyArIGV4cGVjdGVkX2VudHJp
ZXNbdXJsXSk7CisgICAgfQorICAgIGZvciAodmFyIGogaW4gZXhwZWN0ZWRfZW50cmllcykgewor
ICAgICAgICBpZiAoIShqIGluIGFjdHVhbF9lbnRyaWVzKSkgeworICAgICAgICAgICAgdGVzdF9m
YWlsKGogKyAnIGlzIGV4cGVjdGVkIHRvIGJlIGluIHRoZSBSZXNvdXJjZSBUaW1pbmcgYnVmZmVy
Jyk7CisgICAgICAgIH0KKyAgICB9Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNv
dXJjZV9hdHRyaWJ1dGVfb3JkZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3Vy
Y2VfYXR0cmlidXRlX29yZGVyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kNzg4MTg5MTZlZDNi
MjhjMDUxMzNhODIxNjdhYWJkYTFhZmU5MWQyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1s
L3Rlc3RfcmVzb3VyY2VfYXR0cmlidXRlX29yZGVyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE4
IEBACitEZXNjcmlwdGlvbgorCitUaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQgdGhlIFBlcmZvcm1h
bmNlUmVzb3VyY2VUaW1pbmcgYXR0cmlidXRlcyBhcHBlYXIgaW4gdGhlIGNvcnJlY3QgY2hyb25v
bG9naWNhbCBvcmRlci4KKworCisKK1BBU1MgT25seSAxIFBlcmZvcm1hbmNlRW50cnkgc2hvdWxk
IG1hdGNoIAorUEFTUyByZWRpcmVjdFN0YXJ0IHNob3VsZCBiZSAwIAorUEFTUyByZWRpcmVjdEVu
ZCBzaG91bGQgYmUgMCAKK1BBU1MgZmV0Y2hTdGFydCBzaG91bGQgYmUgbm9uLXplcm8gCitQQVNT
IGRvbWFpbkxvb2t1cFN0YXJ0IHNob3VsZCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gZmV0
Y2hTdGFydCAKK1BBU1MgZG9tYWluTG9va3VwRW5kIHNob3VsZCBiZSBncmVhdGVyIHRoYW4gb3Ig
ZXF1YWwgdG8gZG9tYWluTG9va3VwU3RhcnQgCitQQVNTIGNvbm5lY3RTdGFydCBzaG91bGQgYmUg
Z3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIGRvbWFpbkxvb2t1cEVuZCAKK1BBU1MgY29ubmVjdEVu
ZCBzaG91bGQgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIGNvbm5lY3RTdGFydCAKK1BBU1Mg
cmVxdWVzdFN0YXJ0IHNob3VsZCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gY29ubmVjdEVu
ZCAKK1BBU1MgcmVzcG9uc2VTdGFydCBzaG91bGQgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRv
IHJlcXVlc3RTdGFydCAKK1BBU1MgcmVzcG9uc2VFbmQgc2hvdWxkIGJlIGdyZWF0ZXIgdGhhbiBv
ciBlcXVhbCB0byByZXNwb25zZVN0YXJ0IAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9y
ZXNvdXJjZV9hdHRyaWJ1dGVfb3JkZXIuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNj
L3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX2F0
dHJpYnV0ZV9vcmRlci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY2ZTU2MWI3NDI2NmVhOTBiNWZhNWVlM2Rj
OTc2ZjAyMjQyODY4MmMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJj
ZV9hdHRyaWJ1dGVfb3JkZXIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4KKzx0aXRsZT5SZXNvdXJj
ZSBUaW1pbmcgYXR0cmlidXRlIG9yZGVyPC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRs
ZT0iR29vZ2xlIiBocmVmPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20vIiAvPgorPGxpbmsgcmVsPSJo
ZWxwIiBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9yZXNvdXJjZS10aW1pbmcvI3BlcmZvcm1h
bmNlcmVzb3VyY2V0aW1pbmciLz4KKzxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJj
ZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitmdW5jdGlvbiBz
ZXR1cF9pZnJhbWUoKSB7CisgICAgaWZyYW1lID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Zy
YW1lQ29udGV4dCcpOworICAgIHZhciBkID0gaWZyYW1lLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQ7
CisgICAgdmFyIGJvZHkgPSBkLmNyZWF0ZUVsZW1lbnQoJ2JvZHknKTsKKyAgICBkLmdldEVsZW1l
bnRzQnlUYWdOYW1lKCdodG1sJylbMF0uYXBwZW5kQ2hpbGQoYm9keSk7CisKKyAgICB2YXIgaW1h
Z2UgPSBkLmNyZWF0ZUVsZW1lbnQoJ2ltZycpOworICAgIGltYWdlLnNyYyA9ICcvdzNjL3dlYnBl
cmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPWltYWdlJzsKKyAgICBib2R5
LmFwcGVuZENoaWxkKGltYWdlKTsKK30KK2Z1bmN0aW9uIG9ubG9hZF90ZXN0KCkgeworICAgIHZh
ciBlbnRyaWVzID0gaWZyYW1lLmNvbnRlbnRXaW5kb3cucGVyZm9ybWFuY2Uud2Via2l0R2V0RW50
cmllc0J5TmFtZSh3aW5kb3cubG9jYXRpb24ub3JpZ2luICsgJy93M2Mvd2VicGVyZi9yZXNvdXJj
ZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9aW1hZ2UnKTsKKyAgICB0ZXN0X2VxdWFscyhl
bnRyaWVzLmxlbmd0aCwgMSwgJ09ubHkgMSBQZXJmb3JtYW5jZUVudHJ5IHNob3VsZCBtYXRjaCcp
OworICAgIHZhciBlbnRyeSA9IGVudHJpZXNbMF07CisKKyAgICB0ZXN0X2VxdWFscyhlbnRyeS5y
ZWRpcmVjdFN0YXJ0LCAwLCAicmVkaXJlY3RTdGFydCBzaG91bGQgYmUgMCIpOworICAgIHRlc3Rf
ZXF1YWxzKGVudHJ5LnJlZGlyZWN0RW5kLCAwLCAicmVkaXJlY3RFbmQgc2hvdWxkIGJlIDAiKTsK
KyAgICB0ZXN0X2dyZWF0ZXJfdGhhbihlbnRyeS5mZXRjaFN0YXJ0LCAwLCAiZmV0Y2hTdGFydCBz
aG91bGQgYmUgbm9uLXplcm8iKTsKKyAgICB0ZXN0X2dyZWF0ZXJfb3JfZXF1YWxzKGVudHJ5LmRv
bWFpbkxvb2t1cFN0YXJ0LCBlbnRyeS5mZXRjaFN0YXJ0LCAiZG9tYWluTG9va3VwU3RhcnQgc2hv
dWxkIGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byBmZXRjaFN0YXJ0Iik7CisgICAgdGVzdF9n
cmVhdGVyX29yX2VxdWFscyhlbnRyeS5kb21haW5Mb29rdXBFbmQsIGVudHJ5LmRvbWFpbkxvb2t1
cFN0YXJ0LCAiZG9tYWluTG9va3VwRW5kIHNob3VsZCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwg
dG8gZG9tYWluTG9va3VwU3RhcnQiKTsKKyAgICB0ZXN0X2dyZWF0ZXJfb3JfZXF1YWxzKGVudHJ5
LmNvbm5lY3RTdGFydCwgZW50cnkuZG9tYWluTG9va3VwRW5kLCAiY29ubmVjdFN0YXJ0IHNob3Vs
ZCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gZG9tYWluTG9va3VwRW5kIik7CisgICAgdGVz
dF9ncmVhdGVyX29yX2VxdWFscyhlbnRyeS5jb25uZWN0RW5kLCBlbnRyeS5jb25uZWN0U3RhcnQs
ICJjb25uZWN0RW5kIHNob3VsZCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gY29ubmVjdFN0
YXJ0Iik7CisgICAgdGVzdF9ncmVhdGVyX29yX2VxdWFscyhlbnRyeS5yZXF1ZXN0U3RhcnQsIGVu
dHJ5LmNvbm5lY3RFbmQsICJyZXF1ZXN0U3RhcnQgc2hvdWxkIGJlIGdyZWF0ZXIgdGhhbiBvciBl
cXVhbCB0byBjb25uZWN0RW5kIik7CisgICAgdGVzdF9ncmVhdGVyX29yX2VxdWFscyhlbnRyeS5y
ZXNwb25zZVN0YXJ0LCBlbnRyeS5yZXF1ZXN0U3RhcnQsICJyZXNwb25zZVN0YXJ0IHNob3VsZCBi
ZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gcmVxdWVzdFN0YXJ0Iik7CisgICAgdGVzdF9ncmVh
dGVyX29yX2VxdWFscyhlbnRyeS5yZXNwb25zZUVuZCwgZW50cnkucmVzcG9uc2VTdGFydCwgInJl
c3BvbnNlRW5kIHNob3VsZCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gcmVzcG9uc2VTdGFy
dCIpOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxoMT5EZXNjcmlwdGlvbjwvaDE+
Cis8cD5UaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQgdGhlIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1p
bmcgYXR0cmlidXRlcyBhcHBlYXIgaW4gdGhlIGNvcnJlY3QgY2hyb25vbG9naWNhbCBvcmRlci48
L3A+Cis8ZGl2IGlkPSJsb2ciPjwvZGl2PgorPGlmcmFtZSBpZD0iZnJhbWVDb250ZXh0IiBvbmxv
YWQ9Im9ubG9hZF90ZXN0KCk7IiBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMvaW5qZWN0X3Jl
c291cmNlX3Rlc3QuaHRtbCI+PC9pZnJhbWU+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2Ut
dGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9keW5hbWljX2luc2VydGlvbi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2Ut
dGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9keW5hbWljX2luc2VydGlvbi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNTljNDAwZGRkYzI5ODhhMTMxNTYzYWQ0NzkyMmMyMjlhNTEyNGM3YgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlz
c2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX2R5bmFtaWNfaW5zZXJ0aW9u
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwIEBACitEZXNjcmlwdGlvbgorCitUaGlzIHRlc3Qg
dmFsaWRhdGVzIHRoYXQgYWxsIG9mIHRoZSBpbml0aWF0b3IgdHlwZXMgYXJlIHJlcHJlc2VudGVk
IGV2ZW4gd2hlbiBkeW5hbWljYWxseSBpbnNlcnRlZC4KKworCisKK1BBU1MgL3czYy93ZWJwZXJm
L3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1jc3MgaXMgZXhwZWN0ZWQgdG8g
aGF2ZSBpbml0aWF0b3JUeXBlIGxpbmsgCitQQVNTIC93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2Vu
ZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9aWZyYW1lIGlzIGV4cGVjdGVkIHRvIGhhdmUgaW5pdGlh
dG9yVHlwZSBpZnJhbWUgCitQQVNTIC93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVz
b3VyY2UucGhwP3R5cGU9aW1hZ2UgaXMgZXhwZWN0ZWQgdG8gaGF2ZSBpbml0aWF0b3JUeXBlIGlt
ZyAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJt
aXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2VfZHluYW1pY19pbnNlcnRp
b24uaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9y
ZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX2R5bmFtaWNfaW5zZXJ0aW9uLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYmY3MzEwODQ3MWYxZTFiZmE4MDM0MGQzZDIxNzM2YjNlZWNhMTRmOQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlz
c2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX2R5bmFtaWNfaW5zZXJ0aW9u
Lmh0bWwKQEAgLTAsMCArMSw1MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgY2hhcnNldD0idXRmLTgiIC8+Cis8dGl0bGU+UmVzb3VyY2UgVGltaW5nIGluaXRpYXRv
ciB0eXBlcyB3aXRoIGR5bmFtaWMgaW5zZXJ0aW9uPC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9y
IiB0aXRsZT0iR29vZ2xlIiBocmVmPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20vIiAvPgorPGxpbmsg
cmVsPSJoZWxwIiBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9yZXNvdXJjZS10aW1pbmcvI2Rv
bS1wZXJmb3JtYW5jZXJlc291cmNldGltaW5nLWluaXRpYXRvcnR5cGUiLz4KKzxzY3JpcHQgc3Jj
PSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
L3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQ+Cit2YXIgaWZyYW1lOworZnVuY3Rpb24gc2V0dXBfaWZyYW1lKCkgeworICAg
IGlmcmFtZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmcmFtZUNvbnRleHQnKTsKKyAgICB2
YXIgZCA9IGlmcmFtZS5jb250ZW50V2luZG93LmRvY3VtZW50OworICAgIHZhciBib2R5ID0gZC5j
cmVhdGVFbGVtZW50KCdib2R5Jyk7CisgICAgZC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaHRtbCcp
WzBdLmFwcGVuZENoaWxkKGJvZHkpOworCisgICAgdmFyIHN0eWxlID0gZC5jcmVhdGVFbGVtZW50
KCdsaW5rJyk7CisgICAgc3R5bGUucmVsID0gJ3N0eWxlc2hlZXQnOworICAgIHN0eWxlLmhyZWYg
PSAnL3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1jc3Mn
OworICAgIGJvZHkuYXBwZW5kQ2hpbGQoc3R5bGUpOworCisgICAgdmFyIGltYWdlID0gZC5jcmVh
dGVFbGVtZW50KCdpbWcnKTsKKyAgICBpbWFnZS5zcmMgPSAnL3czYy93ZWJwZXJmL3Jlc291cmNl
cy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1pbWFnZSc7CisgICAgYm9keS5hcHBlbmRDaGls
ZChpbWFnZSk7CisKKyAgICB2YXIgc3ViZnJhbWUgPSBkLmNyZWF0ZUVsZW1lbnQoJ2lmcmFtZScp
OworICAgIHN1YmZyYW1lLnNyYyA9ICcvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jl
c291cmNlLnBocD90eXBlPWlmcmFtZSc7CisgICAgYm9keS5hcHBlbmRDaGlsZChzdWJmcmFtZSk7
Cit9CitmdW5jdGlvbiBvbmxvYWRfdGVzdCgpIHsKKyAgICB2YXIgZW50cmllcyA9IGlmcmFtZS5j
b250ZW50V2luZG93LnBlcmZvcm1hbmNlLndlYmtpdEdldEVudHJpZXMoKTsKKworICAgIHZhciBl
eHBlY3RlZF9lbnRyaWVzID0geworICAgICAgICAnL3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5l
cmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1jc3MnOiAnbGluaycsCisgICAgICAgICcvdzNjL3dlYnBl
cmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPWltYWdlJzogJ2ltZycsCisg
ICAgICAgICcvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBl
PWlmcmFtZSc6ICdpZnJhbWUnLAorICAgIH07CisKKyAgICB0ZXN0X3Jlc291cmNlX2VudHJpZXMo
ZW50cmllcywgZXhwZWN0ZWRfZW50cmllcyk7Cit9Cit3aW5kb3cuc2V0dXBfaWZyYW1lID0gc2V0
dXBfaWZyYW1lOworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxoMT5EZXNjcmlwdGlvbjwv
aDE+Cis8cD5UaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQgYWxsIG9mIHRoZSBpbml0aWF0b3IgdHlw
ZXMgYXJlIHJlcHJlc2VudGVkIGV2ZW4gd2hlbiBkeW5hbWljYWxseSBpbnNlcnRlZC48L3A+Cis8
ZGl2IGlkPSJsb2ciPjwvZGl2PgorPGlmcmFtZSBpZD0iZnJhbWVDb250ZXh0IiBvbmxvYWQ9Im9u
bG9hZF90ZXN0KCk7IiBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMvaW5qZWN0X3Jlc291cmNl
X3Rlc3QuaHRtbCI+PC9pZnJhbWU+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5n
L2h0bWwvdGVzdF9yZXNvdXJjZV9mcmFtZV9pbml0aWF0b3JfdHlwZS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGlt
aW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9mcmFtZV9pbml0aWF0b3JfdHlwZS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYzVjZjI4OTRmZDJhYjA1YTkxY2EwYjMzY2YyMTNlMzJkNjRhZjdiZAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlz
c2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX2ZyYW1lX2luaXRpYXRvcl90
eXBlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDggQEAKK0Rlc2NyaXB0aW9uCisKK1RoaXMgdGVz
dCB2YWxpZGF0ZXMgdGhhdCB0aGUgZnJhbWUgaW5pdGlhdG9yIHR5cGUgaXMgcmVwcmVzZW50ZWQu
CisKKworCitQQVNTIC93M2Mvd2VicGVyZi9yZXNvdXJjZXMvYmxhbmtfcGFnZV9ncmVlbi5odG0g
aXMgZXhwZWN0ZWQgdG8gaGF2ZSBpbml0aWF0b3JUeXBlIGZyYW1lIAorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGlt
aW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9mcmFtZV9pbml0aWF0b3JfdHlwZS5odG1sIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9o
dG1sL3Rlc3RfcmVzb3VyY2VfZnJhbWVfaW5pdGlhdG9yX3R5cGUuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5l
MDBiOWM2M2EyYzQ1NzUzOWVkNDMxZmQwNzIzMmYxM2YxM2ZjMWNhCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNl
LXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2VfZnJhbWVfaW5pdGlhdG9yX3R5cGUuaHRtbApAQCAt
MCwwICsxLDMyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFy
c2V0PSJ1dGYtOCIgLz4KKzx0aXRsZT5SZXNvdXJjZSBUaW1pbmcgZnJhbWUgaW5pdGlhdG9yIHR5
cGU8L3RpdGxlPgorPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJHb29nbGUiIGhyZWY9Imh0dHA6
Ly93d3cuZ29vZ2xlLmNvbS8iIC8+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6Ly93d3cu
dzMub3JnL1RSL3Jlc291cmNlLXRpbWluZy8jZG9tLXBlcmZvcm1hbmNlcmVzb3VyY2V0aW1pbmct
aW5pdGlhdG9ydHlwZSIvPgorPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNlcy93
ZWJwZXJmdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK3NldHVwKHtleHBsaWNp
dF9kb25lOiB0cnVlfSk7CisKK2Z1bmN0aW9uIG9ubG9hZF90ZXN0KCkgeworICAgIHZhciBlbnRy
aWVzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ZyYW1lQ29udGV4dCcpLmNvbnRlbnRXaW5k
b3cucGVyZm9ybWFuY2Uud2Via2l0R2V0RW50cmllcygpOworCisgICAgdmFyIGV4cGVjdGVkX2Vu
dHJpZXMgPSB7CisgICAgICAgICcvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2JsYW5rX3BhZ2VfZ3Jl
ZW4uaHRtJzogJ2ZyYW1lJywKKyAgICB9OworCisgICAgdGVzdF9yZXNvdXJjZV9lbnRyaWVzKGVu
dHJpZXMsIGV4cGVjdGVkX2VudHJpZXMpOworICAgIGRvbmUoKTsKK30KKzwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8aDE+RGVzY3JpcHRpb248L2gxPgorPHA+VGhpcyB0ZXN0IHZhbGlkYXRl
cyB0aGF0IHRoZSBmcmFtZSBpbml0aWF0b3IgdHlwZSBpcyByZXByZXNlbnRlZC48L3A+Cis8ZGl2
IGlkPSJsb2ciPjwvZGl2PgorPGlmcmFtZSBpZD0iZnJhbWVDb250ZXh0IiBvbmxvYWQ9Im9ubG9h
ZF90ZXN0KCk7IiBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ3JlZW5fZnJhbWUuaHRtIiBz
dHlsZT0id2lkdGg6IDI1MHB4OyBoZWlnaHQ6IDI1MHB4OyI+PC9pZnJhbWU+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1
Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9pbml0aWF0b3JfdHlw
ZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJt
aXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2VfaW5pdGlhdG9yX3R5cGVz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NDNhNmY4Y2RlNTQxOTgwOTRiOTk4NGI2ZDhhNGM2
NzIzZTU2ZDQwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mv
d2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2VfaW5p
dGlhdG9yX3R5cGVzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIzIEBACitEZXNjcmlwdGlvbgor
CitUaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQgYWxsIG9mIHRoZSBpbml0aWF0b3IgdHlwZXMgYXJl
IHJlcHJlc2VudGVkLgorCisKKworUEFTUyAvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL0FoZW0udHRm
IGlzIGV4cGVjdGVkIHRvIGhhdmUgaW5pdGlhdG9yVHlwZSBjc3MgCitQQVNTIC93M2Mvd2VicGVy
Zi9yZXNvdXJjZXMvYmxhbmtfaW1hZ2UucG5nIGlzIGV4cGVjdGVkIHRvIGhhdmUgaW5pdGlhdG9y
VHlwZSBpbWcgCitQQVNTIC93M2Mvd2VicGVyZi9yZXNvdXJjZXMvYmxhbmtfcGFnZV9ncmVlbi5o
dG0gaXMgZXhwZWN0ZWQgdG8gaGF2ZSBpbml0aWF0b3JUeXBlIGlmcmFtZSAKK1BBU1MgL3czYy93
ZWJwZXJmL3Jlc291cmNlcy9ibGFua19wYWdlX3llbGxvdy5odG0gaXMgZXhwZWN0ZWQgdG8gaGF2
ZSBpbml0aWF0b3JUeXBlIHhtbGh0dHByZXF1ZXN0IAorUEFTUyAvdzNjL3dlYnBlcmYvcmVzb3Vy
Y2VzL2VtcHR5X3NjcmlwdC5qcyBpcyBleHBlY3RlZCB0byBoYXZlIGluaXRpYXRvclR5cGUgc2Ny
aXB0IAorUEFTUyAvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocD90
eXBlPWNzcyZpZD1lbWJlZCBpcyBleHBlY3RlZCB0byBoYXZlIGluaXRpYXRvclR5cGUgZW1iZWQg
CitQQVNTIC93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9
Y3NzJmlkPW4xIGlzIGV4cGVjdGVkIHRvIGhhdmUgaW5pdGlhdG9yVHlwZSBjc3MgCitQQVNTIC93
M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9Zm9udCZpZD1u
MSBpcyBleHBlY3RlZCB0byBoYXZlIGluaXRpYXRvclR5cGUgY3NzIAorUEFTUyAvdzNjL3dlYnBl
cmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPWltYWdlJmlkPTEgaXMgZXhw
ZWN0ZWQgdG8gaGF2ZSBpbml0aWF0b3JUeXBlIGNzcyAKK1BBU1MgL3czYy93ZWJwZXJmL3Jlc291
cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1pbWFnZSZpZD0yIGlzIGV4cGVjdGVkIHRv
IGhhdmUgaW5pdGlhdG9yVHlwZSBjc3MgCitQQVNTIC93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2Vu
ZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9aW1hZ2UmaWQ9Ym9keSBpcyBleHBlY3RlZCB0byBoYXZl
IGluaXRpYXRvclR5cGUgYm9keSAKK1BBU1MgL3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0
ZV9yZXNvdXJjZS5waHA/dHlwZT1pbWFnZSZpZD1pbnB1dCBpcyBleHBlY3RlZCB0byBoYXZlIGlu
aXRpYXRvclR5cGUgaW5wdXQgCitQQVNTIC93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVf
cmVzb3VyY2UucGhwP3R5cGU9aW1hZ2UmaWQ9bjEgaXMgZXhwZWN0ZWQgdG8gaGF2ZSBpbml0aWF0
b3JUeXBlIGNzcyAKK1BBU1MgL3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJj
ZS5waHA/dHlwZT1pbWFnZSZpZD1vYmplY3QgaXMgZXhwZWN0ZWQgdG8gaGF2ZSBpbml0aWF0b3JU
eXBlIG9iamVjdCAKK1BBU1MgL3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJj
ZS5waHA/dHlwZT1pbWFnZSZpZD1wb3N0ZXIgaXMgZXhwZWN0ZWQgdG8gaGF2ZSBpbml0aWF0b3JU
eXBlIHZpZGVvIAorUEFTUyAvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL25lc3RlZC5jc3MgaXMgZXhw
ZWN0ZWQgdG8gaGF2ZSBpbml0aWF0b3JUeXBlIGxpbmsgCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRt
bC90ZXN0X3Jlc291cmNlX2luaXRpYXRvcl90eXBlcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVz
b3VyY2VfaW5pdGlhdG9yX3R5cGVzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDAxM2Q2MzQwZmEwNjI1NTE0
MzNiYjljMDVkNTNiMzE4ZmYxNWE3MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0
X3Jlc291cmNlX2luaXRpYXRvcl90eXBlcy5odG1sCkBAIC0wLDAgKzEsOTcgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPgorPHRpdGxl
PlJlc291cmNlIFRpbWluZyBpbml0aWF0b3IgdHlwZXM8L3RpdGxlPgorPGxpbmsgcmVsPSJhdXRo
b3IiIHRpdGxlPSJHb29nbGUiIGhyZWY9Imh0dHA6Ly93d3cuZ29vZ2xlLmNvbS8iIC8+Cis8bGlu
ayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRpbWluZy8j
ZG9tLXBlcmZvcm1hbmNlcmVzb3VyY2V0aW1pbmctaW5pdGlhdG9ydHlwZSIvPgorPHNjcmlwdCBz
cmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdD4KK3NldHVwKHtleHBsaWNpdF9kb25lOiB0cnVlfSk7CisKK3ZhciBiYWNr
Z3JvdW5kX2xvYWRlZCA9IGZhbHNlOwordmFyIHBhZ2VfbG9hZGVkID0gZmFsc2U7Cit2YXIgb2xf
Zm9udF9sb2FkZWQgPSBmYWxzZTsKK3ZhciB1bF9mb250X2xvYWRlZCA9IGZhbHNlOworCitmdW5j
dGlvbiBjaGVja19maW5pc2hlZCgpIHsKKyAgICBpZiAoIXVsX2ZvbnRfbG9hZGVkKSB7CisgICAg
ICAgIHVsX2ZvbnRfbG9hZGVkID0gY2hlY2tfZm9udF9sb2FkZWQoJ3VsJyk7CisgICAgfQorICAg
IGlmICghb2xfZm9udF9sb2FkZWQpIHsKKyAgICAgICAgb2xfZm9udF9sb2FkZWQgPSBjaGVja19m
b250X2xvYWRlZCgnb2wnKTsKKyAgICB9CisgICAgaWYgKHBhZ2VfbG9hZGVkICYmIG9sX2ZvbnRf
bG9hZGVkICYmIHVsX2ZvbnRfbG9hZGVkICYmIGJhY2tncm91bmRfbG9hZGVkKSB7CisgICAgICAg
IHBlcmZvcm1fdGVzdCgpOworICAgIH0KK30KKworZnVuY3Rpb24gY2hlY2tfZm9udF9sb2FkZWQo
dHlwZSkgeworICAgIHZhciB3aWR0aF92YXJfbmFtZSA9ICdvcmlnaW5hbF93aWR0aF8nICsgdHlw
ZTsKKyAgICB2YXIgZWxlbWVudF92YXJfbmFtZSA9ICdlbGVtZW50XycgKyB0eXBlOworICAgIGlm
ICghdGhpcy5oYXNPd25Qcm9wZXJ0eSh3aWR0aF92YXJfbmFtZSkpIHsKKyAgICAgICAgdmFyIGQg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZnJhbWVDb250ZXh0JykuY29udGVudFdpbmRvdy5k
b2N1bWVudDsKKyAgICAgICAgdmFyIGxpc3QgPSBkLmNyZWF0ZUVsZW1lbnQodHlwZSk7CisgICAg
ICAgIHZhciBsaSA9IGQuY3JlYXRlRWxlbWVudCgnbGknKTsKKyAgICAgICAgbGkuaW5uZXJIVE1M
ID0gJ3dpZHRoX3Rlc3QnOworICAgICAgICBsaXN0LmFwcGVuZENoaWxkKGxpKTsKKyAgICAgICAg
ZC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnYm9keScpWzBdLmFwcGVuZENoaWxkKGxpc3QpOworICAg
ICAgICB0aGlzW2VsZW1lbnRfdmFyX25hbWVdID0gbGlzdDsKKyAgICAgICAgdGhpc1t3aWR0aF92
YXJfbmFtZV0gPSBsaS5vZmZzZXRIZWlnaHQ7CisgICAgfQorICAgIHJldHVybiB0aGlzW3dpZHRo
X3Zhcl9uYW1lXSAhPSB0aGlzW2VsZW1lbnRfdmFyX25hbWVdLm9mZnNldEhlaWdodDsKK30KKwor
ZnVuY3Rpb24gb25sb2FkX3Rlc3QoKSB7CisgICAgcGFnZV9sb2FkZWQgPSB0cnVlOworCisgICAg
dmFyIGltYWdlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW1nJyk7CisgICAgaW1hZ2Uuc3Jj
ID0gJy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9aW1h
Z2UmaWQ9bjEnOworICAgIGJhY2tncm91bmRfbG9hZGVkID0gaW1hZ2UuY29tcGxldGVkOworICAg
IGlmICghYmFja2dyb3VuZF9sb2FkZWQpIHsKKyAgICAgICAgaW1hZ2Uub25sb2FkID0gZnVuY3Rp
b24oKSB7CisgICAgICAgICAgICBiYWNrZ3JvdW5kX2xvYWRlZCA9IHRydWU7CisgICAgICAgIH0K
KyAgICB9CisKKyAgICBzZXRJbnRlcnZhbChjaGVja19maW5pc2hlZCwgMTAwKTsKK30KKworZnVu
Y3Rpb24gcGVyZm9ybV90ZXN0KCkgeworICAgIHZhciBlbnRyaWVzID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoJ2ZyYW1lQ29udGV4dCcpLmNvbnRlbnRXaW5kb3cucGVyZm9ybWFuY2Uud2Via2l0
R2V0RW50cmllcygpOworCisgICAgdmFyIGV4cGVjdGVkX2VudHJpZXMgPSB7CisgICAgICAgICcv
dzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPWltYWdlJmlk
PWJvZHknOiAnYm9keScsCisgICAgICAgICcvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL25lc3RlZC5j
c3MnOiAnbGluaycsCisgICAgICAgICcvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2JsYW5rX2ltYWdl
LnBuZyc6ICdpbWcnLAorICAgICAgICAnL3czYy93ZWJwZXJmL3Jlc291cmNlcy9ibGFua19wYWdl
X2dyZWVuLmh0bSc6ICdpZnJhbWUnLAorICAgICAgICAnL3czYy93ZWJwZXJmL3Jlc291cmNlcy9l
bXB0eV9zY3JpcHQuanMnOiAnc2NyaXB0JywKKyAgICAgICAgJy93M2Mvd2VicGVyZi9yZXNvdXJj
ZXMvYmxhbmtfcGFnZV95ZWxsb3cuaHRtJzogJ3htbGh0dHByZXF1ZXN0JywKKyAgICAgICAgJy93
M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9aW1hZ2UmaWQ9
MSc6ICdjc3MnLAorICAgICAgICAnL3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNv
dXJjZS5waHA/dHlwZT1pbWFnZSZpZD0yJzogJ2NzcycsCisgICAgICAgICcvdzNjL3dlYnBlcmYv
cmVzb3VyY2VzL0FoZW0udHRmJzogJ2NzcycsCisgICAgICAgICcvdzNjL3dlYnBlcmYvcmVzb3Vy
Y2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPWNzcyZpZD1uMSc6ICdjc3MnLAorICAgICAg
ICAnL3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1mb250
JmlkPW4xJzogJ2NzcycsCisgICAgICAgICcvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRl
X3Jlc291cmNlLnBocD90eXBlPWltYWdlJmlkPW4xJzogJ2NzcycsCisgICAgICAgICcvdzNjL3dl
YnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPWNzcyZpZD1lbWJlZCc6
ICdlbWJlZCcsCisgICAgICAgICcvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291
cmNlLnBocD90eXBlPWltYWdlJmlkPWlucHV0JzogJ2lucHV0JywKKyAgICAgICAgJy93M2Mvd2Vi
cGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9aW1hZ2UmaWQ9b2JqZWN0
JzogJ29iamVjdCcsCisgICAgICAgICcvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jl
c291cmNlLnBocD90eXBlPWltYWdlJmlkPXBvc3Rlcic6ICd2aWRlbycsCisgICAgfTsKKworICAg
IHRlc3RfcmVzb3VyY2VfZW50cmllcyhlbnRyaWVzLCBleHBlY3RlZF9lbnRyaWVzKTsKKyAgICBk
b25lKCk7Cit9CisKK3dpbmRvdy5vbl90ZXN0X2JvZHlfY3JlYXRlZCA9IGNoZWNrX2ZpbmlzaGVk
OworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxoMT5EZXNjcmlwdGlvbjwvaDE+Cis8cD5U
aGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQgYWxsIG9mIHRoZSBpbml0aWF0b3IgdHlwZXMgYXJlIHJl
cHJlc2VudGVkLjwvcD4KKzxkaXYgaWQ9ImxvZyI+PC9kaXY+Cis8aWZyYW1lIGlkPSJmcmFtZUNv
bnRleHQiIG9ubG9hZD0ib25sb2FkX3Rlc3QoKTsiIHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNl
cy9hbGxfcmVzb3VyY2VfdHlwZXMuaHRtIiBzdHlsZT0id2lkdGg6IDI1MHB4OyBoZWlnaHQ6IDI1
MHB4OyI+PC9pZnJhbWU+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwv
dGVzdF9yZXNvdXJjZV9yZWRpcmVjdHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVz
b3VyY2VfcmVkaXJlY3RzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNzg5OGQwNmU1OTNkZjZk
YjY1ODU5YTczODJlNGE3Y2M2N2E2NmI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZy9odG1sL3Rl
c3RfcmVzb3VyY2VfcmVkaXJlY3RzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEyIEBACitEZXNj
cmlwdGlvbgorCitUaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQgcmVkaXJlY3RzIGRvIG5vdCBhbHRl
ciB0aGUgVVJMLgorCisKKworUEFTUyAvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL3JlZGlyZWN0LnBo
cD9sb2NhdGlvbj0vdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocCUz
RnR5cGU9Y3NzIGlzIGV4cGVjdGVkIHRvIGhhdmUgaW5pdGlhdG9yVHlwZSBsaW5rIAorUEFTUyAv
dzNjL3dlYnBlcmYvcmVzb3VyY2VzL3JlZGlyZWN0LnBocD9sb2NhdGlvbj0vdzNjL3dlYnBlcmYv
cmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocCUzRnR5cGU9aWZyYW1lIGlzIGV4cGVjdGVk
IHRvIGhhdmUgaW5pdGlhdG9yVHlwZSBpZnJhbWUgCitQQVNTIC93M2Mvd2VicGVyZi9yZXNvdXJj
ZXMvcmVkaXJlY3QucGhwP2xvY2F0aW9uPS93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVf
cmVzb3VyY2UucGhwJTNGdHlwZT1pZnJhbWUlMjZpZD14aHIgaXMgZXhwZWN0ZWQgdG8gaGF2ZSBp
bml0aWF0b3JUeXBlIHhtbGh0dHByZXF1ZXN0IAorUEFTUyAvdzNjL3dlYnBlcmYvcmVzb3VyY2Vz
L3JlZGlyZWN0LnBocD9sb2NhdGlvbj0vdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jl
c291cmNlLnBocCUzRnR5cGU9aW1hZ2UgaXMgZXhwZWN0ZWQgdG8gaGF2ZSBpbml0aWF0b3JUeXBl
IGltZyAKK1BBU1MgL3czYy93ZWJwZXJmL3Jlc291cmNlcy9yZWRpcmVjdC5waHA/bG9jYXRpb249
L3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHAlM0Z0eXBlPXNjcmlw
dCBpcyBleHBlY3RlZCB0byBoYXZlIGluaXRpYXRvclR5cGUgc2NyaXB0IAorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2Ut
dGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9yZWRpcmVjdHMuaHRtbCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0
X3Jlc291cmNlX3JlZGlyZWN0cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY1OGI4ZmYzNGRiNjAyMTdhMWM5
OTAwYTU5YzI5YTAzZTljZjljNmEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9y
ZXNvdXJjZV9yZWRpcmVjdHMuaHRtbApAQCAtMCwwICsxLDQ5IEBACis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4KKzx0aXRsZT5SZXNvdXJj
ZSBUaW1pbmcgcmVkaXJlY3QgbmFtZXM8L3RpdGxlPgorPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxl
PSJHb29nbGUiIGhyZWY9Imh0dHA6Ly93d3cuZ29vZ2xlLmNvbS8iIC8+Cis8bGluayByZWw9Imhl
bHAiIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRpbWluZy8jcGVyZm9ybWFu
Y2VyZXNvdXJjZXRpbWluZyIvPgorPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNl
cy93ZWJwZXJmdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK3ZhciBpZnJhbWU7
CitmdW5jdGlvbiBzZXR1cF9pZnJhbWUoKSB7CisgICAgdmFyIGlmcmFtZV9jb250ZW50ID0KKyAg
ICAgICAgJzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL3czYy93ZWJwZXJmL3Jlc291cmNl
cy9yZWRpcmVjdC5waHA/bG9jYXRpb249L3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9y
ZXNvdXJjZS5waHAlM0Z0eXBlPWNzcyI+PC9saW5rPicgKworICAgICAgICAnPGltZyBzcmM9Ii93
M2Mvd2VicGVyZi9yZXNvdXJjZXMvcmVkaXJlY3QucGhwP2xvY2F0aW9uPS93M2Mvd2VicGVyZi9y
ZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwJTNGdHlwZT1pbWFnZSI+PC9pbWc+JyArCisg
ICAgICAgICc8aWZyYW1lIHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNlcy9yZWRpcmVjdC5waHA/
bG9jYXRpb249L3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHAlM0Z0
eXBlPWlmcmFtZSI+PC9pZnJhbWU+JyArCisgICAgICAgICc8c2NyaXB0IHNyYz0iL3czYy93ZWJw
ZXJmL3Jlc291cmNlcy9yZWRpcmVjdC5waHA/bG9jYXRpb249L3czYy93ZWJwZXJmL3Jlc291cmNl
cy9nZW5lcmF0ZV9yZXNvdXJjZS5waHAlM0Z0eXBlPXNjcmlwdCI+PC9zY3InICsgJ2lwdD4nICsK
KyAgICAgICAgJzxzY3JpcHQ+JyArCisgICAgICAgICd2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1
ZXN0OycgKworICAgICAgICAneGhyLm9wZW4oIkdFVCIsICIvdzNjL3dlYnBlcmYvcmVzb3VyY2Vz
L3JlZGlyZWN0LnBocD9sb2NhdGlvbj0vdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jl
c291cmNlLnBocCUzRnR5cGU9aWZyYW1lJTI2aWQ9eGhyIiwgZmFsc2UpOycgKworICAgICAgICAn
eGhyLnNlbmQoKTsnICsKKyAgICAgICAgJzwvc2NyJyArICdpcHQ+JzsKKyAgICBpZnJhbWUgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZnJhbWVDb250ZXh0Jyk7CisgICAgaWZyYW1lLmNvbnRl
bnRXaW5kb3cuZG9jdW1lbnQud3JpdGUoaWZyYW1lX2NvbnRlbnQpOworfQorZnVuY3Rpb24gb25s
b2FkX3Rlc3QoKSB7CisgICAgdmFyIGVudHJpZXMgPSBpZnJhbWUuY29udGVudFdpbmRvdy5wZXJm
b3JtYW5jZS53ZWJraXRHZXRFbnRyaWVzKCk7CisKKyAgICB2YXIgZXhwZWN0ZWRfZW50cmllcyA9
IHsKKyAgICAgICAgJy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvcmVkaXJlY3QucGhwP2xvY2F0aW9u
PS93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwJTNGdHlwZT1jc3Mn
OiAnbGluaycsCisgICAgICAgICcvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL3JlZGlyZWN0LnBocD9s
b2NhdGlvbj0vdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocCUzRnR5
cGU9aW1hZ2UnOiAnaW1nJywKKyAgICAgICAgJy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvcmVkaXJl
Y3QucGhwP2xvY2F0aW9uPS93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2Uu
cGhwJTNGdHlwZT1pZnJhbWUnOiAnaWZyYW1lJywKKyAgICAgICAgJy93M2Mvd2VicGVyZi9yZXNv
dXJjZXMvcmVkaXJlY3QucGhwP2xvY2F0aW9uPS93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJh
dGVfcmVzb3VyY2UucGhwJTNGdHlwZT1zY3JpcHQnOiAnc2NyaXB0JywKKyAgICAgICAgJy93M2Mv
d2VicGVyZi9yZXNvdXJjZXMvcmVkaXJlY3QucGhwP2xvY2F0aW9uPS93M2Mvd2VicGVyZi9yZXNv
dXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwJTNGdHlwZT1pZnJhbWUlMjZpZD14aHInOiAneG1s
aHR0cHJlcXVlc3QnLAorICAgIH07CisKKyAgICB0ZXN0X3Jlc291cmNlX2VudHJpZXMoZW50cmll
cywgZXhwZWN0ZWRfZW50cmllcyk7Cit9Cit3aW5kb3cuc2V0dXBfaWZyYW1lID0gc2V0dXBfaWZy
YW1lOworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxoMT5EZXNjcmlwdGlvbjwvaDE+Cis8
cD5UaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQgcmVkaXJlY3RzIGRvIG5vdCBhbHRlciB0aGUgVVJM
LjwvcD4KKzxkaXYgaWQ9ImxvZyI+PC9kaXY+Cis8aWZyYW1lIGlkPSJmcmFtZUNvbnRleHQiIG9u
bG9hZD0ib25sb2FkX3Rlc3QoKTsiIHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNlcy9pbmplY3Rf
cmVzb3VyY2VfdGVzdC5odG1sIj48L2lmcmFtZT4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJj
ZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX3JlcGFyZW50aW5nLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1p
bmcvaHRtbC90ZXN0X3Jlc291cmNlX3JlcGFyZW50aW5nLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5lODVhNzZiMTJmNjQxMTNlNTk5YmRkMmNlYzlhZmRmZDAwNzlmMjhmCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291
cmNlLXRpbWluZy9odG1sL3Rlc3RfcmVzb3VyY2VfcmVwYXJlbnRpbmctZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsOCBAQAorRGVzY3JpcHRpb24KKworVGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IHJl
cGFyZW50aW5nIGFuIGVsZW1lbnQgZG9lc24ndCBjaGFuZ2UgdGhlIGluaXRpYXRvciBkb2N1bWVu
dC4KKworICAKKworUEFTUyAvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNl
LnBocD90eXBlPWltYWdlJmlkPW1vdmVfdG9fcGFyZW50IGlzIGV4cGVjdGVkIHRvIGhhdmUgaW5p
dGlhdG9yVHlwZSBpbWcgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNj
L3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jlc291cmNlX3Jl
cGFyZW50aW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1p
c3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9yZXBhcmVudGluZy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjc5NTg3NWQ3OTRmMTE2MDdkZDY4YmU2M2Y2ZjZkZDQ2NzU2ZjFjMmQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1p
c3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNvdXJjZV9yZXBhcmVudGluZy5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IGNoYXJzZXQ9InV0Zi04IiAvPgorPHRpdGxlPlJlc291cmNlIFRpbWluZyByZXBhcmVudGluZyBl
bGVtZW50czwvdGl0bGU+Cis8bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ikdvb2dsZSIgaHJlZj0i
aHR0cDovL3d3dy5nb29nbGUuY29tLyIgLz4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cDov
L3d3dy53My5vcmcvVFIvcmVzb3VyY2UtdGltaW5nLyNkb20tcGVyZm9ybWFuY2VyZXNvdXJjZXRp
bWluZy1pbml0aWF0b3J0eXBlIi8+Cis8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvdzNjL3dlYnBlcmYvcmVzb3Vy
Y2VzL3dlYnBlcmZ0ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgordmFyIGlmcmFt
ZTsKK2Z1bmN0aW9uIHNldHVwX2lmcmFtZSgpIHsKKyAgICBpZnJhbWUgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgnZnJhbWVDb250ZXh0Jyk7CisgICAgdmFyIGQgPSBpZnJhbWUuY29udGVudFdp
bmRvdy5kb2N1bWVudDsKKyAgICB2YXIgaWZyYW1lQm9keSA9IGQuY3JlYXRlRWxlbWVudCgnYm9k
eScpOworCisgICAgdmFyIG1vdmVfdG9fcGFyZW50ID0gZC5jcmVhdGVFbGVtZW50KCJpbWciKTsK
KyAgICBtb3ZlX3RvX3BhcmVudC5zcmMgPSAnL3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0
ZV9yZXNvdXJjZS5waHA/dHlwZT1pbWFnZSZpZD1tb3ZlX3RvX3BhcmVudCc7CisgICAgaWZyYW1l
Qm9keS5hcHBlbmRDaGlsZChtb3ZlX3RvX3BhcmVudCk7CisgICAgaWZyYW1lQm9keS5yZW1vdmVD
aGlsZChtb3ZlX3RvX3BhcmVudCk7CisKKyAgICB2YXIgcGFyZW50Qm9keSA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRzQnlUYWdOYW1lKCdib2R5JylbMF07CisgICAgcGFyZW50Qm9keS5hcHBlbmRDaGls
ZChtb3ZlX3RvX3BhcmVudCk7CisKKyAgICB2YXIgbW92ZV90b19jaGlsZCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoImltZyIpOworICAgIG1vdmVfdG9fY2hpbGQuc3JjID0gJy93M2Mvd2VicGVy
Zi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9aW1hZ2UmaWQ9bW92ZV90b19j
aGlsZCc7CisgICAgcGFyZW50Qm9keS5hcHBlbmRDaGlsZChtb3ZlX3RvX2NoaWxkKTsKKyAgICBw
YXJlbnRCb2R5LnJlbW92ZUNoaWxkKG1vdmVfdG9fY2hpbGQpOworICAgIGlmcmFtZUJvZHkuYXBw
ZW5kQ2hpbGQobW92ZV90b19jaGlsZCk7Cit9CitmdW5jdGlvbiBvbmxvYWRfdGVzdCgpIHsKKyAg
ICB2YXIgZW50cmllcyA9IGlmcmFtZS5jb250ZW50V2luZG93LnBlcmZvcm1hbmNlLndlYmtpdEdl
dEVudHJpZXMoKTsKKworICAgIHZhciBleHBlY3RlZF9lbnRyaWVzID0geworICAgICAgICAnL3cz
Yy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1pbWFnZSZpZD1t
b3ZlX3RvX3BhcmVudCc6ICdpbWcnLAorICAgIH07CisKKyAgICB0ZXN0X3Jlc291cmNlX2VudHJp
ZXMoZW50cmllcywgZXhwZWN0ZWRfZW50cmllcyk7Cit9Cit3aW5kb3cuc2V0dXBfaWZyYW1lID0g
c2V0dXBfaWZyYW1lOworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxoMT5EZXNjcmlwdGlv
bjwvaDE+Cis8cD5UaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQgcmVwYXJlbnRpbmcgYW4gZWxlbWVu
dCBkb2Vzbid0IGNoYW5nZSB0aGUgaW5pdGlhdG9yIGRvY3VtZW50LjwvcD4KKzxkaXYgaWQ9Imxv
ZyI+PC9kaXY+Cis8aWZyYW1lIGlkPSJmcmFtZUNvbnRleHQiIG9ubG9hZD0ib25sb2FkX3Rlc3Qo
KTsiIHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNlcy9pbmplY3RfcmVzb3VyY2VfdGVzdC5odG1s
Ij48L2lmcmFtZT4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0
X3Jlc291cmNlX3NjcmlwdF90eXBlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9yZXNv
dXJjZV9zY3JpcHRfdHlwZXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE2YzZmOTM4NWY0MTlj
YWI0ZDg5ZWQxMDdhNmY5NTFiOGI2OWQ3MjAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwv
dGVzdF9yZXNvdXJjZV9zY3JpcHRfdHlwZXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTYgQEAK
K0Rlc2NyaXB0aW9uCisKK1RoaXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCBhbGwgb2YgdGhlIGRpZmZl
cmVudCB0eXBlcyBvZiBzY3JpcHQgbG9hZHMgYXJlIHJlcG9ydGVkIHdpdGggdGhlIGNvcnJlY3Qg
aW5pdGlhdG9yLgorCisKKworUEFTUyAvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jl
c291cmNlLnBocD90eXBlPXNjcmlwdCZpZD0xIGlzIGV4cGVjdGVkIHRvIGhhdmUgaW5pdGlhdG9y
VHlwZSBzY3JpcHQgCitQQVNTIC93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3Vy
Y2UucGhwP3R5cGU9c2NyaXB0JmlkPTIgaXMgZXhwZWN0ZWQgdG8gaGF2ZSBpbml0aWF0b3JUeXBl
IHNjcmlwdCAKK1BBU1MgL3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5w
aHA/dHlwZT1zY3JpcHQmaWQ9MyBpcyBleHBlY3RlZCB0byBoYXZlIGluaXRpYXRvclR5cGUgc2Ny
aXB0IAorUEFTUyAvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocD90
eXBlPXNjcmlwdCZpZD00IGlzIGV4cGVjdGVkIHRvIGhhdmUgaW5pdGlhdG9yVHlwZSBzY3JpcHQg
CitQQVNTIC93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9
c2NyaXB0JmlkPTUgaXMgZXhwZWN0ZWQgdG8gaGF2ZSBpbml0aWF0b3JUeXBlIHNjcmlwdCAKK1BB
U1MgL3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1zY3Jp
cHQmaWQ9NiBpcyBleHBlY3RlZCB0byBoYXZlIGluaXRpYXRvclR5cGUgc2NyaXB0IAorUEFTUyAv
dzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPXNjcmlwdCZp
ZD03IGlzIGV4cGVjdGVkIHRvIGhhdmUgaW5pdGlhdG9yVHlwZSBzY3JpcHQgCitQQVNTIC93M2Mv
d2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9c2NyaXB0JmlkPTgg
aXMgZXhwZWN0ZWQgdG8gaGF2ZSBpbml0aWF0b3JUeXBlIHNjcmlwdCAKK1BBU1MgL3czYy93ZWJw
ZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1zY3JpcHQmaWQ9OSBpcyBl
eHBlY3RlZCB0byBoYXZlIGluaXRpYXRvclR5cGUgc2NyaXB0IAorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5n
L2h0bWwvdGVzdF9yZXNvdXJjZV9zY3JpcHRfdHlwZXMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcvaHRtbC90ZXN0X3Jl
c291cmNlX3NjcmlwdF90eXBlcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUwMDM5YmIzZTI3ZWE2MGI5M2Jh
MDgxMGI2NjhjNjViYjdhYmYwMzEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nL2h0bWwvdGVzdF9y
ZXNvdXJjZV9zY3JpcHRfdHlwZXMuaHRtbApAQCAtMCwwICsxLDY2IEBACis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4KKzx0aXRsZT5SZXNv
dXJjZSBUaW1pbmcgc2NyaXB0IGluaXRpYXRvciB0eXBlczwvdGl0bGU+Cis8bGluayByZWw9ImF1
dGhvciIgdGl0bGU9Ikdvb2dsZSIgaHJlZj0iaHR0cDovL3d3dy5nb29nbGUuY29tLyIgLz4KKzxs
aW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvcmVzb3VyY2UtdGltaW5n
LyNkb20tcGVyZm9ybWFuY2VyZXNvdXJjZXRpbWluZy1pbml0aWF0b3J0eXBlIi8+Cis8c2NyaXB0
IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0PgordmFyIGlmcmFtZTsKK2Z1bmN0aW9uIHNldHVwX2lmcmFtZSgpIHsK
KyAgICB2YXIgaWZyYW1lX2NvbnRlbnQgPQorICAgICAgICAnPHNjcmlwdCBzcmM9Ii93M2Mvd2Vi
cGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9c2NyaXB0JmlkPTEiPjwv
c2NyJyArICdpcHQ+JyArCisgICAgICAgICc8c2NyaXB0IHNyYz0iL3czYy93ZWJwZXJmL3Jlc291
cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1zY3JpcHQmaWQ9MiIgYXN5bmM+PC9zY3In
ICsgJ2lwdD4nICsKKyAgICAgICAgJzxzY3JpcHQgc3JjPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2Vz
L2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPXNjcmlwdCZpZD0zIiBhc3luYz1mYWxzZT48L3Nj
cicgKyAnaXB0PicgKworICAgICAgICAnPHNjcmlwdCBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJj
ZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9c2NyaXB0JmlkPTQiIGRlZmVyPjwvc2NyJyAr
ICdpcHQ+JyArCisgICAgICAgICc8c2NyaXB0PicgKworICAgICAgICAnZG9jdW1lbnQud3JpdGUo
IjxzY3JpcHQgc3JjPVxcIi93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2Uu
cGhwP3R5cGU9c2NyaXB0JmlkPTVcXCI+PC9zY3IiICsgImlwdD4iKTsnICsKKyAgICAgICAgJ3Zh
ciBzMSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpOycgKworICAgICAgICAnczEu
c3JjID0gIi93M2Mvd2VicGVyZi9yZXNvdXJjZXMvZ2VuZXJhdGVfcmVzb3VyY2UucGhwP3R5cGU9
c2NyaXB0JmlkPTYiOycgKworICAgICAgICAnZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUo
ImhlYWQiKVswXS5hcHBlbmRDaGlsZChzMSk7JyArCisgICAgICAgICd2YXIgczIgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTsnICsKKyAgICAgICAgJ3MyLnNyYyA9ICIvdzNjL3dl
YnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRlX3Jlc291cmNlLnBocD90eXBlPXNjcmlwdCZpZD03Ijsn
ICsKKyAgICAgICAgJ3MyLmFzeW5jID0gdHJ1ZTsnICsKKyAgICAgICAgJ2RvY3VtZW50LmdldEVs
ZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF0uYXBwZW5kQ2hpbGQoczIpOycgKworICAgICAgICAn
dmFyIHMzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7JyArCisgICAgICAgICdz
My5zcmMgPSAiL3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlw
ZT1zY3JpcHQmaWQ9OCI7JyArCisgICAgICAgICdzMy5hc3luYyA9IGZhbHNlOycgKworICAgICAg
ICAnZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXS5hcHBlbmRDaGlsZChz
Myk7JyArCisgICAgICAgICd2YXIgczQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQi
KTsnICsKKyAgICAgICAgJ3M0LnNyYyA9ICIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2dlbmVyYXRl
X3Jlc291cmNlLnBocD90eXBlPXNjcmlwdCZpZD05IjsnICsKKyAgICAgICAgJ3M0LmRlZmVyID0g
dHJ1ZTsnICsKKyAgICAgICAgJ2RvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilb
MF0uYXBwZW5kQ2hpbGQoczQpOycgKworICAgICAgICAnPC9zY3InICsgJ2lwdD4nOworICAgIGlm
cmFtZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmcmFtZUNvbnRleHQnKTsKKyAgICBpZnJh
bWUuY29udGVudFdpbmRvdy5kb2N1bWVudC53cml0ZShpZnJhbWVfY29udGVudCk7Cit9CitmdW5j
dGlvbiBvbmxvYWRfdGVzdCgpIHsKKyAgICB2YXIgZW50cmllcyA9IGlmcmFtZS5jb250ZW50V2lu
ZG93LnBlcmZvcm1hbmNlLndlYmtpdEdldEVudHJpZXMoKTsKKworICAgIHZhciBleHBlY3RlZF9l
bnRyaWVzID0geworICAgICAgICAnL3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNv
dXJjZS5waHA/dHlwZT1zY3JpcHQmaWQ9MSc6ICdzY3JpcHQnLAorICAgICAgICAnL3czYy93ZWJw
ZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1zY3JpcHQmaWQ9Mic6ICdz
Y3JpcHQnLAorICAgICAgICAnL3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJj
ZS5waHA/dHlwZT1zY3JpcHQmaWQ9Myc6ICdzY3JpcHQnLAorICAgICAgICAnL3czYy93ZWJwZXJm
L3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1zY3JpcHQmaWQ9NCc6ICdzY3Jp
cHQnLAorICAgICAgICAnL3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5w
aHA/dHlwZT1zY3JpcHQmaWQ9NSc6ICdzY3JpcHQnLAorICAgICAgICAnL3czYy93ZWJwZXJmL3Jl
c291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1zY3JpcHQmaWQ9Nic6ICdzY3JpcHQn
LAorICAgICAgICAnL3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/
dHlwZT1zY3JpcHQmaWQ9Nyc6ICdzY3JpcHQnLAorICAgICAgICAnL3czYy93ZWJwZXJmL3Jlc291
cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlwZT1zY3JpcHQmaWQ9OCc6ICdzY3JpcHQnLAor
ICAgICAgICAnL3czYy93ZWJwZXJmL3Jlc291cmNlcy9nZW5lcmF0ZV9yZXNvdXJjZS5waHA/dHlw
ZT1zY3JpcHQmaWQ9OSc6ICdzY3JpcHQnLAorICAgIH07CisKKyAgICB0ZXN0X3Jlc291cmNlX2Vu
dHJpZXMoZW50cmllcywgZXhwZWN0ZWRfZW50cmllcyk7Cit9Cit3aW5kb3cuc2V0dXBfaWZyYW1l
ID0gc2V0dXBfaWZyYW1lOworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxoMT5EZXNjcmlw
dGlvbjwvaDE+Cis8cD5UaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQgYWxsIG9mIHRoZSBkaWZmZXJl
bnQgdHlwZXMgb2Ygc2NyaXB0IGxvYWRzIGFyZSByZXBvcnRlZCB3aXRoIHRoZSBjb3JyZWN0IGlu
aXRpYXRvci48L3AKKzxkaXYgaWQ9ImxvZyI+PC9kaXY+Cis8aWZyYW1lIGlkPSJmcmFtZUNvbnRl
eHQiIG9ubG9hZD0ib25sb2FkX3Rlc3QoKTsiIHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNlcy9p
bmplY3RfcmVzb3VyY2VfdGVzdC5odG1sIj48L2lmcmFtZT4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDEy
MDk2Mzc4Y2M2NWRkMzA3MjFhNjRiMTMyYzU0MmM0NzJiNDQ4ODAuLmZmY2EyYmU2M2Y4MzJiNjM1
NzQ2YTZmZGY0NWMwN2UyOWVlYmRkMGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vVGVzdEV4cGVjdGF0aW9ucwpAQCAtNDAzMSwzICs0MDMxLDUgQEAgd2Via2l0Lm9yZy9i
Lzk5MTM0IHBsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL3RpbnktbGF5ZXItcm90YXRlZC5o
dG1sIFsgUGFzcwogCiB3ZWJraXQub3JnL2IvOTkxMzggWyBTbm93TGVvcGFyZCBdIHN2Zy9jdXN0
b20vZm9yZWlnbi1vYmplY3Qtc2tldy5zdmcgWyBQYXNzIEltYWdlT25seUZhaWx1cmUgXQogCisj
IEZhaWxzIHVudGlsIHdlIGVuYWJsZSB0aGUgUmVzb3VyY2UgVGltaW5nIEFQSS4KK3dlYmtpdC5v
cmcvYi82MTEzOCBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24vcmVzb3VyY2UtdGlt
aW5nIFsgU2tpcCBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvVGVzdEV4
cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9UZXN0RXhwZWN0YXRpb25zCmlu
ZGV4IDIyMDg2NWE4ZWU0YjkxNzU3Y2QwZDkyYjI3MWQwNTczOWRhZjdmN2UuLmJkMzQyNzEwMTU5
OWU4YWIxMDBmNjkyOGYwMDU1MWEzYWI1M2UxNGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2VmbC9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Vm
bC9UZXN0RXhwZWN0YXRpb25zCkBAIC0xNTY3LDMgKzE1NjcsNiBAQCB3ZWJraXQub3JnL2IvOTkx
ODkgZmFzdC9ib3JkZXJzL2lubGluZS1tYXNrLW92ZXJsYXktaW1hZ2Utb3V0c2V0Lmh0bWwgWyBJ
bWFnZU9ubAogd2Via2l0Lm9yZy9iLzk5MTg5IGZhc3QvYm9yZGVycy9pbmxpbmUtbWFzay1vdmVy
bGF5LWltYWdlLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi85OTE4OSBp
ZXRlc3RjZW50ZXIvY3NzMy9ib3JkZXJzYmFja2dyb3VuZHMvYm9yZGVyLXJhZGl1cy1zdHlsZS0w
MDEuaHRtIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvOTkxODkgaWV0ZXN0Y2Vu
dGVyL2NzczMvYm9yZGVyc2JhY2tncm91bmRzL2JvcmRlci1yYWRpdXMtc3R5bGUtMDAyLmh0bSBb
IEltYWdlT25seUZhaWx1cmUgXQorCisjIEZhaWxzIHVudGlsIHdlIGVuYWJsZSB0aGUgUmVzb3Vy
Y2UgVGltaW5nIEFQSS4KK3dlYmtpdC5vcmcvYi82MTEzOCBodHRwL3Rlc3RzL3czYy93ZWJwZXJm
L3N1Ym1pc3Npb24vcmVzb3VyY2UtdGltaW5nIFsgU2tpcCBdCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2d0ay9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGZhMTg5OTUxMWY3ZDliMzcyZjEyNDQ1MDYxM2Zl
MmIxMmM5YmQ0OTEuLjY1N2IzYmNmODZkZDhkNmU2NTdlODA0YTFiZDAxYzkyNGU1NTY5ZWMgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCkBAIC0xMzcwLDYgKzEz
NzAsOSBAQCB3ZWJraXQub3JnL2IvOTkwNzEgbWVkaWEvY29udGV4dC1tZW51LWFjdGlvbnMuaHRt
bCBbIEZhaWx1cmUgXQogCiB3ZWJraXQub3JnL2IvOTg5NTAgdHJhbnNpdGlvbnMvYmxlbmRtb2Rl
LXRyYW5zaXRpb25zLmh0bWwgWyBGYWlsdXJlIF0KIAorIyBGYWlscyB1bnRpbCB3ZSBlbmFibGUg
dGhlIFJlc291cmNlIFRpbWluZyBBUEkuCit3ZWJraXQub3JnL2IvNjExMzggaHR0cC90ZXN0cy93
M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZyBbIFNraXAgXQorCiAjLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogIyBFbmQgb2YgVGVzdHMgZmFpbGluZwogIy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL3F0L1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9UZXN0RXhw
ZWN0YXRpb25zCmluZGV4IGVkMmI3NmRmYjQ2ZDFiMjYxMWM5NGEwZGFlNTNlOTlkY2JjYjZkNzku
LmFmZGI5ZWIyY2ZjMjhhMmU3OGM4NmRhY2QzMDEwNjM4NzA3ZTcwMDcgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL3F0L1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vcXQvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMjQzMSwzICsyNDMxLDYgQEAgd2Via2l0
Lm9yZy9iLzk4NjQwIHBsdWdpbnMvcmVmY291bnQtbGVha3MuaHRtbAogCiAjIE5ldyBpbnNwZWN0
b3IvcHJvZmlsZXIvbWVtb3J5LWluc3RydW1lbnRhdGlvbi1jYW52YXMuaHRtbCBmYWlscyBvbiBK
U0MgcGxhdGZvcm1zCiB3ZWJraXQub3JnL2IvOTkwMDEgaW5zcGVjdG9yL3Byb2ZpbGVyL21lbW9y
eS1pbnN0cnVtZW50YXRpb24tY2FudmFzLmh0bWwKKworIyBGYWlscyB1bnRpbCB3ZSBlbmFibGUg
dGhlIFJlc291cmNlIFRpbWluZyBBUEkuCit3ZWJraXQub3JnL2IvNjExMzggaHR0cC90ZXN0cy93
M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZyBbIFNraXAgXQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>